Terug naar overzicht

Beeldherkenning met Azure Cognitive Services

author profile picture

Naam: Yuri Burger

Huidige functie: Managing Director Software Development

A Pizza Delivery Problem

Eén van onze collega’s woont naast een park en elke zomer bellen pizzabezorgers bij hem aan om pizza te bezorgen voor mensen in het park. Dus hij dacht: ‘’ik ga mijn deurbel trainen om de pizzabezorgers te herkennen en middels de deurbel een gesprek voeren met de bezorger.’’ Denk bijvoorbeeld aan ‘’De pizza is niet voor mij, maar voor iemand in het park. Bel het nummer dat op je bon staat!.’’ In deze blogpost lees je meer over de basiskennis die nodig is voor het bouwen van beeldclassificatie. Op onze kennisdag zijn we hier gezamenlijk mee aan de slag gegaan en is deze kennis gedeeld. 

7D5A4978 (1)
Het werken met beeldherkenning

Beeldherkenning is vaak gebaseerd op Machine Learning. Toch hoef je hier niet veel van te weten om er mee aan de slag te gaan. Het is namelijk een veelvoorkomende uitdaging en daarom kun je tegenwoordig terecht bij de standaard SaaS-diensten van praktisch elke cloud provider. Je moet een computer trainen om objecten (voorwerpen of mensen) in een afbeelding te kunnen herkennen. Dit doe je door simpelweg een aantal foto’s te geven waarop het object dat je probeert te identificeren te zien is. Bij voorkeur vanuit verschillend perspectief en hoe meer foto’s hoe beter de herkenning zal zijn!

 

Eerste hulp bij beeldherkenning

Om het hierboven beschreven pizza probleem op te lossen met behulp van beeldherkenning is enige kennis van neurale netwerken nodig. Neurale netwerken zijn een onderdeel van Machine Learning en bij uitstek geschikt voor het doen van voorspellingen op basis van ongestructureerde data, zoals tekst, beeld en geluid. Het werken met neurale netwerken kan best complex zijn en daarom is het werken met speciale tools aan te raden. Eén van de tools die je hierbij kan helpen is Tensorflow.

TensorFlow is een gratis Python-bibliotheek gebouwd door Google. Zoals de naam al aangeeft, werkt het met tensoren. Een tensor is een matrix. En dat is precies wat een afbeelding is: het is een matrix van pixels.

TensorFlow gebruikt neurale netwerken om te "leren". De neuronen worden getraind om een ​​hypothese te bevestigen of te falsifiëren. In de praktijk betekent dit dat de afbeeldingen die je aan de Machine Learning "voedt", niet precies hetzelfde zullen zijn, maar hoogstwaarschijnlijk overeenkomsten zullen bevatten. Je kunt vervolgens de neurale netwerken gebruiken om die overeenkomsten te identificeren. 

 

Moet ik dit dan helemaal zelf opzetten?

Nee dat hoeft gelukkig niet! Maar het is uiteraard wel een optie. Tijdens deze workshop hebben de deelnemers gewerkt met Azure Cognitive Services (tekst en spraak) en Tensorflow (beeld). Er zijn twee services die je kunnen helpen bij het bouwen van een beeldclassificatie: 

1. Azure Computer Vision
Gebruik Computer Vision als je standaard objecten wilt identificeren, zoals katten, auto's, dozen, mensen, enzovoort. Je kunt het ook gebruiken voor Optical Character Recognition (OCR) en je kunt het gebruiken om volwassen, pittige en bloederige afbeeldingen te vinden. Je kan deze service gebruiken om te voorkomen dat gebruikers ze verwerken met je eigen software. 

2. Azure Custom Vision
Gebruik Custom Vision op het moment dat je iets specifieks wilt identificeren, zoals uw kat, de auto van uw vriend, de postbode, enzovoort. Hou er rekening mee dat je ook andere Cognitive Services kunt gebruiken. Je kan de inhoud die bestemd is voor volwassenen identificeren met Azure Content voor volwassenen, OCR gebruiken om tekst uit een afbeelding te lezen of Azure Face voor gezichtsherkenning.

 

Ga zelf aan de slag!

Tijdens onze workshops en kennisdagen delen wij informatie over de nieuwste tools. Maar nog leuker: we gaan er ook echt mee aan de slag, itereren, verbeteren onze fouten en werken naar een mooi eindproduct toe. Wil je dit ook eens ervaren? Schrijf je in voor de aankomende kennisdag op 22 maart, óf kijk op de event pagina en meld je direct aan! Wil je nog meer over deze onderwerpen te weten komen? Lees dan dit artikel!

Gerelateerde vacatures

Heb je een vraag?

Neem contact op met Conny van Dijk: +31 6 22 98 68 72

Neem contact op
VX Company Software Development 12-2