Serhii Maksymenko,
Data Science Solution Architect

Gezichtsherkenningstechnologie verschijnt vandaag in een ander licht. Use cases zijn breed toepasbaar, van misdaadopsporing tot de identificatie van genetische ziekten.

Terwijl regeringen over de hele wereld hebben geïnvesteerd in gezichtsherkenningssystemen, hebben sommige Amerikaanse steden, zoals Oakland, Somerville en Portland, het verboden vanwege bezorgdheid over burgerrechten en privacy.

Wat is het – een tijdbom of een technologische doorbraak? Dit artikel opent wat gezichtsherkenning is vanuit een technologisch perspectief, en hoe deep learning de capaciteiten ervan vergroot. Alleen door te beseffen hoe gezichtsherkenningstechnologie van binnenuit werkt, is het mogelijk te begrijpen waartoe het in staat is.

Updated 06/09/2020: Gemaskerde gezichtsdetectie en -herkenning

How Deep Learning Can Modernize Face Recognition Software

Download PDF

Door op de knop “GET PDF” hieronder te klikken geeft u ons toestemming en verleent u ons het recht om de door u in de bovenstaande velden opgegeven persoonsgegevens te verwerken. Uw persoonsgegevens kunnen worden gebruikt voor profilering in ons klantenbestand en om u te benaderen met zakelijke aanbiedingen. U hebt het recht uw toestemming te allen tijde in te trekken door een verzoek daartoe te sturen naar [email protected].

Dank u!

De url om PDF-bestand te downloaden is naar uw e-mail gestuurd

Ok

Hoe werkt gezichtsherkenning?

Het computeralgoritme van gezichtsherkenningssoftware lijkt een beetje op menselijke visuele herkenning. Maar als mensen visuele gegevens opslaan in een brein en automatisch visuele gegevens oproepen zodra dat nodig is, moeten computers gegevens opvragen uit een database en deze matchen om een menselijk gezicht te identificeren.

In een notendop, een geautomatiseerd systeem uitgerust met een camera, detecteert en identificeert een menselijk gezicht, extraheert gezichtskenmerken zoals de afstand tussen ogen, een lengte van een neus, een vorm van een voorhoofd en jukbeenderen. Vervolgens herkent het systeem het gezicht en matcht het met beelden die in een database zijn opgeslagen.

De traditionele gezichtsherkenningstechnologie is echter nog niet helemaal perfect. Het heeft zowel sterke als zwakke punten:

Sterke punten

Contactloze biometrische identificatie

Gegevensverwerking tot één seconde

Compatibiliteit met de meeste camera’s

Het gemak van integratie

Zwakke punten

Twee-eiige en rasvooroordelen

Gegevensbescherming

Presentatieaanvallen (PA)

Weinig nauwkeurigheid in slechte lichtomstandigheden

Herkenning van de zwakke punten van gezichtsherkenningssystemen, gingen data wetenschappers verder. Door traditionele computervisietechnieken en deep learning-algoritmen toe te passen, hebben ze het gezichtsherkenningssysteem verfijnd om aanvallen te voorkomen en de nauwkeurigheid te verbeteren. Dat is hoe een anti-spoofingtechnologie voor gezichten werkt.

How Deep Learning Upgrades Face Recognition Software

Deep learning is een van de meest nieuwe manieren om gezichtsherkenningstechnologie te verbeteren. Het idee is om gezichtsinbeddingen te extraheren uit beelden met gezichten. Dergelijke gezichtsembeddingen zullen uniek zijn voor verschillende gezichten. En het trainen van een diep neuraal netwerk is de meest optimale manier om deze taak uit te voeren.

Afhankelijk van een taak en tijdsbestek zijn er twee gangbare methoden om deep learning te gebruiken voor gezichtsherkenningssystemen:

Gebruik vooraf getrainde modellen zoals dlib, DeepFace, FaceNet, en anderen. Deze methode kost minder tijd en moeite omdat vooraf getrainde modellen al een set algoritmen hebben voor gezichtsherkenning. We kunnen ook vooraf getrainde modellen fijn afstellen om vooringenomenheid te voorkomen en het gezichtsherkenningssysteem goed te laten werken.

