OSZLOPOK DETEKTÁLÁSA 3D LIDAR PONTFELHŐKBEN

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

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

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

Grafikonok automatikus elemzése

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

PONTFELHŐ REGISZTRÁCIÓ

Intelligens Közlekedési Rendszerek 2

Rendszámfelismerő rendszerek

Térinformatika és Geoinformatika

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

Számítógépes döntéstámogatás. Genetikus algoritmusok

Pontfelhő létrehozás és használat Regard3D és CloudCompare nyílt forráskódú szoftverekkel. dr. Siki Zoltán

Időjárási radarok és produktumaik

Panorámakép készítése

Városi környezet vizsgálata távérzékelési adatok osztályozásával

Vonalas közlekedési létesítmények mobil térképezésével kapcsolatos saját fejlesztések

Mikroszkóp vizsgálata Folyadék törésmutatójának mérése

A 2017/2018. tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló FIZIKA II. KATEGÓRIA JAVÍTÁSI ÚTMUTATÓ. Pohár rezonanciája

Távérzékelés, a jöv ígéretes eszköze

Milyen északi irány található a tájfutótérképen?

EEE Kutatólaboratórium MTA-SZTAKI Magyar Tudományos Akadémia

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

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

Digitális jelfeldolgozás

Feladatok megoldásokkal az első gyakorlathoz (differencia- és differenciálhányados fogalma, geometriai és fizikai jelentése) (x 1)(x + 1) x 1

Principal Component Analysis

TÉRINFORMATIKA II. Dr. Kulcsár Balázs egyetemi docens. Debreceni Egyetem Műszaki Kar Műszaki Alaptárgyi Tanszék

Gauss-Seidel iteráció

Mobil Térképező Rendszer hazai felhasználása

MATEMATIKA HETI 5 ÓRA

IX. Alkalmazott Informatikai Konferencia Kaposvári Egyetem február 25.

4. Lokalizáció Magyar Attila

Programozási módszertan. Mohó algoritmusok

Modern Fizika Labor. 11. Spektroszkópia. Fizika BSc. A mérés dátuma: dec. 16. A mérés száma és címe: Értékelés: A beadás dátuma: dec. 21.

Távérzékelés gyakorlat Fotogrammetria légifotó értelmezés

Kontrollcsoport-generálási lehetőségek retrospektív egészségügyi vizsgálatokhoz

Távérzékelés a vízgazdálkodás szolgálatában. Bíró Tibor Nemzeti Közszolgálati Egyetem Víztudományi Kar

Gyakorló feladatok adatbányászati technikák tantárgyhoz

Felvételi tematika INFORMATIKA

c adatpontok és az ismeretlen pont közötti kovariancia vektora

MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM KÖZLEKEDÉSMÉRNÖKI ÉS JÁRMŰMÉRNÖKI KAR

Algoritmusok bonyolultsága

Létesítmények felmérése 3D szkenner segítségével

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

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

Adatszerkezetek 2. Dr. Iványi Péter

Modern Fizika Labor. 2. Az elemi töltés meghatározása. Fizika BSc. A mérés dátuma: nov. 29. A mérés száma és címe: Értékelés:

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

A számítástudomány alapjai

Mérés: Millikan olajcsepp-kísérlete

Akusztikai tervezés a geometriai akusztika módszereivel

Beltéri autonóm négyrotoros helikopter szabályozó rendszerének kifejlesztése és hardware-in-the-loop tesztelése

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

A vasút életéhez. Örvény-áramú sínpálya vizsgáló a Shinkawa-tól. Certified by ISO9001 SHINKAWA

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

MATEMATIKA ÉRETTSÉGI május 8. KÖZÉPSZINT

Szimulációs technikák

Modern Fizika Labor. A mérés száma és címe: A mérés dátuma: Értékelés: Infravörös spektroszkópia. A beadás dátuma: A mérést végezte:

Algoritmuselmélet. Gráfok megadása, szélességi bejárás, összefüggőség, párosítás. Katona Gyula Y.


Anatómiai régiók automatikus felismerése

