Embedded vision en deep learning als katalysator voor een nieuw Internet of Things

Je hoeft tegenwoordig niet veel moeite meer te doen om een visiontoepassing tegen het lijf te lopen. Misschien heb je een gameconsole die je gebaren herkent, een vision systeem dat je helpt je auto te parkeren, of toch op zijn minst een slimme telefoon met een mooie camera en autofocus in je broekzak. Vision heeft nu al een aanzienlijke invloed op ons dagelijks bestaan. Maar met de opmars van embedded vision en IoT, staat die invloed eigenlijk pas in de kinderschoenen.

Computer vision bestaat al heel wat langer dan de meeste mensen zich realiseren. Al vele decennia gebruiken overheden en producenten optische sensoren om licht te meten in tal van uiteenlopende toepas­singen. Van kwaliteitscontrole in fabrieken tot en met het verzamelen van satellietbeelden, er is al een aardig portie gesneden koek. In het verleden waren veel van dergelijke visionapplicaties beperkt tot afgesloten platformen. Maar met de komst van het IP-adres kwamen er tal van nieuwe toepassingen die voorheen niet mogelijk waren. Inmiddels kunnen ook geavanceerde data-analyse en kunstmatige intelligentie aan de slimme communicerende camera worden toegevoegd. Al deze technologieën zullen elkaar versterken en het licht geven aan revolutionaire sprongen voor het Internet of Things.

Gemaakt voor vision

Zicht of visie is de meest ontwikkelde van de vijf menselijke zintuigen. We gebruiken het dagelijks om onze vrienden te herkennen, obstakels te detecteren, taken uit te voeren en om nieuwe dingen te leren. We ontwerpen onze omgeving voor onze ogen. Er zijn straatlantaarns en verkeerslichten die ons helpen van A naar B te gaan. Winkels hebben borden om ons te helpen de juiste producten te vinden. Computers en televisieschermen geven ons informatie in beeldvorm en voorzien ons van entertainment. Gezien het belang van onze ogen, is het helemaal niet zo’n grote sprong om ze ook aan onze computers en automatiserings­oplossingen te geven.

Computer vision in het kort

Computer vision begint bij een technologie die een of meerdere beelden ‘vangt’ en opslaat. Vervolgens worden de beelden omgezet in informatie zodat er naar gehandeld kan worden. Om dit voor elkaar te krijgen, zijn er verschillende technologieën die moeten samenwerken. Computer vision engineering is dan ook een multidisciplinair vakgebied dat cross-functionele kennis en systeemexpertise in meerdere van deze techno­logieën vereist.

Neem als voorbeeld de Microsoft Kinect. Deze stereocamera gebruikt graphische 3D-algoritmes om het visionsysteem in staat te stellen de driedimensionale scenes te begrijpen. Dit maakt het vervolgens voor game developers mogelijk om realtime motion capture te combineren met een kunstmatige 3D-omgeving. Naast gaming opent een dergelijke technologie natuurlijk ook deuren richting robotica, virtual reality en augmented toepassingen.

Ook worden er momenteel in rap tempo stappen gezet in sensortechnologie, buiten de ‘conventionele’ camerasensoren. Denk bijvoorbeeld aan infraroodsensoren in combinatie met laser om diepte te kunnen zien en zo 3D-mapping mogelijk te maken. Het is een van de kritieke techno­logieën die de zelfrijdende auto mogelijk maakt. Maar denk ook aan niet-invasieve sensoren die contactloos de levensfuncties van patiënten kunnen monitoren. Aan supersnelle sensoren met een enorm hoge framerate om dingen tot op de microseconde te bestuderen, of juist met een
enorme resolutie zodat ook van grote afstand heel gedetailleerd gekeken kan worden. En last but not least, de opmars van sensoren die nauwelijks stroom vragen en spotgoedkoop zijn en daarom eigenlijk overal voor een lange tijd hun metingen kunnen doen.

De eerste toepassingen

De surveillance industrie is een van de early adaptors van beeldverwerkingstechnieken en videoanalyses. Video analytics is een speciale vorm van computer vision die zich toelegt op het herkennen van patronen in vele uren aan beeldmateriaal. De mogelijkheid om automatisch voor gedefinieerde patronen te detecteren en herkennen in de echte wereld representeert een enorme markt met honderden gebruikerscases. De eerste video analyse tools gebruikten handgemaakte algoritmes die specifieke features in beelden en video identificeerden. Ze waren heel precies in het laboratorium en in gesimuleerde omgevingen. Maar de prestaties kelderden al snel omlaag wanneer de input data, zoals licht­condities en camerahoek afweken van de veronderstelde condities.

