surveyor svs robot navig´acio´ sztereo´ rekonstrukcio´ seg ... fileaz opencv-ben a...
TRANSCRIPT
Surveyor SVS robot navigacio sztereo
rekonstrukcio segıtsegevel
Meszaros Adam1, Megyesi Zoltan2
1 Kecskemeti Foiskola Gepipari es Automatizalasi Muszaki Foiskolai [email protected]
2 Kecskemeti Foiskola Gepipari es Automatizalasi Muszaki Foiskolai [email protected]
Absztrakt. Bemutatunk egy, OpenCV-ben ırt, 3D rekonstrukcion ala-pulo valos ideju robot navigacios alkalmazast, amely lehetove teszi, hogya Surveyor SVS robot sık terepen akadalyokat tudjon kikerulni. A robotsztereo kamerainak kepeit vezetek nelkuli halozaton egy szemelyi sza-mıtogepre tovabbıtottuk, ahol valos ideju sztereo rekonstrukcios mod-szert alkalmaztunk. A kapott 3D szınter elemzese utan a robot a fel-allıtott szabalyok alapjan dont, hogy melyik iranyba kerulje ki az aka-dalyokat, mikozben folyamatosan frissıti a latott szınteret. Mindehhezpontos kamera kalibraciora es megbızhato suru illesztesi algoritmus meg-valosıtasara volt szukseg. Az alkalmazott modszerek leırasa utan beren-dezett akadalypalyan vegzett kıserletek eredmenyeit mutatjuk be.
1. Bevezetes
A 3D szınter rekonstrukcio alkalmazasi teruletei kozott fontos helyet foglal ela robot navigacio. Az altalunk kituzott cel jelen esetben egy Surveyor SVSrobot (1. abra) sık terepen torteno navigalasa volt. Ezeknel a feladatoknal aklasszikus keskeny bazistavolsagu rekonstrukcio [6] alkalmazasat nehezıti, hogya robotokra szerelt kamerak sokszor gyenge optikat es alacsony felbontasu szen-zorokat hasznalnak, tovabba, hogy a robotra integralt processzorok szamıtasikapacitasa nem eleg a valos ideju suru illesztes megvalosıtasahoz. A sebessegiproblemak megoldasara egy lehetoseg a ritka 3D rekonstrukcio alkalmazasa.Ilyenkor csak jol megfeleltetheto jellemzo pontok vagy sarokpontok illeszteserekerul sor, azonban ebben az esetben kapott ritka pontfelhobol allo szınter e-lemzese (elsosorban annak eldontese, hogy van-e akadaly a robot elott, vagysem) kevesbe megbızhato. Hogy a suru illesztes szamıtasigenyeit lekuzdjuk, kulsoszamıtasi kapacitast hasznaltunk, es hatekony illesztesi algoritmust kerestunk.
Az illesztesi eredmenykent kapott suru pontfelhot elemeznunk kell, hogymegtudjuk, hol helyezkednek el akadalyok a robot utjaban. Megalkottunk egyegyszeru dontesi logikat, amely alapjan a robot kepes a pontfelho alapjan kikerul-ni az akadalyokat.
Jelen cikkben eloszor attekintjuk az alkalmazott 3D rekonstrukcios modszert,majd leırjuk a hasznalt navigacios szabalyokat. Ezek utan berendezett akadaly-palyakon vegzett kıserletek eredmenyeit mutatjuk be.
Surveyor SVS robot navigacio sztereo rekonstrukcio segıtsegevel 275
1. abra: A Surveyor SVS (stereo vision system) robot elforgatott fejjel
1.1. Eszkozok bemutatasa
Az altalunk hasznalt Surveyor SVS roboton (1. abra) megtalalhato ket darabOmnivision OV9655 1,3 megapixeles kamera, amik egymassal parhuzamosanhelyezkednek el 107,5 mm-es tavolsagra, ket darab szervomotor a fej mozgatasaraes tovabbi ket motor a gumilanctalpak hajtasara. A kameramodulok nincseneklerogzıtve, az egyik oldalon a foglalat tartja, a masik oldalon csak tavtartokvannak, amiken nem lehet allıtani. A PC-vel a kommunikacio WLAN 802.11g-ntortenik. Tovabbi informaciok az SVS-rol megtalalhatoak a gyarto honlapjan [1,2].
A kepek feldolgozasa es a robot iranyıtasa a PC-rol tortenik. Az adatokfeldolgozasahoz az ingyenes es nyılt forraskodu OpenCV 2.1-es verziojat [3, 5]hasznaltuk.
2. Sztereo rekonstrukcio
A megfeleltetes megallapıtasahoz 320 × 240-es felbontasu kepeket hasznaltunk.Ennel nagyobb felbontasnal nem teljesulnek a valosideju navigaciohoz a sebessegfeltetelek.
A suru illesztes soran az egyik kepen szereplo osszes pontnak megkeressuka parjat ugy, hogy minden egyes pontot osszehasonlıtunk a masik kep osszespontjaval, a kapott eredmenyt elmozdulas terkeppel szoktuk abrazolni. Ez 320×240-es felbontasu kepek eseten kozel 6 · 109 osszehasonlıtas. Mivel elsodleges
276 Meszaros Adam, Megyesi Zoltan
szempont a sebesseg, ezert szukseg volt arra, hogy csokkenjen a keresesi ter. Egyszintbe kell hozni a kepeket (rektifikacio), hogy az azonos kepparok egy sorbaessenek, ıgy egy pont parjat csak a vele azonos sorban levo pontok kozott kellmegtalalni, jelen esetben 320 kozul, az osszehasonlıtasok szama ıgy korulbelul24,5·106-ra csokken.Ebben a fejezetben attekintjuk a 3D rekonstrukciohoz szukseges lepeseket:
1. kamera kozeppontok, es kepsıkok helyzetenek meghatarozasa (kalibracio)2. egymasnak megfelelo pontparok keresese (illesztes)3. kamera kozeppont osszekotese a megfeleltetett vetulettel (triangulacio)
2.1. Kamera kalibracio
A 3D rekonstrukciohoz szuksegesek a kamerak belso es kulso parameterei, ezeketa kalibracio soran kapjuk meg.
Az OpenCV-ben a cvStereoCalibrate fuggveny hasznalataval tudjuk egy-szerre kalibralni mindket kamerat. A fuggvenynek ehhez objektumpontokra vanszuksege. Ezeket a pontokat egy un. kalibracios objektummal gyujthetjuk ossze,ami egy sık, fekete-feher negyzethalos sakktabla, melynek sarokpontjai jol meg-hatarozhatoak. Az objektumpontok mozgasat kovetve lehet kovetkeztetni a belsoes kulso parameterekre. Ez az eljaras Zhangtol [7, 8] es Sturmtol [9] szarmazik.
A sakktabla sarkai kepenkent a cvFindChessboardCorners fuggvennyelgyujthetoek ossze, amely Harris sarokdetektalot hasznal. A tablat 3 szabadsagfokmenten kell forgatni, hogy tudjunk 3D-ben kalibralni. A pontosabb kalibracioerdekeben szukseges minel tobb felvetelt csinalni. Fontos, hogy a keppar mindketkepen latszodnia kell a teljes sakktablanak, hogy kepparonkent azonos objek-tumpontok legyenek (lasd 2. abra). A fuggveny bemenete 8 bites szurkearnyala-
2. abra: A robot bal es jobb kamerajaval keszıtett eredeti, legjobb minosegu, 320×240-es kepek. Az OpenCV berajzolta a talalt sarkokat.
tos kep, amin szerepel a sakktabla. A robottol 3 csatornas, csatornankent 8bites szınmelysegu kep erkezik, ezt kell atalakıtani a megfelelo formatumra. A
Surveyor SVS robot navigacio sztereo rekonstrukcio segıtsegevel 277
cvCvtColor az atalakıtashoz a lumat (Y) hasznalja, ami az R, G es B sulyozottatlagakent szamolhato:
Gray : Y = 0.299 · R+ 0.587 ·G+ 0.114 · B
A Nemzetkozi Tavkozlesi Egyesulet Radiotavkozlesi Szektor (ITU-R) 601-esajanlasa is tartalmazza ezt az osszefuggest a monokrom kep megjelenıtesehez[4].
A cvFindChessboardCorners altal visszaadott sarkok csak hozzavetolegesek.Gyakorlatban ez azt jelenti, hogy csak a kamera fizikai hatarain belul talalja mega sarkot, ami egy pixel. Egy kulon fuggveny szukseges ahhoz, hogy finomıtsa asarkok pozıciojat subpixel pontossaggal. Ehhez az eredeti szurkearnyalatos kepetes a sarkok elobb megkapott hozzavetoleges elhelyezkedeset kell megadni. Azeljaras attekintesehez es ujabb technikakert lasd Lucchese [10] es Chen [11].
A tobb felvetelbol kapott objektumpontokbol cvStereoCalibrate megha-tarozza a kamerak belso parametereit kulon-kulon (kamera matrix: M, torzıtasiparameter: D) valamint a ket kamera kapcsolatat jellemzo kulso parametereket, aforgatasi matrixot (R) es az eltolas vektort (T), opcionalis esetben az esszencialis(E) es fundamentalis matrixot (F). A belso parameterek meghatarozasara afuggveny Zhang [7] eljarasan alapulo algoritmust, a torzıtasi parameterekhezpedig Brown [12] modszeren alapulo algoritmust hasznal. A kalibralas eredme-nyet lasd a 3. abran.
Ha a kamerak nem mozdıthatoak es a belso parametereik valtozatlanok,akkor a kalibralast eleg egyszer elvegezni, ıgy a kapott matrixok es vektorokkesobb is felhasznalhatoak.
3. abra: A kamera kalibracioja utan a 2. abran lathato keppar rektilinearis lett
2.2. Rektifikacio
Cel az, hogy a keppar egymasnak megfelelo sorai a rektifikalas utan egybeessenek, ıgy a sztereo megfeleltetes megbızhato es megfeleloen gyors lesz. AzOpenCV lehetosegei kozul Bouguet algoritmuson alapulo fuggvenyet hasznaltuk
278 Meszaros Adam, Megyesi Zoltan
(cvStereoRectify),mert a rotacios matrix (R) es az eltolasi vektor (T) mar ren-delkezesre all a kalibraciobol. A fuggvenytol megkapjuk a bal es a jobb kepre arektifikalt rotacios (R1, R2), vetıtesi matrixokat (P1, P2) es a projektıv matrixot(Q), amivel majd a 3D-s koordinatakat ki tudjuk szamolni. A parameterben megkell adni, hogy a kepen levo nem hasznalt reszeket ne vegye figyelembe, kulonbena kapott Q matrixszal nem lehet a valos tavolsagokat kiszamolni. A Bouguet al-goritmus az eloszor publikalo Tsai [13] es Zhang [7, 8] eljarasanak egy befejezesees egyszerusıtese.
Megvannak a kepparok, az atalakıtasahoz szukseges matrixok, most mar lekell kepezni a regi kepeket a rektifikaltra. A kepek atalakıtasara a cvRemap
szolgal, ami lekepezi a regi kep pontjait egy ujra (lasd 4. abra), ıgy megkapjuka rektifikalt kepeket. A lekepezeshez szukseges a keppel megegyezo meretu mat-rixokat a cvInitUndistortRectifyMap-bol nyerhetjuk.
4. abra: A 3. abra a rektifikacio utan, ugyanazon pontok egy sorba kerultek
2.3. Sztereo megfeleltetes, BM algoritmus
Az OpenCV implementalt egy gyors es eredmenyes mintailleszto sztereo algorit-must, a cvFindStereoCorrespondenceBM-t, ami a Kurt Konolige [14] eljarasanalapul.
Az illesztes egy ,,hibak abszolut osszege” ablakot hasznal arra, hogy meg-talalja az egyezo pontokat a bal es a jobb rektifikalt kepen:
SAD :∑
(i,j)∈W
|I1(i, j)− I2(x+ i, y + j)| (1)
Az algoritmus csak az erosen illeszkedo (erosen texturalt) pontokat talaljameg a ket kep kozott. Igy a gyengebben texturalt helyszınen, peldaul egy folyosonkevesebb parosıtast fog megtalalni.
A sztereo megfeleltetesi mintailleszto algoritmus vegrehajtasa harom lepes-ben tortenik:
Surveyor SVS robot navigacio sztereo rekonstrukcio segıtsegevel 279
1. Eloszures, normalizalja a kep fenyesseget es kiemeli a texturaltsagat.2. Egy SAD ablakkal megfelelteteseket keres az egymasnak megfelelo sorok
menten.3. Utoszures, ahol torli a rosszul megfeleltetett talalatokat.
Az elso lepesben normalizalja a kepeket ugy, hogy csokkenti a fenyessegbelikulonbsegeket es fokozza a kep texturaltsagat. Ezt ugy teszi, hogy vegigmegya kepen egy 5× 5-os, 7× 7-es (ez az alapertelmezett) vagy akar 21× 21-es (ez amaximum) ablakkal a kepen. Az ablak kozepen talalhato pontot (Ic) lecsereli a(2) kepletbol kiszamıtott ertekre, ahol a I az ablakban szereplo ertekek atlaga,az Icap pedig a megadott pozitıv szam, aminek az alapertelmezett erteke 30.
Ic = min[
max(
Ic − I ,−Icap)
, Icap]
(2)
Bal Jobb
(x0,y0) (x0,y0)
x x
y y
minDisparity
numberOfDisparities
5. abra: A BM algoritmus 2. lepese
Az 5. abran lathato, mi tortenik a masodik lepesben. Egy csuszo SAD ablaksegıtsegevel szamoljuk a megfelelteteseket. Minden egyes sajatossaghoz a balkepen megkeressuk a legjobb egyezoseget a jobb kepen ugyanabban a sorban.
A minDisparity parameterrel allıthato, hogy a jobb kepen hol kezdje el akeresest. Segıtsegevel a nem szukseges tavoli targyak kiszurhetoek. Alapertelme-zetten ez az ertek 0, ilyenkor a bal kepen szereplo (x0, y0) pontot a jobb kepenis ugyanabban a (x0, y0)-ban kezdi el keresni. Ha ez a szam negatıv, akkor ajobbra, ha pozitıv akkor balra tolodik a jobb kepen ez a pont.
A masik parameter a numberOfDisparities pedig az adja meg, hogy akereses soran maximum hany pixelt mozdulhat el a SAD ablak. A parameternekpozitıvnak es 16-tal oszthatonak kell lennie, alapertelmezett erteke 64. Kame-ra parametereitol fugg, de ha tul alacsonyra allıtjuk be ezt az erteket, akkor afuggveny a kozeli targyakat nem talalja meg.
Minel kisebb a numberOfDisparities es a minDisparity kulonbsege, annalkevesebb osszehasonlıtas szukseges, ıgy gyorsabban jutunk eredmenyhez.
280 Meszaros Adam, Megyesi Zoltan
A megfeleltetes utan a harmadik lepesben az utoszures kovetkezik. Gyakranelofordulhat, hogy egy zajos kepen a fuggveny egy eros kozponti csucsot korul-vevo reszeken talal parosıtasokat. Ezeknek a hibas paroknak kiszuresere az egyiklehetoseg az uniquenessRatio parameter. Ez egy szazalekban kifejezett ertek,ami meghatarozza a legjobb ertek (min match) es az aktualis ertek (match val)kozti maximalis kulonbseget. Ha egy ertek a (3) osszefugges alapjan a parameter-tol nagyobb szazalekban ter el a legjobb ertektol, az torlodik.
uniquenessRatio>match val−min match
min match(3)
A masodik lehetoseg a textureThreshold, ami egy hatart szab meg a SADablaknak, hogy a nagy csucsokat jelento zajos reszeket ne vegye figyelembe.
A harmadik lehetoseg pedig az ugynevezett folt (speckle) hasznalata. Min-den mintaillesztest hasznalo algoritmusnal problema lep fel, ha egy objektumhatarahoz er. Egy lokalis terulet egyik reszen kicsik a masik reszen pedig magasakaz elmozdulasi ertekek. A hatarvonal menti parok megelozesere hasznalhatjuk afolt detektalot.
A BM fuggveny vegeredmenye a bal kepre elkeszıtett suru elmozdulas terkep,az egyes pixelekhez az x-ben mert elmozdulas erteke kerul: xl − xr . Ahol nemsikerult parosıtast talalni, ott a pixel erteke minDisparity− 1 lesz.
2.4. Bal-jobb konzisztencia
Elozoekben megismerhettuk, hogyan keszul el a bal kepre az elmozdulas terkep,de a megfelelo beallıtasok ellenere is elofordul, hogy olyan parosıtasokat talal, aminem letezik az eredeti kepeken. Ezeknek a hibaknak egy kikuszobolesi lehetosegea bal-jobb konzisztencia (left-right consistency, LRC), amihez ki kell szamolni abal majd a jobb kepre is az elmozdulas terkepet.
A BM fuggveny csak bal kepre tudja megcsinalni az elmozdulas terkepet, ıgyszukseges az alapbeallıtasok megvaltoztatasa. A 6. abran lathatoak a kezzel mertelmozdulasok, amik megegyeznek a 7. abran lathato szamolt elmozdulasokkal.
A bal elmozdulas terkep szamıtasahoz a numberOfDisparities erteket 96-ravettuk, a minDisparity erteket pedig hagytuk 0-n, minden mas az alapertelme-zett maradt.
A jobbhoz a BM parametereknel felcsereltuk a jobb es a bal kepet, a number-OfDisparities ertek maradt 96, a minDisparitity erteket pedig −96-ra allı-tottuk, ıgy az eredeti ponttol a keresest 96 pixellel jobbra kezdi el. A 7. abranlathato, milyen elmozdulasokat szamolt.
A bal es jobb elmozdulas terkepek csak negatıv elojelben terhetnek el egymas-tol. Minden egyes pixelt meg kell vizsgalni, ha a (4) egyenlotlenseg teljesul, akkora talalt parosıtas jo (8. abra).
disp left(x, y) + disp right(x− disp left(x, y), y) < threshold (4)
Surveyor SVS robot navigacio sztereo rekonstrukcio segıtsegevel 281
6. abra: A kezzel megmert pixeltavolsagok ertekei. A jobb oldali kepen levo X-ek bol320-at ki kell vonni.
bal jobb
7. abra: A 6. abra alapjan a bal es jobb kepekre keszıtett elmozdulas terkepek
8. abra: A 7. abran lathato elmozdulas terkepek felhasznalasaval a bal elmozdulasterkep LRC-vel megszurt eredmenye
282 Meszaros Adam, Megyesi Zoltan
2.5. 3D rekonstrukcio
Miutan megvan a normalizalt elmozdulas terkep, 3D-s rekonstrukciora, vagymelysegterkepre van szukseg. A cvReprojectImageTo3D az elmozdulas terkepes a Q matrix segıtsegevel kiszamolja minden egyes pixelhez (x, y) az X, Y es Zkoordinatakat:
[X Y ZW ]T= Q · [x y disparity(x, y) 1]
T
3DImage(x, y) = (X/W, Y/W,Z/W )
A kapott koordinatakbol (9. abra) csak a Z-t hasznaltuk fel, mert egy akadalymegallapıtasahoz ez is elegendo.
9. abra: A 8. abran lathato parosıtott pontok elmozdulas terkepbol keszıtett 3D-srekonstrukcionak a Z ertekei mm-ben
3. Navigacio
Az elozo fejezetben ismertetett, megfeleloen parameterezett eljarasokat felhasz-nalva egy megbızhato algoritmust kellett kidolgozni, amivel a robot elkerulhetiaz utkozest.
3.1. Meresek
A cel az volt, hogy a robot egyenletes sebesseggel haladjon elore, es mikorakadalyt eszlel maga elott, akkor alljon meg, valassza ki a megfelelo iranyt,forduljon arra, ami megfelelo es haladjon tovabb.
A robot kulonbozo sebessegekkel tud haladni, de ha tul gyorsan megy, akkora fejnehez robot csak mosodott kepeket tud tovabbıtani az eros razkodas miatt,amit nem lehet felhasznalni a feladathoz. A helyes sebesseg az alapertelmezettol6 egysegnyivel lassabb volt.
Surveyor SVS robot navigacio sztereo rekonstrukcio segıtsegevel 283
Teszteket vegeztunk ahhoz, hogy megallapıtsuk, hogy a bal kepre keszıtett3D-s kepbol a Z ertekeket, amik mm-ben vannak megadva, hogyan ertelmezze.
Az elmozdulas terkepekbol megallapıthato volt, hogy a robot, a tavoli ka-merak miatt, korulbelul fel meternel tavolabb levo targyaknak a kepet tudjaparosıtani, ezert a fel meteren torteno fordulas lett a cel. A −500-nal kisebb Zertekkel rendelkezo pixeleket fogja szamolni a program.
Meg kellett tovabba allapıtani, hogy a kepen szereplo pixelek kozul melyektartoznak a robottal szemben levo terre. A mereseink szerint (lasd pl. 6. abra)az X ertekenek 130 es 210 koze kell esnie, az Y-ra nem tettunk feltetel. Tobbtereptarggyal torteno kıserlet utan, ha 3500 darab −500-nal kisebb Z ertekettalal a megadott keptartomanyban, akkor az akadalynak minosul.
Ha a numberOfDisparities erteke 96, akkor 0–102 kozotti X-en nem leszparosıtas, 128 ertek eseten pedig 0–134 pixelen.
A 8. abran eszreveheto, hogy az LRC szamolas utan a kep bal es jobb szelenszinte alig talalhato parosıtas. Ahhoz, hogy a robot megallapıtsa, balra vagyjobbra induljon el, el kell forgatnia a fejet. Balra es jobbra maximum 45◦–45◦-sszogbe tudja elfordıtani a kamerakat, ezert erre a szogre kellett megallapıtaniazokat a motorutasıtas erteket, amelyre pont ennyit tud fordulni. Ezeket azertekeket kulonbozo padloknal mindig ujra ki kell merni. A fejforgatas parancskiadasa utan egy kis szunetet kell beiktatni, mert a mozgatas is idobe telik, hatul hamar hıv le kepet a program, akkor az eredmeny ugyancsak elmosodott keplesz, amin alig talalhato parosıtas.
3.2. Algoritmus
A navigalas ugy tortenik, hogy miutan meglettek a 3D-s adatok, a programa tartomanyban megszamolja, hogy mennyi Z ertek tul kicsi. Ha ez a szammeghaladja a kuszobot, akkor elotte akadaly van, el kell fordulni.
CiklusKozeli pontok szamanak meghatarozasaHa kozeli pontok szama tul sok
AlljFejet balra, kozeli pontok szamanak meghatarozasaFejet jobbra, kozeli pontok szamanak meghatarozasaFejet egyenesbe fordıtaniHa balra megfelelobb, fordulj balraHa jobbra megfelelobb, fordulj jobbra
EgyebkentElore
Ciklus vege
4. Eredmenyek
Sikerult egy olyan programot ırnunk, amivel a robot ki tudja kerulni az ele kerultakadalyokat.
284 Meszaros Adam, Megyesi Zoltan
4.1. Elmozdulasok
A BM algoritmus segıtsegevel sikerult megfelelo szamu elmozdulast talalni, ıgylehetsegesse valt a navigacio. A kozelebb levo targyak elmozdulasa nagyobb lett,mint a tavolabb levo targyaknak (10. abra), de nem csak a tavolsaguk, hanemaz alakjuk is kiveheto (11. abra).
A hasznalt 96 erteku numberOfDisparities eseten 35 cm-re levo targyat iskepes volt eszlelni, 128 ertek eseten ez a tavolsag 25 cm-re csokkent.
10. abra: A 8. abran lathato elmozdulas terkep ,,fentrol”, az elmozdulas felol nezve.Jol kiveheto a robotra meroleges ket sık doboz oldala es koztuk levo tavolsag
Ellenorzeskent rahelyeztuk az elmozdulas terkepet az eredeti kepre, hogymennyire talalta meg pontosan a dobozokat (12. abra).
4.2. Sebessegtesztek
Mivel a robot folyamatosan halad elore, ezert szukseges, hogy az akadaly szamo-lasa real-time legyen. Sebessegteszteket vegeztunk egy szalon, majd tobb szalonfuto programmal, hogy a robot milyen sebesseggel dolgozza fel a kepparokat.A fekete kepnel a robot csak feketeseget latott, ıgy a kuldott kep a lehetolegkisebb volt, statikusnal egy targyra iranyultak a kamerak. Az 1. tablazatbana masodpercenkent feldolgozott kepparok szama szerepel.
4.3. Z ertekek
A 2. tablazatban lathato a szamıtott, a valodi tavolsagok es a kozottuk levoelteres.
Surveyor SVS robot navigacio sztereo rekonstrukcio segıtsegevel 285
1. tablazat: Az akadalyszamolas sebessegtesztje keppar/masodpercben. A tovabbıtottkep: 320 × 240, legjobb minoseg.
1,6 GHz-es, egy magos CPU
Egy szal Tobb szal
Fekete kep Elo kep Fekete kep Elo kep
Csak kep kuldes 11 FPS 3,9–4 FPS 11 FPS 3,9–4 FPS
Navigacio 6,2–6,3 FPS 2,9–3 FPS 9,9–10 FPS 3,8–3,9 FPS
3,1 GHz-es, ket magos CPU
Egy szal Tobb szal
Fekete kep Elo kep Fekete kep Elo kep
Csak kep kuldes 10–10,2 FPS 3,8 FPS 10–10,2 FPS 3,8 FPS
Navigacio 6,8–6,9 FPS 3,2–3,3 FPS 10–10,2 FPS 3,7–3,8 FPS
2. tablazat: Amert es a tenyleges tavolsagertekek, a Z tengely ellenkezo iranyba mutat,ezert negatıvat az ertekek. A 13. meresnel a numberOfDisparities erteke 128 volt, atobbinel 96. 2 meter utan jelentosen no az elteres a mert es a valos tavolsagok kozott.
Meres Tavolsag (mm) Z erteke (mm) Elteres (mm)
1. 1590 −1670 80
2. 1400 −1480 80
3. 1290 −1335 45
4. 1210 −1250 40
5. 1100 −1140 40
6. 1020 −1070 50
7. 910 −940 30
8. 830 −860 30
9. 720 −745 25
10. 640 −664 24
11. 530 −543 13
12. 450 −470 20
13. 250 −275 25
286 Meszaros Adam, Megyesi Zoltan
bal kep
LRC-vel tisztıtott bal elmozdulas terkep
11. abra: A bal oldalon lathato kepre keszıtett elmozdulas terkepen jol kiveheto ameroleges sarok
bal jobb LRC-s bal
12. abra: A megtalalt elmozdulasok rahelyezve a 6. abran lathato kepekre
4.4. Palyabejaras
A program tudasat ket akadalypalyan probaltuk ki. Az egyik esetben egy felkoralaku (14. abra) palyat kellett kovetnie, a masik esetben pedig egy L alakucsatornan kellett vegighaladnia utkozes nelkul. Mindket palyat teljesıtette, akihelyezett akadalyokat fel meteren belul eszlelte. A tesztek soran kiderult, hogya robotnak a hagyomanyos lampak fenye sotetedes utan nem mindig elegendo.A homogen feluletu targyakat rendszerint nem latta meg, a palyat jol texturaltelemekbol epıtettuk fel, pl. konyvekbol, mintas dobozokbol.
5. Konkluzio es tovabbi lepesek
Bemutattunk egy sztereo rekonstrukcion alapulo robot navigacios alkalmazast,amely jol hozzaferheto elemekre epul, de szamos modosıtast tartalmaz. A meg-bızhatosag erdekeben alkalmaztuk a bal-jobb konzisztencia megszorıtast, es a
Surveyor SVS robot navigacio sztereo rekonstrukcio segıtsegevel 287
13. abra: A 9. abrat rahelyezve az eredeti kepre, a nem parosıtott ertekek nemlatszanak
Foto a palyarol
Start
Stop
A palyan bejart ut
14. abra: Az O alaku palya bejarasa
parhuzamos implementacio segıtsegevel valos ideju feldolgozast ertunk el. Meg-mutattuk, hogy a robot kepes a megfeleloen texturalt targyak hatarat felismernies elnavigalni A pontbol B pontba. Az elmozdulasok es a 3D-s adatok nem voltakteljesen pontosak, de a biztos navigalashoz ez is megfelelo volt.
Tovabbi lepesek lehetnek az erosen texturalt padlok kiszurese, hogy mineltobb helyen kepes legyen navigalni. Szeretnenk, ha fel tudna majd ismerni,hogy milyen akadalyon tud meg athaladni. Tervezzuk meg, hogy mozgas kozbenletaroljuk a 3D-s adatokat es a hozzajuk tartozo tavolsagokat, majd ezekbolrekonstrualjuk es megjelenıtjuk a bejart palyat. Masik celunk az, hogy kihasznal-juk a robot mozgekonysagat arra, hogy egy helyben, minden lehetseges iranybolfelvett kepbol rekonstrualjuk a szınteret.
288 Meszaros Adam, Megyesi Zoltan
Foto a palyarol
1 23
4
5
6
7
8
A palyan bejart ut
15. abra: Az L alaku palya bejarasa. Eloszor 1-es es 2-es iranyba nez szet, majd a 2-esirany fele fordul. Ez is tul kozel van, 3-as es 4-es iranyba nez szet, majd 4-es iranybafordul. Tovabbhalad, itt a falat tavolabbrol eszreveszi, ıgy 5-os iranyba is halad egykicsit, mielott ujra erzekelne a falat.
Koszonetnyilvanıtas
A cikk vegen szeretnenk megkoszonni Dr. Kovacs Tamas es Pasztor Attila ok-tatoknak, hogy a Surveyor SVS robototot a munka idejere a rendelkezesunkrebocsajtottak.
Irodalom
1. http://www.surveyor.com/stereo/stereo info.html
2. http://www.surveyor.com/blackfin/OV9655-datasheet.pdf
3. http://opencv.willowgarage.com/
4. http://inst.eecs.berkeley.edu/~cs150/Documents/ITU601.PDF
5. Gary Bradski and Adrian Kaehler: Learning OpenCV: Computer Vision with the
OpenCV Library. O’Reilly Media, Inc., 1st edition, October 2008.
6. Milan Sonka, Vaclav Hlavac, and Roger Boyle: Image Processing, Analysis, and
Machine Vision. Cengage-Engineering, March 2007.
7. Z. Zhang: A flexible new technique for camera calibration. IEEE Transactions onPattern Analysis and Machine Intelligence 22 (2000): 1330–1334
8. Z. Zhang: Flexible camera calibration by viewing a plane from unknown orienta-
tions. Proceedings of the 7th International Conference on Computer Vision (pp.666–673), Corfu, September 1999.
9. P. F. Sturm and S. J. Maybank: On plane-based camera calibration: A general
algorithm, singularities, applications. IEEE Conference on Computer Vision andPattern Recognition, 1999.
10. L. Lucchese and S. K. Mitra: Using saddle points for subpixel feature detection
in camera calibration targets. Proceedings of the 2002 Asia Pacific Conference onCircuits and Systems (pp. 191–195), December 2002.
11. D. Chen and G. Zhang: A new sub-pixel detector for x-corners in camera calibration
targets. WSCG Short Papers (2005): 97–100.
Surveyor SVS robot navigacio sztereo rekonstrukcio segıtsegevel 289
12. D. C. Brown: Close-range camera calibration. Photogrammetric Engineering 37(1971): 855–866.
13. R. Y. Tsai: A versatile camera calibration technique for high accuracy 3D ma-
chine vision metrology using off-the-shelf TV cameras and lenses. IEEE Journal ofRobotics and Automation 3 (1987): 323–344.
14. K. Konolige: Small vision system: Hardware and implementation. Proceedings ofthe International Symposium on Robotics Research (pp. 111–116), Hayama, Japan,1997.