ERK'2019, Portorož, 123-126 123 Zaznavanje manevrov pri voznikih Miloš Antić, Goran Andonovski Univerza v Ljubljani, fakulteta za elektrotehniko, Tržaška cesta 25 E-pošta: ma4852@student.uni-lj.si, goran.andonovski@fe.uni-lj.si Detection of driver maneuvers Abstract. The main objective of the paper is to evaluate the performance of certain maneuvers of drivers and to compare them with known or correct maneuvers. In this way, we can create an expert system that can assess how well a driver performs a certain maneuver, such as a three-point turn, U-turn, etc. When creating the system, we will focus on methods for selecting the most influential components such as PCA and manually selecting components and comparing them. The quality of maneuvers will be evaluated using the KNN method, which means sorting with the k-nearest neighbors. The second step of the task is based on the learned/known models to detect which maneuver was performed. We will evaluate drivers' drive on the data we have collected on the simulator in Madrid. 1 Uvod U-obrat in trikoračni obrat sta ena izmed mnogih manevrov, ki se jih vozniki poslužujemo v določenih okoliščinah. Trikoračni obrat je metoda obračanja vozila v nasprotno smer v omejenem, ozkem prostoru z manevriranjem naprej in nazaj. Sam proces trikoračnega obrata se začne z vožnjo čez cesto, kjer smo obrnjeni proti robu ceste nasprotnega pasu, nato zapeljemo vzvratno in obračamo zadek avtomobila proti izhodiščnemu zunanjemu robu ceste, nadaljujemo z vožnjo naprej v željeno smer, tj. smer nasprotna iz- hodiščni smeri. Drug princip obračanja vozila, tj. manever U-obrat, najpogosteje uporabljamo v križiščih, kjer imamo dovolj prostora za izvedbo manevra. Gre za obračanje vozila za 180 stopinj v smer, ki je nasprotna izhodiščni smeri potovanja. Tak manever se izvaja v obliki črke U, zato tudi takšno poimenovanje. V tem članku bomo predstavili ekspertni sistem, ki bo voznikom pomagal pri učenju, in sicer tako, da bo ocenjeval njihovo vožnjo. Model bomo uporabili za napovedovanje manevrov oz. določanje, kateri manever se izvaja oz. se je izvedel. Da bi z modelom čim bolj pravilno napovedovali oz. ocenjevali manevre, je potrebno podatke o vožnji predhodno analizirati. V ta namen bomo vpeljali metodo PCA (angl. principal component analyis) oz. analizo glavnih komponent, da se znebimo redundantnosti podatkov in izločimo tiste podatke, ki ne vsebujejo veliko informacij o zadanem problemu. To pomeni, da imamo določene kolinearne komponente, kar pomeni, da za opis celotne informacije ne potrebujemo vseh komponent oz. spremenljivk [2]. Z izbranimi komponentami bomo z metodo k najbližjih sosedov vrednotili manevre voznikov [1]. Uspešnost razvrščevalnika bomo prikazali tudi grafično v obliki stolpčnih diagramov, s posebno vrsto ko- ntigenčne matrike (angl. confusion matrix). 2 Podatki Na razpolago imamo podatke o vožnji za pet voznikov, ki smo jih pridobili na simulatorju vožnje [3]. Vsak voznik je opravil trikoračni in U-obrat. Merili smo 16 atributov oz. signalov, npr. kot volana, število obratov na minuto, hitrost, prestava, pojemek, pospešek, itn. Pri uporabi PCA analize je priporočljivo da so podatki normirani in osrediščeni. Na sliki 1 je prikazan graf zaviranja (pri izvajanju trikoračnega manevra), ki vsebuje normirane vrednosti, medtem ko na sliki 2 in 3 vidimo, da hitrost avtomobila in število obratov na minuto, v setu podatkov, niso normirani. Slika 1. Graf zaviranja Slika 2. Graf hitrosti 124 Slika 3. Graf obratov na minuto Število zajetih vzorcev merjenih atributov je od 5000 pa do 12000. Večje število vzorcev so naredili vozniki s trikoračnim obratom. V setu podatkov imamo tudi dve vrednosti markerja, nič in ena. Marker ponazarja izvajanje določenega manevra, npr. U-obrat, trikoračni obrat itn. Marker z vrednostjo ena predstavlja trenutek, ko se manever izvaja, medtem ko marker z vrednostjo nič pa ko vozimo naravnost. Na sliki 3 je prikazan potek markerja za prvega in druga voznika, ko sta opravila U obrat. Z modro je označen potek za prvega voznika, z rdečo pa za drugega. Slika 4. Graf markerja Najboljšega izmed voznikov, tj. prvi voznik po dogovoru, bomo izbrali za učno množico pri učenju razvrščevalnika, ki temelji na metodi k-najbližjih sosedov. S podatki preostalih voznikov pa bomo vršili validacijo izvajanja manevrov. 3 Analiza in rezultati Preizkušali smo tri načine določitve najvplivnejših komponent, in sicer z ročno izbiro vhodnih signalov oz. komponent, s fiksnim številom izbranih komponent (PCA) in z izbiro komponent z varianco večjo, kot je določena meja. Analizirali smo tudi vpliv parametra k na delovanje razvrščevalnika. 3.1 Ročna izbira komponent Pri ročni izbiri smo smiselno izbrali komponente, ki imajo normirane vrednosti in ki vsebujejo velik delež informacij o manevru. Uporaba metode ročne izbire je smiselna zato, ker nam je problem vožnje dobro znan in znamo iz izkušenj oceniti pomembne aspekte vožnje avtomobila. V tabeli 1 so prikazane uspešnosti izvajanja manevrov voznikov, ki smo jih vrednotili z učnim modelom voznika ena. Tabela 1. Uspešnost voznikov-ročna izbira Število komponent 1 2 3 U-obrat Uspešnost voznika v % Voznik 2 62,16 74,64 41,60 Voznik 3 60,89 69,56 41,58 Voznik 4 66,63 70,44 50,13 Voznik 5 66,77 75,11 40,22 3-koračen obrat Voznik 2 82,68 81,39 61,00 Voznik 3 79,42 78,13 64,85 Voznik 4 83,72 82,07 63,24 Voznik 5 88,20 87,94 62,10 Število komponent 4 5 7 U-obrat Uspešnost voznika v % Voznik 2 46,71 67,62 91,55 Voznik 3 51,93 66,01 89,66 Voznik 4 49,65 70,77 78,69 Voznik 5 39,85 77,09 78,84 3-koračen obrat Voznik 2 50,74 75,07 88,88 Voznik 3 53,35 71,05 87,89 Voznik 4 55,56 76,68 86,70 Voznik 5 53,24 74,60 93,90 Opazimo, da v nekaterih primerih z večanjem števila komponent upada uspešnost voznikov (vsi vozniki pri U in 3-koračnem obratu). S tem želimo pokazati, da pri napačni oz. nesmiselni izbiri komponent izgubimo veliko pomembnih informacij. V vseh šestih primerih smo za parameter k vzeli vrednost pet pri razvrščanju s KNN. 3.2 Fiksno število izbranih komponent Izbiro najvplivnejših komponent smo v tem primeru prepustili metodi PCA in smo ji kot parameter vnesli željeno število vplivnih komponet, ki jih želimo poiskati. V tabeli 2 vidimo, da se z večanjem števila 125 komponent uspešnost voznikov povečuje. Opazimo, da se pri sedmih komponentah odstotek uspešnosti ustali in da z večanjem št. komponent ne vnašamo novih informacij. Za razvrščanje smo zopet uporabili pet najbližjih sosedov. Tabela 2. Uspešnost voznikov-fiksno število Število komponent 1 2 3 U-obrat Uspešnost voznika v % Voznik 2 78,62 77,15 86,96 Voznik 3 80,66 80,19 86,42 Voznik 4 74,70 77,57 81,90 Voznik 5 70,70 75,97 81,82 3-koračen obrat Voznik 2 81,23 85,05 88,61 Voznik 3 82,10 84,96 87,02 Voznik 4 80,22 81,67 82,05 Voznik 5 84,49 89,80 93,96 Število komponent 4 5 7 U-obrat Uspešnost voznika v % Voznik 2 90,13 90,53 91,55 Voznik 3 87,64 88,53 89,66 Voznik 4 77,22 79,13 78,69 Voznik 5 74,52 77,86 78,84 3-koračen obrat Voznik 2 88,09 89,05 88,88 Voznik 3 86,83 87,90 87,89 Voznik 4 82,71 85,82 86,70 Voznik 5 93,50 94,34 93,90 3.3 Izbira glede na delež informacij Delež informacij je meja, ki določa število komponent, ki imajo varianco večjo od meje. Vrednosti meje smo izbirali v intervalu od 0,80 do 0,99. Zopet smo pri razvrščanju uporabili za parameter k vrednost pet. V tabeli 3 so podani rezultati vrednotenja. Rezultati vrednotenja se bistveno ne spreminjajo glede na delež informacij. 3.4 Analiza vpliva parametra k V tabeli 4 vidimo, da se rezultati z večanjem k-ja bistveno ne spreminjajo. Najprej smo z metodo PCA izbrali sedem najvplivnejših komponent, nato pa analizirali KNN razvrščevalnik oz. parameter k. Za potrebe razvrščanja je za dane podatke zadosti, če uporabimo uporabimo k=1. Za mero podobnosti pri razvrščanju uporabljamo evklidsko razdaljo. Na sliki 4 je prikazana matrika zamenjav, ki prikazuje rezultate za vrednotenje manevriranja drugega voznika glede na prvega voznika, pri izvedbi U-obrata (sedem komponent, k=1). Target Class predstavlja vrednosti markerja dejanskega poteka manevrov prvega voznika, Output Class pa predikcije oz. razvrščene vzorce voznika 2. Marker 0 smo napovedali pavilno v 2776-ih primerih, tj. 50,5 %, marker 1 pa v 2259-ih oz. 41,1 %. Marker 0 je napovedan napačno v 155-ih (oz. 2,8%) primerih, marker 1 pa v 310-ih (oz. 5,6%). Tabela 3. Uspešnost voznikov-delež informacij Delež informacij 0,80 0,85 0,89 U-obrat Uspešnost voznika v % Voznik 2 73,76 73,76 73,76 Voznik 3 73,72 73,72 73,72 Voznik 4 68,17 68,17 68,17 Voznik 5 58,96 58,96 58,96 3-koračen obrat Voznik 2 61,05 61,05 61,05 Voznik 3 63,40 63,40 63,40 Voznik 4 61,83 61,83 61,83 Voznik 5 64,68 64,68 64,68 Delež informacij 0,92 0,95 0,97 U-obrat Uspešnost voznika v % Voznik 2 73,76 73,76 73,76 Voznik 3 73,72 73,72 73,72 Voznik 4 68,17 68,17 68,17 Voznik 5 58,96 58,96 58,96 3-koračen obrat Voznik 2 61,05 61,05 61,05 Voznik 3 63,40 63,40 63,40 Voznik 4 61,83 61,83 61,83 Voznik 5 64,68 64,68 64,68 Slika 5. Matrika zamenjav 3.5 Metoda in parametri Glede na analizo in rezultate smo izbrali metodo ročne izbire vplivnih komponent. Izbrano število komponent je sedem. Do ugotovitve smo hitro prišli tudi zato, ker smo dobro seznanjeni s problemom vožnje. Izbrane komponente od šestnajstih so: • kot volana, 126 • pospeševanje, • zaviranje, • pritisk sklopke, • hitrost, • število obratov na minuto, • prestava. Za parameter k pri metodi razvrščanja s k-najbližjimi sosedi smo izbrali vrednost ena. Izbrano metodo in parametre bomo upoštevali pri tvorbi modela za trikoračni in U-obrat. Tabela 4. Analiza vpliva parametra k 4 Model trikoračnega in U-obrata Z modeloma obeh obratov želimo razpoznavati, kateri od njiju se izvaja ali se je izvedel v določenem trenutku. Modela smo naredili tako, da smo ju učili na podatkih prvega voznika. Z modeloma napovedujemo potek markerja na podatkih ostalih voznikov in tako lahko preverjamo uspešnost napovedovanja obeh modelov glede na dejanske poteke markerjev preostalih voznikov. Za razvrščevalni algoritem smo zopet izbrali metodo KNN, kjer je paramerer k=1 in mera podobnosti evklidska razdalja. Pri razvrščanju smo ponovno upoštevali sedem najvplivnejših komponent, omenjene v podpoglavju 4.5. V tabeli 5 imamo podane uspešnosti napovedovanja z modelom U-obrata. Tabela 5. Napovedovanje z modelom U-obrata Uspešnost napovedovanja v % U-obrat Voznik 2 0,9189 Voznik 3 0,8966 Voznik 4 0,8011 Voznik 5 0,7928 3- koračen obrat Voznik 1 0,6066 Voznik 2 0,6341 Voznik 3 0,6574 Voznik 4 0,6074 Voznik 5 0,6045 Vidimo, da lahko, glede na odstotek uspešnosti, brez problema razlikujemo med obratoma. Glede na odstotek uspešnosti napovedovanja (glej tabelo 6) z modelom za trikoračni obrat vidimo, da bi lahko prav tako razpoznavali kateri obrat se je izvedel, ker imamo v vseh primerih za izvedeni trikoračni obrat višji odstotek napovedi. Tabela 6. Napovedovanje z modelom trikoračnega obrata Uspešnost napovedovanja v % U-obrat Voznik 1 0,8782 Voznik 2 0,8653 Voznik 3 0,8466 Voznik 4 0,8737 Voznik 5 0,9041 3- koračen obrat Voznik 2 0,8942 Voznik 3 0,8766 Voznik 4 0,8895 Voznik 5 0,9504 5 Zaključek Tekom analize komponent smo ugotovili, da lahko z metodo ročne izbire hitro določimo najvplivnejše komoponente, kar nam omogoča predvsem dobro poznavanje problema vožnje avtomobila. Na drugi strani imamo metodo PCA, ki nam omogoča podrobnejšo analizo komponent. Rezultat obeh analiz je izbranih sedem komponent in vrednost parametra k za metodo k-najbližjih sosedov. Za izboljšanje rezultatov in razpoznavanje določenih manevrov z modeli bi morali analizirati dogajanje znotraj posameznega intervala manevriranja, ki ga določa marker. To je pomembno zaradi tega, ker so lahko zaporedja manevrov znotraj intervala različna. Literatura [1] "k-nearest neighbors algorithm", Dostopno na: https://en.wikipedia.org/wiki/K- nearest_neighbors_algorithm, 30.1.2019 [Citirano: 14.2.2019] [2] I. Škrjanc: Inteligentni sistemi za podporo odločanju, Založba FE in FRI, Univerza v Ljubljani, Fakulteta za elektrotehniko, 2016. [3] Systems Technology. (2016). Car driving simulator & simulation software. Retrieved September 14, 2016, from http://www.stisimdrive.com/products/simulation- systems/m100-series Parameter k 1 3 5 7 U-obrat Uspešnost voznika v % Voznik 2 91,60 91,76 91,55 91,60 Voznik 3 89,24 89,31 89,66 89,75 Voznik 4 78,84 78,89 78,69 78,41 Voznik 5 78,36 78,59 78,84 78,93 3-koračen obrat Voznik 2 89,45 88,99 88,88 89,09 Voznik 3 87,65 87,63 87,89 87,59 Voznik 4 86,62 86,69 86,70 86,77 Voznik 5 93,89 94,05 93,90 93,96