Praksis hos NordicNeuroLab (NNL) – Del 2

Hei igjen!

Da var det på tide for en oppdatering om hva jeg har gjort hos NNL i min andre periode. I det siste har jeg samlet inn data og evaluert hvor godt en eye-tracking software som NNL selv har utviklet fungerer. I det siste har jeg samlet inn data og evaluert hvor godt en eye tracking-software som NNL selv har utviklet fungerer. I motsetning til den forrige softwaren, som lagde en 3D-modell av øyet basert på formen av pupillen (ellipse eller sirkel), er denne basert på et deep learning nevralt nettverk som videre kalibreres av et mindre nevralt nettverk.

Før jeg går inn på resultatene er det verdt å forklare to viktige begreper. Tenk deg en blink-skive: accuracy beskriver hvor nærme midten du treffer i gjennomsnitt, mens precision beskriver hvor tett samlet treffene dine er. Man kan ha god precision men dårlig accuracy – altså treffe konsekvent på feil sted. For eye tracking betyr dette at lav precision er bra (øyebevegelsene måles stabilt), mens lav accuracy betyr at det er et systematisk avvik mellom hvor man faktisk ser og hvor softwaren tror man ser.

Min første oppgave var å finne hvilken epochs-verdi som ga best accuracy og precision. Epochs er hvor mange ganger det nevrale nettverket trenes på dataene. For få epochs betyr at nettverket ikke lærer nok, mens for mange kan føre til overtilpassing – at nettverket blir for spesialisert på treningsdataene og presterer dårligere på nye data.Strategien min var å starte med et stort intervall av verdier for så å snevre det inn. Jeg begynte med epochs-verdiene 1, 2, 5, 10, 15 og 20, hvor 15 pekte seg ut med best ytelse (accuracy 1.718° og precision 0.301°). 

Figur 1. Oversikt over nøyaktighet til ulike epochs verdier ved første gjennomkjøring. 

Deretter testet jeg verdier rundt 15 i stadig mindre intervaller, og kom frem til følgende resultater:

Tabell 1. Oversikt over resultatene til deep learning eye-tracking software.

EpochsAccuracy [°]Precision [°]Antall målinger 
153.36 ± 1.060.28 ± 0.024
163.77 ± 1.010.32 ± 0.074
174.68 ± 1.350.26 ± 0.034
183.12 ± 0.150.26 ± 0.024

Resultatene viser at nettverket er stabilt – precision holder seg lav og konsistent på tvers av epochs-verdiene. Accuracy er noe høyere enn ønskelig, men siden feilen er systematisk tyder det på at en forbedret kalibrasjonsrutine kan redusere den betraktelig. Med andre ord: nettverket treffer konsekvent litt feil sted, noe som er lettere å korrigere enn tilfeldig støy.