I8 - Környezeti tér feltérképezése sztereo kamerakép alapján



Hasonló dokumentumok
I9 Teleoperáció és távérzékelés virtuális cellában

Épületvillamosság laboratórium. Villámvédelemi felfogó-rendszer hatásosságának vizsgálata

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉPSZINT Függvények

1. Metrótörténet. A feladat folytatása a következő oldalon található. Informatika emelt szint. m2_blaha.jpg, m3_nagyvaradter.jpg és m4_furopajzs.jpg.

Bár a digitális technológia nagyon sokat fejlődött, van még olyan dolog, amit a digitális fényképezőgépek nem tudnak: minden körülmények között

Gépi forgácsoló Gépi forgácsoló

EPER E-KATA integráció

Korszerű geodéziai adatfeldolgozás Kulcsár Attila

JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ. Egészségügyi kártevőirtó szakmunkás szakképesítés Kártevőirtás modul. 1. vizsgafeladat december 10.

FORTE MAP 5.0 Felhasználói tájékoztató

Útmutató a vízumkérő lap kitöltéséhez

2011. március 9. Dr. Vincze Szilvia

SJ5000+ MENÜBEÁLLÍTÁSOK. E l e c t r o p o i n t K f t., B u d a p e s t, M e g y e r i ú t F s z. 1. Oldal 1

A mérés célja: Példák a műveleti erősítők lineáris üzemben történő felhasználására, az előadásokon elhangzottak alkalmazása a gyakorlatban.

Használható segédeszköz: szabványok, táblázatok, gépkönyvek, számológép

Házi dolgozat. Minta a házi dolgozat formai és tartalmi követelményeihez. Készítette: (név+osztály) Iskola: (az iskola teljes neve)

Fókuszban a formahibák. Konzultációs nap Minőségfejlesztési Iroda szeptember 18. Fekete Krisztina

Programozás I gyakorlat

Egyszerű áramkörök vizsgálata

Conjoint-analízis példa (egyszerűsített)

Vasúti információs rendszerek gyakorlat

[MECHANIKA- HAJLÍTÁS]

MATEMATIKA HETI 3 ÓRA

Programozható irányítóberendezések és szenzorrendszerek ZH. Távadók. Érdemjegy

Jelek tanulmányozása

Vodafone ReadyPay. Használati útmutató

Szerb középszintű szóbeli vizsga értékelési útmutató

Dr. Schuster György február 21. Real-time operációs rendszerek RTOS

A 27/2012 (VIII. 27.) NGM rendelet (12/2013 (III.28) NGM rendelet által módosított) szakmai és vizsgakövetelménye alapján.

Az új modulrendszer tapasztalatai

Lineáris algebra gyakorlat

Alkalmazott fotográfus Alkalmazott fotográfus

Budapest Airport embléma

Embléma, márkanév és szlogen 5

A TŰZVÉDELMI TERVEZÉS FOLYAMATA. Dr. Takács Lajos Gábor okl. építészmérnök BME Építészmérnöki Kar Épületszerkezettani Tanszék

Hálózati beállítások gyorsútmutatója

MATLAB. 4. gyakorlat. Lineáris egyenletrendszerek, leképezések

A mérés célkitűzései: Kaloriméter segítségével az étolaj fajhőjének kísérleti meghatározása a Joule-féle hő segítségével.

Vektoros elemzés végrehajtása QGIS GRASS moduljával 1.7 dr. Siki Zoltán

AWP TELEPÍTÉSE- WINDOWS7 64 OPERÁCIÓS RENDSZEREN

Az aktiválódásoknak azonban itt még nincs vége, ugyanis az aktiválódások 30 évenként ismétlődnek!

Ablakok használata. 1. ábra Programablak

Széchenyi István Egyetem Műszaki Tudományi Kar. A szakdolgozatok közös sablonja (a Kari Tanács i ülésén elfogadva)

PONTSZÁMÍTÁSI KÉRELEM felsőfokú végzettség alapján (alap- és osztatlan képzésre jelentkezőknek)

Üzembehelyezıi leírás

Áramlástechnikai gépek soros és párhuzamos üzeme, grafikus és numerikus megoldási módszerek (13. fejezet)

OmniTouch 8400 Instant Communications Suite 4980 Softphone

Mágneses szuszceptibilitás vizsgálata

Földrajzi helymeghatározás

Párhuzamos programozás

Dinamikus geometriai programok