Ontwikkel een neuraal netwerk vanaf nul. Deze methode is geschikt voor complexe gezichtsherkenningssystemen met multifunctionele functionaliteit. Het kost meer tijd en moeite, en vereist miljoenen beelden in de trainingsdataset, in tegenstelling tot een vooraf getraind model dat slechts duizenden beelden vereist in het geval van transfer learning.

Maar als het gezichtsherkenningssysteem unieke kenmerken bevat, kan het op lange termijn een optimale manier zijn. De belangrijkste punten om aandacht aan te besteden zijn:

  • De juiste selectie van CNN-architectuur en verliesfunctie
  • Inferentietijdoptimalisatie
  • De kracht van een hardware

Het wordt aanbevolen convolutionele neurale netwerken (CNN) te gebruiken bij het ontwikkelen van een netwerkarchitectuur, omdat deze hebben bewezen effectief te zijn bij beeldherkenning en classificatietaken. Om de verwachte resultaten te bereiken, is het beter om een algemeen aanvaarde neurale netwerkarchitectuur als basis te gebruiken, bijvoorbeeld ResNet of EfficientNet.

Bij het trainen van een neuraal netwerk voor de ontwikkeling van gezichtsherkenningssoftware moeten we in de meeste gevallen de fouten tot een minimum beperken. Hier is het van cruciaal belang om verliesfuncties te overwegen die worden gebruikt voor de berekening van de fout tussen de werkelijke en de voorspelde output. De meest gebruikte functies in gezichtsherkenningssystemen zijn triplet loss en AM-Softmax.

  • De triplet verliesfunctie impliceert het hebben van drie beelden van twee verschillende personen. Er zijn twee beelden – anker en positief – voor een persoon, en de derde – negatief – voor een andere persoon. Netwerkparameters worden geleerd om dezelfde personen dichter bij elkaar te brengen in de kenmerkruimte, en verschillende personen te scheiden.
  • AM-Softmax-functie is een van de meest recente modificaties van de standaard softmax-functie, die gebruik maakt van een bepaalde regularisatie op basis van een additieve marge. Zij maakt het mogelijk een betere scheidbaarheid van klassen te bereiken en verbetert daardoor de nauwkeurigheid van gezichtsherkenningssystemen.

Er zijn ook verschillende benaderingen om een neuraal netwerk te verbeteren. In gezichtsherkenningssystemen zijn de meest interessante kennisdistillatie, transfer leren, kwantisatie, en diepte-scheidbare convoluties.

  • Kennisdistillatie omvat twee netwerken van verschillende grootte wanneer een groot netwerk zijn eigen kleinere variatie onderwijst. De belangrijkste waarde is dat na de training het kleinere netwerk sneller werkt dan het grote, en hetzelfde resultaat geeft.
  • Transfer learning benadering maakt het mogelijk de nauwkeurigheid te verbeteren door het gehele netwerk of slechts bepaalde lagen op een specifieke dataset te trainen. Als het gezichtsherkenningssysteem bijvoorbeeld problemen heeft met rassenscheiding, kunnen we een bepaalde set afbeeldingen nemen, laten we zeggen, foto’s van Chinese mensen, en het netwerk zo trainen dat het een hogere nauwkeurigheid bereikt.
  • Quantization-benadering verbetert een neuraal netwerk om een hogere verwerkingssnelheid te bereiken. Door een neuraal netwerk dat floating-point getallen gebruikt te benaderen door een neuraal netwerk van getallen met een lage bitbreedte, kunnen we de geheugengrootte en het aantal berekeningen verminderen.
  • Diepte-afscheidbare convoluties is een klasse van lagen, die het mogelijk maken een CNN te bouwen met een veel kleinere set parameters in vergelijking met standaard CNN’s. Met een klein aantal berekeningen kan deze eigenschap het gezichtsherkenningssysteem verbeteren, zodat het geschikt wordt voor mobiele vision-toepassingen.

