Image Recognition: hoe ziet, herkent en verwerkt een algoritme beelden?

Image Recognition

Onze ogen hebben tussen de 6 en 7 miljoen kegelcellen. Zodra lichtdeeltjes – afkomstig van de wereld om ons heen – hiermee in contact komen, veranderen ze in elektronische signalen. Vervolgens interpreteert ons brein deze signalen. Best een ingewikkeld fenomeen dus. Toch proberen we dit steeds vaker na te bootsen met allerlei computers en apparaten. Het doel is om beelden net zo goed interpreteren als mensen. Dit heet Image Recognition.

Wat is Image Recognition?

Image Recognition (beeldherkenning) is de analyse van pixels en patronen in afbeeldingen. Algoritmes analyseren deze pixels en patronen continu, waardoor het algoritme uiteindelijk afbeeldingen gaat herkennen. Belangrijk: Image Recognition is niet hetzelfde als Computer Vision. Bij Computer Vision wordt er altijd een fysieke actie ondernomen op basis van de herkende afbeelding. Neem een zelfrijdende auto. Het algoritme herkent niet alleen het kind dat onverwachts de weg op rent, maar onderneemt ook actie: remmen. Image Recognition heeft dit fysieke doel niet. Bij zelfrijdende auto’s kun je Image Recognition beschouwen als onderdeel van Computer Vision.

Image Recognition in drie stappen

Beeldherkenning gebeurt met een ‘kijkend’ algoritme dat drie stappen doorloopt:

1. Pixels eruit filteren. Afbeeldingen bestaan uit pixels: (gekleurde) punten op beelden. Elke pixel ‘omschrijft’ dus een klein stukje afbeelding. Hoe meer pixels, des te scherper de afbeelding. Pixels worden omschreven met een reeks cijfers, bijvoorbeeld de RGB-code (kleurcode). Het algoritme scant de afbeelding en filtert alle pixels eruit. Het aantal pixels kan behoorlijk hoog oplopen. Dit hangt af van de scherpte, de kleuren en de kleurintensiteit van de afbeelding.

2. Afbeeldingen labelen. Dit gebeurt aan de hand van de geanalyseerde pixels. Dit zijn kenmerken van bepaalde categorieën. Zo bevat de categorie ‘honden’ bijvoorbeeld veel pixels met kleurcodes die in de buurt komen van bruin, grijs, zwart en wit. Aan de hand van deze pixels kun je afbeeldingen automatisch indelen in categorieën. Hoe meer afbeeldingen worden toegevoegd aan de categorie ‘honden’, des te beter het algoritme in staat is om afbeeldingen voortaan in deze categorie te plaatsen. Deze categorieën (labels) zijn soms van tevoren bekend, maar het model kan labels ook later bepalen aan de hand van de input. Dit is het verschil tussen supervised machine learning en unsupervised machine learning.

3. Model trainen. Het model wordt eigenlijk al getraind zodra de eerste afbeelding is gelabeld. Het achterliggende proces van de ‘training’ is als volgt: alle input – oftewel afbeeldingen in de vorm van pixels – gaan door een enorm neuraal netwerk. Zie dit netwerk als een filter. Dit filter plaatst de afbeeldingen uiteindelijk onder een label. Het doel is om het netwerk zó te trainen dat alle mogelijke input straks onder een label staat (de output). Hoe meer input je geeft, des te meer afbeeldingen het model moet herkennen, verwerken en labelen. Het gevolg: accurate, betrouwbare output. Dit houdt in dat je gedetailleerde en misschien wel meer labels krijgt. Oefening baart kunst, dus. Uiteindelijk kan het model zelf categorieën herkennen en zelfs voorspellen aan de hand van de input.

Veel controverse, maar ook succes

Beeldherkenning kwam van ver, maar is ondertussen onmisbaar. Marketing wordt bijvoorbeeld steeds visueler. Zonder technieken als Image Recognition lopen bedrijven veel waardevolle data mis of kunnen ze dit niet gebruiken, en dat is zonde. Toch is Image Recognition een maatschappelijk discussiepunt door alle privacy- en beveiligingsissues die hierbij komen kijken. Maar dit weerhoudt bedrijven er niet van om apps, diensten en computers te ontwikkelen die gebaseerd zijn op Image Recognition. Een paar voorbeelden:

Smartify is een app die je gebruikt in musea. Scan een schilderij, kunstwerk of beeld, en je krijgt gelijk informatie in de vorm van tekst of audio. 

-In-store ervaringen. Winkels scannen hun bezoekers en bepalen geslacht, leeftijd en kledingstijl. Op basis hiervan presenteert de winkel een gepersonaliseerde outfit voor iedere bezoeker.

-Robots die winkelschappen scannen. Ze kunnen lege schappen aanvullen, bestellingen registreren en deze vervolgens uitvoeren.

-Analyse van satellietdata. Bedrijven doen dit om bijvoorbeeld asbest, zonnepanelen of (illegale) verhuizingen op te sporen.

En dan hebben we het nog niet eens over de automatische gezichtsherkenning als je iemand wilt taggen op Facebook, je telefoon wilt unlocken of een gekke faceswap wilt doen. Oftewel: er valt genoeg te herkennen, verwerken en interpreteren door algoritmes.

Ik zie, ik zie wat jij niet ziet…

Image Recognition herkent alleen afbeeldingen of onderdelen hiervan als het algoritme hierop getraind is. Om de rest van de omgeving te herkennen, is meer nodig. Onze biologische neurale netwerken zijn extreem goed in de interpretatie van visuele informatie, zelfs als beelden niet overeenkomen met wat we verwachten. Algoritmes kunnen dit nog niet, maar de vraag is: voor hoe lang?

Posted on 11 december 2019

Share the Story

Back to Top