4. A kézfogások száma pont Összesen: 2 pont

Heurisztikák BitTorrent hálózatok max-min méltányos sávszélesség-kiosztására

MATEMATIKA ÉRETTSÉGI május 3. EMELT SZINT I.

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

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

A KLT (Kanade Lucas Tomasi) Feature Tracker Működése (jellegzetes pontok választása és követése)

11. Előadás. 11. előadás Bevezetés a lineáris programozásba

GIS és Távérzékelés a közlekedési adatnyerésben

GEOMETRIAI VALÓSZÍNŰSÉGEK

Gépi tanulás a gyakorlatban. Kiértékelés és Klaszterezés

Általános követelmények a kép tartalmával és minőségével kapcsolatban

Koordinátageometria. , azaz ( ) a B halmazt pontosan azok a pontok alkotják, amelynek koordinátáira:

Mikroszkóp vizsgálata és folyadék törésmutatójának mérése (8-as számú mérés) mérési jegyzõkönyv

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

Takács Bence: Geodéziai Műszaki Ellenőrzés. Fővárosi és Pest Megyei Földmérő Nap és Továbbképzés március 22.

Villamos autókból álló taxi flotta számára létesítendő töltőállomások modellezése

Érzékelők az autonóm járművekben

A szimplex tábla. p. 1

MP ROTATOR Alkalmazási segédlet, telepítők számára

A Megyeri híd terhelésvizsgálatának támogatása földi lézerszkenneléssel

