DE69721951T2 - Verfahren und Gerät zum Fingerabdruckvergleich mit auf lokaler Merkmalübereinstimmung basierter Transformationsparametergruppenbildung - Google Patents

Verfahren und Gerät zum Fingerabdruckvergleich mit auf lokaler Merkmalübereinstimmung basierter Transformationsparametergruppenbildung Download PDF

Info

Publication number
DE69721951T2
DE69721951T2 DE69721951T DE69721951T DE69721951T2 DE 69721951 T2 DE69721951 T2 DE 69721951T2 DE 69721951 T DE69721951 T DE 69721951T DE 69721951 T DE69721951 T DE 69721951T DE 69721951 T2 DE69721951 T2 DE 69721951T2
Authority
DE
Germany
Prior art keywords
feature points
fingerprint image
subgroups
sub
subset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69721951T
Other languages
English (en)
Other versions
DE69721951D1 (de
Inventor
Andrea New York Califano
Scott Eric Madison Colville
Robert Steven Tuckahoe Germain
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE69721951D1 publication Critical patent/DE69721951D1/de
Application granted granted Critical
Publication of DE69721951T2 publication Critical patent/DE69721951T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/1347Preprocessing; Feature extraction

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Collating Specific Patterns (AREA)

Description

  • Die Erfindung betrifft allgemein Bildverarbeitungssysteme und insbesondere Bildverarbeitungssysteme zum Identifizieren und Überprüfen von Fingerabdruckbildern.
  • Die vorliegende Erfindung befasst sich mit zwei Problemklassen. Die erste Problemklasse betrifft Situationen, in denen es erforderlich ist, die Identität einer Person zu überprüfen oder zu bestätigen. Das heißt, dass eine Person eine bestimmte Identität zu haben behauptet oder auf Informationen zuzugreifen versucht, die nur an eine bestimmte Person herausgegeben werden sollen. Es ist wichtig, über zuverlässige Mittel zum Überprüfen der Identität dieser Person zu verfügen oder zumindest zum Bestätigen der Tatsache, dass dies dieselbe Person ist, welche bereits im System angemeldet ist.
  • Das zweite und schwierigere Problem tritt auf, wenn sichergestellt werden soll, dass eine bestimmte Datenbank für jede einzelne Person nur einen einzigen Eintrag enthält. Dies ist im Bereich der Sozialversicherungssysteme der Fall, wenn der Bezug von Sozialleistungen unter mehreren Namen verhindert werden soll oder wenn Ausweise ausgegeben werden sollen. Bei diesem Identifizierungsproblem ist es erforderlich, dass man in einer großen Personendatenbank suchen und feststellen kann, ob sich diese Person bereits in der Datenbank befindet. Bei Datenbanken mit mehreren Millionen von Einzelpersonen ist diese Suche sehr aufwändig.
  • Die meisten technischen Verfahren auf diesem Gebiet erfordern eine lineare Suche durch die gesamte Datenbank. Nach diesem Ansatz könnte eine Vollsuche in einer eine Million Einträge enthaltenden Datenbank einen Vergleich des Fingerabdrucks der abzufragenden Person mit jedem Eintrag in der Datenbank, also eine Million oder mehr Vergleiche erfordern. Zur Lösung dieses Problems werden in der Technik in der Regel zum Klassifizieren von Fingerabdrücken und Personen Filterverfahren benutzt. Beispielsweise kann die Datenbank nach Geschlecht, Rasse, ungefährem Alter und Fingerabdruckklasse sortiert sein. Hierdurch wird der Umfang der zu durchsuchenden Datenbank und damit der zu leistende Arbeitsaufwand wirkungsvoll verringert. Dabei führt jedoch jeder Fehler bei der Anfangsklassifizierung zu einem Fehlschlag bei der Identifizierung.
  • Daher gibt es in der Technik ein Bedarf an einem verbesserten, kostengünstigen und leistungsfähigen System zum Überprüfen von in großen Datenbanken gespeicherten Fingerabdrücken.
  • In dem Artikel „Minutiae Based Fingerprint Registration" von Feri Pernus et al. in CH1499-3/80/0000-1380500.75© 1980 IEEE, S. 1380–1382, wird ein Algorithmus zum Registrieren von Fingerabdrücken unter Verwendung von Details beschrieben. Eine Detailmatrix ist durch eine Merkmalmatrix definiert, die aus Merkmalvektoren besteht, welche jedes Detail darstellen. An jedem Detail wird ein Koordinatensystem (x'y') angebracht, wobei die x'-Achse zum nächstliegenden Detail zeigt. Die Umgebung jedes Details wird nach anderen Details durchsucht. Der Abstand zwischen dem Ursprung und der Winkel zur x'-Achse werden für jedes Detail im beobachteten Gebiet berechnet. In diesem Artikel werden zum systematischen Speichern der Daten von Fingerabdruckbildern in einer Datenbank keine Angaben gemacht. Die Anzahl der durch jede Merkmalmatrix definierten Details ist unbestimmt, was zu Problemen bei der Verarbeitung der Daten in einem beobachteten Gebiet für den Eintrag in eine Datenbank und die Berechnung von Daten bezüglich der Parameter der beobachteten Details führt.
  • Die oben genannten Probleme und entsprechende Probleme nach dem Stand der Technik werden mit den Prinzipien der vorliegenden Erfindung, dem Verfahren und der Vorrichtung zum Fingerabdruckvergleich unter Verwendung der Zusammenfassung von Transformationsparametern auf der Basis der Übereinstimmungen lokaler Merkmale gelöst. Das Verfahren und die Vorrichtung der vorliegenden Erfindung können begrifflich in zwei verschiedene Betriebsarten eingeteilt werden: einen Erfassungsmodus und einen Erkennungsmodus.
  • Beim Erfassungsmodus werden für ein oder mehrere Fingerabdruckbilder in einer festgelegten Weise Untergruppen (Tripletts) der Merkmalpunkte für ein bestimmtes Fingerabdruckbild erzeugt. Eine oder mehrere der Untergruppen (Tripletts) von Merkmalpunkten für das jeweilige Fingerabdruckbild werden ausgewählt. Für jede ausgewählte Untergruppe (Triplett) werden Daten erzeugt, die den Fingerabdruck im Nahbereich der ausgewählten Untergruppe (Triplett) kennzeichnen. Die der ausgewählten Untergruppe (Triplett) entsprechenden Daten werden zum Bilden eines Schlüssels (oder Indexes) verwendet. Der Schlüssel wird dazu verwendet, Einträge in einem Mehrfach-Zuordnungsverzeichnis zu speichern und aus diesem abzurufen, welches eine Form eines Zuordnungsspeichers darstellt, durch den in dem demselben Schlüssel zugeordneten Speicher mehr als ein Eintrag gespeichert werden kann. Es wird ein Eintrag erzeugt, der vorzugsweise einen Kennzeichner enthält, welcher das Fingerabdruckbild kennzeichnet, das diesen Schlüssel sowie Informationen (oder Zeiger auf solche Informationen) zu der Untergruppe (Triplett) von Merkmalpunkten kennzeichnet, die diesen Schlüssel erzeugt hat. Der durch diesen Schlüssel markierte Eintrag wird dann in dem Mehrfach-Zuordnungsverzeichnis gespeichert.
  • Beim Erkennungsmodus wird dem System ein Abfrage-Fingerabdruckbild zur Verfügung gestellt. Ähnlich wie beim Erfassungsmodus werden in festgelegter Weise Gruppen (Tripletts) von Merkmalpunkten des Abfrage-Fingerabdruckbildes erzeugt. Eine oder mehrere Untergruppen (Tripletts) von Merkmalpunkten des Abfrage-Fingerabdruckbildes werden ausgewählt. Für jede ausgewählte Untergruppe (Triplett) werden Daten erzeugt, die den Abfrage-Fingerabdruck im Nahbereich der ausgewählten Untergruppe (Triplett) kennzeichnen. Die der ausgewählten Untergruppe entsprechenden Daten werden zum Bilden eines Schlüssels verwendet. Alle Einträge im Mehrfach-Zuordnungsverzeichnis, die diesem Schlüssel zugeordnet sind, werden abgerufen. Die Einträge enthalten, wie oben beschrieben, einen Kennzeichner, der das Vergleichs-Fingerabdruckbild kennzeichnet. Für jedes abgerufene Objekt wird eine hypothetische Übereinstimmung zwischen dem Abfrage-Fingerabdruckbild und dem Vergleichs-Fingerabdruckbild erzeugt. Diese hypothetische Übereinstimmung wird durch den Kennzeichner des Vergleichs-Fingerabdruckbildes und optional durch Parameter der Koordinatentransformation gekennzeichnet, durch die die Untergruppe (Triplett) von Merkmalen im Abfrage- Fingerabdruckbild in bestmögliche Übereinstimmung mit der Untergruppe (Triplett) von Merkmalen im Vergleichs-Fingerabdruckbild gebracht wird. Die hypothetischen Übereinstimmungen werden in einer Abstimmungstabelle gesammelt. Die Abstimmungstabelle ist ein Zuordnungsspeicher, der durch den Kennzeichner und (sofern verwendet) die Transformationsparameter des Vergleichs-Fingerabdruckbildes gekennzeichnet ist. Die Abstimmungstabelle speichert einen dem entsprechenden Kennzeichner sowie (sofern verwendet) den Transformationsparametern des Vergleichs-Fingerabdruckbildes zugeordneten Zahlenwert. Wenn ein soeben abgerufenes Objekt eine im Zuordnungsspeicher bereits vorhandene Hypothese erzeugt, wird der dem abgerufenen Objekt entsprechende Zahlenwert aktualisiert, indem beispielsweise der Zahlenwert um Eins erhöht wird. Schließlich werden alle in der Abstimmungstabelle gespeicherten Hypothesen nach ihren Zahlenwerten sortiert. Diese Liste von Hypothesen und Zahlenwerten wird vorzugsweise dazu verwendet festzustellen, ob durch das System eine Übereinstimmung mit dem Abfrage-Fingerabdruckbild gespeichert ist.
  • Die vorliegende Erfindung stellt daher ein Verfahren zum Erzeugen und Speichern von Daten bereit, die mindestens ein Fingerabdruckbild kennzeichnen, wobei das Verfahren die Schritte Identifizieren einer Vielzahl von Merkmalpunkten in dem Fingerabdruckbild, wobei die Merkmalpunkte aus Singularitäten in den Papillarlinien-Mustern des Fingerabdruckbildes abgeleitet werden, Anordnen der Vielzahl von Merkmalpunkten zu einer ersten Vielzahl von Untergruppen und Erzeugen eines Schlüssels umfasst, der mindestens einer Untergruppe von Merkmalpunkten entspricht, wobei der Schlüssel das Fingerabdruckbild im Nahbereich der mindestens einen Untergruppe von Merkmalpunkten kennzeichnet, dadurch gekennzeichnet, dass das Verfahren dem Erzeugen und Speichern von Daten zum Kennzeichnen mindestens eines Fingerabdruckbildes in einem Fingerabdruckerkennungssystem dient, in welchem das Fingerabdruckbild in einer Datenbank gespeichert ist; dass ferner der Schritt des Anordnens der Vielzahl von Merkmalpunkten zu einer ersten Vielzahl von Untergruppen das Zuordnen von Merkmalpunkten zu jeder Untergruppe in der Weise umfasst, dass jede Untergruppe aus derselben vorbestimmten Anzahl von Merkmalpunkten besteht; dass der Schritt der Erzeugung eines Schlüssels, welcher mindestens einer Untergruppe von Merkmalpunkten entspricht, das Berechnen eines Datenwertes als Funktion von Parametern beinhaltet, die der vorbestimmten Anzahl von Merkmalpunkten in der Untergruppe zugeordnet sind; und dass das Verfahren ferner das Erzeugen eines Eintrags für mindestens eine Untergruppe von Merkmalpunkten, welcher einen Kennzeichner zum Kennzeichnen des Fingerabdruckbildes umfasst, und das Speichern des Eintrags in einer Datenbank umfasst, wobei der Schlüssel dem Eintrag zugeordnet ist. Speziell umfassen die Singularitäten ein Papillarlinienende und eine Papillarlinienverzweigung und enthält der Schlüssel mindestens einen Wert der Papillarlinienanzahl, der eine Papillarlinienanzahl zwischen einem Paar von Merkmalpunkten in der mindestens einen Untergruppe von Merkmalpunkten darstellt; bzw. einen Abstandswert, der den Abstand zwischen Paaren von Merkmalpunkten in der mindestens einen Untergruppe von Merkmalpunkten darstellt; und einen Papillarlinienwinkel, der Papillarlinienwinkel darstellt, welche Merkmalpunkten in der mindestens einen Untergruppe von Merkmalpunkten zugeordnet sind.
  • Der Schritt des Erzeugens des Eintrags, der Schritt der Erzeugung des Schlüssels und der Schritt des Speicherns des Eintrags werden vorzugsweise für jede Untergruppe einer zweiten Vielzahl von Untergruppen von Merkmalpunkten ausgeführt, wobei die zweite Vielzahl von Untergruppen kleiner als die erste Vielzahl von Untergruppen ist. Die zweite Vielzahl von Untergruppen wird in geeigneter Weise durch Filtern der ersten Vielzahl von Untergruppen gebildet, wobei es besonders geeignet ist, die erste Vielzahl von Untergruppen auf der Basis des Abstands zwischen Paaren von Merkmalpunkten in der ersten Vielzahl von Untergruppen zu filtern. In besonders geeigneter Weise beinhaltet das Filtern der ersten Vielzahl von Untergruppen die folgenden Schritte, die auf jede einzelne Untergruppe der ersten Vielzahl von Untergruppen angewendet werden: Feststellen, ob der Abstand zwischen jedem Paar von Merkmalpunkten in der jeweiligen Untergruppe innerhalb eines vorbestimmten Bereichs liegt; dann Aufnehmen der jeweiligen Untergruppe in die zweite Vielzahl von Untergruppen, wenn festgestellt wurde, dass der Abstand zwischen jedem Paar von Merkmalpunkten in der jeweiligen Untergruppe im vorbestimmten Bereich liegt; sowie Ausschließen der jeweiligen Untergruppe von der zweiten Vielzahl von Untergruppen, wenn festgestellt wurde, dass der Abstand zwischen jedem Paar von Merkmalpunkten in der jeweiligen Untergruppe nicht im vorbestimmten Bereich liegt. Alternativ wird die erste Vielzahl von Untergruppen auf der Basis von Datenwerten gefiltert, die der ersten Vielzahl von Untergruppen zugeordnet sind, wobei der einer bestimmten Untergruppe zugeordnete Datenwert auf einer Funktion von mindestens einem Invarianten Parameter basiert, der den Merkmalpunkten der jeweiligen Untergruppe zugeordnet ist; der Invariante Parameter stellt dabei insbesondere einen Abstand zwischen Paaren von Merkmalpunkten der jeweiligen Untergruppe dar, und der einer bestimmten Untergruppe zugeordnete Datenwert enthält vorzugsweise einen ersten Teil und einen zweiten Teil, wobei der erste Teil auf einem maximalen Abstand zwischen Paaren von Merkmalpunkten in der jeweiligen Untergruppe und der zweite Teil auf einem minimalen Abstand zwischen Paaren von Merkmalpunkten der jeweiligen Untergruppe basiert. Das Filtern der ersten Vielzahl von Untergruppen enthält in geeigneter Weise die folgenden Schritte: Identifizieren eines gegebenen Datenwerts, für den eine Anzahl N von Untergruppen, welche einem Datenwert zugeordnet sind, der kleiner als oder gleich dem gegebenen Datenwert ist, größer als der vorgegebene Grenzwert Nmax ist; sowie Entfernen derjenigen Untergruppen aus der ersten Vielzahl von Untergruppen, welche einem Datenwert größer als oder gleich einem gegebenen Datenwert zugeordnet sind.
  • Bei einer zweiten Ausführungsart der vorliegenden Erfindung wird ein Fingerabdruckerkennungssystem bereitgestellt, das eine maschinenlesbare Programmspeichervorrichtung zum Ausführen von Verfahrensschritten zum Erzeugen und Speichern von Daten umfasst, die ein Fingerabdruckbild charakterisieren, wobei das Verfahren die folgenden Schritte umfasst: Identifizieren einer Vielzahl von Merkmalpunkten in dem Fingerabdruckbild, wobei die Merkmalpunkte von Singularitäten in Papillarlinienmustern im Fingerabdruckbild abgeleitet werden; Anordnen der Vielzahl von Merkmalpunkten zu einer ersten Vielzahl von Untergruppen; sowie Erzeugen eines Schlüssels, der der mindestens einen Untergruppe von Merkmalpunkten entspricht, wobei der Schlüssel das Fingerabdruckbild im Nahbereich der mindestens einen Untergruppe von Merkmalpunkten charakterisiert, dadurch gekennzeichnet, dass das Fingerabdruckerkennungssystem eine Datenbank zum Speichern des Fingerabdruckbildes aufweist; der Schritt der Anordnung der Vielzahl von Merkmalpunkten zu einer ersten Vielzahl von Untergruppen das Zuordnen von Merkmalpunkten zu jeder Untergruppe umfasst, sodass jede Untergruppe aus derselben vorbestimmten Anzahl von Merkmalpunkten besteht; der Schritt des Erzeugens eines Schlüssels, welcher mindestens einer Untergruppe von Merkmalpunkten entspricht, das Berechnen eines Datenwertes als Funktion von Parametern beinhaltet, welche der vorbestimmten Anzahl von Merkmalpunkten in der Untergruppe zugeordnet sind; und das Verfahren ferner Folgendes umfasst: Erzeugen eines Eintrags für die mindestens eine Untergruppe von Merkmalpunkten, der eine Kennung umfasst, welche das Fingerabdruckbild kennzeichnet; und Speichern des Eintrags in der Datenbank, wobei der Schlüssel dem Eintrag zugeordnet ist. Insbesondere umfassen die Singularitäten ein Papillarlinienende und eine Papillarlinienverzweigung und ebenso beinhaltet der Schlüssel insbesondere mindestens eine der folgenden Eigenschaften: einen Wert der Papillarlinienanzahl, der die Papillarlinienanzahl zwischen Paaren von Merkmalpunkten in der mindestens einen Untergruppe von Merkmalpunkten darstellt; einen Abstandswert, der den Abstand zwischen Paaren von Merkmalpunkten in der mindestens einen Untergruppe von Merkmalpunkten darstellt; sowie einen Wert für Papillarlinienwinkel, der die Papillarlinienwinkel darstellt, welche Merkmalpunkten in der mindestens einen Untergruppe von Merkmalpunkten zugeordnet sind.
  • Der Schritt der Erzeugung des Eintrags, der Schritt der Erzeugung des Schlüssels und der Schritt des Speicherns des Eintrags werden vorzugsweise für jede Untergruppe einer zweiten Vielzahl von Untergruppen von Merkmalpunkten ausgeführt, wobei die zweite Vielzahl von Untergruppen kleiner als die erste Vielzahl von Untergruppen ist. Die zweite Vielzahl von Untergruppen wird in geeigneter Weise durch Filtern der ersten Vielzahl von Untergruppen gebildet, wobei die erste Vielzahl von Untergruppen am besten auf der Basis des Abstands zwischen Paaren von Merkmalpunkten in der ersten Vielzahl von Untergruppen gefiltert wird. Vorzugsweise ist es noch günstiger, wenn das Filtern der ersten Vielzahl von Untergruppen die folgenden Schritte beinhaltet, die auf jede einzelne Untergruppe der ersten Vielzahl von Untergruppen angewendet werden: Feststellen, ob der Abstand zwischen jedem Paar von Merkmalpunkten in der jeweiligen Untergruppe innerhalb eines vorbestimmten Bereichs liegt; Aufnehmen der jeweiligen Untergruppe in die zweite Vielzahl von Untergruppen, wenn festgestellt wurde, dass der Abstand zwischen jedem Paar von Merkmalpunkten in der jeweiligen Untergruppe innerhalb des vorbestimmten Bereichs liegt; sowie Ausschließen der jeweiligen Untergruppe aus der zweiten Vielzahl von Untergruppen, wenn festgestellt wurde, dass der Abstand zwischen jedem Paar von Merkmalpunkten in der jeweiligen Untergruppe nicht innerhalb des vorbestimmten Bereichs liegt. Alternativ wird die erste Vielzahl von Untergruppen auf der Basis von Datenwerten gefiltert, die der ersten Vielzahl von Untergruppen zugeordnet sind, wobei der einer bestimmten Untergruppe zugeordnete Datenwert auf einer Funktion von mindestens einem Invarianten Parameter basiert, der den Merkmalpunkten der jeweiligen Untergruppe zugeordnet ist, und der Invariante Parameter insbesondere einen Abstand zwischen Paaren von Merkmalpunkten der jeweiligen Untergruppe darstellt, und vorzugsweise der einer bestimmten Untergruppe zugeordnete Datenwert einen ersten Teil und einen zweiten Teil enthält, wobei der erste Teil auf einem maximalen Abstand zwischen Paaren von Merkmalpunkten der jeweiligen Untergruppe und der zweite Teil auf einem minimalen Abstand zwischen Paaren von Merkmalpunkten der jeweiligen Untergruppe basiert. Das Filtern der ersten Vielzahl von Untergruppen beinhaltet vorteilhaft die folgenden Schritte: Identifizieren eines gegebenen Datenwerts, für den eine Anzahl von Untergruppen, welche einem Datenwert zugeordnet sind, der kleiner als oder gleich dem gegebenen Datenwert ist, gröber als ein vorbestimmter Grenzwert Nmax ist; und Entfernen derjenigen Untergruppen aus der ersten Vielzahl von Untergruppen, die einem Datenwert größer als oder gleich dem gegebenen Datenwert zugeordnet sind.
  • Bei einer dritten Ausführungsart der vorliegenden Erfindung wird ein Fingerabdruckerkennungssystem bereitgestellt, bei dem eine Vielzahl von Fingerabdruckbildern in einer Datenbank gemäß den Schritten der ersten oder der zweiten Ausführungsart der vorliegenden Erfindung gespeichert wird, wobei das System eine maschinenlesbare Programmspeichervorrichtung umfasst, um Verfahrensschritte zum Feststellen der Ähnlichkeit zwischen einem Abfrage-Fingerabdruckbild und der in der Datenbank gespeicherten Vielzahl von Fingerabdruckbildern auszuführen, wobei das Verfahren die folgenden Schritte umfasst: Identifizieren einer Vielzahl von Merkmalpunkten im Abfrage-Fingerabdruckbild, wobei die Merkmalpunkte von Singularitäten in Papillarlinienmustern im Abfrage-Fingerabdruckbild abgeleitet werden; Anordnen der Vielzahl von Merkmalpunkten im Abfrage-Fingerabdruckbild zu einer ersten Vielzahl von Untergruppen, wobei jede Untergruppe einer vorbestimmten Anzahl von Merkmalpunkten zugeordnet wird; Erzeugen eines zweiten Schlüssels für mindestens eine Untergruppe der ersten Vielzahl von Untergruppen von Merkmalpunkten, wobei der zweite Schlüssel das Abfrage-Fingerabdruckbild im Nahbereich der mindestens einen Untergruppe von Merkmalpunkten kennzeichnet; Abrufen von Einträgen aus dem Speicher, welche einem ersten Schlüssel zugeordnet sind, der dem zweiten Schlüssel entspricht; sowie Erzeugen eines Werts für mindestens einen aus dem Speicher abgerufenen Eintrag, der eine hypothetische Übereinstimmung darstellt, welche dem Abfrage-Fingerabdruckbild und einem in der Datenbank gespeicherten Fingerabdruckbild zugeordnet ist, welches dem mindestens einen aus dem Speicher abgerufenen Eintrag entspricht, wobei der Wert einen Kennzeichner umfasst, die das in der Datenbank gespeicherte Fingerabdruckbild kennzeichnet, welches dem mindestens einen aus dem Speicher abgerufenen Eintrag entspricht; Ermitteln einer dem Wert zugeordneten Bewertungszahl; und Speichern des Werts und der Bewertungszahl als ein Eintrag in die Auswahltabelle.
  • In besonders geeigneter Weise umfasst das Verfahren die folgenden Schritte: Auswählen eines oder mehrer Einträge der Auswahltabelle auf Basis der Bewertungszahl, die Einträgen zugeordnet sind; und Identifizieren mindestens eines Fingerabdruckbildes, das den ausgewählten Einträgen der Auswahltabelle als ein mögliches Fingerabdruckbild entspricht, welches mit dem Abfrage-Fingerabdruckbild übereinstimmt. Alternativ umfasst der die hypothetische Übereinstimmung darstellende Wert Parameter mindestens einer Transformationsmatrix, und insbesondere stellt die mindestens eine Transformationsmatrix eine Drehung, eine Verschiebung oder eine Maßstabsänderung zwischen der Lage der mindestens einen Untergruppe von Merkmalpunkten im Abfrage-Fingerabdruckbild und der Lage einer Untergruppe von Merkmalpunkten dar, welche dem mindestens einen aus dem Speicher abgerufenen Eintrag entsprechen.
  • Vorzugsweise umfassen die oben erwähnten Singularitäten ein Papillarlinienende bzw. eine Papillarlinienverzweigung und noch stärker bevorzugt beinhalten der verwendete erste und zweite Schlüssel mindestens einen der folgenden Werte: Papillarlinienanzahldaten, die eine Papillarlinienanzahl zwischen Paaren von Merkmalpunkten in der mindestens einen Untergruppe von Merkmalpunkten darstellen; Abstandsdaten, die den Abstand zwischen Paaren von Merkmalpunkten in der mindestens einen Untergruppe von Merkmalpunkten darstellen; und Papillarlinienwinkeldaten, die Papillarlinienwinkel darstellen, welche Merkmalpunkten in der mindestens einen Untergruppe von Merkmalpunkten zugeordnet sind.
  • In geeigneter Weise werden bei dieser dritten Ausführungsart der Erfindung der Schritt der Schlüsselerzeugung und der Schritt des Eintragabrufs für jede Untergruppe einer zweiten Vielzahl von Untergruppen von Merkmalpunkten ausgeführt, wobei die zweite Vielzahl von Untergruppen kleiner als die erste Vielzahl von Untergruppen ist und insbesondere die zweite Vielzahl von Untergruppen durch Filtern der ersten Vielzahl von Untergruppen gebildet wird. Insbesondere wird die erste Vielzahl von Untergruppen auf Basis des Abstands zwischen Paaren von Merkmalpunkten in der ersten Vielzahl von Untergruppen gefiltert, und vorzugsweise beinhaltet das Filtern der ersten Vielzahl von Untergruppen die folgenden auf jede einzelne Untergruppe der ersten Vielzahl von Untergruppen angewendeten Schritte: Feststellen, ob der Abstand zwischen jedem Paar von Merkmalpunkten in der jeweiligen Untergruppe innerhalb eines vorbestimmten Bereichs liegt; dann Aufnehmen der betreffenden Untergruppe in die zweite Vielzahl von Untergruppen, wenn festgestellt wurde, dass der Abstand zwischen jedem Paar von Merkmalpunkten in der betreffenden Untergruppe innerhalb des vorbestimmten Bereichs liegt; bzw. Ausschließen der betreffenden Untergruppe aus der zweiten Vielzahl von Untergruppen, wenn festgestellt wurde, dass der Abstand zwischen jedem Paar von Merkmalpunkten in der betreffenden Untergruppe nicht innerhalb des vorbestimmten Bereichs liegt. Die erste Vielzahl von Untergruppen wird in geeigneter Weise auch auf Basis von Datenwerten gefiltert, die der ersten Vielzahl von Untergruppen zugeordnet sind, wobei der einer bestimmten Untergruppe zugeordnete Datenwert auf einer Funktion mindestens eines Invarianten Parameters basiert, der den Merkmalpunkten der betreffenden Untergruppe zugeordnet ist; vorzugsweise stellt der Invariante Parameter einen Abstand zwischen Paaren von Merkmalpunkten in der betreffenden Untergruppe dar, wobei insbesondere der einer bestimmten Untergruppe zugeordnete Datenwert einen ersten Teil und einen zweiten Teil enthält, wobei der erste Teil auf einem maximalen Abstand zwischen Paaren von Merkmalpunkten der betreffenden Untergruppe basiert und wobei der zweite Teil auf einem minimalen Abstand zwischen Paaren von Merkmalpunkten der betreffenden Untergruppe basiert.
  • Vorzugsweise beinhaltet das Filtern der ersten Vielzahl von Untergruppen auch die folgenden Schritte: Identifizieren eines gegebenen Datenwerts, für den eine Anzahl N von Untergruppen, welche einem Datenwert kleiner als oder gleich dem gegebenen Datenwert zugeordnet sind, größer als ein vorbestimmter Grenzwert Nmax ist; und Entfernen dieser einem Datenwert größer als oder gleich dem gegebenen Datenwert zugeordneten Untergruppen aus der ersten Vielzahl von Untergruppen.
  • Eine vierte Ausführungsart der vorliegenden Erfindung umfasst das Verfahren der oben beschriebenen dritten Ausführungsart an sich.
  • Die folgenden Zeichnungen dienen der Veranschaulichung der Erfindung:
  • 1(A) ist ein Funktionsblockschaltbild eines Datenverarbeitungssystems, das durch die bevorzugte Ausführungsart der vorliegenden Erfindung benutzt werden kann.
  • 1(B) ist eine bildliche Veranschaulichung eines verteilten Datenverarbeitungssystems, das zum Ausführen des Erkennungsmodus der vorliegenden Erfindung benutzt werden kann.
  • 2 ist eine bildliche Veranschaulichung eines Fingerabdrucks und der Merkmalpunkte in diesem Fingerabdruck;
  • 3 und 4 sind bildliche Veranschaulichungen der Parameterdaten, die die Merkmalpunkte von 2 charakterisieren;
  • 5 ist ein Ablaufdiagramm des Erfassungsmodus des Systems gemäß der vorliegenden Erfindung;
  • 6 ist ein Ablaufdiagramm, das ein Beispiel der Auswahl von Untergruppen (Tripletts) von Merkmalpunkten und der zugeordneten Filterung gemäß der vorliegenden Erfindung veranschaulicht;
  • 7 ist ein Ablaufdiagramm, das ein Beispiel der Erzeugung eines Datenwertes veranschaulicht, der einer ausgewählten Untergruppe (Triplett) von Merkmalpunkten gemäß der vorliegenden Erfindung entspricht;
  • 8 ist ein Ablaufdiagramm, das ein Beispiel der Filterung der Untergruppen (Tripletts) von Merkmalpunkten auf Basis der entsprechenden Datenwerte gemäß der vorliegenden Erfindung veranschaulicht;
  • 9 ist ein Ablaufdiagramm, das ein Beispiel der Erzeugung von Schlüsseln veranschaulicht, die Untergruppen (Tripletts) von Merkmalpunkten gemäß der vorliegenden Erfindung entsprechen;
  • 10 ist eine bildliche Veranschaulichung eines Mehrfach-Zuordnungsverzeichnisses (Container), durch das ein oder mehrere Einträge einem Schlüssel zugeordnet werden können;
  • 11(A) und (B) sind ein Ablaufdiagramm, das den Erkennungsmodus des Systems gemäß der vorliegenden Erfindung veranschaulicht; und
  • 12 ist eine bildliche Veranschaulichung einer Auswahltabelle, die beim Erkennungsmodus von 11(A) und (B) verwendet wird.
  • Im Folgenden werden ein Verfahren und eine Vorrichtung zur Fingerabdruckerkennung unter Verwendung der Zusammenfassung von Transformationsparametern auf Basis lokaler Merkmalübereinstimmungen beschrieben.
  • Die vorliegende Erfindung kann in einem beliebigen Computersystem, einschließlich eines Personal Computers oder einer Arbeitsstation, realisiert werden. In 1 wird gezeigt, dass ein Computersystem 100, das von der vorliegenden Erfindung verwendet werden kann, generell einen Speicher 101, mindestens eine Zentraleinheit (central processing unit, CPU) 103 (eine gezeigt) sowie mindestens eine Benutzereingabevorrichtung 107 (wie beispielsweise eine Tastatur, eine Maus, einen Joystick, ein Spracherkennungssystem oder ein Handschrifterkennungssystem) umfasst. Außerdem enthält das Computersystem einen nichtflüchtigen Speicher wie einen ROM (read only memory) und/oder andere nichtflüchtige Speichereinheiten 108 wie ein Festplattenlaufwerk, das ein Betriebssystem und ein oder mehrere Anwendungsprogramme speichert, die in den Speicher 101 geladen und durch die CPU 103 ausgeführt werden. Beim Ausführen des Betriebssystems und der Anwendungsprogramme kann die CPU Daten verwenden, die in der nichtflüchtigen Speichereinheit 108 und/oder im Speicher 101 gespeichert sind. Außerdem enthält das Computersystem einen Grafikadapter, der zwischen die CPU 103 und eine Anzeigevorrichtung 105 wie einen CRT-Bildschirm (cathode ray tube, Katodenstrahlröhre) oder eine LDC-Anzeige (liquid crystal display, Flüssigkristallanzeige) geschaltet ist. Außerdem kann das Computersystem eine DFV-Verbindung (Datenfernverarbeitung) 109 (beispielsweise einen Netzadapter, eine Funkverbindung oder einen Modem) enthalten, die mit der CPU 103 verbunden ist, damit die CPU 103 über die DFV-Verbindung, zum Beispiel über das Internet, mit anderen Computersystemen kommunizieren kann. Die CPU 103 kann Teile des Betriebssystems, Teile der Anwendungsprogramme oder Teile der beim Ausführen des Betriebssystems und der Anwendungsprogramme durch die CPU 103 verwendeten Daten empfangen.
  • Es ist zu bemerken, dass die durch die CPU 103 ausgeführten Anwendungsprogramme die Verfahren der unten beschriebenen vorliegenden Erfindung ausführen können. Alternativ können Teile der unten beschriebenen Verfahren oder die gesamten Verfahren in Hardware realisiert werden, die mit den durch die CPU 103 ausgeführten Anwendungsprogrammen zusammenarbeitet.
  • Außerdem kann das Computersystem 100, in dem die vorliegende Erfindung realisiert wird, wie in 1(B) gezeigt, eine verteilte Struktur aufweisen. Insbesondere umfasst ein verteiltes Computersystem mehr als eine CPU 103 (gezeigt sind drei CPUs 103-1, 103-2, 103-3), wobei alle diese CPUs über ein Nachrichtenübermittlungs-Dienstprogramm 113 miteinander kommunizieren. Das Nachrichtenübermittlungs-Dienstprogramm 113 kann durch einen gemeinsam genutzten Speicher, eine Netzverbindung, einen Hochgeschwindigkeitsanschluss oder ein anderes Verfahren realisiert werden, durch das Daten zwischen den CPUs übertragen werden können. Für den Erkennungsmodus der vorliegenden Erfindung wird vorzugsweise ein verteiltes Computersystem benutzt, da der Algorithmus paralleler Natur ist. Insbesondere wird, wie unten beschrieben wird, die im Erfassungsmodus erzeugte Datenstruktur des Mehrfach-Zuordnungsverzeichnisses vorzugsweise auf die CPUs im verteilten System aufgeteilt. Die Datenstruktur des Mehrfach-Zuordnungsverzeichnisses kann auch auf die verschiedenen, einer bestimmten CPU 103 zugeordneten, nichtflüchtigen Speichereinheiten 108 aufgeteilt werden. Zum Beispiel kann das Mehrfach-Zuordnungsverzeichnis in neun Teile MM11, MM12, MM13, MM21, MM22, MM23, MM31, MM32, MM33, partitioniert und, wie gezeigt, auf die drei CPUs 103-1, 103-2 und 103-3 sowie ihre zugehörigen neun Speichereinheiten 108-11, 108-12, 108-13, 108-21, 108-22, 108-23, 108-31, 108-32 und 108-33 aufgeteilt werden. Außerdem kann die Datenstruktur der Auswahltabelle in ähnlicher Weise auf die CPUs des verteilten Systems aufgeteilt werden. Wenn in dem unten beschriebenen Erkennungsmodus ein solches System benutzt wird, werden die Datenelemente beim Abrufen aus der Mehrfach-Zuordnungstabelle über das Nachrichtenübermittlungs-Dienstprogramm zur entsprechenden CPU geleitet, um in das passende Segment der Abstimmungstabelle eingetragen zu werden. Schließlich wird vorzugsweise eine verteilte Mischsortierung durchgeführt, um alle erhaltenen hypothetischen Übereinstimmungen auf einer einzigen CPU zu vergleichen.
  • Ein Fingerabdruck wird im Allgemeinen durch Daten dargestellt, die eine dem Fingerabdruck zugehörige Sammlung von Merkmalpunkten (normalerweise als „Details" bezeichnet) charakterisieren. Die zu einem Fingerabdruck gehörenden Merkmalpunkte werden im Allgemeinen unter Verwendung von Bildverarbeitungsverfahren von einem Bild des Fingerabdrucks abgeleitet. Das Verfahren und die Vorrichtung der vorliegenden Erfindung können begrifflich in zwei verschiedene Betriebsarten eingeteilt werden: einen Erfassungsmodus und einen Erkennungsmodus.
  • Beim Erfassungsmodus werden in einer festgelegten Weise für ein oder mehrere Fingerabdruckbilder Untergruppen (Tripletts) der Merkmalpunkte für ein bestimmtes Fingerabdruckbild erzeugt. Eine oder mehrere Untergruppen (Tripletts) von Merkmalpunkten für ein bestimmtes Fingerabdruckbild werden ausgewählt. Für jede ausgewählte Untergruppe (Triplett) werden Daten erzeugt, die den Fingerabdruck im Nahbereich der ausgewählten Untergruppe (Triplett) charakterisieren. Die der ausgewählten Untergruppe (Triplett) entsprechenden Daten werden zum Bilden eines Schlüssels (oder Indexes) verwendet. Der Schlüssel wird zum Speichern in und zum Abrufen aus einem Mehrfach-Zuordnungsverzeichnis verwendet, das eine Art Assoziativspeicher ist, der das Speichern von mehr als einem Eintrag, der demselben Schlüssel zugeordnet werden soll, im Speicher ermöglicht. Es wird ein Eintrag erzeugt, der vorzugsweise einen Kennzeichner enthält, der das Fingerabdruckbild kennzeichnet, welches diesen Schlüssel erzeugt hat; ferner enthält der Eintrag Informationen (oder Zeiger auf solche Informationen) über die Untergruppe (Triplett) von Merkmalpunkten, welche diesen Schlüssel erzeugt haben. Der durch diesen Schlüssel markierte Eintrag wird dann in der Mehrfach-Zuordnungstabelle gespeichert.
  • Beim Erkennungsmodus wird dem System ein Abfrage-Fingerabdruckbild vorgelegt. Ähnlich wie beim Erfassungsmodus werden auf festgelegte Weise Untergruppen (Tripletts) von Merkmalpunkten des Abfrage-Fingerabdruckbildes erzeugt. Eine oder mehrere Untergruppen (Tripletts) von Merkmalpunkten des Abfrage-Fingerabdruckbildes werden ausgewählt. Für jede ausgewählte Untergruppe (Triplett) werden Daten erzeugt, die den Abfrage-Fingerabdruck im Nahbereich der ausgewählten Untergruppe (Triplett) charakterisieren. Die der ausgewählten Untergruppe entsprechenden Daten werden zum Bilden eines Schlüssels verwendet. Alle zu diesem Schlüssel gehörenden Einträge in dem Mehrfach-Zuordnungsverzeichnis werden abgerufen. Die Einträge enthalten, wie oben beschrieben, einen Kennzeichner, der das Vergleichs-Fingerabdruckbild kennzeichnet. Für jedes abgerufene Objekt wird eine hypothetische Übereinstimmung zwischen dem Abfrage-Fingerabdruckbild und dem Vergleichs-Fingerabdruckbild konstruiert. Diese hypothetische Übereinstimmung wird durch den Kennzeichner des Vergleichs-Fingerabdruckbildes sowie optional durch Parameter der Koordinatentransformation markiert, die die Untergruppe (Triplett) von Merkmalen im Abfrage-Fingerabdruckbild, in engste Übereinstimmung mit der Untergruppe (Triplett) von Merkmalen des Vergleichs-Fingerabdruckbildes bringen. Die hypothetischen Abgleiche werden in einer Abstimmungstabelle abgelegt. Die Abstimmungstabelle ist ein Assoziativspeicher, der durch den Kennzeichner und (sofern verwendet) die Transformationsparameter markiert wird. Die Abstimmungstabelle speichert eine Bewertungszahl, die dem Kennzeichner und (sofern verwendet) den Transformationsparametern des entsprechenden Vergleichs-Fingerabdruckbildes zugeordnet sind. Wenn ein neu abgerufenes Objekt eine bereits im Assoziativspeicher vorhandene Hypothese erzeugt, wird die dem abgerufenen Objekt entsprechende Bewertungszahl aktualisiert, beispielsweise durch Erhöhen um Eins. Zum Schluss werden alle in der Abstimmungstabelle gespeicherten Hypothesen nach ihren Bewertungszahlen sortiert. Diese Liste der Hypothesen und der Bewertungszahlen wird vorzugsweise verwendet, um festzustellen, ob eine Übereinstimmung mit dem Abfrage-Fingerabdruckbild im System gespeichert ist. Alternativ dazu kann diese Liste von Hypothesen und Bewertungszahlen in einen anderen Mechanismus eingegeben werden, um das Abfrage-Fingerabdruckbild durch Vergleich zu prüfen.
  • Im Folgenden wird eine detailliertere Beschreibung der Ableitung von Merkmalpunkten und zugehörigen Daten, des Erfassungsmodus und des Erkennungsmodus gegeben.
  • ABLEITUNG VON MERKMALPUNKTEN UND ZUGEHÖRIGEN DATEN
  • Die Merkmalpunkte eines Fingerabdruckbildes werden vorzugsweise aus einem Graustufenbild des Fingerabdrucks gewonnen, das durch Digitalisieren einer eingefärbten Karte, durch direktes Scannen eines Fingers unter Verwendung der gestörten inneren Totalreflexion, durch 3-dimensionale Entfernungsmessverfahren oder durch andere Verfahren erhalten wurde.
  • Die Merkmalpunkte eines Fingerabdruckbildes werden vorzugsweise anhand von Singularitäten im Papillarlinienmuster des Fingerabdrucks ermittelt. Ein Papillarlinienmuster enthält, wie in 2 gezeigt, Singularitäten, wie beispielsweise Papillarlinienenden und Papillarlinienverzweigungen. Die Punkte A und B sind Beispiele für eine Papillarlinienverzweigung. Punkt C ist ein Beispiel eines Papillarlinienendes. Jedes lokale Merkmal ist, wie in 3 gezeigt, durch die Koordinaten (x, y) des lokalen Merkmals in einem für alle lokalen Merkmale im betreffenden Fingerabdruckbild gemeinsamen Bezugsrahmen charakterisiert.
  • Bei dem unten genauer beschriebenen Erfassungsmodus und Erkennungsmodus werden Untergruppen (Tripletts) von Merkmalpunkten eines bestimmten Fingerabdruckbildes ausgewählt; und für jede ausgewählte Untergruppe (Triplett) werden Daten erzeugt, die das Fingerabdruckbild im Nahbereich der ausgewählten Untergruppe von Merkmalpunkten charakterisieren. Vorzugsweise beinhalten solche Daten einen jedem Paar von Merkmalpunkten, welche eine Untergruppe bilden, zugeordneten Abstand S sowie eine lokale Richtung (Θ) der Papillarlinie bei den Koordinaten (x, y) jedes Merkmalpunkts in der ausgewählten Untergruppe. Insbesondere stellt der einem bestimmten Paar von Merkmalpunkten zugeordnete Abstand S vorzugsweise den Abstand entlang einer zwischen den entsprechenden Merkmalpunkten gezeichneten Linie dar. Außerdem stellt die einem bestimmten Merkmalpunkt zugeordnete lokale Richtung (Θ) vorzugsweise die Richtung der Papillarlinien bei diesem Merkmalpunkt in Bezug auf eine von diesem Merkmalpunkt zu einem anderen Merkmalpunkt in der ausgewählten Untergruppe gezeichneten Linie dar. Zum Beispiel würden, wie in 4 gezeigt, bei dem in 2 und 3 dargestellten Triplett von Merkmalpunkten A, B, C die das Fingerabdruckbild im Nahbereich des Tripletts A, B, C charakterisierenden Daten die Parameter (S1, S2, S3, ΘA, ΘB, ΘC) beinhalten.
  • Außerdem beinhalten die Daten, die das Fingerabdruckbild im Nahbereich der ausgewählten Untergruppe von Merkmalpunkten charakterisieren, vorzugsweise eine den Paaren von Merkmalpunkten, die die ausgewählte Untergruppe bilden, zugeordnete Papillarlinienanzahl. Insbesondere stellt die einem bestimmten Paar von Merkmalpunkten zugeordnete Papillarlinienanzahl RC vorzugsweise die Anzahl von Papillarlinien dar, die durch eine zwischen den entsprechenden Merkmalpunkten gezeichnete Linie geschnitten werden. Zum Beispiel würden bei dem in 2 und 3 dargestellten Triplett von Merkmalpunkten A, B, C die das Fingerabdruckbild im Nahbereich des Tripletts A, B, C charakterisierenden Daten zusätzlich die Papillarlinienanzahlparameter (RCAB, RCAC, RCBC) beinhalten, wobei RCAB die Anzahl der durch eine zwischen den Merkmalpunkten A und B gezeichnete Linie geschnittenen Papillarlinien, wobei RCAC die Anzahl der durch eine zwischen den Merkmalpunkten A und C gezeichnete Linie geschnittenen Papillarlinien und RCBC die Anzahl der durch eine zwischen den Merkmalpunkten B und C gezeichnete Linie geschnittenen Papillarlinien darstellt.
  • Es gibt viele verschiedene Durchführungsmöglichkeiten zum Gewinnen der Merkmale und der zugehörigen Daten, die alle durch die vorliegende Erfindung genutzt werden können. Zum Beispiel können die Merkmalpunkte und die zugehörigen Daten automatisch durch Bildverarbeitungsverfahren gewonnen werden, wie sie beschrieben werden in „Advances in Fingerprint Technology", Herausgegeben von Henry C. Lee, R. E. Gaensslen, CRC Press, Ann Arbor, Michigan, sowie Nalini K. Ratha, Shaoyun Chen und Anil. K. Jain, „Adaptive flow orientation based texture extraction in fingerprint images", Journal of Pattern Recognition, Bd. 28, Nr. 11, S. 1657–1672, November 1995, die durch Bezugnahme vollständiger Bestandteil des vorliegenden Dokuments sind. Ein typischer Fingerabdruck hat vierzig Merkmalpunkte, die durch die Merkmalerkennungssoftware erkannt werden, jedoch kann die Anzahl der Merkmalpunkte je nach der Morphologie des Fingers und den Abbildungsbedingungen von Null bis über Hundert reichen.
  • ERFASSUNGSMODUS
  • Im Folgenden wird eine detailliertere Beschreibung des Erfassungsmodus gegeben. Der Erfassungsmodus beginnt, wie in 5 gezeigt, vorzugsweise mit Schritt 501 durch die Prüfung, ob ein Speicherbereich mit einem Mehrfach-Zuordnungsverzeichnis vorhanden ist. Der Speicherbereich mit einem Mehrfach-Zuordnungsverzeichnis ist, wie oben beschrieben, ein Assoziativspeicher, der die Speicherung von mehr als einem demselben Schlüssel zugeordneten Eintrag im Speicher ermöglicht. Eine detaillierte Beschreibung eines Mehrfach-Zuordnungsverzeichnisses wird in D. R. Musser und Atul Saini, STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library (Addison-Wesley 1996) gegeben, das durch Bezugnahme vollständiger Bestandteil des vorliegenden Dokuments ist. Vorzugsweise wird der Speicher mit dem Mehrfach-Zuordnungsverzeichnis aus einer Hashtabelle gebildet. Eine detailliertere Beschreibung einer Hashtabelle ist in R. Sedgewick, Algorithms in C++-(Addison-Wesley 1992) zu finden, das durch Bezugnahme vollständiger Bestandteil des vorliegenden Dokuments ist. Alternativ kann der Speicher mit dem Mehrfach-Zuordnungsverzeichnis aus einer Datenstruktur mit verknüpften Verzeichnissen oder einer Baumstruktur wie einem AVL-Baum oder einem B*-Baum gebildet werden, wie sie von D. R. Musser und Atul Saini beschrieben wird. Ein Fachmann wird erkennen, dass es für die Realisierung der Datenstruktur dem Mehrfach-Zuordnungsverzeichnis viele Möglichkeiten gibt. Wenn in Schritt 501 festgestellt wird, dass der Speicher mit dem Mehrfach-Zuordnungsverzeichnis gibt, fährt die Bearbeitung mit Schritt 505 fort. Wenn in Schritt 501 festgestellt wird, dass ein Speicher mit dem Mehrfach-Zuordnungsverzeichnis nicht existiert, fährt die Bearbeitung mit Schritt 503 fort, wo der Speicher mit dem Mehrfach-Zuordnungsverzeichnis erzeugt wird, und geht weiter zu Schritt 505.
  • In Schritt 505517 durchläuft die Bearbeitung für jedes Fingerabdruckbild, das zu der Mehrfachzuordnungs-Datenbank hinzugefügt werden soll, eine Schleife. In Schritt 507 wird die Liste von Untergruppen der Merkmalpunkte für das betreffende Fingerabdruckbild auf festgelegte Weise erzeugt.
  • Jede Untergruppe besteht vorzugsweise aus einer Gruppe von drei Merkmalpunkten (Triplett oder Tupel). Die vorliegende Erfindung unterliegt in dieser Hinsicht keiner Beschränkung, sodass jede Untergruppe eine Anzahl von n (wobei n eine ganze Zahl > 0 ist) Merkmalpunkten enthalten kann, die als ein n-Tupel bezeichnet werden kann. In Schritt 509 wird die Liste von Untergruppen (Tripletts) vorzugsweise auf Basis eines vorbestimmten Kriteriums gefiltert, um eine Liste akzeptabler Untergruppen (Tripletts) zu bilden. Die Filterung in Schritt 509 erfolgt, weil eine vollständige Liste von Untergruppen extrem groß sein und die Leistung des Systems negativ beeinflussen kann. Im Folgenden wird unter Bezug auf 6 eine genauere Beschreibung der Erzeugung der Liste von Tripletts und der zugehörigen Filteroperation der Schritte 507 und 509 gegeben.
  • In Schritt 511 wird jede Untergruppe (Triplett) in der Liste akzeptabler Untergruppen (Tripletts) ausgewählt und ein Datenwert erzeugt, der jeder ausgewählten Untergruppe (Triplett) zugeordnet ist. Ein Beispiel der Erzeugung eines einer ausgewählten Untergruppe (Triplett) entsprechenden Datenwerts wird im Folgenden unter Bezug auf 7 beschrieben. Die Bearbeitung beinhaltet vorzugsweise einen Schritt 513, bei dem die Liste akzeptabler Untergruppen (Tripletts) auf Basis eines Kriteriums der Datenwerte gefiltert wird, welche jeder Untergruppe (Triplett) in der Liste akzeptabler Untergruppen (Tripletts) zugeordnet sind, wodurch eine Liste brauchbarer Untergruppen (Tripletts) gebildet wird. Die Filterung in Schritt 513 erfolgt, weil eine vollständige Liste akzeptabler Untergruppen (Tripletts) äußerst groß sein und die Leistung des Systems negativ beeinflussen kann. Ein Beispiel der Filterung der Liste akzeptabler Tripletts wird im Folgenden unter Bezug auf 8 beschrieben.
  • In Schritt 517 wird jede brauchbare Untergruppe (Triplett) in der Liste der brauchbaren Untergruppen (Tripletts) ausgewählt und ein Schlüssel erzeugt, der der ausgewählten Untergruppe (Triplett) entspricht. Ein Beispiel der Abläufe im System beim Erzeugen von Schlüsseln, die den Tripletts in der Liste brauchbarer Tripletts entsprechen, wird im Folgenden unter Bezug auf 9 beschrieben. Außerdem wird in Schritt 517 ein Eintrag im Mehrfach-Zuordnungsverzeichnis erzeugt, der der ausgewählten Untergruppe (Triplett) entspricht. Der Eintrag enthält vorzugsweise einen Kennzeichner, der das jeweilige Fingerabdruckbild kennzeichnet, sowie Informationen (oder einen Zeiger auf solche Informationen) über die entsprechende Untergruppe (Triplett) von Merkmalpunkten. Der durch diesen Schlüssel markierte Eintrag wird dann, wie in 10 gezeigt, in das Mehrfach-Zuordnungsverzeichnis eingetragen.
  • 6 veranschaulicht ein Beispiel der Arbeitsschritte des Systems beim Erzeugen einer Liste von Tripletts und beim zugehörigen Filtern. Dem Fachmann wird es klar sein, dass es viele Möglichkeiten zum Erzeugen einer Liste von Tripletts und zum Ausführen der zugehörigen Filterung gibt. Die Liste von Tripletts wird, wie unten beschrieben, vorzugsweise so erzeugt, dass sie eine Reihe von Tripletts enthält. Die Bearbeitung beginnt in Schritt 600 durch Herausziehen der Merkmalpunkte (Details) aus dem erfassten Fingerabdruckbild. Eine eingehendere Beschreibung der Ableitung solcher Merkmalpunkte wird weiter oben angegeben. Die Bearbeitung wird dann mit einer Reihe von drei verschachtelten FÜR-Schleifen 601 bis 617, 603 bis 615 und 605 bis 617 fortgesetzt. Die erste FÜR-Schleife 601 bis 617 weist einem ersten Index I einen Wert zu, der von 1 bis N reicht, wobei N die Anzahl von Merkmalpunkten (Details) im betreffenden Fingerabdruckbild ist. Die zweite FÜR-Schleife 603 bis 615 weist einem zweiten Index J einen Wert zu, der von I + 1 bis N reicht. Die dritte FÜR-Schleife weist einem dritten Index K einen Wert zu, der von J + 1 bis N reicht. In Schritt 607 wird das durch die Indizes (I, J, K) gekennzeichnete Triplett ausgewählt. Die Werte der Indizes I, J, K werden, wie oben beschrieben, so zugewiesen, dass eine Reihe von Tripletts ausgewählt werden und eine Filterprüfung durchgeführt wird, um zu ermitteln, ob das Triplett (I, J, K) akzeptabel ist. Vorzugsweise wird durch die Filterprüfung geprüft, ob die Abstände zwischen jedem Paar von Merkmalpunkten (Details) im Triplett (I, J, K) in einem akzeptablen Bereich liegen. Wenn die Paare von Merkmalpunkten (Details) für ein bestimmtes Triplett (I, J, K) mit dij , djk, dik bezeichnet werden und der akzeptable Bereich der Abstandsbereich zwischen dmin und dmax ist, kann somit die Filterprüfung wie folgt angegeben werden:
    WENN ((dij ∊ [dmin, dmax]) UND (djk ∊ [dmin dnax]) UND (dik ∊ [dmin, dmax])
    DANN ist das Triplett (I, J, K) akzeptabel
    SONST ist das Triplett (I, J, K) nicht akzeptabel.
  • Wenn die Filterprüfung in Schritt 607 feststellt, dass das Triplett (I, J, K) akzeptabel ist, geht die Bearbeitung zu Schritt 609 weiter, wo das Triplett (I, J, K) in die Liste akzeptabler Tripletts aufgenommen wird. Wenn jedoch die Filterprüfung in Schritt 607 feststellt, das das Triplett (I, J, K) nicht akzeptabel ist, kehrt die Bearbeitung zu Schritt 605 zurück, um das nächste Triplett in der Reihe zu verarbeiten.
  • 7 veranschaulicht ein Beispiel der Erzeugung eines Datenwertes, der den Tripletts in der Liste akzeptabler Tripletts entspricht. Die Bearbeitung beginnt mit einer FÜR-Schleife 701 bis 705, die jedes Triplett in der Liste akzeptabler Tripletts durchläuft. In Schritt 703 wird für jedes Triplett in der Liste akzeptabler. Tripletts ein Datenwert H berechnet, der dem jeweiligen Triplett entspricht. Der Datenwert H wird vorzugsweise als eine Funktion von den zu dem jeweiligen Triplett gehörenden Abstandspaaren berechnet. Die Abstandspaare können als binäre ganze Zahl codiert werden, indem der zulässige Längenbereich einer Dreieckseite in Kästchen eingeteilt wird. Wenn ein Abstand in das erste Kästchen fällt, wird er als Null (0) codiert, wenn er in das nächste Kästchen fällt, wird er als Eins (1) codiert und so weiter. Zum Beispiel können die Abstandspaare binär mit einer Wortlänge von k Bit codiert werden. In diesem Fall kann der durch eine ganze Binärzahl mit 2*k Bit angegebene Datenwert H wie folgt dargestellt werden:
    • 1) die k höchstwertigen Bits entsprechen der Binärcodierung der k Maximalbits solcher Abstandspaare des betreffenden Tripletts; und
    • 2) die k niedrigstwertigen Bits entsprechen der Binärcodierung der k Minimalbits solcher Abstandspaare des betreffenden Tripletts.
  • Bei diesem Beispiel kann die Darstellung des Datenwerts H wie folgt berechnet werden: H = max(A, B, C)*Edmax + min(A, B, C)wobei A, B, C eine Binärcodierung mit k Bits der zu dem betreffenden Triplett gehörenden Abstandspaare und Edmax den Wert 2* darstellt.
  • Es ist klar, dass der Datenwert H auf Basis alternativer Funktionen der zu dem betreffenden Triplett gehörenden Abstände und als Funktion anderer invarianter Parameter berechnet werden kann, die zu dem betreffenden Triplett von Merkmalpunkten gehören, wie beispielsweise der Papillarlinienanzahl, der lokalen Richtungswinkel und anderer Parameterdaten.
  • 8 veranschaulicht ein Beispiel der Filterung der Liste akzeptabler Tripletts. Die Bearbeitung beginnt bei Schritt 801 durch Initialisieren einer Variablen Ne, die eine Anzahl brauchbarer Tripletts repräsentiert, welche aus der Liste akzeptabler Tripletts ausgewählt wurde. Vorzugsweise wird Ne mit Null initialisiert. In Schritt 803 wird eine Variable Ht initialisiert. Für einen bestimmten Wert Ht gibt es Null oder mehr Tripletts in der Liste akzeptabler Tripletts, deren Datenwert H dem betreffenden Wert Ht entspricht. Vorzugsweise wird Ht mit Null initialisiert. In Schritt 805 wird eine Matrix von Einträgen No, N1, N2 . . . NHmax erzeugt. Jeder Eintrag entspricht einem in Schritt 703 für die Tripletts in der Liste akzeptabler Tripletts berechneten möglichen Datenwert und enthält einen Wert für die Anzahl von Tripletts mit demselben Datenwert. Im oben dargestellten Beispiel wurde der Datenwert H durch eine ganze Binärzahl der Länge 2*k Bit dargestellt, sodass die Matrix 22k Einträge enthält. Dann wird eine Schleife 807 bis 813 abgearbeitet, solange die Summe aus Ne und dem in der Matrix gespeicherten Wert Ht kleiner als oder gleich einem vorbestimmten Zielwert ist und Ht kleiner als ein vorbestimmter Maximalwert ist, der vorzugsweise gleich der Anzahl der Einträge in der Liste gesetzt wird. In der Schleife 807 bis 813 wird ein Schritt 809 ausgeführt, bei dem die Variable Ne um den im Matrixeintrag Ht gespeicherten Wert erhöht wird. Außerdem wird in Schritt 811 die Variable Ht erhöht. Wenn die Summe aus Ne und dem im Matrixeintrag Ht gespeicherten Wert größer als der vorbestimmte Zielwert oder wenn Ht größer als oder gleich dem vorbestimmten Maximalwert ist, wird über die gesamte Liste akzeptabler Tripletts eine Schleife 815 bis 819 ausgeführt. Wenn der in Schritt 703 für das betreffende Triplett berechnete Datenwert H kleiner als Ht ist, wird das betreffende Triplett in Schritt 817 in die Liste der brauchbaren Tripletts aufgenommen. Nach dem Abarbeiten der Schleife 815 bis 819 ist die Filterung der Liste akzeptabler Tripletts abgeschlossen.
  • 9 veranschaulicht ein Beispiel der Arbeitsweise des Systems beim Erzeugen von Schlüsseln, die den Tripletts der Liste der brauchbaren Tripletts entsprechen. Die Bearbeitung beginnt bei Schritt 901 mit einer FÜR-Schleife 901 bis 907, die von jedem Triplett der Liste der brauchbaren Tripletts durchlaufen wird. Die Schritte 903 und 905 werden von jedem Triplett in der Schleife durchlaufen. In Schritt 903 werden die Seiten in einer festgelegten Weise geordnet. Vorzugsweise erfolgt das Ordnen der Seiten so, dass das Ordnungsergebnis gegenüber Maßstabsänderung, Verschiebung und/oder Drehung invariant ist. Zum Beispiel kann das Ordnen so erfolgen, dass zuerst die größte der drei zu dem Triplett gehörenden Seiten ausgewählt und dann die anderen Seiten von der größten Seite aus in einer vorbestimmten Richtung/Drehsinn (zum Beispiel im Uhrzeigersinn) nummeriert werden.
  • In Schritt 905 werden Daten erzeugt, die das Fingerabdruckbild im Nahbereich des Tripletts charakterisieren. Vorzugsweise erfolgt das Ordnen der Seiten so, dass die Reihenfolge gegenüber Maßstabsveränderung, Verschiebung und Drehung des Tripletts der Merkmalpunkte invariant ist. Zum Beispiel können die das Fingerabdruckbild im Nahbereich des Tripletts charakterisierenden Daten Abstände Sx, Sy, Sz, lokale Richtungen Θx, Θy, Θz und Papillarlinienanzahlen RCx, RCy, RCz enthalten. Die Abstände Sx, Sy, Sz repräsentieren den Abstand zwischen Paaren von Merkmalpunkten, aus denen das Triplett besteht. Eine eingehendere Beschreibung der Abstände ist oben angegeben. Vorzugsweise stimmt die Reihenfolge der Abstände Sx, Sy, Sz mit der in Schritt 903 ermittelten Reihenfolge der Seiten überein. Die Abstandsdaten Sx, Sy, Sz werden vorzugsweise, wie oben beschrieben, durch eine ganze Binärzahl codiert. Die anderen Größen werden in gleicher Weise codiert. Der Bereich der Winkelwerte wird gerastert, und die Winkelwerte werden codiert. Die Werte der Papillarlinienanzahl werden üblicherweise codiert durch die Papillarlinienanzahl modulo Anzahl der zum Codieren verwendeten Werte. Die bevorzugte Ausführungsart betrifft das Codieren der Papillarlinienanzahl durch den Wert Papillarlinienanzahl modulo 8. Die lokalen Richtungen Θx, Θy, Θz repräsentieren die Richtungen der Papillarlinie an den Merkmalpunkten, aus denen das Triplett besteht, in Bezug auf die Linien, die die Abstände Sx, Sy bzw. Sz repräsentieren. Eine eingehendere Beschreibung solcher lokaler Richtungen wird oben gegeben. Vorzugsweise stimmt die Reihenfolge der lokalen Richtungen Θx, Θy, Θz mit der in Schritt 903 ermittelten Reihenfolge der Seiten überein. Die Papillarlinienanzahlen RCx, RCy, RCz stellen Anzahlen dar, die zu den Paaren von Merkmalpunkten des Tripletts gehören. Vorzugsweise stimmt die Reihenfolge der Papillarlinienanzahlen RCx, RCy, RCz mit der in Schritt 903 ermittelten Reihenfolge der Seiten überein.
  • Außerdem werden die in Schritt 905 erzeugten Daten, die das Fingerabdruckbild im Nahbereich des Tripletts charakterisieren, zum Bilden eines Schlüssels (oder Indexes) verwendet. Zum Beispiel kann der Schlüssel, wie in 9 gezeigt, die folgenden Komponenten enthalten: Sx, Sy, Sz, Θx, Θy, Θz, RCx, RCy, RCz.
  • ERKENNUNGSMODUS
  • Es folgt eine detailliertere Beschreibung des Erkennungsmodus. Wie in 11(A) und 11(B) gezeigt, beginnt der Erkennungsmodus vorzugsweise mit Schritt 1101 durch Herausziehen der Merkmalpunkte (Details) aus dem Abfrage-Fingerabdruckbild. Eine eingehendere Beschreibung des Ableitens solcher Merkmalpunkte ist oben angegeben. Die Bearbeitung geht dann zu den Schritten 1103 bis 1111 über, wo die Schritte 507 bis 515 (oben für den erfassten Fingerabdruck beschrieben) für das Abfrage-Fingerabdruckbild ausgeführt werden. Insbesondere wird in Schritt 1103 eine Liste von Untergruppen (Tripletts) von Merkmalpunkten für das Abfrage-Fingerabdruckbild erzeugt. In Schritt 1105 wird die Liste von Untergruppen (Tripletts) vorzugsweise auf Basis eines vorbestimmten Kriteriums gefiltert, um eine Liste akzeptabler Untergruppen (Tripletts) des Ziel-Fingerabdruckbildes zu erzeugen. Eine eingehendere Beschreibung der Erzeugung der Liste von Tripletts und der zugehörigen Filterung der Schritte 1103 und 1105 ist oben unter Bezug auf 6 beschrieben.
  • In Schritt 1107 wird jede Untergruppe (Triplett) in der Liste akzeptabler Tripletts ausgewählt und ein zur ausgewählten Untergruppe (Triplett) gehörender Datenwert erzeugt. Ein Beispiel der Erzeugung eines einer ausgewählten Untergruppe (Triplett) entsprechenden Datenwerts wird oben unter Bezug auf 7 beschrieben. Die Bearbeitung beinhaltet vorzugsweise einen Schritt 1109, bei dem die Liste akzeptabler Untergruppen (Tripletts) auf Basis eines Kriteriums der zu den Untergruppen (Tripletts) gehörenden Datenwerte in der Liste akzeptabler Untergruppen (Tripletts) gefiltert wird, wodurch eine Liste der brauchbaren Untergruppen (Tripletts) entsteht. Ein Beispiel für die Filterung der Liste akzeptabler Tripletts ist oben unter Bezug auf 8 beschrieben.
  • Die Erkennungsphase geht dann in die FÜR-Schleife 1111 bis 1131 über, die die ganze Liste der brauchbaren Untergruppen (Tripletts) durchläuft. In Schritt 1111 wird für jede brauchbare Untergruppe (Triplett) in der Liste der brauchbaren Untergruppen (Tripletts) ein zu der Untergruppe (Triplett) gehörender Schlüssel erzeugt. Ein Beispiel für die Abläufe im System beim Erzeugen von zu den Tripletts in der Liste der brauchbaren Tripletts gehörenden Schlüsseln ist oben unter Bezug auf 9 beschrieben.
  • Für das jeweilige brauchbare Triplett wird die FÜR-Schleife 1115 bis 1129 ausgeführt, in der die Einträge im Mehrfach-Zuordnungsverzeichnis, welche zu einem der betreffenden Untergruppe (Triplett) entsprechenden Schlüssel gehören, identifiziert werden; ferner wird mit jedem der übereinstimmenden Einträge eine Schleife aufgeführt. Mit jedem übereinstimmenden Eintrag werden die Schritte 1117 bis 1123 ausgeführt.
  • In Schritt 1117 wird der übereinstimmende Eintrag aus dem Mehrfach-Zuordnungsverzeichnis abgerufen. Der übereinstimmende Eintrag enthält, wie oben beschrieben, einen Kennzeichner, der das Fingerabdruckbild kennzeichnet, welches den zugehörigen Schlüssel erzeugt hat, sowie Informationen (oder Zeiger auf solche Informationen) über die Untergruppe (Triplett) von Merkmalpunkten, die den zugehörigen Schlüssel erzeugt haben.
  • In Schritt 1119 wird eine hypothetische Übereinstimmung zwischen dem Abfrage-Fingerabdruckbild und dem Vergleichs-Fingerabdruckbild konstruiert. Die hypothetische Übereinstimmung beruht vorzugsweise auf der Verwendung von Daten, die der betreffenden Untergruppe (Triplett) von Merkmalpunkten im Abfrage-Fingerabdruckbild zugeordnet sind und von Daten, die im Vergleichseintrag gespeichert sind, der einer Untergruppe (Triplett) von Merkmalpunkten im Vergleichs-Fingerabdruckbild zugeordnet ist. Insbesondere wird die hypothetische Übereinstimmung vorzugsweise durch Ermitteln der Parameter einer oder mehrerer Transformationsmatrizen konstruiert, welche eine oder mehrere Drehungen, Verschiebungen bzw. Maßstabsveränderungen darstellen, durch die die Lage der Untergruppe (Triplett) von Merkmalpunkten des Abfrage-Fingerabdruckbildes mit der Lage der Untergruppe (Triplett) von Merkmalpunkten des Vergleichs-Fingerabdruckbildes zur Deckung gebracht wird; dies wird durch den Übereinstimmungseintrag gekennzeichnet. Vorzugsweise werden die Parameter der Transformationsmatrizen unter Verwendung eines Näherungsverfahrens der kleinsten Quadrate beim Vergleich der Lage der Untergruppe (Triplett) von Merkmalpunkten des Abfrage-Fingerabdruckbildes mit der Lage der Untergruppe (Triplett) von Merkmalpunkten im Vergleichs-Fingerabdruckbild ermittelt. Eine eingehendere Beschreibung des Verfahrens der kleinsten Quadrate ist in R. M. Haralick et al., „Pose Estimation from Corresponding Point Data", IEEE Transactions on Systems, Man and Cybernetics, 19 (6), 1989, S. 1426–1446, zu finden, das durch Bezugnahme vollständiger Bestandteil der vorliegenden Erfindung ist. Beim Verfahren der kleinsten Quadrate werden die Parameter einer oder mehrerer Transformationsmatrizen berechnet, welche Drehungen, Verschiebungen und/oder Maßstabsveränderungen darstellen, durch die die Untergruppe (Triplett) von Merkmalpunkten des Abfrage-Fingerabdruckbildes möglichst genau mit der Untergruppe (Triplett) von Merkmalpunkten im Vergleichs-Fingerabdruckbild zur Deckung gebracht wird.
  • In Schritt 1123 wird die hypothetische Übereinstimmung durch den Kennzeichner des Vergleichs-Fingerabdruckbildes und optional durch die Parameter einer mehrerer der in Schritt 1119 erstellten Transformationsmatrizen markiert. Die hypothetischen Übereinstimmungen werden in einer Abstimmungstabelle gespeichert, welche ein durch den Kennzeichner und (sofern verwendet) die Transformationsparameter verschlüsselter Assoziativspeicher ist. In der Abstimmungstabelle wird eine Bewertungszahl gespeichert, die dem Kennzeichner und (sofern verwendet) den Transformationsparametern des Vergleichs-Fingerabdruckbildes zugeordnet ist, wie in 12 gezeigt ist. Vorzugsweise wird die Abstimmungstabelle als Zuordnungstabelle ausgeführt. Eine eingehende Beschreibung einer Zuordnungstabelle wird in D. R.
  • Musser und Atul Saini, STL Tutorial and Reference Guide: C++ Programming with the Standard Template Library (Addison-Wesley 1996) gegeben, das durch Bezugnahme vollständiger Bestandteil der vorliegenden Erfindung ist. Die Zuordnungstabelle kann aus einer Hashtabelle erzeugt werden. Eine eingehendere Beschreibung einer Hashtabelle ist in R. Sedgewick, Algorithms in C++ (Addison-Wesley 1992) zu finden, das durch Bezugnahme vollständiger Bestandteil der vorliegenden Erfindung ist. Alternativ kann die Zuordnungstabelle aus einer Datenstruktur mit verknüpften Listen oder einer Baumstruktur wie einem in D. R. Musser und Atul Saini beschriebenen AVL-Baum oder B*-Baum erzeugt werden. Dem Fachmann dürfte klar sein, dass es für die Datenstruktur der Zuordnungstabelle viele Realisierungsmöglichkeiten gibt.
  • In Schritt 1125 wird ermittelt, ob die in Schritt 1119 erzeugte hypothetische Übereinstimmung bereits in der Abstimmungstabelle vorliegt. Vorzugsweise erfolgt dies durch Prüfen, ob der in Schritt 1123 erzeugte Schlüssel bereits in der Abstimmungstabelle vorliegt. Wenn dies der Fall ist, geht die Bearbeitung weiter zu Schritt 1127, in dem die der hypothetischen Übereinstimmung entsprechende Bewertungszahl, beispielsweise durch Erhöhen der Bewertungszahl um Eins, aktualisiert wird. Wenn in Schritt 1125 festgestellt wird, dass die in Schritt 1119 erzeugte hypothetische Übereinstimmung in der Abstimmungstabelle nicht vorliegt (d. h., dass der in Schritt 1123 erzeugte Schlüssel in der Abstimmungstabelle nicht vorliegt), geht die Bearbeitung weiter zu Schritt 1129, in dem für die hypothetische Übereinstimmung ein neuer Eintrag erzeugt und die Bewertungszahl des neuen Eintrags, zum Beispiel auf einen Wert Eins, initialisiert wird.
  • Schließlich werden nach Abschluss der FÜR-Schleife 1111 bis 1131 die in der Abstimmungstabelle gespeicherten hypothetischen Übereinstimmungen in Schritt 1133 vorzugsweise nach ihrer Bewertungszahl sortiert und diese Liste der hypothetischen Übereinstimmungen und der Bewertungszahlen vorzugsweise dazu verwendet festzustellen, ob eine Übereinstimmung mit dem Abfrage-Fingerabdruckbild durch das System gespeichert worden ist. Zum Beispiel können die eine oder die mehreren hypothetischen Übereinstimmungen mit den höchsten Bewertungszahlen ausgewählt werden. Bei einem anderen Beispiel können hypothetische Übereinstimmungen ausgewählt werden, die eine Bewertungszahl größer als ein vorbestimmter Grenzwert aufweisen. Der Kennzeichner jeder ausgewählten hypothetischen Übereinstimmung kann dann zum Identifizieren eines in der Mehrfachzuordnungs-Datenbank gespeicherten Fingerabdruckbildes verwendet werden. Das System erzeugt dann vorzugsweise eine Anzeige (oder eine andere Ausgabe), die ein oder mehrere in der Mehrfachzuordnungs-Datenbank gespeicherte Fingerabdruckbilder zeigt, die den ausgewählten hypothetischen Übereinstimmungen als einer möglichen Übereinstimmung mit dem Abfrage-Fingerabdruckbild entsprechen.
  • Alternativ kann diese Liste der hypothetischen Übereinstimmungen und Bewertungszahlen zur Eingabe in andere Mechanismen zum Überprüfen des Abfrage-Fingerabdruckbildes verwendet werden.
  • Zusammenfassend ist zu sagen, dass die oben beschriebene vorliegende Erfindung eine Codierung von Fingerabdruckdaten bereitstellt, die gegenüber Drehung und Verschiebung offensichtlich invariant ist. Alternativ kann man die Abstände zwischen Merkmalpunkten normalisieren, und eine maßstabsinvariante Codierung zu erhalten.
  • Außerdem stellt die vorliegende Erfindung eine kombinationsfähige Schlüssel-/Indexerzeugung bereit, die gegenüber dem Rauschen bei der Bilderfassung beständig ist, durch das Merkmalpunkte (Details) verschwinden oder falsche Merkmalpunkte in die Daten gelangen. Zudem stellt die vorliegende Erfindung Schlüssel/Indizes mit hohem Informationsgehalt bereit, die nur einen kleinen Teil der Gesamtdatenmenge in der Datenbank (Mehrfach-Zuordnungstabelle) ausmachen, welche während der Suchabfrage (Abruf) verarbeitet werden. Da diese Schlüssel/Indizes lokale Informationen darstellen, führt ein Fehler beim Berechnen eines Schlüssels nicht dazu, dass dadurch alle Chancen eines Vergleichs des zugehörigen Fingerabdrucks vernichtet sind. Dies stellt eine Verbesserung gegenüber dem Stand der Technik dar, der üblicherweise auf dem Filtern oder Klassifizieren von Fingerabdrücken beruht, um die Größe der zu durchsuchenden Datenbank zu begrenzen.

Claims (10)

  1. Verfahren zum Erzeugen und Speichern von Daten, die mindestens ein Fingerabdruckbild kennzeichnen, wobei das Verfahren die folgenden Schritte umfasst: Identifizieren (507) einer Vielzahl von Merkmalpunkten in dem Fingerabdruckbild, wobei die Merkmalpunkte von Singularitäten in Papillarlinien-Mustern in dem Fingerabdruckbild abgeleitet werden; Anordnen (507) der Vielzahl von Merkmalpunkten zu einer Vielzahl von Untergruppen; und Erzeugen (515) eines Schlüssels, der mindestens einer der Untergruppen von Merkmalpunkten entspricht, wobei der Schlüssel das Fingerabdruckbild im Nahbereich der mindestens einen Untergruppe von Merkmalpunkten kennzeichnet; dadurch gekennzeichnet, dass: das Verfahren dem Erzeugen und Speichern von Daten, welche mindestens einen Fingerabdruck kennzeichnen, in einem Fingerabdruck-Erkennungssystem (100) dient, bei dem das Fingerabdruckbild in einer Datenbank (101) gespeichert wird; der Schritt (507) des Anordnens der Vielzahl von Merkmalpunkten zu einer ersten Vielzahl von Untergruppen das Zuordnen von Merkmalpunkten zu jeder Untergruppe umfasst, sodass jede Untergruppe aus derselben vorbestimmten Anzahl von Merkmalpunkten besteht; der Schritt (515) des Erzeugens eines Schlüssels, welcher mindestens einer Untergruppe von Merkmalpunkten entspricht, das Berechnen eines Datenwertes (H) als eine Funktion von Parametern enthält, die der vorbestimmten Anzahl von Merkmalpunkten in der Untergruppe zugeordnet sind; und das Verfahren ferner umfasst: Erzeugen (515) eines Eintrags für die mindestens eine Untergruppe von Merkmalpunkten, welcher einen Kennzeichner umfasst, der das Fingerabdruckbild kennzeichnet, und Speichern (515) des Eintrags in der Datenbank, in der der Schlüssel dem Eintrag zugeordnet wird.
  2. Verfahren nach Anspruch 1, bei dem die Singularitäten ein Ende und eine Verzweigung einer Papillarlinie umfassen.
  3. Verfahren nach Anspruch 2, bei dem der Schlüssel mindestens einen der folgenden Werte enthält: Wert der Papillarlinienanzahl, der eine Anzahl der Papillarlinien (ridge count, RC) zwischen Paaren von Merkmalpunkten in der mindestens einen Untergruppe von Merkmalpunkten darstellt; Abstandswert, der den Abstand (S) zwischen Paaren von Merkmalpunkten. in der mindestens einen Untergruppe von Merkmalpunkten darstellt; und Wert des Papillarlinienwinkels, der Papillarlinienwinkel (é) darstellt, welche Merkmalpunkten in der mindestens einen Untergruppe von Merkmalpunkten zugeordnet sind.
  4. Verfahren nach Anspruch 1, bei dem der Schritt der Eintragserzeugung (515), der Schritt der Schlüsselerzeugung (515) und der Schritt der Eintragsspeicherung (515) für jede Untergruppe einer zweiten Vielzahl von Untergruppen von Merkmalpunkten ausgeführt werden, wobei die zweite Vielzahl von Untergruppen kleiner als die erste Vielzahl von Untergruppen ist.
  5. Verfahren nach Anspruch 4, bei dem die zweite Vielzahl von Untergruppen durch Filtern (509) der ersten Vielzahl von Untergruppen gebildet wird und das Filtern auf dem Abstand zwischen Paaren von Merkmalpunkten in der ersten Vielzahl von Untergruppen basiert.
  6. Verfahren nach Anspruch 5, bei dem das Filtern (509) der ersten Vielzahl von Untergruppen die folgenden Schritte beinhaltet, die auf jede einzelne Untergruppe der ersten Vielzahl von Untergruppen angewendet werden: Feststellen (607), ob der Abstand zwischen jedem Paar von Merkmalpunkten in der einzelnen Untergruppe innerhalb eines vorbestimmten Bereichs liegt; Aufnehmen (609) der einzelnen Untergruppe in die zweite Vielzahl von Untergruppen, wenn festgestellt wird, dass der Abstand zwischen jedem Paar von Merkmalpunkten in der einzelnen Untergruppe innerhalb des vorbestimmten Bereichs liegt; und Ausschließen (607) der einzelnen Untergruppe aus der zweiten Vielzahl von Untergruppen, wenn festgestellt wird, dass der Abstand zwischen jedem Paar von Merkmalpunkten in der einzelnen Untergruppe nicht innerhalb des vorbestimmten Bereichs liegt.
  7. Verfahren nach Anspruch 5, bei dem die erste Vielzahl von Untergruppen auf der Basis von Datenwerten gefiltert wird, die der ersten Vielzahl von Untergruppen zugeordnet sind.
  8. Verfahren nach Anspruch 7, bei dem die erste Vielzahl von Untergruppen auf der Basis von Datenwerten gefiltert wird, die Abstände (S) zwischen Paaren von Merkmalpunkten der einzelnen Untergruppe darstellen, und bei dem der einer einzelnen Untergruppe zugeordnete Datenwert einen ersten Teil und einen zweiten Teil enthält, wobei der erste Teil auf einem Maximalabstand (dmax) zwischen Paaren von Merkmalpunkten der einzelnen Untergruppe und der zweite Teil auf einem Minimalabstand (dmin) zwischen Paaren von Merkmalpunkten der einzelnen Untergruppe basiert.
  9. Fingerabdruck-Erkennungssystem, das eine maschinenlesbare Programmspeichereinheit umfasst, um Verfahrensschritte zum Erzeugen und Speichern von Daten auszuführen, die ein Fingerabdruckbild kennzeichnen, wobei das Verfahren die folgenden Schritte umfasst: Identifizieren (507) einer Vielzahl von Merkmalpunkten in dem Fingerabdruckbild, wobei die Merkmalpunkte von Singularitäten in Papillarlinien-Mustern in dem Fingerabdruckbild abgeleitet werden; Anordnen (507) der Vielzahl von Merkmalpunkten zu einer ersten Vielzahl von Untergruppen; und Erzeugen (515) eines Schlüssels, der der mindestens einen Untergruppe von Merkmalpunkten entspricht, wobei der Schlüssel das Fingerabdruckbild im Nahbereich der mindestens einen Untergruppe von Merkmalpunkten kennzeichnet, dadurch gekennzeichnet, dass: das Fingerabdruck-Erkennungssystem eine Datenbank zum Speichern des Fingerabdruckbildes aufweist; der Schritt (507) des Anordnens der Vielzahl von Merkmalpunkten zu einer ersten Vielzahl von Untergruppen das Zuordnen von Merkmalpunkten zu jeder Untergruppe umfasst, sodass jede Untergruppe aus derselben vorbestimmten Anzahl von Merkmalpunkten besteht; der Schritt (515) des Erzeugens eines Schlüssels, der mindestens einer Untergruppe von Merkmalpunkten entspricht, das Berechnen eines Datenwertes (H) als eine Funktion von Parametern beinhaltet, welche der vorbestimmten Anzahl von Merkmalpunkten in der Untergruppe zugeordnet sind; und das Verfahren ferner umfasst: Erzeugen (515) eines Eintrags für die mindestens eine Untergruppe von Merkmalpunkten, der einen Kennzeichner umfasst, welcher das Fingerabdruckbild kennzeichnet, und Speichern (515) des Eintrags in der Datenbank, in der der Schlüssel dem Eintrag zugeordnet wird.
  10. Fingerabdruck-Erkennungssystem (100), bei dem eine Vielzahl von Fingerabdruckbildern in einer Datenbank (101) gemäß den Schritten eines der vorangehenden Ansprüche gespeichert wird, wobei das System eine durch eine Maschine (103) lesbare Programmspeichereinheit (108) zum Ausführen von Verfahrensschritten zum Feststellen der Ähnlichkeit zwischen einem Abfrage-Fingerabdruckbild und der Vielzahl in der Datenbank gespeicherter Fingerabdruckbilder umfasst, und wobei das Verfahren die folgenden Schritte umfasst: Identifizieren (1101) einer Vielzahl von Merkmalpunkten in dem Abfrage-Fingerabdruckbild, wobei die Merkmalpunkte von Singularitäten in Papillarlinien-Mustern in dem Abfrage-Fingerabdruckbild abgeleitet werden; Anordnen (1103) der Vielzahl von Merkmalpunkten in dem Abfrage-Fingerabdruckbild zu einer ersten Vielzahl von Untergruppen, wobei jede Untergruppe einer vorbestimmten Anzahl von Merkmalpunkten zugeordnet ist; für mindestens eine Untergruppe der ersten Vielzahl von Untergruppen von Merkmalpunkten, Erzeugen (1111) eines zweiten Schlüssels, der der mindestens einen Untergruppe von Merkmalpunkten entspricht, wobei der zweite Schlüssel das Abfrage-Fingerabdruckbild im Nahbereich der mindestens einen Untergruppe von Merkmalpunkten kennzeichnet, Abrufen (1117) von Einträgen aus dem Speicher, die einem ersten Schlüssel zugeordnet sind, welcher dem zweiten Schlüssel entspricht, und für mindestens einen aus dem Speicher abgerufenen Eintrag, Erzeugen (1119) von Daten, die eine angenommene Übereinstimmung zwischen dem Abfrage-Fingerabdruckbild und einem in der Datenbank gespeicherten Fingerabdruckbild darstellen, welches dem mindestens einen aus dem Speicher abgerufenen Eintrag entspricht, wobei die Daten einen Kennzeichner umfassen, der das in der Datenbank gespeicherte Fingerabdruckbild kennzeichnet, welches dem mindestens einen aus dem Speicher abgerufenen Eintrag entspricht, Ermitteln (1127) einer den Daten zugeordneten Bewertung, und Speichern (1133) der Daten und der Bewertung als ein Eintrag in einer Auswahltabelle.
DE69721951T 1996-12-13 1997-12-05 Verfahren und Gerät zum Fingerabdruckvergleich mit auf lokaler Merkmalübereinstimmung basierter Transformationsparametergruppenbildung Expired - Lifetime DE69721951T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US764949 1996-12-13
US08/764,949 US6041133A (en) 1996-12-13 1996-12-13 Method and apparatus for fingerprint matching using transformation parameter clustering based on local feature correspondences

Publications (2)

Publication Number Publication Date
DE69721951D1 DE69721951D1 (de) 2003-06-18
DE69721951T2 true DE69721951T2 (de) 2004-05-19

Family

ID=25072253

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69721951T Expired - Lifetime DE69721951T2 (de) 1996-12-13 1997-12-05 Verfahren und Gerät zum Fingerabdruckvergleich mit auf lokaler Merkmalübereinstimmung basierter Transformationsparametergruppenbildung

Country Status (3)

Country Link
US (1) US6041133A (de)
EP (1) EP0848346B1 (de)
DE (1) DE69721951T2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8036497B2 (en) * 2005-03-01 2011-10-11 Osaka Prefecture University Public Corporation Method, program and apparatus for storing document and/or image using invariant values calculated from feature points and method, program and apparatus for retrieving document based on stored document and/or image

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185318B1 (en) * 1997-08-22 2001-02-06 International Business Machines Corporation System and method for matching (fingerprint) images an aligned string-based representation
US7519558B2 (en) * 1997-08-27 2009-04-14 Ballard Claudio R Biometrically enabled private secure information repository
US6891972B2 (en) * 1997-12-19 2005-05-10 Canon Kabushiki Kaisha Communication system and control method thereof, and computer-readable memory
DE19936400A1 (de) * 1999-08-03 2001-03-01 Infineon Technologies Ag Verfahren zur biometrischen Erkennung
US7236617B1 (en) * 2000-04-13 2007-06-26 Nanyang Technological University Method and device for determining a total minutiae template from a plurality of partial minutiae templates
SG122737A1 (en) * 2000-06-14 2006-06-29 Univ Singapore Apparatus and method for compressing and decompressing fingerprint information
US6766040B1 (en) 2000-10-02 2004-07-20 Biometric Solutions, Llc System and method for capturing, enrolling and verifying a fingerprint
US6873743B2 (en) * 2001-03-29 2005-03-29 Fotonation Holdings, Llc Method and apparatus for the automatic real-time detection and correction of red-eye defects in batches of digital images or in handheld appliances
US6751348B2 (en) * 2001-03-29 2004-06-15 Fotonation Holdings, Llc Automated detection of pornographic images
US7046829B2 (en) * 2001-05-30 2006-05-16 International Business Machines Corporation Fingerprint verification
US7006673B2 (en) * 2001-07-25 2006-02-28 Activcard Ireland Limited Method of hash string extraction
US6941003B2 (en) * 2001-08-07 2005-09-06 Lockheed Martin Corporation Method of fast fingerprint search space partitioning and prescreening
WO2003042906A1 (en) * 2001-11-12 2003-05-22 Precise Biometrics Ab Method and device for matching fingerprints
US20030144800A1 (en) * 2001-12-31 2003-07-31 Lockheed Martin Corporation Methods and system for hazardous material early detection for use with mail and other objects
DE10251787A1 (de) * 2002-11-05 2004-05-19 Philips Intellectual Property & Standards Gmbh Verfahren, Vorrichtung und Computerprogramm zur Erfassung von Punktkorrespondenzen in Punktmengen
JP3952293B2 (ja) * 2003-01-06 2007-08-01 ソニー株式会社 指紋照合装置および方法、記録媒体、並びに、プログラム
US7356170B2 (en) 2004-02-12 2008-04-08 Lenovo (Singapore) Pte. Ltd. Fingerprint matching method and system
US7474769B1 (en) * 2004-09-14 2009-01-06 Unisys Corporation Bioindex mechanism for increasing the relative speed of biometric identification against large population samples
US7369700B2 (en) 2004-10-14 2008-05-06 The Secretary Of State For The Home Department Identifier comparison
WO2006040564A1 (en) 2004-10-14 2006-04-20 Forensic Science Service Ltd. Feature extraction and comparison in finger- and palmprint recognition
US20060088225A1 (en) 2004-10-26 2006-04-27 The Secretary Of State For The Home Department Comparison
US20060104484A1 (en) * 2004-11-16 2006-05-18 Bolle Rudolf M Fingerprint biometric machine representations based on triangles
AU2006212014A1 (en) * 2005-02-11 2006-08-17 Forensic Science Service Limited Improvements in and relating to identifier investigation
CN100385451C (zh) * 2005-08-11 2008-04-30 中国科学院自动化研究所 基于局部三角结构特征集的形变指纹识别方法
CN100412883C (zh) * 2006-03-23 2008-08-20 北京中控科技发展有限公司 指纹识别方法与系统
US7813531B2 (en) * 2006-05-01 2010-10-12 Unisys Corporation Methods and apparatus for clustering templates in non-metric similarity spaces
US20080181534A1 (en) * 2006-12-18 2008-07-31 Masanori Toyoda Image processing method, image processing apparatus, image reading apparatus, image forming apparatus and recording medium
US8788529B2 (en) * 2007-02-26 2014-07-22 Microsoft Corp. Information sharing between images
US7903883B2 (en) * 2007-03-30 2011-03-08 Microsoft Corporation Local bi-gram model for object recognition
EP2237226A4 (de) * 2007-12-26 2015-09-30 Nec Corp Merkmalkorrespondiereinrichtung zwischen strukturen, dafür verwendetes korrespondierverfahren für merkmale zwischen strukturen und programm dafür
US8411913B2 (en) * 2008-06-17 2013-04-02 The Hong Kong Polytechnic University Partial fingerprint recognition
US8233722B2 (en) * 2008-06-27 2012-07-31 Palo Alto Research Center Incorporated Method and system for finding a document image in a document collection using localized two-dimensional visual fingerprints
US8144947B2 (en) * 2008-06-27 2012-03-27 Palo Alto Research Center Incorporated System and method for finding a picture image in an image collection using localized two-dimensional visual fingerprints
US8233716B2 (en) * 2008-06-27 2012-07-31 Palo Alto Research Center Incorporated System and method for finding stable keypoints in a picture image using localized scale space properties
GB0819069D0 (en) 2008-10-17 2008-11-26 Forensic Science Service Ltd Improvements in and relating to methods and apparatus for comparison
US8548193B2 (en) * 2009-09-03 2013-10-01 Palo Alto Research Center Incorporated Method and apparatus for navigating an electronic magnifier over a target document
US8041956B1 (en) 2010-08-16 2011-10-18 Daon Holdings Limited Method and system for biometric authentication
US8520903B2 (en) * 2010-02-01 2013-08-27 Daon Holdings Limited Method and system of accounting for positional variability of biometric features
US9514103B2 (en) * 2010-02-05 2016-12-06 Palo Alto Research Center Incorporated Effective system and method for visual document comparison using localized two-dimensional visual fingerprints
US8086039B2 (en) * 2010-02-05 2011-12-27 Palo Alto Research Center Incorporated Fine-grained visual document fingerprinting for accurate document comparison and retrieval
US9020415B2 (en) 2010-05-04 2015-04-28 Project Oda, Inc. Bonus and experience enhancement system for receivers of broadcast media
US8554021B2 (en) 2010-10-19 2013-10-08 Palo Alto Research Center Incorporated Finding similar content in a mixed collection of presentation and rich document content using two-dimensional visual fingerprints
US8750624B2 (en) 2010-10-19 2014-06-10 Doron Kletter Detection of duplicate document content using two-dimensional visual fingerprinting
TWI599965B (zh) * 2011-02-01 2017-09-21 許文星 以分類三角形實現之高速指紋特徵比對系統及其方法
US11063920B2 (en) 2011-02-03 2021-07-13 mSignia, Inc. Cryptographic security functions based on anticipated changes in dynamic minutiae
US8817984B2 (en) 2011-02-03 2014-08-26 mSignia, Inc. Cryptographic security functions based on anticipated changes in dynamic minutiae
US10168413B2 (en) 2011-03-25 2019-01-01 T-Mobile Usa, Inc. Service enhancements using near field communication
US8634654B2 (en) 2011-04-15 2014-01-21 Yahoo! Inc. Logo or image recognition
JP2012234258A (ja) * 2011-04-28 2012-11-29 Sony Corp 画像処理装置と画像処理方法およびプログラム
US8732739B2 (en) 2011-07-18 2014-05-20 Viggle Inc. System and method for tracking and rewarding media and entertainment usage including substantially real time rewards
US9824199B2 (en) 2011-08-25 2017-11-21 T-Mobile Usa, Inc. Multi-factor profile and security fingerprint analysis
US9436780B2 (en) 2012-07-10 2016-09-06 Seiko Epson Corporation Constructing incremental tree model for vein image recognition and authentication
US8768049B2 (en) 2012-07-13 2014-07-01 Seiko Epson Corporation Small vein image recognition and authorization using constrained geometrical matching and weighted voting under generic tree model
US8914313B2 (en) 2012-07-18 2014-12-16 Seiko Epson Corporation Confidence based vein image recognition and authentication
US8867851B2 (en) 2012-12-12 2014-10-21 Seiko Epson Corporation Sparse coding based superpixel representation using hierarchical codebook constructing and indexing
US9832190B2 (en) 2014-06-29 2017-11-28 Microsoft Technology Licensing, Llc Managing user data for software services
US11151630B2 (en) 2014-07-07 2021-10-19 Verizon Media Inc. On-line product related recommendations
US9697233B2 (en) * 2014-08-12 2017-07-04 Paypal, Inc. Image processing and matching
EP3248360B1 (de) 2015-01-19 2020-05-06 Inauth, Inc. Systeme und verfahren für sichere kommunikation mit sicherem weg
US10528789B2 (en) 2015-02-27 2020-01-07 Idex Asa Dynamic match statistics in pattern matching
US9940502B2 (en) * 2015-02-27 2018-04-10 Idex Asa Pre-match prediction for pattern testing
US10157306B2 (en) 2015-02-27 2018-12-18 Idex Asa Curve matching and prequalification
US10826901B2 (en) 2015-11-25 2020-11-03 InAuth, Inc. Systems and method for cross-channel device binding
US10334062B2 (en) 2016-02-25 2019-06-25 InAuth, Inc. Systems and methods for recognizing a device
US9894063B2 (en) 2016-04-17 2018-02-13 International Business Machines Corporation Anonymizing biometric data for use in a security system
CN106056119A (zh) * 2016-05-24 2016-10-26 深圳市至高通信技术发展有限公司 指纹照片压缩传输的方法及系统
US11403563B2 (en) 2016-10-19 2022-08-02 Accertify, Inc. Systems and methods for facilitating recognition of a device and/or an instance of an app invoked on a device
JP6794766B2 (ja) * 2016-10-19 2020-12-02 日本電気株式会社 指紋処理装置、指紋処理方法、プログラム、指紋処理回路
US11093852B2 (en) 2016-10-19 2021-08-17 Accertify, Inc. Systems and methods for recognizing a device and/or an instance of an app invoked on a device
WO2019070363A1 (en) * 2017-10-05 2019-04-11 Liveramp, Inc. STATISTICAL CREATION OF DIGITAL FINGERPRINTS OF LARGE STRUCTURE DATA SETS
CN109858320B (zh) * 2018-11-27 2021-11-02 Oppo广东移动通信有限公司 指纹录入方法及相关设备
CN111797097B (zh) * 2020-06-30 2024-02-27 杭州密数科技有限公司 一种基于软硬件结合的方式实现安全范围查询的方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4151512A (en) * 1976-09-10 1979-04-24 Rockwell International Corporation Automatic pattern processing system
US4135147A (en) * 1976-09-10 1979-01-16 Rockwell International Corporation Minutiae pattern matcher
JPS6012674B2 (ja) * 1979-04-02 1985-04-02 日本電気株式会社 パタ−ン特徴抽出装置
EP0159037B1 (de) * 1984-04-18 1993-02-10 Nec Corporation Identifizierungssystem durch Prüfung von Fingerabdrücken
WO1987007058A1 (en) * 1986-05-07 1987-11-19 Brendan David Costello Method and apparatus for verifying identity
US4817183A (en) * 1986-06-16 1989-03-28 Sparrow Malcolm K Fingerprint recognition and retrieval system
US5073962A (en) * 1989-08-18 1991-12-17 International Business Machines Corporation Generalized neighborhoods parameter transform for image features extraction
US5140642A (en) * 1991-04-23 1992-08-18 Wen Hsing Hsu Method and device for allocating core points of finger prints
EP0514688A2 (de) * 1991-05-21 1992-11-25 International Business Machines Corporation Generalisierte Gestaltautokorrelation zur Ermittlung und Erkennung von Gestalt
HU212147B (en) * 1994-02-15 1996-06-28 Kfki Recoware Szamitastechnika Method for analysing patterns
US5631972A (en) * 1995-05-04 1997-05-20 Ferris; Stephen Hyperladder fingerprint matcher

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8036497B2 (en) * 2005-03-01 2011-10-11 Osaka Prefecture University Public Corporation Method, program and apparatus for storing document and/or image using invariant values calculated from feature points and method, program and apparatus for retrieving document based on stored document and/or image

Also Published As

Publication number Publication date
EP0848346A2 (de) 1998-06-17
EP0848346B1 (de) 2003-05-14
DE69721951D1 (de) 2003-06-18
EP0848346A3 (de) 1999-05-19
US6041133A (en) 2000-03-21

Similar Documents

Publication Publication Date Title
DE69721951T2 (de) Verfahren und Gerät zum Fingerabdruckvergleich mit auf lokaler Merkmalübereinstimmung basierter Transformationsparametergruppenbildung
Bay et al. Mining distance-based outliers in near linear time with randomization and a simple pruning rule
DE60210348T2 (de) Bildidentifizierungssystem
DE102016014798A1 (de) Genaues Vorhersagen einer Etikettrelevanz bei einer Bildabfrage
Grosky et al. Index-based object recognition in pictorial data management
Iqbal et al. Applying perceptual grouping to content-based image retrieval: Building images
DE102017011260A1 (de) Markieren großer Bilder unter Nutzung einer Bild-mit-Thema-Einbettung
DE60315658T2 (de) Fingerabdrucksverifikationsmethode und -system
Han et al. Handwritten signature retrieval and identification
DE102005032744A1 (de) Indexextraktion von Dokumenten
Fiel et al. Automated identification of tree species from images of the bark, leaves or needles
Chatzichristofis et al. Investigating the behavior of compact composite descriptors in early fusion, late fusion, and distributed image retrieval
DE102005032734A1 (de) Indexextraktion von Dokumenten
Super Retrieval from shape databases using chance probability functions and fixed correspondence
Alexandrov et al. Adaptive filtering and indexing for image databases
DE102013224331A1 (de) System und Verfahren zur Bereitstellung prädiktiver Anfragen
EP0886833B1 (de) Verfahren zur erfassung und speicherung gesichtsbezogener personendaten und deren verwendung zur identifizierung oder verifikation von personen
Messer et al. Choosing an Optimal Neural Network Size to aid a Search Through a Large Image Database.
Marinai et al. Tree clustering for layout-based document image retrieval
DE2732382A1 (de) Verfahren und einrichtung zum vergleichen und bestimmen von fingerabdruecken
DE10260638A1 (de) Verfahren zur Bestimmung einer Anzahl von übereinstimmenden Minutien zweier Fingerprints
DE112004002555T5 (de) Verfahren und System zum qualitätsbasierten Fingerabdruckabgleich
EP0996924B1 (de) Verfahren zur ermittlung eines identifikationscodes aus fingerabdruckbildern
DE10118485B4 (de) Automatische Identifikation und/oder Verifikation linienhafter Texturen wie Fingerabdrücke
EP1866833B1 (de) Verifizieren von fingerabdrücken

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8328 Change in the person/name/address of the agent

Representative=s name: DUSCHER, R., DIPL.-PHYS. DR.RER.NAT., PAT.-ANW., 7