Kiszámítása a távolság a megfigyelt objektumot a képek egy sztereó pár, folyóiratban
Bibliográfiai leírása:
Ez a könyv bemutatja egy algoritmus kiszámításához a távolság a megfigyelt tárgy a képeket egy sztereó pár.
A jelentősége ennek a munkának abban a tényben rejlik, hogy a távolság meghatározásával, hogy az objektumot a kép két kamera - egyik legfontosabb feladata a számítógépes képfeldolgozó rendszerek. A világ laboratóriumaiban végzett kutatás stereovision gyakorlati alkalmazás információkat a világról.
Az egyik alkalmazási sztereó látás - navigációs mobil robotok. Például a National Aeronautics and Space Administration (NASA) kifejlesztett egy robot (rover Mars Exploration Rover) tanulmányozza a Mars felszínén. Sztereó látórendszer robot képes meghatározni a távolságot az akadályokat és sikeresen megkerülni.
- két USB-kamera;
- sakktáblaszerűen mérete 594 x 841 mm;
- laptop MacOS operációs rendszer, Python 2.7;
- mérőszalag.
Az előkészítő munka kialakulása előtt az algoritmust.
- Termelés sakktáblaszerűen mérete 594 x 841 mm-es szabvány alapján sablontár nyílt OpenCV. Ezt a sablont 6 egység és 9. függőleges egység vízszintesen.
- Létrehozása az állvány a két USB-kamera egy szilárd, sík felületre elhelyezett rögzített távolságra egymástól.
Ábra. 1. Egy algoritmust távolság kiszámításánál az objektum
Az 1. ábra egy algoritmus számára kiszámítjuk a távolságot, hogy egy megfigyelt tárgy. Itt van egy részletes magyarázatot az egyes lépéseket.
1. lépés: Az első lépés összegyűjtjük képek, amelyek ábrázolják sakktáblaszerűen különböző pozíciókban, a bal és jobb sztereó pár a kamerák. A helyes működés az algoritmus végrehajtása megköveteli, hogy a minta a sakktábla teljesen beleesni hatálya sztereó pár a kamerák és a birtokában, amennyire csak lehetséges, a keret nagysága.
2. lépés: A második lépésben megkeresi oldalakat ostáblamintázat kapott képek 1. lépésben Keresés sablonwebhelyei végzi a könyvtár OpenCV találni Sakktábla Corners () függvényt. Koordináták sablon csomópontok tárolják későbbi felhasználásra.
3. lépés: A harmadik lépésben, kalibrációs az egyes sztereó párok külön-külön. Kalibrálása sztereopárok kamerák segítségével végezzük a könyvtár OpenCV kalibrálja Camera () függvényt.
4. lépés: A negyedik lépésben kalibráljuk keresztül sztereó pár. Nyert adatok a harmadik lépésben van betáplálva könyvtár funkciója OpenCV sztereó Kalibrálás (), amely rendelkezik a belső paramétereit a stereopair. A beavatkozás után, akkor kap egy sztereó kalibrációs gyújtótávolság a kamera pixel és koordinálja a fő pontjai a kamerákat.
5. lépés végezzük a torzulás kiküszöbölésére a kapott képek az első lépésben az ötödik lépésben. Torzulása kiküszöbölését alkalmazásával előállított OpenCV init Undistort Szüntesse térkép () és újra felvenni () könyvtári függvény. Miután befejezte ezt a lépést, mind az egyenes vonalak a megfigyelt objektumok a világ egyenes vonalak a képen.
6. lépés A hatodik lépésben helyesbítését kapott képek az 5. lépésben helyreigazítás áll kiegyenlítésében a deformált képeket készített az 5. lépésben úgy, hogy a epipoláris vonalak a baloldali kép egybeesik a kamera képét epipoláris vonalak a jobb kamera. Ez az eljárás funkciója van a könyvtár OpenCV sztereó helyesbíti ().
7. lépés A hetedik lépésben, minden egyes pár megfelelő képek a bal és jobb kamerák gyártott építési egyenlőtlenséget térképen (vagy mélységi térképek (mélység térkép)) a kapott kép a hatodik lépésben. Minden pixel különbség információt hordoz a pixelek számát mutatja OX tengely között helyezkedik el a megfelelő pixel a tárgy képet a bal és a jobb kamera. Épület egy különbség térkép alapján SGBM algoritmus segítségével a könyvtár funkciója OpenCV Stereo SGBM.
8. lépés: A nyolcadik lépésben a távolság számítás, hogy a megfigyelt objektum. Kiszámítása a távolság a tárgy közvetlenül kapcsolódik az információt, hogy hordozza a különbség térkép alapján a hetedik lépést.
Adunk egy képlet, hogy megtalálják a távolság egy megfigyelt tárgy.
- a távolság a kamerák stereopair (bázis távolság, bázis hosszúságú)
- a gyújtótávolság a kamera stereopair
- egyenlőtlenség térkép
Find. távolság a megfigyelt tárgy
- távolság a kamrák között a stereopair (méter)
- a gyújtótávolság a kamera stereopair (pixel)
- a koordináta mentén OX tengely kifogást P pont a kép a bal kamera
- a koordináta mentén OX tengely célja a P pont a képre a jobb kamera
Ábra. 2. Magyarázó ábra
- különbség pont x0 p objektum (pixel)
- távolság a megfigyelt tárgy (méterben)
Nézzük a 2. ábrán látható, hasonló háromszögek. Hasonló háromszögek az összefüggést:
Ebből az következik, hogy viszonylatban
Ahhoz, hogy egy általános képletű kiszámításához a távolság, hogy egy megfigyelt tárgy.
Elemzése után ez a képlet, levonhatjuk az alábbi következtetéseket:
- A távolság a tárgypont fordítottan arányos a különbség a pont. Ez azt jelzi, hogy a pontok távolabb eső sík a sztereopárok kevesebb különbség, mint egy pont közelebb van a sztereó pár gépet.
- Egyenlőtlenség értéke egyenesen arányos a távolság a kamrák közötti. Minél nagyobb a távolság a kamrák közötti, a nagyobb különbség.
- egyenlőtlenség térkép felbontása lineárisan függ a kép felbontását. Minél nagyobb a felbontás, annál pontosabb különbség térkép kapunk.
Ebben a részben a következő lépéseket megyünk át az algoritmust, és mérlegeli leletek kapott minden egyes lépésénél a fenti algoritmusnak. Szintén kapcsolatot építeni disparatnoctey hiba távolság meghatározásához a megfigyelt objektum.
Itt képi ábrázolása az eredménye az algoritmus és a kivitelezést függőség disparatnoctey érzékelési hiba a távolság megfigyelt objektum.
Tényleges távolság a síkja stereopair a megfigyelt objektumok
Meghatározásával a különbség hibát értünk abszolút különbség értékek különbség megfelel a számított távolság (alapján a bázis távolságra, gyújtótávolság és egyenlőtlenség értékek) és a különbség értéket, amely megfelel a tényleges távolság.
Ábra. 3. A kép jobb kamera (frame a kamera összeszerelési fázis képpel sakktábla)
Ábra. 4. A kép bal oldali kamera (frame a kamera összeszerelési fázis képpel sakktábla)
Ábra. 5. A kép bal oldali kamera a megtalált mintát (step sakktáblaszerűen keresés csomópontok a képek)
Ábra. 6. Otrektifitsirovannoe kép a jobb kamera korrigált torzítás (színpadi helyesbítését és eltávolítását torzítás)
Ábra. 7. Otrektifitsirovannoe kép a bal kamera korrigált torzítás (blokk torzítás megszüntetése helyesbítését)
Ábra. 8. A kép a jelenet a megfigyelt tárgy (asztal, könyv és három tábla található, olyan távolságra egymástól)
Ábra. 9. különbség térkép a képeket a jobb és a bal kamerák (asztal, három könyv és ellátást, található a parttól egymástól)
Ábra. 10. A függőség különbség érzékelési hiba a távolság megfigyelt objektum
Az ábra azt mutatja, hogy a legnagyobb értéket a hiba meghatározó különbség a távolság a megfigyelt tárgy 2,30-4,15 méter mindössze 1,2, ami jó minőségű különbség térképeket.
Ebben a munkában az volt a célja távolság számítás algoritmusa a megfigyelt objektumot a kép egy sztereó pár. Számítások különbség érzékelési hiba távolságtól függően, hogy egy megfigyelt objektum.
Alapvető kifejezések (automatikusan generált). sakktábla távolság számítás, a könyvtár funkciója OpenCV, sablon sakktáblaszerűen sakktáblaszerűen csomópontok bal kamera, különbség térkép, az első lépés, a hatodik lépés, a távolság kiszámítása algoritmust, a harmadik lépés, a hiba megállapítása, segítséget könyvtár funkciója sakktáblaszerűen egységek A számítás a távolság, kamerák stereopair jobb kamerák stereopair síkban, a második lépésben.