Hoe herkennen computers menselijke gezichten?

In dit blogbericht bekijken we op een eenvoudige en duidelijke manier de principes en processen die ten grondslag liggen aan hoe computers menselijke gezichten herkennen.

 

Welke principes liggen ten grondslag aan gezichtsherkenning?

Je hebt als kind vast wel eens een spelletje gespeeld waarbij je een menselijk gezicht moest namaken. In dat spel kies je eerst een gezichtsvorm, en vervolgens selecteer je één voor één het kapsel, de ogen, de neus en de mond, en plaats je die op het gezicht. Door te wisselen tussen verschillende kapsels, ogen, neuzen en monden, kun je het gezicht creëren dat je wilt. De manier waarop computers gezichten herkennen en vergelijken, verschilt hier niet veel van. Computers identificeren en slaan gezichtskenmerken op; wanneer een nieuwe foto van een gezicht wordt ingevoerd, vergelijken ze die met de opgeslagen kenmerken om te bepalen wie de persoon is.
Een recent voorbeeld van gemakkelijk toegankelijke gezichtsherkenningstechnologie is de gezichtsherkenningsapp. Deze apps extraheren en bewaren belangrijke kenmerken – zoals gezichtscontouren, ogen, neuzen en monden – uit foto's van beroemdheden. Wanneer later een gezicht wordt vastgelegd met de camera, extraheert de app op dezelfde manier de gezichtskenmerken en vergelijkt deze met de opgeslagen gezichtskenmerken van beroemdheden om de persoon te identificeren en weer te geven die het meest overeenkomt.

 

Hoe herkent een computer een gezicht?

Laten we nu het gezichtsherkenningsproces van de computer eens nader bekijken. Gezichtsherkenning bestaat uit vier hoofdfasen: invoer, gezichtsdetectie, extractie van kenmerken en vergelijking.
In de invoerfase wordt een enkel frame van een foto of video via een invoerapparaat naar de computer verzonden. Over het algemeen geldt: hoe hoger de resolutie van het invoerapparaat en hoe hoger het aantal frames per seconde (FPS), hoe nauwkeuriger gezichten kunnen worden herkend. Dit principe is vergelijkbaar met hoe iemand met een goed gezichtsvermogen het gezicht van iemand die ver weg staat, beter kan herkennen.
In de fase van gezichtsherkenning controleert het systeem eerst of er een gezicht aanwezig is in de ingevoerde foto of video. Hiervoor identificeert het de contouren van het gezicht en belangrijke kenmerken zoals de ogen, neus en mond. Hoewel er momenteel verschillende gezichtsherkenningstechnieken in gebruik zijn, zullen we ons hier concentreren op de representatieve Haar-achtige detectiemethode.
De Haar-achtige detectiemethode maakt gebruik van Haar-wavelets. Een wavelet is een eenvoudig rechthoekig patroon dat bestaat uit zwarte en witte gebieden. Deze zwart-witte gebieden worden gebruikt om gebieden in een afbeelding te identificeren waar helderheidsverschillen voorkomen. Door wavelets van verschillende groottes en vormen toe te passen op de gehele invoerafbeelding of -video, en vervolgens alleen de locaties te behouden waar het helderheidsverschil tussen de zwarte en witte gebieden significant is, kan het systeem effectief de gezichtscontouren en belangrijke gelaatstrekken zoals ogen, neus, mond en wenkbrauwen detecteren. Bovendien maakt dit proces het ook mogelijk om positionele informatie over gelaatstrekken te extraheren.
Bijvoorbeeld, bij het extraheren van informatie over de ogen worden de zwarte gebieden van de wavelet zo gepositioneerd dat ze overeenkomen met relatief donkere gebieden – zoals de pupil – terwijl de witte gebieden overeenkomen met lichte gebieden, zoals de huid. Door gebruik te maken van deze helderheidsverschillen kunnen de positie en vorm van de ogen effectief worden gedetecteerd.

 

Hoe worden gezichtskenmerken geëxtraheerd?

Zodra de gezichtsherkenning is voltooid, bepaalt het systeem of het verder moet gaan met de fase van het extraheren van kenmerken.
In de fase van kenmerkextractie worden gezichtskenmerken geëxtraheerd om de gezichtscomponenten die tijdens de gezichtsdetectiefase zijn geïdentificeerd, optimaal te benutten. In tegenstelling tot de gezichtsdetectiefase omvat dit proces een voorbewerkingsstap. Omdat de rotatiehoek, grootte en lichtintensiteit van gezichten per foto of video verschillen, wordt een normalisatieproces uitgevoerd om ze zoveel mogelijk te standaardiseren. Daarnaast kunnen kleurenfoto's of -video's indien nodig worden omgezet naar zwart-witbeelden.
De originele foto wordt bijvoorbeeld omgezet naar grijswaarden, waarna alleen het gezicht wordt bijgesneden en op een uniforme grootte wordt gebracht. Vervolgens wordt histogramcorrectie toegepast om de helderheid aan te passen. Aan de hand van de positie-informatie van de gezichtscomponenten die tijdens de gezichtsdetectie is verkregen, worden gezichtskenmerken geëxtraheerd uit de foto's of video's die deze voorbewerking hebben ondergaan.

 

Hoe worden de geëxtraheerde gezichtskenmerken gebruikt?

Tijdens de vergelijkingsfase wordt de informatie over deze geëxtraheerde gezichtscomponenten opgeslagen in een database (DB) of vergeleken met bestaande gezichtsgegevens om de beste overeenkomst te vinden.
We hebben nu het proces van computergestuurde gezichtsherkenning onderzocht. Nog maar een paar decennia geleden leek het idee dat een computer mensen van elkaar kon onderscheiden een technologie die ver van de realiteit verwijderd was. Met de snelle vooruitgang van computerhardware, -software en kunstmatige intelligentie wordt gezichtsherkenning nu echter op grote schaal gebruikt in diverse sectoren, waaronder smartphones en laptops, maar ook toegangscontrole, financiële dienstverlening en luchthavenbeveiliging. De technologie die computers in staat stelt menselijke gezichten te herkennen, is tegenwoordig geen toekomstmuziek meer, maar een technologie die vanzelfsprekend in ons dagelijks leven is geïntegreerd.

 

Over de auteur