SZÁMÍTÓGÉPES NYELVI ADATBÁZISOK

Minta. A középszintű szóbeli vizsga értékelési útmutatója

Felhasználói útmutató Dahua gyártmányú digitális képrögzítő eszközökhöz

CAD-CAM

Áramlás- és zárószelepek Logikai szelep Logikai szelepek (ÉS / VAGY) Katalógus füzetek

Kép részlet kivágás útvonalak létrehozása és szerkesztése útvonalak kijelöléssé alakítása Kijelölés > Lágy szél

A táblázatkezelő felépítése

Az abortusz a magyar közvéleményben

G Szabályfelismerés feladatcsomag

NEX-3/NEX-5/NEX-5C A-DTR (1) 2010 Sony Corporation

FENNTARTHATÓ FEJLŐDÉS

Javítóvizsga témakörei matematika tantárgyból

Shared IMAP beállítása magyar nyelvű webmailes felületen

ADATBÁZIS-KEZELÉS. Funkcionális függés, normál formák

Új fejlesztéseink (NAT 2012) Középiskolai fizika, kémia

KOVÁCS BÉLA, MATEMATIKA I.

JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ ÍRÁSBELI VIZSGAFELADATHOZ. Fizioterápiás szakasszisztens szakképesítés

A döntő feladatai. valós számok!

M A G Y A R K O N G R E S S Z U S I I R O D A

Üresként jelölt CRF visszaállítása

HIRDETMÉNY AKCIÓK, KEDVEZMÉNYEK

Számítógépes vírusok

SÜTIK TÖRLÉSE. Készült: Módosítva:

Analízis elo adások. Vajda István október 3. Neumann János Informatika Kar Óbudai Egyetem. Vajda István (Óbudai Egyetem)

Memóriamodulok Felhasználói útmutató

TANTÁRGYI ÚTMUTATÓ. Logisztika. tanulmányokhoz

KOVÁCS BÉLA, MATEMATIKA I.

ÁFA felhasználói dokumentum Lezárva:

Osztályozó és Javító vizsga témakörei matematikából 9. osztály 2. félév

Analízis elo adások. Vajda István szeptember 24. Neumann János Informatika Kar Óbudai Egyetem. Vajda István (Óbudai Egyetem)

JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ. Csecsemő- és gyermekápoló szakképesítés Csecsemő és gyermek diagnosztika és terápia modul. 1.

Tanúsítvány és hozzá tartozó kulcsok feltöltése Oberthur kártyára és Oberthur SIM termékre

Segítünk online ügyféllé válni Kisokos

Fábián Zoltán Hálózatok elmélet

A SZERZŐDÉS TELJESÍTÉSÉRE VONATKOZÓ INFORMÁCIÓK

Szervezeti formák bemutatása

Kiphard-féle szenzomotoros és pszichoszociális fejlődési táblázat

Néprajzi Múzeum. Új hely Új épület(ek) Új elképzelések. Museum

Ipari és vasúti szénkefék

INFORMÁCIÓS MEMORANDUM

Tájékoztató a szerződés módosításáról_munkaruházati termékek szállítása (5. rész)

A HIRDETMÉNY VISSZAVONÁSÁRÓL, MÓDOSÍTÁSÁRÓL, AZ AJÁNLATTÉTELI, VAGY RÉSZVÉTELI HATÁRIDŐ MEGHOSSZABBÍTÁSÁRÓL, A DOKUMENTÁCIÓ MÓDOSÍTÁSÁRÓL I.

A szerzõrõl... xi Bevezetés... xiii

Szellőző rács. Méretek. Leírás

Amit a Hőátbocsátási tényezőről tudni kell

HÁLÓZATSEMLEGESSÉG - EGYSÉGES INTERNET SZOLGÁLTATÁS-LEÍRÓ TÁBLÁZAT

xdsl Optika Kábelnet Mért érték (2012. II. félév): SL24: 79,12% SL72: 98,78%

3. Térvezérlésű tranzisztorok

Elhelyezési és kezelési tanácsok

Átírás:

I8 - Környezeti tér feltérképezése sztereo kamerakép alapján Mérési útmutató az Irányítástechnika és Képfeldolgozás Laboratóriumhoz: 8. mérés Dr. Vajda Ferenc 3D érzékelés és Mobilrobotika kutatócsoport Irányítástechnika és Informatika Tanszék 2015. október 7.

