3.2. Digitális képfeldolgozás

A digitális képfeldolgozás témakörét (Qidwai és Chen, 2010) könyve alapján tekintjük át.

A feldolgozandó kép: 3D-s látvány leképezése 2D-re, a színkódok mátrixaként. A mátrixelemek a pixelek, melyek a látványinformáción túl a leképezés nyomát, zaját is tartalmazzák.

A képfeldolgozás minden olyan műveletet takar, melyet a képpel végzünk, pl. a kép kinyerését, a színek memóriában történő leképezését, a kép javítását, a kép tömörítését, a kép osztályozását, a kép felismerését, stb. Minket elsősorban a mesterséges intelligencia témakörébe illeszkedő képfelismerés, arcfelismerés, számítógépes látás érdekel. Kiváló ingyenes szoftver a Linux alatt futtatható Khoros Cantata (Choros, 2011, Young, Argiro és Kubica, 2011, Jordán és Lotufo, 2011) digitális képmanipulációk tanulmányozására. A programban a képfeldolgozó műveletek kis dobozokkal vannak reprezentálva, melyek egymáshoz kapcsolhatók. Egy összetett műveletsor megadása látható alább a Cantata programban (Jordán és Lotufo, 2011).

Képfeldolgozás a Cantata programmal

A kép memóriabeli tárolása 2D-s, vagy több dimenziós tömbben történik. A színes képeket a három alkalmazott alapszínnek megfelelő három réteggel, három 2D-s mátrixban tároljuk. Az egyes pixelek egyes alapszíneinek tárolására alkalmazott memória mérete határozza meg a szín árnyalatainak leképezhető számát. Gyakran alkalmaznak 8 bitet alapszínenként az árnyalat tárolására, így a három alapszínt 24 bites színmélységgel tárolva. A folytonos valós látvány mintavételezési sűrűsége határozza meg a 2D-s mátrixok méretét, azaz a kép felbontását. A mintavételezés ritkítása információveszteséggel jár és ront a leképezett kép minőségén.

A színmélység hatása a kép árnyalatgazdagságára

3.2.1. Képkinyerés

A képkinyerés a képfeldolgozás első lépése. A képet számtalan eszköz szolgáltathatja: kamera, fényképezőgép, szkenner, digitális rajztábla, képlopó szoftver, mellyel filmek képkockáit, illetve képernyőképek egy részét menthetjük el, ill. speciális képforrások, pl. Computer Tomograph, CT. A képek alapesetben RGB színtérben adódnak.

A színkocka

A piros (Red, R), zöld (Green, G) és kék (Blue, B) rétegek tartalma egymástól függetlenül kezelhető, megjeleníthető. Az RGB színtér mellett a képfeldolgozásban gyakran alkalmazott a szürkeskála is. Ez hasonló ahhoz, mint amikor a színes képet fekete-fehér lézernyomtatón nyomtatjuk ki a szürke árnyalataival. A szürkeskála képek nemnegatív egész értékekkel azonosítják a pixel szürke árnyalatát, pl. 0-255 intervallumban. Egy szürkeskálás képből egyszerűen készíthetünk bináris képet, mely egy megadott szürkeskála érték alatti árnyalatokat 0, a többit 1 értékkel jelöl. Természetesen ez a képinformáció nagyfokú csökkenését jelenti.

A kép RGB rétegei, szürkeárnyalatos alakja és annak szűrt változatai

A kinyert képet Windows környezetben leggyakrabban a következő formátumok valamelyikében tároljuk:

  • .BMP (bitmap)

  • .JPG (Joint Photographic Experts Group)

  • .GIF (Graphics Interchange Format)

  • .TIF (Tagged Image File Format).

További, kevésbé gyakori formátumok:

  • .WMF (Windows Meta File)

  • .PNG (Portable Network Graphics)

  • .PS (Postscript)

  • .EPS (Encapsulated Postscript)

  • .EMF (Extended Meta File)

A különböző képfájl formátumok nem egyformán őrzik meg a látvány adottságait, a tömörítésmentes, nagy tárhelyigényű .BMP veszteségmentes, a tömörített formátumok közül a .JPEG sok szín, a .GIF kevés szín és átlátszóság, a .PNG sok szín és átlátszóság esetén célszerű.

