Hoe computer vision de cloud leerde zien

Door Mike Schoneveld - 10 January 2019

In de tweede blogpost van de “proud to be cloud” reeks gaan we in op automatische beeld-, video- en gezichtsherkenning. Deze technologie ontwikkelt zich snel dankzij de rekenkracht van cloud computing. Deze maakt artificial intelligence en machine learning mogelijk. Dit artikel geeft een inkijk in de werking en het potentieel voor bedrijven en organisaties. Daarnaast behandelen we diverse voorbeelden en vergelijken we de benadering  van enkele grote aanbieders van computer vision diensten.

Wat staat er op deze foto?

Neem een kijkje naar deze foto. Onze collega Niels poseert hier bij onze stand op een carrièredag van Saxion Hogescholen. Het gebeurt onbewust, maar jouw aandacht zal getrokken worden door de persoon op de foto. In het bijzonder door zijn gezicht. Immers, onze hersenen zijn zo geëvolueerd dat we automatisch naar gezichten trekken.

Business insider publiceerde in 2014 een verzameling afbeeldingen waarbij een groep testpersonen met zogenaamde eye-tracking is gevolgd. Hieruit is af te leiden waar men naar kijkt en hoe lang. Je zult zien dat, ondanks de vooroordelen, de testgroepen in overtuigende mate naar het gezicht kijken. Zelfs wanneer de foto een schaars geklede man of vrouw bevat. Dat klinkt bemoedigend voor de mensheid. Tenminste, vanuit een moraliteitsoogpunt. Tegelijkertijd legt het bloot dat onze natuur heel moeilijk te beïnvloeden is. Er wordt verondersteld dat onze aandacht naar gezichten komt uit de primaire vecht of vlucht reactie. In de gezichten zoeken we vertrouwen of zelfs herkenning om te weten dat we veilig zijn.  

Geen vuiltje aan de lucht? Wel, er is een keerzijde aan deze kwestie. Neem nog eens een kijkje bij de voorbeelden van Business Insider. Merk op hoe, in vrijwel alle foto’s, substantiële delen niet zijn bekeken. Zelfs niet in de lichtste kleur (groen). Hier keert de evolutie zich tegen ons. Het vraagt zeer zorgvuldige en aandachtige beoordeling om ook de secundaire objecten op de foto’s te zien. Zaken die voor de context van het beeld heel belangrijk zijn.

Hoe we computers leerden kijken

Geloof het of niet, jouw computer kan tegenwoordig ook naar afbeeldingen kijken. Hiervoor is het belangrijk om een klein beetje kennis te hebben van AI en machine learning. In het kort gezegd werkt dat zo:

Op dag 1 laden we een afbeelding in een zogenaamde learner. Dit stukje software weet er nog geen raad mee en dus vertellen wij expliciet wat er op staat, bijvoorbeeld een fiets. Vervolgens laden we voortdurend afbeeldingen, zowel met fietsen, als met andere objecten. De software vergelijkt de afbeeldingen met fietsen en leert zichzelf de kenmerken te herkennen. Na verloop van tijd weet de software dat een fiets een zadel, wielen en handvatten heeft. Als we de learner blijven voeden wordt hij er steeds beter in. Er komt dan een moment waarop het andersom werkt. We bieden een foto van een fiets aan, maar zeggen niets over wat er op staat. De software vergelijkt met zijn kennisbronnen en stelt vast dat het om een fiets moet gaan. Op deze zelfde manier leert de software om letters en tekst te herkennen in foto’s.

In zekere zin werkt het een beetje als bij mensen. Vertel een kind vaak genoeg wat een fiets is en hij of zij zal deze herkennen en iets kunnen aanwijzen als een fiets. Diverse techreuzen beseffen zich wat het belang is van systemen die foto’s kunnen herkennen. Ze ontwikkelen zogenaamde “Computer Vision API’s”. Ontwikkelaars zoals wij kunnen deze integreren in onze applicaties. De toepassingen worden betrouwbaarder als er meer correcte databronnen beschikbaar zijn. Daar beschikken deze partijen in grote mate over. Om het systeem nog slimmer te maken kunnen wij specifieke learners maken. Deze maken wel gebruik van de enorme database van de aanbieder, maar kunnen voorkeuren ontwikkelen. Dat gebeurt bijvoorbeeld door specifieke klantinformatie zoals ontwerpen, verpakkingen en productfoto’s in te laden. Onze learner zal gebruik maken van externe kennis om te herkennen dat het bijvoorbeeld een verpakking is. Andersom wordt bij het herkennen van foto’s een preferente positie gegeven aan de eigen content van de klant. Dat komt de betrouwbaarheid bij metingen ten goede. Het is relatief eenvoudig om te sturen waar de software naar kijkt en met welke aandacht. Heel anders dan bij mensen.