Het belangrijkste element van deep learning-technologieën is de vraag naar krachtige hardware. Bij het gebruik van diepe neurale netwerken voor de ontwikkeling van gezichtsherkenningssoftware is het doel niet alleen om de nauwkeurigheid van de herkenning te verbeteren, maar ook om de responstijd te verkorten. Dat is waarom GPU, bijvoorbeeld, meer geschikt is voor deep learning-aangedreven gezichtsherkenningssystemen, dan CPU.

Hoe we Deep Learning-Powered Face Recognition App implementeerden

Bij het ontwikkelen van de Big Brother (een demo-camera-app) bij MobiDev, waren we gericht op het creëren van biometrische verificatiesoftware met realtime videostreaming. Omdat het een lokale console app is voor Ubuntu en Raspbian, is Big Brother geschreven in Golang, en geconfigureerd met Local Camera ID en Camera Reader type via het JSON config bestand. Deze video beschrijft hoe Big Brother in de praktijk werkt:

Van binnenuit bestaat de werkcyclus van Big Brother app uit:

1. Gezichtsdetectie

De app detecteert gezichten in een videostream. Zodra het gezicht is vastgelegd, wordt het beeld bijgesneden en naar de back-end gestuurd via HTTP form-data request. De back-end API slaat het beeld op in een lokaal bestandssysteem en slaat een record op in Detection Log met een personID.

De back-end maakt gebruik van Golang en MongoDB Collections om gegevens van werknemers op te slaan. Alle API-verzoeken zijn gebaseerd op RESTful API.

2. Instant gezichtsherkenning

De back-end heeft een achtergrondwerker die nieuwe niet-geclassificeerde records vindt en Dlib gebruikt om de 128-dimensionale descriptorvector van gezichtseigenschappen te berekenen. Telkens wanneer een vector wordt berekend, wordt deze vergeleken met meerdere referentiegezichtsafbeeldingen door de Euclidische afstand te berekenen tot elke kenmerkvector van elke persoon in de database, waarbij een overeenkomst wordt gevonden.

Als de Euclidische afstand tot de gedetecteerde persoon kleiner is dan 0,6, stelt de werker een personID in het Detectielogboek in en markeert het als geclassificeerd. Als de afstand groter is dan 0,6, maakt het een nieuwe PersonID aan het log.

3. Vervolgacties: waarschuwen, toegang verlenen, en andere

Foto’s van een ongeïdentificeerde persoon worden naar de bijbehorende manager gestuurd met meldingen via chatbots in messengers. In de Big Brother-app hebben we gebruik gemaakt van Microsoft Bot Framework en het op Python gebaseerde Errbot, waarmee we de waarschuwende chatbot binnen vijf dagen konden implementeren.

Daarna kunnen deze records worden beheerd via het Admin Panel, dat foto’s met ID’s in de database opslaat. De gezichtsherkenningssoftware werkt in real-time en voert gezichtsherkenningstaken direct uit. Door gebruik te maken van Golang en MongoDB Collections voor de opslag van werknemersgegevens, hebben we de ID’s database ingevoerd, inclusief 200 vermeldingen.

Hier is hoe Big Brother gezichtsherkenning app is ontworpen:

In het geval van opschaling tot 10.000 inzendingen, zouden we aanraden om het gezichtsherkenningssysteem te verbeteren om een hoge herkenningssnelheid op de back-end te behouden. Een van de optimale manieren is het gebruik van parallellisatie. Door een loadbalancer op te zetten en meerdere webworkers te bouwen, kunnen we zorgen voor het juiste werk van een back-endonderdeel en optimale snelheid van een volledig systeem.

Andere Deep Learning-Based Recognition Use Cases

Gezichtsherkenning is niet de enige taak waar deep learning-gebaseerde softwareontwikkeling de prestaties kan verbeteren. Andere voorbeelden zijn:

Gemaskerde gezichtsdetectie en -herkenning

