20

Click here to load reader

Gesichtserkennung mit SVD

Embed Size (px)

Citation preview

Page 1: Gesichtserkennung mit SVD

Gesichtserkennung mit Hilfe von

SVD/SDD und Tensoren

Marc Simon, INF07

Page 2: Gesichtserkennung mit SVD

Gliederung

1. Wiederholung relevanter Gebiete

2. Begriff der Ähnlichkeit

3. Einsatz von SVD

4. Circular Hough Transformation (CHT)

Page 3: Gesichtserkennung mit SVD

Definition Tensor

Der Tensor ist ein mathematisches Objekt aus

der Algebra und Differentialgeometrie. Ein

Tensor ist eine multilineare Abbildung,

also eine Abbildung, welche in jeder

Variablen linear ist. Anschaulich, aber

mathematisch unpräzise, kann man sich den

Tensor als eine mehrdimensionale Matrix

vorstellen.

Page 4: Gesichtserkennung mit SVD

Definition SVD

Die Singulärwertzerlegung (Singular Value

Decomposition) einer Matrix bezeichnet

deren Darstellung als Produkt dreier

spezieller Matrizen. Daraus kann man die

Singulärwerte der Matrix ablesen. Diese

charakterisieren, ähnlich den Eigenwerten,

Eigenschaften der Matrix. Singulärwerte

lassen sich für jede (auch nichtquadratische)

Matrix bestimmen

Page 5: Gesichtserkennung mit SVD

Zerlegung in Singulärwerte

• A=UΣV*

• wobei

– U unitäre m×m-Matrix

– Σ m×n-Diagonalmatrix

– V* adjungierte Matrix von V

– V unitäre n×n-Matrix

Page 6: Gesichtserkennung mit SVD

Besonderheiten bei SDD

• Semi Discrete Decomposition (SDD)

funktioniert grundlegend ähnlich wie die

SVD

• Einschränkung: Matrizen U und V* dürfen

nur die Einträge {-1;0;1} enthalten

Page 7: Gesichtserkennung mit SVD

Was ist Ähnlichkeit?

Page 8: Gesichtserkennung mit SVD

Was ist Ähnlichkeit?

• Software wird programmiert, bestimmte

Muster zu vergleichen

• Hier kann z. B. Haarfarbe,

Gesichtssymmetrie, Augenfarbe, etc…

genommen werden

• Wie erhalte ich eine zuverlässige

Erkennung, wenn der Kopf nicht gerade ist?

Page 9: Gesichtserkennung mit SVD

Wo kann SVD helfen?

• SVD zerlegt eine Matrix in gewichtete,

geordnete und unterscheidbare Matrizen

• Bei der Bildverarbeitung können so

einzelne Aspekte hervorgehoben oder

vertuscht werden

• Einsatz vor allem in biologischen System,

beispielsweise beim Gabor Filter

Page 10: Gesichtserkennung mit SVD

Gabor Filter

• Filter, um Kanten oder Texturen in einem

Bild zu verdeutlichen

• Ähnlich dem menschlichen Seh-System

• Wird auch eingesetzt zur

Handschriftenerkennung, Iris-Erkennung

und beim Fingerprint

• Siehe GaborFilter.html und Videos

Page 11: Gesichtserkennung mit SVD

Gabor Filter - mathematisch

Page 12: Gesichtserkennung mit SVD

Circular Hough Transformation

• Nach der Eck-Bestimmung im Ursprungsbild wird

im Zielbild um jeden Eckpunkt ein Kreis mit

gewünschtem Radius gezeichnet

Page 13: Gesichtserkennung mit SVD

Bresenham‘s Algorithmus

• Algorithmus zum Zeichnen von Kreisen

und Geraden auf Rasteranzeigen

• Besonderheit: Minimiert Rundungsfehler,

die durch Diskretisierung kontinuierlicher

Werte entstehen

Page 14: Gesichtserkennung mit SVD

Erkennungs-Algorithmus

1. Für gegebenes Grauwertbild Kanten bestimmen

2. Ermitteln der großen und kleinen Eigenwerte für

die Kovarianz-Matrix des Kanten-Bildes

3. Das Verhältnis von großen zu kleinen

Eigenwerten für verschiedene Winkel ermitteln

4. Die größte und kleinste Achsenlänge aus den

Eigenwerten bestimmen

Page 15: Gesichtserkennung mit SVD

Erkennungs-Algorithmus

5. CHT ausführen, um das Zentrum der

Ellipse zu bestimmen

6. Ausrechnen der Begrenzungspunkte der

Ellipse mit Bresenham‘s Raster Scan-

Algorithmus

7. Den Inhalt der Ellipse aus dem Bild

ausschneiden

Page 16: Gesichtserkennung mit SVD
Page 17: Gesichtserkennung mit SVD

Erkennung bei gedrehtem Kopf

Page 18: Gesichtserkennung mit SVD

Gesichtserkennung bei Rauschen

Page 19: Gesichtserkennung mit SVD

Zusammenfassung

• 2 Möglichkeiten Gesichter zu erkennen:

– Über Gesichtsmetriken

– Durch elliptisches Ausschneiden des Gesichts

und Vergleich

• Erkennung funktioniert noch nicht 100%

sicher, aber selbst bei Rauschen bis 60%

sehr zuverlässig