• Nem Talált Eredményt

DokumentációazNKFIHK-16 # 120233projektkereteinbelülvégzettkutató-ésfejlesztőmunkáról SzenzorfúziósésobjektumkövetőeljárásokLidarméréssorozatokfelhasználásával

N/A
N/A
Protected

Academic year: 2022

Ossza meg "DokumentációazNKFIHK-16 # 120233projektkereteinbelülvégzettkutató-ésfejlesztőmunkáról SzenzorfúziósésobjektumkövetőeljárásokLidarméréssorozatokfelhasználásával"

Copied!
58
0
0

Teljes szövegt

(1)

Számítástechnikai és Automatizálási Kutatóintézet

Szenzorfúziós és objektumkövető eljárások Lidar méréssorozatok

felhasználásával

Dokumentáció az NKFIH K-16 #120233 projekt keretein belül végzett kutató- és fejlesztőmunkáról

Készítette Projektvezető

Horváth Győző dr. Benedek Csaba

2020. július 28.

(2)

Tartalomjegyzék

Kivonat i

Abstract ii

1. Bevezetés 1

2. Lidar szenzorok 3

2.1. Lidar alapú érzékelési technológia . . . 3

2.1.1. Impulzus alapú lézerszkenner . . . 4

2.1.2. Fázismérés alapú lézerszkenner . . . 4

2.2. Nem valós idejű lézerszkennerek . . . 5

2.2.1. Mobil lézerszkenner . . . 5

2.2.2. Statikus lézerszkenner . . . 6

2.3. Valós idejű lézerszkennerek . . . 7

2.3.1. Velodyne VLP16 és Velodnye HDL64 lidarok . . . 7

3. Szenzorfúzió 10 3.1. Kalibrációs eljárás . . . 11

3.1.1. Doboz elkülönítése . . . 11

3.1.2. Doboz oldalsíkjainak meghatározása . . . 11

3.1.3. Iteratív doboz-illesztés . . . 12

3.2. Lidar-kamera . . . 13

3.2.1. Kamera alapú lidar pontfelhő színezés . . . 13

3.2.2. Lidar pontok kamera képére vetítése . . . 14

3.3. Lidar-lidar . . . 16

3.3.1. Lidar szenzorok elhelyezése . . . 17

3.3.2. Regisztráció . . . 17

3.4. Kiértékelés . . . 19

3.4.1. Előnyök . . . 19

3.4.2. Korlátok . . . 19

3.4.3. Problémák megoldhatósága . . . 19

4. Objektumdetekció 20 4.1. A korábbi munkám során elkészített eljárás . . . 20

4.1.1. 2D szabályos rács kialakítása . . . 20

4.1.2. Szegmentáció . . . 21

4.1.3. Objektumdetekció . . . 22

4.1.4. Problémák az eljárással . . . 23

4.2. Talajszint becslés . . . 24

4.3. Az új objektumdetekciós eljárás . . . 26

4.3.1. Talaj detektálása . . . 26

(3)

4.3.2. Falak detektálása . . . 27

4.3.3. Magas objektumok megkülönböztetése . . . 28

4.3.4. Objektumdetekció . . . 29

4.3.5. Objektumok utófeldolgozása . . . 29

5. Az eljárás kvantitatív értékelése 31 6. Objektumkövetés 34 6.1. Motiváció . . . 34

6.2. Új eljárás fejlesztésének indokoltsága . . . 34

6.3. Algoritmus . . . 35

6.3.1. Tracker-objektum párok keresése . . . 35

6.3.2. Egy trackerhez rendelt több objektum kezelése . . . 36

6.3.3. Egy objektumhoz rendelt több tracker kezelése . . . 38

6.3.4. Tracker lista frissítése . . . 39

6.4. Értékelés . . . 39

7. Valós idejű működés 42 7.1. Frame összeállítása csomagokból . . . 42

7.2. Csomagok felépítése . . . 43

7.3. Pontok x-y-z koordinátáinak számítása . . . 44

7.4. Valós idejű olvasás működése . . . 45

8. Felhasználási lehetőségek 46 8.1. Szabad terület detekció autópályán . . . 46

8.1.1. A megoldás alapötlete . . . 46

8.1.2. Kihívások . . . 46

8.1.3. Az algoritmus váza . . . 46

8.1.4. Úttest bal oldali határának meghatározása . . . 47

8.1.5. Úttest jobb oldali határának meghatározása . . . 48

8.1.6. Szabad terület meghatározása az úttesten belül . . . 49

8.1.7. Összegzés . . . 50

8.2. További felhasználási lehetőségek . . . 50

9. Továbblépési lehetőségek 51

Irodalomjegyzék 53

(4)

Kivonat

Napjaink egyik érdekes kutatási területe az autonóm robotok és járművek környezet- érzékelése és döntéshozatala. A környezet érzékelésére egyrészt kamerákat, másrészt lézeres távolságmérésen alapuló lidar eszközöket is használhatunk. Utóbbiak a technológia fejlődésével és az árak csökkenésével egyre inkább elterjednek. Pontos geometriai leírók mérésével pontfelhő formájában rögzítik a környezetüket. A riportban bemutatott munka során Velodyne VLP16 és HDL64 típusú forgó többsugaras lidarok méréseit feldolgozó al- goritmusokat fejlesztettem, és ezek fedélzeti felhasználásához készítettem szoftvermodult.

Mind a kamera alapú, mind a lézeres méréseken alapuló környezetérzékelésnek megvan a maga előnye. A lidar érzékelők egyik fontos előnye a kamerákkal szemben, hogy aktív mé- rési technológiát használnak, ezért a rögzített adatok nem függnek a külső megvilágítástól.

A lidar szenzorok gyengéi közé tartozik az alacsony felbontás és a színinformáció hiánya. A két technológia jól kiegészíti egymást az előnyös és hátrányos tulajdonságai tekintetében, ezért érdemes őket együtt használni. A riport első felében a szenzorfúziós lehetőségeket vizsgálom meg lidar-kamera és lidar-lidar esetekben. Bemutatom a SZTAKI Gépi Érzékelés Kutatólaboratóriumában működő kutatócsoportunk által alkalmazott kalibrációs eljárást, mely a fúzióhoz szükséges transzformációkat határozza meg.

Autonóm járműveknél lidar alkalmazásakor a környezet értelmezése a megoldandó feladat, ehhez alapvető követelmény az objektumok észlelése. Felhasználok egy korábbi munkám során elkészült objektumdetekciós eljárást. Ez azonban távoli objektumok ro- busztus észlelésére nem alkalmas a benne használt durva talajszintbecslés miatt. További problémát jelentenek a falak mentén található hamis pozitív detekciók, valamint az össze- ragadó közeli objektumok. A riport második részében bemutatok egy általam fejlesztett új eljárást objektumok észlelésére és követésére, mely ezeket a hibákat képes kiküszöbölni.

Az elkészült eljárást szeretnénk valós környezetben is tesztelni, ehhez készítettem lidar valós idejű használatát támogató modult.

Az eljárások fejlesztéséhez rendelkezésemre állt egy C++ nyelven írt keretrendszer.

Munkám során az algoritmusokat ebben a keretrendszerben implementáltam, fejlesztet- tem, és teszteltem általunk végzett mérések eredményeképp adódó pontfelhő szekvenciákat tartalmazó fájlokon.

(5)

Abstract

Nowadays one interesting research field is the environment perception and decision making of autonomous robots and vehicles. For environment perception we can use either cameras or lidar devices working with laser-based distance measurement. Lidars are gaining ground with the development of technology and the decrease of costs. These capture their environment with accurate geometric descriptive measurement. In my work I developed algorithms for processing measurements from Velodyne VLP16 and HDL64 rotating multi- beam lidars, and I created a software module that supports onboard usage.

Both camera-based and laser-based environment detecting process has its own advantages.

One advantage of lidar sensors against cameras is that as they use active measurement technology, the measured data do not depend on external illumination. The disadvantages of lidar sensors are low resolution and the lack of colour information. We can see that these two environment perception technologies complement each other quite well in their strengths and weaknesses That is why it is worth using them together. In the first part of this report I will examine the possibilities of sensor fusion in camera-lidar and lidar-lidar cases. I will show the calibration process that we use in our SZTAKI Machine Perception Laboratory research group to determine the needed transformations for sensor fusion.

When using lidars for autonomous vehicles the task is to interpret the environment. One basic requirement for that is to detect the surrounding objects. From my earlier works there is an algorithm for this task available. But this algorithm cannot robustly detect further objects because of the used coarse ground estimation. More problems occur because of false positive detections near walls, and because of close objects that stick together. In the second part of the report I will show a new algorithm developed by me for detecting, and tracking objects. This will be able to solve the problems mentioned above. We would like to test this new algorithm under real circumstances, for this I created a new module supporting real-time data acquisition from the lidar.

For developing algorithms there was a framework written in C++ programming language that I was given. During my work I implemented, developed, and tested the algorithms in this framework on datasets from our own measurements.

(6)

1. fejezet

Bevezetés

