A kristályrácstól a képpontokig

KÉPÁTALAKÍTÁS "HŰTÉSSEL"

A számítógépes képfeldolgozás és képátalakítás a képek értelmezésének, formálásának, tisztításának és sokoldalú hasznosításának szinte korlátlan lehetőségeit kínálja. Az MTA SZTAKI két kutatója a cellurális neurális hálózatok (CNH) adatfeldolgozását továbbfejlesztve figyelemre méltó eredményeket ért el. Képátalakító módszerüket, NCH-MVM algoritmusnak nevezik, s bizonyára sokat hallunk még róla. Cikkünkben maguk a kutatók magyarázzák most el az eljárás lényegét.

Ebben az írásban azt mutatjuk meg, hogy a képi látványnak ugyanúgy lehet szerkezete, mint egy kristályrácsnak, és a kristályrácsban zajló fizikai folyamatok jól modellezhetik a számítógépes látványkiemelés több alapfolyamatát. A fő feladat tehát az, hogy a kamera által felvett, számítógépre vitt képből - amely már diszkrét képpontokból áll - olyan képet kapjunk, amelyben a lényeges részek jobban láthatóvá válnak, míg a lényegtelenek kiszűrődnek.
Aki már látott csiszolt kristályt vagy követ, az észrevehette, hogy az anyaguk nem elfolyó, elmosódó részekből, hanem többnyire határozott kontúrú fázisokból, zárványokból áll. (A fázis egy anyag egy bizonyos kristálytani vagy mágneses módosulata.) A kristályosodás során az összetartozó részek eggyé válnak, a különböző részek pedig még jobban elhatárolódnak, elkülönülnek. E tartományok nagysága sokban függ a hűlés sebességétől.

Műveletek képeken

Célunk hasonló hatások generálása, de nem valamilyen fizikai közegben, hanem a számítógépben tárolt képeken: elindítunk egy matematikai folyamatot, amely a zajos, zavaros, összetett képekből "kikristályosítja" a lényegi részeket.
A számítógépen megjelenített képen elvileg bármilyen műveletet végrehajthatunk. Ha a kép "zajos", akkor azt "simítva", "szűrve" csökkenthetjük a zaj hatását. Ha a kép torzult, akkor geometriai eljárásokkal egyenesíthetjük a görbült vonalakat, s kijavíthatjuk a különféle hibákat. Ha a képen gyenge a kontraszt, akkor ügyes eljárásokkal láthatóbbá tehetjük a számunkra fontos képrészleteket. Ezek a műveletek részei az általában használt számítógépes képfeldolgozó programoknak. Egyszerűen végrehajtható, látványos módszerek, ám nem foglalkoznak a kép tartalmával, azzal, hogy valójában mit is javítunk. Elsimítják a zajokat, de a kontrasztos éleket is. Kiemelik az elhalványult részleteket, ám a zavaró hátteret vagy az apróbb részleteket szintén. Például egy tájképen a kiemelés után jobban látható a földút és a szántó közötti határ, de ugyanez az eljárás kiemeli a felhők finom rajzolatát is. Valójában, persze, úgy gondoljuk, hogy az út szegélye létezik, de a felhő diffúz, foszlányokból áll, inkább csak egy elmosódó "tünemény", mint létező valami. Ilyenkor kézzel addig állítgatjuk a számítógépes szűrőalgoritmus paramétereit, amíg olyasmit nem kapunk, amit szerettünk volna.


1. ábra.
Szomszédsági (függőségi) modellek:
A bal oldali ábrán egy képpont értéke négy közvetlen szomszédjával
áll kapcsolatban, jobbra a középső képpont értéke tizenkét szomszédtól függ