Jelen dokumentum a Budapesti Műszaki és Gazdaságtudományi egyetem Irányítástechnika és képfeldolgozás laboratórium 1. c. tárgyához kapcsolódó mérési útmutató. A mérés és az útmutató a laboratórium 8. méréséhez készült a tanszék 3D érzékelés és mobilrobotika kutatócsoportjában. A mérések és a mérési útmutató kidolgozásában részt vettek a kutatócsoport tagjai: Vajda Ferenc Takács Tibor Srp Ágoston Mihály A dokumentum szabadon letölthető, és átadható a tartalom módosítása nélkül. A dokumentumból történő idézések esetén a forrás megjelölendő. Verziók: Dátum Verzió Módosította Leírás 07/10/09 V0.1 Vajda Ferenc Első változat 03/09/15 V0.2 Szemenyei Márton Második Változat

Tartalomjegyzék 1. Objektumfelismerés, pozíciómeghatározás...4 1.1 Háromdimenziós pozíció meghatározása...4 2. virtuális valóságban történő navigációhoz...8 2.1 Célkitűzések...8 2.2 A mérés során alkalmazott eszközök...8 2.3 Feladatok...8 3. OpenCV referencia...10 3.1 Kép létrehozása...10 3.2 Megjelenítése...10 3.3 Bináris kép előállítása...10 3.4 Színtérkonverzió, szétválasztás komponensekre...11 3.5 Műveletek objektumokkal...11 3.6 Műveletek képrészletekkel...11 3.7 Template matching...11 4. Ellenőrző kérdések...12 5. Irodalomjegyzék...13 2015. szeptember 3. 1

1. Objektumfelismerés, pozíciómeghatározás A kamerarendszerek egyik legfontosabb felhasználási célja a környezetben található objektumok szétválasztása és a lényeges elemek kiemelése, más szóval szegmentálás. Tekintettel a fontosságára, illetve a feladat meglehetősen nem egzakt jellegére, számos jó és kevésbé jó algoritmust alkalmazhatunk. Legtöbbjük csak különleges körülmények között használható, vagy olyan mértékű futásidőigénye, hogy a legtöbb alkalmazásban szóba se kerülhet. Emiatt az alkalmazások nagy részénél valamilyen módon egyszerűsítenünk kell a környezetet, és olyan módon kell átalakítanunk, hogy az algoritmus számára könnyedén feldolgozható legyen. Erre megoldás, ha a megkeresendő objektum színét megváltoztatjuk olyan módon, hogy a környezettől elüssön. A szegmentált objektumok megtalálása után annak releváns tulajdonságait is meg kell határoznunk. Szinte minden esetben szükséges a pozíció és/vagy orientáció, de gyakran van szükség méretre stb. A lényeges tulajdonságok kiemelése általában egyszerűbb feladat, mint a szegmentálás, de sokszor ezek meghatározása is szinte lehetetlennek tűnik. Az alábbiakban ismertetünk néhány fontosabb algoritmust, amely segítségével a mérésben szükséges képfeldolgozási feladatok elvégezhetők. Ez természetesen nem jelenti, hogy a hallgató nem használhat szofisztikáltabb megoldást. 1.1 Háromdimenziós pozíció meghatározása Objektumok háromdimenziós elhelyezkedésének meghatározására számos módszert ismerünk. Az elterjedtebb megoldások többnyire arra épülnek, hogy ugyanazon objektumot több szögből is felvesszük ismerve a felvételkészítés paramétereit (kamera elhelyezkedése, egyéb paraméterei). Talán a legfontosabb eljárás a sztereo kameraképpár alapján történő pozíciómeghatározás. A mérés során a hallgató is ezt alkalmazza. A háromdimenziós objektumoknak a kamera érzékelőjére történő vetítése az 1. ábrán látható módon ún. perspektív transzformáció segítségével történik. A 2015. szeptember 3. 2

transzformáció homogén koordináták segítségével az alábbi módon fogalmazható meg: [x w y w w ]=T persp [X Y Z 1 ] (1) ahol T persp a kamera és a viszonyítási koordinátarendszer közötti forgatást és eltolást, illetve az egy ponton keresztüli síkra történő vetítés transzformációs együtthatóit tartalmazza. Ebből a képkoordináták az alábbi módon származtathatók. x= x w w, ill. y= y w w (2) Amennyiben a viszonyítási koordinátarendszer a kamera koordinátarendszere (l. ábra), a transzformációs mátrix az alábbi módon egyszerűsödik: =[ 1 0 0 0 0] T persp 0 1 0 0 0 0 1/ f (3) Így x= f X Z, ill. y= f Y Z (4) z,z Képsík Kameratengely (X, Y, Z) x,x y,y f (x, y) O 1. ábra A képalkotás A képkoordinátákat tipikusan nem a kép középpontjától számítjuk, hanem a bal 2015. szeptember 3. 3

