Het detecteren en het herkennen van objecten zijn allebei computer vision technieken, maar ze mogen niet met elkaar verward worden, want ze zijn nogal verschillend op het vlak van complexiteit. Terwijl basis oplossingen zoals template matching kunnen worden gebruikt voor het detecteren van objecten, in het geval van het herkennen van objecten is het proces vaak ingewikkelder en er moet een beroep worden gedaan op machine learning of op deep learning. Ter vergelijking stelt objectenherkenning computer vision ontwikkelaars voor een veel grotere uitdaging. 

Met andere woorden, het detecteren van objecten maakt het gewoon mogelijk om bepaalde op beelden verschenen “objecten” (bijvoorbeeld, auto’s) te tellen, terwijl het herkennen van objecten wordt gebruikt voor ingewikkeldere taken zoals het herkennen van categorieën (bijvoorbeeld, een bepaald model van auto).

Computer vision ontwikkelaars moeten een belangrijke keuze maken afhankelijk van de aard van elk project: machine learning ofwel deep learning technieken gebruiken voor het herkennen van objecten. Het is belangrijk te benadrukken dat deep learning deel van machine learning uitmaakt, maar is ingewikkelder. Hieronder volgen een paar bijzonderheden waarmee u rekening moet houden als u een nieuw project van objectherkenning start.

Machine learning

Het proces van objectherkenning begint met handmatige extractie van specifieke features: het gaat om een analyse van beelden en video’s om specifieke kenmerken te bepalen van objecten die u wilt herkennen. Machine learning algoritmen hebben meer tijd en menselijke interventie nodig voordat objecten met een grote mate van nauwkeurigheid kunnen worden herkend. Het voordeel van deze aanpak is dat de vereisten inzake rekenkracht en omvang van datasets relatief laag zijn en dat maakt het rendabeler.

Deep learning

Een artificieel neuraal netwerk wordt getraind met behulp van ruwe data om automatisch gelijkenissen en verschillen tussen objecten te identificeren. Ontwikkelaars kunnen een model van de grond af ontwerpen en het trainen. Dankzij deep learning technieken bereiken resultaten vaak een hoge nauwkeurigheidsgraad. De kosten van zo’n proces kunnen echter hoog zijn omdat er miljoenen beelden nodig zijn om deep learning modellen te trainen en er is dus ook veel energie nodig om die beelden te verwerken.

Use case: logodetectie in krantenartikelen

Onlangs werd onze hulp gevraagd voor een uitdagend project betreffende het herkennen van objecten in een complexe omgeving. Auxipress is een belangrijke speler in de media monitoring sector en werkt voornamelijk voor grote bedrijven en merken. Het bedrijf was op zoek naar een herkenning dienst die krachtig en efficiënt zou zijn om logo’s van merken sneller te kunnen identificeren in krantenartikelen en in tv-programma’s.

Voor dit project heeft ons team van computer vision ontwikkelaars stap voor stap gewerkt door telkens verder te zoeken in computer vision technieken totdat er een bevredigende nauwkeurigheidsgraad voor objectenherkenning werd verkregen.

Ze begonnen met eenvoudige computer vision oplossingen zoals template matching om resultaten te beoordelen. Zoals verwacht was de nauwkeurigheidsgraad te laag. Technieken zoals template matching werken efficiënt in zeer beperkte omgevingen, zoals een productieketen waar de omgeving onveranderd blijft (altijd dezelfde belichting, camera’s op dezelfde plaats…). Deze oplossing was dus niet geschikt voor dit project. Logo’s moeten worden gedetecteerd in complexe omgevingen, bijvoorbeeld, op werkelijke objecten of mensen (zoals logo’s op T-shirts) en dus ook als ze “vervormd” zijn. 

Ons team van computer vision ontwikkelaars heeft dan andere methodes zoals features matching geprobeerd te gebruiken. Maar net als in het geval van template matching waren resultaten niet bevredigend genoeg.

Voor dit project moesten we deep learning technieken gebruiken, want het herkennen van objecten in de vereiste omgeving bleek tamelijk ingewikkeld. Ons team heeft een aanzienlijke hoeveelheid krantenartikelen geannoteerd om op de aanwezigheid of de afwezigheid van logo’s te wijzen en om verbanden te leggen tussen die logo’s en merken zodat er een omvangrijke dataset wordt samengesteld. De algoritmen waren voortdurend getraind met behulp van die dataset tot er zo’n nauwkeurigheidsgraad voor logosherkenning werd verkregen dat de behoeftes van het bedrijf konden worden voldaan.

Nu worden onze algoritmen verder getraind om bevredigende resultaten op te leveren aangezien Auxipress dit project wil toepassen niet alleen op statische beelden (krantenartikelen) zoals al nu wordt gedaan, maar ook op video’s (tv-programma’s, reclamespots …).

Aarzel niet meer om ons te contacteren als u een project betreffende het herkennen van objecten in complexe omgevingen heeft of als u meer wilt weten over onze expertise.