A képeknek azonban "belső szerkezetük" van, egy, az ember által értelmezhető kép nem csak véletlenül összehányt képpontértékek halmaza. Ezeket a képpontértékeket (a képpont árnyalatát: szürkeségét vagy színét) most színnek fogjuk nevezni, függetlenül attól, hogy egy valóban színes kép színeiről vagy csak egy egyszínű kép szürke árnyalatairól van-e szó. Minden képpont színe függ a szomszédaitól: ha az adott képi részlet egy vonal, akkor legalább két szomszédja szintén vonal, a többi viszont valószínűleg nem az. Ha a képrészlet egy homogén terület (például az ég kékje), akkor minden képpont szomszédságában feltehetőleg a többiek is igen hasonlók. Ez, persze, nem szigorúan törvényszerű, csak statisztikailag igaz: ha például az égen vadkacsa húz át, akkor a homogén égkékbe egy "V"-szerű alakzat kerül. Ugyanígy a földút szegélye is megszakadhat, például amikor elmerül egy út menti tócsában.

A kép "szerkezete" és átalakítási "folyamata"

Az egyes képpontokat a szomszédaik "majdnem jellemzik". Ez azt jelenti, hogy ha egy képpont értékét (színét) "elfelejtjük", akkor (többé-kevésbé) helyettesíthetjük szomszédainak az átlagával vagy a szomszédságában leggyakoribb értékkel. Ez a pótolhatóság lehet rövid távú, ha finom vonalról van szó, és lehet hosszú távú, ha egy nagyobb, homogén, "egynemű" területet vizsgálunk. Ez adja a kép statisztikai szerkezetét. Sérült vagy zajos kép esetén a javítgatáskor nem tudunk biztos ajánlást tenni, de nagy valószínűséggel megbecsülhetjük a kérdéses képpontot. Mint látjuk, ez a becslés a képpontot tartalmazó részlet átfogó tulajdonságaitól függ.
Ha a képrészletet a tartalmától függően akarjuk kezelni, akkor becslést kell tenni a tartalomra. Igen ám, de a változtatás után más lesz a kép, új becslésekre van szükség (tudniillik a szomszédos területek hatással vannak egymásra). Ezért a kép tartalmát valóban figyelembe vevő eljárások soklépéses, folyamatosan korrigáló, úgynevezett iterációs eljárások. Ennek a folyamatnak azonban valahol véget kell vetni egy majdnem stabil eredmény kivárásával (konvergencia) vagy egy bizonyos idő után a folyamat egyszerű lezárásával.
Ebben a képértelmezési folyamatban olyan paramétereket kell megadnunk (definiálnunk), amelyek végül meghatározzák majd a kép szerkezetét. Ilyen paraméter lehet például: a kép részleteinek várható léptéke, a részleteken belül a területek simasága (homogenitása), a különböző részek közötti kontúr erőssége, a képfeldolgozó iterációs folyamat sebessége. A paramétereket két nagyon fontos csoportba sorolhatjuk: 1. a képpontoknak a szomszédaikkal való kapcsolatára utaló és 2. a folyamat sebességére jellemző paraméterek. Minél lassabb a folyamat, annál stabilabbak, kiegyensúlyozottabbak, simábbak a kapott területek, és minél nagyobb a szomszédsági kapcsolat, annál nagyobb összefüggő területeket kapunk.
Mint erről már volt szó, egy kép felépítésében egy képpont valahogyan függ a szomszédaitól, azok is függenek az ő szomszédaiktól, stb. Ez a függés lehet közvetlen (direkt), például amikor a képet egy rosszul fokuszált optika torzítja, és az apró, finom részletek a környezetüktől függően elmosódnak. Ezt a hatást konvolúciós* elkenődésnek nevezzük.
Más esetekben ez a függés véletlenszerű. Ilyenkor a képpontok statisztikailag valamennyire a szomszédaiktól függenek (bár közöttük közvetlenül nincsen egyértelmű kapcsolat), és így minden pont minden másiktól függ a szomszédokon keresztül. A szomszédsági kötődésben egy képpont különböző "vegyértékű" lehet (1. ábra): kötődhet 4, 8 vagy 12 környezetbeli képponthoz is. Tőlük valamilyen módon függ, de másoktól közvetlenül már nem. Ezt a függőséget Markov-féle véletlen mezőnek (MVM*) nevezik.
Olyan ez, mint egy olvadéknak a hűtése. Ha elég gyorsan hűtjük az olvadékot, a kapott anyag nem lesz homogén. Ha valahol elkezd kialakulni egy fázis, akkor a szomszédsága részben hasonulni kezd hozzá, vagy a szomszédság erősebb egységesülő hatása "átfordítja" a fázist, és másfajta, nagyobb összefüggő terület lesz belőle. Hogy hol alakulnak ki a fázishatárok, az véletlenszerű. Csak azt tudjuk, hogy lesznek, és hogy körülbelül mekkora lesz a méretük. A többi a kezdeti állapotoktól és a véletlen folyamatoktól függ.
A mi esetünkben a kezdeti állapot egy kamerával felvett kép. Ebből szeretnénk olyan látványt létrehozni, amely kiemeli a lényegi részeket, a lényegtelen dolgok pedig belesimulnak a képbe.