Al in 2016 schreef Gaurav Oberoi een artikel op Medium over zijn vergelijking van 5 grote computer vision API’s. Een jaar later deed hij dat opnieuw, nu voor de 6 grootste: Amazon Rekognition, Microsoft, IBM, Google, Cloudsight, Clarifai. In zijn overzicht van de uitkomsten zul je zien hoe ze allemaal geheel verschillende resultaten geven bij exact dezelfde foto. Merk vooral op hoe de meeste API’s een collectie van tags teruggeven met een score (betrouwbaarheid). Opvallend zijn vooral de “captions” van Cloudsight. Deze service verwerkt de ruwe informatie tot een leesbare en indrukwekkend accurate beschrijving die vooral door mensen gelezen kan worden.

Terug naar de foto eerder in dit artikel. We vroegen de Google Cloud Vision API om naar de foto te kijken en ons te vertellen wat er allemaal op staat. De uitkomsten zullen je wellicht verrassen. Zo vertelt Google ons dat:

  • Er twee gezichten te herkennen zijn en er een derde persoon is.

  • Niels met 98% zekerheid vrolijk is op de foto.

  • Het gezicht van Niels op 5 graden na loodrecht staat.

  • De foto zeer waarschijnlijk gerelateerd is aan technologie.

  • Google via het web ons logo heeft kunnen matchen en de adverteerders herkent.

  • De tekst op de afbeelding is herkend, zelfs op de tas die op de grond staat, achter Niels.

  • Niels zijn gezicht in kaart is gebracht met de relatieve posities van ogen, mondhoeken etc.

Hoe werkt computer vision in de praktijk?

Stel je voor je hebt een enorme hoeveelheid foto’s. Natuurlijk zitten ze allemaal netjes in mapjes die je helpen om de 1000 ruwe kiekjes van jouw reis naar de verenigde staten te vinden. Dit is een keurige maar eendimensionale manier van categoriseren. Stel je nu voor dat alle foto’s door een computer vision API zijn gehaald. De resultaten zijn als zogenaamde metadata opgeslagen in de foto. Wanneer je nu zoekt naar die foto waar jij in dat oranje shirt voor de Grand Canyon staat, filtert het systeem op basis van meerdere criteria en toont vervolgens alleen de foto’s met de betreffende criteria.

Nog niet overtuigd? Wellicht herken je dit scenario. Je hebt een tijd geleden een plant gekocht (of gekregen). In je enthousiasme gooi je het kaartje met de naam van de plant en instructies weg. De verzorging van de plant en de plaats in de zon luistert nogal nauw. Google heeft hier een hele aardige oplossing voor, gewoon ingebouwd in Android en iOS. Door je camera voor de bewuste plant te houden, zal Google deze realtime koppelen aan zijn intelligentie. De plant wordt herkend en met een enkele klik ben je weer een goede baas voor je groene vriend. In 2017 maakte CNN deze video over de introductie van Google Lens, zoals dit project heet.

Youtube is jouw grootste fan

De cloud maakt het mogelijk om ongelofelijke hoeveelheden data razendsnel te ontsluiten. We weten inmiddels dat computers kunnen zien, maar hoe zit dat met heel veel beelden snel achter elkaar? En met geluid? Wel nu, ook video bevat geen geheimen meer voor machine learning. Toch zijn er essentiële verschillen. Een video bestaat in de regel uit 24, maar steeds vaker 60 frames per seconde. Kortom, iedere seconde vraagt de verwerking van 60 foto’s. Dat vraagt veel meer rekencapaciteit. Bovendien is iedere video een learner op zich. Immers, de scores van de waargenomen objecten of personen wordt bepaald door alle frames met elkaar te vergelijken.

Als je een foto naar Youtube upload is het platform ook altijd de eerste die jouw video bekijkt. Hiervoor maakt Google gebruik van haar eigen machine learning. Het belangrijkste is om te bepalen of jouw video pornografie, of aanstootgevende content bevat. Zodra dat is vastgesteld zal jouw video niet worden gepubliceerd. Daarnaast geldt ook voor Youtube video’s dat deze te vinden moeten zijn door andere gebruikers. Als uploader kies je een categorie en wat beschrijvingen, maar dit is slechts een fractie van de metadata die wordt gekoppeld aan jouw video. Met oog voor detail – frame voor frame – kijkt Google naar alles dat er in jouw video te herkennen is. Wil je een kijkje in de keuken? Kijk mee hoe Google een video analyseert.