Sinds de COVID-19 zorgde ervoor dat mensen in veel landen gezichtsmaskers droegen, werd de gezichtsherkenningstechnologie geavanceerder. Door gebruik te maken van het deep learning-algoritme op basis van convolutionele neurale netwerken, kunnen camera’s nu gezichten herkennen die bedekt zijn met maskers. Data science-ingenieurs maken gebruik van algoritmen zoals multi-granulaire gezichtskenmerken en perioculaire herkenningsmodellen om de mogelijkheden van het gezichtsherkenningssysteem te vergroten. Door gezichtskenmerken als voorhoofd, gezichtscontour, oculaire en perioculaire details, wenkbrauwen, ogen en jukbeenderen te identificeren, maken deze modellen herkenning van gemaskerde gezichten mogelijk met een nauwkeurigheid tot 95%.

Een goed voorbeeld van zo’n systeem is de gezichtsherkenningstechnologie die door een van de Chinese bedrijven is gemaakt. Het systeem bestaat uit twee algoritmen: gezichtsherkenning op basis van deep learning, en temperatuurmeting met infrarood thermische beeldvorming. Wanneer mensen met gezichtsmaskers voor de camera gaan staan, extraheert het systeem gezichtskenmerken en vergelijkt deze met bestaande beelden in de database. Tegelijkertijd meet het infraroodtemperatuurmeetmechanisme de temperatuur, waardoor mensen met abnormale temperaturen worden gedetecteerd.

Defectdetectie

In de afgelopen paar jaar hebben fabrikanten AI-gebaseerde visuele inspectie gebruikt voor het detecteren van defecten. De ontwikkeling van deep learning-algoritmen stelt dit systeem in staat om de kleinste krasjes en scheurtjes automatisch te definiëren, waardoor menselijke factoren worden vermeden.

Detectie van lichaamsafwijkingen

Israëlisch bedrijf Aidoc ontwikkelde een deep learning-gedreven oplossing voor radiologie. Door medische beelden te analyseren, detecteert dit systeem afwijkingen in een borstkas, wervelkolom, hoofd en buik.

Speakeridentificatie

Speakeridentificatietechnologie gemaakt door Phonexia-bedrijf identificeert ook sprekers door gebruik te maken van de metrische leerbenadering. Het systeem herkent sprekers aan de hand van hun stem en produceert wiskundige modellen van menselijke spraak, voiceprints genaamd. Die voiceprints worden opgeslagen in databases, en wanneer een persoon spreekt identificeert de sprekertechnologie de unieke voiceprint.

Herkenning van emoties

Herkenning van menselijke emoties is vandaag de dag een uitvoerbare taak. Door bewegingen van een gezicht via een camera te volgen, categoriseert de Emotieherkenningstechnologie menselijke emoties. Het deep learning-algoritme identificeert herkenningspunten van een menselijk gezicht, detecteert een neutrale gezichtsuitdrukking en meet afwijkingen van gezichtsuitdrukkingen die meer positieve of negatieve herkennen.

Actieherkenning

Visual One-bedrijf, dat een leverancier is van Nest Cams, heeft hun product aangedreven met AI. Door gebruik te maken van deep learning-technieken, hebben ze Nest Cams verfijnd om niet alleen verschillende objecten zoals mensen, huisdieren, auto’s, enz. te herkennen, maar ook om acties te identificeren. De set van te herkennen acties is aanpasbaar en te selecteren door de gebruiker. Een camera kan bijvoorbeeld een kat herkennen die aan de deur krabt, of een kind dat met het fornuis speelt.

Samenvattend zijn diepe neurale netwerken een krachtig hulpmiddel voor de mensheid. En alleen een mens beslist welke technologische toekomst er aankomt.

How Deep Learning Can Modernize Face Recognition Software

Download PDF

Door op de knop “GET PDF” hieronder te klikken, geeft u ons toestemming en verleent u ons het recht om de door u in de bovenstaande velden opgegeven persoonsgegevens te verwerken. Uw persoonsgegevens kunnen worden gebruikt voor profilering in ons klantenbestand en om u te benaderen met zakelijke aanbiedingen. U hebt het recht uw toestemming te allen tijde in te trekken door een verzoek daartoe te sturen naar [email protected].

Dank u!

De url om het PDF-bestand te downloaden is naar uw e-mail gestuurd

Ok

admin

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.

lg