Napjainkban egyre több alkalmazási területen terjednek el különféle környezetérzékelő és -elemző eljárások. Gyártási folyamatok automatizálásához teherszállító robotok alkal- mazása elengedhetetlen, melyek gyakran olyan munkatérben dolgoznak, ahol emberek is vannak. Ezért a biztonság szempontjából is kritikus feladat, hogy ezen robotok képesek legyenek a környezetüket érzékelni és ez alapján döntést hozni különböző helyzetekben. Az utcai autók esetében megjelentek már vezetést támogató rendszerek – például automata parkolás, tempomat, sávtartás autópályán. A tendencia itt is azt mutatja, hogy a jövőben egyre több önvezető funkció kerül majd bevezetésre egészen addig, amíg meg nem jelennek az autonóm, önmagukat vezetni képes autók. Ehhez azonban szükség van minél pontosabb és megbízhatóbb környezet érzékelésre és értelmezésre.

A kép alapú környezetérzékelés régóta ismert és alkalmazott eljárás. Szerteágazó területeken terjedtek el képfeldolgozó algoritmusok, többek között a minőség-ellenőrzés, az orvosi képalkotás, térképező eljárások, és objektumészlelés területén. Ezeknek az algoritmusoknak azonban jelentős problémát okozhatnak a különböző megvilágítási vi- szonyok, illetve a takarási jelenségek, ezért nem tökéletesen megbízhatóak. A kép alapú objektumészlelés feladatának megoldásában sokat segítenek az elmúlt 7-10 évben nagymér- tékben fejlődő gépi tanulás alapú módszerek. Ezek azonban biztonságkritikus környezetben önmagukban nem jelentenek megoldást, ugyanis mindig előfordulhat olyan forgatókönyv, amire a neurális háló nem készült fel korábban. Belátható tehát, hogy kamerák képe alapján működő képfeldolgozó eljárások ugyan meglehetősen jó eredményeket szolgáltat- nak, ennek ellenére nem beszélhetünk tökéletes megbízhatóságról. Ez viszont elvárás lenne olyan biztonságkritikus környezetekben, mint az autonóm robotok és járművek területe.

A lézeres távolságmérésen alapuló lidar (Light Detection and Ranging – fényérzékelés és távmérés) szenzorok gyorsan fejlődtek az elmúlt időszakban. A technológia fejlődésével a lidar érzékelők mérete és ára is jelentősen csökkent. Ezzel egy időben az iparban is szélesebb körben kezdték el használni őket. A megnövekedett érdeklődésnek köszönhetően ma már a lidarok felhasználhatósága és az általuk szolgáltatott adatot feldolgozó algoritmusok aktív kutatási területet jelentenek. A kamerákkal szemben előnyük, hogy valós méretekkel rendelkező 3D modellt készítenek a környezetükről. Ennek köszönhetően az objektumok felismerésére valós méretek alapján van lehetőségünk. A lidar érzékelők további előnye, hogy érzéketlenek a megvilágítási körülményekre. Ezzel szemben hátrányuk az alacsonyabb felbontás, és a színinformáció hiánya.

A riportban a lidar-alapú objektumészlelés témakörét fogom körbejárni koncentrálván a valós idejű felhasználásra alkalmas típusokra. Napjainkban gyorsan terjednek a gépi ta- nulás alapú eljárások. Az objektumdetekció témakörében egy 2019-ben publikált megoldás a PointPillars nevű módszer [6]. Ennek lényege, hogy a bemeneti pontfelhőt oszlopokra bontja fel, és ezeket az oszlopokat adja egy neurális háló bemenetére, mely a kimenetén

(7)

megadja az objektumokat. Találhatunk olyan módszereket is, melyek tisztán geometriai alapon detektálnak objektumokat. A SZTAKI Gépi Érzékelés Kutatólaboratóriumában működő kutatócsoportunk által fejlesztett eljárás található meg [1]-ben.

A projektmunkám során geometriai alapú eljárásokkal foglalkoztam. A szakirodalom- ban megfigyelhető, hogy a geometria alapú módszerek többsége ismétlődő lépéssorozaton alapul, ami a következő:

1. Talajpontok leválasztása

2. 2D cellarács vagy 3D voxelrács elkészítése 3. Objektumok észlelése

4. Objektumok utófeldolgozása, osztályozás

Az általam megvalósított objektumészlelő algoritmus is ezt a mintát követi. Működé- sének az alapja 2D cellarács, mely képes biztosítani valós idejű működéshez szükséges futási időt, és pontos eredmény érhető el vele. A szakirodalomban található valós idejű megoldásokat kiegészítem egy pontos talajszint-becslő eljárással, ami a detekció hatékonyságát javítja. A detektált objektumok elkülönítése problémát jelent sok helyen az eljárásnak. A projektmunkám során készítettem az objektumdetekciós lépést kiegészí- tettem objektumkövetési lépéssel, melynek felhasználásával az objektumok elkülönítése megoldható.

A riportban bemutatom a lidar technológia alapjait, a különböző elveken működő lidar típusokat, és azok felhasználási területeit.

Ezt követően részletezem a lidar-kamera és lidar-lidar szenzorfúzió lehetőségeit és indokoltságát. Bemutatok egy kalibrációs eljárást, melyet a kutatócsoportunkban alkalma- zunk, hogy meghatározzuk a lidar-kamera és lidar-lidar transzformációkat. A kalibrációs eljárás által meghatározott transzformációk felhasználhatóságát is megvizsgálom.

Ezután rátérek a pontfelhőben történő objektumdetektálás lehetőségeire. Bemutatok egy általam fejlesztett új talajdetekciós eljárást. Korábbi munkámban [4] és az [1]-ben található objektumdetektáló eljárásba integrálom ezt az új talajdetekciós eljárást, majd bemutatom, hogy ezzel az új algoritmussal az objektumok pontosabban észlelhetők.

A detektált objektumok néha összeragadhatnak vagy kisebb darabokra eshetnek szét.

Bemutatok egy általam fejlesztett objektumkövető eljárást, melynek segítségével ez a probléma kezelhető lesz.

Az elkészült objektumészlelő eljárást lefuttatom különböző valós idejű lidar típusok pontfelhő szekvenciáira, majd az eredményeket kvantitatívan értékelem.

Korábbi munkámban célkitűzés volt, hogy valós körülmények között tesztelni lehessen az algoritmusokat, ehhez az általam használt keretrendszerbe integráltam egy lidart valós időben olvasni képes modult. A riport utolsó részében ezt a modult fogom bemutatni.

Végül összegzem a munkám során megvalósított eljárásokat, majd megfogalmazok továbblépési és felhasználási lehetőségeket.

(8)

2. fejezet

Lidar szenzorok

2.1. Lidar alapú érzékelési technológia

A lidar (Light Detection and Ranging – fényérzékelés és távmérés) technológia fény- érzékelésen alapuló távolságmérést alkalmaz. A kamerákkal ellentétben nem passzív, hanem aktív érzékelési módszer. Emiatt a működésének nem feltétele, hogy a környezete látható legyen, akár teljes sötétségben is képes működni. A távolságméréshez lézeres távolságmérő szenzorokat használ, melyek lézernyalábot bocsátanak ki, majd a visszavert nyaláb valamely tulajdonságából meghatározzák a visszaverődési pont távolságát. Kétféle elv szerint működhetnek a távolságmérő érzékelők, mindegyiknek megvan a maga előnye és hátránya. Az első módszer a lézersugár kibocsátása és a visszavert nyaláb érzékelése között eltelt időt méri. A második elv szerint működő érzékelők modulált lézernyalábot bocsátanak ki, és visszaverődés után ennek mérik a fázisát.

A lidart más néven nevezhetjük lézerszkennernek is, ami magyar nyelven jobban leírja, hogy mit is csinál valójában. A lézerszkennerek az előbbi elvek szerint működő távolságmérő érzékelőket használnak, rendszerint többet ezekből. A lézerszkenner ezen érzékelőkkel végez méréseket különböző irányokba, ezáltal végigpásztázza a környezetét.

Ha kellően sok irányban végez távolságmérést, akkor a sűrűn elhelyezkedő pontokból előáll a lézerszkenner környezetének 3D modellje. Mondhatjuk, hogy a lidar lézeres távolságméréssel beszkenneli a környezetében található objektumok pontjait. A különböző irányokba történő mérést sok típusnál forgómozgással biztosítják. Vannak azonban olyan típusok is, melyek tükrök mozgatásával oldják meg ezt.

A lidar környezetét gömbi koordináta-rendszerben rögzíti, melynek középpontja a lidar egy belső pontja. A lidar belső szerkezetéből meghatározható a lézernyaláb kilövé- sének iránya, a távolságot pedig méri a távolságmérő érzékelő, így a gömbi koordináták adódnak. A későbbi feldolgozás során a gömbi koordinátákat Descartes-koordinátákba szoktuk átszámolni.

A következőkben kitérek a lidar alapú érzékelési technológia előnyeire és hátrányaira.

A technológia nagy előnye a kamerákkal szemben, hogy érzéketlen a megvilágításra. Aktív technológia révén biztosítja magának a méréshez szükséges lézernyalábot, így a környezete lehet akár teljes sötétségben is, a lidar akkor is képes érzékelni. Egy további előny, hogy a lézerszkennerek nagy pontossággal mérnek geometriai leírókat. Ennek köszönhetően algoritmusok fejlesztése során valós méreteket vehetünk figyelembe. Jelen dolgozatomban a későbbiek során ezt többször ki is fogom használni.

