Objectdetectie is een techniek die gebruikt wordt om de locatie van bepaalde objecten in een beeld te kunnen aanduiden, typisch met een gekleurd rechthoekje er rond. Wanneer we een reeks van beelden met telkens slechts één object moeten sorteren op categorie spreken we over classificatie. Bij Flanders Make hebben we verschillende projecten lopen waarbij we objectdetectie gebruiken in nieuwe toepassingen. Onze experten leggen je in deze korte introductie de basisprincipes ervan uit.

Objectdetectie is een fundamentele bouwsteen in het domein van computervisie. Het vormt de basis van meer geavanceerde taken zoals segmentatie waarbij een beeld in verschillende regio’s opgedeeld wordt of tracking waarbij bepaalde objecten in een videobeeld moeten gevolgd worden.

Objectdetectie is inmiddels al niet meer weg te denken in talloze industriële toepassingen. Enkele veel voorkomende taken zijn:   

  • Persoonsdetectie, waarbij het te detecteren object in het beeld een mens is. Hiervoor zijn reeds erg betrouwbare algoritmes beschikbaar zoals bvb YOLO en MASK-RCNN 

  • Verkeerssituaties in kaart brengen, waarbij de locatie van alle relevante objecten zoals andere wagens, voetgangers, verkeersborden etc. omheen een wagen herkend en gelokaliseerd moeten worden. Autofabrikanten combineren deze informatie samen met andere sensoren zoals Lidar en radar om de auto’s uiteindelijk volledig autonoom te laten rijden.
  • Gezichtsherkenning, voor het ontgrendelen van smartphones en laptops of het detecteren en herkennen van personen in de foto’s die geupload worden naar Facebook, Instagram of Google Photos om zo automatisch tags toe te voegen.  

  • Tellen van aantallen, bijvoorbeeld om het aantal klanten in een winkel te tellen of mensenmassa’s te schatten.
  • Security
  • Nummerplaatherkenning 

Hoe werkt objectdetectie? 

Objectdetectie kan worden uitgevoerd met behulp van traditionele beeldverwerkingstechnieken of moderne deep learning-netwerken. Tegenwoordig is deep learning-objectdetectie algemeen aanvaard door onderzoekers en overgenomen door computervisie-bedrijven om commerciële producten te bouwen. 

Traditionele beeldverwerking vereist vaak geen voorafgaande gegevens voor training wat meteen ook het grootse voordeel van deze technieken is. Voorbeelden hiervan zijn template matching (a), beeldsegmentatie- en blob-analysetechnieken (b). 

De nadelen zijn dat deze benaderingen makkelijk in de problemen komen bij gedeeltelijk verborgen objecten, veranderingen in verlichting en schaduwen en rommelige of onoverzichtelijke beelden in het algemeen. 

Deep learning  is een vorm van machine learning en kunstmatige intelligentie (AI) die nabootst hoe het menselijk brein kennis verwerft en dingen leert door nieuwe neuronverbindingen te creëren of reeds bestaande verbindingen te versterken. 

De meeste deep learning-methoden maken gebruik van neurale netwerkarchitecturen, vandaar dat deep learning-modellen vaak deep neural networks worden genoemd. De term “diep” verwijst naar het aantal verborgen lagen in het neurale netwerk. Traditionele neurale netwerken bevatten slechts twee tot drie verborgen lagen, terwijl diepe netwerken tot 150 of zelfs meer kunnen hebben, die dankzij de toegenomen rekenkracht van grafische kaarten de laatste jaren meer en meer ingezet kunnen worden om bijvoorbeeld ook objecten in een beeld te detecteren.

  

Deze vorm objectdetectie steunt zeer sterk op de aanwezigheid van een grote gelabelde dataset die nodig is voor het algoritme te trainen.
Het voordeel van deze techniek is dat het erg robuust is tegen objecten die maar half zichtbaar zijn, veranderende lichtomstandigheden en complexe, rommelige beelden.
Het nadeel van deze technieken is de hoeveelheid benodigde, gelabelde data. Voor gebruikelijke objecten zijn er gelukkig heel wat datasets gratis online beschikbaar (COCO, Caltech, KITTI, PASCAL VOC, V5) maar ie voor specifieke objecten zal de dataverzameling en annotatie een tijdsintensief proces vergen.   

Populaire objectdetectie-algoritmes zijn bijvoorbeeld YOLO, dat uitblinkt in het zeer snel detecteren van kleine objecten en R-CNN, dat het beeld slim opdeelt in verschillende stukjes en vervolgens elk stukje apart bekijkt, wat snellere of betrouwbaardere resultaten kan leveren dan het beeld in zijn geheel te analyseren.  

 

 

Pin It on Pinterest