Razvoj sistema detekcije objektov za avtonomna vozila z uporabo LiDAR tehnologije
Avtor: Peter Fekonja
Mentor: Matej Rojc
Stopnja: Študijski program 2. stopnje Elektrotehnika, Smer elektronika
Datum: Februar, 2021
DKUM: PETER FEKONJA
Avtor: Peter Fekonja
Mentor: Matej Rojc
Stopnja: Študijski program 2. stopnje Elektrotehnika, Smer elektronika
Datum: Februar, 2021
DKUM: PETER FEKONJA
Povzetek
V magistrskem delu je predstavljena uporaba LiDAR sistemov in globokega učenja v kontekstu avtonomnih vozil. Delo je sestavljeno iz teoretičnega in eksperimentalnega dela. V teoretičnem delu predstavimo aktualne rešitve za izdelavo LiDAR sistemov, najpogosteje uporabljene pristope za globoko učenje in metode obdelave LiDAR točkovnih oblakov z nevronskimi mrežami. Prav tako so predstavljeni aktualni senzorski sistemi na trenutni generaciji avtonomnih vozil, podatkovne baze namenjene učenju nevronskih mrež za uporabo v avtonomnih vozilih in trenutna generacija nizkocenovnih LiDAR senzorjev. V praktičnem delu naloge je podrobno predstavljena zmogljivost Livox Mid-40 LiDAR sistema ter njegova uporaba v lastni rešitvi za detekcijo objektov v prometu. Podrobno je predstavljen razvoj lastne nevronske mreže kot klasifikatorja, razvoj lastnega pristopa za lokalizacijo objektov in primerjava naših rešitev z že obstoječimi pristopi. Naš pristop k lokalizaciji objektov je dosegal boljše ali primerljive rezultate z obstoječimi metodami, v kombinaciji z našim klasifikatorjem pa bistveno slabše rezultate od trenutnih enovitih modelov nevronskih mrež s prenosom znanja.
Problem percepcije okolja se dandanes rešuje z uporabo raznih senzorjev, kot so video kamere, LiDAR senzorji, radarji in ultrazvočni senzorji. V avtonomnem vozilu se lahko odločimo za enega ali več naštetih senzorjev, ki delujejo ločeno ali skupaj. Da omogočimo avtonomnemu vozilu zanesljivo upravljanje v okolju okoli sebe, je potrebno zajete podatke najprej procesirati in razumeti, da lahko na osnovi njih potem sprejemamo odločitve. Podatke o okolju se procesira s konvencionalnimi pristopi, zadnje čase pa vse bolj z uporabo globokega učenja. Globoko učenje se je na več področjih že izkazalo kot uspešen in inovativen pristop za reševanje problemov, ki so se v preteklosti zdeli preveč kompleksni za računalniške sisteme (kot je na primer šah). V magistrski nalogi nas posebej zanima delovanje in uporaba LiDAR tehnologije – specifično Livox Mid-40 senzor – kot tudi proces in tehnike globokega učenja na takšnih senzorskih podatkih. LiDAR senzorji imajo napram kameram ključno prednost v tem, da so aktivni senzorji. To pomeni, da nimajo omejitev zaradi sprememb osvetljenosti okolja in lahko nemoteno delujejo tako podnevi kot ponoči, ter, da je njihov izhodni podatek 3-D predstavitev opazovanega okolja. Dodatna dimenzija globine predstavlja zelo pomembno dodano vrednost glede zavedanja in razumevanja okolja. V primerjavi z radarjem in ultrazvočnimi senzorji ima LiDAR pomembno prednost v tem, da vidi tudi obliko opazovanega objekta in ne le njegovo prisotnost v okolju.
LiDAR je merilna metoda za merjenje razdalj, ki deluje z osvetlitvijo tarče z laserskim žarkom in merjenjem odseva s senzorjem. Na podlagi hitrosti svetlobe v praznem prostoru, ki je konstantna, in uporabo zelo natančnega časovnika, lahko z zelo visoko natančnostjo izmerimo razdaljo od senzorja do tarče. Z uporabo večjega števila laserjev in senzorjev, ali preusmeritvijo smeri enega žarka, lahko v zelo kratkem času izmerimo razdalje do velikega števila točk na površinah v prostoru. Če te točke ustrezno akumuliramo, lahko iz njih sestavimo 3D reprezentacijo tarče v digitalnem zapisu. LiDAR se pogosto uporablja za izdelavo zemljevidov površja visokih ločljivosti, 3D modelov zgodovinskih zgradb in najdbišč, za merjenja v gradbeništvu in geodetiki, ter zadnje čase vedno bolj tudi v avtomobilizmu in celo na mobilnih napravah. Razvoj nizkocenovnih LiDAR naprav je v polnem zagonu, saj se bodo ti senzorji verjetno v bližnji prihodnosti uporabljali na praktično vseh avtonomnih vozilih. Te naprave so ena večjih ovir pri adaptaciji avtonomnih in delno avtonomnih vozil na tržišče in realno okolje, saj imajo običajno zelo visoko ceno. Zato ni neobičajno, da je nabor senzorjev na prototipu avtonomnega vozila vreden desetkrat več kot vozilo na katerem je nameščen.
V tej magistrski nalogi smo se odločili uporabljati avtomobilski (ang. automotive) Livox Mid-40 LiDAR sistem, ki je prišel na tržišče leta 2019, s ceno 600 USD. Ta cena je občutno nižja od ostalih že ustaljenih avtomobilskih LIDAR sistemov, ki so običajno za nekaj desetkrat dražji. Livox Mid-40 LIDAR je naprava, ki jo je razvilo podjetje Livox, primarno za avtomobilsko industrijo. V tem poglavju pa predstavljamo, kakšna je dejanska uporabna vrednost takšnega nizkocenovnega LiDAR sistema na področju avtonomnih vozil v realnih okoljih. Zorno polje (ang. field of view) senzorja je v obliki stožca, s kotom osnega preseka 38,4 stopinj. V tej lastnosti je podoben zgodnjim različicam prizemnih laserskih skenerjev, imenovanim okenski skenerji (ang. window-scanners). Podrobnosti o dejanskem mehanizmu skenerja so zelo skope. Proizvajalec sicer trdi, da LIDAR ne uporablja gibljivih se elektronskih komponent, vendar to ne smemo enačiti s polprevodniškimi LiDAR napravami. Prav tako je navedeno, da skener uporablja neponavljajoč vzorec, zaradi katerega se gostota zajetega točkovnega oblaka skozi čas povečuje. Ta vzorec in njegova hitrost preleta sta fiksna in ju uporabnik ne more spreminjati ali nastavljati. Glede na razmerje rotacijskih hitrosti obeh prizm lahko dosežemo več različnih vzorcev, kot so stabilne, ponavljajoče se krivulje, ali pa ne-ponavljajoče se krivulje za polnjenje prostora (ang. space filling curves). Proizvajalec sicer ne podaja podrobnosti o podrobnejši konstrukciji LiDAR naprave, in gre v [40] le za ugibanje.
V vsakem točkovnemu oblaku, ki smo ga zajeli z Livox Mid-40 skenerjem, smo opazili strukturiran šum, ki se širi koncentrično iz središča skena. Šum spominja na valovanje vode in ima očiten vpliv na natančnost in točnost meritev kota in razdalje. Ta efekt je najbolj opazen na ploščatih površinah. Livox Mid-40 je imel težave razločiti med najsvetlejšimi območji in belim ozadjem zidu. Za primerjavo, naprava Leica RTC360 v [40], ki uporablja 1550nm vir, teh težav nima. Ponovno je v posnetku na testu zelo opazen efekt valovitosti, ki se kaže v obliki krožnih območij z nižjo reflektivnostjo. Kljub temu, da gre za sken ploščatega objekta in natisnjene tarče, se svetle barve na skenu prikažejo kot bolj oddaljene, temnejše pa bližje LiDAR Livox Mid-40 napravi. Ta efekt in njegovi vzroki so sicer dobro poznani in so v večini komercialnih LIDAR sistemov in geodetskih napravah običajno odpravljeni. V [40] predlagajo izvajanje tudi kvantitativnih testov na podlagi smernic za optične 3-D senzorje, ker za LIDAR senzorje takšnih smernic ni. Specifično so se orientirali glede na smernice VDI 2634, [40]. V naši nalogi smo zato uporabili enake metode, pri čimer smo dobili primerljive rezultate, oziroma prišli do podobnih ugotovitev. Opravili smo naslednje teste: merjenje dolžine z razdalje točno 5 metrov, merjenje oddaljenosti in natančnosti pri 40-ih, 60-ih, 90-ih in 130-ih metrih ter testiranje ploščatosti zajetih podatkov.
Strojno učenje (ang. Machine Learning ali ML) obsega področje računalniških algoritmov, kjer se modeli lahko samodejno izboljšujejo na osnovi izkušenj. Spada pod okrilje področja o umetni inteligenci. Algoritmi za strojno učenje generirajo matematične modele, ki temeljijo na učnih podatkih. S pomočjo teh algoritmov se lahko potem podaja predpostavke in odločitve, ne da bi se to moralo eksplicitno definirati z uporabo programiranja. Strojno učenje uporabljamo na širokem naboru aplikacij in storitev, kot so npr. filtriranje spletne pošte ali strojni vid, kjer je zelo težko ali celo nemogoče uporabiti samo konvencionalne pristope. Učenje s prenosom znanja nevronske mreže EfficientDet D1 smo izvajali na Intel Core i7-8086K procesorju in nVidia RTX 2080 Ti grafični kartici. Postopek sklepanja (ang. inference) in napovedi smo izvajali na Intel Core i7-4600U procesorju prenosnika, brez grafične kartice. Podatkovno bazo za učenje mreže smo zgradili iz posameznih okvirov štirih posnetkov prometa s tretje verzije sistema LiDAR. Slikam smo s pomočjo Python programa spremenili dimenzije in sicer iz 1000×400 pikslov v 640×640 pikslov. Okvirje smo ročno označili, kot je predstavljeno v poglavju 6.2, rezultirajoče slike pa nismo dodatno obdelali, razen spremembe dimenzije – mrežo smo učili na podatkih, ki so vsebovali tudi cestišče in ostale elemente. Podatkovno bazo, ki je vsebovala 592 označenih slik iz posnetkov Drive 3_1, 3_3 in 3_4, smo razdelili v skupini za učenje in evalvacijo oz. testiranje, v razmerju 90 % učnih podatkov in 10 % testnih podatkov. To pomeni 533 slik za učenje in 59 slik za testiranje. Mrežo smo učili 500.000 korakov, kar je trajalo 62 ur. Potek učenja prikazuje Graf 6.1, kjer je pri koraku 300.000 vidno koleno, saj so se koraki 300.001 – 500.000 izvajali naknadno.