A lidar alapú érzékelési technológia egyik hátránya az alacsony felbontás. A költségek és a méretek limitáltsága miatt nem tudunk tetszőlegesen sok lézeres távolságmérő érzékelőt elhelyezni a lidaron belül. A kitakarási jelenségek képfeldolgozó eljárások során nehézséget jelentenek. Ez a lidaroknál sincs másképp, ugyanis ezek sem „látnak keresztül”

(9)

Kibocsátás

Repülési idő

Visszaverődés

Visszaverődés érzékelése

2.1. ábra. Impulzus alapú távolságmérés

Kibocsátás Visszaverődés

Visszaverődés érzékelése Fázismérés

Referencia

Jel ΔΦ

2.2. ábra. Fázis alapú távolságmérés

az objektumokon. A lézerszkennerek valójában 2,5D-ben rögzítik a környezetüket az ideális 3D helyett.

A visszavert lézernyaláb vizsgálata szerint több csoportba sorolhatjuk a lézerszkenne- reket ([2], [3]), ezek közül mutatom be most a két legelterjedtebbet.

2.1.1. Impulzus alapú lézerszkenner

Az impulzus alapú lézerszkenner a lézersugár kibocsátása és visszaérkezése közti időkü- lönbséget méri, majd ebből számítja ki az objektum adott pontjának távolságát:

Távolság= Fénysebesség·Időkülönbség 2

A távolság mérésének hibája az idő mérésének pontosságától függ. Az ilyen működésű szkenner főként nagy távolságok mérésére alkalmas, pontossága kevésbé jó. A vele mérhető maximális távolság viszont elérheti akár a 6000 m-t is.

A kutatáshoz felhasznált Velodyne VLP16 és HDL64 lidarok mindegyike impulzus alapú távolságmérési módszert használ. Hatótávolságuk eléri a 100-120 m-t, bár ezt nagyon ritkán használjuk ki a városra jellemző beláthatóság miatt. Ezen lidarok néhány cm pontossággal képesek rögzíteni pontokat a környezetükből.

2.1.2. Fázismérés alapú lézerszkenner

A fázismérés alapú lézerszkenner távolságmérő érzékelői által kibocsátott lézersugár harmonikus hullámmal modulált. A visszavert sugár kibocsátott sugárhoz képesti fá- ziskülönbségéből számítja ki a lidar az adott pont távolságát. Az ilyen elven működő típusok magas szkennelési sebességgel rendelkeznek (akár egymillió pont/másodperc).

Ezen felül a pontosságuk is jelentősen nagyobb (mm nagyságrendű), mint az impulzus alapú szkennereké. Azonban a hatótávolságuk kisebb, néhány 10 m-ig terjed.

(10)

2.3. ábra. Mobil lézerszkenner rendszer

2.2. Nem valós idejű lézerszkennerek

2.2.1. Mobil lézerszkenner

Mobil lézerszkennereket (2.3.ábra) alkalmazunk nagy kiterjedésű területek (pl. utcák, városok) feltérképezésére. A térképezés során a lézerszkennert járműre rögzítjük, majd bejárjuk vele a rögzíteni kívánt területet. Így sok pozícióból sok időpillanatban sok különböző pontfelhő készül. Ezeket a pontfelhőket a mérés során nagyméretű tárolókra mentjük, és az adatot csak később dolgozzuk fel: nagy számítási igényű algoritmusokkal illesztjük össze a sok pontfelhőt.

Ahhoz, hogy az illesztés minél pontosabb legyen, felhasználunk további külső rend- szereket is. Felhasználjuk a GPS (Global Positioning System) által mért abszolút pozíciót, illetve az IMU (Inertial Measurement Unit) által mért kisebb rezgéseket, mozgásokat is.

Ezen rendszerek által szolgáltatott adatok felhasználásával a pontfelhők illesztése nagy pontossággal megtehető. A mobil lézerszkenneres térképező eljárás során olyan pontfelhő készíthető, ahol cm-es pontossággal helyezkednek el pontok.

Érdekesség, hogy a térképező eljárásokhoz használt lézerszkenner rendszerbe beépített kamerákat is használunk. Ezeknek a célja, hogy a pontokhoz színinformáció is rendelhető legyen. Ezzel egyrészt a vizuális élmény javítható a pontfelhő megtekintése során. Másrészt a felhasználás szempontjából fontosabb, hogy a pontfelhőket feldolgozó eljárásoknak többletinformációt jelent a színek ismerete, melyet akár szegmentációs algoritmusok során fel lehet használni.

A mobil lézerszkennelés egyik felhasználási területe a légi távolságképek felvétele (Airborne Laser Scanning, ALS). Ehhez nagy hatótávolságú, de kisebb pontosságú lidarokat használunk, és ezeket repülőgépre rögzítve haladunk át a megörökíteni kívánt terület felett. A nagy hatótávolság és kisebb pontosság követelményének megfelelően impulzus alapú lézerszkennereket alkalmazunk ilyen mérésekre. Kiterjedt területek légi rögzítéséhez használunk ALS rendszereket. Mezőgazdasági, erdészeti területek felmérése során információt nyerhetünk a növények növekedéséről, vagy az erdők területének változásáról. Ezen információk felhasználásával döntéseket hozhatunk a jövőbeli öntözési tervekről, vagy az erdőgazdálkodásban szükséges lépésekről. Városi növényzet, zöldterület felmérésére is alkalmaznak még légi lézerszkennereket. Az előbbiekhez hasonlóan a mérések itt is a jövőbeli stratégia kialakítását szolgálhatják.

Térképező eljárások során is használunk lézerszkenner-alapú eljárásokat. Ezek során a lidart mozgó járműre rögzítve készítjük el a szárazföldön a felvételeket (Terrestrial Laser Scanning, TLS). Ez az eljárás alkalmas épületek, hidak, útszakaszok, vagy akár egy egész

(11)

város felmérésére is. A lézerszkennereket természetesen nem csak autóra, hanem például hajóra rögzítve is használhatjuk, így hidak szerkezetét alulról is rögzíthetjük. Városokról mobil lézerszkenneléssel készíthető nagy felbontású pontfelhők alapján lehetőségünk nyíl- hat az úthálózat javításának és fejlesztésének terveit lehetséges elkészíteni. A térképező rendszerek nagy sűrűséggel rögzítenek pontokat (kb. 1 pont/cm2), ami lehetővé teszi akár kátyúk detektálását is. Ezen kívül az út melletti jelzőtáblákról, zebrák számáról, és egyéb fontos információkról lehetséges adatbázist létrehozni a készített pontfelhő alapján. A Budapest Közút rögzítette Budapest 3D pontfelhő modelljét az elmúlt években, hogy az előbb említett felhasználási területekben rejlő lehetőségeket kihasználja. Természetesen a már meglévő pontfelhő modellt időnként frissíteni kell az esetleges változások miatt, ehhez újbóli mérések szükségesek.

A városokról készített 3D pontfelhő modellek felhasználhatók valós idejű alkal- mazásokban lokalizációs problémák megoldása során. Sikeres lokalizáció után esetleges változások is feljegyezhetők az utcaképen (eltűnt újságos bódé, új buszmegálló, stb.). Ily módon lehet információt szerezni arról is, hogy mely helyszíneken lenne szükség egy újbóli mérésre a térkép frissítéséhez.

2.2.2. Statikus lézerszkenner

A statikus lézerszkennerek pontosabb és sűrűbb pontfelhők készítésére alkalmasak, mint a mobil lézerszkenner rendszerek. Három lábú állványon rögzítve használjuk őket, minek köszönhetően a mérési platform mozgása nem hoz be külső hibákat a mérési eredményekbe.

További előnyük a mobil lézerszkenner rendszerekkel szemben, hogy jármű által nem meg- közelíthető helyeket is fel lehet velük mérni. Például a Budapest Közút a metró megállókat statikus lézerszkennerrel örökítette meg. A statikus lézerszkennerek is kamerával felszerelve működnek, azaz képesek a pontokhoz színinformációt is rendelni.

Statikus lidarokat használhatunk építkezések különböző fázisainak dokumentálásá- hoz, régészeti ásatások helyszínének felméréséhez, vagy akár műemlékek három dimenziós megörökítéséhez.

A statikus lézerszkennereket állványra helyezve fix pozícióban használjuk. Azonban az állvány pozícióját egy mérés elvégzése során többször is megváltoztatjuk, majd a különböző mérések eredményét számításigényes algoritmusokkal regisztráljuk. Több mérési pozícióval a kitakarási jelenségek hatását minimalizálhatjuk, illetve a rögzített pontok számát, azaz a pontfelhő sűrűségét növelhetjük.

2.4. ábra. Statikus lézerszkennelés

(12)

2.5. ábra. Velodyne-család: HDL64, HDL32, VLP16

2.3. Valós idejű lézerszkennerek

Az eddig ismertetett lézerszkennerek által szolgáltatott adatoknak mindössze a mentése történt valós időben, a feldolgozás már csak később került végrehajtásra. Amennyiben di- namikus objektumok észlelésére szeretnénk lidart használni autonóm jármű/robot esetén, akkor már szükségünk lesz valós idejű adatfeldolgozásra.