3.2.2. Egyszerű műveletek a képeken

Az egy, vagy két hasonló méretű pixelmátrixon működő matematikai műveletek az összeadás, kivonás, szorzás, osztás, illetve skalárral történő szorzás. A mátrixok összeadásával képeket egyesíthetünk, képrészletet adhatunk hozzá, stb. A kivonásukkal eltérés észlelést, háttér eltávolítást, képen belüli differenciaképzést, részletek eltávolítását végezhetjük. Szorzással és osztással skálázhatunk, normalizálhatunk a kép javítása céljából. Szokásos művelet még a két kép pixelei közötti lineáris interpolációval újabb köztes, keverék kép létrehozása, illetve a pixelértékek adott érték alatt, ill. felett a minimumra, vagy a maximumra átírásával a képeket csonkíthatjuk. Az aritmetikai műveletek mellett a logikai műveletek is gyakran használatosak képek egyesítésénél, illetve bináris kép invertálásánál. Nem bináris pixelértékeknél, pl. 0-255 kódintervallum esetén a Q(i,j)= 255 – R(i,j) művelettel végezhető a szürkeárnyalatok invertálása. Az AND, NAND, OR, NOR, XOR logikai operátorokkal változatos helyi kiválasztást, maszkolást érhetünk el, megfelelő maszkoló képek alkalmazásával.

A képeken, illetve egyes részeiken alkalmazhatunk affin transzformációkat: eltolást, forgatást és skálázást.

3.2.3. Képzajok

A képeket terhelő zajok jellemzője a véletlenszerűség, szemben a determinisztikus torzulásokkal, mint például az árnyékolás, vagy az életlenség. A képzajok sokfélék lehetnek, de modellezésükre leginkább a normális eloszlás haranggörbe függvényét, vagy a bitek véletlenszerű ki-be kapcsolását szokták alkalmazni. Normális eloszlás esetén a pixelek értékeihez adott zajértékek eloszlása normális eloszlást követ, azaz a közepes értékkel torzítják leggyakrabban a pixelek kódértékét. Az ábra 0.1 és 1 szórásnégyzetű normális eloszlású zajjal terhelt képeket mutat.

Zajjal terhelt képek

A mozgás miatti elmosódás (motion blur), rossz fókuszálás miatti életlenség, légköri effektek az elmosódások (blurring) kategóriájába tartoznak, és mesterségesen egy, a képtől sokkal kisebb négyzetes mátrix tartalmával való ÉS műveletbe hozással származtatják. A kis mátrixot – a maszkot – a kép minden képpontjára illesztik. Motion blur-ral manipulált képet látunk az eredeti képtől jobbra alább. A gépkocsi egyes részeit kihagyták.

Motion blur, irányított elmosódás alkalmazása a kép kiválasztott részén mozgás érzékeltetésére

3.2.4. Képtranszformációk