Onderzoekers en engineers spendeerden vele jaren om hun algoritmes te finetunen of om met hele nieuwe varianten op de proppen te komen om te kunnen omgaan met de grote verschillen tussen theorie en praktijk. Helaas bleken echter ook de camera’s en videorecorders die deze nieuwe algoritmes gebruikten nog steeds niet robuust genoeg. Ondanks de stapsgewijze vooruitgang die de daaropvolgende jaren werd geboekt, stonden de slechte prestaties de bruikbaarheid en adoptatie van de technologie in de weg.

Deep learning doorbraak

Recentelijk heeft de opkomst van deep learning algoritmes computer vision een flinke impuls gegegen. Deep learning maakt gebruik van algoritmes op basis van kunstmatige neurale netwerken (Artificial Neural Networks = ANN), die functioneren zoals de neuronen in het menselijk brein. Vanaf ongeveer 2010 gingen de prestaties van computers – versneld door de inzet van GPU’s (graphical processing units) dusdanig omhoog dat onderzoekers eindelijk aan de slag konden met complexere ANN-algoritmes. Bovendien hadden de wetenschappers – mede dankzij videosites en de opmars van IoT de beschikking over enorme beeld­banken waarmee ze hun neurale netwerken konden trainen.

In 2012 liet een versie van het Deep Neural Network (DNN) – te weten het Convolutional Neural Network (CNN) – een enorme sprong voor wat betreft nauwkeurigheid zien. Die ontwikkeling bracht een hoop enthousiasme in het vakgebied van vision engineering. Vanaf dat moment gold dat voor toepassingen die een robuuste classificatie van beelden en gezichtsherkenning nog hadden het beter deden met deep learning algoritmes, dan wanneer de mens deze taak voor zijn rekening nam. Belangrijker nog: net als mensen hadden deze algoritmes de mogelijkheid te leren en zich aan te passen aan verschillende en veranderende condities.

Met deep learning stappen we in een tijdperk van cognitieve technologie waar computer vision en deep learning meer en meer geïntegreerd zullen worden om complexe high level problemen op te lossen die ooit het domein van het menselijk brein waren. We staan pas aan het begin van de mogelijkheden. De systemen zullen steeds beter worden door snellere processoren, geavanceerdere machine learning algoritmes en een diepere integratie in randapparatuur. En daarmee zal computer vision een nieuwe revolutie brengen voor het Internet der Dingen.

Steeds meer toepassingen

Het aantal nieuwe mogelijke toepassingen is enorm. Enkele nu al bestaande voorbeelden zijn het met drones monitoren van de gezondheid van gewassen, het beheer van transport en infrastructuur, drone inspectie van tal van lastig te bereiken installaties of de volgende generatie beveiligingscamera’s voor thuisgebruik. Het zijn slechts enkele bewezen voorbeelden waar computervision in combinatie met IoT flinke waarde kan toevoegen. We stappen daarmee ook meteen in de volgende fase van IoT zelf. IoT is het verbinden van apparaten, het verzamelen van data en het bouwen van enorme dataplatformen. Maar dankzij echt intelligente computer vision zal er een verschuiving plaatsvinden van een focus op het maken van ‘things’, naar het ontwikkelen van intelligente technologie die bruikbare informatie oplevert en waarop geacteerd kan worden.

Uitdagingen

Dat de eerste stappen richting dit nieuwe Internet of Things zijn gezet. Maar er zijn ook nog veel hordes te nemen om de nieuwe technologie ook praktisch en betaalbaar voor de massa te maken. Zo moeten embedded platformen een deep neural architectuur integreren. En daarbij zijn lastige knopen door te hakken voor wat betreft stroomverbruik, kosten, precisie en flexibiliteit. Ook zal de industrie meer standaarden moeten ontwikkelen waarmee slimme apparaten beter met elkaar kunnen communiceren en metadata kunnen delen. Bovendien zijn systemen geen passieve datacollectoren meer. Ze moeten kunnen handelen op basis van de hun verstrekte informatie zonder menselijke inmenging. Ze moeten het zelf leren en zelf beter worden. Software en firmware updates krijgen in het machine learning tijdperk een hele andere betekenis. Een laatste en misschien ook wel belangrijkste punt: hackers kunnen misbruik maken van nieuwe kwetsbaarheden die computer vision en AI met zich mee brengen. De ontwikkelaars moeten hier uiteraard zo goed mogelijk rekening mee houden. Hoe? Wordt vervolgt.

Liam van Koert

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

Deze website gebruikt Akismet om spam te verminderen. Bekijk hoe je reactie-gegevens worden verwerkt.