A valós idejű lézerszkennerek egyik felhasználási területe tehát az önjáró autók/- robotok környezetérzékelése. A feladat itt a környezetük elemezése és értelmezése, hogy ez alapján képesek legyenek döntéseket hozni. Korábban ezeket az elemzési-értelmezési feladatokat csupán kamerák 2D képének feldolgozásával próbálták megoldani. Azonban az ilyen módon működő rendszerek érzékenyek az időjárási körülményekre, illetve a látási viszonyokra. Képfeldolgozó eljárások kimenete nem ad teljes bizonyossággal jó eredményt, ezért súlyos döntési helyzetekben nem támaszkodhatunk csak rájuk. A helyes döntés valószínűségét növelhetjük valós idejű lidarok pontfelhőjének elemzésével. Emellett a kamera alapú eljárások és a lidar-alapú eljárások előnyös és hátrányos tulajdonságaikban jól kiegészítik egymást, emiatt is érdemes őket együttesen alkalmazni.

A valós idejű lézerszkennereket főként környezetelemző eljárások során használhatjuk fel: mozgásészlelés és -predikció, objektumészlelés, ütközéselkerülés, stb. De alkalmazhatók még térképkészítésre, és lokalizációs feladatok megoldása során is használhatjuk őket.

2.3.1. Velodyne VLP16 és Velodnye HDL64 lidarok

A munkám során a Velodyne VLP16-os és Velodyne HDL64-es valós idejű lidarral foglalkoztam. A 2.5. ábrán jobb oldalt látható a VLP16-os lidar, mely körülbelül tenyérnyi méretű. Ugyanezen árba bal oldalán látható a HDL64-es lidar. A távolságmérési techno- lógiát tekintve mindegyik az impulzus alapú lézerszkennerek közé sorolható. A mérési tartományuk kb. 100 m-ig terjed, pontosságuk tipikusan +/- 3 cm közé tehető.

Mindkét lidar a forgó többsugaras lidarok csoportjába tartozik (RMB – Rotating Multi-Beam). Az elnevezés arra utal, hogy egymás fölött található lézeres távolságmérő szenzorok nagy sebességű forgása közben képes rögzíteni a környezetét. Úgy lehet ezt elképzelni, hogy egy adott pillanatban adott szögben a lézeres távolságmérők elvégeznek egy mérést, majd a lidar arrébb fordul, és ott megint elvégeznek egy mérést. Így a forgómozgás közben végzett sok mérés eredményeképp kaphatjuk meg a környezetünket pontfelhő formájában. A méréseket impulzus alapú távolságérzékelő szenzorok végzik.

A VLP16-os lidar függőleges irányban 16 lézeres távolságmérő érzékelővel rendelkezik.

Ezek más és más szögben állnak a vízszintes síkhoz képest−15-tól+15-ig 2-os felbon- tással, ezzel 30-os látóteret eredményezve. Működése során a lidar belsejében a lézeres

(13)

2.6. ábra. Velodyne VLP16 gömbi koordináta-rendszere

távolságmérő érzékelők forgómozgást végeznek, így rögzítve a 360-os környezetüket. A forgómozgás frekvenciája ennél a típusnál beállítható, 5 Hz-től egészen 20 Hz-ig. A lidar vízszintes felbontása meglehetősen jó,0,1 és 0,4 közé esik.

A HDL64-es lidar függőleges irányban 64 lézeres távolságmérő érzékelővel rendelkezik.

A VLP16-os lidartól eltérően−30-tól+5-ig terjed a látótere, ami 64 csatornával0,55-os felbontást eredményez. A forgómozgás frekvenciája ennél a típusnál is 5 Hz-től 20 Hz-ig terjed. A vízszintes felbontása is a VLP16-os lidaréval egyező: 0,1 és0,4 közé esik.

Az adatokat a Velodyne VLP16 gömbi koordináta-rendszerben menti, melynek origója a lidar egy kijelölt belső pontja (2.6.ábra). Az ábrán φ-vel jelöltem a vízszintes síkkal bezárt szöget. Ez a szög külön-külön az egymás fölött található lézeres távolságérzékelőkre vonatkozik, és nem változik meg a lidar élete során.θa kijelölt előre irányú egységvektorral bezárt szöget jelenti, és az érzékelők forgása során folyamatosan változik. Mérés során a lidar minden lézeres távolságmérőre ismeri azoknak a vízszintessel bezárt φszögét, a for- gómozgás során pedig folyamatosan monitorozza a θszöget. A távolságmérés eredményei az ri távolságok, ennek megléte után a pontok pozícióját ismerjük a gömbi koordináta- rendszerben.

Egy körbefordulás után tehát már rendelkezésünkre áll a környezetünk pontfelhő mo- dellje gömbi koordinátákban. Feldolgozásakor viszont a megszokott Descartes koordináta- rendszert használjuk, ezért a pontok x, y, z koordinátáit ki kell számolni a gömbi koordinátákból. Ezt a következőképpen tehetjük meg:

xi=ri·cosωi·sinαi

yi =ri·cosωi·cosαi zi =ri·sinωi

A valós idejű lidaroktól származó pontfelhők értelmezése az ember számára megle- hetősen nehézkes. A látványt jelentősen rontja az alacsony sűrűség és a színinformáció hiánya. Továbbá ebben a dolgozatban a pontfelhők helyett ezekről készített fényképek lesznek csak láthatók, amik elveszik a 3D érzetet. Ezért a 2.7. ábra segítséget nyújt a Kedves Olvasónak, hogy könnyebben értelmezze a kutatási riportban később megjelenő képeket.

A képen piros téglalappal jelöltem a saját autónkat, erre van felszerelve a lidar. Az autónk haladási irányát jelöli a piros nyíl. Az út két szélén narancssárga színnel jelöltem a járda széleit. A járdától kifelé jelölés nélkül sűrűn elhelyezkedő kék pontokkal láthatók környező épületek falfelületei. Zöld téglalapokkal jelölve pedig az utcában parkoló autók láthatók.

(14)

2.7. ábra. Valós idejű 3D pontfelhő

(15)

3. fejezet

Szenzorfúzió

Szenzorfúziós eljárások sokféle mérnöki területen terjedtek el. Különféle érzékelők kü- lönböző tulajdonságokkal rendelkeznek, aminek köszönhetően azok előnyei és hátrányai jelentősen eltérhetnek egymástól. Például a lidaroknál maradva: igazán pontos és sűrű pontfelhőket statikus lézerszkennerekkel készíthetünk, ám ezek nem használhatók valós idejű alkalmazásokban; ha valós idejű feldolgozást szeretnénk megvalósítani, akkor a pontosságból és a sűrűségből kénytelenek vagyunk engedni. A szenzorfúziós eljárások azért hasznosak és hatékonyak, mert a különféle érzékelők előnyeit hangolják össze.

A gépi látás területén képfeldolgozási eljárások a legelterjedtebbek. Ezek kamerák által készített képsorozatok alapján értelmezik a környezetet. A kamerák használatának előnyei közé sorolhatjuk az aránylag alacsony árukat, továbbá hogy nagy felbontású színes képeket lehet velük készíteni. Ezzel szemben viszont hátrányuk, hogy a kép-alapú eljárások érzékenyek a megvilágításra, illetve az objektumok felismerését takarás jelensége is nehezítheti. Az elmúlt időszakban teret nyertek a lidar érzékelők is a gépi látásban, ugyanis a technológia fejlődésével az eszközök pontossága nő, ára pedig csökken (ugyanazt a pontosságot már olcsóbban kaphatjuk meg). A lidarok hátránya a relatív magas ár, az alacsony felbontás, a színinformáció hiánya, illetve náluk is problémát jelent a takarás jelensége. Ezzel szemben viszont előnyük, hogy érzéketlenek a megvilágításra, és pontosan fel tudják térképezni a környezetüket 3D-ben, minek köszönhetően meglehetősen pontos geometriai adatok állnak rendelkezésünkre az elemzéshez.

Látható tehát, hogy a lidar és a kamera sok tekintetben kiegészíti egymást. A lidar alacsony felbontását ellensúlyozhatjuk a kamera nagy felbontásával, továbbá a megvilágításra érzéketlen lidarral kiegészíthetjük a kamerák hiányosságát a különböző fényviszonyok esetén. A kitakarás jelensége mindkét eszköznél problémát okozhat, ezt úgy próbáljuk megoldani, hogy több lidart vagy több kamerát használunk a környezet elemzéséhez.

Az lidart és a kamerát tehát érdemes együtt használni. Ehhez szükség van a kép pixeleinek és a pontfelhő pontjainak megfeleltetésére. Ehhez ismernünk kell egyrészt a kamera 3D → 2D leképzését, másrészt a kamera és a lidar közti transzformációs mátrixot (mely egy forgatás mátrixból és egy eltolás vektorból áll). Ezeket a paramétereket úgynevezett kalibrációs eljárással határozzuk meg.

(16)

3.1. Kalibrációs eljárás

A kutatócsoportunk által alkalmazott módszer [8] dobozokat használ fel a kalibrációhoz. A következőkben ezt a módszert fogom bemutatni. A kalibrációt még a mérés kezdete előtt végezzük el. Az eljárás célja, hogy a kamerák képén és a lidarok pontfelhőjén egyaránt látható doboz négy látótérben lévő sarokpontja közti 2D→3D és 3D→2D transzformációt meghatározzuk. Az eljárás lépései:

0. Kamera belső paramétereinek meghatározása 1. Egy doboz kamera és lidar elé helyezése 2. Doboz pontjainak elkülönítése a pontfelhőtől 3. Doboz detektálása, sarokpontjainak meghatározása 4. Sarokpontok kiválasztása a képen