Kiegyengetés hőáramlással

A képfeldolgozásban az elmúlt tíz év egyik fontos új eredménye a képfeldolgozás térmértékelmélete volt. Ebben a kép különböző nagyításaiban (zoom) vizsgálják a részleteket. Ha például egy kontúr a finom felbontásban nem tűnik el a kicsinyítés során, akkor valószínűleg fontos részletről van szó. (A látvány értelmezésekor más módszert kell alkalmaznunk, ha a képen egy ház körvonalait ismerjük fel, és megint mást, ha a ház falán futó borostyán leveleit. Az első esetben a borostyán levele csak a fő látnivaló mintázata.) Az egyes kicsinyítések közötti átmenetekben a képpontokat átlagolják, hiszen sok szomszédos képpontból lesz egy új. Ez az átlagolás matematikai értelemben legpontosabban az úgynevezett hődiffúziós* egyenlettel végezhető el. Ekkor a képpont színei hőmérsékleteknek felelnek meg, és a diffúzió után a finom részletek kisimulnak, de a főbb részletek megmaradnak. Ez ahhoz hasonlít, ahogyan az anyagban a hőáramlás kiegyenlíti a kezdeti hőeloszlás egyenetlenségeit. Igazából nem is kell kicsinyíteni, a kicsinyítés szerepét átveszi a diffúzió időtartama, vagyis a kép szétmosódottsága.

(A) (B)
(C)
2. ábra.
Amagányos cédrus (A), annak hődiffúziós képe(B)
és annak anizotrpo diffúziós helyreállítása (C).
Az elkenés mértéke függ a kép éltartalmától

Nézzük meg mindezt egy példán! A 2/a ábrán látható Csontváry-kép "elkenése" is ment végbe (2/b ábra). Mint látjuk, a finom ilyen diffúzióval részletek eltűntek (kisimultak), a fontosabb kontúrok elmosódtak, de a főbb megmaradtak. Lehet-e olyan módon is simítani a képet, részletek hogy a kontúrok megmaradjanak, a kevésbé fontosak pedig fontos eltűnjenek?
Igen, lehetséges, mégpedig az úgynevezett anizotróp diffúzió*-val. Először megkeressük a képnek azokat a részeit, ahol erős kontúrok vannak, a képre ráengedünk egy diffúziós programot, majd úgy, hogy gyenge a kontúr (2/c ábra). A finom részletek eltűnnek, de a csak ott hasson igazán, ahol fontos élesen kirajzolódnak.részek kontúrjai
Ebben a folyamatban a képpontok úgy diffundálnak, ahogyan a hő terjed az anyagban. A folyamatot akkor kell befagyasztani, amikor a legfontosabb részletek még jól láthatók, de a lényegtelenek már elmosódtak. Anizotróp diffúzió esetén tehát egy éles, de zajoktól megtisztított képet kapunk. Ez az eljárás a kép tartalmához sok szempontból igen jól idomuló képszűrési módszer.

Kikristályosodik a kép