felső sarokból, ezért a koordinátákat ennek megfelelően el kell tolni. Jól látható a fenti ábrán, hogy a 3D információ egyik eleme (z) a leképezés során elveszik. Ez érthető is, hiszen a 3D-ban meghatározott pont 3 koordinátája helyett a képen csak 2 értéket kapunk. A probléma kiküszöbölésének egyik módja, hogy két kameraképet használunk (sztereo geometria), és az így kapott többletinformációk alapján határozzuk meg a hiányzó koordinátát (l. 2. ábra). Legegyszerűbb esetben az ábrán látható elrendezést alkalmazhatjuk, ahol a két kamera koordinátarendszerének tengelyei egymással párhuzamosak, vagyis Z =Z 1 =Z 2, ill. Y =Y 1 =Y 2 (5) Különbség csak az X koordináták meghatározása során keletkezik, amely megegyezik a koordinátarendszerek origóinak távolságával: X 2 = X 1 b (6) A leképzési egyenletekből (4) a következőt kaphatjuk: X x 1 = f 1 Z, ill. x X 2= f 1 b Z (7) Ebből x 1 x 2 = f Z X 1 X 1 b = fb Z (8) Így: Z = fb = fb x 1 x 2 x (9) Valamint az egyes kamera koordinátarendszerében X = x 1 Z f = x 1b x (10) És Y = y Z f = y b x (11) 2015. szeptember 3. 4

z 1 (X, Y, Z) z 2 x 1 y 1 f (x 1, y 1 ) (x 2, y 2 ) O 1 b y 2 x 2 O 2 2. ábra A standard (ideális) sztereó elrendezés A gyakorlatban nem fordul elő, hogy a két kamera geometriai viszonya a fentieknek megfelelő legyen, ráadásul a kamerák lencséi többnyire nemlineáris geometriai torzítást is okoznak amelynek egy viszonylag összetett matematikai művelet (ún. rektifikáció) segítségével korrigálhatunk. Az eljárás túllépi a mérés kereteit, így ezzel a továbbiakban nem foglalkozunk. 2015. szeptember 3. 5

2. virtuális valóságban történő navigációhoz A mérés során a hallgató megismerkedik a sztereó képfeldolgozás alapjaival, illetve betekintést nyer a virtuális valóság rendszerekben való alkalmazásaiba. 2.1 Célkitűzések A mérés során a hallgató egy virtuális térben működő navigációs alkalmazást valósít meg. A navigáció eszköze alapvetően a hagyományos beviteli eszközök kiegészítéseként egy (vagy több) térben mozgatható marker. A marker mozgatásával különféle funkciókat valósíthatunk meg. A hallgató feladata, hogy a marker háromdimenziós koordinátáit meghatározza egy sztero-kameraképpár segítségével. A pozíciómeghatározó rutint egy meglévő virtuális valóság alkalmazáshoz kell illesztenie, amelynek eredményeképpen a marker segítségével a virtuális térbe lehet beavatkozni. 2.2 A mérés során alkalmazott eszközök Eszköz Típus Paraméterek Kamera Bumblebee Technológia: Felbontás: Bázistávolság: Lencsék: Kommunikáció: 2 Sony progressive scan CCD 1024 768 12cm 4mm fókusztávolság IEEE-1394 (Firewire) 2.3 Feladatok a) Írjon kalibrációs rutint OpenCV segítségével (a jegyzőkönyv végén talál egy rövid összefoglalót az OpenCV-ről), amely segítségével meghatározhatjuk azt a színt, amelyet a színalapú szegmentálás során használni fogunk. A feladat, hogy a képernyőn látható marker színét rögzítsük. Vegye figyelembe, hogy a marker színe a kamerán nem állandó. 2015. szeptember 3. 6

