Praktikum im SS 2004

Praktikum Neuroinformatik:

Verifikation von Fingerabdrücken

 

 

 

Dozenten:   PD Dr. Alfred Strey,  Dr. Friedhelm Schwenker  

Praktikumsankündigung auf der elektronischen Pinwand

 

Inhalt:

Im Rahmen dieses Praktikums soll der Einsatz von künstlichen neuronalen Netzen in einer konkreten Anwendung studiert werden. In diesem Semester besteht die Aufgabe darin, ein neuronales System zur Verifikation von Fingerabdrücken zu implementieren. Dieses soll überprüfen, ob ein aufgenommener Testfingerabdruck mit einem gespeicherten Fingerabdruck des gleichen Fingers übereinstimmt. Zwar existieren bereits einige (auch kommerziell verfügbare) Systeme für diese Aufgabe, jedoch wird in diesen i.a. nicht mit neuronalen Methoden gearbeitet. Stattdessen werden mit aufwendigen Verfahren charakteristische Punkte (auch als Minutien bezeichnet) aus den Fingerabdrücken extrahiert und deren Anzahl, Art und Position verglichen [Jain 99]. Dieses Verfahren gilt jedoch bei Fingerabdrücken geringer Qualität als problematisch. Daher soll hier alternativ einmal die Eignung von künstlichen neuronalen Netzen für die Verifikation von Fingerabdrücken experimentell untersucht werden. Die eingesetzten neuronalen Netzmodelle sollen durch Präsentation von geeigneten Ausschnitten aus Fingerabdrücken erlernen, ob zwei Fingerabdrücke identisch sind [Baldi 93].

 

Datenmaterial:

In diesem Praktikum kann mit zweierlei Datenmaterial gearbeitet werden:

  1. Das Biometric Systems Lab an der Universität Bologna führt alle zwei Jahre einen Fingerprint Verification Competition (FVC2000, FVC2002 und FVC2004) durch, um die Leistung verschiedener Systeme zur Verifikation von Fingerabdrücken zu evaluieren. Die komplette Datenbank mit allen Fingerabdrücken der Wettbewerbe FVC2000 und FVC2002 liegt auf DVD vor. Hierbei handelt es sich um Fingerabdrücke mit einer Auflösung von ca. 500 dpi, die mit verschiedenen Verfahren (optischer Sensor, kapazitiver Sensor und synthetisch) aufgenommen wurden; zur Beschreibung des Datenmaterials vgl. FVC2000 oder FVC2002. Testdatensätze mit jeweils 10x8 Fingerabdrücken sowie Source-Code Fragmente (z.B. mit E/A-Routinen in C) sind ebenfalls auf den Download-Seiten zu FVC2000 oder FVC2002 zu finden.
  2. Es steht ein Scanner für Fingerabdrücke zur Verfügung, mit dem eine eigene kleine Fingerabdruck-Datenbank generiert werden kann. Ein Sensor vom Typ  Bird IIi (Fa. TST-AG in Neu-Ulm) liefert 8-Bit Grauwertbilder der Auflösung 384 x 320 Pixel, die im bmp-Format abgespeichert werden können.

 

Anmerkungen:

 

Ablauf des Praktikums:

Wochen 1-2

Studium der Literatur [Baldi93], ggf. auch [Jain99]

Sichten des Datenmaterials (DB3 von FVC2000)

Implementierung von E/A-Routinen:

  1. Einlesen von Bildern im tif-Format
  2. Speichern von Bildern im bmp-Format
  3. Visualisierung von Bildern

Implementierung einer Segmentierung, z.B. wie folgt:

  1. Berechnung der Grauwertsummen für Zeilen und Spalten
  2. Bestimmung des Schwerpunkts
  3. Ausschneiden eines Rechtecks um Schwerpunkt, das möglichst vollständig im Fingerabdruck liegt
  4. Test der Segmentierung auf grösserem Datensatz

Wochen 3-4

Implementierung der Vorverarbeitung:
  1. Filter gemäss [Baldi93]
  2. Alignment
  3. Test des Alignments auf grösserem Datensatz

Wochen 5-7

Implementierung der neuronalen Architektur (nach [Baldi93], jedoch mit MLP anstatt probabilistischem Netzwerk)

Meilenstein 1:  erster Prototyp eines neuronalen Fingerabdruck-Verifikators 

Wochen 8-12

Analyse der mit dem Prototyp erzielten Ergebnisse

Optimierung der Datenvorverarbeitung und der Architektur

Test auf anderen Datensätzen (z.B. DB2, DB4 oder selbst aufgenommene Fingerabdruck-Datenbank)

Meilenstein 2:  optimierter neuronaler Fingerabdruck-Verifikator

Woche 13

Erstellen einer Abschlussdokumentation mit Erfahrungsbericht

 

Literatur:

 

Interessante Links:

 

Alfred Strey, 07.04.2004