5. 2D-3D pontmegfeleltetésekből külső paraméterek meghatározása

Az eljárás alkalmazásához szükséges előzetesen a kamera belső paramétereinek meg- határozása. A módszer mögötti alapötlet az, hogy megfeleltetünk egymásnak 4-4 pontot a kamera képén és a lidar pontfelhőjében, majd ebből a megfeleltetésből meghatározzuk a 2D-3D transzformációt. A megfeleltetett 4 pont a doboz 4 sarka lesz, ehhez fontos a dobozt úgy elhelyezni mind a lidar pontfelhőjében, mind a kamera képén, hogy azokon a doboznak 3 oldala látsszon. A sikeres kalibrációhoz elég egyetlen felvétel. Bármilyen doboz használható a kalibrációhoz, mindössze annyi szükséges, hogy annak oldalhosszait lemérjük. Az eljárás elkészítésekor a szerzők fontosnak tartották a minél kevesebb emberi beavatkozást.

3.1.1. Doboz elkülönítése

A pontfelhő klaszterezése a Mean-Shift algoritmus által történik. A doboz környezetének kiválasztása kézzel történik. A kalibráció során a dobozt székre rakjuk, ami azt eredmé- nyezi, hogy a Mean-Shift a szék pontjait is hozzárendeli a doboz klaszteréhez. Emiatt szükséges a doboz pontjainak utólagos elkülönítése a szék pontjaitól.

A doboz elkülönítéséhez először a RANSAC (Random Sample Consensus) algoritmus felhasználásával detektáljuk a dobozt tartalmazó szegmensben a síkokat. Ezt követően a meglévő síkok közül kiválasztjuk azt a hármat, melyek normálvektorai közelítőleg páronként merőlegesek egymásra. Ezt az alábbi hibafüggvény minimalizálásával tehetjük meg:

E(n1, n2, n3) =|n1n02|+|n1n03|+|n2n03|, ahol nk a k-adik sík normálvektora.

A 3.1. ábrán láthatóak a doboz szegmensében detektált síkok. Közülük a hibafüggvény minimalizálása során a zöld, a piros, és a sárga síkok kerülnek majd kiválasztásra, mert ezeknek a normálvektorai páronként közel merőlegesek egymásra.

3.1.2. Doboz oldalsíkjainak meghatározása

Az előző lépésben detektált síkok halmazában (sík közelében található pontok összessége a sík halmaza) általában találhatók még külső pontok. Erre láthatunk példát a 3.1. ábrán:

zöld pontok a kék és a fekete síkon. Ezen kívül a mérések zajossága miatt is kerülhetnek külső pontok a doboz oldalait tartalmazó síkok halmazában. A bármilyen okból az oldal síkjának halmazába kerülő külső pontok a későbbi lépések pontosságát rontanák, ezért szükség van ezeknek a külső pontoknak az eltávolítására. Ehhez újból a RANSAC eljárást

(17)

3.1. ábra. Detektált síkok a dobozt tartalmazó klaszterben

alkalmazzuk, azonban az előzőekkel ellentétben most megköveteljük a síkok merőlegességét (az imént csak megközelítőleg kellett merőlegesnek lenniük a kiválasztott síkoknak).

Először az egyik detektált sík halmazából választunk három pontot. Ezt követően a második sík halmazából már csak két pontot választunk, hiszen a merőlegesség miatt ennyi már egyértelműen meghatározza ezt a síkot. A harmadik sík halmazából ugyanezen megfontolásból már csak egy pontot választunk. Így három páronként merőleges síkot határoztunk meg, ezekre megszámoljuk a belső- és a külső pontokat. Ezt a lépést több különböző pontválasztással elvégezzük, majd ezek közül kiválasztjuk a legjobb megoldást.

Végül erre az esetre eltávolítjuk a síkokon kívül eső pontokat.

3.1.3. Iteratív doboz-illesztés

Mire ehhez a lépéshez értünk, már nincsenek külső pontok. Így már a pontokra illeszthe- tünk dobozt mintát. Ezt a feladatot iteratív eljárással valósítjuk meg, mely lépéseiben a legkisebb négyzetes távolságot minimalizálja.

Az iterációs ciklus két lépésből áll. Az első lépésben páronként forgatjuk el a síkokat a metszésvonaluk körül (így a merőlegesség változatlan marad). Addig folytatjuk ezt a páronkénti forgatást, amíg be nem konvergálunk egy elfogadható minimumba a négyzetes hibát tekintve. A második lépésben a síkokat normálvektoruk irányában toljuk el, és így keressük a négyzetes hiba minimumát.

Az iteratív eljárás eredményeképp kapunk 3 optimális síkot. Ennek és a doboz méreteinek ismeretében a csúcsok pozíciói meghatározhatók (3.2. ábra).

Miután a pontfelhőben meghatároztuk a csúcsokat, már csak be kell jelölnünk a képen látható csúcsait a doboznak. A pontok párosítása után meghatározható a 2D-3D megfeleltetése a pontoknak, ami alapján a külső paraméterek meghatározhatóak a PnP probléma megoldása által [7].

A kalibrációs eljárás használható több lidar kalibrációjára is, annyi különbséggel, hogy két pontfelhőben kell detektálnunk a kalibrációhoz szükséges dobozt (itt is fontos, hogy 3 oldala látsszon mindkét pontfelhőben), majd ezek csúcsaira kell meghatározni a 3D-3D transzformációt.

(18)

3.2. ábra. A doboz detektált csúcsai (narancssárga); zöld – belső pontok, piros – külső pontok

3.2. Lidar-kamera

Az imént bemutatott kalibrációs eljárás segítségével tehát meghatározhatjuk azt a transzformációt, mely a lidar pontjait egy kamera fényképére képes vetíteni, illetve azt a transzformációt, mely a kamera képét a lidar pontfelhőjére képes vetíteni. A következőkben megvizsgálom, hogy ezeket a transzformációkat hogyan lehetséges felhasználni.

Kutatásomban az objektumdetektálás területére fogok koncentrálni. Azért szeretnénk egyszerre használni lidart és kamerát, hogy mindkettő előnyeit kihasználhassuk, ezzel támogatva az algoritmusaink helyes kimenetét.

3.2.1. Kamera alapú lidar pontfelhő színezés

Offline térképező eljárások során (mobil lézerszkennelés) a lidar egységek mellett kame- rákat is használni szoktunk. Ezek segítségével utcák, hidak, vagy akár teljes városok pontfelhő modelljét ki tudjuk színezni a kamerák képe alapján. Statikus lézerszkennerek is rendelkeznek beépített kamerával, mellyel a felvett pontfelhőhöz RGB színértékek rendelhetők. Azonban a valós idejű lézerszkennerek (köztük az általam használt Velodyne VLP16 és HDL64) nem rendelkeznek beépített kamerával, ezért a pontfelhőkhöz rendelt színinformáció nem áll rendelkezésünkre (a visszavert lézernyaláb intenzitását viszont képes mérni a lidar – ennek az értéknek a segítségével jelzőtáblákat illetve a növényzetet viszonylag jól el lehet különíteni).

A kalibráció eredményét felhasználva a kamera által készített kép pixeleit képesek vagyunk a lidar pontfelhőjére vetíteni. A lidar csak távolságot képes mérni, színt sajnos nem ezért az objektumok szeparálása és detektálása tisztán geometriai leírók alapján történik. A kamerák pontfelhőre vetítésével viszont plusz színinformációkra tehetünk szert.

A kérdés az, hogy ezt fel tudjuk-e használni például objektumok elkülönítésére.

Egy korábbi riportomban bemutattam egy objektumokat észlelő algoritmust Velodyne VLP16 valós idejű pontfelhő szekvenciára. Ennek az eljárásnak az egyik hibája az volt, hogy a valós idejű működés követelményének betartása mellett a térben egymáshoz túlságosan közel helyezkedő objektumokat (pl. parkoló autókat) nem volt képes elkülöní- teni. Amennyiben a pontfelhő rendelkezett volna ekkor színinformációval, akkor az egyes összeragadt objektumokat szín alapján talán lehetséges lett volna különválasztani.

Belátható tehát, hogy az objektumok észlelésében mindenképpen előnyös lehetne, ha a kalibrált kamerákból kinyert színinformációt át tudnánk vinni a pontfelhőre. A 3.3. ábrán látható egy kamera képe alapján színezett pontfelhő.

(19)

3.3. ábra. Kamera képe alapján színezett pontfelhő

A színezés eredménye leginkább a kép közepén található ezüst, és a mellette álló fekete színű autón látszik. A színezés a pontfelhő áttekinthetőséget ezen a két járművön kívül jelentősen nem javítja. Ennek egyik oka a pontfelhő alacsony sűrűsége. Főleg nagyobb távolságra a pontok már meglehetősen távol vannak egymástól, így a színezés ott nem látványos. A kalibrációs eljárás nem képes pixel-szintű pontosságra, márpedig a képen 1-2 pixel eltérés jelentheti akár azt, hogy egy pont különböző színű lesz a pontfelhőben, mint kellene. A képen akár 1-2 pixel eltérés is jelentős színváltozással járhat, és ha ez a hiba mindössze néhány ponton koncentrálódik a pontfelhőben, akkor a színezés nem segíti az objektumok elkülönítését. A színezés gyenge minőségének harmadik – egyben leginkább jelentős – oka, hogy a kamerát és a lidart nem lehetséges időszinkronban futtatni, ami miatt a képek és a pontfelhők különböző időpillanatokban készültek, ami a mozgó jármű esetében több 10 cm-es eltérést jelenthet pozícióban.

