Computervisie: hoe machines leren zien
Computervisie is de tak van kunstmatige intelligentie die computers leert om te 'zien': foto's, video's of camerabeelden te analyseren en te begrijpen wat erop staat. Denk aan de zelfscankassa in de supermarkt die een appel herkent, of je telefoon die je gezicht herkent om te ontgrendelen. In beide gevallen kijkt een programma naar pixels en berekent het wat die pixels waarschijnlijk voorstellen.
Een handige analogie is die van een kind dat leert lezen. Eerst herkent het losse letters, dan woorden, dan zinnen met betekenis. Een computervisiesysteem doorloopt iets vergelijkbaars: het herkent eerst simpele patronen zoals randen en kleuren, bouwt dat op tot vormen, en combineert dat uiteindelijk tot een herkenning als 'kat', 'verkeersbord' of 'tumor op een scan'. Het verschil is dat een computer dit leert door duizenden tot miljoenen voorbeelden te bekijken, niet door instructie zoals bij een kind.
Wat is het precies?
Voor een computer is een foto in de basis een rooster van getallen. Elke pixel heeft een waarde voor rood, groen en blauw (RGB), meestal tussen 0 en 255. Een foto van 1000 bij 1000 pixels is dus een tabel van drie miljoen getallen. Computervisie draait om het omzetten van die kale getallen naar betekenisvolle informatie.
Vroeger gebeurde dat met handgeschreven regels: een programmeur bepaalde bijvoorbeeld dat een gezicht twee ogen, een neus en een mond op bepaalde posities heeft, en zocht daar met wiskundige technieken (zogeheten features, zoals randdetectie) naar in het beeld. Dit werkte, maar was omslachtig en faalde snel bij nieuwe situaties, zoals een ander lichtinval of een gedraaid hoofd.
De doorbraak kwam met deep learning, een vorm van machine learning met kunstmatige neurale netwerken die zijn geïnspireerd op de hersenen. Specifiek gebruikt computervisie vaak convolutionele neurale netwerken (CNN's): netwerken die stap voor stap steeds abstractere patronen leren herkennen, van randjes en textuur in de eerste lagen tot complete objecten in de laatste lagen. Het netwerk 'leert' dit door tijdens training miljoenen gelabelde voorbeelden te zien (een foto met het label 'hond') en zijn interne instellingen bij te stellen totdat het steeds vaker de juiste voorspelling doet.
Recenter zijn ook vision transformers (ViT's) populair geworden, een architectuur die oorspronkelijk voor taalverwerking is ontwikkeld en een beeld opdeelt in kleine blokjes die het net als woorden in een zin analyseert. Ook worden beeld- en taalmodellen steeds vaker gecombineerd, zodat een systeem niet alleen ziet dát er een hond op de foto staat, maar dat ook in gewone taal kan navertellen of erover kan redeneren.
Binnen computervisie onderscheiden onderzoekers verschillende taken: classificatie (wat staat er op de foto?), objectdetectie (waar precies, met een kader eromheen?), segmentatie (welke pixels horen precies bij welk object?) en tracking (hoe beweegt een object door opeenvolgende videobeelden?).
Wat wil men ermee bereiken?
Het achterliggende doel is simpel: taken automatiseren waarvoor nu nog mensenogen nodig zijn, en dat sneller, goedkoper of op grotere schaal doen dan mensen kunnen. Een mens kan niet continu duizenden bewakingscamera's tegelijk in de gaten houden, maar software wel.
Daarnaast belooft de techniek nauwkeurigheid en consistentie. Een menselijke radioloog raakt na uren scans bekijken vermoeid; een algoritme niet, al heeft het weer andere zwaktes (zie hieronder). In de industrie wil men met visuele inspectie productiefouten opsporen die met het blote oog nauwelijks te zien zijn.
Ten slotte is toegankelijkheid een belangrijke drijfveer: software die voorleest wat een camera ziet, kan mensen met een visuele beperking helpen zich te oriënteren. Ook in landen met een tekort aan medisch specialisten kan geautomatiseerde beeldanalyse artsen ondersteunen bij diagnoses.
Voorbeelden uit de praktijk
ImageNet en AlexNet (2012). Onderzoekers van Stanford, onder wie Fei-Fei Li, bouwden de ImageNet-dataset: miljoenen foto's, handmatig gelabeld met wat erop staat. Op de bijbehorende jaarlijkse wedstrijd zette een neuraal netwerk genaamd AlexNet, ontwikkeld aan de universiteit van Toronto, in 2012 een grote sprong voorwaarts in nauwkeurigheid ten opzichte van eerdere methoden. Dit moment wordt algemeen gezien als het startschot van de huidige deep-learning-golf in computervisie.
Diabetische retinopathie-detectie (Google, 2016). Onderzoekers van Google publiceerden een studie waarin een algoritme oogfoto's beoordeelde op tekenen van diabetische retinopathie, een oogaandoening die tot blindheid kan leiden, met een nauwkeurigheid die in de buurt kwam van gespecialiseerde oogartsen. Het laat zien hoe computervisie kan helpen bij vroege opsporing in de zorg, al is opschaling naar de dagelijkse praktijk een langer traject dan een onderzoekspublicatie.
Amazon Go (vanaf 2018). Amazon opende in Seattle zijn eerste kassaloze winkel voor het grote publiek. Camera's en sensoren volgen welke producten klanten van het schap pakken, zodat ze zonder af te rekenen de winkel kunnen verlaten; het bedrag wordt automatisch van hun account afgeschreven. Het systeem combineert computervisie met sensorfusie (gewichtssensoren, diepte-camera's) omdat beeldherkenning alleen nog niet betrouwbaar genoeg was.
Zelfrijdende auto's, Tesla als voorbeeld. Tesla koos ervoor om zijn rijhulpsystemen vrijwel volledig op camerabeelden te baseren in plaats van radar of lidar (laserscanning), onder de noemer 'Tesla Vision'. Het bedrijf claimt dat camera's in combinatie met neurale netwerken voldoende informatie geven om te rijden, zoals mensen dat ook met ogen doen. Deze aanpak is omstreden: andere fabrikanten en onderzoekers combineren liever meerdere sensortypen voor extra betrouwbaarheid.
Onkruidherkenning in de landbouw. Blue River Technology, in 2017 overgenomen door John Deere, ontwikkelde 'See & Spray': een systeem dat via camera's op de trekker onderscheid maakt tussen gewas en onkruid, en alleen op de plek van het onkruid herbicide spuit. Dit vermindert het gebruik van bestrijdingsmiddelen aanzienlijk vergeleken met het blanket besproeien van hele akkers.
Hoe ver is de techniek?
Sinds de doorbraak van deep learning rond 2012 zijn de prestaties op gestandaardiseerde testen sterk verbeterd: op de klassieke ImageNet-classificatietaak evenaren en overtreffen de beste systemen inmiddels menselijke prestaties. Dat betekent niet dat computervisie 'opgelost' is.
Systemen presteren goed op situaties die lijken op hun trainingsdata, maar kunnen ernstig falen bij onverwachte omstandigheden: slecht weer, ongebruikelijke hoeken, of objecten die in de training ondervertegenwoordigd waren. Dit heet het 'long tail'-probleem en is een belangrijke reden waarom volledig zelfrijdende auto's nog niet overal veilig rondrijden, ook al rijden proefvoertuigen al jaren rond.
Een ander punt van zorg is vooringenomenheid (bias): als trainingsdata bepaalde groepen mensen ondervertegenwoordigen, werken gezichtsherkenningssystemen voor die groepen vaak minder nauwkeurig. Dit is herhaaldelijk aangetoond in onafhankelijk onderzoek en heeft geleid tot voorzichtiger beleid bij toepassingen zoals opsporing door de politie.
Ook zijn systemen kwetsbaar voor zogeheten 'adversarial examples': subtiele, voor mensen nauwelijks zichtbare aanpassingen aan een beeld die een algoritme volledig om de tuin kunnen leiden, bijvoorbeeld een stopbord dat als snelheidsbord wordt herkend. Dit blijft een actief onderzoeksgebied binnen de veiligheid van AI-systemen.
De nieuwste ontwikkeling is de combinatie van beeld en taal, zoals CLIP van OpenAI (2021) en latere multimodale modellen die niet alleen objecten herkennen maar er ook natuurlijke taal over kunnen genereren of vragen erover kunnen beantwoorden. Dit maakt systemen flexibeler, maar de onderliggende beperkingen rond betrouwbaarheid en bias blijven grotendeels bestaan.
Wie werken eraan?
Grote techbedrijven investeren zwaar in computervisie: Google (onder meer via DeepMind en Google Research), Meta (Facebook AI Research, FAIR), Microsoft, Amazon en NVIDIA, dat naast onderzoek ook de gespecialiseerde chips (GPU's) levert waarop de meeste computervisiemodellen worden getraind. OpenAI heeft met CLIP en latere modellen bijgedragen aan de combinatie van beeld en taal.
Op universitair niveau lopen onder meer Stanford (waar de ImageNet-dataset ontstond), MIT CSAIL en de Visual Geometry Group van de universiteit van Oxford, bekend van het invloedrijke VGGNet-netwerk, voorop in fundamenteel onderzoek.
China investeert eveneens fors in de sector, met bedrijven als SenseTime en Megvii die zich hebben gespecialiseerd in gezichtsherkenning en op grote schaal worden ingezet voor bewaking en toegangscontrole, wat ook internationale kritiek heeft opgeleverd vanwege mensenrechtenoverwegingen. Verder speelt de open-sourcegemeenschap een grote rol: bibliotheken als OpenCV, ooit in 1999 gestart bij Intel, en de raamwerken PyTorch en TensorFlow vormen de gereedschapskist waarmee de meeste computervisieprojecten wereldwijd worden gebouwd.