Hatástávolság számítás az. Ipari Park Hatvan, Robert Bosch út és M3 autópálya közötti tervezési terület (Helyrajzi szám: 0331/75.

Kvalitatív elemzésen alapuló reakciómechanizmus meghatározás

MOBIL TÉRKÉPEZŐ RENDSZER PROJEKT TAPASZTALATOK

Statisztikai módszerek a skálafüggetlen hálózatok

Problémamegoldás kereséssel. Mesterséges intelligencia március 7.

Érzékelők csoportosítása Passzív Nem letapogató Nem képalkotó mh. radiométer, graviméter Képalkotó - Kamerák Letapogató (képalkotó) Képsíkban TV kamer

Mozgásvizsgálatok. Mérnökgeodézia II. Ágfalvi Mihály - Tóth Zoltán

Ultrahangos távolságmérő. Modell: JT-811. Használati útmutató

MATLAB alapismeretek I.

10. mérés. Fényelhajlási jelenségek vizsgála

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?

Programozási környezetek

Mérés és modellezés 1

2. Hangfrekvenciás mechanikai rezgések vizsgálata jegyzőkönyv. Zsigmond Anna Fizika Bsc II. Mérés dátuma: Leadás dátuma:

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

Miskolci Egyetem Gépészmérnöki és Informatikai Kar Informatikai Intézet Alkalmazott Informatikai Intézeti Tanszék

Statisztikai módszerek 7. gyakorlat

2000 Szentendre, Bükköspart 74 MeviMR 3XC magnetorezisztív járműérzékelő szenzor

Az SPC (statisztikai folyamatszabályozás) ingadozásai

Átírás:

Budapesti Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Irányítástechnika és Informatika Tanszék Sári András Lajos OSZLOPOK DETEKTÁLÁSA 3D LIDAR PONTFELHŐKBEN Önálló laboratórium beszámoló KONZULENS Dr. Benedek Csaba BUDAPEST, 2016

Tartalom Bevezetés Lidar rendszerek... 3 A feladat specifikálása... 4 Megvalósítás... 4 Talajdetekció RANSAC algoritmussal... 5 Fák lombkoronájának detektálása... 6 Klaszterezés... 7 A megfelelő objektumok kiválasztása... 8 Továbblépési lehetőségek... 9 Források... 10 2

Bevezetés Lidar rendszerek A Lidar egy távérzékelési rendszer, használata széles körben elterjedt például a meteorológiában, térképészetben és a geológiában. A Lidar (Light Detection and Ranging) elnevezés a radar (Radio Detection And Ranging) szóból származtatott angol mozaikszó. A kettő között a különbség a távolságméréshez használt elektromágneses hullámok frekvenciájában rejlik. A radar rádióhullám tartományban sugároz, míg a Lidar az infravöröstől az ultraibolyáig terjedő frekvenciatartományban. A távolságmérés úgy történik, hogy a Lidar egység kibocsát egy energiaimpulzust, mely visszaverődik a mérni kívánt tárgyról és újra a Lidar egységbe jut. A jel által megtett út számítható az adás és a vétel időpontjából, ha az átviteli közeg törésmutatója ismert. Ahhoz, hogy több mérési pontból tudjuk végezni a térképezést, szükség van a mérési pont pozíciójára, ezért a Lidar készülékeket általában ellátják pozíció-meghatározáshoz szükséges eszközökkel (GPS, IMU) is. A Lidar rendszereknek felhasználás szempontjából különböző csoportokba sorolhatjuk. A topológiában használt Lidar rendszereket többnyire repülőgépekre szerelik és így térképezik fel a domborzatot. A hidrografikus rendszereket a tengerfenék feltérképezésére használják. Az ilyen típusú berendezések két különböző frekvenciájú nyalábbal működnek. A földi Lidar rendszereket járműre vagy talajra szerelik és általában városképek modellezésére, épületek külső vagy belső térképezésére használják, de képesek mozgó objektumok azonosítására is. Az önálló laboratórium során felhasznált adatok egy Riegl VZ 400-as Lidarral készültek. A mérés során az egységet a földre rögzítik. Másodpercenként 122000 pontot képes rögzíteni, 100 -os vertikális látószögben. A rendszer ezen kívül fel van szerelve egy kamerával is, így lehetőség nyílik a távolságon és az intenzitáson kívül RGB adatokat is hozzárendelni a pontokhoz. Az önálló laboratórium folyamán, csak a pontok pozíció (XYZ) adatait használtam fel, az RGB és intenzitásadatokat figyelmen kívül hagytam. 1 3

1. ábra: Velodyne Lidar által készített kép 2 2. ábra: Riegl VZ 400 által készített kép A feladat specifikálása A feladatom az önálló laboratórium során különböző, oszlopok detektálása volt, melyet később felhasználhatunk akár közúti táblák pozíciójának meghatározására. Az önálló laboratórium folyamán felhasznált mintákat a SZTAKI bocsátotta rendelkezésemre. A kapott pontfelhők több mérési pozícióból lettek felvéve, majd a BKK Közút Zrt. Közúti Adatgyűjtő REndSzer projektjének keretében, lettek egyesítve a mért adatok. Az pontfelhők, amiken dolgoztam a Fővám tér és a Gellért tér méréseiből származtak. 3. ábra: Detektálni kívánt oszlop a Fővám téren A pontfelhők feldolgozására a szabad forráskódú Point Cloud Library 3 -t használtam fel mely a pointclouds.org által van karbantartva. Így lehetőségem volt magas szinten (C++ nyelven) dolgozni. Megvalósítás Az oszlopok azonosítására a stratégiám a következő volt: Először meghatározom a talajt reprezentáló ponthalmazt és kivonom az összes pontot tartalmazó ponthalmazból. Ezzel a pontfelhő különböző objektumokra esik szét. Ezek után kivonom a fák lombkoronáját 4

tartalmazó felhőket, így lehetőség nyílik a fák által benőtt oszlopok detektálására is. Legvégül egy klaszterező algoritmussal azonosítom az objektumokat és különböző tulajdonságaik alapján szétválogatom őket. Talajdetekció RANSAC algoritmussal 4. ábra: talaj detektálása RANSAC algoritmussal a Szent Gelért téren A RANSAC 4 (Random Sample Consensus) algoritmus segítségével könnyedén detektálható a legtöbb pontból álló egyenes vagy sík két illetve háromdimenziós ponthalmazban. A RANSAC egy iteratív módszeren alapul, ami addig próbál javítani a talált síkon (vagy egyenesen), amíg el nem éri a paraméterben megadott maximális iterációk számát. Sík detektálásánál az első lépésként véletlenszerűen választ három pontot, amiből kiszámolja a pontokra illesztett sík paramétereit, majd megnézi, hogy a ponthalmaz többi pontja közül mennyi esik bele ebbe a síkba. Mivel a keresett pontok nem alkotnak matematikailag tökéletes síkot, ezért szükséges egy hiba paraméter megadása, mely szemléletesen a detektált sík vastagságát jelenti. Ezek után az algoritmus összeveti az így talált síkot az eddig talált legjobb síkkal, és ha ezt jobbnak ítéli, akkor ez lesz az új legjobb sík, ha nem akkor ezt a síkot eldobja. A ciklusnak akkor van vége, ha elértük az előre megadott iterációk számát. Az algoritmus működéséből adódik, hogy az iterációk számának a növelésével, nagyobb valószínűséggel kapunk az adathalmazra jól illeszkedő síkot. 5. ábra: Fővám tér talajdetekciója 6. ábra: RANSAC algoritmus hibája szintkülönbségeknél 5

Sajnos mivel a RANSAC a legnagyobb síkot találja meg, működése nem megfelelő olyan talajdetekciónál, melynél a talaj nem modellezhető egy síkkal (például szintkülönbségeket tartalmazó talaj). A hiba paramétert 30cm-re választottam meg, mivel azt tapasztaltam, hogyha a paraméter túl kicsi, nem lesz összefüggő a detektált talaj, viszont ha túl nagyra választom, akkor az egyéb talaj feletti részeket is a talajhoz sorolja. Mivel az oszlopok detektálása volt a cél, a szükségesnél kicsit nagyobb paraméter megengedhető, hiszen az oszlopok talpazata az oszlopfelismerésben nem kritikus. Fák lombkoronájának detektálása 7. ábra: Fák lombkoronájának detektálása A következő lépés a fák lombkoronájának detektálása volt. Ehhez azt a stratégiát választottam, hogy a felhő minden pontjára a 10 legközelebbi szomszédja alapján számolom a kovariancia mátrix sajátértékeit, amiből később a görbületet meg tudom határozni. Úgy véltem, hogy a fa lombkoronája nagy görbületet fog mutatni, mivel a lombkorona terét a pontok közel egyenletesen töltik ki. A legközelebbi pontok kereséséhez a pontfelhőt KdTree 5 struktúrába rendeztem, mely lehetővé teszi, hogy a legközelebbi k pontot megtalálása gyorsan történjen. Ezt úgy teszi, hogy a teret a koordinátatengelyekkel párhuzamosan optimálisan partícionálja. Erre azért van szükség, mert a Lidar pontfelhő nem egyenletes eloszlású a térben, ezért érdemes a felbontást csak azokon a területeken megnövelni, ahol a pontok többsége található. A sajátértékeket számítását a Point Cloud Library-be beépített PCA (Principal Component Analysis) segítségével végeztem. A PCA által szolgáltatott adatokból a görbületet a nulladik sajátérték és a sajátértékek hányadosaként számítottam. 6

A kapott pontokat a görbület szerint három csoportba soroltam. Pirossal jelöltem azokat a pontokat, amelyeknél a görbület 0.005-nél kisebb. Ezek a síkfelületeknek felelnek meg. A 0.005-től 0.03-ig terjedő intervallumban zölddel színeztem a pontokat, és a maradék pontokat kékre színeztem, melyek a lombkoronának vélt pontokat jelentik. A képek alapján jól látható, hogy ez az algoritmus is képes (kisebb módosításokkal) a talaj detektálására, esetenként jobban működik, mint a RANSAC, azonban mivel a program futása rendkívül lassú, így végül nem ezt választottam. Sajnos a fák lombkoronájának detektálása is lassúnak bizonyult, így végül ezt a módszert nem implementáltam a végső algoritmusban. Klaszterezés 8. ábra: Sík felületek és fák lombkoronájának detektálása Az objektumok szétválasztását az euklideszi klaszterező algoritmussal végeztem. Ez az eljárás tulajdonképpen a több komponensből álló gráfokra implementált BFS bejárás duálisa. Az algoritmus működése a következő: először kiválaszt egy pontot, majd megkeresi azokat a pontokat, amik a ponttól egy előre megadott távolságon belül vannak és hozzáadja őket a ponthoz tartozó listához. Ezek után kiválasztja a következő pontot a listán és ennek a környezetében lévő pontokat is hozzáadja a lista végéhez, ha azok még nem voltak rajta a listán. Ha a lista végére ért, akkor egy cluster készen van, új pontot választ és innen újraindítja 7

a keresést. Ha az összes pont elfogyott a klaszterezés véget ért. Mivel itt is a legközelebbi pontok kereséséről van szó (csak itt nem a legközelebbi k pontot, hanem az r sugárnál közelebb található pontokat keressük), itt is KdTree-t használtam a keresés gyorsítása végett. 9. ábra: Fővám tér a talaj eltávolítása után A megfelelő objektumok kiválasztása Ezek után, már csak az a feladat maradt, hogy eldöntsük az egyes clusterekről, hogy oszlopok-e. Ezt a következő módszerrel csináltam: megkerestem a cluster legnagyobb és legalacsonyabb z koordinátájú pontját, a z koordinátájuk különbségét egy height változóban tároltam. Ezt követően, úgy gondoltam, hogy azok az objektumok tekinthetők oszlopnak, amik magasak (height érték magasabb, mint 2,5 méter), és a magasságuk 25%-tól 75%-ig terjedő intervallumában keskenyek, azaz nem szélesebbek 3 méternél. Azért választottam viszonylag nagy értéket, mert a rajtuk lévő esetleges reklámtábláknak még bele kell férni, és ez a paraméter inkább az épülethomlokzattól való megkülönböztetésre szolgál. Ahhoz, hogy a szélességüket mérni tudjam megkerestem az ezen z tartományban 25%-75%-ig terjedő intervallumban az x és y koordináta szerinti szélsőértékeket is, és úgy határoztam, hogy se az x se az y irányú szélesség ne legyen nagyobb a megengedettnél. (Így orientációtól függően a határérték akár 2 0.5 szerese is megengedett.) 8

A kívánt eredményt így nem sikerült megvalósítani, mivel az egyik oszlopról a lelógó vezetékek miatt a szélességre adott kritérium nem teljesült. A szélesség kritérium eltörlésével azonban mindkét oszlopot képesek voltunk detektálni. Továbblépési lehetőségek 10. ábra: Az algoritmus által (feltételek enyhítése után) detektált oszlopok Lehetséges továbblépési lehetőség az oszlopok különböző csoportokba sorolása, mely segítségével, akár a közúti táblák is felismerhetőek. Ehhez például felhasználhatjuk a lombkorona detektálásához használt algoritmust, mely segítségével az oszlopon lévő síkfelületeket érzékelhetnénk. Mivel a közúti tábláknak jól definiált méretei vannak, ezek szűrése viszonylag szigorú paraméterezés is alkalmazható. Másik lehetséges előrelépési lehetőség a RANSAC algoritmus lecserélése egy olyan algoritmusra, mely lehetőséget nyújt a nem sík talaj detektálására. 9

Források 1 Demkó Bence: Mozgó elemek által generált zaj detektálása 3D Lidar pontfelhőkben 2015. 1-2. 2 Ábra: http://velodynelidar.com/hdl-64e.html 3 Rusu, R.B.; Cousins, S., "3D is here: Point Cloud Library (PCL)," Robotics and Automation (ICRA), 2011 IEEE International Conference on, vol., no., pp.1,4, 9-13 May 2011 4 Martin A. Fischler and Robert C. Bolles (June 1981). "Random Sample Consensus: A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography". Comm. of the ACM 24 (6): 381 395. 5 Szirmay-Kalos László, Antal György, Csonka Ferenc: Háromdimenziós grafika, animáció és játékfejlesztés ComputerBooks, 2003. 181-184. 10