Jó ötletnek tűnhet tehát a kamera által biztosított színinformációk alapján elkülöní- teni összeragadt objektumokat, de a pontfelhő színezésének korlátai miatt ez sem jelenthet egy biztos megoldást. A jövőben mindenesetre tervezem ezt a lehetőséget részletesebben megvizsgálni.

3.2.2. Lidar pontok kamera képére vetítése

Képfeldolgozási feladatokban gyakran van szükség objektumok detektálására képeken.

Az ilyen feladatok megoldására sokféle eljárás használható. Azonban ezek az eljárások érzékenyek a fényviszonyokra illetve a kitakarás jelenségére.

A lidar pontfelhője a fényviszonyoktól független, ezért ha a benne detektált ob- jektumokat visszavetítjük a kalibráció során meghatározott transzformációval a képre, akkor ezzel támogathatjuk az objektumok észlelését a képen. Bizonytalan detekciókat erősíthetünk meg, vagy észrevétlen objektumokat vehetünk mégis észre.

Lidar pontfelhőjében detektált objektumok képre vetítését mutatja be a 3.4. és a 3.5. ábra. Itt is megfigyelhető az illesztés pontatlansága, ami a kalibrációs eljárás pontatlanságából és a szinkronizálhatóság hiányából ered.

(20)

3.4. ábra. Pontfelhőben detektált objektumok képre vetítése

3.5. ábra. Pontfelhőben detektált objektumok képre vetítése

A 3.4. ábrán jól látható az időszinkronizáció hiányából eredő hiba. Itt a mozgó járművek jelentősen nagyobb hibával lettek megjelölve a képen. Ennek oka, hogy ők nagyobb sebességgel haladnak, ami miatt a kép és a pontfelhő közti időkülönbség az esetükben nagyobb hatást gyakorol. A sétáló ember és a statikus objektumok esetén megfigyelhető hiba sokkal kisebb.

A 3.5. ábrán is látható az időszinkronizáció hiánya miatti hiba. Például a kép jobb szélén lila színnel jelölt oszlop 20-30 cm-rel arrébb került megjelölésre a képen. Itt a hiba abból adódik, hogy a mi járművünk is halad, és a pontfelhő és kép közti idő alatt megtett valamekkora utat.

Ezekből a példákból látható, hogy az objektumpontok kamera képére vetítése bár igencsak látványos, ha pontosan szeretnénk meghatározni objektumok pozícióját a képen, akkor szükséges biztosítani a kamera és a lidar időszinkronizációját. Ez a VLP16 és a HDL64 lidarral nem lehetséges. Esetleg alternatív megoldás lehet a kamerák magasabb mintavételi frekvenciával való futtatása a hiba minimalizálása érdekében. Nagyobb minta- vételi frekvencia esetén találhatnánk közelebbi megfelelő párt a pontfelhőhöz, ezért kisebb lehetne a hiba.

(21)

Parkoló autó

Parkoló autó gyalogos

LL RL

3.6. ábra. Két lidar használatának előnyei

3.3. Lidar-lidar

Kis felbontású lidarból (például Velodyne VLP16) érdemes többet használni a járművön.

Ebben az esetben a lidarokat különböző pozícióba helyezzük el, majd az általuk rögzített pontfelhőket egyesítjük. Nagyobb felbontású lidarból (például Velodyne HDL64) nem szokás többet rögzíteni a járműre méretbeli megfontolások miatt. Két lidar használata jelentős előnyökkel jár egy lidar használatával szemben. Az első ilyen az, hogy több adat áll rendelkezésünkre, melyből több információt nyerhetünk ki.

A második, hogy a kitakarás negatív hatásai kevésbé jelentősek, ugyanis a két lidar két különböző szemszögből méri a környezetét. Így előfordulhat, hogy egy objektum az egyik lidar pontfelhőjében takarásban van, de a másik lidar pontfelhőjében már látszik.

A későbbiekben bemutatott szabad területet észlelő eljárás például kamion jobb és bal oldalára rögzített lidarok egyesített pontfelhőin került felhasználásra. A 3.6. ábra bal oldalán látható az egyesített pontfelhő, a bal oldali lidarét fekete szín jelöli, a jobb oldali lidarét pedig piros. Látható, hogy ha csak a bal lidar jelét használjuk, akkor jobbra hátrafelé nem látunk semmit, ugyanis ezt a területet a kamion maga kitakarja. Viszont ha a jobb oldalra felszerelt lidar pontfelhőjét is vesszük, akkor már a teljes környezetről rendelkezünk információval. Ahol csak pirosat vagy csak feketét látunk, oda az egyik vagy a másik lidar nem látott el. Megfigyelhető bal oldalról hátulról egy érkező autó a pontfelhőben (sárgával karikázva), ezt a jobb oldali lidar nem látja. Emiatt mindenképp szükség van a bal oldali lidarra is, hogy belássuk a teljes teret.

Kevésbé radikális esetekben is okozhat gondot a kitakarás jelensége. Egy ilyenre mutat be egy példát a 3.6.ábra jobb oldala. Képzeljük el, hogy egy gyalogos az út bal oldaláról a jobb oldalára szeretne átsétálni, és egy parkoló autó mögül kell ehhez kilépnie. Az autónk bal oldalára szerelt lidar gyakorlatilag csak abban a pillanatban érzékeli az embert, amikor már kilépett az autó mögül, azonban a jobb oldali lidar már jóval korábban. Ez mindenképp egy fontos biztonsági előny a két lidar használata mellett.

Az utolsó előny az, hogy az egyik lidar meghibásodása esetén a másik lidar még mindig szolgáltat adatot, így ebben az esetben sem kell „vakon” folytatnunk.

(22)

-26 -21 -16 -11 -6 -1 4 9 14 Csatorna vízszintessel bezárt szöge [°]

Velodyne VLP32C csatornák függőleges irányú eloszlása

3.7. ábra. Velodyne VLP32C csatornáinak eloszlása a vízszintessel bezárt szögük szerint

3.3.1. Lidar szenzorok elhelyezése

Az előbbi példákban (és a 3.6. ábrán) láthattuk, hogy két lidar használata esetén azokat elhelyezhetjük a jármű két oldalára. Ez azonban nem az egyetlen ésszerű elrendezés. A 3.6.

ábra bal oldalán láthatjuk, hogy a jármű mögött jókora holtterünk van, mert oda egyik lidar sem lát el a takarási jelenség miatt. Ezt a hibát kiküszöbölendő elhelyezhetnénk úgy is a lidarokat, hogy az egyik a jármű elején, a másik pedig a jármű hátulján legyen.

Így előrefelé és hátrafelé is biztosított lenne a megfelelő érzékelés, azonban a két oldal irányába már nem. Természetesen elhelyezhetnénk 4 lidart is a járművünkön, de ez jelentősen megnövelné a költségeket. Érdemes ehelyett kevesebb lidar elhelyezését úgy optimalizálni, hogy minél nagyobb teret lássanak be. Tapasztalataink szerint két lidar megfelelő elhelyezésével közúti autó használata esetén elérhető a környezet teljes belátása.

A lidarok pozíciójának megválasztásakor szempont lehet a magasságuk is. Ha inkább talaj közeli régiók érdekelnek minket, akkor érdemes a lidarokat alacsonyan elhelyezni, hiszen a pontfelhő sűrűsége a lidarok közelében a legnagyobb. Léteznek a Velodyne- nak olyan típusú lidarjai is (pl. VLP32C), melyeknek csatornái függőleges irányban nem egyenletesen vannak elosztva. A Velodyne VLP32C esetében például a vízszintessel kis szöget bezáró csatornák sűrűbben találhatók meg (3.7. ábra), mint a nagyobb szöget bezáró csatornák. Ezeknél különösen fontos az elhelyezési pozíció magasságát minél jobban megválasztani.

3.3.2. Regisztráció

3.3.2.1. Pontfelhők időszinkronizációja

Valós idejű felhasználáskor több lidar használata esetén nincs szükség időszinkronizációra, hiszen ekkor a csomagok valós időben egyszerre érkeznek. A probléma az offline feldolgo- zásnál adódik, amikor a csomagokat PCAP (Packet Capture) fájlból olvassuk be. Ekkor ugyanis a csomagok olvasása során előfordulhat időbeli csúszás a két fájl között.

A lidarok nem vezérelhetők, ezért az időszinkronizáció nem valósítható meg egy közös vezérlőjel segítségével. A szinkronizációhoz az adatok mentését megváltoztatnunk: a csomagok mellé mentettünk időinformációt is. Ehhez módosítottunk a mentett csomagok adatstruktúráján: a 42 byte-os csomag header elé beszúrtunk egy 17 byte-os részt, és ebbe mentettük el az időinformációt. A mentett időinformációt felhasználva képesek vagyunk a lidar pontfelhőket párosítani a kamerák képeivel. Az új típusú adatstruktúrához az adatok PCAP fájlból való beolvasását is módosítani kellett. A módosított beolvasás lépései:

1. Első lidar pontfelhőjének beolvasása