A mesterséges intelligencia képfelismerési feladatának megoldásához a képtranszformációkon át vezet az út. A képtranszformációk feladata a kép olyan adatformára hozása, melyben a korábban nem látható jellemzők megjelennek. Rendszerint ezek az átalakítások megfordíthatók és a transzformált adathalmazból inverz transzformációval az eredeti tartalom visszaállítható. A képmódosító, képjellemző azonosító számításokat, beavatkozásokat az első transzformálással kapott frekvenciatartományban adódó adatokon végezzük, majd az így kapott „képet” visszatranszformáljuk a képtartományba. Pl. az eredeti kép éleinek simításához a frekvenciatartománybeli magas frekvenciákat ki kell szűrni. Élek kiemeléséhez pont fordítva, az alacsony frekvenciákat kell kiejteni egy felül áteresztő frekvenciaszűrő alkalmazásával, majd inverz Fourier transzformálással. A Fourier transzformáció a matematikában egy jól megalapozott technika mely hasznos a jeleknek a frekvencia-összetevőikkel történő leírásához. Egy kép esetében, a frekvencia összetevők értelmezhetők mind a kép magasság-, mind szélesség irányában. Pl. bármely hirtelen változás a szürkeskála értékekben magas frekvenciájú összetevőként értelmezhető. Egyenletes emelkedések vagy konstans értékek a szürkeskála értékekben alacsony frekvenciájú összetevőkre utalnak. A számítás módszerét illetően a diszkrét Fourier transzformációnak egy variációja, a gyors Fourier transzformáció (Fast Fourier Transformation, FFT) használatos. Ennek számítási komplexitása m∙log2n, míg a sima diszkrét Fourier transzformációé n∙m, ahol n és m a kép méretei képpontban. A hullám-transzformáció (Wavelet Transformation) a Fourier transzformációhoz hasonló dolgot csinál, de a nézet ablakot nagyról kicsire változtatja, skálázza. A skálázásos felbontás a frekvencia komponensek jobb elkülönítését eredményezi, a Fourier transzformációhoz képest. A Fourier transzformáció egyszerű szinusz/koszinusz függvényeivel szemben a hullám transzformáció anya-hullámoknak nevezett speciális alapfüggvényeket használ. A különféle alkalmazások különféle anya-hullámokat használnak, elsősorban képzaj eltávolításra és tömörítő programokban. Az alakfelismerés tipikus feladatához, az élek kapcsolódásának megállapításához az ún. Hough transzformációt alkalmazzák, mely eléggé számításigényes.

3.2.5. Képmanipulációk a frekvencia térben

A frekvencia térre való áttéréshez diszkrét Fourier transzformációt használunk. Az áttérés ahhoz hasonló, mint amikor egy periodikus függvényt néhány domináns szögfüggvény összegére bontunk fel. Az összetevőknek az amplitúdója és a frekvenciája is fontos. A frekvenciát a vízszintes tengelyen mérve, azokon a helyeken, amelyeknek megfelelő frekvenciájú összetevő szerepel a felbontásban, az összetevő szögfüggvény amplitúdójának megfelelő függőleges szakasz jelenik meg. Minél összetettebb az egyváltozós periodikus függvényünk, annál több frekvenciánál, helyen jelenik meg a frekvencia tartományban függvényérték, azaz függőleges szakasz.

A kétdimenziós képet ugyanakkora méretű kétdimenziós frekvenciatartományra képezi le a diszkrét Fourier transzformálás, megadva annak szinusz és koszinusz függvényösszetevőit, mint egy komplex szám trigonometrikus alakjának két komponensét. A transzformációs képletbeli írásmód a komplex számoknál megismert kétféle írásmód ekvivalenciáját használja ki. Ismert, hogy a z komplex szám trigonometrikus alakja, a z= r∙(cosϕ + j∙ sinϕ) megadható z= r∙ej∙ϕ alakban is, ahol r a komplex szám abszolút értéke, ϕ pedig a komplex sík valós tengelyével bezárt szöge.

Ezek után a diszkrét Fourier transzformáció a következő:

ahol F(u,v) a kétdimenziós Fourier függvény, M és N a kép méretei, m és n a képpont koordinátái, u és v a Fourier tartomány koordinátái (u= 0..M-1; v= 0..N-1), j a komplex egység. A diszkrét Fourier transzformáció diszkrét jelzője azt jelenti, hogy u és v diszkrét frekvenciaértékeket vesz fel a M∙N méretű téglalap alakú tartományban. A mindkét irányban diszkrét, rácspontbeli frekvenciaértékek azt is jelentik, hogy csak véges számú, a kiinduló képünk felbontása, N és M által meghatározott helyen vettünk mintát a képből és az N-1, ill. M-1 intervallumon adódó szürkeárnyalat függvénydarabkákról feltettük, hogy azok N, ill. M lépés után periodikusan ismétlődnek, ami csak a módszer használhatósága miatti feltevés. Másrészt a diszkrét jelleg a kimeneti oldalon abban is megnyilvánul, hogy diszkrét bázisfüggvények szerepelnek a Fourier tartomány értékeinek előállításában. A transzformációs képlet ugyanis a valós f(m,n) kép-pontértéknek és az exponenciális tényezőként jelen lévő, hozzá tartozó bázis függvény szorzatának összegzése a teljes képre. A bázisfüggvények szinusz és koszinusz hullámok egyre növekvő frekvenciákkal. Az F(0,0) sarokpont megfelel a kép átlagfényességhez adódó komponensének, míg az F(M-1, N-1) pont reprezentálja a legmagasabb frekvenciát. A valós alkalmazásokban a Fourier képet eltolják úgy, hogy a kép átlaga, azaz az F(0,0) érték a Fourier magnitúdó kép közepén adódjon. Minél messzebb vagyunk ettől a középtől, a frekvencia annál nagyobb. Egy további megjegyzés, hogy a transzformációt szürkeárnyalatos képeken szokták végezni, és a gyors Fourier transzformáció alkalmazhatósága érdekében M és N értékét kettő egész hatványának választják.

