-
Die
Erfindung betrifft die Erzeugung einer Zahl, die für Daten
von einer Analogquelle repräsentativ
ist. Die Erfindung hat spezielle, jedoch nicht ausschließliche,
Relevanz hinsichtlich der Erzeugung einer Zahl, die für eine Person
repräsentativ
ist, durch Verarbeiten von der Person zugeordneten Biometriedaten.
Es existiert eine Anzahl von Eigenschaften, die für eine Person
kennzeichnend sind, und diese Eigenschaften wurden durch Identifikationssysteme
gemessen, um für
die Person repräsentative
Biometriedaten zu erzeugen. Bei den meisten bekannten biometrischen
Identifikationssystemen werden die gemessenen Biometriedaten mit zuvor
abgespeicherten Biometriedaten verglichen, und es wird ein Vertrauenswert
berechnet, der anzeigt, wie nahe die gemessenen Biometriedaten an
den gespeicherten Biometriedaten liegen. Auf Grundlage dieses Vertrauenswerts
erfolgt eine Entscheidung dahingehend, ob es zu einer positiven
Identifikation kommt oder nicht.
-
In
den letzten Jahren wurde es erkannt, dass Biometriedaten zum Erzeugen
einer Zahl, nachfolgend als Biometriewert Kbio bezeichnet,
verwendet werden können,
die als persönliche
Identifikationsnummer (PIN) oder als Kryptografieschlüssel verwendet
werden kann. Dies beseitigt das Erfordernis, dass sich eine Person an
die Identifikationsnummer oder den Kryptografieschlüssel erinnern
muss oder eine dauerhafte Aufzeichnung davon aufbewahren muss, da
dies bei jedem Bedarf erzeugt werden kann, wenn ein neuer Satz von
Biometriedaten von der Person erfasst wird und der Biometriewert
erzeugt wird. Dies ist von Vorteil, da Menschen häufig Zahlen
vergessen und dauerhafte Aufzeichnungen nicht immer sicher aufbewahrt
werden. Damit jedoch eine derartige Anwendung zuverlässig arbeitet,
muss die Zuverlässigkeit
des Biometriewerts hoch sein. Ferner ist es wünschenswert, dass der Biometriewert
so groß wie
möglich
ist, um die Sicherheit zu verbessern.
-
Die
deutsche Patentanmeldung
DE
4243908A1 erörtert
die Verwendung eines Biometriewerts, der aus einer Person zugeordneten
Biometriedaten, die beispielsweise durch Scannen eines Fingerabdrucks
erzeugt wurden, als Ausgangszahl eines RSA(Rivest-Shamir-Adelman)-Schlüsselgenerators
berechnet wird, um ein Paar aus einem öffentlichen Schlüssel K
pub und einem privaten Schlüssel K
pri zu erzeugen.
DE 4243908A1 beschreibt
jedoch nicht, wie der Biometriewert mit hohem Zuverlässigkeitsgrad
erzeugbar wäre.
-
Die
internationale Patentveröffentlichung
WO 98/48538 offenbart ein Verschlüsselungssystem, bei dem Biometriedaten
durch ein Filter verarbeitet werden, um direkt einen privaten Schlüssel Kpri für
den RSA-Algorithmus zu erzeugen. Für jedes Bit des privaten Schlüssels Kpri vergleicht das Filter die Anzahl binärer Stellen
der Biometriedaten, die sich während
eines Registrierprozesses als identisch ergaben, und es wählt diejenige
Binärziffer
aus, die am häufigsten
auftritt.
-
WO
00/14716 offenbart ein solches Verfahren zum Erzeugen eines Schlüssels aus
den Biometriedaten einer Person, wobei diese Biometriedaten normiert
werden und dann ein Bitmuster erzeugt wird, das invariante Merkmale
der Biometriedaten repräsentiert.
Das Bitmuster wird in ein neurales Hopfield-Netzwerk eingegeben,
und das sich ergebende Bitmuster wird zum Erzeugen eines Kryptografieschlüssels verwendet.
-
Das
Problem, dem sich die Erfindung widmet, besteht darin, wie die Wiederholbarkeit
einer Zahl verbessert werden kann, die aus von einer Analogquelle
herrührenden
Daten erzeugt wird.
-
Gemäß einer
Erscheinungsform der Erfindung ist Folgendes geschaffen: einVerfahren
zum Erzeugen von Verarbeitungsinformation für eine Zahlerzeugungsverarbeitung,
die dazu betreibbar ist, eine eine Analogquelle darstellende Zahl
aus einer der Analogquelle entsprechenden Analogdatenreihe zu erzeugen,
wobei in dem Verfahren
für
eine Analogquelle wenigstens eine die Analogquelle darstellende
Trainings-Analogdatenreihe empfangen wird, und
eine Reihe von
Messungen an der oder jeder Trainings-Analogdatenreihe durchgeführt wird,
um für
die oder jede Trainings-Analogdatenreihe eine entsprechende Reihe
von Messwerten zu erhalten, die für die Verarbeitung durch die
Zahlerzeugungsverarbeitung geeignet sind,
dadurch gekennzeichnet,
dass für
wenigstens eine der Reihe von Messungen die Empfindlichkeit der
durch die Zahlerzeugungsverarbeitung erzeugten Zahl bezüglich Änderungen
in dem entsprechenden Messwert analysiert wird, und wenigstens ein
Verarbeitungsbefehl bestimmt wird, der dazu betreibbar ist, die
Verarbeitung des entsprechenden Messwerts während der Zahlerzeugungsverarbei tung
zu modifizieren, um die Empfindlichkeit der durch die Zahlerzeugungsverarbeitung
erzeugten Zahlen bezüglich Änderungen
in den entsprechenden Messwerten zu reduzieren, und
Verarbeitungsinformation
erzeugt wird, die die bestimmten Verarbeitungsbefehle anzeigt.
-
Gemäß einer
anderen Erscheinungsform der Erfindung ist Folgendes geschaffen:
ein
Verfahren zum Erzeugen einer eine Analogdatenquelle darstellenden
Zahl, wobei in dem Verfahren
eine die Analogquelle darstellende
Analogdatenreihe empfangen wird,
eine Reihe von Messungen an
der Analogdatenreihe durchgeführt
wird, um eine Reihe von Messwerten zu erhalten, und
eine Zahlerzeugungsverarbeitung
unter Verwendung der Reihe von Messwerten angewandt wird, um die
die Analogquelle darstellende Zahl zu erzeugen,
dadurch gekennzeichnet,
dass
Verarbeitungsinformation aus einem Datenspeicher erhalten
wird, wobei die Verarbeitungsinformation Verarbeitungsbefehle anzeigt,
die jeweils einem entsprechenden der Reihe von Messwerten zugeordnet
sind, und
die Reihe von Messwerten in der Zahlerzeugungsverarbeitung
gemäß der Verarbeitungsinformation
verarbeitet wird.
-
Gemäß einer
weiteren Erscheinungsform der Erfindung ist Folgendes geschaffen:
ein
Gerät zum
Erzeugen von Verarbeitungsinformation für eine Zahlerzeugungsverarbeitung,
die dazu betreibbar ist, eine eine Analogquelle darstellende Zahl
aus einer einer Analogquelle entsprechenden Analogdatenreihe zu
erzeugen, wobei das Gerät
aufweist:
einen Empfänger,
der dazu betreibbar ist, für
eine Analogquelle wenigstens eine Trainings-Analogdatenreihe zu
empfangen, die die Analogquelle darstellt, und
eine Einrichtung
zum Durchführen
einer Reihe von Messungen an jeder der wenigstens einen Analogdatenreihe,
um für
jede Trainings-Analogdatenreihe eine entsprechende Reihe von Messwerten
zu erhalten, die dazu geeignet sind, durch die Zahlerzeugungsverarbeitung
verarbeitet zu werden,
gekennzeichnet durch
eine Analyseeinrichtung,
die dazu betreibbar ist, für
wenigstens eine der Reihe von Messungen die Empfindlichkeit der
durch die Zahlerzeugungsverarbeitung erzeugten Zahl bezüglich Änderungen
in dem entsprechenden Messwert zu analysieren, und wenigstens einen
Verarbeitungsbefehl zu bestimmen, der dazu betreibbar ist, die Verarbeitung
des entsprechenden Messwerts während
der Zahlerzeugungsverarbeitung zu bestimmen, um die Empfindlichkeit
der durch die Zahlerzeugungsverarbeitung erzeugten Zahlen bezüglich Änderungen
in dem entsprechenden Messwert zu reduzieren, und
eine Informationserzeugungseinrichtung,
die dazu betreibbar ist, eine Verarbeitungsinformation zu erzeugen, die
die bestimmten Verarbeitungsbefehle anzeigt.
-
Gemäß einer
anderen Erscheinungsform der Erfindung ist Folgendes geschaffen:
ein
Gerät zum
Erzeugen einer eine Analogdatenquelle darstellenden Zahl, wobei
das Gerät
aufweist:
einen Empfänger,
der zum Empfangen einer die Analogquelle darstellenden Analogdatenreihe
betreibbar ist;
eine Einrichtung zum Durchführen einer Reihe von Messungen
an der Analogdatenreihe, um eine Reihe von Messwerten zu erhalten;
und
eine Zahlerzeugungseinrichtung, die dazu betreibbar ist,
die die Analogquelle darstellende Zahl unter Verwendung der Reihe
von Messwerten zu erzeugen,
dadurch gekennzeichnet, dass
das
Gerät ferner
einen Datenspeicher zum Speichern von Verarbeitungsinformation aufweist,
die Verarbeitungsbefehle anzeigt, die dazu betreibbar sind, wahlweise
die Verarbeitung der Reihe von Messwerten zu modifizieren, um die
Empfindlichkeit der erzeugten Zahl bezüglich Variationen in der Reihe
von Messwerten zu verringern, und
die Zahlerzeugungseinrichtung
dazu betreibbar ist, die die Analogquelle darstellende Zahl unter
Verwendung der Reihe von Messwerten gemäß der in der Verarbeitungsinformation
gespeicherten Verarbeitungsbefehle zu erzeugen.
-
Die
Analogquelle kann jedes beliebige biologische Merkmal sein, das
für eine
Person oder ein Tier repräsentativ
ist. Beispielsweise könnte
die Analogquelle die Iris eines Auges, eine Retina oder ein Fingerabdruck
sein. Alternativ könnte
die Analogquelle ein unbelebtes Objekt mit charakteristischen Eigenschaften sein,
beispielsweise eine Fotografie, deren Bild charakteristisch ist.
-
Nun
werden verschiedene Ausführungsformen
unter Bezugnahme auf die beigefügten
Figuren beschrieben.
-
1 zeigt
schematisch einen Biometriewertgenerator, der aus einer Iris entsprechenden
Bilddaten einen Biometriewert erzeugt;
-
2 zeigt
schematisch die Hauptkomponenten eines Bildwandlers und eines Merkmalsschablonegenerators,
der Teil des in der 1 dargestellten Biometriewertgenerators
ist;
-
3 ist
ein Flussdiagramm zum Veranschaulichen von Operationen, wie sie
durch den Bildwandler des in der 1 dargestellten
Biometriewertgenerators ausgeführt
werden;
-
4A zeigt
ein Grauskalabild eines menschlichen Auges, wie es während des
Betriebs des in der 1 dargestellten Biometriewertgenerators
erzeugt wird;
-
4B zeigt
einen Iris-Probenabschnitt, wie er aus dem in der 4A dargestellten
Bild entnommen wird;
-
4C zeigt
den in der 4B dargestellten Iris-Probenabschnitt
nach einer Transformation von Polar- in Carthesische Koordinaten;
-
5 ist
ein Flussdiagramm zum Veranschaulichen von Operationen, wie sie
durch den Merkmalsschablonegenerator des in der 1 dargestellten
Biometriewertgenerators ausgeführt
werden;
-
6 ist
ein Diagramm zum schematischen Veranschaulichen einer durch den
Merkmalsschablonegenerator des in der 1 dargestellten
Biometriewertgenerators erzeugten Merkmalsschablone;
-
7 zeigt
schematisch die Hauptkomponenten einer Attributwert-Stabilisiereinrichtung
eines Doppeldeutigkeit-Auflösungsvektors
und eines Zahlengenerators des in der 1 dargestellten
Biometriewertgenerators;
-
8 ist
ein Flussdiagramm zum Veranschaulichen von Operationen, wie sie
durch den Attributwert-Stabilisiereinrichtung des in der 1 dargestellten
Biometriewertgenerators während
eines Registrierprozesses ausgeführt
werden;
-
9B zeigt
schematisch einen Versatzvektor, wie er während des Registrierprozesses
durch den Attributwert-Stabilisiereinrichtung des in der 1 dargestellten
Biometriewertgenerators erzeugt wird;
-
10 ist
ein Flussdiagramm zum Veranschaulichen von Operationen, wie sie
durch den Zahlengenerator des in der 1 dargestellten
Biometriewertgenerators während
eines Registrierprozesses ausgeführt werden;
-
11 ist
ein Flussdiagramm zum Veranschaulichen von Operationen, wie sie
durch den Attributwert-Stabilisiereinrichtung des in der 1 dargestellten
Biometriewertgenerators während
eines Biometriewert-Regenerierprozesses ausgeführt werden;
-
12 ist
ein Flussdiagramm zum Veranschaulichen von Operationen, wie sie
durch den Zahlengenerator des in der 1 dargestellten
Biometriewertgenerators während
eines Biometriewert-Regenerierprozesses ausgeführt werden;
-
13 zeigt
schematisch einen ersten alternativen Biometriewertgenerator, der
einen Biometriewert durch Verarbeiten von einem Fingerabdruck entsprechenden
Bilddaten erzeugt;
-
14 zeigt
schematisch die Hauptkomponenten eines Bildwandlers und eines Merkmalsschablonegenerators
des in der 13 dargestellten Biometriewertgenerators;
-
15 ist
ein Flussdiagramm zum Veranschaulichen von Operationen, wie die
durch den Bildwandler des in der 13 dargestellten
Biometriewertgenerators während
eines Registrierprozesses ausgeführt
werden;
-
16 zeigt
schematisch eine Merkmalsschablone, wie sie durch den Merkmalsschablonegenerator des
in der 13 dargestellten Biometriewertgenerators
erzeugt wird;
-
17 zeigt
schematisch die Hauptkomponenten einer Attributwert-Stabilisiereinrichtung
und eines Zahlengenerators, die Teil des in der 13 dargestellten
Biometriewertgenerators bilden;
-
18A ist ein Kurvenbild, das schematisch eine idealisierte
Wahrscheinlichkeitsverteilungsfunktion für das Ergebnis einer Messung
des Abstands zwischen dem Ursprung eines Fingerabdrucks und einer
Minutia eines solchen zeigt;
-
18B ist ein Kurvenbild, das eine typische tatsächliche
Wahrscheinlichkeitsverteilungsfunktion für den in der 8A angegebenen
Messwert des Abstands zeigt;
-
18C ist ein Kurvenbild, das die in der 18B dargestellte Wahrscheinlichkeitsverteilungsfunktion
auf einer Skala zeigt, deren Quantisierungseinheit an ein Vertrauensintervall
der Wahrscheinlichkeitsverteilungsfunktion angepasst ist;
-
18D ist ein Kurvenbild, das die in der 18B dargestellte Wahrscheinlichkeitsdichtefunktion nach
einer Verschiebung in solcher Weise, dass der Spitzenwert der Wahrscheinlichkeitsverteilungsfunktion im
Verlauf zwischen benachbarten Quantisierungseinheiten des in der 18C dargestellten Maßstabs positioniert ist, zeigt;
-
19 ist
ein Flussdiagramm zum Veranschaulichen der Operationen, wie sie
durch den in der 13 dargestellten Biometriewertgenerator
während
eines Biometriewert-Regenerierprozesses ausgeführt werden;
-
20 zeigt
schematisch einen zweiten alternativen Biometriewertgenerator, der
einen Biometriewert durch Verarbeiten von einer Retina entsprechenden
Bilddaten erzeugt;
-
21A zeigt schematisch das Bild einer Retina;
-
21B zeigt schematisch ein gewandeltes Bildausgangssignal
eines Bildwandlers, der Teil des in der 20 dargestellten
Biometriewertgenerators bildet;
-
22 zeigt
schematisch ein Kennkarte-Herstellsystem zum Herstellen einer Kennkarte
mit einer Fotografie einer Person sowie einem Authentifizierungsdaten
speichernden Strichcode;
-
23 zeigt
eine durch das in der 22 dargestellte Kennkarte-Herstellsystem
hergestellte Kennkarte;
-
24 zeigt
schematisch die Hauptkomponenten eines Kennkartenlesers zum Lesen
einer durch das in der 22 dargestellte Kennkarte-Herstellsystem
hergestellten Kennkarte;
-
25 zeigt
schematisch die Hauptkomponenten einer Kennkarte-Verifiziereinrichtung,
die Teil des in der 24 dargestellten Kennkartenlesers
bildet;
-
26 zeigt
ein Computersystem mit einem Fingerabdrucksensor und einer Verschlüsselungseinheit; und
-
27 ist
ein schematisches Blockdiagramm, das zeigt, wie Daten vom Fingerabdrucksensor
durch die in der 26 dargestellte Verschlüsselungseinheit
verarbeitet werden, um einen Abbildungsschlüssel oder einen Verschlüsselungsschlüssel zu
erzeugen.
-
ERSTE AUSFÜHRUNGSFORM
Systemüberblick
-
Der
Biometriewertgenerator der ersten Ausführungsform der Erfindung verfügt über zwei
Betriebsmodi. Im ersten Betriebsmodus erfasst der Biometriewertgenerator
mehrere Bilder eines Auges einer Person, er entnimmt und verarbeitet
einem Iris-Probenabschnitt bei jeder Erfassung entsprechende Bilddaten,
und er erzeugt einen Biometriewert Kbio.
Während
der Biometriewertgenerator die Bilddaten während der Registrierung verarbeitet,
erzeugt er einen Prozessvektor, der Prozessanweisungen speichert,
die Identifikation betreffend die ausgeführten Datenverarbeitungsoperationen
enthalten. Im zweiten Betriebsmodus regeneriert der Biometriewertgenerator
den Biometriewert Kbio durch Erfassen eines
neuen Bilds des Auges und durch Verarbeiten der Bilddaten entsprechend
den Prozessanweisungen, um den Biometriewert Kbio zu
erzeugen.
-
Wie
es in der 1 schematisch dargestellt ist,
werden durch eine Kamera 3, die Teil des Biometriewertgenerators
bildet, einem Auge 1 entsprechende Bilddaten erzeugt. Bei
dieser Ausführungsform
ist die Kamera 3 eine digitale Farbkamera, die Farb(RGB)bilddaten
ausgibt. Die Bilddaten werden in einen Bildwandler 7 eingegeben,
der einem Ausrichtungsvektor 9 zugeordnet ist, der Teil
des Prozessvektors 5 bildet. Der Bildwandler 7 entnimmt
den Iris-Probenabschnitt und richtet ihn aus, und er führt auch
am entnommenen Bildabschnitt Vorverarbeitungsoperationen aus, um
die Unempfindlichkeit gegenüber
Umgebungslichtbedingungen zu verbessern. Der Bildwandler 7 gibt
den Iris-Probenabschnitt an einen Merkmalsschablonegenerator 11 aus,
der eine dem Iris-Probenabschnitt erzeugende Merkmalsschablone erzeugt.
-
Eine
Merkmalsschablone ist eine Ansammlung von Bildartefakten innerhalb
der Bilddaten, die nachfolgend als Merkmale bezeichnet werden. Jedes
Merkmal verfügt über eine
Anzahl von Eigenschaften, die nachfolgend als Attribute bezeichnet
werden, von denen jedes über
einen zugeordneten Attributwert verfügt. Die durch den Merkmalsschablonegenerator 11 erzeugte
Merkmalsschablone wird in einen Attributwert-Stabilisiereinrichtung 13 eingegeben,
der einem Doppeldeutigkeit-Auflösungsvektor 15 zugeordnet
ist, der Teil des Prozessvektors 5 bildet. Der Attributwert-Stabilisiereinrichtung 13 verarbeitet
die Attributwerte der Merkmalsschablone, um die Wiederholbarkeit
zu verbessern, und dann gibt er eine stabilisierte Merkmalsschablone
aus.
-
Die
stabilisierte Merkmalsschablone wird in einen Zahlengenerator 17 eingegeben,
dem ein Fehlerkorrekturvektor 19 zugeordnet ist, der Teil
des Prozessvektors 5 bildet. Der Zahlengenerator 17 verarbeitet
die Attributwerte der stabilisierten Merkmalsschablone, um den Biometriewert
Kbio zu erzeugen.
-
Nun
wird der Betrieb des Biometriewertgenerators im Registriermodus
und im Biometriewert-Regeneriermodus detaillierter beschrieben.
-
Registriermodus
-
Während des
Registrierprozesses erzeugt der Biometriewertgenerator den Prozessvektor 5,
um die Wiederholbarkeit des Biometriewerts Kbio zu
verbessern.
-
Jedesmal
dann, wenn von der Kamera 3 das Bild des Auges 1 erfasst
wird, werden die entsprechenden Farbbilddaten in den Bildwandler 7 eingegeben.
Wie es in der 2 dargestellt ist, werden im
Bildwandler 7 die von der Kamera 3 empfangenen
Bilddaten zunächst
in einen RGB-in-Grauskala-Wandler eingegeben, der die Farbbilddaten
in Grauskala-Bilddaten wandelt. Insbesondere wird für jedes
Pixel ein Graupegelwert durch Mitteln der Pegel für Rot, Grün und Blau
dieses Pixels berechnet.
-
Die
Graupegel-Bilddaten werden dann in eine Irisabschnitt-Entnahmeeinrichtung 33 eingegeben,
die einen Teil der Bilddaten entsprechend einem Probenabschnitt
der Iris entnimmt und die dem Iris-Probenabschnitt entsprechenden
Bilddaten an eine Irisabschnitt-Ausrichteinrichtung 35 ausgibt.
Der Betrieb der Irisabschnitt-Entnahmeeinrichtung 33 und
der Irisabschnitt-Ausrichteinrichtung 35 werden nun unter
Bezugnahme auf die 3 beschrieben.
-
Nachdem
der Irisabschnitt-Entnahmeeinrichtung 33, in einem Schritt
S1, Grauskala-Bilddaten entsprechend einem Bild des Auges (wie in
der 4A dargestellt) empfangen hat, bestimmt sie, in
einem Schritt S3, das Zentrum und den Radius der in den Bilddaten
enthaltenen Pupille. Bei dieser Ausführungsform wird die Pupille
dadurch erkannt, dass aus den Bilddaten als Erstes alle Pixel entfernt
werden, die beinahe schwarz sind. Diese beinahe schwarzen Pixel
entsprechen gerade nicht der Pupille, sondern sie entsprechen auch
Augenwimpern und anderen dunklen Strukturen um das Auge herum. Ferner
sind aufgrund reflektierten Lichts in der Pupille im Allgemeinen
Lichtflecke vorhanden.
-
Die
kleinen Lichtflecke in der Pupille werden durch Ausführen einer
ersten herkömmlichen
Aufweitoperation entfernt, bei der jedes beinahe schwarze Pixel
durch eine kleine schwarze Scheibe ersetzt wird. Dann wird, um die
beinahe schwarzen Pixel, die anderen Merkmalen als der Pupille entsprechen,
zu entfernen, eine herkömmliche
Erosionsoperation ausgeführt,
bei der eine Scheibe, die ungefähr
der halben Größe der vollen Pupille
entspricht, der Reihe nach zentrisch auf jedem beinahe schwarzen
Pixel angebracht wird, wobei dann, wenn die Scheibe nicht alleinig
beinahe schwarze Pixel umfasst, das Bildpixel, zu dem sie zentriert
ist, entfernt wird. Nach der Erosionsoperation bilden die verbliebenen
Pixel eine Kreisform, die zentrisch zum Zentrum der Pupille liegt.
Das Zentrum der Pupille wird daher dadurch aufgefunden, dass der
Schwerpunkt der verbliebenen Pixel aufgefunden wird.
-
Wenn
einmal das Zentrum der Pupille aufgefunden ist, wird sie dadurch
auf die normale Größe zurück aufgeweitet,
dass eine zweite Aufweitoperation ausgeführt wird, die den Änderungen
der Pupillengröße entgegen
wirkt, zu der es durch die erste Aufweitoperation und die Erosionsoperation
kam. Dann wird die Pupillenfläche
berechnet, um den Radius zu bestimmen. Dann wird der Innenra dius
der Iris dem Radius der Pupille gleichgesetzt, und ihr Außenradius
wird von einem Benutzer als Mehrfaches des Radius der Iris bestimmt.
-
Dann
isoliert der Bildwandler 7, in einem Schritt S5, den ringförmigen Abschnitt,
der zentrisch zum Zentrum der Pupille liegt und über einen Innen- und einen Außenradius
verfügt,
die dem bestimmten Innen- und Außenradius der Iris entsprechen.
Der isolierte, ringförmige
Abschnitt entspricht daher im Wesentlichen der Iris, wobei jedoch
Teile derselben durch das Augenlid, Augenwimpern, reflektiertes
Licht und dergleichen verdeckt sind. Bei dieser Ausführungsform
werden diese verdeckten Teile, in einem Schritt S7, durch einen
Benutzer beseitigt, wodurch ein Proben-Bildabschnitt verbleibt,
wie er in der 4B dargestellt ist.
-
Dann
prüft die
Irisabschnitt-Entnahmeeinrichtung 33, in einem Schritt
F9, ob dies das erste erfasste Bild ist. Wenn es sich um das erste
erfasste Bild handelt, speichert die Irisabschnitt-Entnahmeeinrichtung 33, in
einem Schritt S11, die Bilddaten für den verdeckten Teil der Iris
als Ausrichtungsvektor 9. Obwohl die Bilddaten den verdeckten
Teil der Iris zur Verwendung beim Erzeugen des Biometriewerts Kbio nicht geeignet sind, können sie
bei einer Mustererkennungsoperation zum Ausrichten folgender Bilder
der Iris verwendet werden. Wenn sich im Schritt S9 ergibt, dass
es sich nicht um das erste erfasste Bild handelt, gibt die Irisabschnitt-Entnahmeeinrichtung 33 den
Iris-Probenabschnitt an die Irisabschnitt-Ausrichteinrichtung 35 aus,
die, unter Verwendung des Ausrichtungsvektors 9, die Achsen
R und θ ausrichtet
und dafür
sorgt, dass der Iris-Probenabschnitt verwendet wird.
-
Dann
wird der Iris-Probenabschnitt in einen Koordinatensystemwandler 37 eingegeben,
der die Daten R, θ in
Daten X, Y wandelt, um ein rechteckiges Array von Bilddaten zu liefern,
wie es in der 4C dargestellt ist. Wie es aus
der 4C erkennbar ist, bildet der gewandelte Iris-Probenabschnitt
kein vollkommenes Rechteck, da Teile der Bilddaten zuvor entfernt
wurden, da sie verdeckt waren.
-
Bei
dieser Ausführungsform
werden das Entfernen der verdeckten Teile der Iris und das Ausrichten von
Iris-Probenabschnitten manuell unter Verwendung des Softwarepakets
MATLAB ausgeführt.
-
Die
gewandelten Bilddaten werden in den Merkmalsschablonegenerator 11 eingegeben.
Bei dieser Ausführungsform
wendet der Merkmalsschablonegenerator 11 eine Gitterstruktur
auf die gewandelten Bilddaten an, und jede Zelle des Gitters bildet
ein Merkmal, und der normierte, mittlere Graupegel jeder Zelle des Gitters
ist das Attribut, dessen Wert gemessen wird. Wie es in der 2 dargestellt
ist, verfügt
der Merkmalsschablonegenerator 11 über eine Gitteranwendeeinrichtung 39,
die das Gitter auf die gewandelten Bilddaten anwendet, und eine
Gitterzellegrauwert-Normiereinrichtung 31, die den normierten
Grauwert für
jede Zelle des Gitters erzeugt. Nun wird der Betrieb des Merkmalsschablonegenerators
unter Bezugnahme auf die 5 detaillierter beschrieben.
-
Wie
es in der 5 dargestellt ist, wendet die
Gitteranwendeeinrichtung 39, in einem Schritt S21, das Gitter
auf die Bilddaten an. Bei dieser Ausführungsform bilden die gewandelten
Bilddaten ein Array von 450 auf 180 Pixel, und die Gitteranwendeeinrichtung 39 wendet
ein Gitter mit 18 Zeilen und 45 Spalten so an, dass jede Gitterzelle
einen Block von 10 auf 10 Pixel umfasst. Die Gitterzellegrauwert-Normiereinrichtung 41 berechnet,
in einem Schritt S23, den mittleren Gesamtgraupegel Gimage für das gesamte
Bild durch Auffinden des mittleren Graupegels für alle Pixel der gewandelten
Bilddaten. Die Gitterzellegrauwert-Normiereinrichtung 41 berechnet
dann, in einem Schritt S25, den mittleren Graupegel für jede Gitterzelle
durch Berechnen des mittleren Graupegels Gcell für die die
Zelle bildenden 100 Pixel, und sie normiert, in einem Schritt S27,
den mittleren Graupegel für
jede Gitterzelle durch Teilen des mittleren Graupegels Gcell für
die Gitterzelle durch den mittleren Graupegel Gimage für das Bild.
Die Gitterzellegrauwert-Normiereinrichtung 41 ersetzt dann,
in einem Schritt S29, die 100 individuellen Pixelgraupegel in jeder
Zelle durch den normierten, mittleren Graupegel für die Zelle.
-
Die
Merkmalsschablone entspricht daher einem Gitter von 45 auf 18, wobei
jede Zelle im Gitter über einen
zugeordneten Graupegel verfügt.
-
Während des
Registriervorgangs werden durch den Merkmalsschablonegenerator 11 mehrere
Merkmalsschablonen erzeugt, von denen jede einer anderen Bilderfassung
durch die Kamera 3 entspricht, und sie werden in die Attributwert-Stabilisiereinrichtung 13 eingegeben.
Wie es in der 7 dargestellt ist, verfügt die Attributwert-Stabilisiereinrichtung über eine
Attributquantisiereinrichtung 51, die eine Umskalierung
der normierten Graupegelwerte ausführt, eine Attributwert-Einstelleinrichtung 55,
die jeden umskalierten, normierten Graupegel so einstellt, dass
er im Verlauf zwischen zwei benachbarten ganzzahligen Werten liegt,
und eine Attributwert-Abschneideinrichtung, die den eingestellten,
normierten Graupegelwert auf einen ganzzahligen Wert abschneidet.
Die Funktion der Attributwert-Stabilisiereinrichtung 13 wird
nun unter Bezugnahme auf die 8 detaillierter
beschrieben.
-
Nachdem
die Attributquantisiereinrichtung 51, in einem Schritt
S41, mehrere Merkmalsschablonen empfangen hat, berechnet sie, in
einem Schritt S43, eine mittlere Merkmalsschablone durch Berechnen
des mittleren, normierten Graupegelwerts für jede Gitterzelle. Eine typische
mittlere Merkmalsschablone ist in der 6 schematisch
dargestellt. Die Attributquantisiereinrichtung 51 berechnet
dann, in einem Schritt S45, den Median der normierten Graupegel
für die
mittlere Merkmalsschablone, d. h., dass die Hälfte der Zellen der mittleren
Merkmalsschablone über
einen normierten Graupegel über
dem Median verfügt
und die Hälfte
der Zellen der mittleren Merkmalsschablone über einen normierten Graupegel
unter dem Median verfügt.
-
Dann
berechnet die Attributquantisiereinrichtung 51, in einem
Schritt S47, unter Verwendung des berechneten Medians einen Einheitswert.
Bei dieser Ausführungsform
ist die Einheitsgröße auf die
Hälfte
des berechneten Medians eingestellt. Die Attributquantisiereinrichtung 51 führt dann,
in einem Schritt S49, eine Umskalierung des mittleren Graupegels
für jede
Zelle als Mehrfaches des Einheitswerts aus, um eine quantisierte Merkmalsschablone
zu erzeugen, und sie speichert den Einheitswert als Einheitsvektor 53.
Bei dieser Ausführungsform
wird für
jeden normierten Graupegel derselbe Einheitswert verwendet.
-
Dann
wird die quantisierte Merkmalsschablone in die Attributwert-Einstelleinrichtung 55 eingegeben. Bei
dieser Ausführungsform
berechnet die Attributwert-Einstelleinrichtung, in einem Schritt
S51, einen Versatzwert für
jede Zelle, der den mittleren Graupegel auf den Mittelpunkt zwischen
benachbarten, ganzzahligen Mehrfachen des Einheitswerts bewegt.
Insbesondere berechnet die Attributwert-Einstelleinrichtung 55 den Versatzwert
eines quantisierten Graupegelwerts durch Abschneiden desselben auf
einen ganzzahligen Wert, durch Addieren von 0,5 und durch anschließendes Subtrahieren
des ursprünglichen,
quantisierten Graupegelwerts. Wenn beispielsweise der quanti sierte
Graupegelwert für
eine Zelle 1,83 ist, berechnet die Attributwert-Einstelleinrichtung 55 einen
Versatzwert von –0,33.
-
Dann
stellt die Attributwert-Einstelleinrichtung 55, in einem
Schritt S53, jeden quantisierten Graupegelwert durch Addieren des
entsprechend berechneten Versatzwerts ein, und sie speichert die
Versatzwerte für
jede Zelle als Versatzvektor 57, der Teil des Doppeldeutigkeit-Auflösungsvektors 15 bildet.
Auf diese Weise wird eine eingestellte Merkmalsschablone erzeugt.
Die eingestellte Merkmalsschablone wird dann in die Attributwert-Abschneideinrichtung 59 eingegeben,
die, in einem Schritt S55, eine stabilisierte Merkmalsschablone durch
Abschneiden jedes eingestellten, mittleren Graupegels auf einen
ganzzahligen Wert erzeugt, um eine stabilisierte Merkmalsschablone
zu erzeugen. So ist der abgeschnittene, mittlere Graupegelwert 1,
wenn der eingestellte, mittlere Graupegelwert 1 ist.
-
Die 9A zeigt
ein Beispiel einer stabilisierten Merkmalsschablone, wie sie von
der Attributwert-Stabilisiereinrichtung 13 entsprechend
der in der 6 dargestellten mittleren Merkmalsschablone
erzeugt wurde. Die stabilisierte Merkmalsschablone besteht aus einem
Array von 95 auf 18 Zellen, wobei jede Zelle über einen zugeordneten Graupegelwert
verfügt.
Daher existieren insgesamt 810 Graupegelwerte. Die 9B zeigt
schematisch den Versatzvektor 57, wie er der in der 9A dargestellten
stabilisierten Merkmalsschablone zugeordnet ist.
-
Bei
einer derartig großen
Anzahl von Werten ist selbst bei der beschriebenen Datenstabilisierung
die Wahrscheinlichkeit einer genauen Wiederholung aller Werte für einen
zuverlässigen
Zahlengenerator zu gering. Jedoch werden bei dieser Ausführungsform
nur 162 dieser Werte zum Erzeugen des Biometriewerts Kbio verwendet,
wobei die restlichen 648 Werte zum Ausführen einer Fehlerkorrektur
verwendet werden. Dadurch wird die Zuverlässigkeit der Zahlenerzeugung
deutlich verbessert.
-
Bei
dieser Ausführungsform
wird die Biometriezahl Kbio unter Verwendung
der mittleren Graupegel der Zellen in jeder fünften Spalte (d. h. der ersten
Spalte, der sechsten Spalte, der elften Spalte, ...) erzeugt. Die Werte
innerhalb dieser Spalten werden nachfolgend als Datenwerte bezeichnet,
wohingegen die Werte in den restlichen Spalten als Redundanzwerte
bezeichnet werden.
-
Jedem
Datenwert sind die vier Redundanzwerte zugeordnet, die in derselben
Zeile unmittelbar auf ihn folgen.
-
Fehlerkorrekturdaten
werden durch Ausführen
einer bitweisen Exklusiv-ODER-Operation
zwischen jedem Redundanzwert und dem entsprechenden Datenwert erzeugt,
um einen Fehlerkorrekturwert zu erzeugen. Eine typische Abfolge
von Datenwerten, gefolgt von vier Redundanzwerten, wäre die folgende: 10;11;01;01;10.
Die entsprechenden vier Fehlerkorrekturwerte sind: 01;11;11;00.
Es ist zu beachten, dass diese Fehlerkorrekturwerte für sich keine
Information zum zugehörigen
Datenwert liefern.
-
Wie
es in der 7 dargestellt ist, verfügt der Zahlengenerator 17 über eine
Fehlerkorrektureinrichtung 61 und eine Wertverkettungseinrichtung 65.
Nun wird unter Bezugnahme auf die 10 die
Funktion des Zahlengenerators 17 während des Registrierprozesses
beschrieben. Die Fehlerkorrektureinrichtung 61 empfängt, in
einem Schritt S61, die stabilisierte Merkmalsschablone von der Attributwert-Stabilisiereinrichtung 13. Die
Fehlerkorrektureinrichtung 61 erzeugt dann, in einem Schritt
S63, die Fehlerkorrekturwerte, und sie speichert, in einem Schritt
S63, dieselben als Fehlerkorrektorvektor 63. Dann wird
die Merkmalsschablone in die Wertverkettungseinrichtung 65 eingegeben,
die, in einem Schritt S67, den Biometriewert Kbio dadurch
erzeugt, dass sie alle Datenwerte der biometrischen Schablone mit
einer vorbestimmten Reihenfolge verkettet.
-
Wie
oben beschrieben, werden, während
eines Registrierprozesses, ein Ausrichtvektor 9, ein Doppeldeutigkeit-Auflösungsvektor 15 (mit
einem Einheitsvektor 53 und einem Versatzvektor 57)
sowie ein Fehlerkorrekturvektor 19 erzeugt. Nach dem Registrierprozess
erhöht,
wenn ein Bild derselben Iris durch die Kamera 3 erfasst
wird, der Prozessvektor die Wahrscheinlichkeit dafür, dass
derselbe Biometriewert Kbio erzeugt wird.
-
Zahlregeneriermodus
-
Im
Zahlregeneriermodus entnimmt, nach dem Erfassen eines Bilds des
Auges 1, der Bildwandler 7 denselben Abschnitt
der Iris, wie er während
des Registrierprozesses verwendet wurde, und er richtet den entnommenen
Bildabschnitt unter Verwendung des Ausrichtvektors 9 aus.
Der Merkmalsschablonegenerator 11 wendet dann dieselbe
Gitterstruktur, wie sie beim Registrierprozess verwendet wurde,
an, und er erzeugt für jede
Zelle des Gitters normierte, mittlere Graupegel.
-
Nun
wird die Funktion der Attributwert-Stabilisiereinrichtung 13 während des
Zahlerzeugungsprozesses unter Bezugnahme auf die 11 detaillierter
beschrieben. Wenn die Attributwert-Stabilisiereinrichtung 13 in
einem Schritt S71 eine Merkmalsschablone vom Merkmalsschablonegenerator 11 empfängt, erhält sie vom Einheitsvektor 53 den
Einheitswert, und sie skaliert, in einem Schritt S71, die normierten,
mittleren Graupegelwerte für
jede Zelle unter Verwendung des Einheitswerts.
-
Dann
wird die skalierte Merkmalsschablone in die Attributwert-Einstelleinrichtung 55 eingegeben,
die für
jede Zelle den entsprechenden Versatzwert vom Versatzvektor 57 erhält und,
in einem Schritt S57, den Quantisierungswert für den normierten Graupegel
einer Gitterzelle durch Addieren des gespeicherten Versatzwerts
einstellt. Obwohl sich der eingestellte, mittlere Graupegelwert
nicht notwendigerweise am Mittelpunkt zwischen zwei benachbarten
ganzzahligen Werten befindet, ist der Registrierprozess so konzipiert,
dass er gewährleistet,
dass die Wahrscheinlichkeitsfunktion für die Position des eingestellten,
mittleren Graupegelwerts zentrisch zum Mittelpunkt zwischen zwei
benachbarten ganzzahligen Werten liegt. Der Grund für diese
Vorgehensweise besteht darin, dass dann, wenn der mittlere Graupegelwert
näher an
einem ganzzahligen Wert liegt, die Wahrscheinlichkeit erhöht ist,
dass der normierte Graupegelwert auf den falschen Pegel abgeschnitten wird.
Die Empfindlichkeit der erzeugten Zahl auf eine Variation des normierten
Graupegels ist daher hoch. Daher analysiert die Attributwert-Stabilisiereinrichtung 13,
wie nahe ein normierter Graupegelwert an einem ganzzahligen Wert
liegt, und sie berechnet einen Versatzwert, um den normierten Graupegelwert
an einen Punkt in der Mitte des Zahlenbereichs zwischen zwei ganzzahligen
Werten zu verschieben. Daher wird durch die Verwendung des Versatzvektors 57 die
Stabilität
der Attributwerte von einer Merkmalsschablone zur nächsten verbessert.
-
Die
eingestellte Merkmalsschablone wird in die Attributwert-Abschneideinrichtung 59 eingegeben,
die, in einem Schritt S77, die stabilisierte Merkmalsschablone durch
Abschneiden des mittleren Graupegelwerts für jede Zelle auf einen ganzzahligen
Wert erzeugt.
-
Nun
wird die Funktion des Zahlengenerators 17 unter Bezugnahme
auf die 12 beschrieben. Wie dargestellt,
korrigiert die Fehlerkorrektureinrichtung 61, nachdem sie,
in einem Schritt S81, die stabilisierte Merkmalsschablone von der
Attributwert-Stabilisiereinrichtung 13 empfangen hat, in
einem Schritt S83 die Attributwerte, wie sie bei den im Fehlerkorrekturvektor 63 gespeicherten
Fehlerkorrekturdaten verwendet sind, um einen entsprechenden Korrekturwert
zu erzeugen. Insbesondere bleibt jeder der Datenwerte (d. h. die
mittleren Graupegelwerte in der ersten, sechsten, elften, ... Spalte)
unverändert,
wohingegen an jedem der Redundanzwerte und dem entsprechenden Fehlerkorrekturwert,
wie er im Fehlerkorrekturvektor 63 gespeichert ist, eine
bitweise Exklusiv-ODER-Operation ausgeführt wird. Auf diese Weise sollte
jeder Datenwert mit den vier entsprechenden Redundanzwerten identisch
sein. Wenn dies nicht der Fall ist, erfolgt am Datenwert und den
zugehörigen
vier Korrekturwerten eine Abstimmoperation, und der Datenwert wird
auf denjenigen mittleren Graupegelwert eingestellt, der am häufigsten
auftritt.
-
Die
korrigierte Merkmalsschablone wird in die Wertverkettungseinrichtung 65 eingegeben,
die, in einem Schritt S85, den Biometriewert durch Verketten der
Datenwerte mit der vorbestimmten Reihenfolge erzeugt.
-
Bei
einem Versuchstest wurden 803 der 810 mittleren Graupegelwerte der
stabilisierten Merkmalsschablone erfolgreich reproduziert, wenn
der Versatzvektor verwendet wurde, was nach der Fehlerkorrekturoperation
einer Wiederholbarkeit von 99,9% für den Biometriewert Kbio entspricht. Wenn jedoch kein Versatzvektor
verwendet wurde, wurden nur 591 der mittleren Graupegelwerte reproduziert,
was, selbst bei einer Fehlerkorrektur, nur eine extrem niedrige
Wiederholbarkeit ergab (ungefähr
1,5 × 10–9%).
Daher ist es erkennbar, dass durch systematisches Berücksichtigen
möglicher
Doppeldeutigkeitsquellen in der Merkmalsschablone die Wiederholbarkeit
für die
Zahl deutlich verbessert wird.
-
ZWEITE AUSFÜHRUNGSFORM
-
Bei
der ersten Ausführungsform
wurde ein Biometriewert Kbio aus dem Bild
einer Iris hergeleitet. Nun wird eine zweite Ausführungsform
beschrieben, bei der der Biometriewert Kbio aus
dem Bild eines Fingerabdrucks hergeleitet wird.
-
Ein
Fingerabdruckbild besteht aus einem Muster von Rippen, wobei der
gleichmäßige Verlauf
derselben durch Minutiae bezeichnete Diskontinuitäten unterbrochen
ist. Diese Minutiae wurden zu verschiedenen Typen codifiziert, die
allgemein als Galton-Merkmale bekannt sind. Die Positionen der Minutiae
in einem Fingerabdruck variieren über die Lebensdauer einer Person
hinweg, abgesehen von Einrissen oder dergleichen, nur wenig, und
sie sind ausreichend zufällig,
dass sie für
viele Jahre zum Identifizieren einer Person verwendet wurden. Die
Tabelle 1 benennt die bei dieser Ausführungsform verwendeten acht
Kategorien und liefert eine kurze Beschreibung derselben.
Tabelle
1: Kategorien von Fingerabdruck-Minutiae.
-
Wie
es in der 13 dargestellt ist, wird bei
dieser Ausführungsform
ein Bild eines Fingerabdrucks durch einen Fingerabdrucksensor 103 aufgenommen,
der entsprechende Bilddaten ausgibt, die, unter Verwendung von Prozessdaten 105,
verarbeitet werden, um den Biometriewert Kbio zu
erzeugen. Wie dargestellt, werden die Bilddaten in einen Bildwandler 107 eingegeben,
der das Bild unter Verwendung eines während eines Registrierprozesses
erzeugten Ausrichtungsvektors 109 ausrichtet. Das ausgerichtete
Bild wird in einen Merkmalsschablonegenerator 111 eingegeben,
der entsprechend den Minutiae innerhalb der Bilddaten eine Merkmalsschablone
erzeugt. Der Merkmalsschablonegenerator 111 verwendet einen
Teil eines Doppeldeutigkeit-Auflösungsvektors 115 zum
Auflösen
möglicher
Doppeldeutigkeiten bei der Erzeugung der Merkmalsschablone. Die
erzeugte Merkmalsschablone wird dann in eine Attributwert-Stabilisiereinrichtung 113,
die unter Verwendung von Daten innerhalb des Doppeldeutigkeit-Auflösungsvektors 115 eine
stabilisierte Merkmalsschablone erzeugt, eingegeben. Die stabilisierte
Merkmalsschablone wird dann in einen Zahlengenerator 117 eingegeben,
der den Biometriewert Kbio unter Verwendung
eines Fehlerkorrekturvektors 119 erzeugt, der Teil des
Prozessvektors bildet.
-
Wie
oben beschrieben, ist vieles der bei dieser Ausführungsform beschriebenen Verarbeitung
analog zu der bei der ersten Ausführungsform ausgeführten. Abgesehen
von der Quelle der Bilddaten besteht der größte Unterschied vielleicht
darin, dass bei dieser Ausführungsform
die Merkmalsschablone durch Identifizieren von den Bilddaten innewohnenden
Merkmalen erhalten wird, wohingegen bei der ersten Ausführungsform ein
Gitter auf die Bilddaten angewandt wurde. Um diese Merkmale zu identifizieren,
erfolgen Messungen des Informationsinhalts des ausgerichteten Bilds,
und es wird mit vorbestimmten Bedingungen, wie sie jedem Merkmal
zugeordnet sind, verglichen. Daher besteht die Möglichkeit einer Doppeldeutigkeit
bei der Identifikation der Merkmale, wenn ein während der Identifikation verwendeter
Messwert nahe an die Grenze einer der Bedingungen für ein Merkmal
fällt.
-
Die
Hauptkomponenten des Bildwandlers 107 sind in der 14 dargestellt.
Wie dargestellt, werden die Bilddaten vom Fingerabdrucksensor 103 in
eine Minutiae-Identifiziereinrichtung 131 eingegeben, die
den Typ und die Position mehrerer Minutiae innerhalb der Bilddaten
identifiziert. Diese Minutiaedaten werden in eine Bildausrichteinrichtung 133 eingegeben,
die die Positionen der identifizierten Minutiae unter Verwendung eines
während
des Registrierprozesses erzeugten Ausrichtungsvektors 109 ausrichtet.
-
Die 15 zeigt
die vom Bildwandler 107 während des Registrierprozesses
ausgeführten
Hauptoperationen.
-
Als
Erstes wird, in einem Schritt S101, ein Zählwert auf N gesetzt, wobei
N die Anzahl der Bilder ist, die zu verarbeiten sind, um den Prozessvektor 105 zu
erzeugen. Der Bildwandler 107 löst dann, in einem Schritt S103,
das Erfassen eines Bilds durch den Fingerabdrucksensor 103 aus,
und er empfängt
die Bilddaten für
das erfasste Bild. Bei dieser Ausführungsform werden die vom Fingerabdrucksensor 103 empfangenen Bilddaten
als Erstes ausgedünnt,
um deut lichere Rippen zu erzeugen. Ein derartiger Ausdünnungsvorgang
ist bei automatischen Fingerabdruckverarbeitungssystemen herkömmlich.
-
Die
Minutiae-Identifiziereinrichtung 131 verarbeitet dann,
in einem Schritt S105, die Bilddaten unter Verwendung herkömmlicher
Mustererkennungssoftware zum Einteilen von Minutiae in die in der
Tabelle 1 gekennzeichneten acht Kategorien. Die Minutiae-Identifiziereinrichtung 131 positioniert
auch, erneut unter Verwendung herkömmlicher Mustererkennungssoftware,
den Punkt der maximalen Rippenkrümmung,
der als Ursprung dient, von dem aus die Positionen aller anderen
erkannten Minutiae gemessen werden.
-
Die
Positionen und Kategorien für
die identifizierten Minutiae sowie die Position des Ursprungs werden dann
in die Bildausrichteinrichtung 133 eingegeben, die, in
einem Schritt S107, den Zählwert
prüft.
Wenn der Zählwert
N entspricht, identifiziert die Bildausrichteinrichtung 133,
in einem Schritt S29, vier deutliche Minutiae, im Allgemeinen Rippenenden
oder -gabelungen, die als Ausrichtungsminutiae wirken. Insbesondere
wird eine Hauptminutia dadurch identifiziert, dass in einem vorbestimmten
Bereich des Bilds nachgeschaut wird, und drei Sekundärminutiae
werden dadurch identifiziert, dass in drei verschiedenen Bereichen
des Bilds, die voneinander und der Hauptminutia beabstandet sind,
nachgeschaut wird.
-
Die 16 zeigt
schematisch eine Karte der Bilddaten, in der der Ursprung 151 durch
X repräsentiert ist,
jede Ausrichtungsminutia 153 durch ein Quadrat repräsentiert
ist, das die Kategorienummer für
sie umschließt,
und in der alle restlichen Minutiae, die als Messminutiae 155 bezeichnet
werden, durch einen Kreis umschlossen sind, der die Kategorienummer
für die
Minutia umschließt.
-
Eine
Hauptachse ist durch eine Linie gebildet, die den Ursprung 151 und
die Hauptminutia 153a verbindet. Der Abstand zwischen dem
Ursprung 151 und der Hauptminutia 153a wird als
Normierungsabstand R verwendet, und die Positionen der anderen Ausrichtungsminutiae 153 und
der Messminutiae 155 werden dann unter Verwendung von Polarkoordinaten
(r, θ)
bestimmt, wobei für
jede Minutia r der Abstand derselbe vom Ursprung 151, mit
Normierung durch den Normierungsabstand R ist, und θ der Winkel
zwischen der Hauptachse und einer geraden Linie ist, die sich ausgehend
vom Ursprung 151 zur Minutia erstreckt.
-
Die
Bildausrichteinrichtung 133 speichert dann, in einem Schritt
S111, die Absolutpositionen und die Kategorieeinteilungen der Ausrichtungsminutiae 153 zur
Verwendung als Referenzausrichtungsdaten. Der Zweck des Speicherns
der Absolutpositionen und der Kategorieeinteilungen der Ausrichtungsminutiae 153 besteht
im Erleichtern der Identifikation der entsprechenden Minutiae in
folgenden Fingerabdruckbildern.
-
Wenn
im Schritt S107 der Zählwert
nicht N entspricht, zeigt dies an, dass die Bezugsausrichtungsdaten
bereits abgespeichert wurden, und, in einem Schritt S113, werden
Ausrichtungsdaten für
die neue Merkmalsschablone unter Verwendung der Bezugsausrichtungsdaten
erzeugt. Insbesondere werden Minutiae identifiziert, die sich in
der Umgebung der in den Bezugsausrichtungsdaten gespeicherten Absolutposition
befinden und deren Kategorie mit der Kategorie der entsprechenden
Minutiae der Bezugsausrichtungsdaten übereinstimmt. Dies stützt sich
auf die Tatsache, dass eine natürliche
Ausrichtung existiert, mit der ein Benutzer einen Finger auf den
Fingerabdrucksensor legt, weswegen die Positionen der Ausrichtungsminutiae
von einem Bildscan zum nächsten
nicht stark variieren.
-
Dann
vergleicht die Bildausrichteinrichtung 133, in einem Schritt
S115, die für
die neue Merkmalsschablone erzeugten Ausrichtungsdaten mit den Bezugsausrichtungsdaten.
Zu diesem Vergleich gehört
ein Vergleich der (r, θ)-Koordinate
aller Sekundärminutiae
bis auf eine für
die neuen Ausrichtungsdaten mit den entsprechenden Sekundärminutiae
der Bezugsausrichtungsdaten, um eine Bildverzerrung zu erkennen,
die durch eine Änderung
der Ausrichtung des Fingers zwischen verschiedenen Scanvorgängen für den Fingerabdruck
verursacht sein kann. Dann wird auf Grundlage dieser Unterschiede
eine Transformationsfunktion bestimmt, um die Werte r und θ der neuen
Sekundärminutiae
so zu wandeln, dass sie mit den entsprechenden Sekundärminutiae
der Bezugsausrichtungsdaten ausgerichtet sind. Schließlich wird
die ermittelte Transformationsfunktion auf die (r, θ)-Koordinate
der letzten verbliebenen Sekundärminutia
angewandt, und die transformierten Koordinaten werden mit den (r, θ)-Koordinaten
der entsprechenden Sekundärminutia
der Bezugsausrichtungsdaten verglichen, um zu prüfen, ob sie übereinstimmen.
Insbesondere dann, wenn der normierte Abstand zwischen den transformierten
(r, θ)-Koordinaten
der zuletzt verbliebenen Sekundärminutia
und der (r, θ)-Koordinaten
der entsprechend herangezogenen Sekundärminutia einen vorgegebenen
Wert überschreitet, zeigt
dies an, dass die gespeicherten Bezugsausrichtungsdaten unzuverlässig sein
könnten,
weswegen die Routine so weiterläuft,
dass sie, in einem Schritt S117, die gespeicherten Bezugsausrichtungsdaten
löscht
und zum Schritt S101, in dem der Zählwert auf N zurückgesetzt
wird, wobei andernfalls die bestimmte Transformation auf die (r, θ)-Koordinaten
der Messminutia 155 angewandt wird, um eine Minutiaekarte
zu erzeugen, die zur weiteren Verarbeitung gespeichert wird.
-
Nachdem
entweder die Ausrichtungsdaten als Bezugsausrichtungsdaten gespeichert
wurden (Schritt S111) oder es sich ergab, dass sie mit den gespeicherten
Bezugsausrichtungsdaten übereinstimmen
(Schritt S115), dekrementiert die Bildausrichteinrichtung 133 in
einem Schritt S119 den Zählwert
um 1, und dann prüft sie,
in einem Schritt S121, ob der Zählwert
null entspricht. Wenn der Zählwert
nicht null entspricht, kehrt die Routine zum Schritt S103 zurück, in dem
ein neues Bild erfasst wird. Wenn der Zählwert null entspricht, zeigt dies
an, dass N Minutiaekarten erfolgreich abgespeichert wurden, und
es beginnt die Analyse der Messminutiae 155.
-
Die
N durch die Bildausrichteinrichtung 133 gespeicherten Minutiaekarten
werden in den Merkmalsschablonegenerator 111 eingegeben,
wo sie als Erstes in eine Minutiae-Indiziereinrichtung 135 eingegeben werden,
die Minutiae in jeder der N Minutiaekarten indiziert. Insbesondere
werden, für
jede Minutiaekarte, die Minutiae primär in der Reihenfolge eines
zunehmenden Werts θ indiziert.
Wenn zwei oder mehr Minutiae über denselben
Wert von θ verfügen, werden
diese zwei oder mehr Minutiae in zunehmender Reihenfolge von R indiziert.
-
Die
indizierten Minutiaedaten werden dann in eine Ausschließeinrichtung 137 für instabile
Minutiae eingegeben, die die Minutiae in jeder der Minutiaekarten
vergleicht und alle Minutiae mit niedriger Wiederholbarkeit ausschließt. Insbesondere
werden Minutiae ausgeschlossen, die nicht in allen N Minutiaekarten
erscheinen, sowie Minutiae, die im gesamten Satz der N Minutiaekarten
in mehr als zwei Kategorien einklassifiziert wurden. Dann wird ein
Ausschließungsvektor 139,
der Einzelheiten zu den ausgeschlossenen Minutiae liefert, erzeugt
und als Teil des Doppeldeutigkeit-Auflösungsvektors 115 abgespeichert.
Der Ausschließungsvektor 139 listet
die (r, θ)-Koordinaten
der ausgeschlossenen Minutiae auf, so dass beim Verarbeiten folgender Fingerabdruckscans
an diesen Koordinaten vorhandene Minutiae nicht berücksichtigt
werden.
-
Ein
Problem, wie es dann auftreten kann, wenn die Minutiae indiziert
werden, besteht darin, dass dann, wenn zwei oder mehr Minutiae über sehr ähnliche
Werte von θ verfügen, die
Reihenfolge, in der diese zwei oder mehr Minutiae indiziert werden,
zwischen verschiedenen Minutiaekarten variieren kann. Um dies zu berücksichtigen,
werden die von der Ausschließeinrichtung 137 für instabile
Minutiae ausgegebenen Minutiaekarten in eine Abfolge-Auflöseeinrichtung 141 eingegeben,
die Quellen einer möglichen
Abfolge-Doppeldeutigkeit
identifiziert. Insbesondere werden Minutiae, deren Werte von θ innerhalb
eines vorbestimmten Werts Δθ zueinander
liegen, zusammen gruppiert, und es wird eine zweite Indizierregel
angewandt. Bei dieser Ausführungsform
besteht die zweite Indizierregel darin, dass die Minutiae in jeder
Gruppe in der Reihenfolge eines zunehmenden Werts von r gruppiert
werden. Dann wird ein Abfolge-Auflösungsvektor 143 als
Teil des Doppeldeutigkeit-Auflösungsvektors 115 gespeichert,
wobei er Kluster von Indexnummern speichert, wobei jeder Kluster
die Indexnummern für
eine Gruppe von Minutiae speichert, die in der Reihenfolge eines
zunehmenden Werts r neu zu indizieren sind. Wenn beispielsweise
herausgefunden wird, dass die Werte von θ für Minutiae mit den Indexzahlen 6, 7 und 8 innerhalb
von Δθ zueinander
liegen, speichert der Abfolge-Auflösungsvektor einen Kluster,
der die Indexwerte 6, 7 und 8 anzeigt.
-
Die
Abfolge-Auflöseeinrichtung 151 gibt
N Merkmalsschablonen aus, die über
mehrere indizierte Merkmale verfügen,
wobei jedem Merkmal ein normierter Abstand r, ein Winkel θ und eine
Kategorieeinteilung zugeordnet sind. Anders gesagt, verfügt jedes
Merkmal über
drei Attribute (r, θ und
die Kategorie), die über einen
entsprechenden Attributwert verfügen.
Diese Merkmalsschablone wird in die Attributwert-Stabilisiereinrichtung 113 eingegeben.
Wie es in der 17 dargestellt ist, wird die
Merkmalsschablone als Erstes in eine Kategorieattributwert-Einstelleinrichtung 151 eingegeben,
die Teil der Attributwert-Stabilisiereinrichtung 113 ist.
Obwohl Minutiae, die in mehr als zwei Kategorien eingeteilt wurden,
bereits ausgeschlossen sind, sind immer noch Minutiae enthalten,
die in zwei verschiedene Kategorien eingeteilt wurden. Diese Kategoriedoppeldeutigkeit
wird durch die Kategorieattributwert-Einstelleinrichtung 151 erkannt.
Insbesondere wird eine Reihenfolge für den Vorrang der Kategorien
voreingestellt, und für
jede Minutia, deren Kategorie doppeldeutig ist, wird ermittelt,
ob die in der Vorrangsreihenfolge höhere oder niedrigere Kategorie
zu verwenden ist. Bei dieser Ausführungsform erfolgt diese Zuweisung
auf Grundlage der Kategorie, die in der Hauptzahl der N Merkmalsschablonen
der Minutia zugewiesen wurde. Dann wird für die Minutia ein Kategorieauflösungsvektor 153,
der einen Wert speichert, der anzeigt, ob bei Doppeldeutigkeit die
höhere
oder niedrigere Kategorie in der Vorrangsreihenfolge zu verwenden
ist, erzeugt und als Teil des Doppeldeutigkeit-Auflösungsvektors 115 abgespeichert.
-
Der
normierte Abstand r und der Winkel θ für jedes Merkmal werden dann
durch eine Ortsattributwert-Quantisiereinrichtung 155 und
eine Ortsattributwert-Einstelleinrichtung 159 verarbeitet,
um die Ortsattributwerte zu stabilisieren.
-
Als
Erstes wird der normierte Abstand r für eines der Merkmale statistisch über die
N Merkmalsschablonen durch die Ortsattributwert-Quantisiereinrichtung 155 verglichen,
um den Mittelwert und die Standardabweichung der gemessenen Werte
zu bestimmen. Dann wird unter Verwendung der herkömmlichen
Statistikanalyse der Standardabweichung ein Vertrauensintervall σ, das einem
vorbestimmten Vertrauenspegel entspricht, berechnet. Bei dieser
Ausführungsform
entspricht das Vertrauensintervall σ demjenigen Bereich des normierten
Abstands r, in den, auf Grundlage der ermittelten Standardabweichung,
99% der Messwerte fallen. Eine Quantisierungseinheit Q, die dem
Abstand zwischen benachbarten Quantisierungspegeln entspricht, wird dann
diesem Vertrauensintervall σ gleich
gesetzt. Auf diese Weise besteht dann, wenn der Mittelwert des normierten
Abstands r im Verlauf zwischen zwei benachbarten Quantisierungspegeln
liegt, eine Wahrscheinlichkeit von 99% dafür, dass der Wert des normierten
Abstands r für
ein folgendes Fingerabdruckbild in den benachbarten Quantisierungspegel
fällt.
Es ist zu beachten, dass die Quantisierungspegel bei einer relativ
kleinen Standardabweichung dichter aneinander liegen als bei einer
relativ hohen Standardabweichung. Dann wird dieselbe Prozedur für den Winkel θ ausgeführt, um
einen entsprechenden Mittelwert und eine Quantisierungseinheit zu
bestimmen. Diese Prozedur wird dann sequenziell auf die restlichen
Merkmale angewandt, so dass jedes Merkmal über entsprechende Mittelwerte
des normierten Abstands r und des Winkels θ verfügt, und dass es auch über entsprechende
Quantisierungseinheiten für
den normierten Abstand r und den Winkel θ verfügt. Bei dieser Ausführungsform
werden die Quantisierungseinheiten für jedes Merkmal unabhängig eingestellt,
so dass sie für
Merkmale mit großer
Standardabweichung für
ihre Messung größer sein
können.
-
Die
Größen der
Quantisierungseinheiten für
den normierten Abstand r und den Winkel θ für jedes Merkmal werden als
Einheitsvektor 157 gespeichert. Der mittlere normierte
Abstand r und der mittlere Winkel θ für jedes Merkmal werden dann
durch die entsprechenden Quantisierungseinheiten geteilt, um eine
quantisierte Merkmalsschablone zu erzeugen.
-
Die
quantisierte Merkmalsschablone wird in eine Ortsattributwert-Einstelleinrichtung 159 eingegeben, die
die Versatzwerte für
die quantisierten Werte des mittleren Abstands r und des mittleren
Winkels θ bestimmt, die
dann, wenn sie zu den quantisierten Werten addiert werden, diese
ungefähr
in der Mitte zwischen zwei benachbarten Quantisierungspegeln platzieren.
Wenn beispielsweise die Statistikanalyse zeigt, dass ein Quantisierungspegel
mit jedem Viertel des normierten Abstands auftreten sollte (d. h.,
es existieren Quantisierungspegel bei 0,25, 0,5, 0,75 ...), wird
dann, wenn der Mittelwert des normierten Abstands r 0,272 ist, der
quantisierte Wert dadurch berechnet, dass der normierte Abstand
r durch 0,25 geteilt wird, was 1,088 ergibt. Dann wird ein Versatzwert
durch Abschneiden des quantisierten Werts (wodurch sich der Wert
1 ergibt), durch Addieren von 0,5 (wodurch sich der Wert 1,5 ergibt)
und durch Subtrahieren des quantisierten Werts berechnet, wodurch
der Versatzwert 0,412 erhalten wird. In ähnlicher Weise wird, wenn der
Mittelwert des normierten Abstands r 0,241 ist, ein Versatzwert
durch Abschneiden des quantisierten Werts berechnet, d. h. das Abschneiden
von 0,964 ergibt 0, es wird 0,5 addiert, und es wird der quantisierte
Wert subtrahiert, wodurch sich ein Versatzwert von –0,464 ergibt.
Die Versatzwerte für
den normierten Abstand r und den Winkel θ für jedes Merkmal der quantisierten
Merkmalsschablone werden dann als Versatzvektor 161 abgespeichert,
der einen Teil des Doppeldeutigkeit-Auflösungsvektors 115 bildet.
-
Dann
addiert die Ortsattributwert-Einstelleinrichtung 159 die
jeweiligen Versatzwerte zum normierten Abstand r und zum Winkel θ für jedes
Merkmal der quantisierten Merkmalsschablone, um eine eingestellte Merkmalsschablone
zu erzeugen.
-
Die
durch die Ortsattributwert-Einstelleinrichtung 159 ausgegebene
eingestellte Merkmalsschablone wird dann in eine Ortsattributwert-Abschneideinrichtung 163 eingegeben,
die die Werte des versetzten Abstands r und des versetzten Winkels θ abschneidet,
um die stabilisierte Merkmalsschablone zu erzeugen.
-
Die
stabilisierte Merkmalsschablone wird in einen Zahlengenerator 117 eingegeben,
in dem sie als Erstes in eine Fehlerkorrektureinrichtung 165 eingegeben
wird, die auf dieselbe Weise wie bei der ersten Ausführungsform
einen Fehlerkorrekturvektor 119 erzeugt, und dann wird
die korrigierte Merkmalsschablone in eine Werteverkettungseinrichtung 167 eingegeben,
die, für
jedes für
Daten verwendete Merkmal, den Kategoriewert und die abgeschnittenen
Werte des normierten Abstands r und des Winkels θ verkettet, um einen Merkmalswert
zu bilden, wobei dann die Merkmalswerte für jede gemessene Minutia in
der Reihenfolge der Indexnummer verkettet werden, um den Biometriewert
Kbio zu erzeugen.
-
Bei
dieser Ausführungsform
werden der Einheitsvektor 157 und der Versatzvektor 161 erzeugt,
damit die Wahrscheinlichkeit vorbestimmt ist, mit der derselbe Wert
bei einer folgenden Messung korrekt regeneriert wird. Dies wird
unter Bezugnahme auf die 18A bis 18D detaillierter erläutert.
-
Die 18A zeigt eine ideale Wahrscheinlichkeitsverteilungsfunktion
für die
gemessene Länge
eines Merkmals, dessen tatsächliche
Länge d
ist. Wie dargestellt, ist die ideale Wahrscheinlichkeitsverteilungsfunktion
eine Deltafunktion mit dem Abstand d. Im tatsächlichen Leben wird jedoch
eine derartige ideale Wahrscheinlichkeitsverteilungsfunktion nie
erhalten. Vielmehr bedeuten systematische Fehler, die durch die Art
der Aufnahme des Messwerts verursacht sind, und zufällige Fehler,
dass der gemessene Wert nicht notwendigerweise mit d übereinstimmt.
Die Erfindung hat besondere Relevanz für die Handhabung zufälliger Fehler,
wie sie einer Messung innewohnen. Die 18B zeigt
die tatsächliche
Wahrscheinlichkeitsverteilung für eine
Messung, wobei angenommen wird, dass keine systematischen Fehler
vorliegen. Wie dargestellt, ist die Wahrscheinlichkeitsdichtefunktion
eine Normalfunktion, die zentriert zum Abstand d liegt. Dem Fachmann
ist es bekannt, dass ein Vertrauensintervall σ, das dem Bereich der Abstände entspricht,
in den eine Messung bei einem vorbestimmten Vertrauensgrad fällt, für die Wahrscheinlichkeitsverteilungsfunktion
berechnet werden kann. Dieses Vertrauensintervall σ wird dann
als Quantisierungseinheit Q verwendet. Die 18C zeigt
die Wahrscheinlichkeitsdichtefunktion auf einer Skala, die unter
Verwendung des Quantisierungswerts Q erzeugt wurde.
-
Wie
es in der 18C dargestellt ist, ist der
Abstand d nur gerade kleiner als einer der Quantisierungspegel (d.
h. 6Q), und daher besteht eine deutliche Wahrscheinlichkeit dafür, dass
bei einer folgenden Messung der Messwert größer als 6Q ist. So ist die
Wahrscheinlichkeit, dass der abgeschnittene Wert 5 ist, nur geringfügig größer als
die Wahrscheinlichkeit, dass der abgeschnittene Wert 6 ist. Daher
wird ein Versatzwert berechnet, der das Zentrum der Wahrscheinlichkeitsverteilungsfunktion
in der Mitte zwischen zwei benachbarten Quantisierungspegeln platziert.
Wie es in der 18D dargestellt ist, ist, nachdem
der Versatzwert addiert wurde, die Wahrscheinlichkeitsverteilungsfunktion
um d' zentriert,
wobei d' 5,5Q entspricht.
Da die Quantisierungseinheit Q auf Grundlage des Vertrauensintervalls
der Wahrscheinlichkeitsdichtefunktion ermittelt wurde, entspricht
die Wahrscheinlichkeit, dass der abgeschnittene Wert 5 ist, dem
Vertrauenspegel des Vertrauensintervalls.
-
Die
bei einer folgenden Regeneration des Biometriewerts Kbio ausgeführten Operationen
werden nun unter Bezugnahme auf die 19 beschrieben.
-
Als
Erstes erfasst der Fingerabdrucksensor 103, in einem Schritt
S131, ein Bild eines Fingerabdrucks. Die durch den Fingerabdrucksensor 103 ausgegebenen
Bilddaten werden dann, in einem Schritt S131, durch den Bildwandler 107 verarbeitet,
um den Ursprung und die Minutiae zu identifizieren. Dann richtet
der Bildwandler 107, in einem Schritt 135, die
Minutiae unter Verwendung des Ausrichtungsvektors aus. Insbesondere werden
die Hauptminutiae und die Sekundärminutiae
identifiziert, und eine Hauptachse wird dadurch gebildet, dass eine
gerade Linie vom Ursprung durch die Hauptminutia verlängert wird.
Die Abstände
vom Ursprung zu den restlichen Minutiae werden dann in Bezug auf
den Abstand zwischen dem Ursprung und der Hauptminutia normiert.
Die (r, θ)-Koordinaten für alle bis
auf eine der Sekundärminutiae
werden dann mit den (r, θ)-Koordinaten
der entsprechenden, in den Bezugsausrichtungsdaten gespeicherten
Sekundärminutiae
verglichen, und es wird eine Transformation zum Kompensieren einer
Bildverzerrung bestimmt. Diese Transformation wird dann auf die
Koordinaten aller Minutiae angewandt, und die transformierten (r, θ)-Koordinaten der restlichen Sekundärminutiae
werden mit den (r, θ)-Koordinaten
der entsprechenden Sekundärminutia
in den Bezugsausrichtungsdaten verglichen, um zu prüfen, ob
die Transformation passend ist.
-
Nachdem
die Minutiae unter Verwendung des Ausrichtungsvektors ausgerichtet
wurden, wird die vom Bildwandler 107 ausgegebene Minutiaekarte
durch den Merkmalsschablonegenerator 111 verarbeitet. Insbesondere
indiziert die Minutiaeindiziereinrichtung 135 alle Minutiae,
und dann schließt
die Ausschließeinrichtung 137 für instabile
Minutiae, in einem Schritt S137, alle im Ausschließvektor 139 gekennzeichneten
Minutiae aus. Die restlichen Minutiae werden dann in die Abfolge-Auflöseinrichtung 141 eingegeben,
die, in einem Schritt S139, jegliche Doppeldeutigkeit der Abfolge
für im
Abfolge-Auflösungsvektor 143 identifizierte
Minutia auflöst.
Ferner werden dann Bilder des Fingerabdrucks 101 eingescannt
und verarbeitet, bis M (wobei M > 1 gilt)
Merkmalsschablonen erzeugt sind.
-
Die
durch den Merkmalsschablonegenerator 111 ausgegebenen M
Merkmalsschablonen werden dann in die Attributwert-Stabilisiereinrichtung 113 eingegeben,
die eine stabilisierte Merkmalsschablone erzeugt. Insbesondere wird
die Merkmalsschablone in die Kategoriewert-Einstelleinrichtung eingegeben,
die, in einem Schritt S141, Kategorieeinteilungsanomalitäten über die
M Merkmalsschablonen unter Verwendung des Kategorie-Auflösungsvektors 153 auflöst. Dann
werden die Positionswerte der Merkmalsschablone quantisiert, was
in einem Schritt S193 durch Eingeben jeder Merkmalsschablone in
die Ortsattributwert-Quantisiereinrichtung 155 erfolgt,
die den im Einheitsvektor 157 gespeicherten Einheitswert
dazu verwendet, die gemessenen Positionswerte zu skalieren, und
jede quantisierte Merkmalsschablone wird in die Ortsattributwert-Einstelleinrichtung 159 eingegeben,
die die Positionswerte unter Verwendung des im Versatzvektor 161 gespeicherten
Versatzwerts einstellt, und schließlich wird jede eingestellte
Merkmalsschablone in die Ortsattributwert-Abschneideinrichtung 163 eingegeben,
die die Attributwerte abschneidet und die entsprechende stabilisierte
Merkmalsschablone ausgibt.
-
Die
M stabilisierten Merkmalsschablone werden dann in den Zahlengenerator 117 eingegeben,
der, in einem Schritt 157, den Biometriewert Kbio unter
Verwendung des Fehlerkorrekturvektors 119 erzeugt.
-
DRITTE AUSFÜHRUNGSFORM
-
Bei
der ersten und der zweiten Ausführungsform
wurden die Iris bzw. der Fingerabdruck einer Person zum Erzeugen
eines dieser Person zugeordneten Biometriewerts Kbio verwendet.
Eine andere mögliche
Quelle biometrischer Daten ist die Retina, da das Gefäßmuster
auf dieser für
eine Person repräsentativ
ist. Nun wird eine dritte Ausführungsform
unter Bezugnahme auf die 20, 21A und 21B beschrieben,
bei der der Biometriewert Kbio aus dem Bild
einer Retina bestimmt wird.
-
Wie
es in der 20 dargestellt ist, wird die
Retina eines Auges 201 unter Verwendung eines Retinabildscanners 203 abgescannt,
um der Retina entsprechende Bilddaten zu erzeugen. Die 21A zeigt ein Bild einer typischen Retina. Wie
dargestellt, beinhaltet das Retinabild mehrere baumförmige Gefäßmuster,
die sich vom Sehnerv 231 aus erstrecken. Bei dieser Ausführungsform
ist der zum Erzeugen des Biometriewerts Kbio verwendete
Bildabschnitt ein Ring, der zentrisch zum Zentrum des Sehnervs liegt,
wobei der Innenradius des Rings im Wesentlichen dem Radius des Sehnervs
entspricht und der Außenradius
des Rings durch ein Mehrfaches des Innenradius gegeben ist.
-
Bei
dieser Ausführungsform
werden die Positionen von Verzweigungspunkten, wo sich ein Ast eines der
baumförmigen
Gefäßmuster
in zwei oder mehr Unteräste
aufteilt, und Schnittpunkte, an denen ein Ast eines baumförmigen Gefäßmusters
den Ast eines anderen Gefäßmusters
schneidet, gemessen, um den Biometriewert Kbio zu
erzeugen. Diese Verzweigungspunkte und Schnittpunkte werden nachfolgend
als Knoten bezeichnet. Die 21B zeigt
den ringförmigen
Probenabschnitt, wobei Knoten durch Kreise gekennzeichnet sind,
der der in der 21A dargestellten Retina entspricht.
-
Während des
Registrierprozesses entnimmt der Bildwandler 207 den ringförmigen Probenabschnitt, und
er speichert den Rest der Bilddaten als Ausrichtungsvektor 209.
Insbesondere führt
der Bildwandler 207 herkömmliche Bildverarbeitungstechniken
aus, um den Sehnerv 231 zu identifizieren, er berechnet
das Zentrum und den Radius desselben, und dann berechnet er den
Außenradius
des ringförmigen
Probenabschnitts durch Multiplizieren des Radius des Sehnervs 231 mit
einem vorbestimmten Wert. Der Bildwandler 207 erkennt auch
einen Knoten außerhalb
des ringförmigen
Probenabschnitts, der als Hauptknoten 233 wirken soll. Dann
wird eine Hauptachse durch eine Linie gebildet, die das Zentrum
des ringförmigen
Probenabschnitts und den Hauptknoten 233 verbindet.
-
Der
Bildwandler 207 identifiziert auch alle Knoten innerhalb
des ringförmigen
Probenabschnitts unter Verwendung herkömmlicher Bildverarbeitungstechniken.
Dann werden die (r, θ)-Koordinaten
dieser Knoten gespeichert, um eine Retinakarte aufzubauen, die in
einen Merkmalsschablonegenerator 211 eingegeben wird. Auf
dieselbe Weise, wie es bei der zweiten Ausführungsform beschrieben ist,
indiziert der Merkmalsschablonegenerator 211 die Knoten,
er identifiziert Knoten, die nicht zuverlässig reproduziert werden, und
er speichert diese Koordinaten als Ausschließungsvektor, und er indiziert
eine Doppeldeutigkeit bei der Abfolge und erzeugt einen Abfolgeauflösungsvektor.
Die durch den Merkmalsschablonegenerator 211 ausgegebene
Merkmalsschablone wird in eine Attributwert-Stabilisiereinrichtung 213 eingegeben,
die den Ortswert jedes Knotens durch Erzeugen jeweiliger Einheitswerte
für den
Abstand r und den Winkel θ unter
Verwendung des erzeugten Einheitswerts stabilisiert, die jeweiligen
Versatzwert für
den quantisierten Abstand r und den quantisierten Winkel θ, und die
dann den quantisierten Abstand r und den quantisierten Winkel θ unter Verwendung
der Versatzwerte einstellt. Die Einheitswerte und die Versatzwerte
werden in einem Einheitsvektor bzw. einem Versatzvektor gespeichert.
Dann werden die eingestellten Ortskoordinaten abgeschnitten, um
eine stabilisierte Merkmalsschablone zu erzeugen.
-
Die
stabilisierte Merkmalsschablone wird in einem Zahlengenerator 217 eingegeben,
der, auf dieselbe Weise, wie es bei der zweiten Ausführungsform
beschrieben ist, den Biometriewert Kbio unter
Verwendung eines Fehlerkorrekturvektors 219 erzeugt.
-
Während der
Regeneration des Biometriewerts Kbio wird
die Retina des Auges 201 durch den Retinabildscanner 203 abgescannt,
und die sich ergebenden Bilddaten werden in den Bildwandler 207 eingegeben. Die
Bilddaten werden durch den Bildwandler 207 unter Verwendung
der im Ausrichtungsvektor 209 gespeicherten Bezugsausrichtungsdaten
ausgerichtet, und es wird eine Retinakarte erzeugt. Diese Retinakarte
wird in den Merkmalsschablonegenerator 211 eingegeben,
der unter Verwendung des Ausschließungsvektors und des Abfolgeauflösungsvektors,
wie sie im Doppeldeutigkeit-Auflösungsvektor 215 gespeichert
sind, eine Merkmalsschablone erzeugt. Die Merkmalsschablone wird
dann in die Attributwert-Stabilisiereinrichtung 213 eingegeben,
die die Ortswerte der Merkmale innerhalb der Merkmalsschablone unter
Verwendung des im Doppeldeutigkeit-Auflösungsvektor 215 gespeicherten
Einheitsvektors und Versatzvektors stabilisiert, und die stabilisierte
Merkmalsschablone wird in den Zahlengenerator 217 eingegeben,
der den Biometriewert Kbio unter Verwendung
des Fehlerkorrekturvektors 219 erzeugt.
-
VIERTE AUSFÜHRUNGSFORM
-
Bei
der ersten, zweiten und dritten Ausführungsform werden Biometriedaten
durch Messen eines biologischen Merkmals einer Person erzeugt. Jedoch
kann eine Zahlenerzeugungstechnik gemäß der Erfindung auch unter
anderen Umständen
angewandt werden. Nun wird unter Bezugnahme auf die 22 bis 25 eine
vierte Ausführungsform
beschrieben, bei der eine Bildnummer Kpho erzeugt
wird, die für
eine Fotografie repräsentativ
ist. Insbesondere wird bei der Ausführungsform eine Vorrichtung
beschrieben, die eine Kennkarte druckt, die ein Foto einer Person
sowie Authentifizierungsdaten enthält, die den Herausgeber der
Kennkarte authentifizieren und auch verifizieren, dass das Foto
dasselbe ist, wie dasjenige, das zur Herausgabe der Kennkarte verwendet
wurde. Dann ist ein Kennkartenleser dazu in der Lage, die in der
Kennkarte gespeicherte Information zu lesen und durch Scannen des
Fotos und durch Regenerieren der Bildnummer Kpho zu
verifizieren, dass die Kennkarte gültig ist und das Foto nicht
gefälscht
wurde.
-
Die 22 zeigt
die Vorrichtung zum Erzeugen der Kennkarte, und die 23 zeigt
eine typische Kennkarte 351. Wie es in der 23 dargestellt
ist, verfügt
die Kennkarte 351 über
ein Bild 353 einer Person, das innerhalb eines rechteckigen
Rahmens 355 dargestellt wird. Auf die Kennkarte 351 sind
persönliche
Details (insbesondere der Name, die Adresse, das Geburtsdatum und
die Nationalität)
der im Bild 353 dargestellten Person geschrieben. Auf die
Kennkarte 351 ist auch ein Strichcode 359 gedruckt.
Wie es nachfolgend detailliert beschrieben wird, speichert der Strichcode
einen Doppeldeutigkeit-Auflösungsvektor
und einen Fehlerkorrekturvektor, die beide mit dem Bild 353 in
Beziehung stehen, eine digitale Signatur zum Authentifizieren der
Kennkarte 351 und die persönlichen Daten der im Bild 353 dargestellten
Person. Bei dieser Ausführungsform
ist der Strichcode 359 ein zweidimensionaler PDF417-Strichcode.
-
Es
wird zur 22 zurückgekehrt, gemäß der das
Foto 301 der Person unter Verwendung eines Bildscanners 303 gescannt
wird. Die dem Foto 301 entsprechenden Bilddaten, wie sie
durch den Bildscanner 303 erzeugt werden, werden in einen
Bildwandler 305 eingegeben, der dem rechteckigen Rahmen
entsprechende Bilddaten hinzufügt
und die Bilddaten in ein Koordinatensystem mit einem Ursprung wandelt,
der sich in der unteren, linken Ecke des Rahmens 355 befindet
(wie es in der 23 dargestellt ist), wobei die
X- und die Y-Achse in der horizontalen bzw. vertikalen Richtung
verlaufen (wie es in der 23 dargestellt
ist).
-
Die
transformierten Bilddaten werden in einen Merkmalsschablonegenerator 307 eingegeben,
der die Farbbilddaten in Grauskala-Bilddaten wandelt und ein Gitter
von 40 Zeilen auf 20 Spalten auf die dem Foto 301 entsprechenden
Bilddaten anwendet. Bei dieser Ausführungsform muss die Menge der
Daten innerhalb des Doppeldeutigkeit-Auflösungsvektors niedrig gehalten
werden, da nur ein begrenzter Datenumfang innerhalb eines PDF417-Strichcodes
gespeichert werden kann. Um dies auszuführen, schließt der Merkmalsschablonegenerator 307 Teile
des Bilds, die nicht viel Information enthalten, beispielsweise
einen gleichmäßigen Hintergrund,
aus. Insbesondere gruppiert der Merkmalsschablonegenerator 307 die
Gitterzellen zu Makrozellen, von denen jede über ein Array von 4 auf 4 Gitterzellen
verfügt.
So werden die dem Foto 301 entsprechenden Bilddaten in
ein Gitter von 40 Makrozellen unterteilt. Dann wählt der Merkmalsschablonegenerator 307 diejenigen
20 Makrozellen aus, die über
den signifikantesten Informationsinhalt verfügen. Typischerweise entsprechen
diese Makrozellen demjenigen Teil des Fotos 301, das das
Gesicht der Person und deren Bekleidung enthält. Dann wird ein Ausschließungsvektor
erzeugt, der die restlichen 60% der Makrozellen ausschließt. Dieser
Ausschließungsvektor
benötigt
daher 50 Bits (eines für
jede Makrozelle) oder ungefähr
7 Bytes, an Information.
-
Für die nicht
ausgeschlossenen Makrozellen berechnet der Merkmalsschablonegenerator
einen normierten, mittleren Graupegelwert für jede Gitterzelle, wie es
bei der ersten Ausführungsform
beschrieben ist und dann erzeugt er eine Merkmalsschablone, die
an eine Attributwert-Stabilisiereinrichtung 309 ausgegeben wird.
-
Die
Attributwert-Stabilisiereinrichtung 309 erzeugt einen Einheitswert,
der dazu verwendet wird, alle normierten Graupegel zu skalieren,
wie es bei der ersten Ausführungsform
beschrieben ist. Dann berechnet die Attributwert-Stabilisiereinrichtung 309 für jedes
Merkmal der Merkmalsschablone einen Versatzwert, und sie speichert
die Versatzwerte als Versatzvektor. Um die im Versatzvektor gespeicherte
Informationsmenge zu verringern, wird dieser Versatzwert auf entweder
0 oder 0,5 skalierte Einheiten eingestellt. Auf diese Weise kann
der Versatzwert durch ein einzelnes Bit repräsentiert werden. Jedoch bedeutet
dies tatsächlich,
dass der Wert nicht in der Mitte zwischen be nachbarten Quantisierungsgrenzen
platziert ist, sondern dass er vielmehr innerhalb des zweiten und
dritten Viertels zwischen benachbarten Quantisierungsgrenzen platziert
ist. Dies hat entsprechenden Einfluss auf die Stabilität der abgeschnittenen
Werte.
-
Der
Ausschließungsvektor,
der Einheitsvektor und der Versatzvektor werden in einen Generator 311 für einen
Doppeldeutigkeit-Auflösungsvektor
eingegeben, der einen entsprechenden Doppeldeutigkeit-Auflösungsvektor
erzeugt. Dieser Doppeldeutigkeit-Auflösungsvektor wird zum Einschluss
in den Strichcode in einen Strichcodegenerator 325 eingegeben.
-
Die
von der Attributwert-Stabilisiereinrichtung 309 ausgegebene
stabilisierte Merkmalsschablone wird in einen Bildnummergenerator 313 eingegeben,
der die Bildnummer Kpho erzeugt. Bei dieser
Ausführungsform wird
Redundanz mit dem Faktor 3 verwendet, d. h. für jedes Datenbit sind 2 Fehlerkorrekturbits
vorhanden. Fehlerkorrekturwerte werden auf dieselbe Weise wie bei
der ersten Ausführungsform
erzeugt. Die durch den Bildnummergenerator 313 erzeugten
Fehlerkorrekturwerte werden in einen Generator 315 für einen
Fehlerkorrekturvektor eingegeben, der einen entsprechenden Fehlerkorrekturvektor
erzeugt, der zum Einschluss in den Strichcode in den Strichcodegenerator
eingegeben wird. Dieser Fehlerkorrekturvektor enthält ungefähr 27 Bytes
an Information.
-
Über eine
Benutzerschnittstelle 317 werden persönliche Details betreffend die
im Foto 301 dargestellte Person in einen Generator 319 für persönliche Daten
eingegeben. Die durch den Generator 319 für persönliche Daten
erzeugten persönliche
Daten werden zum Einschluss in den Strichcode in den Strichcodegenerator 325 eingegeben,
und sie werden auch in einen Identifikationsdatengenerator 321 eingegeben.
In den Identifikationsdatengenerator 321 wird auch die
Bildnummer Kpho eingegeben, wo sie mit den
persönlichen
Daten kombiniert wird, um Identifikationsdaten zu erzeugen. Diese
Identifikationsdaten werden in einen Generator 323 für eine digitale
Signatur eingegeben, der an ihnen einen sicheren Hashalgorithmus
anwendet, um unidirektionale Hashinformation zu erzeugen. Diese
unidirektionale Hashinformation wird dann unter Verwendung eines
privaten Verschlüsselungsschlüssels Kpri verschlüsselt, wie er unter Verwendung
des RSA-Algorithmus für
den Kartenherausgeber erzeugt wird. Die vom Generator 323 für eine digitale
Signatur erzeugte digitale Signatur wird dann zum Einschluss in
den Strichcode in den Strichcodegenerator 325 eingegeben.
-
Das
vom Bildwandler 305 erzeugte eingerahmte Bild, der vom
Strichcodegenerator 325 erzeugte Strichcode und die vom
Generator 319 für
persönliche
Daten erzeugten persönlichen
Daten werden alle in einen Bildprozessor 327 eingegeben,
der die Information zusammenstellt, um Bilddaten für die Kennkarte
zu erzeugen. Die erzeugten Bilddaten werden dann durch den Drucker 329 gedruckt,
um die Kennkarte 351 herzustellen.
-
Die 24 zeigt
die Hauptkomponenten des Kennkartenlesers, der dazu verwendet wird,
Einzelheiten auf einer Kennkarte 351 zu prüfen. Der
Leser verfügt über einen
Bildscanner 901, der das Bild der Kennkarte 351 scannt
und Bilddaten an einen Strichcodeleser 403 und einen Fotowandler 405 ausgibt.
Der Strichcodeleser 403 identifiziert den Teil der den
Strichcode 359 betreffenden Bilddaten unter Verwendung
herkömmlicher Bildverarbeitungstechniken,
und er gibt die Strichcode-Bilddaten in eine Strichcodedaten-Analysiereinrichtung 407 ein,
die den Doppeldeutigkeit-Auflösungsvektor,
den Fehlerkorrekturvektor, die digitale Signatur und die persönlichen
Daten entnimmt, wie sie im Strichcode 359 gespeichert sind.
-
Der
Fotowandler 405 führt
eine Identifizierung und Ausrichtung des dem Foto entsprechenden Bildabschnitts
durch Anwenden eines herkömmlichen
Bildverarbeitungsvorgangs aus, um den Rahmen 355 zu erkennen.
Die dem Foto entsprechenden Bilddaten werden dann in einen Merkmalsschablonegenerator 409 eingegeben,
der die Farbbilddaten in eine Grauskala wandelt und ein Gitter von
40 auf 20 anwendet. Dann schließt
der Merkmalsschablonegenerator 409 die durch den Ausschließungsvektor
innerhalb des Doppeldeutigkeit-Auflösungsvektors gekennzeichneten
Gitterzellen aus, und für
die nicht ausgeschlossenen Gitterzellen berechnet er einen normierten,
mittleren Graupegelwert, um eine Merkmalsschablone zu erzeugen.
Diese Merkmalsschablone wird dann in eine Attributwert-Stabilisiereinrichtung 411 eingegeben,
die die normierten, mittleren Graupegelwerte unter Verwendung des
Einheitsvektors und der Versatzvektoren, die Teil des Doppeldeutigkeit-Auflösungsvektors
bilden, stabilisiert. Die von der Attributwert-Stabilisiereinrichtung 411 ausgegebene
stabilisierte Merkmalsschablone wird dann in einen Bildnummerngenerator 413 eingegeben,
der die Bildnummer Kpho unter Verwendung
des Fehlerkorrekturvektors erzeugt.
-
Die
Bildnummer Kpho wird dann, gemeinsam mit
den aus dem Strichcode 359 zurückgewonnenen persönlichen
Daten, in einen Identifikationsnummerngenerator 415 eingegeben,
der die Identifikationsdaten für die
Kennkarte 351 erzeugt.
-
Diese
Identifikationsdaten werden dann in eine Kennkarte-Verifiziereinrichtung 417 eingegeben,
die verifiziert, ob die Kennkarte 351 von der Autorisierorganisation
ausgegeben wurde oder nicht, und ob auch das auf der Kennkarte dargestellte
Foto das ursprüngliche
Foto ist oder nicht, wie es bei der Herausgabe der Kennkarte verwendet
wurde.
-
Die 25 zeigt
die Hauptkomponenten der Kennkarte-Verifiziereinrichtung 417 detaillierter.
Wie dargestellt, werden die Identifikationsdaten vom Identifikationsdatengenerator 415 in
eine Einheit für
einen sicheren Hashalgorithmus eingegeben, die denselben sicheren
Hashalgorithmus anwendet, wie er im Kennkartengenerator angewandt
wurde. Die durch die Einheit 431 für einen sicheren Hashalgorithmus
ausgegebene unidirektionale Hashinformation wird in einen Komparator 433 eingegeben.
Die aus dem Strichcode 359 zurückgewonnene digitale Signatur
wird in eine Entschlüsselungseinheit 435 eingegeben,
die sie unter Verwendung des öffentlichen
Schlüssels
Kpub 437 für den Kartenherausgeber entschlüsselt. Die
entschlüsselte
digitale Signatur wird in den Komparator 433 eingegeben,
wo sie mit der Zahl gemäß dem Hashalgorithmus
verglichen wird. Wenn die Kennkarte vom Kartenherausgeber hergestellt
wurde und das Foto auf ihr dasselbe ist, wie es vom Kartenherausgeber
verwendet wurde, ist die von der Einheit 931 für einen
sicheren Hashalgorithmus ausgegebene unidirektionale Hashinformation
identisch mit der von der Entschlüsselungseinheit 435 ausgegebenen
entschlüsselten
Zahl, und dies wird vom Komparator 433 erkannt.
-
Es
wird zur 24 zurückgekehrt, gemäß der das
Ausgangssignal der Kennkarte-Verifiziereinrichtung 917 gemeinsam
mit den persönlichen
Daten, die durch die Strichcodedaten-Analysiereinrichtung 407 aus
dem Strichcode 359 zurückgewonnen
wurden, in einen Anzeigedatengenerator 419 eingegeben wird.
Der Anzeigedatengenerator 419 erzeugt dann Ansteuerungssignale,
die an ein Display 421 geliefert werden, um dem Benutzer
des Lesers die im Strichcode gespeicherten persönlichen Einzelheiten und eine
Kennung dahingehend anzuzeigen, ob die Kennkarte gültig ist
oder nicht.
-
MODIFIZIERUNGEN
UND WEITERE AUSFÜHRUNGSFORMEN
-
Bei
der ersten bis dritten Ausführungsform
ist die Wiederholbarkeit eines Biometriewerts Kbio,
wie er durch Verarbeiten von einem biologischen Merkmal einer Person
entsprechenden Biometriedaten erzeugt wird, dadurch verbessert, dass
die Art, gemäß der Eigenschaften
der Biometriedaten gemessen werden, entsprechend Prozessdaten systematisch
angepasst werden, wie sie durch einen Trainingsprozess erzeugt werden.
Bei der vierten Ausführungsform
wird eine analoge, systematische Messtechnik ausgeführt, um
aus einem Foto entsprechenden Bilddaten eine Zahl zu erzeugen. Die
Art, gemäß der die
Verarbeitung der Messwerte bei der ersten bis vierten Ausführungsform
ausgeführt
wird, um zu einer Zahl (beispielsweise dem Biometriewert Kbio) zu gelangen, unterscheidet sich grundsätzlich von
herkömmlichen
Messsystemen.
-
Herkömmlicherweise
ist die Art, gemäß der eine
Messung ausgeführt
wird, durch das Erfordernis eingeschränkt, dass die sich ergebende
Zahl einem Messstandard genügen
muss. Beispielsweise wird ein Abstand herkömmlicherweise so gemessen,
dass er zum internationalen System der Messeinheiten (dem SI-System)
passt, damit der Abstandswert mit anderen Abstandswerten verglichen
werden kann. Das Messsystem konzentriert sich darauf, die Genauigkeit
der Messung innerhalb der durch den Messstandard gesetzten Grenzen
zu maximieren.
-
Hinsichtlich
der vorliegenden Erfindung wurde es erkannt, dass dann, wenn eine
Zahl erzeugt wird, die Analogdaten repräsentiert, die Genauigkeit des
Messwerts unwesentlich ist, sondern dass vielmehr die Wiederholbarkeit
des Messwerts bedeutsam ist. Daher wurden bei der ersten bis vierten
Ausführungsform
die herkömmlichen
Einschränkungen
in Zusammenhang mit dem Erzielen genauer Messwerte verworfen, und
es wurden stattdessen Techniken zum Verbessern der Wiederholbarkeit
des Messwerts entwickelt. Als Beispiel wird bei der zweiten Ausführungsform
eine Zahl berechnet, die der Kategorieeinteilung einer Fingerabdruckminutia
entspricht, und ein Kategorieauflösungsvektor wendet eine wahlfrei
bestimmbare Regel zum Bestimmen der Kategorie in Doppeldeutigkeitsfällen an.
Ob diese beliebig wählbare
Regel die Wahrscheinlichkeit dafür
verbessert oder verschlechtert, dass die Minutia korrekt kategorisiert
wird, ist unwesentlich; wesentlich ist es, dass die Wiederholbarkeit
für die
identifizierte Kategorie verbessert wird.
-
Bei
der ersten bis vierten Ausführungsform
werden Merkmale innerhalb kontinuierlich variierender Daten, nachfolgend
als Analogdaten bezeichnet, identifiziert. Die Analogdaten können von
vielen verschiedenen Quellen, zusätzlich zu denen, wie sie bei
der ersten bis vierten Ausführungsform
beschrieben wurden, herrühren.
Beispielsweise werden bei einer Ausführungsform Biometriedaten dadurch
erhalten, dass ein von einer Person gesprochener Satz aufgezeichnet wird.
Bei anderen Ausführungsformen
werden die Analogdaten durch Bilderzeugung eines Stichs oder eines
Edelsteins durch einen Bildsensor erzeugt. Alternativ wird ein zweckabhängig definiertes
Objekt mit scharf definierten, jedoch zufälligen geometrischen Eigenschaften
unter Verwendung von Ultraschall abgetastet, um Analogdaten zu erzeugen.
Bei der ersten bis vierten Ausführungsform
werden die Analogdaten zum Identifizieren von Merkmalen derselben
verarbeitet. Diese Merkmale verfügen über Attribute
mit zugehörigen
Werten, die gemessen und kombiniert werden, um eine Zahl zu erzeugen. Jedoch
müssen
die Merkmale, die identifiziert werden, und die Attribute der Merkmale,
die gemessen werden, nicht dieselben sein, wie sie bei der ersten
bis vierten Ausführungsform
beschrieben sind.
-
Die
Wiederholbarkeit der aus den Analogdaten erzeugten Zahl wird dadurch
verbessert, dass für
eine stabile Identifikation der Merkmale gesorgt wird, und die gemessenen
Attributwerte stabilisiert werden. Wie es bei der ersten und vierten
Ausführungsform
beschrieben ist, kann ein stabiler Satz von Merkmalen dadurch erhalten
werden, dass eine wahlfreie (in demjenigen Sinn, dass keine Beziehung
zu den Analogdaten besteht) Unterteilung der Analogdaten in getrennte
Teile vorgenommen wird. Bei der ersten und vierten Ausführungsform
wird ein Gitter auf ein zweidimensionales Array von Bilddaten angewandt.
Alternativ könnten,
für ein
eindimensionales Array von Analogdaten, beispielsweise bei der Schallaufzeichnung,
Analogdaten in Segmente unterteilt werden.
-
Anstatt
dass eine beliebige Einteilung der Analogdaten ausgeführt wird,
könnten
sie entsprechend dem Informationsgehalt der Daten zum Erzeugen von
Merkmalen eingeteilt werden. Beispielsweise könnten die Gitterzellengrößen über ein
zweidimensionales Datenarray abhängig
davon variiert werden, wie die Daten über das zweidimensionale Array
variieren. Alternativ könnten
die Merkmale von sich aus einen Teil des Informationsgehalts der
Analogdaten bilden (beispielsweise die Minutiae innerhalb eines
Fingerabdrucks, wie es bei der zweiten Ausführungsform beschrieben ist).
-
Immer
dann, wenn ein Maß für den Informationsgehalt
der Analogdaten verwendet wird, um Merkmale zu identifizieren, besteht
die Möglichkeit,
dass Doppeldeutigkeit auftritt, da die Möglichkeit existiert, dass der Messwert
für den
Informationsgehalt nahe an eine Grenze zwischen einem vorliegenden
Merkmal und keinem vorliegenden Merkmal fällt. Ferner kann eine Doppeldeutigkeit
in der Reihenfolge vorliegen, gemäß der die Merkmale für verschiedene
Chargen von Analogdaten, wie sie unter Verwendung derselben Datenquelle
erhalten werden, indiziert werden. Um diese Merkmalsdoppeldeutigkeit
zu verringern, wird ein Trainingsprozess ausgeführt, während dem Prozessinformation,
die anzeigt, wie die Analogdaten zu verarbeiten sind, erzeugt wird
und zur Verwendung bei einer folgenden Zahlenregeneration abgespeichert
wird.
-
Wenn
beispielsweise während
des Trainingsprozesses erkannt wird, dass ein Messwert für einen
ein Merkmal identifizierenden Informationsgehalt dicht an eine Grenze
zwischen einem Vorliegen und einem Fehlen des Merkmals fällt, wird
eine Prozessanweisung gespeichert, die anzeigt, dass das Maß keinem
Merkmal entspricht. Der Ausschließungsvektor der zweiten Ausführungsform
ist ein Beispiel für
eine derartige Prozessanweisung. Wenn während des Trainingsprozesses
erkannt wird, dass die Reihenfolge variiert, gemäß der eine Gruppe von Merkmalen
geordnet wird, wird eine Prozessanweisung gespeichert, die die Reihenfolge
anzeigt, in der die Merkmale zu indizieren sind. Der Abfolgeauflösungsvektor
der zweiten Ausführungsform
ist ein Beispiel für
eine derartige Prozessanweisung.
-
Die
Attribute, deren Werte dazu verwendet werden, eine Zahl zu erzeugen,
können
entweder eine Messung einer Eigenschaft des Merkmals, beispielsweise
des Orts einer Fingerabdruckminutia oder eine Struktur des Merkmals,
wie durch ein Messen einer oder mehrerer Eigenschaften des Merkmals
bestimmt, beispielsweise die Kategorie einer Fingerabdruckminutia,
sein. Wenn das Attribut die Struktur des Merkmals betrifft, wird
die Struktur typischerweise in eine von mehreren Kategorien eingeteilt,
wobei jede Kategorie über eine
zugeordnete Zahl verfügt.
Diese Kategorieeinteilung beinhaltet ein Definieren einer oder mehrerer
Bedingungen für
jede Kategorie, die durch vorbestimmte Messungen, wie sie an den
Analogdaten ausgeführt
werden, erfüllt
sein müssen.
Daher besteht die Möglichkeit
eines Fehlers bei der Kategorieeinteilung aufgrund einer Doppeldeutigkeit,
zu der es dadurch kommt, dass ein vorbestimmter Messwert nahe an
einer Grenze einer Bedingung liegt. Um die Doppeldeutigkeit zu verringern,
werden Prozessanweisungen gespeichert, die anzeigen, wie ein Merkmal
einzuteilen ist. Wenn beispielsweise bei einer Ausführungsform
während
des Trainingsprozesses erkannt wird, dass die Kategorie, in die
ein Merkmal eingeteilt wird, variiert, wird eine Prozessanweisung
gespeichert, die anzeigt, in welche Kategorie das Merkmal einzuteilen
ist. Der Kategorieauflösungsvektor
der zweiten Ausführungsform
ist ein Beispiel für
eine derartige Prozessanweisung. Wenn bei einer anderen Ausführungsform
während
des Trainingsprozesses erkannt wird, dass die Kategorie, in die
ein Merkmal eingeteilt wird, variiert, wird eine Prozessanweisung
gespeichert, die die eine oder mehrere Bedingungen, die für eine Kategorie
erfüllt
sein müssen,
auf Bedingungen ändert,
für die
es weniger wahrscheinlich ist, dass eine Doppeldeutigkeit auftritt.
-
Wenn
der Attributwert eine Messung einer Eigenschaft der Analogdaten
betrifft, wird der Attributwert auf eine niedrigere Auflösung als
der entsprechende Messwert bestimmt. Anders gesagt, entspricht jeder
Attributwert einem Bereich von Messwerten. Wenn während des
Trainingsprozesses erkannt wird, dass der Attributwert variiert,
da der entsprechende Messwert dicht an der Grenze zwischen den Bereichen
für zwei
Attributwerte liegt, wird eine Prozessanweisung gespeichert, die
den Messwert so ändert,
dass sie ungefähr
im Zentrum des Bereichs für
einen Attributwert liegt, und es ist weniger wahrscheinlich, dass
die Doppeldeutigkeit auftritt. Der Versatzvektor der ersten bis
vierten Ausführungsform
ist ein Beispiel für
eine derartige Prozessanweisung.
-
Bei
der ersten bis vierten Ausführungsform
wird der Attributwert dadurch bestimmt, dass ein Abschneiden eines
Messwerts auf einen ganzzahligen Wert erfolgt. Dies bedeutet, dass
die Doppeldeutigkeit des Attributwerts dann am größten ist,
wenn der Messwert nahe bei einem ganzzahligen Wert liegt, da die
Wahrscheinlichkeit, dass der Messwert bei einer folgenden Messung
kleiner als der ganzzahlige Wert ist, ungefähr der Wahrscheinlichkeit dafür entspricht,
dass er größer als
der ganzzahlige Wert ist. Daher wird bei den beschriebenen Ausführungsformen
der Messwert so versetzt, dass er ungefähr in der Mitte zwischen zwei
ganzzahligen Pegeln liegt. Bei einer alternativen Ausführungsform
wird der Attributwert dadurch bestimmt, dass ein Messwert auf den
nächstliegenden
ganzzahligen Wert gerundet wird. In diesem Fall tritt die größte Doppeldeutigkeit
für Messwerte
auf, die ungefähr
in der Mitte zwischen benachbarten ganzzahligen Werten liegen, und daher
wird ein Versatzvektor erzeugt, um den Messwert zu einem ganzzahligen
Wert hin zu verschieben. Im Allgemeinen kann der Bereich von Messwerten,
die einem Attributwert entsprechen, wahlfrei eingestellt werden.
-
Bei
der vierten Ausführungsform
wird, um die Menge der im Doppeldeutigkeit-Auflösungsvektor
gespeicherten Daten zu verringern, ein ausgedünnter Versatzvektor verwendet,
der eine einzelne Binärziffer speichert,
wobei der gespei cherte Wert "0" einen Versatz Null
repräsentiert
und ein gespeicherter Wert "1" einen Versatz 0,5
repräsentiert.
Es ist zu beachten, dass die zwei Zustände der Binärziffer beliebige zwei Zahlen repräsentieren
können,
die um 0,5 voneinander getrennt sind, beispielsweise –0,25 und
+0,25. Die Binärziffer ermöglicht es,
dass der Messwert innerhalb eines Bereichs von 0,5 Einheiten versetzt
wird. Es ist auch zu beachten, dass eine Zahl mit drei Werten dazu
verwendet werden könnte,
den Messwert innerhalb eines Bereichs von 0,33 Einheiten zu verschieben,
und eine Zahl mit vier Werten dazu verwendet werden könnte, den Messwert
innerhalb eines Bereichs von 0,25 Einheiten zu verschieben usw.
-
Bei
einer alternativen Ausführungsform
wird, anstatt dass ein Versatzvektor zum Verschieben des Messwerts
verwendet wird, die Messskala variiert, damit sich der Messwert
in einen Bereich geringer Doppeldeutigkeit bewegt. Wenn beispielsweise
der Attributwert dadurch aufgefunden wird, dass der Messwert abgeschnitten
wird und dieser 7,03 ist, könnte
eine neue Messskala mit einer Einheitsgröße von 2 verwendet werden,
so dass, nach dem Transformieren des Messwerts auf die neue Messskala,
derselbe 3,515 ist (d. h., dass er ungefähr in der Mitte des Bereichs
zwischen zwei benachbarten ganzzahligen Werten und daher in einem Bereich
geringer Doppeldeutigkeit liegt). In diesem Fall wird die gewünschte Einheitsgröße für die Messung
im Einheitsvektor gespeichert.
-
Die
Verwendung eines Versatzvektors zum Verschieben des Messwerts an
eine Position geringer Doppeldeutigkeit ist gegenüber der
Verwendung des Einheitsvektors bevorzugt, da der Einheitsvektor
vorzugsweise dazu verwendet wird, das Niveau der Wiederholbarkeit
der aus den Analogdaten erzeugten Zahl zu kontrollieren. Insbesondere
wird, wie es bei der zweiten Ausführungsform beschrieben ist,
der Einheitswert für
eine Messung vorzugsweise einem Vertrauensintervall entsprechend
einem gewünschten
Vertrauensgrad für
den während
des Trainingsprozesses bestimmten Messwert eingestellt. Dieses Vertrauensintervall
wird für eine
Statistikanalyse der Messwerte, wie bei der zweiten Ausführungsform
beschrieben, bestimmt. Alternativ kann der Einheitswert vom Benutzer
eingestellt werden, und der zugeordnete Vertrauensgrad wird während des
Trainingsprozesses durch eine Statistikanalyse einer Anzahl stabilisierter
Merkmalsschablonen bestimmt.
-
Selbst
wenn die Stabilisierung der identifizierten Merkmale und der Attributwerte
die Wiederholbarkeit eines Messwerts auf 99,9% verbessert, besteht, wenn
es erwünscht
ist, eine sehr große
Zahl zu erzeugen, immer noch eine erhebliche Wahrscheinlichkeit
dafür,
dass die Zahl nicht erfolgreich regeneriert wird. Jedoch existiert
im Allgemeinen eine große
verfügbare
Datenmenge, die nicht zur Zahlenerzeugung benötigt wird. Diese redundanten
Daten können
daher zur Fehlerkorrektur verwendet werden, wie es bei der ersten
Ausführungsform
beschrieben ist.
-
Bei
der ersten Ausführungsform
sind jedem zum Bestimmen der Zahl verwendeten Attributwert (jedem Datenwert)
vier Fehlerkorrekturwerte zugeordnet. Jedoch sind die höher signifikanten
Bits des Datenwerts stabiler als die weniger signifikanten Bits
und daher werden die Fehlerkorrekturdaten nicht effizient genutzt.
Bei einer alternativen Ausführungsform
werden separate Fehlerkorrekturdaten für jedes Bit eines Datenwerts
verwendet, wobei die Menge der Fehlerkorrekturbits pro Datenbit
vom höchstsignifikanten
Datenbit zum geringstsignifikanten Datenbit zunimmt.
-
Eine
Alternative zum Verwenden des beschriebenen Fehlerkorrekturvektors
besteht im Erzeugen mehrerer Chargen von Analogdaten zum Erzeugen
mehrerer stabilisierter Merkmalsschablonen, mit einem anschließenden Verwenden
eines Abstimmsystems zum Identifizieren der am häufigsten auftretenden Attributwerte über die
mehreren stabilisierten Merkmalsschablonen hinweg.
-
Obwohl
der Doppeldeutigkeit-Auflösungsvektor
zunächst
durch einen Registrierprozess bestimmt wird, wird bei einer Ausführungsform
während
der Zahlregenerierung derselbe adaptiv variiert. Wenn beispielsweise
ein Versatzwert für
einen Messwert angewandt wird, um diesen ungefähr im Zentrum des einem Attributwert
entsprechenden Bereichs zu positionieren, kann der versetzte Messwert überwacht
werden und so angepasst werden, dass die versetzten Messwerte genauer
im Zentrum des Bereichs liegen. Ferner kann eine statistische Variation
der Messwerte während
einer wiederholten Zahlregeneration überwacht werden, und die im
Einheitsvektor gespeicherten Einheitswerte können abhängig von der beobachteten Standardabweichung
variiert werden. Anders gesagt, kann der Trainingsprozess über den
Registrierprozess hinaus erweitert werden, um bei einer folgenden
Zahlenregeneration erzeugte Daten zu verwenden.
-
Da
es nicht erforderlich ist, dass die für verschiedene Merkmale gemessenen
Attribute gleich sind, könnten
die Prozessanweisungen für
jedes Merkmal eine Codierstrategie enthalten, die anzeigt, welche
Attribute zu messen sind. Die se Codierstrategie könnte auch
spezielle Untermerkmale spezifizieren, die für das Merkmal zu identifizieren
sind. Dann würde
für jedes
der Untermerkmale die eigene Codierstrategie im Prozessvektor gespeichert
werden.
-
Bei
der ersten Ausführungsform
werden Farbbilddaten vor dem Ausführen der Ausrichtung in Grauskala-Bilddaten
gewandelt. Alternativ könnte
die Ausrichtung als Erstes ausgeführt werden, und tatsächlich könnten spezielle
Farbmuster zum Ausführen
der Ausrichtung verwendet werden.
-
Es
ist eine Anzahl anderer Wege möglich,
um einen der Iris entsprechenden Probenabschnitt zu isolieren. Beispielsweise
wird bei einer Ausführungsform
die Bildausrichteinrichtung der ersten Ausführungsform durch eine solche
ersetzt, die die am Rand erkannten Konturen der Pupille und der
Iris speichert. Diese Konturen werden im Allgemeinen nicht genau
kreisförmig
erzeugt, und sie können
daher zum Ausführen
einer Ausrichtung verwendet werden. Bei einer anderen Ausführungsform
werden Merkmale innerhalb des Irisbilds zur Ausrichtung auf dieselbe
Weise verwendet, wie bei der zweiten Ausführungsform Fingerabdruckminutiae
zur Ausrichtung verwendet werden. Insbesondere werden mehrere Ausrichtungsbildmerkmale
identifiziert, und es wird eine Transformation zum Verringern jeglicher
Bildverzerrung im Vergleich zu den Irisbildern, wie sie während der
Registrierung verwendet werden, ausgeführt.
-
Eine
alternative Weise zum Isolieren eines Probenabschnitts der Iris
ist im US-Patent Nr. 5,291,560 beschrieben.
-
Wie
bereits erörtert,
existieren innerhalb von Bilddaten für eine Iris viele verschiedene
Merkmale, die identifiziert und analysiert werden können, um
eine die Iris repräsentierende
Zahl zu erzeugen. Beispielsweise könnten die Positionen von am
Rand erkannten Merkmalen zusätzlich,
oder an Stelle, der Gittermerkmale verwendet werden. Bei einer anderen
alternativen Ausführungsform
werden die Bilddaten unter Verwendung beispielsweise eines Algorithmus
mit schneller Fourier-Transformation (FFT) gewandelt, in welchem
Fall die Transformationskoeffizienten entweder selbst Attributwerte
bilden oder sie zum Berechnen von Attributwerten verwendet werden.
Anstatt einen FFT-Algorithmus zu verwenden, könnte ein Wavelet-Transformationsalgorithmus
oder ein Gabor-Transformationsalgorithmus
verwendet werden.
-
Wie
bereits erörtert,
könnte
bei einer Ausführungsform
die Größe der Gitterzellen
des auf die Irisbilddaten bei der ersten Ausführungsform angewandten Gitters
adaptiv entsprechend dem örtlichen
Informationsgehalt (d. h. dem Niveau unregelmäßiger Variationen) der Bilddaten
adaptiv variiert werden. Auf diese Weise können in Bereichen mit hohem
Informationsgehalt kleinere Gitterzellen verwendet werden, als sie
in Bereichen mit. geringem Informationsgehalt verwendet werden.
-
Bei
der zweiten Ausführungsform
wird der Ursprung eines Fingerabdruckmusters dadurch aufgefunden,
dass der Punkt maximaler Rippenkrümmung identifiziert wird. Bei
einer alternativen Ausführungsform wird
ein Ursprung in den den Fingerabdruck repräsentierenden Daten identifiziert,
und das dem Ursprung entsprechende Rippenmuster wird im Doppeldeutigkeit-Auflösungsvektor
gespeichert. Dann kann der Ursprung in folgenden Bildern des Fingerabdrucks
durch einen Mustererkennungsprozess unter Verwendung der gespeicherten
Musterdaten positioniert werden.
-
Bei
einer Modifizierung der zweiten Ausführungsform wird jede Minutiaekarte
aus mehreren Fingerabdruckbildern dadurch erzeugt, dass Abschnitte
der mehreren Bilder zusammengesetzt werden, um ein Verbundbild zu
erzeugen. Dies verbessert die Qualität der Minutiaekarte.
-
Bei
der dritten Ausführungsform
wird eine eine Person repräsentierende
Zahl aus den Orten von Knoten, entsprechend Verzweigungspunkten
und Schnittpunkten, von Gefäßbaumstrukturen
der Retina der Person erzeugt. Jedoch könnte die Baumstruktur strenger
untersucht werden, um ein größeres Informationsvolumen
zu entnehmen.
-
Jede
Baumstruktur verfügt
im Allgemeinen über
einen Stamm, der mit einer Anzahl linker Unteräste und einer Anzahl rechter
Unteräste,
die sich vom Stamm aus erstrecken, vom Sehnerv austritt. Der Stamm kann
als Gabel in zwei oder mehr Unterästen enden, oder er kann sich
einfach bis zum Rand des Bild-Probenabschnitts erstrecken. Jeder
Unterast verfügt
in ähnlicher
Weise über
eine Anzahl von Unterästen,
die nach links verzweigen, und eine Anzahl von Unterästen, die
nach rechts verzweigen. Daher ist die Baumstruktur eine rekursive
Struktur.
-
Um
eine derart rekursive Baumstruktur zu repräsentieren, kann die Merkmalsschablone
auf hierarchische Weise aufgebaut werden. Insbesondere kann der
Stamm als Merkmal mit seinen eigenen Attributen und der Anzahl der
jedem Unterast entsprechenden Unteräste definiert werden. In ähnlicher
Weise kann jedes der Untermerkmale über seine eigenen Attribute
und eine Anzahl von Untermerkmalen verfügen, bis eine vollständige Repräsentation
der Baumstruktur erzielt ist. Wenn jedoch die Baumstruktur bestimmt
wird, müssen
mögliche
Doppeldeutigkeiten aufgelöst
werden, zu denen es durch eine Variation von Messwerten kommt. Beispielsweise
könnten
bei einem einfachen Verzweigen eines Asts in zwei Äste drei
mögliche
Interpretationen auftreten: ein Unterast, der sich von der linken
Seite eines Elternasts aus erstreckt, ein Unterast, der sich von der
rechten Seite eines Elternasts aus erstreckt; und eine Vergabelung
des Elternasts in einen linken Unterast und einen rechten Unterast.
Es können
allgemeine Regeln erstellt werden, durch die Messbedingungen erstellt werden,
wie sie für
jede dieser Interpretationen zu erfüllen sind. Diese Messbedingungen
könnten
beispielsweise die relativen Dicken der Äste und die zwischen ihnen
gebildeten Winkel betreffen. Jedoch existiert immer eine Doppeldeutigkeit,
die durch Messwerte verursacht nahe an den Grenzen dieser Bedingungen
liegen. Wenn bei einer Ausführungsform
während
des Trainingsprozesses eine derartige Doppeldeutigkeit erkannt wird,
werden Prozessanweisungen abgespeichert, die die Wahrscheinlichkeit
dafür erhöhen, dass
eine der Interpretationen erfüllt
wird. Dazu könnte
entweder ein Variieren des Messwerts, beispielsweise unter Verwendung
eines Versatzvektors, gehören
oder ein Variieren der für
jede Interpretation erforderlichen Bedingungen für diesen speziellen Knoten.
-
Bei
einer Ausführungsform
werden die Knotenpunkte jeder Gefäßformstruktur durch gerade
Linien verbunden (wie es in der 21B dargestellt
ist). Dann können
Messwerte auf Grundlage davon bestimmt werden, wie die tatsächliche
Gefäßstruktur
gegenüber
der geraden Linie variiert. Beispielsweise kann als Messwert der
maximale Normalabstand zwischen der geraden Linie und der tatsächlichen
Gefäßstruktur
verwendet werden. Ferner kann die Position eines Knotens, an dem
ein Unterast aus einem Elternast austritt, relativ zum Ursprungsknoten
des Elternasts bestimmt werden. Die Winkel zwischen den geraden
Linien, die einem Unterast und einem Elternast entsprechen, können ebenfalls
als Messwerte verwendet werden.
-
Bei
einer anderen Ausführungsform
wird die die Person repräsentierende
Zahl alleine aus der Baumstruktur der Merkmalsschablone bestimmt,
und infolgedessen beinhaltet sie keinerlei Attributwerte. Eine derartige
Ausführungsform
lindert die Bedingungen zur Ausrichtung beträchtlich. Jedoch sind immer
noch Prozessanweisungen erforderlich, die im Doppeldeutigkeit-Auflösungsvektor
gespeichert werden, um die Baumstruktur der erzeugten Merkmalsschablone
zu stabilisieren. Die Baumstruktur der gesamten Merkmalsschablone kann
durch eine Baumstrukturzahl der folgenden Form repräsentiert
werden:
-
<Anzahl linker Äste> (Baumanzahl für jeden linken Ast), <Anzahl rechter Äste> (Baumanzahl jedes
rechten Asts)
-
Eine
derartige Baumstrukturzahl ist unterscheidungskräftig, und sie kann daher dazu
verwendet werden, die die Person repräsentierende Zahl zu erzeugen.
-
Die
vierte Ausführungsform
beschreibt ein Kennkartensystem. Ein derartiges Kennkartensystem könnte bei
der Passherstellung verwendet werden.
-
Wie
oben beschrieben, betrifft die Erfindung das Erzeugen einer Analogdaten
repräsentierenden
Zahl. Diese Zahl zeigt viele Verwendungsmöglichkeiten. Beispielsweise
kann die Analogzahl als persönliche
Identifikationsnummer verwendet werden. Beispielsweise könnte ein
Computerterminal mit einem Fingerabdrucksensor verbunden werden,
und um in das Computerterminal einzuloggen, gibt eine Person Kenndaten
ein, die einen Prozessvektor (einschließlich dem Doppeldeutigkeitsvektor)
kennzeichnen, der der Person zugeordnet ist und der entweder im
Computerterminal abgespeichert ist oder über ein Computernetzwerk durch
Fernabruf zugänglich
ist. Die Person legt dann einen Finger auf den Fingerabdruckscanner,
der Bilddaten erzeugt, die vom Computerterminal unter Verwendung
des Prozessvektors verarbeitet werden, um eine für die Person repräsentative
Zahl zu erzeugen. Diese wird dann mit einer zuvor abgespeicherten
Zahl verglichen, um zu bestimmen, ob die Person das Computerterminal
bedienen darf oder nicht.
-
Alternativ
wird, bei einer anderen Ausführungsform,
die Zahl als Verschlüsselungsschlüssel verwendet,
und sie wird dazu verwendet, einen der Person zugeordneten Verschlüsselungsschlüssel zu
erzeugen. Ein Beispiel für
ein derartiges Verschlüsselungssystem
wird nun unter Bezugnahme auf die 26 und 27 beschrieben.
-
Die 26 zeigt
einen Computer 501 mit einem Display 503, einer
Tastatur 505 und einem Computertower 507, der über einen
Schlitz 509 zum Aufnehmen einer Diskette 511 verfügt. Der
Computertower 507 verfügt über ein
Modem (nicht dargestellt), das, über
ein Kabel 513, mit einer Telefonbuchse 515 verbunden ist,
um Zugang zum Internet zu ermöglichen.
Ein Fingerabdrucksensor 517, der bei dieser Ausführungsform über einen
Thermosensorchip von ATMEL verfügt,
ist mit einer Kryptografieeinheit 519 verbunden, die ihrerseits
mit dem Computertower 507 verbunden ist.
-
Die 27 zeigt
schematisch, wie die Kryptografieeinheit 519 konfiguriert
ist, um aus den den Fingerabdruck des Benutzers 21 repräsentierenden
Bilddaten einen Biometriewert Kbio zu erzeugen
und diesen dazu zu verwenden, entweder einen Abbildungsschlüssel Kmap oder einen Verschlüsselungsschlüssel Kpri zu erzeugen. Wie dargestellt, werden
Daten vom Fingerabdrucksensor 517 in einen Bildprozessor 1001 eingegeben, der
die Daten verarbeitet, um eine Merkmalsschablone zu erzeugen, die
für Merkmale
innerhalb des Fingerabdrucks repräsentativ ist. Die Merkmalsschablone
wird dann in einen Fingerabdruck-Zahlengenerator 1003 eingegeben.
-
Wenn
ein neuer Benutzer registriert wird, verarbeitet der Fingerabdruck-Zahlengenerator 1003 eine oder
mehrere Merkmalsschablonen, die für den Fingerabdruck des neuen
Benutzers repräsentativ
sind, und er bestimmt Verarbeitungsanweisungen und Prozessvariable,
die die Wiederholbarkeit eines erzeugten Biometriewerts Kbio verbessern. Diese Verarbeitungsanweisungen
und Prozessvariablen werden als Prozessvektor 1005 gespeichert.
Dann lenkt ein Schalter 1007 den Biometriewert Kbio zu einem Abbildungsschlüsselgenerator 1009,
und ein Verschlüsselungsschlüsselgenerator 1011 erzeugt
ein Paar aus einem privaten Schlüssel
Kpri und einem öffentlichen Schlüssel Kpub, wobei der öffentliche Schlüssel Kpup an eine Zertifizierorganisation geschickt
wird und der private Schlüssel
Kpri in den Abbildungsschlüsselgenerator 1009 eingegeben
wird. Der Biometriewert Kbio und der private
Schlüssel
Kpri werden vom Abbildungsschlüsselgenerator 1009 dazu verwendet,
unter Verwendung einer monotonen Abbildungsfunktion einen Abbildungsschlüssel Kmap zu erzeugen, der in einem Abbildungsschlüsselspeicher 1013 gespeichert
wird.
-
Wenn
es ein Benutzer nach dem Registrieren wünscht, den privaten Schlüssel Kpri zu erzeugen, scannt der Fingerabdrucksensor 517 den
Fingerabdruck des Be nutzers, und er liefert Bilddaten an den Bildprozessor 1001,
der eine oder mehrere Merkmalsschablonen erzeugt. Der Fingerabdruck-Zahlengenerator 1003 verarbeitet
die eine oder die mehreren erzeugten Merkmalsschablonen unter Verwendung
der im Prozessvektorspeicher 1005 gespeicherten Verarbeitungsanweisungen,
um den Biometriewert Kbio zu erzeugen, und
der Schalter 1007 lenkt diesen an einen Privatschlüsselgenerator 1015.
Der Biometriewert Kbio und der Abbildungsschlüssel Kmap werden durch den Privatschlüsselgenerator 1015 unter
Verwendung der monotonen Abbildungsfunktion kombiniert, um den privaten
Schlüssel
Kpri zu erzeugen.
-
Dann
kann die Kryptografieeinheit 519 beispielsweise unter Verwendung
des privaten Schlüssels
Kpri eine digitale Signatur erzeugen, oder
sie kann unter dessen Verwendung eine vom Computer 1 empfangene Nachricht
entschlüsseln.
-
Vorzugsweise
wird die durch den Verschlüsselungsschlüsselgenerator 1010 verwendete
Ausgangszufallszahl aus den Messwerten hergeleitet, die durch Ausführen von
Messoperationen an den Analogdaten erhalten werden. Beispielsweise
zeigt die Art, gemäß der die
Messwerte zwischen verschiedenen Chargen von Analogdaten variieren,
einen hohen Grad an Zufälligkeit,
wodurch eine gute Quelle zum Erzeugen einer Ausgangs-Zufallszahl
gebildet ist.
-
Obwohl
bei der ersten bis dritten Ausführungsform
dieselbe Vorrichtung sowohl zum Ausführen des Registrierprozesses
als auch der anschließenden
Zahlenregeneration verwendet wird, könnten alternativ der Registrierprozess
und der Zahlenerzeugungsprozess durch getrennte Vorrichtungen ausgeführt werden. Wenn
jedoch die Zahlenerzeugung getrennt von der Registrierung durch
eine gesonderte Vorrichtung ausgeführt wird, muss der Prozessvektor
von der Registriervorrichtung zur Zahlenregeneriervorrichtung übertragen werden.
Dies könnte
beispielsweise dadurch ausgeführt
werden, dass der Prozessvektor auf eine Speichervorrichtung (beispielsweise
eine Diskette oder eine CD-ROM) übertragen
wird, die zur Zahlenregeneriervorrichtung bewegt wird, wo der Prozessvektor
in diese herunter geladen wird, oder alternativ könnten die
Registriervorrichtung und die Zahlenregeneriervorrichtung über ein
Computernetzwerk verbunden sein, wobei der Prozessvektor über dieses
als elektrisches Signal übertragen
wird.
-
Die
Verarbeitung der Analogdaten kann entweder durch eine Hardwarevorrichtung
oder durch auf einem Computer laufende Software ausgeführt werden,
oder sie könnte
zwischen einer Hardwarevorrichtung und auf einem Computer laufender
Software aufgeteilt werden. Da für
verschiedene Quellen von Analogdaten viele Verarbeitungsoperationen
geeignet sind, ist die Erfindung gut dazu geeignet, in Software
realisiert zu werden, wobei eine objektorientierte Programmiersprache
wie Java oder C++ verwendet wird.
-
Wie
beschrieben, erstreckt sich die Erfindung nicht nur auf Computergeräte und in
solchen ausgeführte
Prozesse, sondern auf Computerprogramme, insbesondere Computerprogramme
auf oder in einem Träger, die
dazu ausgebildet sind, die Erfindung zu realisieren. Das Computerprogramm
kann in Form eines Quellcodes, eines Objektcodes, eines Codes zwischen
einem Quell- und einem Objektcode, wie in teilweise kompilierter
Form, oder in irgendeiner anderen Form vorliegen, die zur Verwendung
bei der Realisierung der Prozesse gemäß der Erfindung geeignet ist.
-
Der
Träger
kann eine beliebige Anordnung oder eine beliebige Vorrichtung sein,
die das Programm transportieren kann. Beispielsweise kann der Träger ein
Speichermedium wie ein ROM, beispielsweise ein CD-ROM oder ein Halbleiter-ROM
sein, oder ein magnetischer Aufzeichnungsträger, beispielsweise eine Diskette
oder eine Festplatte. Ferner kann der Träger ein übertragungsfähiger Träger sein
wie ein elektrisches oder optisches Signal, das über ein elektrisches oder optisches
Kabel oder durch Funk oder durch andere Maßnahmen übertragen wird.
-
Wenn
das Programm in einem Signal realisiert ist, das direkt durch ein
Kabel oder eine andere Vorrichtung oder Einrichtung transportiert
wird, kann der Träger
durch ein derartiges Kabel oder eine andere Vorrichtung oder Einrichtung
gebildet sein. Alternativ kann der Träger ein integrierter Schaltkreis
sein, in den das Programm eingebettet ist, wobei er dazu ausgebildet
ist, dass er die relevanten Prozesse ausführt oder beim Ausführen derselben
verwendet wird.