2. A pontfelhő első és utolsó csomagjához tartozó időpontok mentése→tf irst, tlast 3. Második lidartf irst utáni első csomagjának beolvasása

4. Második lidar csomagjainak olvasásatlast időpontig

(23)

3.8. ábra. Fáziskülönbségből adódó hiba regisztráció során 5. Ha nincs fájl vége, akkor 1. lépés

A lidarok forgómozgása szinkronizálatlanul történik, ezért fáziskülönbség jelentkezik a két lidar között. Amennyiben az egyik lidar egy adott időpillanatban 0-tól indítva olvassa az aktuális pontfelhőt, míg a másik180-tól, akkor ugyanazokat az objektumokat különböző időpillanatban fogják rögzíteni, hiszen az első lidarnak idő kell, mire eléri a180- os állást. 20 Hz-es mintavételi frekvenciát feltételezve a két lidar ugyanazt a pontot∆t=

1

20Hz · 180360 = 0,025 s időkülönbséggel fogja rögzíteni. Ez 10 ms-os sebességet feltételezve 25 cm-es eltérést jelent a pontok között, ami jelentős különbség. Fájlból olvasás, és valós idejű használat során ezért érdemes lehet figyelembe venni a két lidar fáziskülönbségét is, hogy ugyanazon objektumokat ne vegyük fel kétszer jelentős térbeli eltéréssel. A lidarok fáziskülönbsége által okozott hibát szemlélteti a 3.8. ábra. Itt kékkel és feketével látható a két lidar pontfelhője. Megfigyelhetjük, hogy az objektumok jelentősen eltérő pozícióban jelennek meg az egyesített pontfelhőn. Ezzel a problémával fontos foglalkozni két lidar együttes használata esetén.

3.3.2.2. Pontfelhők térbeli összeillesztése

Két lidar regisztrációja során szükség van olyan eljárásra, mely a két pontfelhő közötti transzformációt meghatározza. Ez egy nehéz feladat, hiszen a pontfelhőkben a pontok nem feleltethetők meg egymásnak, csak az objektumok. A transzformáció meghatározásához hagyományos dobozokon alapuló lidar kalibrációs eljárást használunk [8], amit 3.1-ben bemutattam. A sikeres kalibrációból adódó transzformációt felhasználva a második lidar pontfelhőjét az első lidar pontfelhőjébe transzformálhatjuk, eredményként az egyesített pontfelhőt megkapva.

(24)

3.4. Kiértékelés

Ebben a fejezetben bemutattam, hogy mik a fő motivációk kamera és lidar, illetve lidar és lidar fúziójára. Bemutattam egy eljárást [8], mely elvégzi kamera és lidar, illetve lidar és lidar kalibrációját. A kalibráció eredményeként kapott transzformációkkal lehetőség van a lidar pontjait a kamera képére vetíteni, a kamera képe alapján a lidar pontfelhőjét színezni, és az egyik lidar pontfelhőjét a másik pontfelhőjébe transzformálni.

3.4.1. Előnyök 3.4.1.1. Lidar-kamera

Lidar-kamera szenzorfúziónak nagy előnye, hogy ötvözi azok előnyös tulajdonságait.

Kihasználja, hogy a lidar nem érzékeny a megvilágításra, a kamera pedig nagy felbontású képet ad, ami színinformációval is rendelkezik. A kamera alapú pontfelhő színezésnek előnye lehet, hogy az objektumdetekció során összeragadó objektumokat szín alapján képesek lehetünk szétválasztani. A lidar pontfelhőjében detektált objektumok képre vetítése felhasználható arra, hogy a változó megvilágítás vagy árnyék/fény effektus negatív hatását kiküszöbölje.

3.4.1.2. Lidar-lidar

Lidar-lidar szenzorfúzió esetén nem beszélhetünk az előnyös tulajdonságok ötvözéséről, hiszen a tulajdonságok megegyeznek a két lidar esetében. Legnagyobb előnye a szenzor- fúziónak ebben az esetben az, hogy több lidar használata esetén növelhető a belátható tér a kitakarási jelenségének kiküszöbölésével. Két lidar használata esetén az egyesített pontfelhő sűrűsége nagyobb, ezért több releváns információval rendelkezik a környezetről.

3.4.2. Korlátok

A kalibrációs eljárás pontossága korlátolja a szenzorfúziós eljárások hatékonyságát, de nem ez okozza a legfőbb nehézségeket. Láthattuk, hogy lidar-lidar szenzorfúzió esetén a lidarok forgásának fázisa nem szinkronizálható, ami az objektumok kettőződését jelenti.

A lidarokat nem lehet időszinkronizáltan futtatni sem, ami azt eredményezi, hogy a lidar pontfelhők és a kamera képek között időbeli eltérés van. Ez jelentős hibát visz a fúziós eljárásokba, ami mellett a kalibráció pontatlansága nem jelentős.

3.4.3. Problémák megoldhatósága

Az alkalmazhatóság érdekében a legfontosabb, hogy az időszinkronizációt megoldjuk valamilyen módon. Erre sajnos a Velodyne VLP16-os lidar nem alkalmas. A jövőben azonban várhatóan gyártanak majd olyan lidarokat is, melyeknek a működéséhez nem lesz szükség forgómozgásra, mert körbe lesznek benne lézeres távolságmérők. Ezek az eszközök már alkalmasak lesznek időszinkronizált futásra.

(25)

4. fejezet

Objektumdetekció

Az objektumdetekció valós idejű lidarok pontfelhőjében napjaink egy intenzíven kutatott területe. A korábbiakban az általam megvalósított eljárás alapját egy szakirodalmi megoldás [1] adta, mely 2D szabályos rács felhasználásával dolgozta fel valós idejű lidar pontfelhőjét. Jelen kutatási munkában ezt az eljárást fejlesztettem tovább: kiegészítettem talajszint-becsléssel, módosítottam a szegmentációs lépést, illetve ez alapján az objektu- mok észlelését is.

Ebben a fejezetben először a korábbi eljárást mutatom be. Ezután rámutatok ennek a hiányosságaira, majd bemutatom az elkészített új eljárást.

4.1. A korábbi munkám során elkészített eljárás

A következőkben röviden bemutatom a korábbiakban megvalósított objektumdetekciós eljárást. A későbbi eljárások alapját is ezek a lépések fogják adni, úgyhogy később majd utalni fogok az itt ismertetett lépésekre.

4.1.1. 2D szabályos rács kialakítása

Az algoritmus működésének alapja egy 2D szabályos rács. Ezt a z = 0 vízszintes síkra képzelhetjük el négyzet alakú, 0,3 m oldalhosszúságú cellákkal. A 0,3 m oldalhosszúság optimális, ennél kisebb cellákkal jelentősen nőne a futási idő, ennél nagyobb cellák esetén pedig az egymáshoz közeli objektumokat elkülönítése lenne kevésbé hatékony (lásd: 4.1.3).

A szabályos rács koordináta-rendszerét és a pontok cellákhoz rendelését szemlélteti a 4.1. ábra. Minden cella azokat a pontokat tartalmazza, amelyek z= 0síkra vett vetülete az adott cellán belül esik (sötétkék rombuszok az ábrán). Ebben a lépésben a pontfelhő minden egyes pontját hozzárendeltem a neki megfelelő cellához.

Amikor a pontokat sikeresen a cellákhoz rendeltem, a celláknak beállítottam az x, y, és z szélsőértékeit, amit az ezt követő szegmentációs lépésben használok fel.

3

x

y z

haladási irány 1

2

4.1. ábra. A szabályos rács koordináta-rendszere és szerkezete

(26)

4.2. ábra. Lidartól való távolságtól függő talajszint

4.3. ábra. Szegmentációs lépés kimenete

4.1.2. Szegmentáció

Az elkészült 2D rács struktúrán dolgoztam ebben a lépésben. A cellákat lokális tulajdon- ságaik alapján négyféle osztályokba soroltam be: ritkás, talaj, objektum, magas objektum.

Ritkás egy cella, amennyiben nem tartalmaz pontot. Talaj osztályú egy cella, ha a felette található pontok magasságbeli eltérése kisebb 0,2 m-nél, és ezek maximális magassága az előre meghatározott talajszint felett legfeljebb 0,2 -m-rel helyezkedik el.

A talajszintet egy feltételezett maximális talajszint lejtés segítségével számítottam a cellák lidartól számított távolsága alapján. Azért kellett lejtéssel számolni, mert nem teljesen sík helyszíneken a távoli talaj osztályú cellák helytelenül objektum osztályúak lettek, mert a maximális magasságuk túl sokkal volt a talajszint felett. Ezért szükséges a talajszintet felülről becsülni (4.2. ábra). Az ábrán barnával látható teljesen sík felszín esetén a talajszint, sötétzölddel az általam megadott felső becslés.3-os feltételezett lejtés esetén 20 m távolságban a síktól való eltérés mértéke: 20 m·tan3 = 1,04 m.

Azokat a cellákat, amelyek az előző két kategóriába nem kerültek be, a felettük található pontok maximális magassága szerint soroltam be a fennmaradó két kategóriába.

Ahol a legmagasabb pont a becsült talajszint felett legfeljebb 2 m-rel található, az a cellaobjektum osztályú lett. Ahol a legmagasabb pont a talajszinttől számított 2 m-nél magasabban helyezkedik el, az a cellamagas objektum osztályú lett.