b) Írjon rutint, amely megtalálja a markert a két kameraképen. Az első kamera képen keresse meg azokat a pontokat, amelyek a színük alapján a markerhez tartozhatnak, majd ezek közül válassza ki azokat, amelyek a marker egyéb tulajdonságai (elsődlegesen a mérete) alapján valóban a markerhez tartoznak. A második kameraképen való kiválasztásnál feltételezheti, hogy a két kamerakép rektifikált, vagyis az első képen megtalált pontok y pozíciója megegyezik a pontnak második képre vetített y pozícióval (l. még 1.1). c) Határozza meg a marker háromdimenziós pozícióját az ismert paraméterek (fókusztávolság, bázistávolság, képközéppont koordináták) segítségével. d) Tesztelje az eljárást a mérésvezető által biztosított rendszerrel. e) Készítsen a mérésről jegyzőkönyvet. Ne felejtse el, hogy a jegyzőkönyv alapján a mérésnek rekonstruálhatónak kell lennie, ezért jelenjenek meg benne a felmerült problémák, azok megoldása, a végső rendszerben található hibák stb. 2015. szeptember 3. 7

3. OpenCV referencia Az alábbiakban néhány példán keresztül bemutatjuk az OpenCV használatát. Részletesebb információ az OpenCV dokumentációjában [1] található. 3.1 Kép létrehozása // szürkeárnyalatos, egycsatornás kép ( a kép alapvetően cv::mat ) cv::mat image( cv::size( width, height ), CV_8UC1 ); // színes, háromcsatornás kép cv::mat image( cv::size( width, height ), CV_8UC3 ); // másik képpel megegyező méretű és típusú kép cv::mat image( other.size(), other.type() ); // betöltés fájlból cv::mat image = cv::imread( "filename.ext" ); // kamerából cv::videocapture capture( 0 ); cv::mat frame; while (... ) { capture >> frame; if (!frame.data ) { /* no image */ } } 3.2 Megjelenítése // kép megjelenítése cv::imshow( "Ablak neve és egyben fejléce", image ); // várás billentyűzetre int key = cv::waitkey( 0 ); // várás ideje ms-ban. Ha 0, akkor végtelen // waitkey LEGALÁBB EGYSZER KELL!!! 3.3 Bináris kép előállítása // szürkeárnyalatos kép előállítása színes képből cv::mat gray, binary; cv::cvtcolor( image, gray, CV_BGR2GRAY ); // BGR és nem RGB formátum az alapértelmezett!!! cv::threshold( gray, bin, threshold_value, 255, cv::thresh_binary ); // 255 a küszörbértéket meghaladó pixelek új értéke 2015. szeptember 3. 8

3.4 Színtérkonverzió, szétválasztás komponensekre // váltás színterek között cv::mat hsvimage; cv::cvtcolor( rgbimage, hsvimage, CV_BGR2HSV ); // más konverziók is lehetnek // színterek: RGB, BGR, RGBA, BGR555, BGR565, GRAY, YCrCb, HSV, HLS, Luv, Lab // XYZ, BayerBG, BayerGB, BayerRG, BayerGR // komponensek szétválasztása std::vector< cv::mat > hsv( 3 ); cv::split( hsvimage, hsv ); 3.5 Műveletek objektumokkal //objektumok keresése cv::findcontours( binimg, contours, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE ); // momentum kiszámolása for( int i( 0 ); i < contours.size(); i++ ) { cv::moments moments = cv::moments( cv::mat( contours[ i ] ); float zerothordermoment = moments.m00; } 3.6 Műveletek képrészletekkel cv::mat contourimage; // kontúrok segítségével maszk kép készítése for( int i( 0 ); i < contours.size(); i++ ) { cv::drawcontrous( contourimage, contours, i, cv::scalar( 255, 255, 255 ), thickness ); // thickness a vonal vastagsága, ha -1, akkor kitölti a kontúr belsejét } 3.7 Template matching // A kimenet tárolására szolgáló kép cv::mat errors; // template matching végrehajtása cv::matchtemplate( image, template, errors, cv::tm_sqdiff ); 2015. szeptember 3. 9

4. Ellenőrző kérdések 1. Foglalja össze néhány mondatban, a mérés célját és feladatait. 2. Adja meg a kamera képalkotásának egyenletét. 3. Ábrázolja a képalkotás folyamatát. 4. Milyen módon állítható vissza a képalkotáskor elvesző 3D információ? 5. Rajzolja fel az ideális sztereó elrendezést. 2015. szeptember 3. 10

5. Irodalomjegyzék [1] OpenCV - Open Source Computer Vision Library, http://docs.opencv.org/index.html 2015. szeptember 3. 11