Az F értékek komplex számok, azaz van valós és képzetes összetevőjük. Ennek megfelelően ha az F valós, ill. képzetes értékeket szürkeárnyalatoknak feleltetjük meg, a két M∙N-es kép le is ábrázolható. A valós rész a magnitúdó, a képzetes pedig a fázis nagyságát adja. A képfeldolgozásban gyakran csak a magnitúdót ábrázolják, a fázist, eltolódást nem, mivel a magnitúdó tartalmazza a kép változatosságára vonatkozó információt és ez fontos az eredeti kép egységében való manipulálásához, pl. a meredek szürkeárnyalat-változások, azaz az élek egyöntetű kezeléséhez. Egy (u,v) pontbeli érték az u értékű vízszintes és egyidejűleg v értékű függőleges irányú frekvenciákkal jellemezhető pontok jelenlétének erősségét adja meg a teljes kiinduló képre vonatkozóan. Emiatt az induló fehér képen mindegy, hová teszünk egy kis ábrát, az így kapott két Fourier magnitúdó ábra azonos lesz. A magnitúdóra vezető leképezés a szürkeárnyalatok adott adott irányban vett változásaira, nem pedig a változások helyére érzékeny. Azonban, ha a transzformált Fourier függvényből az eredeti képet vissza akarjuk állítani, a teljes Fourier függvényre, azaz a képzetes résznek megfelelő fázis (eltolódás) értékekre is szükség van. Természetesen a magnitúdó függvénykomponensen végzett manipulációkból való módosult kép megkapásához is szükséges a változatlan fázis komponens is. Az inverz transzformáció:

Az alábbi példa mutat egy képet egy téglalappal és a kép Fourier transzformáltjának magnitúdó összetevőjét grafikusan szemléltetve, illetve a magnitúdó értékeket színeknek megfeleltetve (MathWorks, 2011). A térbeli magnitúdó diagramon középen a csúcs megfelel F(0,0)-nak. Ez az érték az f(m,n) összes értékének összege. Az ábrán az is látható, hogy a vertikális u frekvenciáknál több magas frekvenciaérték adódott, mint a v horizontális frekvenciáknál. Ez összhangban van azzal, hogy az m irányban keskeny, míg n irányban elnyújtott pukli van az f(m,n) képen.

A kép és a Fourier-transzformáltjának magnitúdó összetevője, kétféle ábrázolásban

A Fourier transzformáci segítségével végzett képtranszformáció leggyakrabban a transzformált alakon végzett szűrésekkel és az így kapott módosult tartalom visszatranszformálásával zajlik. Élek kiemelése, élek simítása, elmosódott, bemozdult képek javítása tartozik ide. Részletesen lásd (Qidwai és Chen, 2011)-ben.

3.2.6. Élek detektálása

