Gesichterkennung II Eigenfaces

Werbung
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
Herunterladen