Sluitstuk | Robots beter leren kijken
Om mobiele robots, zelfrijdende auto’s of drones in de echte wereld in te kunnen zetten, moeten ze net als mensen in staat zijn om hun omgeving waar te nemen en te begrijpen. TU/e-promovendus Daan de Geus ontwikkelde algoritmes voor automatische beeldherkenning die sneller en nauwkeuriger werken dan bestaande modellen. Afgelopen woensdag is hij cum laude gepromoveerd bij de faculteit Electrical Engineering.
De Geus slaat zijn thesis open en laat een foto van een straatbeeld zien, met daarop verschillende objecten zoals mensen, voertuigen, paaltjes en verkeerslichten (zie afbeelding hieronder). “Mobiele robots en zelfrijdende auto’s moeten weten wat er om ze heen gebeurt”, vertelt hij. Zo moeten ze objecten kunnen herkennen en lokaliseren, zodat ze er rekening mee kunnen houden. “Dan kunnen ze eromheen rijden of juist ernaartoe en het stelt ze in staat om een bepaald object op te pakken en een taak uit te voeren.”
Om robots bewust te maken van hun omgeving worden er verschillende computer vision-technieken gebruikt, een onderzoeksgebied dat zich bezighoudt met automatische extractie van relevante informatie uit camerabeelden. “Simpel gezegd proberen wij modellen te maken die zoveel mogelijk informatie uit een foto kunnen halen”, legt de promovendus uit. “Het doel van computer vision is om een systeem te maken dat ons eigen visuele systeem nadoet, zodat computers op dezelfde manier kunnen kijken zoals mensen en hierdoor goed kunnen interacteren met de wereld om zich heen.”
Zijn onderzoek focust zich op de verbetering van de beeldherkenningstechnieken op het gebied van scene understanding. Dat is een klein, maar cruciaal onderdeel van computer vision. “Het doel daarvan is om verschillende objecten en regio’s in een afbeelding te herkennen en een semantisch label te geven, zoals ‘straatverlichting’, ‘weg’, ‘auto’ of ‘mens’”, legt hij uit. Dat houdt in dat er een betekenis aan wordt gegeven die voor mensen duidelijk is.
Nauwkeurigheid en efficiëntie
Voor automatische beeldanalyse worden neurale netwerken gebruikt – systemen die leren om een bepaalde taak uit te voeren doordat ze getraind worden met een grote hoeveelheid data. Door deze neurale netwerken gericht te trainen krijg je verschillende modellen die gespecialiseerd zijn in specifieke taken, zoals bijvoorbeeld het zoeken naar alle auto’s in een afbeelding. In het eerste deel van zijn proefschrift heeft De Geus gekeken hoe je de nauwkeurigheid en efficiëntie van die modellen kunt verbeteren. “Vaak gaat verbetering van het ene aspect ten koste van het andere. Om nauwkeurigere resultaten te krijgen, leveren bestaande methoden gewoonlijk in op efficiëntie, en andersom”, legt hij uit. “Dat is logisch, want een hogere nauwkeurigheid kost vaak meer rekenkracht, wat de efficiëntie direct naar beneden haalt.” De grote vraag is daarom: hoe kun je deze aspecten verbeteren zonder dat je een compromis hoeft te maken?
Daar heeft hij verschillende oplossingen voor gevonden. “Efficiëntie is belangrijk om twee redenen. Je wilt dat het algoritme zo min mogelijk energie verbruikt en zo snel mogelijk een voorspelling kan maken”, vertelt hij. De snelheid is zeker bij zelfrijdende voertuigen van essentieel belang, zodat de auto’s op tijd kunnen reageren op ontstane situaties. “Als de berekening een seconde duurt, dan kan het al te laat zijn om actie te ondernemen.”
Door middel van zogenaamde modelunificatie heeft hij twee modellen met elkaar verenigd om een efficiënter model te creëren. “Sommige taken focussen op de voorgrondobjecten, zoals auto’s en mensen; andere op zogenaamde achtergrondregio’s zoals vegetatie en lucht. Dat wordt gedaan door twee verschillende neurale netwerkmodules, want iedere module is gespecialiseerd in een andere taak”, legt hij uit. “Twee netwerkmodules gebruiken is niet zo efficiënt, want die moeten parallel gaan draaien.” Hij kwam erachter dat je extra informatie kunt geven aan de netwerkmodule die achtergrondinformatie verwerkt, zodat deze ook voorgrondobjecten kan identificeren. “Daardoor is de module voor voorgrondprojecten niet meer nodig, wat de efficiëntie enorm ten goede komt. Zo werkt dit model twee keer sneller dan voorgaande modellen, terwijl we een vergelijkbare nauwkeurigheid behalen.”
Een andere manier om de efficiëntie te verbeteren is gebaseerd op de observatie dat veel regio's in een afbeelding sterk op elkaar lijken. Zo bestaat een foto die je buiten neemt voor een groot deel uit lucht. “Ondanks het feit dat heel veel informatie op elkaar lijkt, verwerken neurale netwerken iedere beeldregio apart, wat heel inefficiënt is”, aldus De Geus. De gehele afbeelding wordt verdeeld in patches die uit pixels bestaan (zie afbeelding hieronder). Normaal zouden deze individueel beoordeeld en gelabeld worden, maar de promovendus heeft een methode ontwikkeld om patches met vergelijkbare informatie te clusteren, zodat je het totaalaantal patches reduceert en dus minder rekenkracht nodig hebt. “Zo kunnen we de snelheid met tot wel 110% verbeteren, zonder dat dit de nauwkeurigheid beïnvloedt.”
Deze methode om soortgelijke beeldregio’s te groeperen is overigens breed toepasbaar voor veel verschillende modellen en veel meer toepassingen dan alleen zelfrijdende auto’s of mobiele robots. Zo zou je deze algoritmes bijvoorbeeld ook kunnen gebruiken voor de segmentatie van medische afbeeldingen. “Eigenlijk overal waar het nodig is om automatisch beeld te kunnen analyseren.”
Meerdere abstractieniveaus
In het tweede deel van zijn proefschrift focuste hij op wat hij meerdere abstractieniveaus noemt. “Bestaande algoritmes focussen ofwel op hele objecten, zoals auto’s, ofwel op hun onderdelen, zoals autobanden of de kentekenplaat”, licht hij toe. Zijn doel was om een algoritme te ontwikkelen dat een afbeelding op meerdere abstractieniveaus tegelijkertijd kan begrijpen. “Zodat een mobiele robot zowel de auto als zijn onderdelen waar kan nemen, en dat voor verschillende objecten tegelijk en inclusief de achtergrond, waardoor je een alomvattend beeld van de omgeving krijgt”, aldus De Geus.
Je kunt beide algoritmes apart hun werk laten doen en dan de resultaten samenvoegen, maar dat is omslachtig. Bovendien kun je zo conflicten krijgen tussen de twee berekeningen. In plaats daarvan heeft hij een nieuw algoritme ontwikkeld dat tegelijkertijd objecten en onderdelen kan identificeren. “Dat is niet alleen accurater, maar ook efficiënter.” Dit verbeterde model is bovendien breed toepasbaar en brengt veel voordelen met zich mee. “Een robot kan daardoor bijvoorbeeld niet alleen een deur, maar ook de deurklink herkennen en begrijpen dat deze een onderdeel is van die deur. Dat stelt hem in staat om die deur openen”, illustreert hij.
Om zelfrijdende auto’s of mobiele robots in de praktijk te kunnen gebruiken, moet er nog heel veel gebeuren. “Beeldherkenning is maar een klein puzzelstukje in het geheel”, geeft hij toe. En ook op dat vlak zijn er nog genoeg uitdagingen. Zo zouden modellen ontwikkeld kunnen worden die meer verschillende objecten kunnen herkennen en die nog sneller en accurater werken. Ook zou je de generalisatie van het model kunnen verbeteren, zodat het ook goede resultaten geeft wanneer de data afwijken van de datasets waarmee het netwerk is getraind en dus beter kan presteren in real-world scenario's. Maar met zijn proefschrift heeft hij in ieder geval een stap gezet om het systeem capabeler, nauwkeuriger en efficiënter te maken.
PhD in the picture
Wat staat er op je proefschriftkaft?
“Een zelfrijdende auto, want dat is een van de belangrijkste potentiële toepassingen van mijn onderzoek. Meestal worden ze afgebeeld in een druk straatbeeld, maar ik dacht dat het juist leuk zou zijn om in een mooi landschap te gaan rijden zodat je lekker om je heen kunt kijken. Er zit ook de symboliek in van onderweg zijn, kijkend naar de stip aan de horizon. We zijn er nog niet, maar mijn onderzoek is hopelijk weer een klein stapje in de goede richting. En de verschillende kleurvlakken verwijzen naar de beeldregio’s en objectonderdelen die door beeldherkenningsalgoritmes worden geïdentificeerd.”
Je bent op een feestje. Hoe leg je in één zin uit wat je onderzoekt?
“Ik ontwikkel beeldherkenningsalgoritmes die mobiele robots kunnen helpen om hun omgeving beter waar te nemen en te begrijpen.”
Hoe blaas je naast je onderzoek stoom af?
“Sport doet het altijd heel goed. Zowel zelf uitoefenen - padellen, squashen, bootcamp - maar ook sport kijken, zo heb ik een seizoenkaart bij Feyenoord.”
Hoe draagt je onderzoek bij aan de maatschappij?
“Hopelijk is dit een puzzelstukje om uiteindelijk mobiele robots toe te passen die mensen kunnen helpen. Bijvoorbeeld om de verkeersveiligheid te verbeteren met zelfrijdende auto’s of om urgente goederen in afgelegen gebieden te bezorgen met mobiele drones. Maar denk ook aan zorgrobots of robots die zwaar en gevaarlijk werk van mensen kunnen overnemen zoals bouwrobots.”
Wat is je volgende hoofdstuk?
“Ik ben van plan om in de academische wereld te blijven. Eerst ga ik vanaf deze zomer een research visit doen bij een computer vision lab van de RWTH Aachen. Ik hoop daarna in Eindhoven te kunnen blijven om door te groeien en onderzoek te blijven doen. Ik vind het heel erg leuk om bij te blijven met de meest recente ontwikkelingen en zelf dingen uit te proberen die nog nooit iemand eerder heeft gedaan.”
Discussie