Je leest:

Gezichten herkennen op slechte foto’s

Gezichten herkennen op slechte foto’s

Auteur: | 2 december 2010

Loop een bank binnen en je ziet ze al hangen: bewakingscamera’s. Ze nemen beelden op van iedereen die binnenkomt, maar de kwaliteit van die opnames laat te wensen over. Promovendus Bas Boom (Universiteit Twente) onderzocht hoe je onder zulke omstandigheden toch automatisch gezichten kunt herkennen.

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.

h4. Gezichtsherkenning in vier stappen In de eerste stap moet het gezicht gelokaliseerd worden in de foto: welk gebied in de foto toont het gezicht van de persoon? Vervolgens, in de tweede stap, komt de registratie. Dat wil zeggen dat het gezicht op zo’n manier ‘vervormd’ wordt dat het in een soort standaard past. Door alle gezichten in die standaard te zetten, kun je ze beter met elkaar vergelijken. In de derde stap volgen correcties voor de kleuren en belichting. Het zou bijvoorbeeld niet uit moeten maken of er wel of geen zon op je gezicht schijnt. Daarom wordt de foto als het ware ‘geneutraliseerd’ (ook wel normaliseren genoemd). Ten slotte volgt in stap vier het echte herkennen: wie zien we hier op de foto? Het gezicht wordt daarvoor vergeleken met één specifieke foto (verificatie_) of vergeleken met een heleboel foto’s in een database (_identificatie).
Boom et al., 2010

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.

Boom et al., 2010

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.

sxc: greyman

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 blokjes zijn de landmarks (herkenningspunten).
Boom et al., 2010

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.

Op de zoek-foto houdt de jongen zijn hoofd iets schuin en heeft hij zijn mond dicht. Hierdoor ziet zijn gezicht er anders uit dan op de foto die van hem in de database zit. Na het registreren klopt het een stuk beter.
Boom et al., 2010

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.

Foto’s met verschillende belichting: het is dezelfde man, maar door het licht ziet hij er toch steeds anders uit. Dat is erg verwarrend voor een computer.
Boom et al., 2010

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.

Op basis van een foto maakt het systeem in feite een dieptemap: een soort 3D-model van het gezicht. Die zie je steeds helemaal rechts, links ervan staat een ‘echt’ 3D-model dat is gemaakt met een speciale laserscanner. De originele foto staat links met daarnaast de gecorrigeerde versie.
Boom et al., 2010

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%.

Hier zie je de resultaten van technieken om de belichting te corrigeren. De bovenste rij zijn de originelen en op de onderste rij de resultaten van Bas z’n methode. Op rij 2 en 3 staan resultaten van andere technieken.
Boom et al., 2010

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:

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"}

Dit artikel is een publicatie van NEMO Kennislink.
© NEMO Kennislink, sommige rechten voorbehouden
Dit artikel publiceerde NEMO Kennislink op 02 december 2010
NEMO Kennislink nieuwsbrief
Ontvang elke week onze nieuwsbrief met het laatste nieuws uit de wetenschap.