Principal Component Analysis (PCA) Motivation: Klassifikation mit der PCA Berechnung der Hauptkomponenten Theoretische Hintergründe Anwendungsbeispiel: Klassifikation von Gesichtern Weiterführende Bemerkungen Birgit Möller & Denis Williams AG Bioinformatik & Mustererkennung Institut für Informatik Martin-Luther-Universität Halle-Wittenberg
Motivation Rückblick: Klassifikation von Mustern Allgemeine Vorgehensweise: 1. Berechnung von geeigneten Merkmalen aus den Mustervektoren 2. Training eines Klassifikators, z.b. NN-Klassifikator 3. Zuordnung neuer Merkmalsvektoren zu einer Klasse offene Frage: Wie findet man geeignete Merkmale zur Klassifikation? für Bilder als Mustervektoren bewährt: Hauptkomponentenanalyse (PCA) Angewandte Bildverarbeitung, WS 2003-2004 1
Motivation Grundidee: Ermögliche Klassifikation durch Transformation der Mustervektoren in einen niedriger-dimensionalen Unterraum, in dem der Hauptteil der Datenvariation liegt. Annahme dabei: Variation in den Daten entspricht einem hohen Informationsgehalt! Angewandte Bildverarbeitung, WS 2003-2004 2
Algorithmus gegeben seien mittelwert-freie Mustervektoren x α, α = 1... N, x α R d : Algorithmus: 1 N N α=1 xα = 0 1. berechne die Autokorrelationsmatrix C xx der Datenmenge: C xx ij = 1 N N x α i x α j (1) α=1 C xx ist positiv-definit und symmetrisch. 2. berechne die Eigenwerte λ i und die Eigenvektoren ˆv i von C xx : C xx ˆv i = λ i ˆv i (Eigenwertgleichung) (2) aufgrund der Symmetrie gilt: ˆv i ˆv j := δ ij die Eigenvektoren bilden eine Orthonormal-Basis des R d Angewandte Bildverarbeitung, WS 2003-2004 3
Es gilt nun: jeder Datenvektor x α besitzt die Eigenvektorzerlegung x α = d t α i ˆv i t α j = x α ˆv j (3) i=1 die t α i sind zentriert und paarweise unkorreliert die Eigenwerte λ i liefern die Varianz in den t α i : 1 N N t α i t α j = λ i δ ij, (4) α=1 denn 1 N N t α i t α j = 1 N α=1 N α=1 ˆv i x α ( x α ) T ˆv j = ˆv i C xx ˆv j = λ i δ ij (5) Angewandte Bildverarbeitung, WS 2003-2004 4
Interpretation die Eigenvektorzerlegung beschreibt jeden Vektor x α durch einen neuen Parametervektor (Merkmalsvektor!) t α = (t α 1, t α 2,, t α d ) T die t α i gehen durch lineare Transformation aus den xα hervor: t α j = x α ˆv j die Eigenwerte λ i liefern die Varianzen in den einzelnen t α i Dimensionsreduktion durch Auswahl einer Teilmenge der Basisvektoren bei der Transformation Angewandte Bildverarbeitung, WS 2003-2004 5
Dimensionsreduktion die Eigenwerte seien absteigend sortiert: λ 1 λ 2 λ d Abbruch der Eigenvektorzerlegung nach dem k-ten Term liefert Approximation x α für x α : Approximationsfehler δ x α : x α = k t α j ˆv j j=1 δ x α = x α x α = d j=k+1 t α j ˆv j Angewandte Bildverarbeitung, WS 2003-2004 6
Statistische Analyse Frage: Wie groß ist der Approximationsfehler im Mittel? Berechnung des Erwartungswertes des quadratischen Fehlers: < (δ x α ) 2 > α = 1 N = 1 N = 1 N = 1 N (δ x α ) 2 α t α i t α j ˆv iˆv j α i>k j>k t α i t α j δ ij α i>k α j>k i>k(t α i ) 2 = i>k < (t α i ) 2 > α = i>k λ i der mittlere Approximationsfehler ist gleich der Summe unberücksichtigter Eigenwerte! Angewandte Bildverarbeitung, WS 2003-2004 7
Statistische Analyse Fazit: Mitnahme der k größten Eigenvektoren führt zu Minimierung des mittleren Approximationsfehlers unter allen Projektionen auf k-dimensionale Unterräume Dimensionsreduktion auch bekannt als Karhunen-Loeve-Entwicklung Offene Frage: Wie wählt man k geschickt?! anhand der Eigenwertverteilung von C xx Angewandte Bildverarbeitung, WS 2003-2004 8
Zwischenfazit Eigenwertanalyse gibt Aufschluß über intrinsische Datendimensionalität PCA macht keine Aussage über semantischen Gehalt der Daten Achtung bei starkem Rauschen in den Daten!!! Fazit: PCA fokussiert durch Dimensionsreduktion auf spezifische Charakteristika der zu klassifizierenden Daten der entstehende (niedrig-dimensionale) Datenraum beschreibt die Mustercharakteristik optimal bei gewählter Dimension k Angewandte Bildverarbeitung, WS 2003-2004 9
Eigenfaces Klassifikation von Gesichtern - Eigenfaces Grundidee: Repräsentation der gesicht-spezifischen Merkmale von Bildern in einem geeigneten Unterraum Klassifikation eines unbekannten Musters durch Auswertung seiner Projektion in den gewählten Unterraum Der Klassifikator unterscheidet zwei Modi: 1. Systeminitialisierung: Training des Klassifikators auf einer Trainingsmenge 2. Arbeitsphase: Klassifikation unbekannter Muster (mit optionalem Update) Angewandte Bildverarbeitung, WS 2003-2004 10
Phase I - Initialisierung gegeben eine Menge von M Trainingsmustern x α R N 2, α = 1 M (fasse N N-dimensionales Bild als N 2 -dimensionalen Vektor auf) berechne Facespace durch Auswahl von L Eigenvektoren der Korrelationsmatrix C xx als Basis des gesuchten Unterraums R L berechne Merkmalsvektoren ω α der Trainingsvektoren x α als Repräsentanten der einzelnen Klassen Ω i (NN-Klassifikator) Berechnung der Eigenvektoren: C xx = 1 M M x α ( x α ) T = 1 M A AT mit A = [ x 1 x M ] (6) α=1 Problem: x i R N 2, d.h. für Bilder der Größe 256 256 folgt N 2 = 65536 und A R N 2 N 2!!! Angewandte Bildverarbeitung, WS 2003-2004 11
Phase I - Initialisierung Trick 17 : Ist die Anzahl der Datenpunkte M sehr viel kleiner als ihre Dimension N 2, dann lassen sich nur maximal M 1 aussagekräftige Eigenvektoren finden! leite Eigenvektoren aus niedrig-dimensionalem Unterraum ab! die Eigenvektoren ˆv i von A T A sind gegeben durch A T Aˆv i = λ iˆv i ferner gilt: AA T Aˆv i = λ i Aˆv i die Aˆv i entsprechen den Eigenvektoren û i von C xx = AA T A T A hat die Dimension M M, mit (A T A) mn = x T m x n Angewandte Bildverarbeitung, WS 2003-2004 12
Phase I - Initialisierung Algorithmus - auf einen Blick: 1. berechne Matrix A T A 2. berechne die Eigenvektoren ˆv i von A T A 3. berechne die Eigenvektoren u i von AA T ( Eigenfaces ) aus u i = Aˆv i 4. projiziere die Trainingsmuster x α in den Unterraum ( Facespace ) und verwende deren Projektionen ω α als Repräsentanten für einen intuitiven Klassifikator Angewandte Bildverarbeitung, WS 2003-2004 13
Phase II - Klassifikation Gegeben ein unbekanntes Muster x. berechne die Eigenvektorzerlegung des Eingabemusters (Projektion in den Facespace ) t k = û k ( x x) mit x = 1 M M x α α=1 klassifiziere über Distanzen zu den Repräsentanten: ɛ i = t ω i 2 < θ 1 mit ω i Repräsentant der Klasse Ω i Problem: auch Nicht-Gesichter werden unter Umständen auf Merkmalsvektoren nahe den Repräsentanten abgebildet! Angewandte Bildverarbeitung, WS 2003-2004 14
Phase II - Klassifikation Rückweisungskriterium: ψ = x x 2 > θ 2 mit x = L t x i û i i=1 Damit resultieren drei Fälle, die zu unterscheiden sind: a) ψ > θ 2 : Rückweisung b) ψ < θ 2, ɛ > θ 1 : unbekanntes Gesicht c) ψ < θ 2, ɛ < θ 1 : bekanntes Gesicht Angewandte Bildverarbeitung, WS 2003-2004 15
Abschliessende Bemerkungen Trainingsmenge: je größer, desto besser, aber auch desto aufwändiger! (30 bis 40 Bilder) Eigenfaces sind nicht skalierungsinvariant Ausschnitte gleicher Größe verwenden oder explizit skalieren! (erst Lokalisation anhand alternativer Kriterien, dann Skalierung) beleuchtungsinvariant zu große Varianz in der Beleuchtung vermeiden! weiteres Problem: Hintergrund! je mehr Varianz dort, desto störender! (einfarbigen Hintergrund verwenden oder Randbereiche maskieren) Angewandte Bildverarbeitung, WS 2003-2004 16
Abschliessende Bemerkungen Suche nach Gesichtern in großen Bildern: projiziere jeweils Ausschnitte in den Facespace und klassifiziere gemäß ψ = x x 2 > θ 2 mit x = L t x i û i i=1 Aber Achtung: mitunter sehr aufwändig!!! Verbesserungen: Offline-Berechnung einzelner Terme Auflösungspyramide Groblokalisation, z.b. durch Farbe, dann Verifikation Kalmanfilter beim Tracking Angewandte Bildverarbeitung, WS 2003-2004 17