A humanoid robot gépi látása szempontjából fontos dolog a környezetében való tájékozódáshoz, a képfelismeréshez a látványban található élek észlelése. A robot az élek segítségével tudja felismerni a környezet különböző objektumait, tagolni a látványt. (Qidwai és Chen, 2011) szerint az élek a világos és a sötét árnyalatokban jelentkező éles, hirtelen változásokként definiálhatók. Ezek a nagyfrekvenciás jelek egy felül áteresztő szűrővel választhatók le és adhatók át a további feldolgozásnak. Emiatt az éldetektálás közel áll a képszűrők témájához, hasonló alapalgoritmusok használhatók. Majdnem minden ilyen algoritmus két almátrixot számít a vízszintes és függőleges kiemelt élekkel. Azután egy általános él-síkot számítanak, amelyen végrehajtva egy bináris küszöbölő műveletet szolgáltatják az éleket. Általánosan használt éldetektorok a Sobel, Prewitt, Robert, Robinson, LoG, Zero-Crossing és Kirsch operátorok. A LoG operátor a képintenzitás jel második deriváltját számítja, és ahol az nulla, ott lehetnek élek.

Éldetektálás a képjel deriválásával

Az alábbi videón a deriváltak képzését követhetjük: video lejátszás

A második derivált nulla értékű inflexiós helyei mutatják az éleket. Mivel azonban a derivált képzése egy adott irányban működik, a tetszőleges irányú élek megtalálásához a következő technikát alkalmazzák: Az operátort kellően nagy számú irányban futtatják és annak az eredményét veszik, amelyik a legnagyobb értéket adta.

A Canny operátor esetében a kép Gauss-konvolúcióval történő kisimítása után a 2D deriváló operátorral kiemelik azokat a tartományokat, ahol a derivált magas értéket ad. Az élek jelentik az emelkedőket a magaslatokhoz, gerincekhez a gradiens képen. Az algoritmus azután végigmegy ezeknek a gerinceknek a tetején és lenulláz minden, nem pontosan a gerinc tetején lévő bitet, ezáltal egy vékonyvonalú kimenetet adva. A módszert nem-maximális elnyomásnak nevezik. A nyomkövető folyamat hiszterézissel bír, melyet a T1 és T2 küszöbök határoznak meg (T1>T2). A folyamat csak a gerinc egy T1-től magasabb pontjáról indítható. Majd a gerinckövetés mindkét irányba addig folytatódik, mígnem az aktuális gerincmagasság T2 alá nem fut. Ez a hiszterézis ezáltal biztosítja, hogy a zajos gerincek nem esnek szét éldarabkákra. A Canny operátor jól tűri a zajt, de a legidőigényesebb. Úgy tervezték, hogy optimálisan működjön bizonyos feltételek teljesülése esetén.

Az élek detektálásához hasonlóan kereshetünk egyeneseket a képen.

3.2.7. Arcfelismerés

Az arcfelismerés a humanoid robotok képességei között központi helyet foglal el, mivel működésüket emberek között fejtik ki és fontos, hogy felismerjék azokat. Az arcfelismerés egy adott arcképnek a beazonosítását jelenti egy arckép-adatbázis arcai közül. Az arcfelismerés előtérbe került az utóbbi időszakban, mivel a mi témánkon túl egyéb területeken is alkalmazzák, mint pl. jogi bizonyítások, biztonsági alkalmazások, vagy video indexálás. Az arcfelismerés egy igen nehéz feladat, nem létezik univerzális megoldás minden esetre és alkalmazásra, ahol szóbajöhet.

Az arcfelismerést alapvetően két alapfeladatra oszthatjuk: azonosításra és ellenőrzésre. Az azonosítási feladatban a felismerendő arc ismeretlen, és ismert arcokat tartalmazó adatbázissal vetjük össze. Az ellenőrzési feladatban a rendszer elfogadja, vagy elutasítja az állítólagos személyazonosságát az input arcnak. Az arcfelismerés témája napjaink aktívan kutatott fejlődő területe. A létező különféle megközelítéseket az alábbi ábra foglalja össze (Qidvai és Chen, 2010).

Arcfelismerő eljárások kategorizálása

A következőkben csak a klasszikus PCA (Principal Component Analysis) Fő Komponens Elemzés módszerrel foglalkozunk a lineáris altér elemző eljárások (PCA, LDA, ICA) közül.