Sok esetben nemcsak szűrni akarjuk a képet, hanem szét is akarjuk választani a részleteket. Ilyenkor a képet - akárcsak egy térképet - véges számú színnel próbáljuk beszínezni.
Fizikai példával élve: egy kristályosodási folyamat nyomán véges számú fázis alakul ki, s az egyes fázisok különböző kristálymódosulatok. A képen is végrehajthatunk valami hasonlót: mondjuk egy sokszínű képből egy csupán négy színt tartalmazó képet kívánunk készíteni. Sok ilyen gyakorlati feladat van: az egymástól elkülönülő részek szétválasztása orvosi képeken, automatikus térképkészítés műholdfelvételekből stb. Mindezt egy mesterséges képen mutatjuk be (3/a ábra). A képet igen nagy zajjal "terheltük" (3/b ábra), mégis, a zajos kép feldolgozása után (természetesen a bemenő kép ismerete nélkül) a 3/c ábrán látható eredményképen szinte tökéletes az úgynevezett szegmentálás*, a képpontoknak az eredetihez viszonyított megfeleltetési hibája 40 százalékról 1 százalékra csökkent. Egy zajos, sokszínű képből majdnem tökéletesen szegmentált négyszínűt kaptunk. Hogyan lehetett ezt elérni?


3. ábra.
Képszűrés mvm-mel: (a) eredeti kép, (b) eredeti kép nagy zajjal terhelve
(ez jelenti a nem kívánt hatást, amit szűrni szeretnénk) és (c) mvm-technikával szűrt kép

A megoldás főbb lépéseit folyamatábrán szemléltetjük (4. ábra).
A megoldás Geman és Geman 1984-ben publikált MVM algoritmusán alapul, ezt azonban nagymértékben módosítottuk. Az ilyen és hasonló iterációs képfeldolgozási eljárásokhoz óriási mennyiségű számítást kell végezni: sok képpontot kell egyszerre megvizsgálni és esetleg megváltoztatni több iterációs lépésben.


4. Ábra.
A szegmentálásra használt CNH-MVM algoritmus folyamatábrája.
A szaggatott vonallal jelzett részek csupán egyszer hajtódnak végre,
míg a folytonos vonallal jelzett kapcsolatok egy iterációs folyamat részei

Mi az eljárást párhuzamosítottuk, ez lehetővé teszi, hogy a sok hasonló műveletet egy párhuzamos működésre alkalmas, rendszerint sok processzorból álló számítógép egy időben hajtsa végre. Így tetemesen rövidül a feldolgozási idő. A hagyományos PC-k lényegében soros működésűek. Megoldásunkat a Chua (Berkeley) és Roska (Budapest) által kifejlesztett úgynevezett celluláris neurális (nemlineáris) hálózatra (CNH) alapoztuk, amely nagyon is alkalmas ilyen jellegű adatok párhuzamos feldolgozására (Lásd ÉT 1998/21. és 22. szám.).

Szerepet kap a véletlen

Az algoritmus lényegében véve sztochasztikus optimalizálási folyamat, amelyben a képpontértékeket véletlenszerűen változtatgatjuk, és közben azt vizsgáljuk, hogy mennyire teljesülnek bizonyos lokális, a kívánt eredményre vezető feltételek. A követelmény: a kimenő kép legyen megtisztítva zajtól, kevés (esetünkben négy) színből, homogén foltokból álljon, de hasonlítson a bemeneti képre is. Ennek érdekében az újonnan generált véletlen állapotokból csak azokat fogadjuk el, amelyek a lehető legjobban teljesítik a fenti feltételeket. Az egyes képrészek hatással vannak a szomszédos területekre (hiszen kikötöttük: legyenek homogén foltok, vagyis a szomszédok nagy valószínűséggel hasonlítsanak egymásra), ezért egy új lokális állapot csak jóval később, esetleg sok iterációs lépés után hat a távolabbi részekre. Így a teljes képre vonatkozó optimális megoldáshoz nem elégséges az, hogy az iterációk során csak a lokális szabályokat engedjük érvényesülni. Esélyt kell adni annak is, hogy egy új lokális állapot szomszédsági kapcsolatain keresztül olyan távolra ható folyamatokat indukálhasson, amelyek a kép egészét tekintve közelebb visznek a jó megoldáshoz. A valószínűtlen lokális kimenetelek esélyét csökkenteni kell: a képpontok többnyire a valószínűbb állapotokat vehetik fel.
E sztochasztikus optimalizálási folyamat eredetijét Metropolis és társai már 1954-ben használták molekulák energiaállapotának leírására. Mi ennek egy sokkal gyorsabb (bár valószínűleg kevésbé optimális) változatát futtatjuk a CNH-n.

