Erkennung von Fingerprints II

Transcrição

Erkennung von Fingerprints II
Erkennung von Fingerprints II
Markus Frey, Erdal Simsek
Seminar
Biometrische Systeme – Der Körper als Passwort
Abteilung Neuroinformatik
Universität Ulm
WS 2001/02
1. Einleitung
Der Vortrag „Erkennung von Fingerprints I“ hat schon einen Überblick über das Thema
Fingerprints gegeben und auch zwei Methoden der Erkennung der Minutien und der
Klassifikation durch Partitionierung aufgezeigt.
Hier wird nun zunächst ein komplettes automatisches Fingerprint Erkennungssystem
vorgestellt und danach weitere Verfahren für Klassifikation und Identifikation.
2. Automatisches Fingerprint Identifikationssystem
Durch die rasche Entwicklung der Computerleistungen konnten in den letzten Jahren Systeme
entwickelt werden, die Fingerprints automatisch erkennen. Diese Systeme werden Automatic
Fingerprint Identification System (AFIS) genannt. Die Aufgaben eines solchen Systems
können zunächst in folgenden Schritte eingeteilt werden [2]:
§
§
§
§
§
§
§
§
Einlesen des Fingerabdrucks
Extrahieren des interessanten Teils des Fingerprints und Trennen von der Umgebung
Standardisierung des Fingerprints, d.h. der Input Fingerprint wird entzerrt und in eine
Standardrichtung gedreht
Bildverbesserung mittels geeigneter Filter, um die Linienstrukturen des Fingerprints
zu verdeutlichen
Skelettieren bzw. Thinning der Linien, d.h. die Linien werden auf ein Pixel Breite
verschmälert
Klassifikation des Inputs, um beim Matching nicht alle Fingerprints in der Datenbank
vergleichen zu müssen
Detektion der Minutien; also das Lokalisieren von Linienenden und Gabelungen
Matching des Input Fingerprints mit den gespeicherten Abdrücken
Je nach Fingerprint Identifikationssystem können die Reihenfolge der Schritte variieren oder
auch bestimmte Schritte wegfallen.
3. Minutien System
Dieses System versucht die Minutien zu detektieren und damit den richtigen Fingerprint in
der Datenbank zu finden. Hier wird in zwei Hauptstufen unterschieden: Minutien Extraktion
und Minutien Matching [1].
3.1. Minutien Extraktion
Beim Extrahieren der Minutien wird zuerst die lokale Orientierung abgeschätzt, mit dessen
Hilfe die Linien gefunden werden. Nun können sehr einfach die Minutien (Linienenden und
Liniengabelungen) erkannt werden.
1
3.1.1. Schätzen der lokalen Orientierung
Das Eingabebild wird in Blöcke gleicher Größe aufgeteilt. Mittels der Gradienten an jedem
Pixel wird die lokale Orientierung jedes Blockes geschätzt. Auftretende Störungen, wie
Schmutz, Rauschen oder Bruchstellen, werden beseitigt, in dem auch die Umgebung der
Blöcke betrachtet wird. Falls der Unterschied zwischen der Umgebung und diesem Block zu
groß ist, wird die Orientierung mit einer niedrigeren Auflösung, also einer größeren
Blockgröße, geschätzt. Dies hat eine glättende Wirkung auf das enstandene Orientierungsbild.
3.1.2. Detektion der Linien
Um die Linien nun zu detektieren, wird eine Eigenschaft der Linien ausgenutzt: die
Graustufenwerte der Linien erreichen ihr Maximum entlang der Linienrichtung. Dabei wird
das Graustufenbild mit Masken gefaltet, die lokale Graustufenwerte entlang der
Linienrichtungen betonen. Im gefalteten Bild wird entschieden, ob ein Pixel des Bildes als
Bestandteil einer Linie angesehen wird.
3.1.3. Minutien Detektion
Bevor nun das entstandene Linienbild skelettiert wird, müssen noch einzelne Punkte entfernt
und getrennte Linien wiederverbunden werden. Durch das Skelettieren der Linien ist die
einzelne Linie nur ein Pixel breit. Ein Linienende hat dadurch in seiner direkten Umgebung
nur einen schwarzen Pixel. Eine Gabelung muß mehr als zwei schwarze Pixel um sich haben.
Danach wird noch versucht, unechte Minutien zu beseitigen: dies erreicht man durch die
Betrachtung von mehreren Minutien in einem größeren Gebiet. Von den übriggebliebenen
echten Minutien werden nun die Position, Orientierung und die zugehörige Linie gespeichert.
3.2. Minutien Matching
In diesem System wird ein Algorithmus verwendet, der zuerst versucht, die Ausrichtung der
Minutien zu schätzen. Danach werden die Minutien vom Eingabebild mit denen der
Datenbank verglichen.
3.2.1. Ausrichtung des Inputs
Der Unterschied zwischen dem Input Fingerprint und dem zu vergleichenden Template wird
geschätzt, in dem man die Linienunterschiede vergleicht. Die so gefundene Transformation
wird nun beim Input Fingerprint angewandt und im folgenden Schritt gematcht.
3.2.2. Matching
Bis jetzt wurden nur die linearen Transformationen berücksichtigt, dagegen treten auch nichtlineare Deformationen auf. Ausserdem sollte der Algorithmus kleinere Ungenauigkeiten bei
der Minutien Bestimmung tolerieren. Dies wird erreicht, in dem eine Bounding Box um jede
Minutie gelegt wird und in dieser Box nach Minutien des Vergleichsabdrucks gesucht wird.
Falls ein Treffer innerhalb der Box gefunden wurde, wird die Bounding Box entsprechend
angepasst.
4. Ansatz mit Neuronalem Netz
Bei dieser Sub-Klassifikationsmethode wird zusätzlich innerhalb der Klassen des HenrySystems unterschieden. Vorteil dieser Sub-Klassifikation ist, dass noch weniger Fingerprints
im Matching Algorithmus verglichen werden müssen. Entscheidend für diese Klassifizierung
ist die Erkennung der Singularitäten, also dem Kern und dem Delta des Fingerabdrucks.
Zwischen den beiden Punkten wird eine gedachte Linie gezogen. Nun wird die Anzahl der
Linien gezählt, die die zuvor gezogene, imaginäre Linie schneiden. Ausnahmen hierbei sind
2
die Wirbel, die bekanntlich zwei Deltas haben. Hier wird eine andere Methode angewandt.
Mit dieser Anzahl kann man nun einen Matching Algorithmus auf diejenigen Fingerprints
anwenden, die in etwa das gleiche Ergebnis bei der Linienzählung haben.
Die Detektion der Singularitäten ist ein sehr schwieriges Problem, vorallem wegen der
riesigen Vielfalt an Fingerprintmustern. Auch die auftretenden Störungen erschweren die
Implementation. Da dies mit einem Computer Algorithmus sehr schwer zu realisieren ist,
bietet ein neuronales Netz eine mögliche Lösung [2].
4.1. Vorverarbeitung
Auch hier ist eine Vorverarbeitung unerlässlich. Zuerst wird der unerwünschte Teil
abgeschnitten und das Bild vom Hintergrund getrennt. Danach wird das Bild noch verbessert.
Dies geschieht, in dem man einzelne überlappende Blöcke mit einem Bandpass mit der
Frequenz der Linien filtert. Dies reduziert unerwünschte Frequenzen (Rauschen). Für jeden
Pixel des Bildes wird die lokale Orientierung berechnet. So erhält man ein pixelweises
Orientierungsbild.
4.2. Detektion der Singularitäten
Das gerade berechnete Orientierungsfeld hilft bei der Detektion der Singularitäten, da die
Orientierungen zwischen Kern und Delta stabil sind, d.h. das Muster wiederholt sich selbst
bei verschiedenen Auflösungen. Das Arbeiten mit verschiedenen Auflösungen hat die
Vorteile, bei niedrieger Auflösung mehr globale Muster, bei höherer Auflösung dagegen
lokale Merkmale zu erkennen.
Der erste Schritt hierbei ist ein Resampling, also eine Mittelung der Pixelwerte innerhalb
lokaler Nachbarschaft, um Rauschen etwas zu unterdrücken. Nun folgt eine Glättung des
Bildes mit einem 3x3 Boxfilter (Smoothing). Zur Erkennung von Kern und Delta wird ein
sogenanntes sliding neural network (SLNN) eingesetzt. Bei jedem Schritt betrachtet das Netz
einen Teil des Orientierungsfeldes und nimmt diese Werte als Eingabevektoren. Die Ausgabe
ist ein Wert zwischen 0 und 1. Das Gebiet mit maximalen Ausschlag wird markiert. Falls die
Ausgabewerte einen gewissen Wert überschreiten, werden diese Schritte (Resampling,
Smoothing und SLNN) in demselben Gebiet mit einer höheren Auflösung wiederholt. Die
beiden neuronalen Netze, je eins für Kern und Delta, sind multi-layer Netzwerke, mit 64
Eingaben und einer Ausgabe.
4.3. Zählen der Linien
Nachdem nun der Kern und das Delta erkannt wurden, erfolgt nun noch das Zählen der
Unterbrechungslinien. Allerdings wird zuvor noch ein Gabor Filter zur Bildverbesserung auf
das Eingabebild angewandt. Danach folgt die Binarisierung des verbesserten Bildes. Das
eigentliche Zählen ist einfach zu realisieren.
5. Fingerprint Identifikation mit Gabor Filtern
Prinzip dieser Methode ist, dass mehrere verschieden orientierte Gabor Filter über den
Eingabe Fingerprint gelegt werden. Die errechneten Merkmale werden gespeichert und mit
denen in der Datenbank verglichen. Hierzu werden keine echten Minutien benötigt. Daher
eignet sie sich besonders für Bilder von weniger guter Qualität [3].
3
5.1. Prinzipielles Vorgehen
Ein zwei-dimensionaler Gaborfilter kann angesehen werden als eine Gaußfunktion, die mit
einer Sinusfunktion einer einzelnen Frequenz und Orientierung moduliert wird. Gabor Filter
erkennen Linien und Kantensegmente.
Der Gaborfilter wird an bestimmten Punkten angewendet. Hier werden der Kern und 8
weitere Punkte in einem Kreis um den Kern verwendet. An diesen 9 Punkten wird der
Gaborfilter mit je 8 verschiedenen Orientierungen angewandt. Der enstandene Gaborvektor
hat demnach 9*8 Werte.
5.2. Identifikation
Da hier die exakte Position des Kerns entscheidend ist, versucht man den Kern und die 8
weiteren Punkte zu verschieben.Man bekommt dann einen sogenannten verschobenen
Gaborvektor (shifted Gabor vector). Mit dem verschobenen Vektor errechnet man einen
Fehlerwert. Falls dieser Wert zu groß ist, wird versucht eine bessere Verschiebung des Kerns
zu finden.
5.3. Gaborfilter als Klassifikationsmethode
Der Gaborfilter kann auch hilfreich bei der Klassifizierung der Fingerprints in die Klassen des
Henry Systems sein. Dabei werden die Gaborvektoren aus dem binarisierten Bild errechnet.
Damit lassen sich die Klassen ziemlich gut unterscheiden.
6. Zusammenfassung
Die vorgestellten Methoden zeigen, dass es bei der Erkennung von Fingerprints verschiedene
Vorgehensweisen gibt. Eine davon ist, die Detektion der Minutien. Eine andere ist die
Methode mit Neuronalen Netzen. Ganz ohne das Wissen über die Minutien kommt das
Gaborfilter Verfahren aus.
Literatur
[1] Jain et a l., On-Line Fingerprint Verification, IEEE Transactions on Pattern Analysis and
Machine Intelligence, Vol. 19, No. 4, April 1999, Seite 302-397
[2] Drets und Liljenström, Fingerprint Sub-Classification: A Neural Network Approach, Seite
109-134
aus: Jain, Halici, Hayashi, Lee, Tstsui, Intelligent Biometric Techniques in Fingerprint
and Face Recognition, CRC Press, 1999
[3] Hamamoto, A Gabor Filter-Based Method For Fingerprint Identification, Seite 137-151
aus: Jain, Halici, Hayashi, Lee, Tstsui, Intelligent Biometric Techniques in Fingerprint
and Face Recognition, CRC Press, 1999
4