Gépi látás - képfeldolgozás és mélységi kép kettő webkamera segítségével
Dolgozatom a gépi látás megvalósításáról szól LabVIEW környezetben. Változatos képfeldolgozási technológiákat mutatok be folyamatosan szem előtt tartva, hogy a módszerek szűkebb költségvetésű egyetemi és hallgatói projektekben is használhatóak legyenek.
Először áttekintem a LabVIEW programozás alapjait, az adatfolyam programozás mibenlétét, előnyeit, hátrányait. Csak olyan mélységig, hogy a későbbi fejezetek azok számára is érhetőek legyenek, akik még nem programoztak LabVIEW környezetben.
Ezután rátérek az egyszerű képfeldolgozási módszerekre. Itt először a színalapú mintázatkeresést mutatom be. Ennek keretében a megadott színbeli mintázatot keresi a program a képen. Majd a fekete-fehér képen történő forma alapú mintázatkeresést írom le. Itt a különböző módszerekkel monokrómmá tett képen keresi az előre definiált alakzatot.
Majd folyatatom a magasabb szintű képfeldolgozási technológiákkal. Ennek keretében először szövegfelismerésről írok, amiben először meg kell tanítani a karaktereket a programnak, melyeket ezt követően önmaga is fel fog ismerni. Ezután az egy- illetve kétdimenziós vonalkód (QR kód és Data Matrix) olvasásáról írok, melyek egyre elterjedtebbek mind az iparban, mind a mindennapi életben.
Ezt követően bemutatom azt, hogy két egymás melletti, csupán horizontálisan eltolt webkamera képét felhasználva hogyan lehet - az emberi látáshoz hasonlóan - mélységi képet előállítani. Itt fontos a megfelelő beállítás, ami a kameráknak több szögből megmutatott fekete-fehér ráccsal végezhető. Ezután a beállítás természetesen elmenthető, így ezt elegendő kamera-beállításonként egyszer elvégezni. Ezt követően a program képes a webkamerák képét élőben (real time) mélységi képpé alakítani és azt egy színes grafikonon megjeleníteni. Az összes ponthoz rögtön rendel egy mélységi koordinátát is, amit egyrészt a színekkel érzékeltet, másrészt ha az egeret az adott pont fölé visszük, akkor külön is megjeleníti. Természetesen ennek a technológiának is megvannak a korlátai, nem várható el, hogy két középkategóriás webkamera képéből tökéletes háromdimenziós képet kapjunk, de az meghatározható belőle, hogy a kamerák előtt mely területen van közeli tárgy, aktivitás, amin a korábban ismertetett képfeldolgozó technológiákat felhasználni érdemes. Ezzel leszűkíthető a vizsgálat területe, amivel erőforrást takaríthatunk meg, valamint egy mozgásra képes robot részeként használva a módszert, a robot képes lesz az adott aktivitás felé fordulni. Emellett a módszer mérési tartománya nagyban függ a kamerák elrendezésétől. Egymáshoz nagyon közel elhelyezett kamerák esetén elsősorban közelebbi célpontok esetén fog pontosabban működni, míg távolabb elhelyezettek elsősorban távolabbi célpontoknál adnak használhatóbb eredményt.
Minden bemutatott technológia esetén kitérek a megvalósítási lehetőségek széles skálájára, illetve az adott technológiában rejlő lehetőségekre és korlátokra is, amelyek egyrészt az adott módszer fizikájából származnak, másrészt a felhasznált kamerák hibája. Ez utóbbi azonban szándékosan része a dolgozatomnak, hiszen célom nem az volt, hogy ipari képfeldolgozó technológiákról írjak, hanem pont ezeknek az egyszerűbb eszközökkel való kivitelezését mutassam be, így a hallgatók számára is felhasználhatóvá tegyem őket.
Irodalom:
1.) NI Vision for LabVIEW - User Manual, 2005.
2.) Előadás diák Informatika II. tárgyból – Aradi Petra, 2013.
3.) Egyetemi jegyzetek és előadás diák a Fotogrammetria és Térinformatika Tanszék (BME) oldaláról
szerző
-
Szabó Márk
mechatronikai mérnöki
nappali alapszak
konzulens
-
Dr. Aradi Petra
egyetemi docens, Mechatronika, Optika és Gépészeti Informatika Tanszék