Praktikum im SS 2003

Einführung in die 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. 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 (eine Leihgabe der 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.
  2. Alternativ kann der Datensatz NIST sd4 (National Institute of Standards and Technology, Special Database 4) verwendet werden. Er besteht aus 2000 Paaren von Fingerabdrücken, die als 8-Bit Grauwertbilder der Auflösung 512 x 512 Pixel vorliegen. Die Bilder sind zusammen mit zusätzlichen Informationen in einem speziellen Datenformat (pct-Format, vgl. Dokumentation) kodiert. Einige Beispiele (umgeformt in bmp-Format) aus diesem Datensatz findet man hier. Eine Sammlung mit 25 Fingerabdruckpaaren kann als Archiv (prints4.tar.Z, ca. 10 MByte) von sequoyah.ncsl.nist.gov  herunter geladen werden (eine lokale Kopie befindet sich hier); dieses Archiv enthält auch einige elementare C-Programme zur Extraktion der Bildinformationen. Die komplette Datenbank mit allen 2000 Fingerabdrücken liegt auf CD-ROM vor.

 

Ablauf des Praktikums:

Wochen 1 – 2

Sichten des Datenmaterials, Studium der Literatur, Aufnahme einer eigenen Fingerabdruck-Datenbank, Aufbereiten des Datenmaterials (Formatkonvertierung, Filterung, Segmentierung)

Optional::  Implementierung einer Netzwerkanbindung des Sensors Bird IIi

Bemerkung:  Einige (in C/C++ implementierte) Funktionen sowie eine einfache graphische Oberfläche mit einer Visualisierungsmöglichkeit für Fingerabdrücke stehen zur Verfügung.

Meilenstein 1:  Datenbank mit segmentierten, aufbereiteten Fingerabdrücken

Wochen 3 – 7

Implementierung neuronaler Architekturen zur Verifikation von Fingerabdrücken, z.B.:

 1)   Multi-layer Perzeptron mit Backpropagation Lernverfahren

 2)   Probabilistisches neuronales Netzwerk gemäß [Baldi 93]

Meilenstein 2:  erster Prototyp eines neuronalen Fingerabdruck-Verifikators 

Wochen 8 – 12

Auswertung der Architektur; Optimierung der Datenvorverarbeitung, der neuronalen Architektur und der Parameterauswahl

Meilenstein 3:  optimierter neuronaler Fingerabdruck-Verifikator

Woche 13

Erstellen einer Abschlussdokumentation mit Erfahrungsbericht

 

Literatur (wird noch ergänzt):

 

Interessante Links (wird noch ergänzt):

 

Alfred Strey, 09.04.2003