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