Napredek tehnologije pri avtonomni vožnji je čedalje bolj odvisen od umetne inteligence. Medtem ko konvolucionalne nevronske mreže (CNN) zagotavljajo visoko natančnost zaznavanja voznih pasov in avtonomno krmiljenje, je njihova uporaba na vgrajenih sistemih pogosto otežena zaradi omejitev strojne opreme in pomanjkanja zanesljivosti.
Potrebno je zgraditi sistem, ki deluje znotrej omejitev procesne moči hkrati pa delovati v realnem času in zagotavljati zanesljivost in varnost. Ena glavnih pomankljivosti CNN je pomankljivost ocenjevanja njihovih izhodov, kar vodi do pretirane samozavesti in potencialno tudi do nevarnih predvidevanj.
V magistrskem delu rešujem te pomankljivosti z razvojem sistema odločanja za demonstratorsko vozilo na osnovi Raspberry Pi. Glavni izziv je kako vgraditi zanesljivost v sistem odločanja, ki temelji na CNN in kako to uporabiti za varnejše avtonomno krmiljenje.
V delu predstavim arhitekturo, ki zajema dva modela za zaznavanje voznih pasov in krmiljenje, izračun zanesljivostnih indikatorjev, model glasovanja za izbiro najbolj zanesljivega izhoda in omejitve teh model za zagotavljanje varnosti.
Metodologija temelji na modularni sistemski arhitekturi, zgrajeni na platformi RaspiCar. Sistem uporablja dve ločeni zaznavni verigi za neodvisno napovedovanje stopnje krmiljenja. Prva združuje LaneNet in PilotNet, druga pa povezuje SegNet in PilotNet. Ti modeli so izbrani zaradi visoke učinkovitosti pri segmentaciji voznega pasu in določanju stopnje krmiljenja.
Izvajajo se zaporedno na pospeševalniku Coral Edge TPU, kar omogoča hitrejše sklepanje. Takšen dvoverižni pristop zagotavlja robustnost, saj sistem pridobi dve različni predikciji o ustreznem krmilnem dejanju za vsak zajeti okvir kamere.
Za izbiro med tema napovedma sem razvil nabor indikatorjev zaupanja. Ti indikatorji so zasnovani tako, da ocenijo kakovost in zanesljivost vhodnih podatkov in izhodov sistema. Indikatorje zaupanja delim na tri skupine, prva so geometrijski indikatorji, ki analizirajo izhod segmentacijskih modelov (LaneNet in SegNet).
Vključujejo pokritost slikovnih pik voznega pasu, število zaznanih segmentov voznega pasu, konsistentnost širine voznega pasu in ravnovesje med levo in desno stranjo zaznanih pasov. Naslednja skupina indikatorjev so časovni kazalniki, ki analizirajo skladnost izhodov skozi čas. Ključna indikatorja sta stabilnost krmiljenja in časovno prekrivanje mask. Zadnja skupina indikatorjev so pa kazalniki kakovosti slike, ti ocenjujejo kakovost vhodnega posnetka kamere. Imam indikatorje za svetlost slike, ostrino, šum in uravnoteženost osvetlitve, s temi lahko sistem prepozna, če bosta segmentacijska modela dobila kvalitetno sliko in ob slabem zaupanju tudi prevzame kontrolo. Z evaluacijo indikatorjev zaupanja je bil izbran končni nabor najboljših. Ti so bili združeni v dve sestavljeni oceni za vsako zaznavno verigo: oceno geometrijske stabilnosti in oceno časovne stabilnosti.
Te indikatorji zaupanja so uporabljeni kot vhod za glasovalni model, ki izbira med predikcijami krmiljenja Lanenet/Pilotnet in Segnet/Pilotnet. Model je zasnovan kot večslojni perceptron, ki prejme šest indikatorjev zaupanja in izpiše odločitev. Model je bil naučen in validiran na naboru podatkov, zbranem z ročnim upravljanjem demonstratorskega vozila po različnih progah.
Za dodatno varnost in omejitvijo svobode umetne inteligence sem dodal pravila, ki prevzamejo nadzor nad vozilom. Pravila temeljijo na indikatorjih zaupanja, kjer ob nizki vrednosti zaupanja v oba modela ali pa ob nizki vrednosti zaupanja v kvaliteto posnete slike aktivira izklop v sili, katerega je potrebno ročno deaktivirati. Dodal sem tudi pravilo, ki popravi krmiljenje glede na zaznano središče vozišča, če opazi, da se mu preveč odaljuje.
Celoten sistem je bil ovrednoten na naboru posnetih podatkov ter s poskusi na demonstratorskem vozilu Raspicar. Vrednotenje je pokazalo, da glasovalni model večinoma uspešno izbere zanesljivejšo napoved krmiljenja, kar vodi do bolj gladkega in stabilnega vodenja v primerjavi z uporabo ene same zaznavne verige. Poleg tega so se varnostni mehanizmi na osnovi politik izkazali za pravilne pri prepoznavanju situacij z nizko stopnjo zaupanja, pri čemer so aktivirali zasilne postopke in preprečili nevarna dejanja.
V analizi je sistem dosegel delovanje v realnem času na Raspberry Pi (18 FPS; povprečno 55,3 ms/okvir). Največji delež zakasnitve se zgodi na Coral Edge TPU, sledijo izračuni indikatorjev zaupanja, medtem ko glasovalni model in politike prispevajo zanemarljiv delež. Z oracle pristopom je bilo ugotovljeno, da glasovalni model v 72,8% primerov izbere enak model kot idealni odločevalec, pri uvedbi tolerance majhnih razlik se ujemanje poveča na 81,7%. Aktivacije varnostnih politik so bile zmerne in skladne s zmanjšanjem kakovosti, kar potrjuje, da sistem samopreizkuša zanesljivost in pravočasno omeji delovanje.
|