A LabVIEW 2012 Vision Development Module a szoftver- és hardvereszközök zökkenőmentes együttműködésével grafikus fejlesztőkörnyezetet nyújt a mérnököknek háromdimenziós képalkotási feladatokhoz.
Bevezetés a 3D-s képalkotásba
Kétdimenziós (hagyományos) kamerák vagy más optikai érzékelőtechnológia használatakor a mélységinformációt többféle módszerrel is kiszámíthatjuk. Az alábbiakban rövid áttekintést adunk a leggyakrabban használt eljárásokról.
Új, sztereoszkopikus képalkotási funkciók a Vision Development Module 2012-ben
A LabVIEW 2012-es változatától kezdve a Vision Development Module már tartalmaz sztereó képalkotási algoritmusokat, több kamerától érkező képből mélységinformáció kiszámítására. Az új algoritmusok két kamera képéből (kalibrálási adatok felhasználásával) alkotnak mélységi képet, így több adat áll rendelkezésre tárgyak és hibák/sérülések felismeréséhez vagy például robotkar mozgásának és reagálásának vezérléséhez.
A binokuláris sztereó képalkotó rendszer használatához két kamera szükséges. Ideális esetben ezek egymáshoz közel, szinte teljesen párhuzamosan irányítva helyezkednek el.
1. ábra. Példa bal és jobb oldali felvételből a Stereo Vision segítségével megalkotott mélységi képre
Az 1. ábra egy doboz csokoládégolyó példáján keresztül szemlélteti a térbeli képalkotás előnyeit automatizált ellenőrző vizsgálatoknál. A két kamera térbeli viszonyát (távolság, szögeltérés) megadó kalibrálás után a két kameraképből meghatározható a csokoládék esetleges hibája. A Vision Development Module új, 3D Stereo Vision algoritmusaival a két képből meghatározhatók a mélységadatok és megjeleníthető egy mélységi kép. |
Bár a kétdimenziós képen kevésbé szembetűnő, a háromdimenziós mélységi felvételen azonban már tisztán látható, hogy két szem csokoládé „nem elég gömbölyű" a magas minőségi követelmények teljesítéséhez. A 2. ábrán a hibásnak minősített darabok fehér keretben láthatók.
A sztereó képalkotás esetén fontos, hogy a diszparitás kiszámítása során az algoritmus a bal oldali képen megtalált alakzat vonalainak tulajdonságait vesse össze a jobb oldali felvétel ugyanazon vonalainak jellemzőivel. Az alakzatok azonosításához és megkülönböztetéséhez fontos a megfelelő részletgazdagság, a hatékonyság fokozásához szükség lehet textúra hozzáadására úgy, hogy a felületet rendezett mintázatú fényforrással világítjuk meg.
Összefoglalva: a sztereó képalkotás felhasználható a vizsgált tárgy felületén elhelyezkedő pontok térbeli koordinátáinak (X, Y, Z) meghatározására. Ezeket a felületi pontokat gyakran pontfelhőknek vagy pontok felhőjének nevezzük. A pontfelhők rendkívül jól használhatók tárgyak térbeli alakjának megjelenítéséhez, s egyéb 3D-elemző szoftverekben is felhasználhatók. Például, a LabVIEW Tools Network-ben már megtalálható AQSense 3D Shape Analysis Library (SAL3D) program is pontfelhőt használ a képek további feldolgozásához és megjelenítéséhez.
Hogyan működik a sztereó képalkotás?
A sztereó képalkotás működése a 3. ábra egyszerűsített térbeli képalkotó elrendezésén követhető nyomon, ahol a két kamera tökéletesen párhuzamos helyzetben rögzített és a lencsék látószöge (fókusztávolsága) is megegyezik.
A 3. ábrán látható paraméterek:
b a bázistávolság (a két kamera távolsága)
f a kamera fókusztávolsága
XA a kamera X tengelye
ZA a kamera optikai tengelye
P az X, Y és Z koordinátákkal adott valós térbeli pont
uL a P valós térbeli pont leképzése a bal oldali kamera által rögzített képre
uR a P valós térbeli pont leképzése a jobb oldali kamera által rögzített képre.
Mivel a két kamera egymástól „b" távolságban van, a P valós térbeli pont az egyes kamerák kétdimenziós felvételén eltérő koordinátákra kerül. Az uL és uR pont X koordinátája az alábbiak szerint határozható meg:
uL = f * X/Z
és
uR = f * (X—b)/Z.
E két leképzett pont távolságát nevezzük „diszparitásnak", ebből kiszámítható az ún. mélységinformáció, ami a valós térbeli P pont és a sztereó képalkotó rendszer távolsága.
diszparitás = uL-uR = f * b/z
mélység = f * b/diszparitás.
A gyakorlatban a sztereó képalkotó rendszerek felépítése összetettebb, az elrendezés általában a 4. ábrán láthatónak felel meg, ugyanakkor a megismert alapelvek ebben az esetben is érvényesek.
Valós térbeli képalkotó rendszerekben ugyanakkor nem alkalmazhatók az egyszerűsített sztereó képalkotó rendszerre bevezetett, „idealizált" feltevések.
Valamilyen mértékben még a legjobb kamerák és lencsék is torzítják a képet, aminek a kompenzálásához az általános sztereó képalkotó rendszert kalibrálni kell. E művelet során különböző szögekből felvételeket készítünk egy kalibrációs rácsról, ebből számítjuk ki a torzítást és a két kamera pontos térbeli viszonyát. Az 5. ábrán látható a Vision Development Module-hoz mellékelt kalibrációs rács.
A Vision Development Module függvényeket és LabVIEW-példákat is tartalmaz, amelyek végigvezetnek a sztereó képalkotás kalibrálási folyamatán, létrehozva a megfelelő kalibrációs mátrixokat. Ezekkel további számításokat végezhetünk a diszparitásra és a mélységinformációra vonatkozóan. A kalibrálást követően, az 1. ábrán látottakhoz hasonlóan megjeleníthetjük a megfelelő háromdimenziós képeket, valamint különféle vizsgálatokat végezhetünk a hiba/sérüléskeresés, tárgykövetés és mozgásvezérlés céljából.
A sztereó képalkotás alkalmazásai
A sztereó képalkotó rendszerek használata olyan esetekben előnyös, amikor a kamerák beállításai és elrendezése rögzített, s ebben nem várhatók jelentős változások vagy zavaró hatások. Gyakori alkalmazási területek a navigáció, ipari robotika, automatikus minőség-ellenőrzés és megfigyelés.
Összefoglalás, továbblépés
A LabVIEW Vision Development Module újdonságként megjelent sztereó képalkotási funkciói új, háromdimenziós lehetőségeket adnak a mérnökök kezébe több ipari szegmensben és alkalmazási területen. A LabVIEW nyitottságának hála összetett feladatokhoz külső gyártó térbeli képalkotó hardverét és szoftverét is használhatjuk, beleértve a SICK 3D Ranger Camerát a lézeres háromszögeléshez, illetve az AQSense 3D Shape Analysis Libraryt a háromdimenziós képfeldolgozáshoz. A LabVIEW 2012 Vision Development Module segítségével egyetlen grafikus fejlesztőkörnyezetben dolgozhatunk háromdimenziós képalkotási feladatokon.