Ez távolságméretek statisztikai adataival dolgozik és jó teljesítmény/idő aránnyal bír. A módszer célja a magas dimenziószámú vektorként felírt szürkeárnyalatos arcképből egy alacsonyabb dimenziójú altérre való leképezés, mely altérbe eső egyedek azután könnyebben összehasonlíthatók. A PCA, LDA, ICA módszerek eltérő statisztikai szempontok alapján megválasztott bázisvektorok terében adják meg az arcképet. A sok betanításhoz használt arckép által adott referenciavektor és a felismerendő arckép vektora közötti közelséget használják a felismerés fokának megadására. A tesztarcot azon személy arcaként azonosítják be, akinek a referenciavektorához közelebb esik. Ezt pl. vektorok által bezárt szöggel is mérhetjük. Az arckép eredeti vektoráról a redukált dimenziójú altér vektorára egy mátrix-vektor szorzás visz át, azaz lineáris transzformációról van szó.

A felismerésnél szóbajöhető arcképeket előzetesen egy adatbázisba összegyűjtik, ez szolgál betanító adatbázisként. Számtalan public-domain, szabadon használható arc adatbázis létezik, a Yale 15 személy/165 kép adatbázisától a FERET 1000-től több személy 10000-től több kép adatbázisig. A következő ábra arckép-adatbázis részletet mutat.

Betanító arckép adatbázis részlete

A PCA módszer kulcs eljárása a Karhunen-Loéve transzformáció. Ha a kép elemeit véletlen változóknak tekintjük, a kép felfogható egy sztohasztikus folyamat generálta mintaként. A PCA bázisvektorok az ST szórásmátrix sajátvektoraiként definiálhatók:

A lineáris redukáló transzformáció mátrixa a d dimenziójú redukált térre való leképezéshez a d db legnagyobb sajátértéknek megfelelő sajátvektorokból épül fel. A redukáló leképezés elvégzése során az eredeti n dimenziós arckép a jellemzővektorok d dimenziós alterében áll elő. A legtöbb esetben a nagyon kis sajétértékeknekmegfelelő sajátvektorokat zajnak tekintik és nem veszik figyelembe az azonosítás során. A PCA algoritmusnak számtalan továbbfejlesztése létezik, mint pl. a moduláris sajátvektorok és a valószínűségi alterek.

A módszerben a fő kihívás az a tény, hogy bármely tesztkép amikor összevetjük az adatbázis képeivel, eltér orientációban, megvilágításban, arckifejezésben és egyéb tulajdonságaiban az adatbázisban szereplőtől. Ebből eredően az egy-az-egyben történő illesztés lehetetlen. Rendszerint a mintaillesztés bizonyos formáját alkalmazzák arra a célra, hogy a képet néhány reprezentatív összetevőjével vegyék figyelembe, melyek meglehetősen függetlenek az előbb említett eltérésektől. A Principal Component Analysis (PCA) egy ilyen technika, amely az arcképet képes ’sajátkomponenseire’ bontani, melyek aztán felhasználhatók az osztályozásra. Miután ezek a komponensek ismertek az adatbázis összes arcképére, bármely teszt-arckép komponenseit egyszerűen a létező komponensekkel kell összehasonlítani. Az összehasonlítást rendszerint valamilyen távolságszámító módszerrel végzik. Azt az adatbázisban található osztályt, amelyikhez a legközelebb esik a teszt arckép, adják meg végül mint felismerési eredményt. A PCA elvű arcfelismerés folyamatát a következő folyamatábrán követhetjük.

PCA elvű arcfelismerés folyamata (Qidvai és Chen, 2010) szerint

A Betanítás fázisában a PCA módszer számítja a redukált tér bázisvektorait. Ezek a bázisvektorok a betanító vektorok legnagyobb eltérése, változékonysága irányába mutatnak. Egy sajátérték probléma megoldásaiként adódnak, azaz a bázisvektorok sajátvektorok. Ezek a sajátvektorok a redukált arckép térben vannak definiálva. Tekinthetők képeknek, valójában arcképekhez hasonlítanak. Gyakran sajátarcoknak nevezik őket. Az első sajátarc az átlagolt arc, a többi sajátarc pedig az átlagos arctól való eltéréseket reprezentálja. Az első sajátarc egy jó szűrő: minden egyes arc pixelenként, skalárszorzással szorozva ezzel az átlagarccal egy 1-hez közeli értéket ad, nem arcot ábrázoló képpel szorozva az érték 1-től sokkal kisebb. Az átlagostól való legnagyobb változatosság irányát a második sajátvektor adja meg. Az átlagostól való második legnagyobb változatosság irányát a harmadik sajátvektor adja meg, és így tovább. Minden egyes sajátvektor úgy tekinthető, mint egy jellemző. Amikor egy adott arcot ábrázolunk a redukált arc-térben, a vektorával megadja az egyes jellemzők fontosságát az arcon.