A szegmentációs lépés kimenetét szemlélteti a 4.3. ábra. Látható, hogy a talaj osztályú cellák meghatározása meglehetősen pontos, bár a távolban néhány autó teteje is talajként került detektálásra. Az objektumok és a magas objektumok elkülönítése a magasság alapján jól működik. Egyetlen szembetűnő probléma van csak, mégpedig hogy a magas faldarabok között találhatunk sima objektumokat, pedig ők is láthatóan a fal részei. Ezekre a hibákra később visszatérek.

(27)

4.4. ábra. Objektumdetekciós lépés kimenete 4.1.3. Objektumdetekció

Ezen a ponton már rendelkeztem egy 2D cellaráccsal, melynek minden cellája besorolásra került a neki megfelelő osztályba. Ebben a lépésben csak azokkal a cellákkal foglalkoztam, melyek az objektum osztályba kerültek besorolásra.

A feladatom az objektum osztályú cellák által reprezentált objektum darabokból az objektumok felépítése. Ehhez elárasztásos módszert alkalmaztam, mely során a szomszédos összetartozó cellákhoz megegyező ID-t rendeltem. Ezután az azonos ID-jű cellákból építettem fel az objektumokat.

Itt szeretnék visszautalni a cellaméret megválasztásának problémájára (4.1.1). Az egymáshoz közeli objektumok akkor különíthetők el, ha van köztük egy „folyosó”, ahol nincs objektum osztályú cella, tehát nem kapcsolódnak össze. Ehhez mindenképpen szük- séges, hogy a cellaméret kisebb legyen, mint két szomszédos objektum távolsága. 0,5 m-es cellaméret esetén például ha két objektum akár csak 0,49 m-re is van egymástól, már biztosan össze fognak ragadni. Mondhatnánk, hogy akkor vegyük kisebbre a cellaméretet, és akkor minden objektumot el tudunk különíteni. A probléma ezzel az, hogy túl kicsi cellaméret esetén az objektumok darabjaikra esnek szét, amit megint csak szeretnénk elkerülni. Ezen felül a túl kicsi cellaméret a futási időt is növeli, amit a valós idejű alkalmazás miatt nem engedhetünk meg magunknak. A fejlesztés során azt figyeltem meg, hogy a 0,3 m-es cellaméret egy jó kompromisszum.

Az objektumdetekció kimenetét szemlélteti a 4.4. ábra. Ezen nagyon jól megfigyelhető az imént említett összeragadó objektumok problémája. Az ábra bal alsó sarkán a rózsa- színnel jelölt parkoló autók, az ábra jobb alsó sarkában pedig a lilával jelölt parkoló autók ragadtak össze. További problémákról részletesen fogok írni a következő pontban. A hibák ellenére megjegyezhetjük, hogy az objektumokat gyakorlatilag hiba nélkül megtalálta az eljárás.

(28)

4.5. ábra. Problémák az eljárással

4.6. ábra. Szegmentáció előre meghatározott talajszint alapján

4.1.4. Problémák az eljárással

Az eljárással kapcsolatban több szembetűnő probléma is felmerült. Ezeket mutatja be a 4.5. ábra karikázott területe. Az ábrán egyazon helyszínen futtatott szegmentációs- (bal oldal) és objektumdetekciós (jobb oldal) eljárás kimenete látható. Karikázással jelöltem a hibákat a képen.

A falrészek természetesen nem sík felületek, ennek eredményeképpen a falak pontjait tartalmazó cellák maximális magassága különböző lehet. Előfordul, hogy egy cella fölött található falból származó pontok egyike sem esik a cellára előre meghatározott talajszint fölé legalább 2 m-rel, ilyenkor ez a cella fal osztály helyett az alacsony objektum osztályba kerül besorolásra. Ennek eredményeképpen a fal mentén megjelennek kis objektum szeletek, amelyeket az ábra bal oldalán zölddel, a jobb oldalán színessel láthatunk a piros fal régiók között bekarikázva.

Az algoritmus jól működik közeli objektumokra, azokat maradéktalanul észleli.

Azonban távoli objektumok esetén az előre definiált talajszint lejtés miatt gyakran téveszt.

A 4.5. ábrán látható, hogy a parkoló autó tetejét már talaj osztályba sorolta az eljárás.

Ennek az az oka, hogy az előre meghatározott lejtés miatt a talajszint már az autó teteje fölé csúszott, így az itt található kis szintkülönbségű pontokkal jelentkező cellák talaj osztályúak lettek.

Az előre meghatározott talajszint problémáját szeretném most szemléletesebben bemutatni. A 4.6. ábrán kizárólag az előre meghatározott talajszinteket felhasználva osztályoztam a cellákat. Jól látható, hogy a távolban túlságosan megemelkedik a talajszint, ezért már objektum cellák is talaj osztályúak lesznek. Észszerű megoldás lenne csökkenteni az előre meghatározott lejtést. Azonban ez sem oldaná meg a problémát. Ekkor a talaj egyenetlenségei, illetve a nem teljesen sík az úttest jelentenének problémát. A túl kicsi lejtés nem lenne képes lekövetni az úttest emelkedését.

Látható, hogy az előre meghatározott lejtés alapú talajszint meghatározás nem jó megoldás. A következőkben egy általam fejlesztett talajszint-becslő eljárást fogok bemutatni.

(29)

Lidar

4.7. ábra. A talajbecslő algoritmus működése

4.2. Talajszint becslés

Talajszint becslésre tehát szükség van, hogy kiküszöböljük az egyenetlen útfelszín illetve a nem teljesen sík helyszínek jelentette problémát úgy, hogy közben a távolabbi objek- tumokat is pontosan detektáljuk. A következőkben egy általam készített talajszint-becslő eljárást fogok bemutatni. Az algoritmus működését szemlélteti a 4.7. ábra.

A talajszint becsléséhez egyetlen a priori ismerettel rendelkezünk, ismerjük a lidar talajszinthez képesti magasságát, az autóra szerelés után lemérve (lila az ábrán). Az eddigi szegmentációs eljárás egy bizonyos távolságig jól működött (4.3. ábra), ezért ezt fel fogom használni arra, hogy 10 m-es távolságig meghatározzam segítségével a talaj osztályú cellákat (vastag szegélyű területen belül sötétszürke cellák). Ha ezek megvannak, akkor a talajszintjüket beállítom a legalacsonyabban található pontjuk magasságértékére. Ezután ezekből a biztos cellákból kiindulva elárasztásos módszerrel megbecsülöm a cellarács összes cellájának a talajszintjét (nyilak jelzik az elárasztást, világosszürke cellák az éppen becsült cellákat). A következőkben az algoritmus részleteit fogom bemutatni.

4.2.0.1. Biztos talajcellák keresése

Első lépésben a lidar 10 m-es környezetében keresem azokat a cellákat, amelyek minden bizonnyal talajpontokat tartalmaznak, tehát talaj osztályúak. Ehhez használom a korábbi munkám szegmentáló eljárását, mert az ilyen kis távolságon nagyon pontos eredményt ad. Az eljárásnak egyedül a paraméterezését változtattam meg úgy, hogy szigorúbb feltételeket kelljen teljesíteni egy talaj cellának. Ezzel a tévesztés valószínűségét szeretném minimalizálni, mert ha itt rosszul becsülöm meg akár csak egy cella talajszintjét, az elárasztás során ez nagy gondot fog okozni.

Az átparaméterezett eljárás szerint azok lesznek talaj cellák, amelyekre igaz, hogy:

• a felettük található pontok maximális és minimális magasságának különbsége kisebb 0,1 m-nél

• A felettük található pontok maximális magassága a lidar talajszintjének a 0,2 m-es környezetében található

A talált talaj celláknak a becsült talajszintjét beállítom a hozzájuk tartozó legalacsonyabb pont magasságára.

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

Érdemes azt is figyelembe venni, hogy milyenek az öntözési lehetőségek, fúrott kutak esetében hasznos a vizet bevizsgáltatni, hiszen – főleg szikes területek

(Az elemzés során azt is figyelembe kell venni, hogy indokolt esetben.. nem állandó helyszín is megadható, és az egyes alprojektek különböző

Néhány szempont, amit minden esetben figyelembe kell venni az anyagválasztás során: a működés hő- mérséklet-tartománya (műanyagok esetén a tulajdonságokat

Vagyis meg kell adnunk, hogy a kísérletünk során kapott eredményeinket milyen esetleges hibák terhelik, valamint milyen.. befolyásoló tényezőket kell figyelembe venni az adatok

A térbeli adatmodellezés során a valós világ számunkra fontos egyedeit leíró objektumokat kell pontosan meghatároznunk.. A könnyebb érthetőség kedvéért ebben

animáció, árnyaló, Direct3D, futószalag, GPU, grafika, háromdimenziós, képalkotás, képfeldolgozás, képszintézis, megjelenítés, modellezés, utófeldolgozás, valós

burnetii (Loftis és mtsai., 2006) vagy a Chlamydiales (Lienard és mtsai., 2011) specifikus valós idejű PCR vizsgálatok során pozitívnak bizonyult.. A mintákat formalinban

Egy a kárpátaljai magyar közösségre vonatkozó nemzet- és nyelvpolitikai stratégia kialakítása során tehát mindenképpen figyelembe kell venni (a) a nemzetközi