Gezichtsherkenning is eigenlijk al een oud middel om een identiteit vast te stellen. Voor mensen is het namelijk erg makkelijk; je ziet een foto en iemand in het echt, en je ziet vaak direct of het dezelfde persoon is. Daarom staat er al sinds jaar en dag een foto op je identiteitsbewijs.
Daarnaast heeft identificatie op basis van gezicht een groot voordeel: je kunt het ongezien doen, zonder dat iemand het doorheeft. Zoals bijvoorbeeld bij een bank, waar camera’s op de deur gericht staan. Het probleem is alleen dat de omstandigheden niet ideaal zijn. De camera’s nemen heel veel materiaal op, waardoor de kwaliteit van de beelden vaak laag is (een lagere kwaliteit beeldmateriaal kost namelijk minder opslagruimte). Ook kunnen de kleuren en vormen van het gezicht vertekenen door het verschil in belichting van de ruimte.
Promovendus Bas Boom (Universiteit Twente) heeft de effecten van die omstandigheden verder onderzocht: wat voor invloed hebben lage resolutie en wisselende belichting op het systeem? En wat kun je daaraan doen? Hij keek hiervoor naar alle onderdelen van het herkenningssysteem en bedacht een aantal nieuwe technieken.
In stapjes
Hoewel er veel verschillende systemen voor gezichtsherkenning bestaan, werken ze meestal met dezelfde vier stappen.

Bij elke stap kun je gebruik maken van verschillende technieken. Welke je kiest hangt af van de situatie, want elke situatie heeft weer andere kenmerken. Zo werkt een systeem in een ‘overzichts’-situatie (zoals in een grote, drukke stationshal) met andere type beelden dan een systeem in een ‘gedwongen’ situatie (zoals bij een pinautomaat). In het eerste geval ziet een camera veel verschillende zaken in beeld, terwijl de camera in het tweede geval bijna altijd recht op een gezicht gericht staat.

Bas richtte zich in zijn onderzoek vooral op systemen die toezicht houden op een ingang. Die camera’s hangen vaak op enige afstand, waardoor het gezicht maar klein gebiedje van het hele camerabeeld bestrijkt. Dat betekent dat het systeem moet werken met gezichtsuitsnede’s met een lage resolutie (weinig beeldpunten/pixels) en met wisselende belichting en dat vraagt weer om aanpassingen in het systeem. Bas ontwikkelde nieuwe technieken voor de registratie- en normalisatiestap in dit systeem.
Registreren kun je leren
Je kunt je voorstellen dat het herkennen van een gezicht moeilijker is als je een foto met lage resolutie hebt. Vergelijk onderstaande twee foto’s maar eens: je zou iemand gemakkelijker herkennen op basis van de linker- dan op basis van de rechterfoto en zo is het ook voor een computer.

Bas heeft echter ontdekt dat de lage resolutie niet alleen het herkennen bemoeilijkt, maar ook het registeren. Dat is een belangrijk probleem, want als het registreren al mis gaat, wordt het nog moeilijker een gezicht goed te herkennen.

De meeste bestaande registratietechnieken gebruiken zogenaamde landmarks, oftewel herkenningspunten. Dat zijn bijvoorbeeld de ogen, de mondhoeken en de neus. Als je die eenmaal in de foto hebt gevonden, kun je het gezicht zo vervormen dat die punten altijd op dezelfde plek in de afbeelding terecht komen. Die herkenningspunten zijn echter slecht te vinden als de foto een lage resolutie heeft.
Bas heeft daarom een eigen methode ontwikkelt, die geen landmarks gebruikt. Die nieuwe techniek gaat ervan uit dat het gezicht als geheel vervormd moet worden, met een bepaalde rotatie, translatie en schaal. Oftewel, het gezicht moet sowieso iets gedraaid, verschoven en vergroot/verkleind worden. Hoeveel dat precies is, bepaalt het systeem door een nieuw plaatje telkens iets te corrigeren en dan te kijken of het goed overeenkomt met de foto’s in de database. Het systeem kijkt bijvoorbeeld of de oren en ogen steeds op ongeveer dezelfde plek zitten. Het vergelijkt de gezichten niet ‘inhoudelijk’ (of de oren en ogen bijvoorbeeld dezelfde vorm hebben) maar kijkt puur of de gezichten zo’n beetje hetzelfde model hebben.

