”Vi sad og kiggede på Google Earth, som startede med at zoome ind ude fra rummet. Først på Danmark, så Jylland, så Silkeborg og så til sidst på vores trafikskilt. Og så satte den markeringen lige nøjagtig på centimeteren oven i skiltet. Det var bare for fedt – og så oven i købet i første forsøg.”
Sådan fortæller Henrik Rasmussen om det øjeblik, hvor det lykkedes for ham og hans medstuderende Johan Musaeus Bruun at finde en færdselstavles position med centimeters nøjagtighed ud fra et foto via den metode, de har udviklet.
I det tidlige forår blev 25-årige Henrik og 26-årige Johan enige om, at de ville lave speciale sammen på Institut for Informatik og Matematisk Modellering.
”Vi så, der lå et spændende specialeemne, som gik ud på at undersøge, om det var muligt at udvikle software, som automatisk kunne genkende og placere vejudstyr på fotos. Det ville være en perfekt måde at kombinere mine evner inden for software med Johans matematik,” fortæller Henrik.
Henrik Rasmussen (tv.) og Johan Musaeus Bruun diskuterer de færdselstavler, som deres system kan genkende på fotos. (foto: POVL ARNE PETERSEN)
Som sagt så gjort. Og ret hurtigt fandt de to ud af, at det faktisk var muligt at udvikle software, som kunne genkende færdselstavler. De brugte det matematiske computerprogram MATLAB til deres programmering. Billedlig talt gav MATLAB dem et karosseri med hjul. Den kunne køre, men de skulle selv udvikle motoren og rattet for at bestemme, hvor programmet skule køre hen.
”Efter en måneds programmering fik vi programmet til at genkende de første færdselstavler. Nu vidste vi, at det kunne lade sig gøre, og det gav os blod på tanden,” husker Henrik.
Analog dataindsamling
De fotos, som bruges til projektet, er taget på samme måde som Google Street Views billeder. Hvert billede består af et 360 graders udsyn. Det er rådgivningsfirmaet COWI, som var med til at formulere opgaven med at optage billederne. Med kameraet oven på en bil kørte man omkring 30 kilometer rundt i Silkeborg og omegn og optog 6500 fotos.
”Vi valgte at koncentrere os om nogle få færdselstavler med enkle farver og former. Det første, vi gjorde, var at lære programmet at finde de rigtige farver på skiltene. Her var udfordringen, at rød ikke altid er rød. Alt efter om skiltet står i solen eller i skyggen på billedet, vil den røde farve være lys rød til næsten sort,” fortæller makkerparret.
Da programmet havde lært at genkende de rigtige farver, så skulle det også lære de rigtige former at kende. I starten blev for eksempel tankstationen Shells skilte opfattet som færdselstavler, da det har samme røde farve rundt om logoet som forbudsskilte i trafikken. Efter lidt yderligere programmering kom formerne også på plads. De næste to udfordringer i projektet var så at finde metoder, så et program ikke bare kan genkende færdselstavlen, men også hvad der står på den.
”Til at se, om der for eksempel står 40 km/t eller 70 km/t på et skilt, brugte vi neurale netværk. Det er en slags kunstig intelligens, som vi så fodrede med oplysninger om, hvordan sådanne skilte ser ud. Det lykkedes os at lære den, hvordan et skilt med 40 km/t ser ud, men det mislykkedes desværre med 70 km/t. Men det skyldtes først og fremmest vores begrænsede fotomateriale. På de 6500 fotos var der 50 forskellige 40 km/t skilte. Dermed kunne systemet lære, at sådan ser et 40 km/t skilt altså ud. Men der var kun seks 70 km/t skilte – og det var ikke nok til, at det kunne lære at genkende det hver gang,” lyder det fra Johan med en smule ærgrelse i stemmen – man er vel ambitiøs.
Det første gennembrud kom, da programmet kunne genkende farverne på færdselstavlerne. Her kan man sammenligne med det, der er på fotoet, og så hvad programmet ”ser”.
Det’ for feeedt, mand!
Det helt store heureka-øjeblik kom, da de kastede sig over geopositioneringen af færdselstavlerne. Men mens deres forgænger Arkimedes for over 2000 år siden råbte ”heureka!”, så lød ordene i 2010 på DTU mere som ”fedt!” og ”yes, mand!”. Men glæden ved opdagelsen var formentlig den samme.
”Vi troede, at vi med beregningerne kunne komme i nærheden af skiltenes faktiske position. Men at vi i første forsøg kunne placere dem med centimeters nøjagtighed, var alligevel helt fantastisk,” siger de begge med store smil.
Sigtelinjer fra kameraet hen til færdselstavlen blev lagt ind i MATLAB – det kunne for hver tavle være fem-seks sigtelinjer fra lige så mange billeder. Programmet skulle så beregne et gennemsnit for, hvor disse sigtelinjer mødte hinanden og dermed, hvor tavlen stod. Det lykkedes som sagt over alt forventning.
Og det er ikke kun Henrik Rasmussen og Johan Musaeus Bruun, der er glade for succesen. Deres projekt vækker også begejstring hos rådgivningsfirmaet COWI. Her er seniorspecialist Kristian Keller meget imponeret over de to unge studerende.
”Den metode, de har udviklet, har virkelig stort potentiale. Som det er i dag, så ved hverken kommunerne eller staten, hvor alt deres vejudstyr står henne. Alle dem, som i tidens løb har sat alle skiltene op, gjorde sig ikke altid den ulejlighed at notere ned, hvor de satte dem op henne. Derfor er der i dag ingen, som ved, hvor mange skilte, lyskurver, helleanlæg, lygtepæle og alt det andet vejudstyr, som findes, og hvilken stand de er i, eller hvor de står henne,” fortæller Kristian Keller, der allerede har aftalt at mødes med Henrik og Johan efter efterårsferien til en snak om, hvordan man kommer videre herfra.
Senere i forløbet blev processen finpudset. Læg mærke til, at selvom systemet ikke er programmeret til at finde skilte med vejnavne, har det alligevel af sig selv fundet skiltet her på billedet. Det viser noget om potentialet i en videreudvikling af softwaren.
Af Povl Arne Petersen.