Gesichterkennung II Eigenfaces Gerhard Schromm Martin Halder 9. Januar 2002 1 Einleitung von Gewichten und den dazugehörigen Standardbildern (Eigenpictures) speichert. Das Gesicht spielt eine wichtige Rolle im Umgang mit anderen Menschen. Im allgmeinen ist es das Gesicht und die Gestik, an der wir einen Menschen 3 Das Eigenface Verfahren erkennen und seine momentane Gemütslage einzuschätzen vermögen. Daher ist für den Menschen im Das Verfahren der Eigenfaces kann ebenso für die Allgemeinen sehr angenehm, von einem Computer Erkennung anderer Bilder verwendet werden. durch Anschauen erkannt zu werden. Ziel des Verfahrens ist es, die im Trainingsset der Der Prozess der Authentifizierung wird nicht mehr Gesichter enthaltenen charakteristischen Informabewusst wahrgenommen. Für die Erkennung von tionen zu extrahieren und die Gesichter als gewichGesichtern existieren mehrere Verfahren, die sich tete Summen dieser Informationen zu speichern. in zwei Ansätze aufteilen lassen. Die einen verwenden markante Merkmale eines Gesichtes wie Die Installation des Systems besteht aus zwei z. B. Augen, Nase, Ohren oder Kopfform, die an- Schritten. deren betrachten die Bilder als Ganzes. Der erste Schritt ist eine Lernphase, in der die als bekannt anzunehmenden Gesichter analysiert und die relevanten Informationen aus dem Bild extrahiert werden. 2 Basisverfahren der Eigenfaces Methode Der zweite Schritt ist die Erkennung eines gegebenen Gesichtes. Hier wird das Gesicht auf die wähDie Methode der Eigenfaces basiert auf dem rend der Analyse erhaltenen Informationen projiVerfahren der Karhunen-Loeve-Transformation ziert und die die erhaltenen Werte auf Übereinstim(KLT), auch Principal-Component-Analysis mung mit den gespeicherten Werten verglichen. (PCA) genannt. Dabei geht es um die effiziente Die zweidimensionalen Gesichtsbilder werden als Repräsentation von Bildern. Vektoren in einem multidimensionalen Raum beMit einer Menge von Bildern wurde ein Koor- trachtet. Diese Vektoren liegen nicht beliebig verdinatensystem berechnet, wobei jede Koordinate streut in diesem Raum, sondern häufen sich in ein Bild darstellt, das Eigenpicture genannt wur- einem bestimmten Bereich dieses Raumes. Diede. Eine Sammlung von Bildern kann komplett re- sen Unterraum kann man durch Eigenvektoren bekonstruiert werden, indem nur eine kleine Menge schreiben. 1 4 BERECHNUNG DER EIGENFACES 2 3.2 Vorgang der Erkennung 1. Berechnung der Bildes Gewichte des gegebenen 2. Bestimmen, ob das Bild ein Gesicht ist (grosse Übereinstimmung mit dem Facespace) 3. Falls das Bild ein Gesicht darstellt, die Gewichte bestimmen und als bekanntes oder unbekanntes Gesicht klassifizieren 4. Update der Eigenfaces und oder der Gewichte (Lernen) Abbildung 1: Eigenfaces 4 Berechnung der Eigenfaces Diese Eigenvektoren, die die wichtigsten Merkma das (8 Bit Graustufen) Bild eines Gele der Gesichter darstellen werden als Eigenfaces Sei . Ein Bild wird als ein Veksichts der Größe bezeichnet. Die Visualisierung dieser Eigenfaces tor der Dimension betrachtet. Dadurch stellt jeergibt gesichtähnliche Bilder (siehe Bild). des -Bild einen Vektor in einem Raum mit Jedes dem System präsentierte Gesicht kann als Li- Dimensionen dar. nearkombination dieser Eigenvektoren dargestellt Da Bilder von Gesichtern eine Menge Eigenschafwerden. Der durch die Eigenfaces aufgespannte ten gemeinsam haben, werden sie nicht zufällig in Unterraum wird Facespace genannt. Das Verfahdiesem Raum verteilt sein, sondern sich in einem ren der Eigenfaces kann auch dazu verwendet werbestimmten Bereich sammeln. Dieser Bereich läßt den, in einem gegebenen Bild, z. B. einer Raumsich als Subraum mit einer wesentlich geringeren aufnahme, ein Gesicht zu erkennen. Anzahl an Dimensionen darstellen. 3.1 Vorgang der Installation 1. Zusammenstellen der Trainingsmenge Gegeben ist ein Satz von Bildern , , , . . . , . Das Durchschnittsgesicht aus diesem Satz ist als definiert. Jedes Gesicht unterscheidet sich um den Vektor !#" "%$ vom Durchschnitt. 2. Berechnung der Eigenfaces der Trainings- Aus diesem Satz von Vektoren werden nun & orEigenfaces mit den thogonale Vektoren berechnet, menge. Die besten ' -welche ,.-/.1010102den Raum, )(+* &43 ) liein dem die Bilder ( grössten Eigenwerten werden behalten gen, beschreiben. Der 5 -te Vektor 67 wird gewählt 3. Berechnung der dazugehörigen Verteilung im so daß -dimensionalen Gewichtsraum für jedes bekannte Gesicht durch Projektion der Gesichter auf den Facespace 8 79 * : ! 6 ;7 < & (1) 6 AUFFINDEN VON GESICHTERN 3 6 Auffinden von Gesichtern ein Maximum in Bezug auf A 6=;>=67?@ > 7? *D wenn B<C5 (2) Die bisherigen Methoden gingen von Bildern fester Größe aus, die ein Gesicht darstellen. Dies ist in einer praktischen Anwendung nicht ohne weiteist. res zu erreichen, da Gesichterkennung nicht auf die 8 Die Vektoren 67 und die Skalare 7 sind Eigenvek- genaue Ausrichtung des Gesichtes vor der Kamera angewiesen sein sollte. toren, bzw. Eigenwerte der Kovarianzmatrix (3). E sonst Deshalb ist ein Verfahren nötig, um in einem Bild ein Gesicht zu finden und dann zu erkennen. Die(3) ses Verfahren macht auch das Verfolgen des Gesichtes durch das Bild möglich. * : ! ! ; & Um ein Gesicht in einem Einzelbild zu finden, kann man auf denselben „Gesichtsraum“ zurückL greifen, der auch zur Erkennung verwendet wird. L Zur Erkennung wird im Bild für jeden Punkt mit Da die Eigenfaces eine Basis für den Unterraum seiner Umgebung für das lokale Teilbild berechnet und in eine „Gesichtskarte“ eingetraL darstellen, in dem sich die Bilder befinden, lassen gen. sich Bilder als eine Linearkombination bezüglich dieser Basis darstellen. Diese Linearkombination T enthält nun für jeden Punkt des Bildes den läßt sich recht einfach mittels Euklidschen Abstand (s. 5) seiner Umgebung zum 5 Gesichtserkennung mit Eigenfaces Durchschnittsgesicht. Das Minimum dieser „Kar- F 76 ;7 $ (4) te“ zeigt an, wo sich in einem Bild ein Gesicht befindet. 101010G berechnen, wobei 5 * & . Dieses beschreibt eine Menge von punktweisen Bildmultiplikationen. Die einzelnen Gewichtungen F 7 bilden einen Vek 101010G F KJ die den Beitrag der eintor H ; 4I F F zelnen Eigenfaces zum Eingabebild darstellen. 7 Das System im Einsatz 7.1 Durchgeführte Experimente Dieser Vektor wird dann verwendet, um festzustellen ob das Gesicht bekannt ist, oder nicht. Die einfachste Methode wäre, den Euklidschen Abstand (s. 5) zu minimieren. L $ 7?MNM H HO7 MNM L Um die Sicherheit, Fehlertoleranz und die Geschwindigkeit dieser Art der Gesichtserkennung festzustellen, wurden Experimente mit gespeicherten Gesichtern durchgeführt und ein System zur Erkennung von Gesichtern in einer sich ändernden (5) Umgebung erstellt. Dafür wurde eine Datenbank von Gesichtern erstellt, die verwendet wurde, um das Verhalten des Das Gesicht gilt als bekannt, wenn 7 kleiner als Systems unter kontrollierten Bedingungen zu erein vorher gewählter Schwellenwert QSR ist. mitteln. HP7 stellt ein bekanntes Gesicht dar. 8 SCHLUSSFOLGERUNG 7.1.1 4 Die Gesichts-Datenbank Hierfür wird im einer Folge von Bildern ein bewegliches Objekt isoliert und überprüft, ob es sich Die Datenbank besteht aus 2500 Bildern, die un- um ein Gesicht handelt. ter kontrollierten Bedingungen digitalisiert wurFalls es ein Gesicht ist, wird das Unterbild an einen den. Sechzehn Menschen wurden in allen Komanderen Prozess weitergereicht, der die Gesichterbinationen aus drei Kopfstellungen, drei Kopfgrökennung durchführt. ßen und drei Belichtungen aufgenommen. Aus jedem Bild wurde eine sechsstufige Gaußpyramide Die Lokalisierung des Gesichtes wurde auf ei, , erstellt, die von den Auflösungen UV* WUV* bis zu ner Sun 3/160 durchgeführt, während die Erkennung auf einer Sun Sparcstation berechnet wurde. *YXZ[*YX gingen. Auf dieser Hardware konnten zwei bis drei ErkenIm ersten Experiment wurde der Einfluß von Lichtnungsvorgänge pro Sekunde durchgeführt werden. veränderungen, Kopfstellung und -größe ermittelt, indem die komplette Datenbank verwendet wurde. Um das System zu trainieren wurden jeweils 16 Gesichter der Datenbank mit den gleichen Bedingungen (Kopfstellung, Kopfgrösse, Belichtung) verwendet. Die Schwelle für unbekannte Gesichter wurde auf \ gesetzt und dadurch jedes der 16 Gesichter als bekannt akzeptiert. 8 Schlussfolgerung Der Eigenface Ansatz bietet eine sehr praktikable Lösung, die für die Gesichterkennung gut geeignet ist. Durch die Einfachheit der Berechnungen kann ein sehr performantes System realisiert werZur Klassifizierung wurden jeweils 7 Gesichter den und einen Einsatz in Echtzeit mit kostengünverwendet. Mit diesem Versuch wurden folgende stiger Hardware möglich machen. Ergebnisse für die durchschnittliche Klassifikation Der Einsatz von neuronalen Netzen ist möglich erzielt: und erweitert das Einsatzgebiet diese Ansatzes, da 1. 96% bei variabler Beleuchtung 2. 85% bei variabler Ausrichtung 3. 64% bei variabler Grösse An diesem Ergebnis lässt sich gut erkennen, welche Veränderungen der Umgebung leicht vom System ausgeglichen werden können. Durch ein Wechsel der Beleuchtung bleibt die Korrelation benachbarter Pixel nahezu identisch, während eine Änderung der Ausrichtung oder der Grösse die Korrelationsinformation stark verfälscht. 7.2 Gesichterkennung in Echtzeit Das Ziel der Studie am MIT war ein System zu entwickeln, das nahezu in Echtzeit Gesichter aus einer unstrukturierten Umgebung erkennen kann. das System, abhängig vom Einsatzgebiet, eigenständig neue Gesichter in die Datenbank aufnehmen kann. Es werden auch schon Versuche unternommen, das Geschlecht des vorgegebenen Gesichtes mit Hilfe der Eigenfaces zu erkennen. Literatur [1] Pentland, Choudhury (2000). Face Recognition for Smart Environments. IEEE Computer, Volume 33, Number. 2, Seiten 50–55 [2] Turk, Pentland (1991). Eigenfaces for Recognition. Journal of Cognitive Neuroscience Volume 3, Number 1, Seiten 71–86