A következő lépéseken követhetjük a PCA alapú arcfelismerés működését. A folyamat a sok személy sok nézetét tartalmazó betanító arcfájlt fogadja inputként, majd PCA módszerrel előállítja a jóval kevesebb számú sajátarcot. Természetesen az első lépés minden kísérlethez a sajátarcok meghatározása. Ezután a redukált arctér benépesíthető az ismert arcképekkel, melyeket rendszerint a betanító arcképek közül veszünk. Minden egyes ismert arcot transzformálunk az arc-térbe és a komponenseiket eltároljuk a memóriába. Ezután kezdődhet az arcfelismertetés.

Egy ismeretlen arcot mutatunk a programnak. Az áttranszformálja az arctérbe és egyenként számítja a távolságát a tárolt arcképektől. Amelyikhez a legközelebb lesz, annak a tulajdonosát nevezi meg a program felismert személyként. A távolságot a sok lehetséges távolságszámító eljárás közül a Mahalanobis távolságként számítja.

Megjegyezzük, hogy a betanító adatbázisban nem szereplő személlyel a program rosszul működik.

3.2.8. Soft Computing módszerek

A digitális képfeldolgozás ismertetett hagyományos módszerei mellett erőteljesen törnek előre a soft computing módszerek, melyek képesek kezelni a képen megtalálható hibákat, zajt, hiányokat és közelítéseket. Az új képességekből eredően az algoritmusok rugalmassága, robusztussága megnő, mindez alacsony számítási költséggel. A soft computing módszerek közel állnak az emberi agy által mutatott működéshez, amely az egzakt számítás helyett emlékezéssel, ráérzéssel, valószínűségekkel, megítéléssel, becsléssel működik. A következő, a mesterséges intelligencia tárgykörébe tartozó módszerek ezek:

  • Fuzzy rendszerek

  • Neurális hálózatok

  • Evolúciós számítás

  • Harmónia kereső algoritmusok

  • Raj-intelligencia algoritmusok

  • Gépi tanulás

  • Káosz elmélet.

A módszerek jelentős része korábbi tanulmányainkból ismert, a raj-intelligencia módszerét a 2.7 pontban mutattuk be. A fuzzy logika képfeldolgozásban való alkalmazására példát (Quidvai és Chen, 2010) műve ad.

3.2.9. Mesterséges neurális háló alapú képfeldolgozás

Ez a terület nagyon kiterjedt, mivel a mesterséges neurális hálók (MNH) alkalmazásának egyik fő területe éppen a gépi látás. Az MNH az emberi agy szerveződését mintázza. Kulcsszerepben vannak a mesterséges neuronok, azok kapcsolódása és a tanulási mód. Képfeldolgozási, alakfelismerési feladatokra elsősorban a gyors működésű előrecsatolt többrétegű Perceptron hálók alkalmasak. Ezek betanítása a felismerendő alakzatokra egyszerűen az alakzatok, tárgyak képeinek többszöri bemutatásával elvégezhető. Az MNH előnye az alakfelismerésben a hibatűrés és a robusztusság. További előny, hogy nem programozással, hanem betanítással tesznek szert az alakfelismerés képességére. Komolyabb feladatok megoldásához a hálókat hierarchikus szerkezetben meg kell többszörözni, hogy a látványban rejlő többszintű elvonatkoztatást felismerhessék ( foltok, élek; szék, asztal; szoba, tárgyaló). A témához köthető példát ad az 5.3.3 fejezetben bemutatott MNH alapú amőba játékot játszó program.