A kristályrácstól a képpontokig
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
& 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. |