Alle Projekte Diplomarbeit · 2009

FaceRecognition

Wer ist auf dem Bild? Automatische Gesichtswiedererkennung anhand biometrischer Merkmale – entwickelt als Teil meiner Diplomarbeit an der Hochschule Aalen.

  • C++
  • Intel OpenCV
  • FLTK
  • XML
  • UML 2.0
  • MVC

Worum geht es?

Bei der biometrischen Gesichtserkennung werden markante Gesichtsmerkmale lokalisiert und vermessen – auf der 2D- oder der 3D-Ebene. Als Merkmale dienen Mund, Nase, Augen, Augenbrauen und gegebenenfalls die Gesichtskontur.

An diesen Merkmalen werden präzise Fixpunkte bestimmt, die sogenannten Landmarks: etwa die Position der Pupillen, der Nasenspitze und der Mundwinkel (bei 3D-Systemen zusätzlich deren Tiefe). Aus den Abstandsvektoren – Länge und Winkel – zwischen diesen Punkten entsteht ein Elastic Bunch Graph (EBG).

Eine Mustererkennung wie k-Nearest Neighbour gleicht diesen Graphen anschließend mit einer Datenbank ab und ermittelt, ob die Person bereits bekannt ist.

Stärken und Grenzen

Der Graph ist robust gegenüber Veränderungen wie Alterung oder Bartwuchs. Die Mimik kann das Ergebnis jedoch verfälschen: Beim Lächeln etwa wandern die Mundwinkel näher an die Augen.

Wie alle 2D-Systeme lässt sich das Verfahren ohne zusätzliche Lebenderkennung mit einem vorgehaltenen Foto täuschen. 3D-Systeme sind deutlich schwerer zu überlisten, da dafür ein 3D-Modell des Gesichts nötig wäre. Außerdem können sie die tatsächliche Größe des Gesichts als zusätzliches Merkmal speichern.

Das Team

Die Anwendung kombiniert drei Erkennungsverfahren, die im Team entwickelt wurden:

  • Vincenzo Crimi – biometrische Erkennung und Gesichtslokalisierung
  • Florian Pahling – Erkennung über Korrelation, Gestaltung und Programmierung der Oberfläche
  • Daniel Ruiz Gaminez – Erkennung über Eigenfaces, Datenbankklasse

Technik

  • Intel OpenCV für die Bildverarbeitung
  • FLTK für die grafische Oberfläche
  • XML-Parser zum Speichern der Personendatenbank
  • UML 2.0 für Modellierung und Klassenstruktur
  • Model View Controller zur Trennung von Daten, Anzeige und Verarbeitung