Geen video zonder geluid

Bijna iedere video bevat audio. Het analyseren hiervan lijkt in grote mate op het herkennen van foto’s of video. Toch heeft audio al een paar jaar voorsprong. Je kunt dus zeggen dat de verantwoordelijke learners slimmer zijn. Denk maar eens aan muziekdienst Shazam. Zij luisteren mee met jouw muziek en vergelijken met een enorme database. Voor je het weet zie jij in beeld waar je naar luistert. Je weet vast nog wel hoe magisch dat de eerste keer voelde, jaren geleden. Inmiddels vinden we dit al heel normaal. Verderop in deze serie gaan we dieper in op artificial intelligence en machine learning. Daarbij komt ook stemherkenning uitgebreid aan bod.

Gezichtsherkenning

Een van de meest besproken toepassingen van automatische beeldanalyse is gezichtsherkenning. Zonder dat je het door hebt is het overal om je heen. Misschien heb je wel gemerkt dat Facebook tijdelijk suggesties gaf als je een foto wilde taggen. Omdat men dit op grote schaal deed, leerde het netwerk van Zuckerberg gezichten steeds beter herkennen. Facebook weet dus al of jij op een foto staat, nog voor je bent getagt. Toen men in Palo Alto bedacht om gebruikers suggesties te geven, reageerden gebruikers geschokt. Enkele dagen later schrapte Facebook deze functie weer.

Zorgen over privacy bij gezichtsherkenning maken dit doorlopend onderwerp van gesprek. Intussen passen steeds meer bedrijven het toe. Bijvoorbeeld om jou te herkennen en zo jouw laptop of telefoon te ontgrendelen. Om gezichtsherkenning betrouwbaar en veilig te maken is veel meer nodig dan alleen beeldanalyse. Veelal worden de gezichten omgezet naar geometrische vormen. Door de afstand te meten tussen het uiterste punt van je wenkbrauwen, het puntje van je neus en bijvoorbeeld een mondhoek, legt het systeem jouw gezicht in duizenden metingen vast. De combinatie van beeldherkenning en het vergelijken van deze “polygonen” maken gezichtsherkenning al veel betrouwbaarder.

High tech in de regio

Diverse bedrijven ontwikkelen toepassingen met deze, of eigen interpretaties van gezichtsherkenning. Zo ook dicht bij huis. Eind oktober was MSML te gast bij 20face op de campus van de Technische Universiteit Enschede. Terwijl geestelijk vader Tauseef Ali diep peinzend op zijn hoverboard door het kantoor rijdt, vertelt marketing director Luuk Janssen over de toekomst van deze technologie. Bij 20face richt men zich oorspronkelijk op snelle gezichtsherkenning, ook wanneer slechts een deel van het gelaat te zien is. Bovendien staat veiligheid hoog in het vaandel en is het systeem niet voor de gek te houden door ongewenste indringers. Zo wordt een foto van een personen onder geen beding als geldig gezicht herkend. In de onderstaande video vertelt CEO Peter Hoekstra op TV over de toepassing van 20face in bestaande camera’s.

Inmiddels heeft 20face haar pijlen gericht op het privacyvraagstuk. Begin dit jaar lanceerden ze een oplossing die individuen in staat stelt om hun biometrische gegevens centraal te beheren. Vervolgens bepalen deze gebruikers zelf welke externe diensten toegang krijgen tot hun data. Om de veiligheid te garanderen wordt de informatie versleuteld opgeslagen met gebruik van blockchain technologie. Deze week staat 20face op de CES in Las Vegas, te midden van ruim 50 innovatieve Nederlandse bedrijven.

Proud to be cloud is een serie van blogposts over de cloud in begrijpelijke taal. We beschrijven wat de cloud is en welke toffe toepassingen het mogelijk maakt. Thema’s als artificial intelligence, gezichtsherkenning en big data passeren de komende tijd de revue. Volg onze serie en je krijgt alle inzichten die je nodig hebt om mee te praten bij de koffieautomaat (én om strategische keuzes te maken voor de toekomst van jouw organisatie natuurlijk). Wil je verder sparren over deze onderwerpen, of heb je een vraag? Stuur ons een bericht

Mike Schoneveld, Technical Director
Mike Schoneveld
Technical Director

Bij MSML staan we voor je klaar.

Kan jouw organisatie ook slimmer, sneller of efficiënter werken?