Néhány példa

Az eljárást gyorsan csak többprocesszoros, egyebek között szilíciumcsipen létrehozható CNH-áramkörökkel valósíthatjuk meg. Ilyen csipeket az elkövetkező években szeretnénk készíteni nemzetközi együttműködés keretében.
Végül nézzünk meg két képsort! A légi felvétel Új-Mexikóról készült (5. ábra). A képen egy folyó, egy azon átívelő híd, egy erdősáv és lakott területek láthatók. A szegmentálást három-, illetve négyféle szegmensre (osztályra) végeztük el. Ilyen módszerrel jól meghatározható például a beépített vagy a különböző növényzetekkel borított területek nagysága.


5. ábra.
Egy új-mexikóról készült légi felvétel (a) szegmentálása három (b),
illetve négy (c) típusú területre CNH-MVM módszerrel.
A képen egy folyó híddal, egy erdősáv és lakott területek láthatók.
A módszer jól alkalmazható például a mezőgazdasági termőterületek állapotának,
nagyságának meghatározására, előzetes termésmennyiség megbecsülésére

A 6/a ábra egy hagyományos utcakép, ezt szegmentáltuk az MVM-módszerrel (6/b ábra). Éles határokat kaptunk, de ezek alig értelmezhetők. Ha azonban először egy anizotróp-diffúziót futtatunk le, s csak ezt követően használjuk az MVM-alapú szegmentálást, akkor már egész jól szétbontható a kép (6/c ábra).


6. ábra.
Egy utcarészletet ábrázoló kép szegmentálása hat osztályra CNH-MRF technikával:
(a) bemeneti kép, (b) szegmentált kép, (c) anizotróp CNH-MRF technikával végzett
szegmentálás, ahol a kisebb szegmensek jobban megőrződnek

Miből is indultunk? A kristályok folyamataiból. Hová érkeztünk? A szilíciumkristály világába. Mi keletkezett? Kristályok gyönyörű zárványai helyett valódi képek kristályosodtak ki.

Szirányi Tamás
(MTA SZTAKI és Veszprémi Egyetem,)

sziranyi@sztaki.hu

Czúni László
(Veszprémi Egyetem)

czuni@siliconterra.vein.hu

&
KISLEXIKON

Anizotróp diffúzió: olyan diffúzió, elkenés, amelynek mértéke helyenként, a kép tartalmától (esetünkben éltartalmától) függően más és más lehet.
CNH:
celluláris neurális/nemlineáris hálózat (CNN, Cellular Neural/Nonlinear Network). Olyan mátrixszerkezetű, szilíciumcsipen megvalósítható struktúra, amelyben a mátrix elemei egymással lokálisan kapcsolatban levő, primitív műveletekre alkalmas processzáló egységek (a szem retinájához hasonlóan).
Diffúzió:
hőkiegyenlítődés a képen (csakúgy, mint fizikai anyagokban). A kiegyenlítődés differenciálegyenletének megoldása megfelel egy Gauss-függvénnyel való konvolúciónak, elkenésnek.
Konvolúció:
a kép elkenése, simítása, a képpontok szomszédos pontokkal való átlagolása valamilyen súlytényezővel (például a gaussi eloszlású súlyokkal).
MMD:
módosított metropolis-dinamika (Modified Metropolis Dynamics). Sztochasztikus optimalizálási feladatokban jól alkalmazható döntési mechanizmus
MVM:
Markov-féle véletlen mező (MRF, Markov Random Field). Két- vagy többdimenziós diszkrét adathalmaz szomszédsági kapcsolatait leíró valószínűségi modellje.
Szegmentálás:
az a folyamat, amelyben egy képet úgy színezünk át, hogy az így létrejövő színespont-csoportok többé-kevésbé a kép által reprezentált valódi dolgoknak felelnek meg.
Sztochasztikus optimalizálás:
olyan algoritmus, amelynek során részben nem determinisztikus (véletlen) lépések segítségével keressük meg egy probléma optimális megoldását.

A cikk az Élet és Tudomány archívumában