-
HINTERGRUND
DER ERFINDUNG
-
Die
vorliegende Erfindung betrifft allgemein Bildidentifikationssysteme.
Insbesondere betrifft die vorliegende Erfindung Verfahren und Prozeduren
zur Verbesserung der Leistung und Verlässlichkeit von Bildidentifikationssystemen.
-
Bildidentifikationssysteme
wurden bereits in der Vergangenheit verwendet, wobei eine Anwendung
biometrische Bildidentifikationssysteme sind. Eine Art biometrischer
Bildidentifikationssysteme ist ein Fingerabdruck-Identifikationssystem.
In einem Fingerabdruck-Identifikationssystem platziert ein Anwender
eine Fingerspitze auf einer Scan-Oberfläche einer Fingerabdruck-Bildlesevorrichtung.
Jede Papillarlinie der Epidermis (äußerste Hautschicht) weist Schweißtröpfchen auf,
welche Feuchtigkeit erzeugen, die in Kombination mit öligen Ausscheidungen
und anderen natürlicherweise
auf einer Fingerspitze vorhandenen Substanzen ein Scannen eines
Bildes eines Fingerabdrucks erlauben. (Die vorliegende Erfindung
kann ebenfalls erfolgreich auf Bilder angewendet werden, welche
von Leservorrichtungen erzeugt werden, die sich nicht auf den Feuchtigkeitsgehalt
der Haut verlassen, um ein Bild aufzunehmen.) Die Fingerabdruck-Bildlesevorrichtung
erzeugt ein gescanntes Bild durch Aufnahme eines Bildes der charakteristischen
Eigenschaften der Papillarlinien eines Fingerabdrucks, welche auf
der Spitze eines Fingers vorhanden sind. In vielen Systemen wird
das Bild dann mit einer Datenbank anderer gespeicherter Fingerabdruckbilder
oder Fingerabdruck-Bildmuster zum Zweck der Überprüfung, Authentifizierung oder
einer anderen Form der Analyse verglichen.
-
Sicherheitssysteme,
welche Fingerabdruck-Identifizierungstechnik verwenden, haben das
Potential, verlässlich
und einfach zu verwenden zu sein. Diese Vorteile ergeben sich aus
der Tatsache, dass die Technik es nicht erfordert, dass ein Systemanwender
das geringste Wissen, wie beispielsweise ein Passwort, eine persönliche Identifikationsnummer,
eine Kombination oder eine andere Art von Code, behält. Auch
muss ein Anwender keine Karte, keinen Schlüssel und keine andere physische
Vorrichtung besitzen, um Zugang zu einer gesicherten Umgebung zu
erhalten. Ein Fingerabdruck-Sicherheits-Berechtigungsschlüssel ist
im Gegensatz zu einem kenntnis oder besitzbasierten Sicherheits-Berechtigungsschlüssel fast
unmöglich
zu verlieren, stehlen oder vergessen.
-
Ein
Artikel von Ratha et al. ("A
Real-Time Matching System for Large Fingerprint Databases", IEEE Transactions
on Pattern Analysis and Machine Intelligence, Bd. 18, Nr. 2, 1986,
Seiten 799–812
(des englischen Textes]) offenbart ein automatisiertes Fingerabdruck-Identifikationssystem,
welches Kern- und Deltapunkte verwendet, um die Papillarliniendichte
und minutiöse
Punkte in einem Fingerabdruck zu bestimmen. Die Information wird
in einem Eins-zu-Eins-Abgleich eines Fingerabdrucks mit den in einer
Datenbank gespeicherten verwendet.
-
Die
Entwicklung praktischer Sicherheitssystemanwendungen, welche Fingerabdruck-Bildidentifikationstechnik
verwenden, wurde durch eine allgemeine Nicht-Wiederholgenauigkeit
von Daten eines Bildscans mit einem anderen behindert. Insbesondere
können
phy sikalische Variationen, welche in der Umgebung einer Fingerabdruck-Lesevorrichtung
vorhanden sind, wesentliche Inkongruenzen eines Bildscans eines
Fingerabdrucks im Vergleich zu einem nachfolgend aufgenommenen Bildscan
desselben Fingerabdrucks verursachen.
-
Differenzen
in Temperatur, der Menge an auf die Scanoberfläche aufgebrachtem Druck, Feuchtigkeitsgehalt
des Fingers, sowie die Auswirkungen von Medikamenteneinnahme und
Unterschiede im Blutdruck können
zu wesentlichen Inkongruenzen zwischen einem Bildscan und einem
anderen beitragen. Diese nicht deckungsgleichen Ergebnisse verhindern
die Entwicklung der meisten Fingerabdruck-Identifikationstechnik-Anwendungen,
da widersprüchliche
Daten zu einer inakzeptabel hohen Anzahl falscher Akzeptanzen (Vielfachidentifikationen,
welche eine Übereinstimmung
mit falschen Personen einschließen)
und falscher Zurückweisungen
(Nichterkennung eines eingetragenen Anwenders) für Anwendungen führen, welche
sofortige und unüberwachte
Vergleiche zwischen einem gescannten Fingerabdruck-Bild und einer
Datenbank mit Fingerabdruck-Bildern oder Fingerabdruck-Mustern erfordern
können.
Ein weiteres Problem im Zusammenhang mit vielen Bildidentifikationssystemen
ist die geringe Datenmenge, welche durch das typische System von
jedem Bild gesammelt wird. Beispielsweise sind die meisten Fingerabdruck-Identifikationssysteme
minutienbasiert, was typischerweise bedeutet, dass nur Erhöhungen,
Inseln und Gabelungen katalogisiert und für die Analyse verfügbar gemacht
werden. Ein idealer durch ein minutienbasiertes System durchgeführter Bildscan
sammelt typischerweise maximal ca. 50 nützliche Datenpunkte, und diese
Zahl kann durch Datenpunkte, welche möglicherweise aufgrund der vorstehend
beschriebenen Interferenz in der Umgebung des Bildlesers nicht auftreten,
weiter verringert werden. Die Unterscheidungsfähigkeit des typischen minutienbasierten
Identifikationssystems ist nicht ausreichend für Anwendungen, welche sofortige
und exakte Vergleiche zwischen einem gescannten Echtzeitbild und
einer Datenbank potentiell passender Bilder oder Muster erfordern.
Zusätzlich
sind Systeme, welche nur eine geringe Anzahl nützlicher Datenpunkte sammeln,
anfälliger
für betrügerisch
erzeugte Fingerabdruck-Fälschungen.
-
Noch
ein weiteres Problem im Zusammenhang mit den durchschnittlichen
Bildidentifikationssystemen ist, dass sie sich als ineffizientes
Modell zur Durchführung
von Vergleichen zwischen einem gescannten Echtzeitbild und einer
Datenbank potentiell passender Bilder oder Muster erweisen. Die
meisten Systeme vergleichen das gescannte Echtzeitbild oder -muster,
welches von diesem Scan abgeleitet wird, mit jedem der in einer Bild-
oder Musterdatenbank enthaltenen Bilder oder Muster auf einer Eins-zu-Eins-Basis, bis ein passendes Paar
ermittelt wird. Je nach Größe der Datenbank
kann die zur Ermittlung eines passenden Paares erforderliche Zeit
beträchtlich
sein.
-
Aufgrund
dieser klassischen Beschränkungen
der Bildidentifikationstechnik waren Bildidentifikations-Anwendungen
typischerweise auf die Verwendung in Niedrigsicherheits- und/oder überwachten
Umgebungen verwendet, in welchen eine schnelle Verarbeitung keine
Priorität
hat. Beispielsweise arbeiten viele Gesetzeshütungsagenturen, welche gegenwärtig Fingerabdruck-Identifikationssysteme
verwenden, innerhalb der Beschränkungen
minutienbasierten Abgleichs. Ein minutienbasiertes System kann in
einer derartigen Umgebung geeignet sein, wo ein Experte für Fingerabdrücke verfügbar sein
kann, um die nötige
Zeit aufzubringen, um das System zu überwachen und in Fällen von
Mehrfach-Übereinstimmung
mit einer Online-Datenbank als Vermittler tätig zu werden.
-
Minutienbasierte
Systeme und andere traditionelle Fingerabdruck-Identifikationssysteme
sind nicht für unüberwachte
Massenmarktanwendungen geeignet, wie beispielsweise für Bankautomaten,
welche ein Fingerabdruck-Identifikationssystem beinhalten und es
erfordern, dass ein Anwender einen gültigen Scan eines Fingerabdrucks
abgibt, wenn er eine Bankkarte zur Durchführung eines Geldtransfers verwendet.
Auch sind die traditionellen Systeme ungeeignet für Berechtigungssysteme,
welche zur selektiven und sofortigen Gewährung von Zugang zu Orten und
Vorrichtungen, wie beispielsweise Computern, Computernetzwerken, Örtlichkeiten,
Fahrzeugen und Einrichtungen basierend auf dem Erhalt eines authorisierten
Bildes entworfen sind. Eine effiziente und effektive Funktionalität dieser
Arten von Anwendungen hängen
von einem Niveau schneller und präziser Analyse ab, welches durch
das traditionellen Fingerabdruck-Bildidentifikationssystem nicht
durchgängig
erreicht werden kann.
-
Ein
weiterer Vorteil im Zusammenhang mit einem Berechtigungssystem,
welches eine Bildidentifkation beinhaltet, besteht darin, dass ein
derartiges System einstellbar ist, d.h. das Unterscheidungsniveau
oder die Abgleichungserfordernisse während eines Bildvergleichs
können
basierend auf der Art der zu sichernden Umgebung und dem erwünschten
damit zusammenhängenden
Sicherheitsniveau angepasst werden. Aufgrund von Nachteilen wie
der Nicht-Wiederholgenauigkeit von Daten, falschen Übereinstimmungs-Akzeptanzen
und falschen Übereinstimmungs-Ablehnungen
sind der Bereich und die Anzahl von Niveaus, innerhalb welcher ein traditionelles
Bildidentifikationssystem eingestellt werden kann, eng beschränkt. Ein
derartiges System kann möglicherweise überhaupt
nicht einstellbar sein. Selbst das höchste Unterscheidungsniveau
in einem traditionellen System liefert eine im wesentlichen beschränkte Unterscheidungsmenge.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Verfahren
und Prozeduren zur Verbesserung der Leistung und Zuverlässigkeit
der Bildanalyse innerhalb eines Bildidentifikationssystems weisen
eine Reihe von Bildqualifikationsfunktionen auf, welche zur schnellen
Verarbeitung eines Bruchteils verfügbarer gescannter Bilddaten
und Lieferung von Feedback an einen Systemnutzer bezüglich der
Bildqualität
und Authentizität
ausgelegt sind. In einer Ausführungsform
wird die Bildverarbeitung unterbrochen, falls eine Bildqualifikation
zu der Schlussfolgerung führt,
dass das gescannte Bild gefälscht
oder von unzureichender Qualität
ist.
-
Ebenfalls
in der vorliegenden Erfindung enthalten sind Funktionen, die dazu
ausgelegt sind, Bildmuster basierend auf ursprünglichen Bilddaten zu erzeugen
und derartige Bildmuster in einer durchsuchbaren Datenbank zu katalogisieren.
In Übereinstimmung
mit einer Ausführungsform
umfasst die Erzeugung eines Bildmusters die Analyse und Manipulation
von Bilddaten, welche von einem Bildleser empfangen werden, sowie neuen
von dort stammenden Datensätzen.
In einer durchsuchbaren Datenbank eingetragene Bildmuster können in Übereinstimmung
mit einer Ausführungsform
der vorliegenden Erfindung entweder von einem einzigen Scan eines
Objekts oder von zwei oder mehr Scans desselben Objekts abgeleitet
werden.
-
Die
vorliegende Erfindung weist auch Funktionen zum Vergleich eines
Bildmusters mit einem anderen auf. In Übereinstimmung mit einer Ausführungsform
werden eine Reihe von Schiebe- und Rotations-Algorithmen auf mindestens
eines der Bildmuster angewendet, bis eine Position identifiziert
wird, an welcher die beiden Muster sich am besten vergleichen. Eine
Marke, welche eine Beziehung oder einen Prozentsatz von Datenelementen
darstellt, die zwischen den beiden Bildmustern gemeinsam sind, wird
berechnet. In Übereinstimmung
mit einer Ausführungsform
ist der Ähnlichkeitsgrad,
welcher nötig
ist, damit zwei Bildmuster als übereinstimmend
betrachtet werden, einstellbar.
-
Schließlich liefert
die vorliegende Erfindung Funktionen zur Erstellung einer schnellen
Bestimmung, ob überhaupt
eines von potentiell tausenden (oder mehr, d.h. Millionen oder hunderten
von Millionen) von Bildmustern in einer durchsuchbaren Datenbank
ein erwünschtes Ähnlichkeitsniveau
im Vergleich mit einem Ziel-Bildmuster aufweist. In Übereinstimmung
mit einer Ausführungsform
wird anstelle des spezifischen Vergleichs von Bildmustern ein Satz
von Datenbank-Indexschlüsseln
definiert, welche unterschiedliche Bildmustereigenschaften beschreiben,
die definiert sind und die Durchführung allgemeiner anstelle
spezifischer Vergleiche erlaubt. In Übereinstimmung mit einer Ausführungsform
können
Unterscheidungsniveaus eingestellt werden.
-
Aus
einem ersten Aspekt liegt die vorliegende Erfindung in einem Verfahren
zum effizienten und präzisen
Vergleich eines ersten Bildes mit einer Vielzahl anderer Bilder
gemäß Anspruch
1.
-
Aus
einem zweiten Aspekt liegt die vorliegende Erfindung in einem Verfahren
gemäß Anspruch
7.
-
Andere
bevorzugte Merkmale der Erfindung sind in den beiliegenden Ansprüchen ausgeführt.
-
KURZBESCHREIBUNG
DER ZEICHNUNGEN
-
1 ist
ein Blockdiagramm eines Fingerabdruck-Bilderzeugungssystems;
-
2 ist
ein Ablaufdiagramm, welches Operationen darstellt, die innerhalb
des erfindungsgemäßen Fingerabdruck-Bilderzeugungssystems
auszuführen
sind;
-
3 ist
eine Piktogrammdarstellung eines beispielhaften Satzes von Bildscan-Parametern;
-
4 ist
ein Blockdiagramm, welches einen Satz von Prozedurkomponenten entsprechend
eines Bildqualifikationsabschnitts der in 2 gezeigten
Operationen darstellt;
-
5 ist
eine Darstellung eines rohen Scanbildes;
-
6 ist
eine Darstellung eines Zwischenbildes, welches in Übereinstimmung
mit einem Vorverarbeitungsabschnitt der in 4 gezeigten
Operationen erzeugt wird;
-
7 ist
eine Darstellung eines monochromen Bildes, welches in Übereinstimmung
mit dem Vorverarbeitungsabschnitt der in 4 gezeigten
Operationen erzeugt wird;
-
8A ist eine Darstellung eines monochromen
Hildes, welches von einer Mylar-Filmquelle unter Verwendung einer
LED-Lichtquelle
innerhalb eines Bildlesers abgeleitet wird;
-
8B ist eine Darstellung eines monochromen
Bildes, welches von einer Papierquelle unter Verwendung einer LED-Lichtquelle
innerhalb eines Bildlesers abgeleitet wird;
-
8C ist eine Darstellung eines monochromen
Bildes, welches von einer lebenden Fingerquelle unter Verwendung
einer LED-Lichtquelle innerhalb eines Bildlesers abgeleitet wird;
-
9A ist eine Darstellung eines monochromen
Bildes, welches von einer Mylar-Filmquelle unter Verwendung einer
Infrarot-Lichtquelle innerhalb eines Bildlesers abgeleitet wird;
-
9B ist eine Darstellung eines monochromen
Bildes, welches von einer Papierquelle unter Verwendung einer Infrarot-Lichtquelle innerhalb
eines Bildlesers abgeleitet wird;
-
9C ist eine Darstellung eines monochromen
Bildes, welches von einer lebenden Fingerquelle unter Verwendung
einer Infrarot-Lichtquelle innerhalb eines Bildlesers abgeleitet
wird;
-
10 ist eine Darstellung eines monochromen Bildes
nachdem eine Konturspur in Übereinstimmung mit
einem Steigungstabellen-Erzeugungsabschnitt der in 4 gezeigten
Operationen abgeschlossen wurde;
-
11 ist eine Darstellung eines monochromen Bildes
mit einer auf einer Steigungstabelle basierten Steigungsschablone,
wobei die Steigungstabelle in Übereinstimmung
mit dem Steigungstabellen-Erzeugungsabschnitt der in 4 gezeigten
Operationen abgeschlossen wurde;
-
12 ist eine Darstellung eines Histogramms, welches
in Übereinstimmung
mit einem Histogramm-Erzeugungsabschnitt der in 4 gezeigten
Operationen abgeschlossen wurde;
-
13 ist eine Darstellung des Histogramms, welches über einem
Rohscanbild liegt, von dem das Histogramm abgeleitet wurde;
-
14 ist eine Darstellung einer Zelle des Histogramms;
-
15 ist ein Blockdiagramm, welches einen Satz von
Prozedurkomponenten entsprechend einem Mustererzeugungsabschnitt
der in 2 gezeigten Operationen darstellt;
-
16 ist ein Blockdiagramm, welches einen Satz von
Prozedurkomponenten entsprechend einem Vorverarbeitungsabschnitt
der in 15 gezeigten Operationen darstellt;
-
17 ist eine Darstellung eines korrigierten Rohscanbildes;
-
18 ist eine Darstellung eines Zwischenbildes,
welches in Übereinstimmung
mit einem Vorverarbeitungsabschnitt der in 15 gezeigten
Operationen darstellt;
-
19 ist eine Darstellung eines vergrößerten Bildes;
-
20 ist eine Darstellung eines monochromen Hildes,
welches in Übereinstimmung
mit einem Vorverarbeitungsabschnitt der in 15 gezeigten
Operationen erzeugt wurde;
-
21 ist eine Darstellung eines monochromen Bildes,
nachdem Unregelmäßigkeiten
in dem Bild geortet und ausgefüllt
wurden;
-
22 ist eine Darstellung eines ausgefüllten monochromen
Bildes;
-
23 ist eine Darstellung eines geglätteten und
ausgefüllten
monochromen Bildes;
-
24 ist eine Piktogramm-Darstellung eines alternativen
Satzes beispielhafter Bildscan-Parameter;
-
25 ist eine Darstellung eines monochromen Bildes,
nachdem eine Konturenspur in Übereinstimmung
mit einem Steigungstabellen-Erzeugungsabschnitt der in 15 gezeigten Operationen abgeschlossen wurde;
-
26 ist eine Darstellung eines monochromen Bildes
mit einer auf einer Steigungstabelle basierten Steigungsschablone,
wobei die Steigungstabelle in Übereinstimmung
mit dem SteigungstabellenErzeugungsabschnitt der in 15 gezeigten Operationen abgeschlossen wurde;
-
27 ist eine Blockdiagramm, welches einen Satz
von Prozedurkomponenten entsprechend einem Drahtrahmen-Erzeugungsabschnitt
der in 15 gezeigten Operationen darstellt;
-
28 ist eine Darstellung eines monochromen Bildes
nach einer ersten Entfernung von Pixeln von Bildpapillarlinien;
-
29 ist eine Darstellung eines monochromen Bildes
mit einer umfassenden Darstellung von Pixelentfernungs-Durchgängen, welche
während
der Ausdünnung
des monochromen Bildes auf die zentralsten Papillarlinien-Pixel
erfolgt sind;
-
30 ist eine Darstellung von 29, welche weiter eine Schablone eines verdünnten monochromen
Bildes mit rohen Drahtrahmenlinien aufweist;
-
31 ist eine Darstellung eines verdünnten monochromen
Bildes mit rohen Drahtrahmenlinien;
-
32 ist eine Darstellung eines verdünnten monochromen
Bildes, nachdem überschüssige Pixel
von den rohen Drahtrahmenlinien entfernt wurden;
-
33 ist eine Darstellung der Beziehung zwischen
einem verdünnten
monochromen Bildes, nachdem überschüssige Pixel
entfernt wurden, und einem entsprechenden monochromen Bild;
-
34 ist eine Darstellung eines verdünnten monochromen
Bildes, wobei die überschüssigen Pixel entfernt
wurden, welches eine Darstellung von Daten aus einer Endpunkttabelle
enthält;
-
35 ist eine Darstellung eines verdünnten monochromen
Bildes, wobei die überschüssigen Pixel entfernt
wurden, welches eine Darstellung von Daten aus einer Mittelpunkttabelle
enthält;
-
36 ist eine Darstellung eines verfeinerten Satzes
von Drahtrahmenlinien;
-
37 ist eine Darstellung, welche die Beziehung
zwischen dem verfeinerten Satz von Drahtrahmenlinien und einem entsprechenden
monochromen Bild zeigt;
-
38 ist eine Darstellung, welche die Beziehung
zwischen einem weiter verfeinerten Satz von Drahtrahmenlinien, einschließlich fester
Endpunkte, und einem entsprechenden monochromen Bild zeigt;
-
39 ist eine Darstellung, welche die Beziehung
zwischen dem weiter verfeinerten Satz von Drahtrahmenlinien, einschließlich fester
und verbundener Endpunkte, und einem entsprechenden monochromen Bild
zeigt;
-
40 ist eine graphische Darstellung eines Fingerabdruck-Gabelungsbildelementes;
-
41 ist eine graphische Darstellung eines Fingerabdruck-Erhöhungsbildelementes;
-
42 ist eine Darstellung eines Drahtrahmen-Fingerabdruckbildes,
in welchem qualifizierte Gabelungen und Erhöhungen eingekreist wurden;
-
43 ist eine Darstellung des Drahtrahmen-Fingerabdruckbildes,
in welchem qualifizierte Gabelungen und Erhöhungen eingekreist und Vektorsegmente
verfolgt wurden;
-
44 ist ein Blockdiagramm, welches einen Satz von
Prozedurkomponenten darstellt, der mit einem Eins-zu-Eins-Bildvergleichsprozess
zusammenhängt;
-
45 ist ein Blockdiagramm, welches einen
Satz von Prozedurkomponenten darstellt, der mit einem Eins-zu-Viele-Datenbank-Bildvergleichsprozess
zusammenhängt.
-
AUSFÜHRLICHE
BESCHREIBUNG BEISPIELHAFTER AUSFÜHRUNGSFORMEN
-
Die
vorliegende Erfindung betrifft Verfahren und Prozeduren zur Verbesserung
der Leistung und Verlässlichkeit
von Bildidentifikationssystemen im Allgemeinen. Die erfindungsgemäßen Konzepte
könnten
innerhalb von Systemen angewandt werden, welche zum Betrieb in Verbindung
mit einer großen
Vielfalt an Bildtypen ausgelegt sind, einschließlich Nummernschildbildern,
graphischen Bildern und textbasierten Bildern, jedoch nicht auf
diese beschränkt.
Zusätzlich
stellt die vorliegende Erfindung Verfahren und Prozeduren bereit, welche
im Speziellen geeignet zur Verbesserung der Leistung und Verlässlichkeit
insbesondere von Fingerabdruck-Identifikationssystemen sind. Während der
Rest der ausführlichen
Beschreibung die vorliegende Erfindung mit Bezug auf Fingerabdruck-Bildidentifikationssysteme
beschreibt, sollte sich verstehen, dass die Konzepte der vorliegenden
Erfindung ebenso innerhalb anderer Arten von Bildidentifikationssystemen
angewendet werden könnten.
-
1 ist
ein Blockdiagramm eines Fingerabdruck-Bilderzeugungssystems 10,
innerhalb welchem die Verfahren und Prozeduren der vorliegenden
Erfindung angewendet werden könnten.
Das Bilderzeugungssystem 10 weist einen Leserabschnitt 12,
eine Bildanalyse-/-verarbeitungsvorrichtung 14 und eine
durchsuchbare Datenbank 16 auf, welche weiter einen Ausgang 15 einschießt. Der
Leserabschnitt 12 könnte
ein beliebiger aus einer Vielzahl bekannter Systeme sein, welcher
in der Lage ist, ein Bild eines Fingerabdrucks zu scannen und zu
dem Bild gehörige
Daten zu einer Bildanalysevorrichtung, wie beispielsweise der Bildanalyse-/-verarbeitungsvorrichtung 14,
zu übertragen.
-
In
vielen Fällen
weist der Leserabschnitt 12 eine optische Vorrichtung auf,
welche eine reflektierende Vorderseite umfasst, die dazu ausgelegt
ist, den abzubildenden Finger aufzunehmen. Licht wird in die optische Vorrichtung
durch einen Lichtstrahler eingegeben, und ein optisches Bild des
Fingers wird aus der optischen Vorrichtung an einen Bilderzeuger
reflektiert, welcher das Bild empfängt und ein analoges Bildsignal
erzeugt, das das empfangene optische Signal anzeigt. In vielen Systemen
wird das analoge Signal dann zu einem herkömmlichen Analog-Digital-Wandler übertragen,
welcher eine digitale Entsprechung des analogen Signals erzeugt.
Das digitale Signal wird zu einem digitalisierten Bild reformatiert,
welches gespeichert werden kann, und in Übereinstimmung mit einer Ausführungsform
der vorliegenden Erfindung manipuliert. Schließlich wird das digitalisierte
Bild aus dem Leserabschnitt heraus zu einer Bildanalyse-/-verarbeitungsvorrichtung 14 übertragen.
Die Bildanalyse-/-verarbeitungsvorrichtung 14 unterscheidet
sich je nach Anwendung, analysiert jedoch im Allgemeinen die empfangenen
Bilddaten für
eine große
Vielfalt an Zwecken und Anwendungen.
-
Wie
nachfolgend noch ausführlich
beschrieben wird, kann die Bildanalyse-/-verarbeitungsvorrichtung 14 ein
Bildmuster basierend auf den speziellen Merkmalen und Eigenschaften
jedes von dem Leserabschnitt 12 empfangenen Bildes erzeugen.
Diese Bildmuster sind mehr als Faksimiles ihrer zugeordneten Fingerabdruck-Bilder
und weisen eine einzigartige Vielzahl von Datenelementen auf, welche
analytische Möglichkeiten liefern,
die ein Teil der vorliegenden Erfindung sind.
-
In
einem allgemeinen Sinn der vorligenden Erfindung kann angenommen
werden, dass die Bildanalyse-/-verarbeitungsvorrichtung 14 Datenelemente
eines Bildmusters mit Datenelmenten mindestens eines anderen Bildmusters,
welches innerhalb der durchsuchbaren Datenbank 16 gespeichert
ist, vergleicht. Die in der Datenbank 16 enthaltenen Bildmuster
entsprechen im Voraus erhaltenen gescannten Bildern, während das
im Moment verglichene Bildmuster typischerweise einem gegenwärtig gescannten
Bild entspricht. Das Fingerabdruck-Bilderzeugungssystem 10 ist
durch den Einbau dieses Verfahrens in der Lage, schnell und effizient
zu bestimmen, ob das dem gegenwärtig
gescannten Fingerabdruck entsprechende Bildmuster im Wesentlichen einem
Beliebigen der innerhalb der durchsuchbaren Datenbank 16 enthaltenen
Bildmuster ähnelt.
Wie nachfolgend noch ausführlicher
beschrieben, erfordert das System 10 einen bestimmten Grad
an Ähnlichkeit,
damit eine Übereinstimmung
angezeigt wird. In Übereinstimmung
mit einer Ausführungsform
ist der erforderliche Grad an Ähnlichkeit
anpassbar und kann basierend auf der Art der Umgebung, für welche
das System 10 Sicherheit liefern soll, eingestellt werden.
Auf diese Weise liefert das Fingerabdruck-Bilderzeugungssystem 10 ein
effizientes und präzises
Fingerabdruck-Bildidentifkationssystem, welches beispielsweise als
Sicherheitsmaßnahme
zur Bestimmung verwendet werden kann, ob die Person, die einen Finger
auf dem Leserabschnitt 12 platziert, zum Betreten eines
Raums, zum Zugang zu einem Bankkonto oder zur Ergreifung einer weiteren beliebigen
Vielfalt von Aktionen berechtigt werden sollte.
-
Wie
in 1 gezeigt, weist die durchsuchbare Datenbank 16 einen
Ausgang 15 auf. Die genaue Art von Ausgang 15 hängt von
dem Kontext ab, in welchem das Bilderzeugungssystem 10 verwendet
werden soll. Beispielsweise könnte
der Ausgang 15 ein Identifikations-Indikator eines in der
durchsuchbaren Datenbank 16 enthaltenen Bildes sein, welches
im Wesentlichen mit dem durch den Leserabschnitt 12 gescannten
Bild übereinstimmt.
Dies ist lediglich ein Beispiel der vielen potentiellen Formen des
Ausgangs 15.
-
2 ist
ein Ablaufdiagramm, welches Operationen darstellt, die innerhalb
des Systems 10, insbesondere innerhalb der Analyse-/Verarbeitungsvorrichtung 14 ausgeführt werden.
Der Prozess beginnt, wenn die Bildanalyse-/-verarbeitungsvorrichtung 14 Bilddaten
von dem Leserabschnitt 12 empfängt. Nach dem Empfang von Bilddaten
führt die
Bildanalyse-/-verarbeitungsvorrichtung 14 zunächst, wie
durch Block 18 in 2 dargestellt,
eine Reihe von Bildqualifikationsfunktionen durch.
-
Einzelheiten
zur Bildqualifikation 18 werden mit Bezug auf 4 noch
ausführlicher
beschrieben. Kurz gesagt umfasst die Bildqualifikation 18 eine
schnelle Verarbeitung eines Bruchteils der verfügbaren Bilddaten, um sicherzustellen,
dass das empfangene Bild ein Scan eines echten Fingerabdrucks (im
Gegensatz zu einem gefälschten
Fingerabdruck) ist und eine ausreichende Qualität aufweist, um mit der Verarbeitung
fortzufahren. Führt
der Bildqualifikationsprozess zu der Schlussfolgerung, dass das
gescannte Bild gefälscht
oder von unzureichender Qualität
ist, so kann die Verarbeitung des Bilds angehalten oder unterbrochen
werden. In einem derartigen Fall wird dem Systemanwender das Feedback
geliefert, welches identifizierten Unzulänglichkeiten zugehörig ist,
und eine Fortsetzung des Prozesses wird nur dann zugelassen, wenn
die Unzulänglichkeiten korrigiert
wurden. Nur ein Bruchteil von verfügbaren Bilddaten wird während der
Bildqualifikation 18 verarbeitet, um die Verarbeitung zu
beschleunigen und es zu ermöglichen,
dass Feedback an einen Systemanwender im Wesentlichen auf Echtzeitbasis
geliefert wird.
-
Wenn
das Bild qualifiziert ist, ist der nächste Schritt, wie durch Block 20 in 2 angezeigt,
die Schaffung eines Bildmusters. Die Mustererzeugung 20 wird
ausführlicher
mit Bezug auf 15 beschrieben. Kurz gesagt
umfasst die Mustererzeugung 20 die Analyse und Manipulation
von Bilddaten, welche von dem Leserabschnitt 12 empfangen
wurden, sowie neuen von dort stammenden Datensätzen, bis ein Bildmuster erzeugt wurde.
Aufgrund eines erhöhten
Bedarfs an Genauigkeit sind die während der Mustererzeugung 20 verarbeiteten
Bilddaten ein kompletter Bilddatensatz im Gegensatz zu dem Bruchteil-Satz,
der während
der Bildqualifikation 18 verarbeitet wird. Während die
Prozedur zur Schaffung und die Zusammensetzung eines Bildmusters
nachfolgend ausführlicher
beschrieben wird, sollte betont werden, dass ein Bildmuster eine
Sammlung von Daten basierend auf dem ursprünglichen Druckbild ist, und
kein Faksimile des ursprünglichen
Druckbildes ist.
-
Nachdem
ein Bildmuster erzeugt wurde, kann das Bildmuster für einen
oder zwei Zwecke verwendet werden. Der erste ist, wie in 2 angezeigt,
die Mustereintragung 22. Die Mustereintragung 22 ist
der Prozess, mit welchem Bildmuster in die durchsuchbare Datenbank 16 eingetragen
und darin katalogisiert werden. Die in der Datenbank 16 eingetragenen
Bildmuster können
entweder entweder von einem einzigen Scan eines Fingerabdruckbildes
oder aber von zwei oder mehr Scans desselben Fingerabdruckbildes
abgeleitet sein. Wenn zwei oder mehr Scans verwendet werden, um
ein Bildmuster zu erzeugen, werden widerspruchsfreie Musterelemente,
welche sich von Scan zu Scan zeigen, in dem Bildmuster vermerkt.
Widersprüchliche
Musterelemente, beispielsweise Diskrepanzen in den Bilddaten, welche
das Ergebnis vorstehend erwähnter
Variationen in der Umgebung des Lesers sind, werden eliminiert.
-
Wenn
zwei oder mehr Scans während
der Mustereintragung 22 verwendet werden, kann der Finger nach
jedem Scan vom Leserabschnitt 12 entfernt werden und wird
dann anschließend
erneut platziert, bevor der nächste
Scan vorgenommen wird.
-
Eine
wesentliche Zeitdauer kann zwischen Scans vergehen. Da Umgebungsfaktoren,
wie beispielsweise Fingerdruck, Fingerfeuchtigkeit und Fingerpositionierung
sich von Scan zu Scan unterscheiden können, erhöht die Entfernung des Fingers
vom Leserabschnitt 12 zwischen Scans die Wahrscheinlichkeit,
dass Umgebungs-Ungleichmäßigkeiten
eliminiert werden, wenn sie sich nicht in jedem einzelnen Scan zeigen.
-
Wie
durch Block 24 in 2 angezeigt,
kann der andere Zweck, für
welchen ein Bildmuster verwendet werden kann, der Mustervergleich 24.
Der Mustervergleich 24 wird nachfolgend ausführlicher
beschrieben. Kurz gesagt ist der Mustervergleich 24 ein
Prozess, welcher verwendet werden kann, um ein Bildmuster mit einem
anderen zu vergleichen. Der Mustervergleich 24 wird zur
Anwendung einer Reihe von Schiebe- und Rotationsalgorithmen auf
mindestens eines der Bildmuster erzielt, bis eine Position identifiziert
wird, in welcher die Muster am besten verglichen werden können. Dann
wird eine Marke berechnet, welche eine Beziehung oder einen Prozentsatz
von Datenelementen darstellt, die zwischen den beiden Bildmodellen
gemeinsam sind.
-
Wie
durch Block 26 in 2 angezeigt,
könnte
eine Datenbanksuche 26 anstelle von oder in Kombination
mit dem Mustervergleich 24 durchgeführt werden. Die Datenbanksuche 26 wird
nachfolgend ausführlicher
beschrieben. Kurz gesagt beinhaltet die Datenbanksuche 26 eine
schnelle und effiziente Bestimmung, welche – falls überhaupt eines – von potentiell
tausenden oder sogar Millionen von Bildmustern innerhalb der Datenbank 16 einen
erwünschten
Grad an Ähnlichkeit
im Vergleich mit einem Ziel-Bildmuster aufweisen. Das Zielbild kann
ein Bildmuster sein, welches mit einem gegenwärtig gescannten Bild in Zusammenhang
gebracht wird. Anstelle des speziellen Vergleichs von Bildmustern
wird ein Satz von Datenbank-Schlüsseln,
welche unterschiedliche Bildmuster-Eigenschaften beschreiben, definiert
und ermöglicht
allgemeine anstelle von spezifischen Vergleichen während des
Datenbank-Suchvorgangs 26. Der erwünschte Grad an Ähnlichkeit
ist einstellbar und könnte
basierend auf einer erwünschten
Verarbeitungsgeschwindigkeit und einem erwünschten Grad an Sicherheit
sowie anderen Eigenschaften gewählt
werden, welche die Umgebung anzeigen, für die das System 10 Sicherheit
liefern soll.
-
Es
sollte betont werden, dass beinahe alle, wobei eine Anti-Spoofing-Prozedur,
die nachfolgend in dieser Anwendung beschrieben wird, eine Hauptausnahme
darstellt, der Verfahren und Prozeduren der vorliegenden Erfindung
nicht abhängig
vom Einschluss eines bstimmten Leserabschnitts 12 sind
und nachgerüstet
werden können,
um mit einer beliebigen Lesertechnik zu arbeiten. Zum Zweck der
Illustration von Ausführungsbeispielen
der vorliegenden Erfindung wird jedoch ein beispielhafter Satz von
Bildscanparametern, welche einem beispielhaften Leserabschnitt 12 entsprechen,
angenommen. Insbesondere entsprechen die beispielhaften Parameter
einer SACcatTM-Fingerabdruck-Leservorrichtung,
welche durch Secured Access Control Technologies (die als BIO-Key International
operiert) aus Eagan, Minnesota, angeboten und vermarktet wird.
-
3 ist
eine piktographische Darstellung von Details, welche zu dem beispielhaften
Satz von Bildscan-Parametern gehören.
Die beispielhaften Parameter werden im Allgemeinen durch das Bezugszeichen 28 angezeigt
und sind nicht bedeutend für
die vorliegende Erfindung. Der beispielhafte Leserabschnitt 12,
welcher die beispielhaften Parameter 28 erzeugt, beinhaltet
illustrativ eins Kamera, welche ein Aspektverhältnis von 4 zu 3 aufweist und
64 Grauskalen-Abstufungen liefert, wobei kein Wert für die vorliegende
Erfindung bedeutend ist. Wie durch 3 dargestellt,
weisen die Bildscan-Parameter 28 einen Scanbereich 30 auf,
welcher größer ist
als ein Verarbeitungsbereich 32. Der Verarbeitungsbereich 32 ist
Teil des Scanbereichs 30, und ist der einzige Bereich des
Scanbereichs 30, welcher Daten liefert, die tatsächlich für die Analyse
erfasst werden. Innerhalb des Scanbereichs 30 existieren
510 Zeilen und 488 Pixel pro Zeile. Zum Zweck der Vereinfachung
der Erläuterung
der vorliegenden Erfindung soll angenommen werden, dass der Leserabschnitt 12 keine lineare Verzerrung
aufgrund von Optik erzeugt (es wird ein flaches Bild angenommen).
-
4 ist
ein Blockdiagramm, welches einen Satz von Prozedurkomponenten darstellt,
die dem Bildqualifikations(18)-Abschnitt der in 2 dargestellten
Operationen entspricht. Es sollte betont werden, dass das Hauptziel
der Bildqualifikation 18 darin besteht, sicherzustellen
dass die durch die Bildanalyse-/-verarbeitungsvorrichtung 14 vom
Leserabschnitt 12 empfangenen Bilddaten ein Scan eines
nicht gefälschten
Fingerabdrucks sind und eine für
die anschließende
Bildverarbeitung geeignete Qualität aufweisen.
-
Wie
vorstehend erwähnt,
können
alle der Funktionen innerhalb der Bildqualifikation 18 unter
Verwendung eines Bruchteils der potentiall für die Analyse verfügbaren Bilddaten
ausgeführt
werden. Die Bildanalyse-/-verarbeitungsvorrichtung 14 kann
einen kompletten Satz Bilddaten von dem Leserabschnitt 12 empfangen,
verwendet jedoch nur jede zweite Zeile und jedes zweite Pixel an
Information zur Analyse während
der Bildqualifikation 18. Anders gesagt wird nur ein Viertel
der Daten innerhalb des Verarbeitungsbereichs 32 während der
Bildqualifikation 18 analysiert. Der Zweck der Verarbeitung
nur eines Bruchteils der verfügbaren
Daten ist es, die Verarbeitung zu beschleunigen, wodurch ein Feedback
bezüglich
der Bildqualität
und der Authentizität
an einen Systemanwender im Wesentlichen auf Echtzeitweise geliefert
werden kann. Nach Emfpang des Echtzeit-Feedback wird dem Systemanwender
dann erlaubt, variablen anzupassen (den auf die Scanoberfläche aufgebrachten
Druck zu verändern,
eine nicht gefälschte
Bildquelle zu erzeugen, überschüssige Feuchtigkeit
vom Finger abzuwischen, etc.), bis aller negative Feedback ausgemerzt
ist und der Bildscan eine ausreichende Qualität aufweist, um mit der Verarbeitung
des Bildes fortzufahren.
-
Ausführlicher
beginnt die Bildqualifikation 18 mit der Vorverarbeitung 34 (s. 4).
Wenn die Bildanalyse-/-verarbeitungsvorrichtung 14 Bilddaten
vom Leserabschnitt 12 empfängt, so sind diese in einem
Rohscanformat, auch als Grauskalenformat bekannt. Der allgemeine
Zweck der Vorverarbeitung 34 ist es, Daten zu reduzieren.
Insbesondere ist es der Zweck, das Rohscanbild in ein monochromes
Bild oder Binärbild
umzuwandeln, welches für
eine anschließende
Bildqualifikations(18)-Verarbeitung erwünscht ist. Die Vorverarbeitung 34 kann
verwendet werden, um das Rohscanbild in ein Bild umzuwandeln, welches
einzelne Bits beinhaltet, die schwarz oder weiß sind.
-
Während der
Vorverarbeitung
34 wird ein Rohscanbild, ähnlich des
Rohscanbildes
46 in
5, vom Leserabschnitt
12 empfangen
und zunächst
in ein Zwischenbild, ähnlich
des Zwischenbildes
48 in
6, umgewandelt.
Wie die Figuren darstellen, ähnelt
das Zwischenbild
48 dem Rohscanbild
46, weist
jedoch Verbesserungen von Hauptmerkmalen auf. Um die Bildumwandlung
abzuschließen,
kann jedes Pixel im Zwischenbild
48 durch Durchschnittsbildung
einer n × n-Pixelmatrix
(wobei n größer ist
als 1) erzeugt werden, welche dem Rohscanbild
46 entnommen
wird. In Übereinstimmung
mit einer Ausführungsform
werden 3 × 3-Pixelmatrizen verwendet.
Das Pixel (neuer Pixelwert) bei Reihe y und Spalte × im Zwischenbild
48 wird
angegeben durch: Gleichung
1
-
Der
nächste
Schritt in der Vorverarbeitung
34 kann darin bestehen,
das Zwischenbild
48 (
6) in ein monochromes
Bild ähnlich
dem monochromen Bild
50 in
7 umzuwandeln.
Die Umwandlung von dem Zwischenbild
58 (
6)
in das monochrome Bild
50 (
7) kann
wie folgt erzielt werden: Jedes Pixel in dem monochromen Bild wird
durch Vergleich des 5 × 5-Durchschnittswerts
eines aus dem Zwischenbild
48 entnommenen Pixels mit einem
3 × 3-Durchschnitt
für dieselbe
Pixelstelle erzeugt. Es sollte sich verstehen, dass unterschiedliche
Größen von
Pixelmatrizen verwendet werden könnten,
ohne vom Schutzumfang der vorliegenden Erfindung abzuweichen. Das
Pixel (neuer Pixelwert) bei Reihe y und Spalte x in dem monochromen
Bild ergibt sich wie folgt: Gleichung
2.
-
Mit
Bezug auf 4 ist ein weiterer Prozess innerhalb
der Bildqualifikation 18 das Anti-Spoofing 36. Damit
das Fingerabdruck-Bilderzeugungssystem 10 Anti-Spoofing-Techniken
beinhalten kann, wie hierin beschrieben, muss ein Leserabschnitt 12,
welcher sowohl eine Infrarotlichtquelle als auch eine LED-Lichtquelle zum
Abstrahlen von Licht in eine optische Vorrichtung aufweist, in dem
System enthalten sein. Natürlich
können
in anderen Lesevorrichtungen andere Anti-Spoofing-Techniken implementiert
werden. Das Anti-Spoofing 36 ist ein Verfahren zum Erfassen
eines nicht lebenden Fingers, wie beispielsweise eines gefälschten
Fingers, einer Zeichnung auf Papier oder eine Fotodarstellung auf
Mylar-Folie. Das Anti-Spoofing liefert auch Schutz gegen eine im
Voraus aufgenommene Wiedergabe von lebenden Scans. Das Anti-Spoofing
kann die Aufnahme und den Vergleich von zwei aufeinanderfolgenden
Bildern umfassen, wobei das erste Bild durch eine Infrarotlichtquelle
von der Seite beleuchtet wird und das zweite Bild von hinten durch
eine sichtbare LED-Lichtquelle beleuchtet wird.
-
Der
Anti-Spoofing-Prozess beginnt, indem sichergestellt wird, dass die
von hinten beleuchtete LED-Lichtquelle abgeschaltet ist. Als nächstes wird
die von der Seite beleuchtete Infrarotlichtquelle eingeschaltet.
Das Schalten der Lichtquellen kann auf einer Zufallsbasis durchgeführt werden,
um Szenarien gegenzusteuern, in welchen im Voraus aufgenommene Abbildungen
wiedergegeben werden. Das mit Infrarotlicht beleuchtete Bild wird
aufgenommen und in einer Ausführungsform
in Übereinstimmung
mit der vorstehend beschriebenen Vorverarbeitung 34 vorverarbeitet,
um ein erstes monochromes Bild zu erzeugen. Die monochromen Bilder 58, 59 und 60,
welche in 9A, 9B bzw. 9C gezeigt sind, stellen Bilder dar, welche
mit Hilfe einer Infrarotlichtquelle abgeleitet wurden, um auf einer
Mylar-Folienquelle, einer Papierquelle bzw. einer lebenden Fingerquelle
enthaltene Bilder zu scannen.
-
Der
nächste
Schritt im Anti-Spoofing-Prozess besteht darin, die Infrarotlichtquelle
abzuschalten und die von hinten beleuchtete LED-Lichtquelle einzuschalten,
um ein zweites Bild aufzunehmen, welches vorverarbeitet und in ein
zweites monochromes Bild umgewandelt werden kann. Die monochromen
Bilder 52, 54 und 56, welche in 8A, 8B bzw. 8C gezeigt sind, stellen Bilder dar, welche
unter Verwendung einer von hinten beleuchteten LED-Lichtquelle abgeleitet
wurden, um Bilder von einer Mylar-Filmquelle, einer Papierquelle
bzw. einer lebenden Fingerquelle zu scannen.
-
Im
letzten Schritt des Anti-Spoofing werden die monochromen Bilder
mit Infrarotursprung mit den monochromen Bildern mit LED-Ursprung verglichen
und übereinstimmende
Pixelwerte vermerkt. Im Allgemeinen erzeugen Bildscans von lebenden
Fingern eine sehr hohe Korrelation von ähnlichen Werten im Vergleich
zu Bildern, die auf gefälschten
Bildquellen basieren. Beispielhaft sind die Bilder 56 und 62 im
Wesentlichen gleich, während
die Hauptmerkmale in den Bildern 52 und 58 sowie
den Bildern 54 und 60 Pixel beinhalten, deren Werte
im Wesentlichen gegensätzlich
zueinander sind (d.h. ein Merkmal, welches in einem Bild schwarz
ist, ist in dem entsprechenden Vergleichsbild nicht schwarz). wenn
das Fingerabdruck-Bilderzeugungssystem 10 mit Ergebnissen
konfrontiert wird, die anzeigen, dass ein nicht lebendes Bild gezeigt
wurde, kann es eine weitere Verarbeitung beenden, bis ein lebender
Finger zum Scannen präsentiert
wird.
-
Es
sollte sich verstehen, dass während
das Anti-Spoofing-Verfahren in Bezug auf den Vergleich von monochromen
Scanbildern beschrieben wurde, der Anti-Spoofing-Prozess ebenso
auf Rohscan- oder
andere Bildkonfigurationen angewendet werden könnte. Da monochrome Bilder
sich jedoch aus einem beschränkten Bereich
von Pixelwerten zusammensetzen, liefern sie ein glattes vergleichbares
Modell, welches typischerweise ein klares und präzises Ergebnis erzeugt.
-
Mit
Bezug auf 4 ist eine weitere Komponente
innerhalb des Bildqualifikations(18)-Prozesses die Steigungstabellenerzeugung 38.
Der Zweck der Steigungstabelle, wenn sie einmal erzeugt ist, besteht
nicht darin, Informationen zu erzeugen, welche direkt verwendet
werden, um dem Systemanwender Feedback zu liefern, sondern ein statistisches
Werkzeug zu erzeugen, welches als Hilfe in der anschließenden Bildqualifikations(18)-Verarbeitung
verwendet wird. Insbesondere könnte
die Steigungstabelle verwendet werden, um die Histogrammerzeugung 40 zu
ergänzen,
und könnte
während
der Druckzentrum-Bestimmung 42 verwendet werden.
-
Um
die Steigungstabellen-Erzeugung 38 zu beginnen, wird das
während
der Vorverarbeitung 34 erzeugte monochrome Bild, beispielhaft
das monochrome Bild 50 (7) zunächst in
eine Matrix von n × n
Pixelgittern geteilt (wobei n größer als
1 ist). In einer Ausführungsform
wird eine Matrix von 8 × 8
Pixelgittern verwendet. In Übereinstimmung
mit dieser Ausführungsform
und in Übereinstimmung
mit beispielhaften Bildscanparametern 28 (3)
weist eine Matrix von 8 × 8
Pixelgittern 27 Gitter in x-Richtung und 29 Gitter in y-Richtung
auf.
-
Zur
Unterstützung
der Erzeugung der Steigungstabelle wird zunächst eine Roh-Steigungstabelle
erzeugt. Die Roh-Steigungsdatentabelle ist beispielhaft, in Übereinstimmung
mit beispielhaften Parametern 28, eine zweidimensionale
Matrix 27 × 29,
wobei jeder Eintrag in die Tabelle drei Einträge umfasst:
- 1.
Eine Zählung
der Änderungen
der x-Koordinate.
- 2. Eine Zählung
der Änderungen
der y-Koordinate.
- 3. Eine Zählung
der geprüften
Pixel.
-
Die
Roh-Steigungstabelle wird erzeugt durch Durchführung einer Konturenverfolgung
der Merkmale innerhalb jedes Pixelgitters der Matrix aus Pixelgittern,
in welche das monochrome Bild
50 geteilt wurde. Mit Wanderung
der Spur durch die Pixelgitter werden die drei in der Roh-Steigungsdatentabelle
enthaltenen Elemente um 1 erhöht.
Nachfolgend ein Diagramm, welches die Werte zeigt, die zu der Roh-Steigungsdatentabelle
für die
acht möglichen
nächsten
Pixelkombinationen hinzugefügt
werden sollen (p ist das aktuelle Pixel, N ist das nächste Pixel,
* steht für
ein gewöhnliches
Pixel und dient als Füller
zu Darstellungszwecken): Gleichung
3
-
Das
Bild 64 in 10 ist eine Darstellung eines
monochromen Bildes nachdem die Konturverfolgung abgeschlossen wurde.
-
Nachdem
die Konturverfolgung durch jedes Pixelgitter abgeschlossen wurde
und die Roh-Steigungsdatentabelle vollständig ist, ist die Steigungstabelle
bereit zur Erzeugung. Die Steigungstabelle ist eine zweidimensionale
Matrix und ist in Übereinstimmung
mit beispielhaften Parametern
28 (
3) 27 × 29. Jeder
Eintrag in der Steigungstabelle besteht aus einem einzelnen Eintrag,
nämlich
der Steigung einer Papillarlinie oder von Papillarlinien, welche
durch jedes einzelne Pixelgitter fließen. Zu Beginn sind alle Einträge in der
Steigungstabelle auf ein -eins (ungültige Steigung) gesetzt. Die
Steigung für
jedes Pixelgitter wird mit Hilfe von Informationen aus der Roh-Steigungsdatentabelle
berechnet und wird spezifisch wie folgt berechnet: Gleichung
4
-
Bild 66 in 11 ist eine Darstellung eines monochromen Bildes
mit einer Steigungsschablone basierend auf einer abgeschlossenen
Steigungstabelle.
-
Mit
Bezug auf 4 ist eine weitere Komponente
der Bildqualifikation 18 die Histogrammerzeugung 40.
Ein vollständiges
Histogramm wird innerhalb des Bilderzeugungssystems 10 verwendet,
um die Qualität gescannter
Fingerabdruck-Bilddaten sowie die Eignung der Bilddaten für anschließende Verarbeitung
zu bestimmen.
-
Ein
vollständiges
Histogramm ist eine vieldimensionale n × n-Matrix (wobei n größer als 1 ist), beispielsweise
zweidimensional, und in Übereinstimmung
mit beispielhaften Parametern 28 (3) eine
6 × 6-Matrix.
Jede Zelle innerhalb der Matrix entspricht einem Abschnitt der analysierten
Bilddaten. Bild 68 in 12 ist
eine Darstellung eines vollständigen
Histogramms, welches die Zelle 67 enthält, zusätzlich zu anderen nicht bezeichneten
Zellen. Bild 70 in 13 ist
eine Darstellung desselben abgeschlossenen Histogramms, welches über dem
Rohscanbild liegt, von dem das Histogramm beispielhaft abgeleitet
wurde. Die Zuordnung unterschiedlicher Abschnitte eines Bildes zu
unterschiedlichen Zellen der Histogramm-Matrix macht vielfache individuelle
Qualitätsbestimmungen
für begrenzte
Mengen an Bilddaten möglich,
welche jeder der unterschiedlichen Histogrammzellen entsprechen,
anstatt dass eine einzige Qualitätsbestimmung
für den
gesamten Bilddatensatz erfolgt. Diese vielfachen Qualitätsbestimmungen
können
verwendet werden, um selektiv Abschnitte der Bilddaten auszuschließen, welche
Zellen entsprechen, die niedrige Qualitätscharakteristika zeigen. Nachdem
Zellen mit niedriger Qualität
ausgeschlossen wurden, kann eine positive oder negative Systembestimmung
dahingehend erfolgen, ob genügend
Datenzellen von annehmbarer Qualität für die anschließende Verarbeitung
verfügbar
sind.
-
Jede
Zelle eines Histogramms kann eine Histogrammliste aufweisen. Die
Histogrammliste ist in Übereinstimmung
mit dem vorstehend beschriebenen beispielhaften Leserabschnitt 12 eine
Matrix von 64 Einträgen
(null bis 63). Jedem Eintrag wird ein Pixelwert zugeordnet (der
beispielhafte Leserabschnitt 12 weist 64 potentielle Pixelwerte
auf) und umfasst eine Zählung
der Anzahl von Bilddatenpixeln mit dem zugeordneten Pixelwert. Jede
Histogrammzelle umfasst ebenfalls beispielhaft eine Zählung der
Anzahl von Pixeln innerhalb der Zelle, welche verarbeitet und in
der Histogrammliste klassifiziert werden.
-
Es
sollte sich verstehen, dass manche Lesertechniken Histogramme mit
unterschiedlichen Konfigurationen erfordern können, damit präzise Qualitätsbestimmungen
erfolgen können.
Beispielsweise können
manche Techniken des Leserabschnitts 12 einen breiteren
oder engeren Bereich von Pixelwerten einschließen. Es sollte sich verstehen,
dass maßgeschneiderte
Histogramme zur Unterbringung anderer Techniken für Leserabschnitte 12 noch
immer in den Schutzumfang der vorliegenden Erfindung fallen.
-
Eine
ausführlichere
Beschreibung der Funktionen, welche während der Erzeugung einer beispielhaften
zweidimensionalen 6 × 6-Histogrammmatrix
während
des Abschnitts der Histogrammerzeugung
40 der Bildqualifikation
18 durchgeführt werden,
ist wie folgt: Gleichung
5
-
In
einer Ausführungsform
der Histogrammerzeugung 40 wird die Bildqualität in vier
Klassifikationen aufgeteilt:
- 1. Ausgezeichnet.
- 2. Gut.
- 3. Ausreichend.
- 4. Schlecht.
-
Zusätzlich können diejenigen
Bereiche, von welchen angenommen wird, dass sie eine ausreichende oder
schlechte Qualität
aufweisen, zwei zusätzliche
Attribute aufweisen: zu dunkel oder zu hell.
-
Die
exakten Details bezüglich
der Arten von Datenelemente, welche in einem abgeschlossenen Histogramm
aufgezeichnet sind und wie diese Datenelemente interpretiert werden,
um die Bildqualitäts-Klassifikation
sich in Abhängigkeit
von der Art der erwünschten
Daten und dem Leserabschnitt 12 zu unterscheiden, welcher
innerhalb des Fingerabdruck-Bilderzeugungssystems 10 verwendet
wird. Anders gesagt kann die Qualitäts-Klassifikation in Übereinstimmung
mit der Art der erwünschten
Bildqualitätsdaten
und in Übereinstimmung
mit einem bestimmten Leserabschnitt 12 eingestellt werden.
-
In
einer Form der Qualitäts-Klassifikation
weisen die in jeder Histogrammzelle aufgezeichneten Daten sieben
bestimmte Datenelemente auf. Im Interesse der Vereinfachung der
Beschreibung soll den sieben Datenelementen die Bezeichnung A–G verliehen
werden. Die Histogrammzelle 72 in 12 weist
die Datenelemente A–G
auf, welche beispielhaft den folgenden Informationen entsprechen:
-
Gleichung 6
-
- A. Stellt die Anzahl von Pixeln in der Histogrammliste
dar, welche den weißesten
25% der gelisteten Pixelwerte entsprechen.
- B. Stellt die Anzahl von Pixeln in der Histogrammliste dar,
welche den weißesten
35% der gelisteten Pixelwerte entsprechen.
- C. Maximale Höhe
zwischen Punkten B und F. (nicht verwendet bei der Qualitätsbestimmung)
- D. Durchschnittlicher Pixelwert. (nicht verwendet in der Qualitätsbestimmung)
- E. Minimale Höhe
zwischen Punkten B und F. (nicht verwendet in der Qualitätsbestimmung)
- F. Stellt die Anzahl von Pixeln in der Histogrammliste dar,
welche den schwärzesten
35% der gelisteten Pixelwerte entsprechen.
- G. Stellt die Anzahl von Pixeln in der Histogrammliste dar,
welche den schwärzesten
25% der gelisteten Pixelwerte entsprechen.
-
In Übereinstimmung
mit einer Form der Qualitätsbestimmung
wird die Bilddatenqualität
durch Vergleichen der Spalten im Zusammenhang mit den Punkten A,
B, F und G bestimmt. Insbesondere wird die Bilddatenqualität beispielhaft
wie folgt bestimmt: Gleichung
7
-
Wie
nachfolgend noch ausführlicher
beschrieben, wird Feedback mit Bezug zu der bestimmten Bildqualität an einen
Systemanwender in übereinstimmung
mit der Feedback-Interaktion 44 geliefert.
-
Unter
erneuter Bezugnahme auf 4 ist die Druckzentrums-Bestimmung 42 eine
weitere Komponente, welche in der Bildqualifikation 18 enthalten
sein könnte.
Die Druckzentrums-Bestimmung 42 wird durch Analyse von
Bilddaten durchgeführt,
um das Zentrum des zugehörigen
Druckbildes zu finden. Eine Weise, wie die Druckzentrums-Bestimmung 42 erzielt
werden könnte,
ist durch die Anwendung eines Satzes von Filterregeln auf Daten,
welche in der Steigungstabelle enthalten sind, die während der
Steigungstabellenerzeugung 38 erzeugt wird. Nach der Bestimmung
des Druckzentrums erfolgt eine weitere Bestimmung, ob ein neuer Scan
erfolgen sollte, wobei der Finger des Systemanwenders erneut auf
einer Bilderzeugungsoberfläche
des Leserabschnitts 12 positioniert wird. Feedback mit
Bezug auf diese weitere Bestimmung wird an einen Systemanwender
in Übereinstimmung
mit der Feedback-Interaktion 44 geliefert.
-
Unter
erneuter Bezugnahme auf 4 ist die Feedback-Interaktion 4 eine
weitere potentielle Komponente der Bildqualifikation 18.
Wie vorstehend erwähnt,
ist der Leserabschnitt 12 der Fingerabdruck-Bilderzeugung 10 (1)
in der Lage, einen Live-Scan
eines Fingerabdrucks zu erfassen, In Übereinstimmung mit der Feedback-Interaktion 44 werden,
wenn die Bildanalyse-/-verarbeitungsvorrichtung 14 Fingerabdruck-Bilddaten
von dem Leserabschnitt 12 empfängt und die Funktionen der
Bildqualifikation 18 an einem Bruchteil dieser Daten durchführt, im
Wesentlichen Echtzeit-Feedback und -Anweisungen an den Anwender
des Systems 10 bezüglich
unzureichender Eigenschaften der gescannten Bilddaten geliefert,
welche verbessert werden könnten.
Feedback und Anweisungen für
die Korrektur von Unzulänglichkeiten
von Bilddaten könnten
sich auf die geeignete Positionierung des Fingers des Benutzers
auf dem Leserabschnitt 12 beziehen (Druckzentrums-Bestimmung 42).
Alternativ können
sie sich auf die Detektion eines lebenden Fingers (Anti-Spoofing 36)
oder auf Bilddaten-Qualitätscharakteristika
(Histogrammerzeugung 40) beziehen. In einer Ausführungsform
der vorliegenden Erfindung kann auch Feedback geliefert werden,
welches sich auf den Feuchtigkeitsgehalt des Fingers des Systemanwenders
bezieht.
-
Nachdem
die Bildqualifikation 18 abgeschlossen ist, ist der nächste Schritt,
wie durch Block 20 in 2 angezeigt,
die Schaffung eines Bildmusters. 15 ist
ein Blockdiagramm, welches einen Satz prozeduraler Komponenten darstellt,
die die Musterschaffung 20 ausmachen. Um die Präzision der
Musterschaffung 20 zu verbessern, werden im Wesentlichen
alle verfügbaren
Bilddaten, alle innerhalb des beispielhaften Verarbeitungsgebiets 32 (3)
enthaltenen Bilddaten, der Bildanalyse-/-verarbeitungsvorrichtung 14 für die Mustererzeugungs(20)-Verarbeitung
verfügbar
gemacht. Dies kontrastiert mit dem Bruchteil von Daten, welche während der
Bildqualifikation 18 aus Geschwindigkeits- und Effizienzgründen verarbeitet
werden. Während
einige der Komponenten der Musterschaffung 20 Komponenten
der Bildqualifikation 18 ähneln, wird keiner der während der
Bildqualifikation 18 erzeugten Datensätze während der Musterschaffung 20 verwendet. Wie
die Bildqualifikation 18 beginnt die Musterschaffung 20 mit einem
Satz roher Scanbilddaten und fährt
von diesem Punkt aus fort.
-
Die
Musterschaffung 20 beginnt in Übereinstimmung mit 15 mit dem Anti-Spoofing 74. Das Anti-Spoofing 74 ist
ein optionaler Schritt und wird im Wesentlichen in gleicher Weise
und aus denselben Gründen durchgeführt wie
vorstehend mit Bezug auf das Anti-Spoofing 36, einer prozeduralen
Komponente der Bildqualifikation 18, beschrieben. Ein zentraler
Unterschied zwischen dem Anti-Spoofing 74 und dem Anti-Spoofing 36 besteht
jedoch darin, dass das Anti-Spoofing 74 mit Hilfe eines
vollständigen
Datensatzes durchgeführt wird,
während
das Anti-Spoofing 36 nur unter Verwendung eines Bruchteils
verfügbarer
Daten durchgeführt wird.
Der Zweck des Anti-Spoofing 74 liegt darin, weiter sicherzustellen,
dass die Quelle des Rohscanbildes nicht gefälscht ist. Wenn das Anti-Spoofing 74 zu
der Anzeige führt,
dass die Quelle des Rohdatenbildes gefälscht ist, kann eine anschließende Verarbeitung
beendet werden, bis eine gültige
Bildquelle dem System 10 beigebracht wird.
-
Das
Anti-Spoofing 74 könnte
mit Hilfe von Roh-Scanbilddaten oder einem während der Musterschaffung 20 erzeugten
alternativen Bilddatenformat durchgeführt werden. Beispielsweise
könnte
das Anti-Spoofing 74 unter Verwendung monochromer Bilder
durchgeführt
werden, welche wie nachfolgend beschrieben das Produkt der Vorverarbeitung 76 sind.
Anders gesagt, könnte
das Anti-Spoofing 74, während
es in 15 als der erste Schritt der
Musterschaffung 20 dargestellt wurde, auch später in dem
Musterschaffungs(20)-Prozess durchgeführt werden, oder der Schritt
könnte,
da das Anti-Spoofing 74 optional ist, völlig weggelassen werden.
-
Ein
früher
Schritt in dem Musterschaffungs(20)-Prozess ist, wie durch
Block 76 in 15 angezeigt, die Vorverarbeitung 76.
Der Zweck der Vorverarbeitung 76 ist es, ein monochromes
Bild mit einem angepassten Aspektverhältnis zu erzeugen, welches
auch ebene und klare Merkmale aufweist, die für eine anschließende Verarbeitung
geeignet sind. Die Vorverarbeitung 76 unterscheidet sich
von dem vorstehend mit Bezug zur Bildqualifikation 18 beschriebenen
Vorverarbeitungsschritt. Insbesondere wird die Vorverarbeitung 76 unter Verwendung
eines kompletten Satzes verfügbarer
Bilddaten, anstatt nur eines Bruchteils, durchgeführt. Zusätzlich weist
die Vorverarbeitung 76 einige zusätzliche Schritte auf, welche
dazu gedacht sind, Unregelmäßigkeiten
und Ungleichmäßigkeiten
in dem sich ergebenden monochromen Bild zu beseitigen. Während diese Schritte
für die
Bildqualifikation 18 nicht nötig sind, erweisen sie sich
als vorteilhaft für
die anschließende
Verarbeitung während
der Musterschaffungs(20)-Verarbeitung.
-
16 ist ein Blockdiagramm, welches die prozeduralen
Haputkomponenten der Vorverarbeitung 76 darstellt. Wie
durch Block 90 angezeigt, ist ein früher Schritt des Prozesses die
Erzeugung eines Satzes von Bilddaten ähnlich der Rohscan-Bilddaten,
jedoch mit einem modifizierten Aspektverhältnis. Das Aspektverhältnis kann
auf eine 1-zu-1-Konfiguration angepasst werden. Die Korrektur des
Aspektverhältnisses
ist notwendig für
die anschließende
Verarbeitung, welche eine Rotation des Bildes und seiner entsprechenden
Daten beinhaltet. Die Musterschaffung 20 könnte wahrnehmbar
ausgeführt
werden, ohne das Bildaspektverhältnis
anzupassen, doch die Anpassung ist vorteilhaft für Prozeduren, welche nach der
Musterschaffung 20 ausgeführt werden, so beispielsweise
den Mustervergleich 24.
-
Das
Aspektverhältnis
eines Rohscanbildes kann modifiziert werden, indem das Rohscanbild
Zeile für Zeile
kopiert wird und die Zeilen zu gegebener Zeit und an gegebener Stelle
nachgebildet werden, um ein korrigiertes Rohscanbild mit der erwünschten
Aspektverhältnisskala
zu erzeugen. Das Bild 98 in 17 ist
eine Darstellung eines korrigierten Rohscanbildes, wobei das Aspektverhältnis eines
Rohscanbildes auf 1 zu 1 angepasst wurde.
-
Eine
weitere Komponente der Vorverarbeitung 76 ist in Übereinstimmung
mit Block 92 in 16 die Umwandlung
eines korrigierten Rohscans (Bild 98 in 16) in ein monochromes Bild. Da ein monochromes Bild,
welches dementsprechend erzeugt wurde, auf allen verfügbaren Bilddaten
im Zusammenhang mit einem Bild mit einem modifizierten Aspektverhältnis basiert,
ist es unwahrscheinlich, dass dieses monochrome Bild identisch mit
dem während
der Bildqualifikation 18 erzeugten ist. Zusätzlich werden
Merkmale innerhalb des monochromen Bildes der Musterschaffung 20,
wie nachfolgend noch beschrieben, schließlich modifiziert und manipuliert,
um bestimmte Bildcharakteristika zu betonen. Diese Betonung von
Bildcharakteristika ist vorteilhaft für die Musterschaffung 20,
aber unnötig
für die
Bildqualifikation 18.
-
Der
erste Schritt in der Umwandlung eines korrigierten gescannten Rohbildes
in ein monochromes Bild kann die Schaffung eines Zwischenbildes
sein. Der Zweck der Schaffung eines Zwischenbildes ist die Durchschnittsbildung
von Merkmalen innerhalb des korrigierten Rohscanbildes, welche vorherrschend
zu hell oder zu dunkel sind, möglicherweise
aufgrund des Feuchtigkeitsgehalts des Fingers eines Systemanwenders
oder von Beleuchtungsmerkmalen. Die Durchschnittsbildung dieser
Merkmale schafft ein resultierendes Bild, welches eine vollständigere
und kontinuierlichere Drahtrahmenerzeugung liefert, die in anschließenden Verarbeitungsschritten
folgt. In Übereinstimmung
mit einer Ausführungsform
wird zur Erzeugung des Zwischenbildes jedes Pixel durch Durchschnittsbildung
einer 5 × 5-Pixel-Matrix
gewählt,
welche einem korrigierten Rohscan eines Bildes entnommen wird (wobei
korrigiert bedeutet, dass das Bildaspektverhältnis angepasst wurde). Das Pixel
(neuer Pixelwert) in Zeile y und Spalte x in dem Zwischenbild ergibt
sich wie folgt: Gleichung
8
-
Bild 100 in 18 ist eine Darstellung eines Zwischenbildes.
Es sollte sich verstehen, dass Pixelmatrizen anderer Größe während der
Umwandlung in das Zwischenbildformat verwendet werden könnten.
-
Die
Umwandlung von einem korrigierten Rohscanbildformat in ein monochromes
Bildformat, nachdem ein Zwischenbild erhalten wurde, kann die Anwendung
eines Kantenerfassungsalgorithmus auf das Zwischenbild umfassen,
um ein verbessertes Bild zu erzeugen. Der Kantenerfassungsalgorithmus
kann wie folgt angewendet werden:
-
Gleichung 9
-
- Setze neuen Pixelwert auf sechsmal den Wert des Pixels im
Zwischenbild bei Zeile y und Spalte x.
- Subtrahiere von neuem Pixelwert den Wert des Pixels im Zwischenbild
bei Zeile y – 1
und Spalte x – 1.
- Subtrahiere von neuem Pixelwert den Wert des Pixels im Zwischenbild
bei Zeile y – 1
und Spalte x + 1.
- Subtrahiere von neuem Pixelwert den Wert des Pixels im Zwischenbild
bei Zeile y + 1 und Spalte x – 1
Subtrahiere von neuem Pixelwert den Wert des Pixels im Zwischenbild
bei Zeile y + 1 und Spalte x + 1.
- Wenn der neue Pixelwert kleiner ist als null, setze neuen Pixelwert
gleich null.
- Speichere neuen Pixelwert im verbesserten Bild bei Zeile y und
Spalte x.
-
Bild 102 in 19 ist eine Darstellung eines verbesserten Bildes
nachdem der Kantendetektionsalgorithmus angewendet wurde.
-
Der
abschließende
Schritt des Abschnitts von Block
92 der Vorverarbeitung
76 (
16) besteht darin, das verbesserte Bild in ein
monochromes Bildformat umzuwandeln. Jedes Pixel in dem monochromen
Bild kann beispielsweise durch Bestimmung eines Durchschnitts-Pixelwertes
eines großen
Gitterbereichs und Vergleichen dieses Durchschnitts mit dem durchschnittlichen
Pixelwert eines kleineren Gitterbereichs für die gleiche Pixelposition
erzeugt werden. Eine Schwellen-Trennungsvarianz zwischen den Durchschnitts-Pixelwerten der
großen
und kleinen Pixelgitter wird zur Bestimmung der Einstellung der
entsprechenden Pixel an dieser Position auf einen Weiß- oder
Schwarzpegel verwendet (d.h. das monochrome Bildergebnis). Pixelgittergrößen und
Schwellenwerte können
so gewählt
werden, dass sie den Charakterstika des verwendeten Bildlesers gerecht
werden. Das Pixel (neuer Pixelwert) in Zeile y und Spalte x in dem
monochromen Bild kann sie wie folgt ergeben: Gleichung
10
-
Bild 104 in 20 ist eine Darstellung eines dementsprechend
erzeugten monochromen Bildes.
-
Eine
weitere Komponente der Vorverarbeitung 76 ist, wie durch
Block 94 in 16 angezeigt, die Lokalisierung
und Ausfüllung
von Unregelmäßigkeiten,
insbesondere kleinen Löchern,
innerhalb des monochromen Bildes. Die Lokalisierung und Ausfüllung kleiner
Löcher
im monochromen Bild ist nötig,
damit ein Drahtrahmenbild, welches anschließen von dem monochromen Bild
während
der Musterschaffung 20 abgeleitet wird, keine Blasen oder
Leerstellen darin aufweist. Der Unregelmäßigkeiten-Lokalisierungsprozess
wird durch Scannen eines monochromen Bildes, wie beispielsweise
Bild 104 in 20, durchgeführt, bis
ein unverarbeiteter Pixelwert von null erfasst wird. An diesem Punkt
wird das erfasste Pixel als verarbeitet markiert, und eine rekursiv
abfallende Routine wird aufgerufen. Jedes Pixel mit wert null wird
als verarbeitet markiert und entsprechende x- und y-Koordinaten
in einer Tabelle gespeichert. Wenn keine weiteren Pixel mit Wert
null lokalisiert werden können,
wird die Größe der Bereiche
mit nullwertigen Pixeln berechnet (Anzahl von x- und y-Koordinateneinträgen in der
Tabelle). Wenn beispielsweise die Bereichsgröße 35 Pixel oder weniger beträgt, wobei die
35 Pixelwerte basierend auf den mit Bezug zu 3 dargestellten
Bildcharakteristika gewählt
werden, und vorausgesetzt die Form des Bereichs entspricht in etwa
einem Kreis, so wird der Bereich mit Hilfe eines Pixelwertes von
255 ausgefüllt.
Die Anzahl von Pixeln, die nötig
sind, damit ein Bereich für
eine Ausfüllung
in Frage kommt, kann angepasst werden, um einem bestimmten Leserabschnitt 12 zu
entsprechen, ohne vom Geist der vorliegenden Erfindung abzuweichen.
Wenn das gesamte monochrome Bild geprüft wurde, ist der Prozess in
Block 94 abgeschlossen.
-
Bild 106 in 21 ist eine Darstellung eines monochromen Bildes,
wie beispielsweise des Bildes 104 in 20, nachdem Unregelmäßigkeiten lokalisiert und zu
Zwecken der beispielhaften Darstellung mit Pixeln von im Wesentlichen
gleichem Weißwert
gefüllt
wurden. Die Zentrumskoordinaten der weißen ausgefüllten Bereiche innerhalb des
Bildes 106 in 21 und
die Größe dieser
Bereiche können
in einer Tabelle gespeichert und als Datenelementpunkte klassifiziert
werden. Diese Datenelementpunkte, welche illustrativ als Mikrominutien
bezeichnet und durch ihre Position und zugehörigen Steigungswert der Papillarlinie,
auf welcher sie liegen, klassifiziert sind, stellen Bilddatenpunkte
dar, welche einzigartig für
einen bestimmten Systemanwender sind und in Kombination mit anderen
Datenelementpunkten katalogisiert und im Vergleiche eines Satzes
von Bildscandaten mit einem anderen verwendet werden können. Die
mikrominutiösen
Punkte sind klein (sehr klein, beispielsweise wenige tausendstel
Zentimeter im Durchmesser), und stellen im wahrscheinlichsten Fall
die Positionen der Schweißpunkte
eines Systemanwenders dar. Es sollte sich verstehen, dass die Anzahl
in einem Bildscan identi fizierter mikrominutiöser Punkte im Wesentlichen
von den Auflösungsfähigkeiten
eines bestimmten Leserabschnitts 12 sowie vom Zustand der
Fingerspitze (feucht, trocken, beschädigt, etc.) abhängt. Je
höher die
Auflösungsfähigkeit
des Leserabschnitts 12, umso mehr mikrominutiöse Punkte
stehen für
die Identifikation zur Verfügung.
-
Die
letzte Komponente der Vorverarbeitung 76 besteht im Übereinstimmung
mit Block 96 in 16 darin,
Bildelemente innerhalb des monochromen Bildes zu ebnen und auszufüllen. Im
Fall von Fingerabdruck-Bilddaten sind die Bildelemente innerhalb
des monochromen Bildes typischerweise Fingerabdruck-Papillarelemente.
Der Ebnungs- und Füllprozess
ist so ausgelegt, dass Pixel an der Grenze von Fingerabdruck-Papillarelementen
hinzugefügt
und weggenommen werden. Die Ebnung der Grenzlinien entlang der Papillarelemente
optimiert die Qualität
der anschließend
erzeugten Drahtrahmenbilder, welche von dem fertigen monochromen
Bild später
im Musterschaffungsprozess 20 abgeleitet werden.
-
Das
Eingangssignal des Ebnungs- und Füllprozesses 96 kann
beispielsweise das monochrome Bild sein, nachdem es in Übereinstimmung
mit Block 94 ausgefüllt
wurde. Bild 108 in 22 ist
eine Darstellung eines ausgefüllten
monochromen Bildes, wobei ausgefüllte
Pixel keinen im Wesentlichen weißen Wert mehr beinhalten, wie
dies in 21 der Fall war. Das Ausgangssignal
des Ebnungs- und Füllprozesses 96 ist
ein ebenes monochromes Bild ähnlich
Bild 110 in 23. Zur Durchführung der
Transformation wird jedes Pixel in dem ausgefüllten monochromen Bild als
das Zentrum einer 3 × 3-Matrix
verwendet. Jedes der umgebenden acht Pixel wird verwendet, um einen
Index in eine Tabelle zu bilden. Der Inhalt jedes Tabelleneintrages
enthält zwei
Flags:
- 1. Tue nichts
- 2. Setze das zentrale Pixel
-
Nachfolgend
sind die Indizes in die Tabelle für diejenigen Werte angeführt, die
das Set-Flag enthalten. Alle anderen Tabelleneinträge enthalten
das Tue-nichts-Flag. Gleichung
11
[wobei der Indexwert gleich der Binärsumme vorhandener
Pixelpositionen ist und als Hexadezimalwert dargestellt wird (d.h.
Pixelposition 4, falls vorhanden, = 2
4. was
einem Dezimalwert von 16 entspricht); und wobei Zählung gleich
Anzahl vorhandener Pixel in einer 3 × 3-Matrix um die zentrale
Pixelposition "P" herum.]
-
Mit
Bezug auf 16 kann, nachdem die Bildebnung
und Ausfüllung 96 abgeschlossen
ist, die Vorverarbeitung 76 ebenfalls abgeschlossen werden.
-
Eine
weitere prozedurale Komponente der Musterschaffung 20 ist
in Übereinstimmung
mit Block 78 in 15 die
Steigungstabellenerzeugung 78. Die Steigungstabellenerzeugung 78 ähnelt im
Wesentlichen der Steigungstabellenerzeugung 38, welche
vorstehend mit Bezug auf 4 und die Bildqualifikation 18 beschrieben
wurde. Der Hauptunterschied zwischen der Steigungstabellenerzeugung 78 und
der Steigungstabellenerzeugung 38 besteht darin, dass während der
Steigungstabellenerzeugung 78 alle verfügbaren Bilddaten verarbeitet
werden anstelle nur eines Bruchteils verfügbarer Bilddaten. Zusätzlich umfasst
die Steigungstabellenerzeugung 78 die Verarbeitung eines
einzigartigen monochromen Bildes, welches in Übereinstimmung mit den Proze duren
der Vorverarbeitung 76 erzeugt wurde, anstelle des beschränkten monochromen
Bildes, welches in Übereinstimmung
mit den Prozeduren der Vorverarbeitung 34 erzeugt wurde.
-
Während die
Steigungstabellenerzeugung 38 in Übereinstimmung mit beispielhaften
Bildscanparametern 28, welche in mit Bezug auf 3 definiert
sind, die an der Verarbeitung einer beispielhaften Matrix von 8 × 8 Pixelgittern
mit 27 Gittern in x-Richtung und 29 Gittern in y-Richtung beteiligt
ist, beinhaltet die Steigungstabellenerzeugung 78 die Verarbeitung
eines kompletteren Datensatzes und einer entsprechend unterschiedlichen
Gitterkonfiguration. Zusätzlich
können
während
der Musterschaffung 20 beispielhafte Parameter 28 in Übereinstimmung
mit Aspektverhältnis-Anpassungen
variieren, welche während
der Vorverarbeitung 78 erfolgt sind. Beispielsweise ist 24 eine Darstellung eines alternativen Satzes
beispielhafter Bildscanparameter 112, welche einen Scanbereich 114 und
einen Verarbeitungsbereich 116 beinhalten. Alternative
beispielhafte Bildscanparameter 112 ähneln beispielhaften Scanparametern 28,
doch der Verarbeitungsbereich 116 reflektiert eine beispielhafte Änderung
der Größenkonfiguration,
welche auftreten kann, wenn das Aspektverhältnis des Bildscans während der
Vorverarbeitung 76 angepasst wird.
-
Daher
wird beispielhaft in Übereinstimmung
mit beispielhaften Bildscanparametern 112 die Steigungstabellenerzeugung 78 erzielt
durch Teilen des dem Verarbeitungsbereich 116 entsprechenden
Bildes in eine beispielhafte Matrix von 10 × 10 Pixelgittern. Angesichts
der Tatsache, dass jedes Pixel und jede Zeile analysiert werden
soll, ergibt dies 44 Gitter in x-Richtung und 60 Gitter in y-Richtung.
Es sollte betont werden, dass die präzisen Werte, die dem Steigungstabellen-Erzeugungsprozess
zugehören,
von den Charakteristika des bestimmten verwendeten Leserabschnitts 12 abhängen. Die
Analyse kann darauf zugeschnitten werden, jeden beliebigen Leserabschnitt 12 unterzubringen.
-
Wie
vorstehend mit Bezug auf die Steigungstabellenerzeugung 38 erläutert, existieren
zwei Tabellen, welche während
des Stei gungstabellen-Erzeugungsprozesses geschaffen werden: die
Rohsteigungsdatentabelle und die Steigungstabelle. In Übereinstimmung
mit beispielhaften Scanparametern 112 ist die Rohsteigungsdatentabelle
eine zweidimensionale Matrix, welche aus 44 × 60 Zellen besteht, wobei
jede Zelle in der Rohsteigungsdatentabelle aus drei einzelnen Einträgen besteht:
- 1. Einer Zählung
der Änderungen
der x-Koordinate.
- 2. Einer Zählung
der Änderungen
der y-Koordinate.
- 3. Einer Zählung
der getesteten Pixel.
-
Die
Rohsteigungsdatentabelle wird geschaffen durch Durchführung einer
Konturverfolgung des während
der Vorverarbeitung
76 erzeugten monochromen Hildes. Bei
der Wanderung der Spur durch die Pixelgitter werden die drei in
der Rohsteigungstabelle enthaltenen Elemente nach und nach erhöht. Nachfolgend
ist ein Diagramm angeführt,
welches die Werte zeigt, die für
die acht nächsten
Pixelkombinationen hinzuzufügen sind
(P ist das aktuelle Pixel, N ist das nächste Pixel, * stellt ein gewöhnliches
Pixel dar und ist ein Füllelement zu
Darstellungszwecken): Gleichung
12
-
Bild
118 in
25 ist eine Darstellung des monochromen Bildes,
welches in Übereinstimmung
mit der Vorverarbeitung
76 erzeugt wird, nachdem eine Konturverfolgung
abgeschlossen ist. Wenn das gesamte Bild nachverfolgt wurde und
die Rohsteigungsdatentabelle abgeschlossen ist, wird die Steigungstabelle
erzeugt. Beispielhaft ist die Steigungstabelle ebenfalls eine zweidimensionale
Matrix, bestehend aus 44 × 60
Zellen. Jeder Eintrag in die Steigungstabelle besteht aus einem
einzelnen Eintrag, und zwar der Steigung des Papillarlinie oder
der Papillarlinien, welche sich durch das entsprechende Gitter ziehen.
Anfänglich
werden alle Einträge
in der Steigungstabelle auf –1
(ungültige
Steigung) gesetzt. Die Steigung für jedes Pixelgitter wird mit Hilfe
von Informationen aus der Rohsteigungsdatentabelle berechnet, die
Berechnung ist wie folgt: Gleichung
13
-
Bild 120 in 26 ist eine Darstellung eines monochromen Bildes,
welches in Übereinstimmung
mit der Vorverarbeitung 76 erzeugt wurde und eine Steigungsschablone
aufweist, die mit einer vollständigen
Steigungstabelle übereinstimmt.
Die vollständige
Steigungstabelle wird in der anschließenden Verarbeitung verwendet.
Insbesondere wird sie als Hilfe während der Drahtrahmenerzeugung 82 in
der Verlängerung
von Drahtrahmenlinien und in der Entfernung unerwünschter
Drahtrahmenlinien verwendet.
-
In Übereinstimmung
mit Block 80 in 15 könnte ein
Histogramm während
der Musterschaffung 20 erzeugt werden. Ein Histogramm,
welches sich aus der Histogrammerzeugung 80 ergibt, könnte verwendet werden,
um eine Bestimmung über
die Bildqualität
innerhalb unterschiedlicher Abschnitte der analysierten Bilddaten
durchzuführen.
Falls eine Bestimmung erfolgt, dass ein Abschnitt des Gitters von
nicht ausreichender Qualität
ist, um mit der anschließenden
Verarbeitung fortzufahren, so könnte
dieser Abschnitt des Gitters unabhängig vom Rest des Musterschaffungs(20)-Prozesses
ausgeschlossen werden. Es sollte sich verstehen, dass in Übereinstimmung
mit der vorliegenden Erfindung die Histogrammerzeugung 80 an
jedem beliebigen Punkt im Musterschaffungs(20)-Prozess
durchgeführt
werden könnte.
-
Die
Histogrammerzeugung 80 erfolgt im Wesentlichen in gleicher
Weise wie die Histogrammerzeugung 40, welche vorstehend
mit Bezug auf 4 und die Bildqualifikation 18 beschrieben
wurde. Die Hauptunterschiede zwischen der Histogrammerzeugung 80 und
der Histogrammerzeugung 40 bestehen darin, dass alle, im
Gegensatz zu einem Bruchteil der, verfügbaren Bilddaten während der
Histogrammerzeugung 80 verarbeitet werden, und dass die
während
der Histogrammerzeugung 80 verwendeten Steigungstabellenwerte diejenigen
Werte sind, die während
der Steigungstabellenerzeugung 78, und nicht während der
Steigungstabellenerzeugung 38, erzeugt werden.
-
Eine
bedeutende Komponente der Musterschaffung 20 wird durch
Block 82 in 15 angezeigt: die Drahtrahmenerzeugung 82.
Die Drahtrahmenerzeugung 82 ist der Prozess der Ausdünnung auf
einen speziellen Satz dünner
Linien, welche illustrativ als Drahtrahmenlinien bezeichnet werden,
wobei die Merkmale, insbesondere die Papillarlinienmerkmale des
Fingerabdrucks, innerhalb des in Übereinstimmung mit der Vorverarbeitung 76 erzeugten
monochromen Bildes eingeschlossen sind. 27 ist
ein Blockdiagramm, welches eine detaillierte Darstellung der prozeduralen
Komponenten der Drahtrahmenerzeugung 82 liefert.
-
Eine
der Komponenten der Drahtrahmenerzeugung
82 ist, wie durch
Block
122 in
27 dargestellt, die Lokalisierung
von Pixeln innerhalb des monochromen Bildes, welche das annähernde Zentrum
einer Vielzahl von Kanten sind, im vorliegenden Fall das annährende Zentrum
von Papillarlinien des Fingerabdrucks. Sind die Zentrumspixel lokalisiert,
so wird eine verdünnte
Version des monochromen Bildes durch Ausdünnen der Papillarlinien auf
die Zentrumspixel erzeugt, um einen Satz von Drahtrahmenlinien zu
schaffen. Ein effektives Verfahren zur Lokalisierung von Pixeln,
welche das annährende
Zentrum von Papillarlinien darstellen, und um gleichzeitig das monochrome
Bild auf einen Satz von Drahtrahmenlinien zu verdünnen, ist
wie folgt (natürlich
könnten
andere Verfahren ebenso verwendet werden): Gleichung
14:
-
Bild 134 in 28 ist eine Darstellung eines monochromen Bildes
nach einer ersten Entfernung von Pixeln von Papillarlinien des Bildes.
Bild 136 in 29 ist eine Darstellung eines
monochromen Bildes mit einer umfassenden Darstellung von Pixelentfernungs-Durchgängen, welche
während
der Ausdünnung
des monochromen Bildes auf zentrale Bildlinienpixel erfolgen. Bild 138 in 30 ist eine Darstellung von 29, welche weiter eine Schablone eines ausgedünnten monochromen
Bildes mit Roh-Drahtrahmenlinien aufweist. Bild 140 in 31 ist schließlich
eine Darstellung eines verdünnten
monochromen Bildes mit Roh-Drahtrahmenlinien.
-
Die
Ausdünnungsprozess-Prozedur
aus Block 122 (27)
erzeugt eine verdünnte
Version des monochromen Bildes, welche Drahtrahmenlinien aufweist,
die an einigen Stellen mehr als ein Pixel dick sein können. Zusätzlich kann
das ausgedünnte
Bild als Ganzes Pixel aufweisen, welche nicht zu irgend einer Linie
gehören.
Entsprechend ist, wie durch Block 124 in 27 angezeigt, eine weitere Komponente der Drahtrahmenerzeugung 82 die
Entfernung von überschüssigen Pixeln 124.
Die Komponente 124 kann wie folgt vorangehen: Die ausgedünnte Version
des monochromen Bildes wird gescannt, bis ein Pixel mit einem Wert
ungleich null lokalisiert wird. Dann werden die umgebenden acht
Pixel verwendet, um einen Index in einer Tabelle zu bilden. Der
Eintrag in der Tabelle enthält
Flags, welche die potentiell durchzuführenden Operationen definieren:
- 1. Entferne Zentrumspixel
- 2. Entferne Zentrumspixel und setze ein neues Pixel (M).
- 3. Setze ein neues Pixel (N).
-
Nachfolgend
die Indexe der Tabelle: Gleichung
15
[wobei der Indexwert gleich der Binärsumme von
vorhandenen Pixelpositionen ist und als Hexadezimalwert angegeben
wird (d.h. Pixelposition 4, falls vorhanden, = 2
4. also
gleich Hexadezimalwert 16); und wobei Zählung gleich Anzahl vorhandener
Pixel in einer 3 × 3-Matrix,
welche die zentrale Pixelposition "P" umgeben.]
-
Bild 142 in 32 ist eine Darstellung einer ausgedünnten Version
eines monochromen Bildes nachdem überschüssige Pixel entfernt wurden.
Bild 144 in 33 ist eine Darstellung, welche
die Beziehung zwischen einer ausgedünnten Version eines monochromen
Bildes ohne überschüssige Pixel
und einem entsprechenden monochromen Bild demonstriert (Papillarlinien
des monochromen Bildes in weiß).
-
Nachdem
die ausgedünnte
Version des monochromen Bildes erzeugt und überschüssige Pixel von den Drahtrahmenlinien
entfernt wurden, können,
wie durch Block 126 in 27 dargestellt,
können
Endpunkt- und Mittelpunkttabellen konstruiert werden. Um diese Tabellen
zu konstruieren, werden die Drahtrahmenlinien gescannt und alle
Endpunkte (diejenigen Pixel auf den Drahtrahmenlinien, welche nur
ein anderes Pixel berühren)
werden in der Endpunkttabelle katalogisiert. Bild 146 in 34 ist eine Darstellung eines ausgedünnten monochromen
Bildes (überschüssige Pixel
entfernt), welches eine Darstellung von Daten von einer Endpunkttabelle
enthält
(weiße
Punkte stellen Endpunkte dar). Beim Scannen der Drahtrahmenlinien
werden die Mittelpunkte (diejenigen Pixel, welche mehr als zwei
andere Pixel berühren)
in der Mittelpunkttabelle katalogisiert. Bild 148 in 35 ist eine Darstellung eines ausgedünnten monochromen
Bildes, welches eine Darstellung von Daten von einer Mittelpunkttabelle
enthält
(weiße
Punkte stellen Mittelpunkte dar).
-
Die
Punkte innerhalb der Endpunkt- und Mittelpunkttabellen werden in
der anschließenden
Verarbeitung verwendet. In einer Ausführungsform werden die Punkte
verwendet, um einmalige Datenelemente, wie beispielsweise Spitzen,
Lücken
und Anti-Papillarlinien zu identifizieren. Diese Datenelemente können identifiziert
und katalogisiert werden, was durch Daten, welche die präzise Position
von Endpunkten oder Mittelpunkten beschreiben, sowie Steigungswerte,
welche mit an den Punkten angebrachten Linien im Zusammenhang stehen,
erfolgt. Die Ausrichtung dieser Datenelemente ist einmalig für einen
bestimmten Systemanwender und kann verwendet werden, um einen Satz
von Bilddaten zu verifizieren oder ihn mit einem oder mehreren anderen
Sätzen
von Bilddaten abzugleichen.
-
Nachdem überschüssige Pixel
von den in dem ausgedünnten
monochromen Bild enthaltenen Drahtrahmenlinien entfernt wurden,
besteht der nächste
Schritt in der Drahtrahmenerzeugung 82 in Übereinstimmung
mit Block 128 in 27 darin,
einen verfeinerten Satz von Drahtrahmenlinien zu erzeugen, indem überschüssige Zweige
entfernt werden. Wie aus Bild 142 in 32 hervorgeht, enthalten die Drahtrahmenlinien innerhalb
des ausgedünnten
monochromen Bildes zahlreiche kleine Zweige, welche von den Hauptlinien
abstehen. Die Entfernung einer Auswahl dieser Zweige hinterlässt einen
verfeinerten Satz von Drahtrahmenlinien, welche für die anschließende Minutien-
und Vektorsegmentextraktion relativ eben sind.
-
Der
Zweigentferntungsprozess von Block 128 kann sich auf Daten
stützen,
welche aus Endpunkt- und Steigungstabellen entnommen werden, die
beide vorher im Musterschaffungs(20)-Prozess erzeugt wurden. Jeder
Eintrag in die Endpunkttabelle wird verwendet, um ein Liniensegment
zu lokalisieren, das einen Endpunkt aufweist. Das Segment wird von
dem Endpunkt entlang des entsprechenden Liniensegments für sieben Pixel
zurückverfolgt,
oder aber so lange, bis ein Mittelpunkt lokalisiert wird. Beträgt die Segmentlänge weniger als
fünf Pixel,
so wird es unbedingt entfernt (die Pixel werden aus dem Bild gelöscht). Endet
das Segment an einem Mittelpunkt, so wird die Steigung des Segments
mit der Steigung von Bildelementen in derselben Nähe verglichen.
Steigungsdaten werden aus der Steigungstabelle abgeleitet. Ist die
Differenz zwischen den beiden Steigungen größer als 25 Grad, so wird das
Segment entfernt. Bild 150 in 36 ist
eine Darstellung eines verfeinerten Satzes von Drahtrahmenlinien,
welche sich aus der Entfernung überschüssiger Drahtrahmenzweige
ergeben. Bild 152 in 37 ist
eine Darstellung, welche die Beziehung zwischen dem verfeinerten Satz
von Drahtrahmenlinien und einem entsprechenden monochromen Bild
demonstriert (Papillarlinien des Bildes in weiß).
-
Nachdem
der verfeinerte Satz von Drahtrahmenlinien erzeugt wurde, können überschüssige Pixel nochmals
aus dem Bild entfernt werden. Beispielsweise werden überschüssige Pixel
lokalisiert und auf dieselbe Weise wie vorstehend mit Bezug auf
Gleichung 15 beschrieben entfernt. Die Endpunkttabelle und die Mittelpunkttabelle
können
entweder neu berechnet werden bevor, oder aber beispielhaft nachdem, überschüssige Pixel
nochmals entfernt werden bzw. wurden.
-
Wie
durch Block 130 in 27 demonstriert,
ist eine weitere prozedurale Komponente der Drahtrahmenerzeugung 82 die
Fixierung der Endpunkte. Wie aus Bild 150 in 36 hervorgeht, können Segmente am Ende einer
Linie innerhalb des verfeinerten Satzes von Drahtrahmenlinien sich
krümmen
oder können
einen Steigungswinkel darstellen, welcher nicht mit Steigungstabelleneinträgen in derselben
Nähe übereinstimmt.
-
In Übereinstimmung
mit Block 130 kann, um diese Mängel zu korrigieren, jeder
Eintrag in der Endpunkttabelle verwendet werden, um bei der Schaffung
eines weiter verfeinerten Satzes von Drahtrahmenlinien zu helfen.
Entsprechend wird jeder Eintrag in der Endpunkttabelle verwendet,
um ein entsprechendes Liniensegment sieben Pixel zurückzuverfolgen,
oder aber so lange, bis ein Mittelpunkt getroffen wird. Wird ein
Mittelpunkt getroffen, so wird das Segment wiederhergestellt. Wird
kein Mittelpunkt getroffen, so wird die Linie aus dem Drahtrahmenbild
entfernt. Nachdem die Linie entfernt wurde, wird der Steigungstabelleneintrag
für den Endpunkt
des Liniensegments aus der Steigungstabelle abgerufen. Dieser Steigungswert
wird verwendet, um ein neues Liniensegment zu erzeugen, indem ein
Linienzieh-Algorithmus verwendet wird, und zwar vom Endpunkt bis
zum Ende des monochromen Bildes. Bild 154 in 38 ist eine Darstellung, welche die Beziehung zwischen
einem weiter verfeinerten Satz von Drahtrahmenlinien, ein schließlich fixer
Endpunkte, und einem entsprechenden monochromen Bild zeigt (Papillarlinien
des Bildes weiß).
-
Die
Endpunkt- und Mittelpunkttabellen können neu berechnet werden,
nachdem die Endpunkte in Übereinstimmung
mit Block 130 fixiert wurden, und nach der Schaffung eines
weiter verfeinerten Satzes von Drahtrahmenlinien.
-
Wie
durch Block 132 in 27 demonstriert,
ist eine weitere prozedurale Komponente der Drahtrahmenerzeugung 82 die
Verbindung von Endpunkten. Datenelemente von Papillarlinien des
Fingerabdrucks können
aufgrund von Papierschnitten, Blasen, Verbrennungen, Hautfalten,
Feucht-/Trocken-Bedingungen oder aufgrund anderer Bildscanprobleme,
wie beispielsweise diejenigen durch Umwelteinflüsse in der Umgebung des Bildlesers 12 verursachten,
unterbrochen sein. In Übereinstimmung
mit der Endpunktverbindung 132 wird versucht, Endpunkte
auf eine Weise zu verbinden, welche bestimmte Lücken in den Papillarlinien überbrückt.
-
In Übereinstimmung
mit einer Form der Endpunktverbindung 132 wird jeder Eintrag
in der Endpunkttabelle mit allen anderen Einträgen in der Endpunkttabelle
verglichen. Befinden sich zwei beliebige Punkte innerhalb sechs
Pixel voneinander und ist die Steigung entsprechender Linien innerhalb
25 Grad voneinander, werden die Segmente verbunden. Bild 156 in 39 ist eine Darstellung, welche die Beziehung
zwischen einem weiter verfeinerten Satz von Drahtrahmenlinien, einschließlich fixierter
und verbundener Endpunkte, und einem entsprechenden monochromen
Bild demonstriert (Papillarlinien des Bildes in weiß). Die
Endpunkt- und Mittelpunkttabellen
können
erneut berechnet werden, nachdem die Endpunkte verbunden wurden.
Nachdem die Endpunkte innerhalb des weiter verfeinerten Satzes von
Drahtrahmenlinien verbunden wurden, ist ein vollständiges Drahtrahmenbild,
basierend auf einem entsprechenden monochromen Bild, in Übereinstimmung
mit der Drahtrahmenerzeugung 82 abgeschlossen.
-
Nachdem
ein monochromes Bild in ein vollständiges Drahtrahmenbild umgewandelt
wurde, besteht die nächste
Komponente der Musterschaffung 20 in Übereinstimmung mit Block 84 in 15 darin, das vollständige Drahtrahmenbild zu analysieren,
um Gabelungen und Erhöhungen
des Fingerabdrucks zu lokalisieren, damit diese katalogisiert und
innerhalb eines Bildmusters zusammen mit anderen Datenelementen
aufgenommen werden können.
In Übereinstimmung
mit einer Ausführungsform
sind relativ zu Abschnitt 12 die Bildauflösung und
mit Bezug auf 40 allgemeine Datenelemente
im Zusammenhang mit einer Gabelung wie folgt:
-
Gleichung 16
-
- – Schenkelsegmente 162, 164 und 168.
Diese Segmente weisen die gleiche Länge auf, und jedes weist mindestens
einen Ursprungspunkt am Mittelpunkt 158 auf. In Übereinstimmung
mit einer Ausführungsform wird
jedes Segment auf 17 Pixel gesetzt.
- – Die
Koordinaten des Mittelpunktes 158. Dieser Punkt wird zur
Definition einer Gabelung verwendet. Die obere linke Ecke des Bildes
soll die Koordinaten 0,0 aufweisen. Positive x-Koordinaten sind
rechts, positive y-Koordinaten sind abwärts.
- – Erster
Teilungswinkel 160. Dies ist der Winkel zwischen den Schenkelsegmenten 162 und 164,
welcher zur Definition einer Gabelung verwendet wird. In Übereinstimmung
mit einer Ausführungsform
kann der erste Teilungswinkel 160 definitionsgemäß 120 Grad
nicht übersteigen.
- – Richtungswinkel 166.
Dieser Winkel ist die Richtung einer Gabelung und wird zur Definition
einer Gabelung verwendet. In Übereinstimmung
mit einer Ausführungsform
kann der Richtungswinkel 166 Werte zwischen 0 und 359 Grad
aufweisen.
- – Es
sollte sich verstehen, dass der Winkel zwischen den Schenkelsegmenten 162 und 168 der
größte Winkel
aller Winkel zwischen Schenkelsegmenten ist.
- – Eine
Zählung
der Anzahl von 20 (beispielhaft 20) Pixelsegmenten, welche sich
von Punkt 158 entlang der mit dem Schenkelsegment 162 verbundenen
Drahtrahmenlinie erstrecken, wird zur Definition von Datenpunkten
im Zusammenhang mit einer Gabelung verwendet. Es wird angenommen,
dass dies das erste Schenkelsegmentfeld darstellt.
- – Eine
Liste (von Längenzählungen)
der x- und y-Koordinaten der 20 (beispielhaft 20) Pixelsegment-Endpunkte
wird konstruiert, um Datenpunkte innerhalb eines ersten Schenkelsegmentfeldes
zu katalogisieren, Schenkelsegmentfeld-Datenpunkte können ebenfalls
als Vektorsegment-Datenpunkte bezeichnet und in Übereinstimmung mit einer Ausführungsform,
sowie in Übereinstimmung
mit der vorliegenden Erfindung, verwendet werden, um ein Bildmuster
mit einem anderen zu vergleichen. Gabelungen werden als ein Ursprung
für die
Katalogisierung von Vektorsegment-Datenpunkten verwendet.
- – Eine
Zählung
der Anzahl von 20 (beispielhaft 20) Pixelsegmenten, welche sich
von Punkt 158 entlang der mit dem Schenkelsegment 164 verbundenen
Drahtrahmenlinie erstrecken, wird konstruiert, um Datenpunkte innerhalb
eines zweiten Schenkelsegmentfeldes zu katalogisieren.
- – Eine
Liste (der Längenzählung) der
x- und y-Koordinaten der 20 (beispielhaft 20) Pixelsegment-Endpunkte
wird konstruiert, um zweite Schenkelsegmentfeld-Datentpunkte (Vektorsegment-Datenpunkte)
zu katalogisieren.
- – Eine
Zählung
der Anzahl von 20 (beispielhaft 20) Pixelsegment-Endpunkte, welche sich von Punkt 158 aus
entlang einer mit dem Schenkelsegment 168 verbundenen Drahtrahmenlinie
erstrecken, wird verwendet, um Datenpunkte im Zusammenhang mit einer
Gabelung zu definieren. Es wird angenommen, dass dies das dritte
Schenkelsegmentfeld darstellt.
- – Eine
Liste (der Längenzählung) der
x- und y-Koordinaten der 20 (beispielhaft 20) Pixelsegment-Endpunkte
wird konstruiert, um dritte Schenkelsegmentfeld-Datenpunkte (Vektorsegment-Datenpunkte)
zu katalogisieren.
- – In Übereinstimmung
mit einer Ausführungsform
beträgt
die maximale Anzahl von Schenkelsegmenten für jedes Feld von Datenpunkten
20 (beispielhaft 20).
-
Es
sollte betont werden, dass die exakten Werte, insbesondere Werte,
welche Pixelzählungen
und Segmentzählungen
entsprechen, modifiziert werden könnten, ohne von der vorliegenden
Erfindung abzuweichen. Unterschiedliche Techniken des Leserabschnitts 12 (1)
können
derartige Modifikationen erforderlich machen.
-
Die
in der vorliegenden Erfindung im Kontext illustrativer Ausführungsbeispiele
gelieferten bestimmten Werte sind lediglich als illustrative Werte
zu betrachten.
-
Die
Lokalisierung einer möglichen
Gabelung kann mit der während
der Drahtrahmenerzeugung 82 geschaffenen Mittelpunkttabelle
beginnen. Jeder Eintrag in die Mittelpunkttabelle wird als potentielle
Gabelung betrachtet. Beginnend mit einem Mittelpunkteintrag in der
Mittelpunkttabelle wird jedes sich davon erstreckende Segment nachverfolgt.
Wenn eine Länge
von 17 Pixeln erreicht ist, werden die entsprechenden x- und y-Koordinaten
in einer Liste angeordnet und eine Schenkelsegment-Zählung wird
erhöht.
Die Nachverfolgung endet jedoch unter einer der folgenden Bedingungen:
- 1. Eine Zählung
von 20 (beispielhaft 20) Schenkelsegmenten wird erreicht.
- 2. Ein Endpunkt wird erfasst (aus der Endpunkttabelle)
- 3. Ein Mittelpunkt aus der Mittelpunkttabelle wird erfasst.
-
Wenn
die Linien-Nachverfolgung abgeschlossen ist, können drei Winkel für potentielle
Gabelungen berechnet werden:
- 1. Der Winkel
zwischen den Schenkelsegmenten 162 und 164.
- 2. Der Winkel zwischen den Schenkelsegmenten 164 und 168.
- 3. Der Winkel zwischen den Schenkelsegmenten 162 und 168.
-
Diese
Winkel werden in aufsteigender Reihenfolge sortiert. Der kleinste
Winkel zwischen den Segmenten 162 und 164 wird
als Teilungswinkel gespeichert. Als Nächstes wird der Winkel 166 mit
Hilfe des Punktes 167 als Koordinaten 0,0 berechnet. Nachdem
die Schenkelsegmente identifiziert und entsprechende Winkel berechnet
wurden, ist eine Liste von Gabelungen konstruiert worden. Die Gabelungen
sind beispielhaft durch die Mittelpunkttabelle definiert.
-
Eine
Erhöhung
wird als besonderer Fall von Gabelung betrachtet. Mit Bezug auf 41, wobei 40 und 41 gemeinsame
Elemente identische Bezugszeichen aufweisen, sind beispielhafte
allgemeine Datenelemente im Zusammenhang mit einer Erhöhung, sowie
darauf basierende Annahmen, wie folgt:
-
Gleichung 17
-
- – Der
Endpunkt 182 der Erhöhung 165.
Dieser Punkt ist der Mittelpunkt 158 des besonderen Falles
von Gabelung.
- – Die
obere linke Ecke des Bildes ist wiederum die Koordinate 0,0. Positive
Werte von x sind rechts und positive Werte von y abwärts.
- – Mit
Hilfe der Richtung der des Erhöhungs(165)-Segments,
welches sich von Punkt 170 bis zum Endpunkt 172 erstreckt,
als Richtung erstreckt sich das Ende der Erhöung bis zu den Punkten 162 und 164.
- – Die
Punkte 162 und 164 fallen zusammen.
- – Der
Richtungswinkel 174 stellt die Richtung der Erhöhung dar.
In Übereinstimmung
mit einer Ausführungsform
wird angenommen, dass der Richtungswinkel Werte zwischen 0 und 359
aufweisen kann.
- – Der
Winkel zwischen dem Segment, welches sich zwischen den Punkten 172 und 162 erstreckt,
und dem Segment, welches sich zwischen Punkt 172 und 164 erstreckt
(erster Teilungswinkel 160) wird auf null gesetzt.
- – Das
Segment, welches sich vom Endpunkt 172 zu den Punkten 162/164 erstreckt,
weist dieselbe Länge auf
wie das Segment, welches sich vom Punkt 170 zum Endpunkt 172 erstreckt.
In Übereinstimmung
mit einer Ausführungsform
wird angenommen, dass jedes Segment auf 17 (dieser Wert kann variieren)
Pixel gesetzt wird.
- – Eine
Zählung
der Anzahl von 20 (dieser Wert kann variieren) Pixelsegment-Endpunkten,
welche von Punkt 158 entlang der Erhöhung 165 verfolgt,
wird zur Definition von Datenpunkten im Zusammenhang mit einer Erhöhung verwendet.
Es wird angenommen, dass dies die erste Schenkelsegmentfeldliste
ist.
- – Eine
Liste (der Längenzählung) der
x- und y-Koordinaten der 20 (dieser Wert kann variieren) Pixelsegment-Endpunkte
wird konstruiert, um die ersten Schenkelsegmentfeld-Datenpunkte
zu katalogisieren. Diese Datenpunkte sind Vektorsegment-Datenpunkte
und können
verwendet werden, um ein Bildmuster mit einem anderen zu vergleichen.
- – Die
beiden verbleibenden Segmentfeldlisten enthalten nur einen Punkt 162/164.
Dieser Punkt wird berechnet durch Verlängerung des Segments im Zusammenhang
mit der ersten Segmentfeldliste um 17 (dieser Wert kann variieren)
Pixel.
- – Die
maximale Anzahl von 20 (dieser Wert kann variieren) Pixelsegmenten
in dem ersten Schenkelsegmentfeld beträgt beispielhaft 20.
-
Die
Lokalisierung einer möglichen
Erhöhung
kann mit der während
der Drahtrahmenerzeugung 82 geschaffenen Endpunkttabelle
beginnen. Jeder Eintrag in der Endpunkttabelle wird als potentielle
Erhöhung
betrachtet. Beginnend mit einem Eintrag in der Endpunkttabelle wird
das entsprechende Liniensegment nachverfolgt. Wenn eine Länge von
17 (dieser Wert kann variieren) Pixeln erreicht ist, werden die
entsprechenden x- und y-Koordinaten in einer Liste angeordnet, und
eine Schenkelsegmentzählung
wird erhöht.
Die Nachverfolgung endet unter einer der folgenden Bedingungen:
- 1. Eine Zählung
von 20 (dieser Wert kann variieren) Segmenten wird erreicht.
- 2. Ein Endpunkt wird erfasst (aus der Endpunkttabelle).
- 3. Ein Mittelpunkt aus der Mittelpunkttabelle wird erfasst.
-
Damit
Erhöhungen
innerhalb eines Bildmusters eingeschlossen werden können, kann
verlangt werden, dass sie bestimmte Qualifizierungsstandards erfüllen. Entsprechend
wird, nachdem ein Vektorsegment nachverfolgt wurde, das sich von
Punkt 170 zum Endpunkt 172 erstreckende Element
entlang desselben Winkels bis 162/164 verlängert. Falls
während
der Verlängerung
eine Bild-Papillarlinie überquert
wird, wird die entsprechende Erhöhung
nicht gespeichert, und wird nicht in ein Bildmuster aufgenommen.
Zusätzlich
wird eine Linie senkrecht zu dem sich vom Endpunkt 172 zu
Punkt 162/164 erstreckenden Segment in beide Richtungen über eine
Distanz von beispielhaft 20 (dieser Wert kann variieren) Pixeln
verlängert.
Wenn keine dieser 20 (dieser Wert kann variieren) Pixellinien eine
Bild-Papillarlinie kreuzt, wird die Erhöhung nicht gespeichert. Die
Abstände
während
der senkrechten Verlängerung
werden dann verglichen, um festzustellen, ob der Endpunkt 172 in
etwa der Mittelpunkt ist. Ist dies nicht der Fall, so wird die Erhöhung nicht
gespeichert. Die Ausgabe dieses Prozesses ist eine Liste qualifizierter
Erhöhungen,
welche durch die Endpunkttabelle definiert sind. Der Richtungswinkel 174 wird
als Hilfe bei der Definition von Erhöhungen verwendet, und wird
unter Verwendung von Punkt 170 als Koordinaten 0,0 berechnet.
-
Zusätzlich zur
Lokalisierung müssen,
um innerhalb eines Bildmusters eingeschlossen zu werden, Erhöhungen und
Gabelungen bestimmte Qualifikationen erfüllen. Wie vorstehend beschrieben,
werden Erhöhungen
gleichzeitig mit ihrer Lokalisierung qualifiziert. Gabelungen müssen jedoch
in Übereinstimmung
mit Block 86 in 15,
um innerhalb eines Bildmusters eingeschlossen zu werden, mehrere
Qualifikationen zusätzlich
zu denjenigen während
des Gabelungs-Lokalisierungsprozesses auferlegten erfüllen. Mit
Bezug auf 40 wird nachstehend eine Liste
von Filterregeln angeführt,
die möglicherweise
verwendet werden müssen,
um Gabe lungen für
den Eintrag in ein Bildmuster weiter zu qualifizieren:
-
Gleichung 18
-
- – Mit
der Annäherung
des ersten Teilungswinkels 160 an 120 Grad steigt das Risiko,
dass der Teilungswinkel mit Hilfe der falschen Schenkelanstiege
definiert wird. Entsprechend ist die erste Filterregel, dass der erste
Teilungswinkel 160 kleiner als 115 Grad sein muss.
- – Mindestens
zwei der Gabelungsschenkel müssen
drei oder mehr 20 (dieser Wert kann variieren) Pixelsegmente aufweisen.
- – Die
Steigung der Schenkelsegmente 162, 164 und 168 muss
innerhalb von 30 Grad von der Steigungstabelle für denselben Bereich liegen.
-
Bild 176 in 42 ist eine Darstellung eines Drahtrahmenbildes,
innerhalb welchem qualifizierte Gabelungen und Erhöhungen eingekreist
sind. Endpunkte und Mittelpunkte sind mit weißen Punkten identifiziert. Bild 178 in 43 ist eine Darstellung eines Drahtrahmenbildes,
innerhalb welchem dieselben qualifizierten Gabelungen und Erhöhungen eingekreist
sind. Innerhalb von Bild 178 wurden Vektorsegment-Datenpunkte (wobei
sich die beispielhaften 20 Pixelsegmente von einer qualifizierten
Erhöhung
oder Gabelung erstrecken) nachverfolgt und sind in weiß gezeigt.
Vektorsegment-Datenpunkte folgen annähernd Drahtrahmenlinien, welche
sich mit einer qualifizierten Gabelung und Erhöhung verbinden, und können zum
Vergleich eines Bildmusters mit einem anderen verwendet werden.
-
In Übereinstimmung
mit Block 88 in 15 ist
der letzte Schritt im Mustererzeugungs(20)-Prozess der Aufbau
eines Bildmusters basierend auf einem vollständigen Drahtrahmenbild und
davon abgeleiteten Bildelementen. Ein vollständiges Bildmuster besteht aus
folgenden Elementen:
-
Gleichung 19
-
- – Eine
Zählung
qualifizierter Gabelungen
- – Eine
Zählung
qualifizierter Erhöhungen
- – Eine
Gabelungs- und Erhöhungsliste,
welche Folgendes umfasst:
– Den
Mittelpunkt (Mittelpunkt 158 für Gabelungen oder Endpunkt 172 für Erhöhungen,
s. 40 und 41),
welcher mit x- und y-Koordinaten identifiziert ist.
– Den Richtungswinkel
(Winkel 166 für
Gabelungen oder Winkel 174 für Erhöhungen)
– Den Teilungswinkel
(Winkel 160 für
Gabelungen oder ein Nullwert für
Erhöhungen)
– Drei Schenkelsegmentfelder
(Vektorsegmentfelder), welche Folgendes umfassen:
a) Zählung von
20 (dieser Wert kann variieren) Pixelsegmenten, welche sich von
einem Punkt innerhalb ensprechender Erhöhung/Gabelung aus erstrecken.
b)
Liste von x-Koordinaten-Endpunkten entsprechend 20 (dieser Wert
kann variieren) Pixelsegmenten.
c) Liste von y-Koordinaten-Endpunkten
entsprechend 20 (dieser Wert kann variieren) Pixelsegmenten.
- – Datendarstellungen
von Liniensegmenten oder Vektorsegmenten, welche nicht durch Gabelungen
oder Erhöhungen
verwendet werden.
-
Gabelungen
sind innerhalb eines Bildmusters durch die Kreuzung von Papillarlinien-Segmenten
definiert. Mit Bezug auf 40 kann
die in einem Bildmuster für
eine Gabelung aufgezeichnete Information wie folgt sein:
-
Gleichung 20
-
- – Die
x- und y-Koordinaten des Mittelpunktes 158.
- – Erster
Teilungswinkel 160.
- – Richtungswinkel 166.
- – Eine
Liste der x- und y-Koordinaten, welche die aus dem Mittelpunkt 158 hervorspringenden
Vektor-/Schenkelsegmente nachverfolgen. Diese Punkte weisen einen
gleichen Abstand (beispielhaft 20 Pixel) voneinander auf. Die Nachverfolgung
und Sammlung von 20 (dieser Wert kann variieren)-Pixel-Vektor-/Schenkelsegmenten
dauert an, bis:
– Die
Nachverfolgung endet am Zentrum einer Gabelung.
– Das Ende
des Segments wird erreicht.
– Ein Höchstwert von vierzig 20 (dieser
Wert kann variieren)-Pixel-Segmenten wird aufgezeichnet.
-
Erhöhungen sind
definiert durch die Endung eines Papillarsegments. Der Endpunkt
muss annähernd auf
halbem Weg zwischen zwei Papillarsegmenten liegen und darf, wenn
er für
eine bestimmte Menge von Pixeln, beispielhaft 10 oder 20 (oder ein
anderer geeigneter Wert), verlängert
wird, kein anderes Papillarelement berühren. Mit Bezug auf 41 kann die in einem Bildmuster für eine Erhöhung aufgezeichnete
Information wie folgt sein:
-
Gleichung 21
-
- – Die
x- und y-Koordinaten des Endpunktes 172.
- – Erster
Teilungswinkel 160 (definitionsgemäß beträgt dieser Wert null).
- – Richtungswinkel 174.
- – Eine
Liste der x- und y-Koordinaten, welche die vom Punkt 172 abgehenden
Vektor-/Schenkelsegmente. Diese Punkte sind voneinander gleich weit
(beispielhaft 20 Pixel) entfernt. Die Nachverfolgung dauert an, bis:
– Ankunft
am Zentrum einer Gabelung.
– Das Ende des Drahtrahmensegments
erreicht wird.
– Ein
Höchstwert
von vierzig 20 (dieser Wert kann variieren)-Pixel-Segmenten aufgezeichnet
wird.
-
Papillarsegmente,
welche nicht durch Gabelungen oder Erhöhungen verwendet werden, können in
einem Bildmuster wie folgt aufgezeichnet werden:
-
Gleichung 22
-
- – Eine
Liste von x- und y-Koordinaten, welche die von Endpunkten abgehenden
Papillarelemente nachverfolgen. Diese Punkte sind gleich weit (beispielhaft
20 Pixel) voneinander entfernt. Die Nachverfolgung dauert an, bis:
– Die Nachverfolgung
am Zentrum einer Gabelung endet.
– Das Ende des Segments erreicht
ist.
– Ein
Höchstwert
von vierzig 20 (dieser Wert kann variieren)-Pixel-Segmenten aufgezeichnet
wird.
-
Informationen
innerhalb eines Bildmusters können
in Übereinstimmung
mit dem folgenden Datenspeicherformat gespeichert werden: Gleichung
23
-
Es
soll nochmals betont werden, dass die exakten Werte, insbesondere
Werte, welche Pixelzählungen und
Segmentzählungen
entsprechen, modifiziert werden könnten, ohne von der vorliegenden
Erfindung abzuweichen. Unterschiedliche Techniken des Leserabschnitts 12 (1)
können
derartige Modifikationen erfoderlich machen. Die gelieferten Werte,
ob ausdrücklich
angeführt
oder nicht, sind lediglich beispielhafte Werte.
-
Wie
durch Block 24 in 2 angezeigt,
kann ein vollständiges
Bildmuster als Basis für
einen Mustervergleich verwendet werden. Diese Technik kann in Verbindung
mit der in Übereinstimmung
mit der vorliegenden Erfindung durchgeführten Dateiverzeichnissuche verwendet
werden, wie nachfolgend beschrieben. Der Mustervergleich 24 ist
ein Prozess für
den Vergleich eines Bildmusters mit einem anderen.
-
Der
Mustervergleich kann mit Hilfe einer Reihe von Schiebe- und Drehalgorithmen
zur Anpassung mindestens eines Bildmusters und anschließende Zählung der
Anzahl übereinstimmender
Datenelemente erzielt werden. Datenelemente können Gabelungsdarstellungen,
Erhöhungsdarstellungen,
Vektorsegmente und mikrominutiöse
Punkte, sowie Kombinationen daraus, einschließen, sind jedoch nicht darauf
beschränkt. Wenn
durch Schieben und Rotation die Datenelementzählung sich einem Maximalwert
nähert
oder diesen erreicht, erreichen oder nähern sich die beiden Muster
ihrem maximalen Vergleichspunkt. Mit Hilfe der Zählungen übereinstimmender Datenelemente
am oder nahe des maximalen Vergleichspunkts kann ein Treffer, welcher
die Beziehung oder den Prozentsatz an Übereinstimmung darstellt, berechnet
werden.
-
Die
Theorie hinter dem Mustervergleich 24 ist, dass bei Rotation
und Schieben eines Musters die Anzahl übereinstimmender Datenelementpunkte
zu- oder abnimmt. Wenn die Anzahl von Punkten, welche für jeden
Winkel übereinstimmen,
in einem Graph aufgetragen wird, ergibt sich eine glockenförmige Kurve.
Das Maximum der Kurve stellt den Punkt dar, an welchem die Muster
am besten vergleichbar sind.
-
Der
Prozess kann durch lockeren Vergleich jeder Gabelung und Erhöhung in
einem Muster (Muster A) mit allen Gabelungen und Erhöhungen in
einem anderen Muster (Muster B) beginnen. Der lockere Vergleich macht
es möglich,
dass ein nicht passendes Paar ohne bedeutende Aufwendung von Verarbeitungszeit
entdeckt wird. Ein detaillierterer Vergleich könnte beispielhaft den lockeren
Vergleich ersetzen. Anforderungen, welche während des lockeren Vergleichs
verwendet werden, können
wie folgt definiert werden:
-
Gleichung 24
-
- – Die
Mittelpunkte müssen
innerhalb 90 (dieser Wert kann variieren) Pixeln in x-Richtung liegen.
- – Die
Mittelpunkte müssen
innerhalb von 120 (dieser Wert kann variieren) Pixeln in y-Richtung
liegen.
- – Die
Differenz zwischen Teilungswinkeln liegt innerhalb von plus oder
minus 8 Grad.
- – Die
Differenz zwischen Richtungswinkeln liegt innerhalb von plus oder
minus 40 Grad.
-
Eine
mögliche Übereinstimmung
kann basierend auf dem lockeren Vergleich erzeugt werden. Die mögliche Übereinstimmungstabelle
ergibt sich aus dem Gabelungs- oder Erhöhungsindex in Muster A. Jeder Eintrag
in die mögliche Übereinstimmungstabelle
weist Folgendes auf:
-
Gleichung 25
-
- – Eine
Zählung
möglicher Übereinstimmungen
- – Eine
Liste der Gabelungs- oder Erhöhungsindizes
in Muster B. Diese Liste definiert all diejenigen Punkte in Muster
B, welche locker mit dem Punkt in Muster A übereinstimmen.
-
Der
allgemeine Vergleichsprozess wird am besten durch ein einfaches
Codierungsbeispiel beschrieben. Insbesondere kann die Codierung
wie folgt definiert sein:
-
-
-
BESCHREIBUNG
DES SCHIEBEPROZESSES
-
Das
Ergebnis des letzten Schiebe- und Rotationsprozesses weist mehrere
Zählungen
auf:
-
Gleichung 27
-
- – Die
Anzahl passender Gabelungen.
- – Die
Anzahl passender Erhöhungen.
- – Die
Anzahl passender Segmente.
- – Die
Anzahl nicht passender Segmente.
-
Für die nachfolgende
Beschreibung werden folgende Definitionen verwendet:
-
Gleichung 28
-
- – Gesamtpunkte:
Die Summe der Anzahl passender Gabelungen und der Anzahl passender
Erhöhungen.
- – Segmente
pro Schenkel: gesamte passende Segmente geteilt durch Anzahl verglichener
Schenkel.
- – Prozent
der Punkte: Gesamtpunkte (multipliziert mit 100) geteilt
durch das Minimum gesamter Gabelungen und Erhöhungen in Muster A oder Muster
B.
- – Rohprozentsatz:
Die Anzahl passender Segmente (multipliziert mit 104) geteilt
durch die Summe passender Segmente und nicht passender Segmente.
-
Mit
Hilfe der vorstehenden Zählungen
kann ein Prozentsatz von Übereinstimmung
berechnet werden (nachfolgend ein anschauliches Beispiel basierend
auf einer beispielhaften Leservorrichtung... Werte können sich
in Abhängigkeit
von der speziellen Lesertechnik ändern).
-
Gleichung 29
-
- – Wenn
die Anzahl passender Segmente null beträgt, so beträgt der Übereinstimmungs-Prozentsatz
null.
- – Wenn
die Segmente pro Schenkel weniger als vier sind, so– beträgt der Übereinstimmungs-Prozentsatz null.
- – Wenn
die Gesamtpunkte weniger sind als drei, so beträgt der Übereinstimmungs-Prozentsatz
null.
- – Wenn
die Gesamtpunkte drei oder vier sind, so beträgt der Übereinstimmungs-Prozentsatz
1/4 der Prozent der Punkte.
- – Wenn
die Gesamtpunkte fünf
betragen und die Segmente pro Schenkel mehr als vier sind, so ist
der Übereinstimmungs-Prozentsatz
der Rohprozentsatz multipliziert mit Prozent der Punkte geteilt
durch 800.
- – Wenn
die Gesamtpunkte sechs bis zehn sind und
– die Segmente pro Schenkel
vier sind, so ist der Prozentsatz der Übereinstimmung der Rohprozentsatz multipliziert
mit Prozent von Punkten geteilt durch 700.
– die Segmente pro Schenkel
vier bis sieben betragen, ist der Übereinstimmungs-Prozentsatz
der Rohprozentsatz multipliziert mit Prozent der Punkte dividiert
durch 500.
– die
Segmente pro Schenkel mehr als acht sind, ist der Übereinstimmungs-Prozentsatz
der Rohprozentsatz multipliziert mit Prozent der Punkte dividiert
durch 300.
– Sind
die Gesamtpunkte mehr als 10, so ist der Übereinstimmungs-Prozentsatz
der Rohprozentsatz multipliziert mit Prozent der Punkte dividiert
durch 100.
-
Alternativ
kann mit Hilfe der vorstehenden Zählungen eine Übereinstimmungsbeziehung
berechnet werden.
-
Alternative Gleichung
29
-
- – Wenn
die Gesamtpunktzahl gleich null ist, so ist die Beziehung gleich
null.
- – Wenn
der Rotationswinkel zur Ausrichtung der Bilder größer als
das zulässige
Maximum ist, so ist die Beziehung gleich null. Dieser Wert ist so
einstellbar, dass er mit unterschiedlichen Bildgrößen und
Aspektverhältnissen
funktioniert.
- – Die
Beziehung zwischen zwei Bildern kann definiert sein als die Beziehung
zwischen Trefferelementen. Diese Elemente können Folgendes umfassen, sind
jedoch nicht darauf beschränkt:
– Die Anzahl
passender Gabelungsdarstellungen
– Die Anzahl nicht passender
Gabelungsdarstellungen
– Die
Anzahl passender Erhöhungen
– Die Anzahl
nicht passender Erhöhungen
– Die Anzahl
passender Segmentdarstellungen
– Die Anzahl nicht passender
Segmentdarstellungen
– Die
Anzahl von Segmentdarstellungen pro Schenkel
- – Eine
Reihe von Berechnungen werden dann durchgeführt, um die Trefferelementwerte
zu bestimmen, was Folgendes umfasst:
– Zur Bestimmung des Trefferelements
für die
Anzahl passender Gabelungen wird zunächst die Anzahl passender Gabelungen
verwendet, um den Gewichtungsfaktor zu bestimmen, welcher in der
Berechnung zu verwenden ist. Je größer die Anzahl passender Gabelungen,
umso mehr kann das Endergebnis gewichtet werden.
– Zur Bestimmung
des Trefferelements für
die Anzahl nicht passender Gabelungen wird zunächst die Anzahl passender Gabelungen
verwendet, um den Gewichtungsfaktor zu bestimmen, welcher in der
Berechnung zu verwenden ist. Je grö ßer die Anzahl passender Gabelungen,
umso geringer ist der Gewichtungsfaktor für die nicht passenden Gabelungen.
– Zur Bestimmung
des Trefferelements für
die Anzahl passender Erhöhungen
wird zunächst
die Anzahl passender Gabelungen verwendet, um den Gewichtungsfaktor
zu bestimmen, welcher in der Berechnung zu verwenden ist. Die Anzahl
passender Erhöhungen
wird dann verwendet, um weiter den Gewichtungsfaktor für dieses
Element zu erhalten. Je größer die
Anzahl passender Erhöhungen
und die Anzahl passender Gabelungen, umso mehr kann das Endergebnis
gewichtet werden.
– Zur
Bestimmung des Trefferelements für
die Anzahl nicht passender Erhöhungen
wird zunächst
die Anzahl passender Gabelungen verwendet, um den Gewichtungsfaktor
zu bestimmen, welcher in der Berechnung verwendet werden soll. Die
Anzahl passender Erhöhungen
wird dann verwendet, um weiter den Gewichtungsfaktor für dieses
Element zu erhalten. Je größer die
Anzahl passender Erhöhungen
und die Anzahl passender Gabelungen, umso geringer der Gewichtungsfaktor
für die
nicht passenden Erhöhungen.
– Zur Bestimmung
des Trefferelements für
die Anzahl passender Segmente wird die Gesamtanzahl passender Segmente
mit einem Gewichtungsfaktor multipliziert und dann durch die Gesamtsegmente
dividiert, welche sich innerhalb des Überlappungsbereichs des Fingerabdruck-Musters
befinden.
– Zur
Bestimmung des Trefferelements für
die Anzahl nicht passender Segmente werden die nicht passenden Schenkel
mit einem Gewichtungsfaktor multipliziert und durch die Anzahl passender
Schenkel dividiert.
– Zur
Bestimmung des Trefferelements für
die Segmente pro Schenkel wird zunächst die Anzahl passender Gabelungen
verwendet, um den Gewichtungsfaktor zu bestimmen, welcher in der
Berechnung zu verwenden ist. Die Anzahl passender Erhöhungen wird
dann verwendet, um weiter den Gewichtungsfaktor für dieses
Element zu erhalten.
– Diese
Berechnungen sind einstellbar, um unterschiedlichen Bildgrößen und
Aspektverhältnissen
gerecht zu werden. Diese Werte werden dann zusammenaddiert, um eine
Wahrscheinlichkeit der Beziehung zwischen den Bildern zu ergeben.
Dieser Wert wird dann um soviel angepasst, wie die beiden Bilder
sich in der Tat überlappen.
Je kleiner der Überlappungsbereich,
umso größer die
Korrektur an dem wert der Wahrscheinlichkeit der Beziehung.
-
Der
erforderliche Ähnlichkeitsgrad
innerhalb eines Bildidentifikations-basierten Sicherheitssystems, ehe
zwei Bildmuster für übereinstimmend
erklärt
werden, kann einstellbar sein. Ähnlichkeitspegel
können
basierend auf der Art der gesicherten Umgebung eingestellt werden.
Ein streng eingestelltes System würde maximale Sicherheit liefern,
indem es eine hohe Übereinstimmungs-Beziehung oder einen
hohen Prozentsatz erfordert, kann aber anfälliger für die unabsichtliche Abweisung
eines Paars übereinstimmender
Bildmuster sein. Im Gegensatz dazu würde ein locker eingestelltes
System eine kleinere Übereinstimmungs-Beziehung
oder einen geringeren Prozentsatz erfordern, und würde dementsprechend
einen geringeren Sicherheitsgrad liefern. Ein locker eingestelltes
System wäre
jedoch anfälliger
für fälschliche Übereinstimmungs-Bestimmungen und
weniger anfällig
für Übereinstimmungs-Abweisungen.
-
44 ist ein Blockdiagramm, welches einen Satz prozeduraler
Komponenten im Zusammenhang mit einem Eins-zu-Eins-Bildvergleichsprozess
darstellt. Block 180 zeigt einen ersten beispielhaften
Schritt in dem Prozess an, insbesondere die Ableitung eines ersten
Bilddatensatzes basierend auf einem ersten Bild und eines zweiten
Bilddatensatzes basierend auf dem zweiten Bild. Der erste und der
zweite Bilddatensatz weisen eine Vielzahl von Datenelementen auf,
welche beispielhaft, aber nicht notwendigerweise, im Zusammenhang mit
Fingerabdruck-Bildern stehen. Die beiden Datensätze sind Musterdarstellungen
des ersten und des zweiten Bildes und werden beispielhaft entsprechend
der vorstehenden Beschreibung in Bezug auf andere in dieser Beschreibung
enthaltene Figuren geschaffen.
-
Block 182 zeigt
eine optionale Leistung eines lockeren Vergleichsprozesses an. Beispielhaft
enthalten der erste und der zweite Datenelementsatz eine Vielzahl
von Datenelementtypen. Die Leistung oder des lockeren Vergleichs,
wie vorstehend beschrieben, macht den Vergleichsprozess dadurch
wirtschaftlicher, das diejenigen Datenelemente in einem der beiden
Sätze eliminiert
werden, welche nicht innerhalb einen vorbestimmten Qualifizierungsbereich
der Abweichung von einem Datenelement gleichen Typs in dem anderen
der beiden Sätze
passen.
-
Block 184 zeigt
einen Vergleich von Datenelementen aus dem ersten Bilddatensatz
mit Datenelementen aus den zweiten Bilddatensätzen an. Beispielhaft weisen,
wie vorstehend beschrieben, Datenelemente Definitionscharakteristika
auf, welche numerischer oder mathematischer Natur sind und den Vergleich
von Datenelementen vereinfachen. Beispielsweise wird in Übereinstimmung
mit einer Ausführungsform
während
des Vergleichsprozesses ein Qualifizierungsbereich der Abweichung
gewählt
oder vorbestimmt. Der Qualifizierungsbereich der Abweichung stellt
ein toleriertes Differential zwischen einem Definitionscharakteristikum
mindestens eines Datenelements der ersten Art aus dem ersten Bilddatensatz
und eines entsprechenden mindestens einen Definitionscharakteristikums
mindestens eines Datenelements der ersten Art aus dem zweiten Datensatz
dar. Eine Vielzahl von Definitionscharakteristika, jedes mit einem
Qualifizierungsbereich der Abweichung, kann verwendet werden, um
eine einzige Art von Datenelement zu definieren. Eine Zählung von
Datenelementen aus dem ersten und dem zweiten Bilddatensatz kann
erzeugt werden, wobei die Abweichungsmenge zwischen den Definitionscharakteristika
(oder -charakteristikum) sich innerhalb des Qualifizierungsbereichs
der Abweichung befindet. Im Grunde ist diese Zählung eine Zählung von
Datenelementen in dem ersten Bilddatensatz, welche in etwa mit Datenelementen
im zweiten Bilddatensatz übereinstimmen.
-
Block 186 zeigt
eine Überprüfung der
Zählung übereinstimmender
Datenelemente zur Evaluation, ob die Zählung einen Maximalwert darstellt.
Wenn nur ein Vergleich durchgeführt
wurde, wurde der Maximalwert noch nicht gefunden. In Situationen,
in welchen der Maximalwert nicht erhalten wurde, wird wie durch
Block 188 angezeigt, entweder der erste oder der zweite
Bilddatensatz und seine darin enthaltenen Datenelemente neu positioniert
(z.B. gedreht, verschoben oder beides). Dann kehrt der Prozess zu
Block 184 zurück,
wo ein neuer Vergleich erfolgt und eine neue Zählung erzeugt wird.
-
Die
Schritte des Vergleichs, der Zählung
und der Neupositionierung werden beispielhaft wiederholt, um eine
Vielzahl zusätzlicher
Zählungen
der Datenelemente in dem ersten Bilddatensatz zu erzeugen, welche annähernd mit
Datenelementen im zweiten Bilddatensatz übereinstimmen. Wenn, wie vorstehend beschrieben,
die Zählung
sich einem Maximalwert annähert,
geht der Prozess weiter.
-
Block 190 zeigt
den Vergleich des Zählwertes
mit einem vorbestimmten Zielwert an. Der vorbestimmte Zielwert kann
den gewählten Ähnlichkeitsgrad
darstellen, der erforderlich ist, damit das erste und das zweite Bild
als übereinstimmend
betrachtet werden. Der Zielwert kann basierend auf einem erwünschten
Grad und der Umfassendheit einer damit zusammenhängenden Sicherheitsanwendung
eingestellt werden. Wie durch Block 192 angezeigt, wird
wenn die Zählung
größer ist
als der vorbestimmte Zielwert, eine positive Übereinstimmung angezeigt. Wie
durch Block 194 angezeigt, wird wenn die Zählung geringer
ist als der vorbestimmte Zielwert, eine negative Übereinstimmung
angezeigt. Der Zählungsvergleich
könnte
auf der Basis einer Beziehung oder eines Prozentsatzes durchgeführt werden,
und Beziehungen oder Prozentsätze
könnten
anstelle der Zählungen
verglichen werden.
-
Wie
durch Block 26 in 2 angezeigt,
könnte
eine Durchsuchung einer Datenbank 26 durchgeführt werden,
entweder anstelle von oder in Kombination mit dem eben beschriebenen
Mustervergleich 24. Die Datenbanksuche 26 umfasst
eine schnelle und effiziente Bestimmung, ob falls überhaupt
eines der potentiell tausenden (oder mehr, d.h. Millionen) von in
der Datenbank enthaltenen Bildmustern, einen erwünschten Grad von Ähnlichkeit
im Vergleich mit einem gelieferten, d.h. einem Ziel-Bildmuster aufweist.
-
Zur
schnellen Identifikation eines Fingerabdrucks aus einer Datenbank
mit tausenden (oder Millionen oder mehr) Abdrücken wird ein Satz von Datenbankschlüsseln definiert.
Aufgrund zahlreicher Faktoren (zu trockener Finger, zu feuchter
Finger, Position des Fingers bei Platzierung auf dem Scanner, Verzerrungen
aufgrund von Druck, etc.) sind Schlüssel von allgemeiner (näherungsweiser)
anstatt spezifischer Natur. Diese allgemeinen Schlüssel können die
Basis für
allgemeine Hochgeschwindigkeitsindexierung bilden.
-
Ein
Satz von Schlüsseln
kann mit Hilfe einiger der mit Gabelungs- und Erhöhungs-Bildmusterelementen
zusammenhängenden
Charakteristika (vorstehend mit Bezug auf 40 und 41 definiert)
erzeugt werden. Die in der Schlüsselerzeugung
für eine
Gabelung verwendete Information besteht mit Bezug auf 40 aus folgenden Charakteristika:
-
Gleichung 30
-
- – Koordinaten
des Mittelpunktes 158. Die obere linke Ecke des Bildes
wird mit den Koordinaten 0,0 angenommen. Positive x-Koordinaten sind
rechts, und positive y-Koordinaten sind abwärts.
- – Ein
erster Teilungswinkel zwischen Schenkelementen 162 und 164 (Teilungswinkel 160).
- – Ein
zweiter Teilungswinkel zwischen den Segmenten 164 und 168.
- – Die
Richtung der Gabelung (Richtungswinkel 166).
-
Eine
Erhöhung
wird als besonderer Fall einer Gabelung betrachtet, wobei die folgenden
Annahmen mit Bezug auf 41 getroffen
werden:
-
Gleichung 31
-
- – Der
Endpunkt der Erhöhung
(Endpunkt 172) wird zum Mittelpunkt der Gabelung (Mittelpunkt 158).
- – Unter
Verwendung der Richtung des sich von Punkt 170 zum Endpunkt 158/172 erstreckenden
Segments als Richtung wird die Erhöhung bis zu den Punkten 162/164 verlängert.
- – Die
Punkte 162 und 164 fallen zusammen.
- – Der
Winkel zwischen den sich von Punkt 158/172 zu den Punkten 162 und 164 erstreckenden
Segmente (erster Teilungswinkel, vorstehend als Teilungswinkel 160 bezeichnet)
ist gleich null.
- – Der
Winkel zwischen den sich von Punkt 158/172 zu den Punkten 164 und 170 erstreckenden
Segmenten (zweiter Teilungswinkel, vorstehend als Richtungswinkel 174 bezeichnet)
wird zum Richtungswinkel.
-
Die
in der Schlüsselerzeugung
für eine
Erhöhung
verwendete Information ist folgende:
-
Gleichung 32
-
- – Die
Koordinaten des Mittelpunkts/Endpunkts 158/172.
- – Der
erste Teilungswinkel (Teilungswinkel 160). Unter Verwendung
der vorstehenden Annahmen ist dieser Winkel gleich null.
- – Der
zweite Teilungswinkel (Richtungswinkel 174).
-
Bei
der Speicherung von Druckmustern in der Datenbank werden zwei Tabellen
aktualisiert. Die erste Tabelle, KEY_1, ist eine zweidimensionale
Matrix. Der erste Index ist der erste Teilungswinkel, und der zweite Index
ist der zweite Teilungswinkel. Es sollte sich verstehen, dass der
erste Teilungswinkel 120 Grad nicht überschreiten kann und in Übereinstimmung
mit einer Ausführungsform
auf 115 Grad beschränkt
sein könnte. Zusätzlich kann
der zweite Teilungswinkel 180 Grad nicht überschreiten. Der Richtungswinkel
kann jeden Wert zwischen null und 359 aufweisen. Die Matrixgröße von KEY_1
beträgt
daher 116 (0 bis 115) mal 180 (0 bis 179). Die zweite Tabelle, KEY_2,
enthält
die Schlüsselinformation.
KEY_2 ist eine eindimensionale Matrix mit offenem Ende.
-
Jeder
Eintrag in KEY_1 enthält
zwei Elemente, eine Zählung
und einen Index in die Tabelle KEY_2. Die Elementzählung definiert
die Anzahl von Gabelungen oder Erhöhungen, welche identische Teilungs-
und Richtungswinkel aufweisen. Das Indexelement definiert den Startpunkt
für die
in Tabelle KEY_2 enthaltenen Schlüssel. Ein Eintrag in die Tabelle
KEY_2 besteht aus folgenden Elementen:
-
Gleichung 33
-
- – Der
x-Koordinate (X_CENTER) des Gabelungszentrums oder Erhöhungs-Endpunkts.
Die obere linke Ecke des Bildes wird mit den Koordinaten 0,0 angenommen.
- – Der
y-Koordinate (Y_CENTER) des Gabelungszentrums oder Erhöhungs-Endpunkts.
Die obere linke Ecke des Bildes wird mit den Koordinaten 0,0 angenommen.
- – Dem
Index bezüglich
der Gabelung oder Erhöhung
in dem Muster.
- – Dem
Richtungswinkel.
- – Der
Muster-Identifikationsnummer. Bei der Speicherung der Muster in
der Datenbank werden ihnen einmalige Nummern zugewiesen. Diese Nummern
beginnen bei einem vorgegebenen Wert, gewöhnlich 10.000.000 und werden
mit jedem hinzugefügten
Speicherwert um eins erhöht.
- – Der
Finger-Identifikationsnummer. Jedem Finger wird, beginnend mit null,
ein numerischer Wert zugewiesen. Dem linken kleinen Finger wird
null zugewiesen, dem linken Ringfinger wird eins zugewiesen, der
als letzter eingeteilte rechte kleine Finger ist die neun (von links
nach rechts).
- – Regelflags.
Dieses Element enthält
Informationen über
das Fingermuster:
Ist der Speicherwert als gelöscht markiert?
-
Die
Aktualisierung der Tabellen KEY_1 und KEY_2 kann am besten durch
das folgende Codierungsbeispiel beschrieben werden: Gleichung
34
-
Die
Tabellen KEY_1 und KEY_2 liefern ein Mittel zur Lokalisierung aller
Gabelungen und Erhöhungen mit
identischen Winkelcharakteristika. Tabelle KEY_1 liefert eine Zählung und
einen Startindex. Tabelle KEY_2 liefert die Schlüsseldaten. Auch sollte sich
verstehen, dass die in Tabelle KEY_2 gespeicherten Daten derart gruppiert
sind, dass alle Gabelungen und Erhöhungen, welche identische Winkelcharakteristika
aufweisen, einander benachbart sind.
-
Nach
der Konstruktion der Tabellen besteht der nächste Schritt darin, übereinstimmende
Musterbilder zu identifizieren. Diejenigen Drucke welche eine große Zahl
von Gabelungen und Erhöhungen
aufweisen, die in etwa zu einem Eintrag in der Datenbank passen,
werden am wahrscheinlichsten mit einem hohen Ergebnis verglichen.
Mit Hilfe der vorstehenden Tabellen und einiger Filterregeln wird
eine mögliche Übereinstimmungstabelle
geschaffen. Jeder Eintrag in der möglichen Übereinstimmungstabelle enthält folgende
Informationen:
-
Gleichung 35
-
- – Eine
Zählung
der Anzahl von Gabelungen und Erhöhungen, welche in etwa übereinstimmen.
- – Den
Abstand, sowohl in x- als auch y-Richtung, zwischen den beiden Mittelpunkten
(gespeichert als geordnetes Paar).
-
Wobei
in etwa übereinstimmen
wie folgt definiert ist:
- – Die Mittelpunkte müssen innerhalb
von 90 (dieser und andere spezifisch angegebene Werte können variieren)
Pixeln in x-Richtung
liegen.
- – Die
Mittelpunkte müssen
innerhalb von 120 (kann variieren) Pixeln in y-Richtung liegen.
- – Die
Winkeldifferenz für
den ersten Teilungswinkel befindet sich innerhalb plus oder minus
8 Grad.
- – Die
Winkeldifferenz für
den zweiten Teilungswinkel befindet sich innerhalb plus oder minus
8 (kann variieren) Grad.
- – Der
Richtungswinkel befindet sich innerhalb plus oder minus 20 (dieser
Wert kann variieren) Grad.
-
Diese
Tabelle wird mit Hilfe der Muster-Identifikationsnummer und der
Finger-Identifikationsnummer indiziert. In Übereinstimmung mit einer Ausführungsform
wird die Tabelle wie folgt geschaffen: Gleichung
36
-
-
An
diesem Punkt enthält
die mögliche Übereinstimmungstabelle
eine Liste aller Muster in der Datenbank, welche Kandidaten für den Vergleich
darstellen. Das Zählungsfeld
enthält
eine Zählung
der Gabelungen und Erhöhungen,
welche in etwa übereinstimmen.
Die Distanzliste enthält
eine geordnete Liste, Zählungswerteinträge, der
Distanzen vom Mittelpunkte des Musters zu denjenigen von Einträgen in der
Datenbank. Einige dieser Einträge
sind ungültig.
Die nachstehende Filterregel versucht einige ungültige Werte zu entfernen. Um ungültige Einträge zu entfernen,
wird die Distanzliste zunächst
mit Hilfe der x-Distanz in absteigender Reihenfolge sortiert (s.
nachstehendes Beispiel). Diese Liste wird dann auf der Suche nach
der längsten
Nummernfolge, deren Distanz weniger als 40 beträgt, gescannt. Der Start- und
End-Index dieser
Liste wird dann verwendet um die y-Komponente der geordneten Paare
zu sortieren. Die Liste wird dann auf der Suche nach der längsten Nummernfolge,
deren Distanz weniger als 40 beträgt, gescannt. Der Start- und
End-Index dieser Liste liefert eine neue Zählung als Ersatz für die alte
Zählung.
-
-
Im
vorstehenden Beispiel beträgt
die ursprüngliche
Zählung
17. Anschließend
an die erste Sortierung und Indexlokalisierung beträgt der Startindex
4 und der Endindex 12 (dargestellt durch einen Stern). Die zweite Sortierung
und Indexlokalisierung ergibt eine Zählung von 3.
-
Wenn
alle Übereinstimmungszählungen
angepasst sind, wird die Tabelle in absteigender Reihenfolge nach
Zählung
sortiert. Diejenigen Einträge
am Anfang der Liste (die höchsten
Zählungswerte)
stellen diejenigen Muster (aus der Datenbank) dar, welche mit dem
gelieferten Scan verglichen werden sollten.
-
Qualifikationsparamter
können
auf mehreren Niveaus angepasst werden, um den Eigenschaften des Lesers 12 sowie
dem Gesamtsicherheitsniveau gerecht zu werden, was falsche Übereinstimmungen
im Verhältnis
zu falschen Abweisungen angeht. Beispielsweise könnten die Distanzparamter der Übereinstimmungstabelle
so ausgedehnt werden, dass Einträge
berücksichtigt
werden, deren Distanz größer als
60 im Vergleich zu 40 ist, was im Endeffekt dazu führen würde, dass
der Grad an Sicherheit herabgesetzt und dadurch falsche Abweisungen
auf Kosten der Erhöhung
falscher Akzeptanzen reduziert würden.
-
Nun,
da ein Verfahren der Bildverarbeitung und Verfahren des Bildvergleichs
(einschließlich
der Verwendung von Datenbankschlüsseln)
beschrieben wurden, wird die vorliegende Erfindung im Vergleich
mit dieser vorstehenden Beschreibung verwandten Verfahren beschrieben.
-
45 ist ein Blockdiagramm, welches einen
Satz prozeduraler Komponenten im Zusammenhang mit einem eins-zu-vielen-
oder Datenbanksuch-Bildverarbeitungsverfahren in Übereinstimmung
mit einer Ausführungsform
der vorliegenden Erfindung darstellt. Block 196 zeigt einen
ersten beispielhaften Schritt in diesem Prozess
an, insbesondere die Ableitung eines ersten Bilddatensatzes, welcher
auf einem ersten Bild basiert, und einer Vielzahl anderer Bilddatensätze auf
der Basis einer Vielzahl anderer Bilder. Der erste und die anderen Bilddatensätze weisen
eine Vielzahl von Datenelementen auf, welche beispielhaft, jedoch
nicht notwendigerweise, mit Bildern von Fingerabdrücken zusammenhängen. Verschiedene
Typen von Datenelementen im Zusammenhang mit Fingerabdruck-Bildern
sind vorstehend im Bezug auf eins-zu-eins-Vergleiche beschrieben, aber
auch an anderen Positionen innerhalb der vorliegenden Erfindung.
-
Die
aus dem ersten und anderen Bildern abgeleiteten Bilddatensätze sind
beispielhaft Musterdarstellungen entsprechender erster und anderer
Bilder. Die Bilddatensätze
werden beispielhaft erzeugt wie vorstehend mit Bezug auf die anderen
in der Beschreibung der vorliegenden Erfindung enthaltenen Figuren
beschrieben.
-
Der
nächste,
durch Block 198 angezeigte Schritt ist die Schaffung eines
Dateiverzeichnisses, welches progressiv basierend auf mindestens
einem gemessenen Charakteristikum (z.B. einem bestimmten Winkel,
einer Länge,
etc.) eine wesentliche Anzahl einer bestimmten Art von Datenelement
(z.B. entweder Gabelungsdarstellungen, Erhöhungsdarstellungen, damit im
Zusammenhang stehende und nicht im Zusammenhang stehende Vektoren,
mikorminutiöse
Punkte, etc.) auflistet, die in der Vielzahl anderer Bilddatensätze auftreten. Jedes
Datenelement in dem Dateiverzeichnis ist beispielhaft mit einer
Identifikaion aufgelistet, welche einen Zusammenhang mit einem bestimmten
Bilddatensatz darstellt, innerhalb welchem das Datenelement auftritt.
-
Block 200 zeigt
den nächsten
Schritt in dem Prozess an, wobei eine Matrix erzeugt wird, welche
eine Zelle mit zwei Einträgen
für jede
aus einer Reihe (oder im wesentlichen allen) der potentiellen Konfigurationen für dieselbe
Art von Datenelement aufweist, die in dem in Schritt 198 geschaffenen
Dateiverzeichnis aufgelistet sind. Beispielsweise kann die spezielle
Art von Datenelement so gewählt
werden, dass sie die Gabelungsdarstellungen ist. Dann kann das gemessene
Charakteristikum die Richtung der Gabelung sein. Die Richtung der Gabelung
wird als ein Winkel zwischen 0° und
359° angegeben.
Somit entsprechen die potentiellen Konfigurationen den unterschiedlichen
möglichen Werten
innerhalb dieses allgemeinen Bereichs. Beispielsweise können Zellen
mit zwei Einträgen
für jeden
Bereich von 15° geschaffen
werden, d.h. je eine Zelle für
0° bis 14°, für 15° bis 29°, für 30° bis 44° usw. Mehr
als ein gemessenes Charakteristikum kann verwendet werden. Für Gabelungsdarstellungen
können
auch der erste und der zweite Trennungswinkel verwendet werden.
Auf diese Weise kann jede Zelle mit zwei Einträgen einer Dreiwege-Qualifikation
in Winkelbereiche für
die Richtung und die erste und zweite Teilung entsprechen. Eine
Beispielzelle kann alle Gabelungen mit einer Richtung zwischen 180° und 194° und einem
ersten Teilungswinkel zwischen 90° und
105° und
einem zweiten Teilungswinkel zwischen 45° und 59° identifizieren.
-
Block 202 zeigt
eine Aufzeichnung von Prozessinformationen innerhalb von Matrixfeldern
an. In Übereinstimmung
mit einer Ausführungsform
wird in einem Eintrag jeder Zelle mit zwei Einträgen ein Quantitätswert aufgezeichnet,
welcher eine Anzahl konsekutiver Datenelemente in dem Dateiverzeichnis
darstellt, die Charakteristika darstellen, welche in etwa den Charakteristika
des einen des Bereichs potentieller Konfigurationen entsprechen,
die den Datenelementkonfigurationen entsprechen, die mit dieser
Zelle mit zwei Einträgen
in Zusammenhang stehen. Beispielhaft wird in dem anderen Eintrag
der Zelle mit zwei Einträgen
ein Indexwert aufgezeichnet, welcher einem anfänglichen Datenelement entspricht,
das die Anzahl von in dem Dateiverzeichnis aufgelisteten konsekutiven
Datenelementen beginnt. Anders gesagt, werden die Zellen verwendet,
um Positionen innerhalb des progressiven Dateiverzeichnisses von
Datenelementen aufzuzeichnen, welche potentiell mit dem Datenelement
im Zusammenhang mit einer bestimmten Zellenposition übereinstimmen.
-
Block 204 zeigt
den nächsten
Schritt an, wobei eine Identifikation einer Zelle mit zwei Einträgen in der Matrix
existiert, welche mit einer Datenelement-Konfiguration mit Charakteristika
zusammenhängt,
die in etwa mit einem Zieldatenelement identisch sind, also einem
Datenelement aus dem ersten Bilddatensatz.
-
Block 206 zeigt
den nächsten
Schritt an, wobei das Zieldatenelement mit einer Gruppe von konsekutiven
Datenelementen verglichen wird, die in dem Dateiverzeichnis aufgelistet
sind, wie durch die Zelle mit zwei Einträgen im Zusammenhang mit diesem
Zieldatenelement angezeigt. Wie durch Block 208 angezeigt,
wird diese Identifikation und dieser Vergleich von Ziel-Datenelementen
mit zusammenhängenden
konsekutiven Datenelementen in dem Dateiverzeichnis für zusätzliche
Zieldatenelemente wiederholt.
-
Block 210 zeigt
den nächsten
Schritt an. Der Schritt umfasst die Berechnung und Notierung einer
Menge von Datenelementen in jeder der Vielzahl von anderen Bilddatensätzen, welche
in etwa mit Datenelementen, beispielhaft Zieldatenelementen, aus
dem ersten Bilddatensatz übereinstimmen.
Wenn Zieldatenelemente gefunden werden, welche mit Datenelementen
in dem Dateiverzeichnis übereinstimmen,
helfen die vorstehenden Identifikatoren bei der Erkenntnis, welcher
Bilddatensatz, zu welchem eine Erhöhung der Zählung erfolgen sollte.
-
Wie
durch Block 212 angezeigt, können ähnliche Dateiverzeichnisse,
Matrizen und Zählungen
für zahlreiche
Arten von Datenelementen erfolgen. Beispielhaft werden die Schritte 198 bis 210 mit
Hilfe einer Vielzahl von Arten von Datenelementen durchgeführt, und
eine einzelne laufende Zählung
wird für
jeden der anderen Bilddatensätze
gehalten.
-
Block 214 zeigt
den nächsten
Prozessschritt an. Der Schritt umfasst die Auswahl einer vorgegebenen Anzahl
von Bilddatensätzen,
welche die höchste
Zählung
oder die meisten Datenelemente enthält, die in etwa mit Zieldatenelementen
aus dem ersten Bilddatensatz übereinstimmen,
aus der Vielzahl anderer Bilddatensätze.
-
Schließlich zeigt
Block 216 die Durchführung
eines genaueren Vergleichs der vorgegebenen Anzahl von Bilddatensätze mit
dem ersten Bilddatensatz an. Der genauere Vergleichsprozess wird
beispielhaft verwendet, um zwischen den Bilddatensätzen, und folglich
Bildern, zu unterscheiden, welche bei dem Abgleich berücksichtigt
oder nicht berücksichtigt
werden sollten. In Übereinstimmung
mit einer Ausführungsform
wird der mit Bezug auf 44 beschriebene
eins-zu-eins-Vergleichsprozess als genauerer Vergleichsprozess verwendet.
-
Obgleich
die vorliegende Erfindung mit Bezug auf beispielhafte Ausführungsformen
beschrieben wurde, wird sich für
Fachleute verstehen, dass Änderungen
in Form und Detail der Ausführungsbeispiels
vorgenommen werden können,
ohne vom Schutzumfang der Erfindung gemäß Definition in den anliegenden
Ansprüchen
abzuweichen.