Objectherkenning

Voor asset management toepassingen is het goed om te weten waar de assets staan in je gebied. In een app, bijvoorbeeld, kun je op een locatie de gegevens ophalen uit een database en deze vergelijken met de werkelijke situatie. Met objectherkenning is het mogelijk om automatisch objecten te herkennen en de gegevens terug te leveren aan de database. Ter illustratie van de mogelijkheden van objectherkenning is een algoritme getraind

dat in staat is hectometerplaatjes te herkennen. Een hectometerpaal is te vinden langs snelwegen en provinciale wegen en geeft aan waar men zich bevindt ten opzichte van het begin van de weg.

 

Hectormeterpaaltjes zijn gemakkelijk te herkennen, maar hebben het nadeel dat ze relatief klein zijn. Het doel is om deze paaltjes te herkennen als we er met 100 kilometer per uur langsrijden. Hiervoor zijn de meest moderne objectherkenningsmethoden gebruikt. Het is gelukt om hectometerpaaltjes betrouwbaar te herkennen met een camera die in een auto

gemonteerd is. Met de juiste apparatuur kan dus live geregistreerd worden waar de hectometerpaaltjes zich bevinden.

 

Data

 

Voor het opbouwen van een dataset zijn we langs snelwegen en provinciale wegen gereden en hebben een groot aantal hectometerpaaltjes gefotografeerd. Hiervoor is de camera van een mobiele telefoon gebruikt. In een tijdsbestek van een uur zijn ongeveer 400 foto’s verzameld.

Om de modellen te trainen moeten we per foto aangeven waar zich het hectometerpaaltje bevindt. Hiervoor is annotatiesoftware beschikbaar, die de coördinaten opslaat van het kader dat je om een paaltje tekent.

 

Na annotatie van de paaltjes worden alle foto’s naar eenzelfde formaat geschreven. Dit reduceert de trainingstijd.

 

Over het algemeen zijn de foto’s op eenzelfde manier, in dezelfde omstandigheden gemaakt. Daarmee is het trainen eenvoudiger. Maar het moet ook mogelijk zijn de paaltjes te herkennen in mistige omstandigheden of als het donkerder is. Daarom passen we data augmentation toe. Hiermee krijgen beelden andere helderheid, meer mist en worden de beelden ook geroteerd. De dataset wordt daarmee ook groter, wat de training kan verbeteren.

 

Vervolgens wordt de data gesplitst in een training-, validatie en testset. Het doel hiervan is om te voorkomen dat een perfect model op de trainingsset slecht presteert op andere gegevens. Met de splitsing van de gegevens wordt dit voorkomen.

 

Modellen

Modellen voor het detecteren van objecten worden steeds beter, zowel in snelheid als betrouwbaarheid. Voor het trainen van dit model hebben we YOLOv4 gebruikt, naast EfficientDet. Voor het trainen van de modellen is veel rekenkracht nodig. Om gebruik te maken van GPU’s hebben we Google’s Colab ingezet voor de training.  

 

De prestaties van de verschillende modellen zijn vergeleken door gebruik te maken van mean average precision.

 

Het beste model is vervolgens gebruikt om hectometerpaaltjes te herkennen in een filmpje.

 

 

Conclusie

Met behulp van de huidige stand van zaken in de wereld van objectherkenning is het
relatief eenvoudig om zelf gedefinieerde objecten te herkennen. Dit geeft
ongekende toepassingsmogelijkheden. Live herkennen van objecten is een reële mogelijkheid.

 

 

Laat een reactie achter

Het e-mailadres wordt niet gepubliceerd.