MOBOT Project. II. Irodalomkutatás. (részlet) 2008. november 30. Marton Attila Urbán András Tandari János



Hasonló dokumentumok
Sergyán Szabolcs szeptember 21.

8. Pontmegfeleltetések

7. Régió alapú szegmentálás

Képfeldolgozás jól párhuzamosítható

3D számítógépes geometria és alakzatrekonstrukció

6. Éldetektálás. Kató Zoltán. Képfeldolgozás és Számítógépes Grafika tanszék SZTE (

3D számítógépes geometria és alakzatrekonstrukció

3. Szűrés képtérben. Kató Zoltán. Képfeldolgozás és Számítógépes Grafika tanszék SZTE (

Képfeldolgozás Szegmentálás Osztályozás Képfelismerés Térbeli rekonstrukció

Képfeldolgozás jól párhuzamosítható

3D - geometriai modellezés, alakzatrekonstrukció, nyomtatás

Infobionika ROBOTIKA. X. Előadás. Robot manipulátorok II. Direkt és inverz kinematika. Készült a HEFOP P /1.0 projekt keretében

Éldetektálás, szegmentálás (folytatás) Orvosi képdiagnosztika 11_2 ea

1. ábra Egy terület DTM-je (balra) és ugyanazon terület DSM-je (jobbra)

Loványi István vizsgakérdései kidolgozva (béta)

Minták automatikus osztályba sorolása a mintát leíró jellemzők alapján. Típusok: felügyelt és felügyelet nélküli tanuló eljárások

Közösség detektálás gráfokban

A médiatechnológia alapjai

Matematikai alapok és valószínőségszámítás. Középértékek és szóródási mutatók

NGB_IN040_1 SZIMULÁCIÓS TECHNIKÁK dr. Pozna Claudio Radu, Horváth Ernő

Tárgy. Forgóasztal. Lézer. Kamera 3D REKONSTRUKCIÓ LÉZERES LETAPOGATÁSSAL

Transzformációk. Szécsi László

Transzformációk. Grafikus játékok fejlesztése Szécsi László t05-transform

PONTFELHŐ REGISZTRÁCIÓ

4. Lokalizáció Magyar Attila

Robotika. Kinematika. Magyar Attila

3D-s számítógépes geometria és alakzatrekonstrukció

Navigáci. stervezés. Algoritmusok és alkalmazásaik. Osváth Róbert Sorbán Sámuel

A brachistochron probléma megoldása

x = cos αx sin αy y = sin αx + cos αy 2. Mi a X/Y/Z tengely körüli forgatás transzformációs mátrixa 3D-ben?

Számítógépes Grafika mintafeladatok

Láthatósági kérdések

Párhuzamos programozási feladatok

Bevezetés. Kató Zoltán. Képfeldolgozás és Számítógépes Grafika tanszék SZTE (

15. LINEÁRIS EGYENLETRENDSZEREK

Robotika. Relatív helymeghatározás Odometria

Pontműveletek. Sergyán Szabolcs Óbudai Egyetem Neumann János Informatikai Kar február 20.

Információ megjelenítés Számítógépes ábrázolás. Dr. Iványi Péter

Képfeldolgozás. 1. el adás. A képfeldolgozás m veletei. Mechatronikai mérnök szak BME, 2008

Számítógépes képelemzés 7. előadás. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

BAGME11NNF Munkavédelmi mérnökasszisztens Galla Jánosné, 2011.

3. Sztereó kamera. Kató Zoltán. Képfeldolgozás és Számítógépes Grafika tanszék SZTE (

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Keresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Adaptív dinamikus szegmentálás idősorok indexeléséhez

Matematikai geodéziai számítások 6.

Algoritmusok bonyolultsága

I. LABOR -Mesterséges neuron

Adatszerkezetek 2. Dr. Iványi Péter

Él: a képfüggvény hirtelen változása. Típusai. Felvételeken zajos formában jelennek meg. Lépcsős

Matematikai geodéziai számítások 6.

Információ megjelenítés Diagram tervezés

Regresszió számítás. Tartalomjegyzék: GeoEasy V2.05+ Geodéziai Kommunikációs Program

Képszegmentáló eljárások. Orvosi képdiagnosztika 2018 ősz

A maximum likelihood becslésről

Konjugált gradiens módszer

Példák jellemzőkre: - minden pixelérték egy jellemző pl. neurális hálózat esetében csak kis képekre, nem invariáns sem a megvilágításra, sem a geom.

Rendszámfelismerő rendszerek

Adatszerkezetek. Nevezetes algoritmusok (Keresések, rendezések)

Andó Mátyás Felületi érdesség matyi.misi.eu. Felületi érdesség. 1. ábra. Felületi érdességi jelek

Tömbök kezelése. Példa: Vonalkód ellenőrzőjegyének kiszámítása

Függvény határérték összefoglalás

22. GRÁFOK ÁBRÁZOLÁSA

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI EMELT SZINT Paraméter

Segédlet: Főfeszültségek meghatározása Mohr-féle feszültségi körök alkalmazásával

Numerikus integrálás

A mérési eredmény megadása

Szomszédság alapú ajánló rendszerek

Az objektum leírására szolgálnak. Mire jók? Sokszor maga a jellemző az érdekes: Tömörítés. Objektumok csoportosítására

MOBIL TÉRKÉPEZŐ RENDSZER PROJEKT TAPASZTALATOK

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Miskolci Egyetem Gazdaságtudományi Kar Üzleti Információgazdálkodási és Módszertani Intézet

Számítógép és programozás 2

Amortizációs költségelemzés

ACM Snake. Orvosi képdiagnosztika 11. előadás első fele

Robotok inverz geometriája

Képfeldolgozás. 1. el adás. A képfeldolgozás alapfogalmai. Mechatronikai mérnök szak BME, 2008

Kettőnél több csoport vizsgálata. Makara B. Gábor

Az informatika kulcsfogalmai

Algoritmusok és adatszerkezetek 2.

Populációbecslések és monitoring

CSAPADÉK BEFOGADÓKÉPESSÉGÉNEK TÉRKÉPEZÉSE TÁVÉRZÉKELÉSI MÓDSZEREKKEL VÁROSI KÖRNYEZETBEN

Adatelemzés és adatbányászat MSc

Grafikonok automatikus elemzése

Az igénybevételi ábrák témakörhöz az alábbi előjelszabályokat használjuk valamennyi feladat esetén.

Hipotézis vizsgálatok

STATISZTIKA. A maradék független a kezelés és blokk hatástól. Maradékok leíró statisztikája. 4. A modell érvényességének ellenőrzése

Gépi tanulás a gyakorlatban. Bevezetés

Összeállította Horváth László egyetemi tanár

MOBOT (Map-maker robot)

Diszkrét matematika II., 5. előadás. Lineáris egyenletrendszerek

Least Squares becslés

Virtuális Egér. Horváth Zsolt, Schnádenberger Gábor, Varjas Viktor március 20.

Terület- és térségmarketing. /Elméleti jegyzet/

6. MECHANIKA-STATIKA GYAKORLAT Kidolgozta: Triesz Péter egy. ts. Négy erő egyensúlya, Culmann-szerkesztés, Ritter-számítás

DIGITÁLIS TEREPMODELL A TÁJRENDEZÉSBEN

Ujjszámlálás Matlab segítségével

SZAKÁLL SÁNDOR, ÁsVÁNY- És kőzettan ALAPJAI

Matematikai geodéziai számítások 5.

Átírás:

Budapesti Műszaki Főiskola Neumann János Informatikai Kar Mérnök informatikus szak Informatikai Automatizált Rendszerek MOBOT Project II. Irodalomkutatás 2008. november 30. (részlet) Marton Attila Urbán András Tandari János

2 Tartalomjegyzék 1. Bevezető... 3 2. Képszegmentálás... 3 2.1 Csoportosító metódusok... 4 2.2 Hisztogram alapú metódusok... 4 2.3 Éldetektálás alapú metódusok... 5 2.4 Növekvő régiók módszere... 5 2.5 Rekurzívan kapcsolódó komponensek módszere... 5 2.6 Sorosan kapcsolódó komponensek módszere... 6 3. Stereo Vision... 7 3.1 Jel alapú sztereo módszer... 8 3.2 MarrPoggio algoritmusa... 8 3.3 Korreláció alapú sztereo metódusok... 10 3.4 Barnard sztereo algoritmusa... 11 4. Térképezés... 12 4.1 Objektum helyzetének meghatározások... 12 4.2 Térkép felépítés... 12 4.3 Térkép alkalmazása... 12 4.4 Új objektum... 12 4.5 Objektum-azonosítás... 13 Irodalomjegyzék... 14 Ábrajegyzék... 15 Képletjegyzék... 15

3 1. Bevezető Projektünk célja egy olyan robot elkészítése, mely bejárva egy területet, térképet készít arról, az akadályokat számon tartja egy felülnézeti térkép formájában. A robot rendelkezni fog 360 fokban körbelátó kamerával, mely mind a térképezés, mind a navigáció eszközéül szolgál. A robot elkészítéséhez szükséges technikák, módszerek szisztematikus megismeréséhez folyóiratokban és az interneten található szakirodalmakban kutattunk a korábban már megvalósított technikák megismeréséhez. A rendszer elkészítéséhez elsősorban a következő problémánkra kell megoldásokat keresnünk: Objektumok azonosítása, 3D-s adatainak számítása Térkép ábrázolási technikák (akadályok nyilvántartása) Útkeresés ismert és ismeretlen terepen, térképinformációk és a szenzorok információi alapján A robot vezérlése, elmozdulásainak pontos becslése A következőkben mostani irodalomkutatásunk alkalmával talált általunk felhasználhatónak ítélt módszereket ismertetjük. 2. Képszegmentálás A képszegmentálás során egy digitális képet bontunk részekre. Célja alapvetően egyszerűsíteni vagy megváltoztatni a rajta szereplő tartalom reprezentációját, valamilyen könnyebben érthető, könnyebben analizálható formába [1]. A képszegmentálást tipikusan az objektumok illetve azok határainak keresésére használják. A képszegmentálás eredménye egy régióhalmaz, melyek együttesen lefedik a kép egészét, illetve egy kontúrhalmazt (utóbbihoz szükséges előzetesen a képet egy éldetektáló szűrőn átereszteni). Az egy régión belüli pixeleknek rendelkezniük kell valamilyen karakterisztikus vagy számított hasonlósággal, például szín, intenzitás, textúra, és a szomszédos területeknek lényegesen eltérőnek kell lennie e tulajdonságát tekintve. A hasonlóság megállapításához több feltételt megszabhatunk, a leggyakoribbak a következők [2]: A régió minden pixele ugyanolyan intenzitású. Adott régióban a pixelek intenzitása nem különbözik egymástól, mint egy megadott küszöb. Adott régióban egyik pixel intenzitása sem tér el a régió átlagintenzitásától egy adott küszöbbel. Mindegyik régióban az intenzitásértékek szórása kicsi. Sikeresnek nevezzük a szegmentálást, ha: 1. A régiók homogének és egyenletesek. 2. A régiók belsejében nincsenek lyukak. 3. A szomszédos régiók szignifikánsan eltérnek. 4. A szegmensek közti határ egyszerű és pontos.

4 Az alábbiakban pár szegmentáló módszert tekintünk át. 2.1 Csoportosító metódusok: A K-means algoritmus egy iteratív technika a kép különálló képrészekre való bontására. Az algoritmus főbb lépései a következőek: 1. Válasszunk ki a képen K pontot (ezek a K db régió középpontjai lesznek kezdetben). A választás lehet véletlenszerű vagy heurisztikus. 2. Ezek után vegyük az egyik ilyen pontot, és nézzük végig az összes többi pixelt. Amelyik pixel eltérése kisebb, mint egy adott érték, azt a pixelt vegyük hozzá a csoporthoz. 3. Ezt követően számítsuk ki újra a csoport közepét, a csoport átlagértéke alapján. 4. A 2. és 3. lépést addig ismételjük, amíg változik valamely csoport. Ebben az esetben az eltérés a pixel és a csoportcenter négyzetes vagy az abszolút eltérése lehet. Az, hogy milyen tulajdonság eltérését vizsgáljuk, többféle is lehet, szín, intenzitás, textúra, hely vagy ezek egy súlyozott kombinációja. A K értéket választhatjuk manuálisan, véletlenszerűen, vagy heurisztikusan. Az algoritmus garantálja a konvergenciát, de az optimális eredményt nem, ez függ a követelményektől és az elején megválasztott K értékétől. Egy másik módszer a kép K részre szegmentálása a statisztikai hierarchikus összehalmozó csoportosítás a színintenzitás hasonlósága alapján. Ez a módszer egy bináris maszkot használ, és a színek komponenseit besorolja a csoport központ komponenseihez [3]. Az algoritmus főbb lépései a következők: Minden pixel különálló csoport; Az azonos maszkú csoportok egy új csoportot alkotnak. Az új csoportok a minimum távolság alapján szerveződnek. Ez a fázis addig áll fenn, amíg csoport feltételek összehasonlíthatóak. Ez a feltétel a korreláció bináris maszkján alapul. 2.2 Hisztogram alapú metódusok Más képszegmentálási technikákhoz hasonlítva igen eredményes, mert csupán egyszer kell hozzá átfutni a pixeleken. Ez annak köszönhető, hogy az összes pixel alapján készült hisztogramot, illetve hegyei és völgyei adják a csoport határait. (ennek a lényege azonos a binarizálásnál tanultakkal) [1]. Ily módon a színintenzitást, mint egy skálát lehet használni. Egy finomítása ennek a technikának, ha az első ilyen csoportokra osztás után a csoportokra külön alkalmazzuk ezt a metódust, majd az így kapott új csoportokra is, stb. (rekurzívan), egészen addig, amíg elkülöníthetőek még új csoportok [4]. Egy hátránya a hisztogram alapú szegmentálásnak viszont az, hogy bonyolult a hisztogramban megtalálni a szignifikáns. hegyeket ill. völgyeket. A képosztályozás ezen technikájában a távolságmérés és az integrált területek számítása gyakori

5 2.3 Éldetektálás alapú metódusok Az éldetektálás egy jól kifejlesztett terep a képfeldolgozáson belül. A régió határok és az élek szorosan összefüggenek, így az ilyen típusú képszegmentálások alapját képezik. Azonban az éldetektáló algoritmusok általában szakadozott éleket találnak meg, a képszegmentáláshoz azonban összefüggő objektumhatárok kellenek, zárt görbék, vonalak. A szakadások, áthidalhatóak, ha az élek két végének távolsága nem halad meg egy előre meghatározott küszöböt. A fő probléma a valójában létező, ám nem detektált illetve a detektált, ám de valójában nem létező élekkel van (utóbbit okozhatja pl. zaj, képhiba). Ezekre alkalmazhatunk úgynevezett élkorrekciós módszereket. Élkorrekciós módszer például az élrelaxáció. Ekkor megvizsgáljuk az összes élt, és ha az adott élnek nincs folytatása az adott környezetben, akkor valószínűleg nem határ, illetve ha egy gyenge él kettő erős között van, akkor határvonalhoz tartozik. Másik élkorrekciós módszer az él-kapcsolás, amikor akkor kapcsolunk össze éleket, ha hasonló a gradiensük nagysága vagy az iránya. 2.4 Növekvő régiók módszere Az egyik ilyen módszer a Seeded Region Growing Method. A magok fogják jelölni a szegmentálandó objektumokat. A területek a szabad határoló pixelek összehasonlításával iteratívan nőnek. A különbség mértékeként a pixel a területek intenzitásátlagától való eltérése használható. A környező pixelek közül a legkisebb eltérésű pixelt vesszük hozzá a területhez. Ezt addig folytatjuk, amíg minden pixelt hozzárendeltünk egy régióhoz. A módszer eredményessége függ a magok megválasztásától. A képen fellelhető zaj a magok rossz elhelyezését okozhatják. A magnélküli növekvő régiók módszere egy módosított változata ennek a módszernek, mely nem igényel határozott magokat. Ez egy szimpla régióval indul (A1), a megválasztott pont nem fogja lényegesen befolyásolni a szegmentálás eredményét. Minden iteráció esetén a környező pixeleket vesszük figyelembe, a területünk ugyanazon az elven nő, mint a magos esetben. A magos módszertől ez annyiban különbözik, hogy, ha az eltérés kisebb, mint az előredefiniált T, akkor a megfelelő régióhoz adjuk hozzá (Aj), ha pedig nem, és különbözik minden más régiótól, akkor egy új régiót hozunk létre. Egyik Haralick és Shapiro által tervezett változata ennek a technikának a pixelintenzitásokon alapulnak [1]. A régió középértéke, a szórása és a jelölt pixel intenzitásából számolták ki a teszt statisztikát. Ha ez kicsi, akkor a pixelt hozzáadjuk a régióhoz, és a régió középértékét, szórását újraszámoljuk. Ellenkező esetben a pixel egy új régiót képez. 2.5 Rekurzívan kapcsolódó komponensek módszere [5] Adott egy bináris képünk, ezt fogjuk feldolgozni balról jobbra, fentről lefele. Ha még nem címkézett 1 értéket tartalmazó mezőhöz értünk, rendeljünk hozzá egy új címkét, majd rekurzívan vizsgáljuk meg a szomszédjait, az előzőekhez hasonló módon, ha értékük 1 és címkézetlenek, akkor rendeljük hozzájuk ugyanazt a címkét. Az eljárásnak akkor van vége, ha mindegyik 1 értékű pixel címkézett.

6 2.6 Sorosan kapcsolódó komponensek módszere [6] Ebben az esetben szintén egy bináris kép adott, amelyet balról jobbra, fentről lefele dolgozunk fel, ha nem címkézett 1 -eshez jutunk, akkor ahhoz új címkét rendelünk a következő szabályok szerint: 0 0 0 0 L L L L 01 -> 0L L1 -> LL 01 -> 0L M1 -> ML [2] Ezek után meg kell határozni, hogy mely címkék ekvivalensek (melyek tartoznak ugyanahhoz a területhez), majd a hasonló címkéket a helyettesítjük ugyanazzal a címkével.

7 3. Stereo Vision [7] Világunk háromdimenziós, de a róla alkotott képek kétdimenziósak, így a leképezés folyamán egy dimenziót elvesztünk. Ennek a harmadik dimenziónak a visszaállítása a gépi látás egyik fontos feladata. Több tanács is van, amelyet a 3D információk visszaállításánál gyakran be szoktak tartani, például a sztereo, árnyékolás, textúra, mozgás. A helyreállított 3D alakzat több módon is leírható: Z a tárgyon lévő egy pont távolsága. A felszín normális (n x, n y, n z ), a vektor orientációja merőleges az objektum tangens síkjára. A felszín gradiens (p,q) ~= ( ϑz ffffffff ϑz, ffffffff ) a mélységváltozás mértéke az x és y irányban. ϑx ϑy A felszín ferdülése és dőlése: (n x, n y, n z ) ~= ( ρsinσ cosτ, ρsinσ sinτ, ρcosσ ). Az egyszerű sztereo látás geometriája [1. ábra] igen egyszerű, két kamera néz egy irányba (x 1, x 2 ), az általuk alkotott kép koordinátája is ez lesz, adott a két kamera lencseközéppontja (c 1, c 2 ), valamint f, a fókusztávolság illetve Z a test mélység irányában mért távolsága a kamerák síkjától. 1. ábra Sztereo látás heometriája [F1] Triviális, hogy WX 1 X 2 és WC 1 C 2 háromszögek egybevágóak, innen kapjuk: Z fffffffffffffffff + f X1 = ffffffffffffffffffffffffffffffffffffffff + X2 + B, vagy Z = f B fffffffffffffffffffffffffff B, ahol x1 +x Z B 2 a diszparitás, valamint egy adott X1 + X2 sztereo kamera rendszernél B illetve a kamera fókusztávolsága adott. Így tehát, ha a bal illetve a jobboldali képből ki tudjuk számolni a diszparitást, akkor a Z mélységet a fenti egyenletekből meghatározhatjuk.

8 3.1 A jel alapú sztereo módszer [8] A jel alapú sztereo látás három lépésre bontható: 1. Jeldetektálás 2. Összehasonlítás 3. Felszín interpoláció Az első lépésben a jeleket szürkeárnyalatos kép párokon detektáljuk, ahol a jelek lehetnek élek, sarkok, érdekes pontok (például ACM eljárás detektált pontjai), stb. A mélységet csak a jeleknél számoljuk. Az összehasonlítás a sztereo legfontosabb lépése, amikor bal oldali képen található jeleket összevetjük a jobboldali képen detektált jelekkel. Az epipoláris kényszerfeltételeknek köszönhetően a sztereo számítás egy dimenzióba korlátozódik, ennek következtében a lehetséges feltérképezések száma igen nagy a bal illetve jobb oldali jelek között, a kényszerfeltételek limitálják a keresési teret. A harmadik lépésben a jeleknél lévő mélységi értékeket használjuk a mélység meghatározásához a megmaradó pixeleknél, az eredményt interpolációval számoljuk. 3.2 Marr-Poggio algoritmusa [9] 2. ábra A stereopárokat egy dimenzióban ábrázolva [F2] Az algoritmus az emberi látáshoz hasonló elven alapul. Az értékhalmaza egy véletlenszerű pont sztereogram, ahol minden pixel véletlenszerűen fekete vagy fehér. Az algoritmusra a következő kényszerfeltételek vonatkoznak: Kompatibilitás: fehér pontot csak fehér ponttal, feketét csak feketével hasonlítunk össze.

9 Folytonosság: a mélység lehet folytonos, a szomszédos pixeleknek lehet hasonló mélysége. Egyediség: a bal kép egy pontját a jobb képen csak egy ponthoz lehet hasonlítani. A kezdeti hasonlóság C 0 (x, d) a kompatibilitás kényszerfeltételből adódik. A folytonosság és az egyediség kényszerfeltételt a későbbi iterációkban használjuk. A kompatibilitás kényszerfeltételt az exkluzív nor művelettel lehet előállítani a bal és jobb képen lévő jelek között. A stereopárokat egy dimenzióban ábrázolva és feltéve, hogy a képünk 5 képpont széles, a fehér pontokat W-vel és a feketéket B-vel ábrázolva [2. ábra] a C0 (x, d) tömböt megkapjuk a kompatibilitási kényszerfeltétel alkalmazásával. Ebből iteratívan számolhatjuk a C 1..C n tömböket a következő séma alkalmazásával, ami kikényszeríti a folytonosság és a egyediség kényszerfeltételeket: [S1] A kezdeti hasonlóságot a kompatibilitás kényszerfeltétel használatával kaphatjuk meg: [S2] ahol Ø az exkluzív vagy kapcsolata. Innen iteratívan a következő formulával számoljuk a C n -et: [S3] D max a legnagyobb lehetséges diszparitás, ε konstans, T a küszöb, ω konstans. Ebben a sémában a jobb oldali tagot gerjesztő tagnak nevezik, ez felel azért, hogy a megfelelő (azonos diszparitású) pixeleket hasonlítsuk össze, a második tag a mínusz előjellel a gátló tag, amely a büntetés mértékét számítja, ha a folytonossági kényszerfeltételt megsértjük. A harmadik C 0 tag a konvergenicát fokozza. 3. ábra [F3] A MarPoggio algotitmus 2D megvalósítása hasonló az 1D-hez. A 2D gerjesztő szomszédsági tagnál [2. ábra] + jellel jelöltük a középpontot, * jellel a támogató pixeleket. A tipikus értékek {e}, T, w-re: 2, 4, 2.

10 3.3 Korreláció alapú sztereo metódusok [10] A jel alapú sztereo metódusok a mélységet csak a jeleknél számolja. Abból a célból, hogy megkapjuk a tömörített mélységi térképet, interpoláció alkalmazása szükséges. A korreláció alapú sztereo módszernél a mélységet minden pixelre kiszámítjuk. A bal oldali kép szürkeárnyalatos parcellában lévő pixelt összehasonlítjuk a jobb oldali kép megfelelő pixelével. Az diszparitás a legjobb összehasonlításhoz adott, a következő módon számoljuk D(x, y) egyenlőtlenségi térképet: [S4] Ahol L(x,y) és R(x,y) a bal illetve jobboldali kép. A diszparitás kiszámolása céljából az (x, y) egy (2s+1)*(2s+1)-es ablak szürkeárnyalatait hasonlítjuk össze a jobb oldali kép megfelelő pixeleivel. Az összes diszparitás közül az eredő diszparitás az, amelyik a maximális korreláció értéket eredményezi a fenti egyenletben. A metódusban a korrelációs érték R(x,y) lokális változásaitól függ. A módszer eredményesebb, ha normalizált korrelációt alkalmazunk: [S5] Amennyiben a jobb oldali ablak egy w átméretezett verziója baloldali ablaknak (R = cl), akkor a normalizált korreláció r X X L 2 maximumát eredményezi majd. Egy másik lehetőség, ha a négyzetes eltérések összegét használjuk (SSD): A normalizált korreláció és az SSD hasonló eredményt ad. [S6]

11 3.4 Barnard sztereo algoritmusa [11] Barnard a hasonló intenzitás értékek és a simítottság mértéke alapján határozza meg a diszparitást: [S7] ahol L és R a bal illetve jobboldali kép, D(x,y) a diszparitás térkép, 5 számítja a diszparitás térkép és a nyolc szomszéd pixel abszolút eltéréseinek összegét, λ konstans. Egy 128*128 méretű kép 10 pixeles diszparitás mértékkel, ez 10 16384 lehetséges diszparitás értéket jelent, ami kombinatorikus robbanást eredményez. Barnard a probléma megoldása érdekében szimulált temperálást használ, ennek az algoritmusa a következő: 1. Válasszunk egy véletlen állapotú S-t. 2. Válasszunk magas hőmérsékletű T értéket. 3. Amíg T > 0 (a) válassszuk ki S -t de < E(S ) E(S) (b) ha deltae <= 0 akkor S < S (c) különben P < exp(-de/t), X <- random(0,1), ha X < P akkor S < S (d) ha néhány iteráció után nincs változás E-ben, akkor alacsonyabb T

12 4. Térképezés[1], [2] Térképezés során a robot által bejárt területről készítünk egy területleírást, amit térképként fogunk felhasználni a későbbi feldolgozás során. Az így elkészített térképet használja az útvonal tervezéséhez és a terület változás ellenőrzéséhez, ezért fontos, hogy pontos legyen a leírás. 4.1. Objektum helyzetének meghatározások Az objektumok leírását és megjelölését a térképen valamilyen ponthoz viszonyítva határozzuk meg. Az a módszer, hogy a robot kiindulási pontjától viszonyítva egy virtuális koordináta rendszerben megtett útvonala szerint számoljuk az aktuális pozíciót és az szerint határozzuk meg az objektum helyzetét és jellemző pontjait, nem megfelelő, ugyanis egy hosszabb mozgás után a robot mozgása a számított mozgástól eltérhet és ebből adódóan nem lenne megegyező a korábban meghatározott objektum az aktuálissal. Ekkor téves jelzés keletkezhetne, mert az adatok alapján eltűnne egy objektum és egyidejűleg egy másik kerülne meghatározásra. Ennek a javítására használhatunk referencia pontokat, ami lényegesen pontosabb leírást eredményez. Másik lehetőségünk a térképkészítés folyamatában, hogy a térkép origóját a robot pozíciójában helyezzük el. Ebben az esetben az objektumokat az origótól számítva írhatjuk le. Amikor a robot elmozdul, az origó a robot pontjában marad, és a térkép tolódik el körülötte. 4.2. Térkép felépítés Térkép leírásának egyik elterjedt és egyszerű ábrázolási módja a foglaltság jelzőkből álló rács. A térképet cellákra osztjuk és ezeket a cellákat 3 értékkel tölthetjük fel: ismeretlen, üres, objektum. Alap esetben, a térkép létrehozásakor minden cellája ismeretlen jelzővel van ellátva, ami annyit jelent, hogy még nem járt ott a robot és nincs róla információja, hogy mi lehet ott. Értelemszerűen az üres mező a számára megközelíthető cellát jelöli, ahol nincs jelentősebb tereptárgy és az objektum mező pedig egy akadályt jelent a robot számára. Az objektumok megközelíthetőségét a talajjal bezárt szöge jellemzi. Tipikusan a 90 os talajváltozást már objektumként jelöljük, míg a kis szögeket üresként. 4.3. Térkép alkalmazása A térképen, a változás ellenőrzése során célszerű a keresési teret leszűkíteni az aktuális látótérre. Felesleges lenne a kamera által nem látható területen keresni azt az objektumot, ami épp a kamera előtt meghatározásra került. Teljesítményt javíthatunk azzal is, hogy a már ismert tárgyakat keressük meg a képen, így a további keresést már csak az ettől eltérő régiókban szükséges keresnünk. 4.4. Új objektum Ha ismeretlen terepen járunk, és új objektumot kell meghatározunk, akkor a talált objektum tulajdonságainak meghatározásához a két kamera képinformációját használjuk fel. A bal kamera képét régiókra bontjuk, majd ezen régiókban jellegzetes pontokat határozunk meg. Ezután vesszük a jobb oldali kamera képét és az előbb meghatározott régiókat megkeressük rajta. Ennek a két képnek a közös régióiból egyértelmű meghatározást tudunk adni az

13 objektum formájáról és a robot alap paramétereit felhasználva háromszögeléssel a távolságokat tudjuk meghatározni. A robot alap méreteit konstansként kezeljük, mint például a kamerák távolságát egymástól, illetve a talajtól. Ennek segítségével már számítható egy becsült objektum méret és a becsült pozíció is, amelyet hasznos térkép információként használunk fel. 4.5. Objektum-azonosítás 3. ábra Objektumleírás meghatározása mozgás közben [1] A robot mozgása közben az különböző látószögből az egyes objektumok tulajdonságait a távolságkülönbség és a nézőpont bezárt szögkülönbségének segítségével számoljuk. Ennek segítségével az objektum a különböző nézőpontokból is jellemezhető ugyanazzal a leíró tulajdonsággal. A különböző nézőpontokból más tulajdonság adatok is meghatározhatóak lennének, vagy csak kicsit eltérő adatokat számolnánk ki, ezért a sok eset kiküszöbölésének érdekében a már meghatározott objektumok leírási adatait nem módosítjuk.

14 Irodalomjegyzék [1] L. G. Shapiro and G. C. Stockman, Computer Vision, 2001, New Jersey, Prentice-Hall, pp 279-325 [2] V. Zoltán, Szegmentálás, http://nik.bmf.hu/vamossy/gepilatas2007/8szegmentalas/szegmentalas.ppt, 2008.11.20. [3] Vovk, O.L., A new approach to visual similar image colors extraction, Journal of Automation and Information Sciences, No. 6, 2006, pp 100-105. [4] R. Ohlander, K. Price, and D. R. Reddy, Picture Segmentation Using a Recursive Region Splitting Method, Computer Graphics and Image Processing, volume 8, 1978, pp 313-333 [5] M. Shah, Fundamentals of Computer Vision, Recurive Algorithm, Orlando, Computer Science Department University of Central Florida, 1997, pp 58 [6] M. Shah, Fundamentals of Computer Vision, Sequential Algorithm, Orlando, Computer Science Department University of Central Florida, 1997, pp 59 [7] M. Shah, Fundamentals of Computer Vision, Stereo and Shape From Shading, Orlando, Computer Science Department University of Central Florida, 1997, pp 111 [8] M. Shah, Fundamentals of Computer Vision, Steps in Token Based Stereo, Orlando, Computer Science Department University of Central Florida, 1997, pp 112 [9] M. Shah, Fundamentals of Computer Vision, Marr-Poggio Algorithm, Orlando, Computer Science Department University of Central Florida, 1997, pp 113 [10] M. Shah, Fundamentals of Computer Vision, Correlation Based Stereo Methods, Orlando, Computer Science Department University of Central Florida, 1997, pp 114 [11] M. Shah, Fundamentals of Computer Vision, Barnard s Stereo Algorithm, Orlando, Computer Science Department University of Central Florida, 1997, pp 117 [12] IEEE TRANSACTION ON PATTERN ANALYSIS AND MAXHINE INTELLIGENCE vol.24. No. 7, July 2002 Simultaneous Localization and Map-Buliding Using Active Vision page 865-880 [13] B. Szabolcs K. Róbert K. Előd Zoltán - Automated Mapping of robot EnviRonment http://roberta.obuda.kando.hu/iar/2004_2005/amber/download/dokumentacio.pdf, 2008. november 30.

15 Ábrajegyzék [F1] M. Shah, Fundamentals of Computer Vision, Stereo and Shape From Shading, Orlando, Computer Science Department University of Central Florida, 1997, pp 111, Figure 6.1. [F2] M. Shah, Fundamentals of Computer Vision, Marr-Poggio Algorithm, Orlando, Computer Science Department University of Central Florida, 1997, pp 113, Figure 6.2. [F3] M. Shah, Fundamentals of Computer Vision, Marr-Poggio Algorithm, Orlando, Computer Science Department University of Central Florida, 1997, pp 115, Figure 6.4. Képletjegyzék [S1] M. Shah, Fundamentals of Computer Vision, Marr-Poggio Algorithm, Orlando, Computer Science Department University of Central Florida, 1997, pp 113, {6.3} [S2] M. Shah, Fundamentals of Computer Vision, Marr-Poggio Algorithm, Orlando, Computer Science Department University of Central Florida, 1997, pp 113, Figure 6.3. [S3] M. Shah, Fundamentals of Computer Vision, Marr-Poggio Algorithm, Orlando, Computer Science Department University of Central Florida, 1997, pp 113, Figure 6.3. [S4] M. Shah, Fundamentals of Computer Vision, Correlation Based Stereo Methods, Orlando, Computer Science Department University of Central Florida, 1997, pp 114-115 (6.4) [S5] M. Shah, Fundamentals of Computer Vision, Correlation Based Stereo Methods, Orlando, Computer Science Department University of Central Florida, 1997, pp 115 (6.5) [S6] M. Shah, Fundamentals of Computer Vision, Correlation Based Stereo Methods, Orlando, Computer Science Department University of Central Florida, 1997, pp 115 (6.6) [S7] M. Shah, Fundamentals of Computer Vision, Barnard s Stereo Algorithm, Orlando, Computer Science Department University of Central Florida, 1997, pp 117 (6.7)