Zo probeert het systeem allerlei mogelijke rotaties, translaties en schalen totdat de beste match is gevonden. Die wordt dan toegepast en de gezichtsfoto gaat door naar de volgende stap: normalisatie.
Licht en vorm
De normalisatie is vooral belangrijk omdat het de foto’s corrigeert voor de belichting. Een overbelicht plaatje moet bijvoorbeeld wat donkerder gemaakt worden en een gezicht in de schaduw moet juist wat lichter, anders kun je ze niet goed met elkaar vergelijken.

Net als kijken
Alles wat je om je heen ziet, zie je omdat er licht gereflecteerd wordt. Zo ook een gezicht: je ziet vormen (diepte) doordat er op een bepaalde manier licht naar jouw ogen weerkaatst wordt. Bas z’n systeem gebruikt ditzelfde principe. Op basis van de belichting op de foto achterhaalt het de vorm van een gezicht.
Voor deze belichtingscorrectie zijn al heel wat technieken bedacht, maar Bas heeft nog een nieuwe methode ontwikkeld. Zijn idee is om te bepalen hoe het gezicht op de foto precies belicht is, en daarmee de vorm van het gezicht te bepalen. Vervolgens kan het systeem uitrekenen hoe het gezicht eruit zou zien als er andere (standaard) belichting zou zijn.
Zijn systeem begint dus met het vaststellen van de belichting op de foto: waar staan de lampen en hoe sterk beschijnen die het gezicht? Dat is lastig te bepalen, want meestal zijn er meerdere lichtbronnen die door elkaar schijnen. Bas bedacht daarom het Virtual Illumination Grid (VIG). Vrij vertaald is dat een ‘raster van virtuele lampen’. Het systeem gaat ervan uit dat het gezicht op de foto wordt beschenen door lampen uit allerlei richtingen. Welke lampen aan staan en hoe hard die schijnen, moet het systeem gaan bepalen door naar de lichtreflectie op het gezicht te kijken.
Als je weet hoe de menselijke huid licht reflecteert en je weet de vorm van het gezicht, dan kun je namelijk aan de hand van de foto precies uitrekenen waar de lampen hebben gestaan en hoe hard ze schenen. In dit geval is de vorm van het gezicht echter onbekend, maar er is wel een algemeen reflectiemodel voor de huid. Daarom gebruikt het systeem een basisvorm en dat is in eerste instantie voldoende. Het systeem probeert allerlei variaties van het VIG uit op het basisgezicht, net zo lang tot het plaatje zo veel mogelijk op de echte foto lijkt.
Vervolgens gaat het systeem de basisvorm van het gezicht aanpassen. Het weet nu immers waar de lampen staan en hoe hard ze schijnen, dus kan het aan de hand van de reflectie beredeneren hoe de vorm van het gezicht echt is. Heeft het eenmaal de gewenste vorm, dan kan het ook andere belichting toepassen zodat elke foto dezelfde belichting krijgt.

Beter dan eerst
Natuurlijk heeft Bas zijn nieuwe technieken uitvoerig getest. Hij heeft gekeken of de ontwikkelde methodes daadwerkelijk beter werken in de moeilijke omstandigheden bij camerabewaking, oftewel bij lage resolutie en wisselende belichting.
Uit de experimenten volgde dat de nieuwe registratiemethode beter overweg kan met foto’s van lage kwaliteit dan de technieken die landmarks gebruiken. Als je Bas z’n techniek gebruikt, herkent een systeem 91% van de gezichten correct, terwijl de beste landmark-techniek leidt tot een score van 87%.

Ook de nieuwe techniek voor belichtingscorrectie heeft Bas vergeleken met bestaande technieken. Daarnaast heeft hij de correctiemethodes ook verwerkt in een compleet gezichtsherkenningssyteem, zodat je kunt zien of het herkennen erop vooruitgaat. Daaruit blijkt dat welke methode je ook gebruikt, het herkennen sowieso beter gaat. Je krijgt daarbij de beste resultaten als je Bas z’n methode gebruikt, al scheelt het niet heel veel met een andere techniek (die van rij 2 in onderstaande afbeelding).
Bas Boom promoveert 3 december 2010 aan Universiteit Twente op het proefschrift “Face recognitions grand challenge: uncontrolled conditions under control”.
Zie ook:
- Software maakt gezichtsherkenning gsm mogelijk (artikel op nu.nl)
- Gezichtsherkenning tegen raddraaiers trams Rotterdam (artikel op nrc.nl)
Lees meer over beeldverwerking op Kennislink:
Oeps: Onbekende tag `feed’ met attributen {"url"=>"https://www.nemokennislink.nl/kernwoorden/beeldverwerking/index.atom?m=of", “max”=>"6", “detail”=>"minder"}