-
HINTERGRUND
-
Technisches Gebiet
-
Die vorliegende Erfindung bezieht sich auf die Iriserkennung und insbesondere auf Systeme und Verfahren, die einen verkürzten Iriscode für leistungsfähigere Irisvergleiche verwenden.
-
Beschreibung der verwandten Technik
-
Es ist bereits gezeigt worden, dass eine Textur der menschlichen Iris eine hervorragende individuelle Unverwechselbarkeit aufweist und sich damit eignet, für eine zuverlässige Identifizierung verwendet zu werden. Ein herkömmliches Iriserkennungssystem wickelt das Bild der Iris ab und erzeugt einen binären Merkmalsvektor durch Quantisieren der Antwort von ausgewählten Filtern, die auf die Zeilen dieses Bildes angewendet werden.
-
Die Iris kann segmentiert und in ein rechteckiges Bild abgewickelt werden. Von der abgewickelten Iris wird durch Anwendung einer Gabor-Filterbank eine Textur entnommen. Diese wird in ein binäres Bild codiert, das als Iriscode bekannt ist, der als Merkmalsvektor für die Erkennung dient. Einige Regionen der Iris haben eine einheitlichere Textur als andere. Eine Pupillenerweiterung bewirkt zum Beispiel, dass die Textur in Pupillennähe besonders unstet (volatil) ist, und das Vorhandensein von Augenwimpern oder Augenlidern kann das Erscheinungsbild des Iriscodes wesentlich ändern, wenn diese nicht richtig ausgeblendet werden. Die radiale Abwicklungstechnik ist darüber hinaus angepasst, um den Bereich, der der Pupille am nächsten liegt, überabzutasten, während die Region, in der die Iris auf die Sclera trifft, unterabgetastet wird. Das Band in der mittleren Iris liefert eine persönlichere Beschreibung. Diese Region bildet den Ziliarbereich der Iris ab.
-
Einige Arbeiten versuchten, Regionen des Iriscodes zu isolieren, die entweder uneinheitlich (fragil) oder umgekehrt weniger stabil sind. Diese Studien untersuchten direkt die endgültige binäre Darstellung. Durch Analyse mehrerer binärer Iriscodes des gleichen Auges und durch Zählen, wie oft ein Bit eine 1 oder 0 war, wurden nicht übereinstimmende Bits festgestellt. Wenn Bits mit einer hohen Variabilität ausgeblendet wurden, verringerte sich die Falsch-Zurückweisungsrate. Diese Arbeiten legten eine fragile Bitmaske für jede Person in einer Galerie fest.
-
Andere Wissenschaftler haben den Effekt von kleineren Iriscodes auf die Erkennung untersucht und einen Iriscode von den äußeren und inneren Ringen der Iris erzeugt. Diese Techniken belegen empirisch, dass Textur, die näher an der Pupille liegt, für die Erkennung besser geeignet sein kann als Textur, die näher an der Sclera liegt. Auf ähnliche Weise wurden die Abtastraten angepasst, um kleinere Iriscodes zu erzeugen. Diese Vorgehensweisen verringern die Größe des Iriscodes, indem die Art und Weise angepasst wird, in der die Iris abgewickelt wird, diese Arbeiten konnten jedoch nicht bestätigen, dass ein Teil der Iris im Zusammenhang mit der Iriserkennung bevorzugt berücksichtigt werden sollte.
-
Einige Arbeiten versuchten, Regionen des Iriscodes zu isolieren, die entweder uneinheitlich (fragil) oder umgekehrt unterschiedlicher sind. Diese Studien untersuchten direkt die endgültige binäre Darstellung. Durch die Analyse mehrerer binärer Iriscodes des gleichen Auges und durch Zählen, wie oft ein Bit eine 1 oder 0 war, wurden nicht übereinstimmende Bits gefunden. Die Abtastraten werden angepasst, um kleinere Iriscodes zu erzeugen. Diese Vorgehensweisen verringern die Größe des Iriscodes jedoch, indem die Art und Weise angepasst wird, in der die Iris abgewickelt wird. Diese Techniken ändern das Format des Codes, wodurch die Rückwärtskompatibilität der Darstellung beeinträchtigt wird (z. B. im Hinblick auf den Drehungsausgleich).
-
Beispielsweise beschreibt
WO 94/09446 Bild-Analyse Algorithmen, welche die Iris in einem live-Video-Bild des Gesichts einer Person finden, und die Textur der Iris in einen „Iris-Code” verschlüsseln. Die Iris-Textur wird aus dem Bild auf vielfachen Analyse-Skalen extrahiert mit Hilfe eines selbstähnlichen Satzes aus Quadratur-Bandpass-Filtern, welche in einem dimensionslosen Polarkoordinatensystem definiert sind. Die Signatur der Projektion von vielen verschiedenen Teilen der Iris auf diese Filter bestimmt jedes Bit in einem Iris-Code. Vergleiche zwischen Codes sind auf einfache Art und Weise durch die logische Exklusiv-Oder (XOR) Verknüpfung implementiert. Die Erkennung eines Musters wird durch die Kombination von Signalverarbeitungsmethoden mit der Theorie statistischer Entscheidungen erreicht, was zu einem statistischen Test der Unabhängigkeit auf der Grundlage einer Ähnlichkeitsmetrik (Hamming-Abstand) führt, welche aus dem XOR von zwei beliebigen Iris-Codes errechnet wird. Diese Maßzahl stellt eindeutig die Identität einer Person her und bestätigt, oder verwirft diese. Weiter erzeugt sie ein objektives Sicherheitsniveau, welches mit der Identifikations-Entscheidung verknüpft ist.
-
In ”Yingzi Du et al; Analysis of partial iris recognition using 1-D approach. In: Acoustics, Speech, and Signal Processing, 2005. Proceedings (ICASSP '05), 2, 18–23 March 2005, ii/961–ii/964” wird die Leistung diskutiert, welche aus der Nutzung einer partiellen Iris zu Erkennung resultiert. Ferner wird ein Identifikationssystem für eine partielle Iris entwickelt, welches auf einem eindimensionalen Ansatz der Iriserkennung beruht.
-
Karen P. Hollingsworth et al; The best bits in an iris code. In: IEEE Transactions on Pattern Analysis and Machine Intelligence, 31, June 2009, 6, 964–973 diskutiert, dass manche Bits in einem Iris-Code konsistenter sind als andere. Dabei werden verschiedene Regionen der Iris verglichen um deren relative Konsistenz auszuwerten und, im Gegensatz zu vorhergehenden Forschungen, herausgefunden, dass die mittleren Bänder der Iris konsistenter sind als die inneren Bänder.
-
In Gerry Dozier et al; Minimizing the number of bits needed for iris recognition via bit inconsistency and GRIT. In: IEEE Workshop on computational intelligence in Biometrics: Theory, Algorithms, and Applications, 2009, July 6th, 30–37, wird demonstriert, wie die Konzepte der Bit-Inkonsistenz und der Genetischen Suche genutzt werden können um die Zahl der Iris-Code-Bits zu minimieren, welche für eine Erkennung der Iris notwendig sind. Zusätzlich werden die zwei Systeme GRIT-I (Genetically Refined Iris Templates I) und GRIT-II verglichen.
-
ZUSAMMENFASSUNG
-
Ein System und ein Verfahren zur Erzeugung kompakter Irisdarstellungen auf der Grundlage einer Datenbank von Irisbildern umfassen die Bereitstellung von Iriscodes voller Länge für Irisbilder in einer Datenbank, wobei der Iriscode voller Länge eine Vielzahl von Teilen umfasst, die Umfangsringen in einem dazugehörigen Irisbild entsprechen. Für jede Zeile in den Iriscodes voller Länge werden Verteilungen des Wahr-Werts (Genuine Score) und des Falsch-Werts (Imposter Score) berechnet, und Codeteile werden identifiziert, die einen Beitrag aufweisen, der eine Trennung zwischen Falsch- und Wahr-Verteilungen in Bezug auf einen Schwellenwert bereitstellt. Zwischen den übrigen Codeteilen wird eine Korrelation gemessen, um eine geeignete Abtastrate zu schätzen. Eine Teilmenge von Codeteilen mit niedrigen Korrelationen innerhalb der Teilmenge wird gebildet, um eine kompakte Irisdarstellung zu erzeugen, wobei die Trennung auf einer Unterscheidungskapazität für Zeilen in einem Iriscode beruht, wobei die Unterscheidungskapazität durch eine Kolmogorow-Smirnow-Analyse (KS-Analyse) gemessen wird und wobei das Bilden einer Teilmenge das Auswählen von Zeilen in einem Iriscode mit der höchsten Diskriminierungskapazität für die Teilmenge beinhaltet.
-
Ein System zur Erzeugung von kompakten Irisdarstellungen auf der Grundlage einer Datenbank von Irisbildern umfasst eine Datenbank, die so konfiguriert ist, dass sie Iriscodes voller Länge für alle Irisbilder speichern kann, wobei jeder Iriscode eine Vielzahl von Teilen enthält, die Umfangsringen in einem dazugehörigen Irisbild entsprechen. Ein Prozessor ist so konfiguriert, dass er Verteilungen des Wahr-Werts und Falsch-Werts für die Teile der Iriscodes berechnen und feststellen kann, welche Codeteile der Iriscodes den größten Beitrag für eine Trennung zwischen Falsch- und Wahr-Verteilungen aufweisen, wobei der Prozessor so konfiguriert ist, dass er eine Korrelation zwischen den übrigen Codeteilen messen kann, um eine Teilmenge der Codeteile mit den niedrigsten Korrelationen innerhalb der Teilmenge festzustellen, so dass eine kompakte Irisdarstellung von der Teilmenge erzeugt wird, wobei der Prozessor so konfiguriert ist, dass die Trennung auf einer Unterscheidungskapazität für Zeilen in einem Iriscode beruht, wobei der Prozessor so konfiguriert ist, dass die Trennung durch eine Kolmogorow-Smirnow-Analyse (KS-Analyse) gemessen wird, wobei der Prozessor so konfiguriert ist, dass das Bilden einer Teilmenge das Auswählen von Zeilen in einem Iriscode mit der höchsten Unterscheidungskapazität für die Teilmenge beinhaltet.
-
Diese und andere Merkmale und Vorteile werden aus der folgenden ausführlichen Beschreibung veranschaulichender Ausführungsformen ersichtlich, die in Verbindung mit den beigefügten Zeichnungen zu lesen ist.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die Offenbarung legt in der folgenden Beschreibung bevorzugter Ausführungsformen unter Bezugnahme auf die folgenden Figuren Einzelheiten dar, wobei:
-
1 ein Schaubild ist, das die Erzeugung von Iriscodes zeigt;
-
2 ein Beispiel von zwei Augendrehungen zeigt;
-
3A Diagramme der Wertverteilungen für zusammengehörende und nicht zusammengehörende Iris zeigt;
-
3B ein Diagramm der kumulativen Wahrscheinlichkeit im Vergleich zu dem Wert für zusammengehörende und nicht zusammengehörende Werte ist und des Weiteren ein 0,90 KS-Abstand gezeigt wird;
-
4 ein Diagramm für ein Augenbild ist, das eine Verteilungstrennung als Funktion der Irisposition sowie des Weiteren eine Region von Interesse mit einer höchsten Trennung zeigt;
-
5 ein Block-/Ablaufplan eines Systems/Verfahrens zur Erzeugung kompakter Iriscodes gemäß einer Ausführungsform ist;
-
6 ein Diagramm einer Korrelationsmessung im Vergleich zu einem Zeilenversatz ist, um eine lokale Korrelation der Zeilen zu zeigen;
-
7 ein Schaubild ist, das einen FLIC zeigt, der gemäß einer Ausführungsform in einen SLIC umgewandelt wird;
-
8 ein Block-/Ablaufplan eines Systems/Verfahrens zur Erzeugung von kompakten Iriscodes gemäß einer anderen Ausführungsform ist; und
-
9 ein Ablaufplan in einem System zur Erzeugung von kompakten Iriscodes gemäß einer zweckdienlichen Ausführungsform ist.
-
AUSFÜHRLICHE BESCHREIBUNG BEVORZUGTER AUSFÜHRUNGSFORMEN
-
Gemäß den vorliegenden Grundgedanken wird der Iriscode verkürzt, indem Regionen mit in hohem Maße charakteristischen Informationen in der Iris lokalisiert werden. Eine daraus sich ergebende Transformation verringert die Größe des Iriscodes. Ein Iriscode geringer Länge (Short-length Iris Code, SLIC) wird erzielt, der in einer Ausführungsform mindestens 12,8-mal kleiner als ein Iriscode voller Länge (Full-length Iris Code, FLIC) ist. Gemäß den vorliegenden Grundgedanken wird versucht, eine Irisdarstellung zu verkleinern, indem die Regionen der Iris gesucht werden, die das größte deskriptive Potenzial enthalten. Die Erfinder zeigen durch Experimente, dass die Regionen in der Nähe von Pupille und Sclera am wenigsten zur Unterscheidung beitragen, und dass eine hohe Korrelation zwischen benachbarten radialen Ringen besteht.
-
Unter Anwendung dieser Beobachtungen wird ein Iriscode geringer Länge (SLIC) von nur 450 Byte erzielt. Der SLIC ist eine Größenordnung kleiner als der FLIC, zeichnet sich jedoch durch eine vergleichbare Leistungsfähigkeit aus. Die kleinere Darstellung hat den Vorteil, dass sie einfacher als Balkencode gespeichert werden kann und dass ferner die Vergleichszeit pro Paar verkürzt wird. Bei den vorliegenden Grundgedanken werden statistische Techniken verwendet, um die Größe eines rechteckigen, abgetasteten Standardiriscodes zu verkleinern. Die Beibehaltung desselben Formats verbessert die Rückwärtskompatibilität der Darstellung (z. B. im Hinblick auf den Drehungsausgleich), während kleinere Codes schnellere Systeme und geringeren Speicherplatzbedarf bedeuten.
-
Für den Fachmann ist ersichtlich, dass Aspekte der vorliegenden Erfindung als System, Verfahren oder Computerprogrammprodukt ausgeführt werden können. Aspekte der vorliegenden Erfindung können daher die Form einer gesamten Hardware-Ausführung, einer gesamten Software-Ausführung (zum Beispiel Firmware, residente Software, Microcode usw.) oder eine Ausführungsform haben, bei der Software- und Hardware-Aspekte kombiniert sind, die allgemein hier als ”Schaltung”, ”Modul” oder ”System” bezeichnet werden können. Des Weiteren können Aspekte der vorliegenden Erfindung die Form eines Computerprogrammprodukts haben, das in einem oder mehreren computerlesbaren Medien ausgeführt ist, die über einen darin enthaltenen computerlesbaren Programmcode verfügen.
-
Eine beliebige Kombination von einem oder mehreren computerlesbaren Medien kann verwendet werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein. Bei dem computerlesbares Speichermedium kann es sich zum Beispiel um Folgendes handeln, ohne darauf beschränkt zu sein: ein elektronisches, magnetisches, optisches, elektromagnetisches, Infrarot- oder Halbleitersystem, eine diesbezügliche Vorrichtung oder Einheit oder eine geeignete Kombination des Vorstehenden. Zu spezifischeren Beispielen (eine nicht erschöpfende Liste) des computerlesbaren Speichermediums könnten gehören: eine elektrische Verbindung mit einem oder mehreren Leitungen, ein tragbarer Computer-Diskettenspeicher, eine Festplatte, ein Schreib-Lese-Speicher (RAM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Compact-Disc-Nur-Lese-Speicher (CD-ROM), eine optische Speichereinheit, eine magnetische Speichereinheit oder eine geeignete Kombination des Vorstehenden. Im Zusammenhang mit diesem Dokument kann ein computerlesbares Speichermedium ein physisches Medium sein, das ein Programm enthalten oder speichern kann, welches von oder in Verbindung mit einem System, einer Vorrichtung oder Einheit zur Befehlsausführung verwendet wird.
-
Ein computerlesbares Signalmedium kann ein verbreitetes Datensignal mit einem darin enthaltenen computerlesbaren Programmcode enthalten, zum Beispiel in einem Basisband oder als Teil einer Trägerwelle. Ein solches verbreitetes Signal kann eine Vielzahl von Formen haben u zum Beispiel, nicht aber darauf beschränkt, elektromagnetisch, optisch oder eine geeignete Kombination davon sein. Ein computerlesbares Signalmedium kann ein beliebiges computerlesbares Medium sein, das kein computerlesbares Speichermedium ist und das ein Programm übertragen, verbreiten oder übermitteln kann, das von oder in Verbindung mit einem System, einer Vorrichtung oder Einheit zur Befehlsausführung verwendet wird.
-
In einem computerlesbaren Medium enthaltener Programmcode kann unter Verwendung eines geeigneten Mediums übermittelt werden, das drahtlos, mit Draht, Lichtwellenleiterkabel, HF-Kabel usw. oder eine geeignete Kombination aus dem Vorstehenden sein kann, ohne auf diese beschränkt zu sein.
-
Der Computerprogrammcode zur Ausführung der Operationen in Verbindung mit Aspekten der vorliegenden Erfindung kann in einer beliebigen Kombination von einer oder mehreren Programmiersprachen geschrieben werden, unter anderem in einer objektorientierten Programmiersprache wie Java, Smalltalk, C++ oder ähnlichem, und herkömmlichen prozessorientierten Programmiersprachen wie beispielsweise der ”C”-Programmiersprache oder ähnlichen Programmiersprachen. Der Programmcode kann ganz auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als selbstständig ausführendes Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder ganz auf dem entfernt angeordneten Computer oder Server ausgeführt werden. Im letztgenannten Szenario kann der entfernt angeordnete Computer über ein beliebiges Netzwerk mit dem Computer des Benutzers verbunden sein, zum Beispiel über ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), oder es kann die Verbindung zu einem externen Computer hergestellt werden (beispielsweise über das Internet durch einen Internetdienstanbieter).
-
Aspekte der vorliegenden Erfindung werden untenstehend unter Bezugnahme auf Ablaufpläne und/oder Blockdarstellungen von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es versteht sich, dass jeder Block der Ablaufpläne und/oder Blockdarstellungen sowie Kombinationen von Blöcken in den Ablaufplänen und/oder Blockdarstellungen durch Computerprogrammbefehle umgesetzt werden können. Diese Computerprogrammbefehle können einem Prozessor eines Universalrechners, Spezialrechners oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu bilden, so dass die Befehle, die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel erzeugen, um die in dem Block oder den Blöcken des Ablaufplans und/oder der Blockdarstellung festgelegten Funktionen/Maßnahmen umzusetzen.
-
Diese Computerprogrammbefehle können auch in einem computerlesbaren Medium gespeichert werden, das einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten steuern kann, um auf eine bestimmte Weise zu funktionieren, so dass die in dem computerlesbaren Medium gespeicherten Befehle einen Herstellungsartikel einschließlich Befehle erzeugen, die die in dem Block oder den Blöcken des Ablaufplans und/oder der Blockdarstellungen festgelegte Funktion/Maßnahme umsetzen.
-
Die Computerprogrammbefehle können ferner in einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheiten geladen werden, um eine Reihe von Betriebsschritten auszulösen, die auf dem Computer, in der anderen programmierbaren Vorrichtung oder den anderen Einheiten durchgeführt werden, um einen auf einem Computer ablaufenden Prozess zu erzeugen, so dass die Befehle, die auf dem Computer oder der anderen programmierbaren Vorrichtung ausgeführt werden, Prozesse bereitstellen, um die in dem Block oder den Blöcken des Ablaufplans und/oder Blockdarstellungen festgelegten Funktionen/Maßnahmen umzusetzen.
-
Der Ablaufplan und die Blockdarstellungen in den Figuren zeigen die Architektur, Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedener Ausführungsformen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block in dem Ablaufplan oder den Blockdarstellungen ein Modul, Segment oder einen Teil eines Codes darstellen, das/der einen oder mehrere ausführbare Befehle zur Umsetzung der festgelegten Logikfunktion(en) umfasst. Es ist ferner darauf hinzuweisen, dass die im Block angegebenen Funktionen in einigen alternativen Ausführungen in einer anderen Reihenfolge wie in den Figuren dargestellt stattfinden können. Zwei dargestellte Blöcke, die aufeinanderfolgen, können zum Beispiel tatsächlich im Wesentlichen gleichzeitig ausgeführt werden oder die Blöcke können manchmal in umgekehrter Reihenfolge ausgeführt werden, je nach der betroffenen Funktionalität. Des Weiteren ist darauf hinzuweisen, dass jeder Block der Blockdarstellungen und/oder der Ablaufpläne sowie Kombinationen von Blöcken in den Blockdarstellungen und/oder dem Ablaufplan von speziellen auf Hardware beruhenden Systemen umgesetzt werden können, die die festgelegten Funktionen oder Maßnahmen durchführen, bzw. von Kombinationen von spezieller Hardware und Computerbefehlen.
-
Mit Bezug auf die Zeichnungen, in denen gleiche Ziffern gleiche oder ähnliche Elemente darstellen, und mit Bezug auf zunächst 1 ist ein Iriscode 102 ein einzelner Deskriptor in einem Iriserkennungssystem 100. Der Iriscode 102 ist ein binäres Bild, das eine Textur der Iris codiert. Die verschiedenen Stufen für die Erzeugung eines Iriscodes beinhalten die Abwicklung der Iris in Block 110, die Berechnung einer Augenlidmaske in Block 112 und die Erzeugung eines Iriscodes voller Länge 102. Um einen Iriscode zu erzeugen, wird die Iris zuerst von einem Bild segmentiert und unstarr in eine rechteckige Schablone (Template) 113 abgewickelt. Anschließend werden die beiden Filtermasken 115 und 117 über der abgewickelten Iris gefaltet (Codierung 120) und das Vorzeichen der Antwort jedes Pixels wird verwendet, um dieses Pixel zu codieren. Die gesammelten Antworten in Verbindung mit dem ungeraden Filter 115 werden als Realteil (RE) des Iriscodes bezeichnet und die Antworten in Verbindung mit dem geraden Filter 117 sind als Imaginärteil (IM) bekannt (z. B. Kantenerkennungs- bzw. und Balkenerkennungskernelfilter). Wird ein Pixel durch ein Augenlid im ursprünglichen Bild verdeckt (z. B. einem ”Biss” 116), wird das Pixel für den Vergleich im Iriscode entfernt. Es gibt zahlreiche Varianten im Rahmen dieses Schemas.
-
Im Zusammenhang mit der Erkennung gilt, dass zwei Iriscodes übereinstimmen (demselben Auge entsprechen), wenn der normalisierte Hamming-Abstand zwischen ihnen kleiner als ein vorher festgelegter Schwellenwert ist. Der normalisierte Hamming-Abstand ist die Anzahl unmaskierter Bits, die unter den Codes verschieden sind, geteilt durch die Gesamtzahl der unmaskierten Bits. Die Gleichung für den normalisierten Hamming-Abstand zwischen zwei Iriscodes mit Verdeckungsmasken ist:
-
Ein Iriserkennungssystem 100 muss auch Änderungen bei der Drehung ausgleichen, indem die Iriscodes ausgerichtet werden. Zwei Codes desselben Auges können sich aufgrund der Kopfneigung in Bezug zur Kamera zum Zeitpunkt der Erfassung unterscheiden.
-
Mit Bezug auf 2 sind zwei Instanzen (140 und 142) desselben Auges mit stark unterschiedlichen Augenstellungen veranschaulichend dargestellt. Um die relativen Drehungen zwischen den Teilen eines gültigen Paares zu korrigieren, wird der Hamming-Abstand bei jeder möglichen linearen Verschiebung (entspricht einer festen Drehung) eines Iriscodes in Bezug zu einem anderen innerhalb eines festgelegten Drehbereichs berechnet. Die Codes gelten als ausgerichtet, wenn der Abstand zwischen ihnen einen Mindestwert erreicht, und dieser Abstand wird als Übereinstimmungswert (match score) verwendet.
-
In einem 1:N-(Identifizierungs-)System wird ein erfasster Iriscode mit jedem Element in einer Galerie (Personendatenbank) verglichen. Die Identität des erfassten Elements wird anhand seines Abstands einer Instanz der Galerie zugeordnet. Dies ist eine rechenintensive Operation, die mit der Untersuchung größerer Galeriemengen linear zunimmt.
-
Die Anzahl der Bit-Operationen beträgt: bOp = N·h·w·θ (2), wobei h die Höhe des Iriscodes ist, w die Breite ist, θ die Anzahl der Verschiebungen für die Ausrichtungskorrektur ist und N die Anzahl der Galeriebilder ist. Wenn h = 128, w = 360, θ = 20 und N = 10.000 ist (eine Datenbank mittlerer Größe), beträgt die Anzahl der Bit-Operationen 18 Milliarden. Eine Verkleinerung der Anzahl der Merkmale im Iriscode oder der Größe der Galerie verringert die Anzahl der bitweisen Operationen und beschleunigt dadurch ein Identifizierungssystem. Es sei darauf hingewiesen, dass die Verkleinerung der Höhe des Iriscodes um eine Größenordnung zu einem Vergleichssystem führt, das eine Größenordnung schneller ist.
-
Bei den vorliegenden Grundgedanken wird die Größe des Iriscodes verringert, ohne die Leistungsfähigkeit wesentlich zu beeinträchtigen. Dies erfolgt durch die Lokalisierung und Entnahme der allgemeinen Textur, die die Identität am besten codiert. Die grundlegenden Verfahren sind unabhängig von Datensatz, Segmentierer oder Codierung, die verwendet werden.
-
LOKALISIERUNG DER ZUR UNTERSCHEIDUNG DIENENDEN INFORMATIONEN:
-
Ein Iriserkennungssystem (100) legt eine Übereinstimmung fest, indem der Abstand zwischen zwei ausgerichteten Codes mit einem Schwellenwert verglichen wird. Die Abstände zwischen zusammengehörenden Paaren sollten geringer sein als die Abstände zwischen nicht zusammengehörenden Paaren. Ein zusammengehörendes Paar ist eine Menge von zwei Codes vom selben Auge, während ein nicht zusammengehörendes Paar eine Menge von zwei Codes von unterschiedlichen Augen ist. Die zusammengehörenden und nicht zusammengehörenden Verteilungen der Hamming-Abstände (Wertverteilungen) werden verwendet, um die mögliche Funktion eines Erkennungssystems zu veranschaulichen.
-
Mit Bezug auf die 3A und 3B sind zwei Mengen von Verteilungen von zusammengehörenden und nicht zusammengehörenden Werten dargestellt. In einem guten Erkennungssystem 146 liegen alle zusammengehörenden Werte 147 unter einer Entscheidungsschwelle 148 und die nicht zusammengehörende Werte 149 liegen über der Schwelle 148. In einem schlechten Erkennungssystem 150 gibt es zusammengehörende Werte 151 über einer Entscheidungsschwelle 152 und nicht zusammengehörende Werte 153 unter der Schwelle 152. Irisvergleiche, die diese Regionen 151 und 153 der Histogramme abbilden, führen damit zu Fehlern.
-
In 3B besteht die Unterscheidungskapazität jeder Zeile in der Fähigkeit, zur allgemeinen Trennung zwischen den Verteilungen der zusammengehörenden und nicht zusammengehörenden Werte beizutragen. Wir schlagen die Kolmogorow-Smirnow-Analyse (KS-Analyse) zur Messung der Kapazität jeder Zeile vor. Die KS-Analyse ergibt den Abstand zwischen kumulativen Verteilungsfunktionen (cumulative distribution functions – CDFs) an einem bestimmten Punkt entlang des Bereichs. Ausgedrückt in einer Gleichung: KS(Zeilei) = CDFM(Zeilei) – CDFNM(Zeilei)(3), wobei CDFM und CDFNM die kumulativen Verteilungen für die zusammengehörenden bzw. nicht zusammengehörenden Werte sind. Für unsere Arbeit messen wir den Unterschied bei zusammengehörenden und nicht zusammengehörenden CDFs, wenn die zusammengehörende CDF 0,9 ist (d. h. 90% der zusammengehörenden Paare haben Abstände unterhalb dieses Schwellenwerts). In Bezug auf die Erkennung ist der KS-Abstand die Wahr-Negativ-Rate, wenn die Wahr-Positiv-Rate 0,9 ist.
-
Wir stellen die Hypothese auf, dass der KS-Abstand für verschiedene Regionen der Iris unterschiedlich sein wird. Der Bereich in der Nähe der Pupille ist unstet (volatil), da er mit der Erweiterung (oder ungenauer Segmentierung) schwankt, so dass eine geringere Unterscheidungskapazität vorhanden sein wird.
-
Mit Bezug auf 4 wird ein Band 158 in der Mitte einer Iris einen hohen Informationsgehalt haben (Region von Interesse), da es reich an größtenteils statischer Textur ist. Die Region, die der Sclera am nächsten liegt, hat keine Textur, so dass sie wahrscheinlich einen niedrigeren Wert haben wird (er kann auch aufgrund einer ungenauen Abwicklung variabler sein). Die Regionen mit den höchsten einzelnen KS-Werten tragen am meisten zu einer Trennung zwischen vollen Verteilungen bei und sind daher für die Erkennung am wertvollsten.
-
Die KS-Analyse hebt eine breite ringförmige Region von Interesse
160 innerhalb der Iris hervor. Diese Region von Interesse
160 kann noch weiter verkleinert werden, indem die darin befindliche Textur unterabgetastet wird, um die Unterabtastpunkte
162 zu bestimmen. Insbesondere kann eine Zeile des Iriscodes (Ring) nicht viel anders sein als die Zeile darüber oder darunter. Um die Region von Interesse
160 jedoch in geeigneter Weise unterabzutasten, müssen wir die Lage der Textur kennen. Zu diesem Zweck messen wir die Korrelation jeder Zeile im Iriscode mit allen anderen Zeilen. Die Korrelationsmessung, die wir verwenden, ist einfach:
oder entsprechend
-
Die Korrelationsanalyse ergibt eine hohe lokale Korrelation zwischen benachbarten Zeilen bis zu einem gewissen Abstand. Die Breite der Korrelationsnachbarschaft bestimmt somit die geeignete Zeilenabtastrate.
-
Anhand der oben beschriebenen Analysemethodik entwickeln wir eine Transformation, die einen Iriscode voller Länge (FLIC) in einen Iriscode kurzer Länge (SLIC) umwandelt. Die erste KS-Analyse wird eine Region von Interesse hervorheben, und durch ein gleichmäßiges Abtasten dieser Region werden die Merkmale entnommen, die die Identität am besten codieren. Die Abtastungen werden reich an allgemeiner Textur sein und eine hohe Unterscheidungskapazität aufweisen. Der hierdurch entstehende SLIC wird kleiner sein und eine schnellere Erkennung nach sich ziehen und dürfte ungefähr die gleiche Leistungsfähigkeit haben.
-
Mit Bezug auf 5 wird eine Ablaufplan in Blockform, der die Bildung eines SLIC von einem FLIC zeigt, veranschaulichend dargestellt. Zur Prüfung unseres Verfahrens wurde ein bekannter Datensatz verwendet. Diese Datenbank enthielt 5 Bilder von 92 Augen. Um die Iriscodes von diesen Bildern zu erzeugen, segmentierten wir die Iris zuerst und wickelten sie ab. Alle Bilder in der Datenbank wurden segmentiert. Eine Sichtprüfung der abgewickelten Texturen und Masken führte zur Entfernung von Instanzen mit schlechter Segmentierung. Die sich ergebende Datenbank war eine Teilmenge mit 85 Augen, die nach Ansicht der Autoren in geeigneter Weise segmentiert und codiert war.
-
Die Textur wurde von den abgewickelten Iris mit einer Bank von 1D-Log-Gaborfiltern entnommen. Die ersten abgewickelten Irisbilder hatten eine Größe von 360×64 Pixel und die Iriscodes von 360×128. Eine Hälfte dieses Iriscodes voller Länge (FLIC) entsprach dem Realteil und eine Hälfte dem Imaginärteil von der Filterbank.
-
Die ”saubere” Teilmenge wurde weiter in eine Übungs- und eine Prüfmenge unterteilt. Die Übungsmenge wurde für alle Analysen im folgenden Abschnitt verwendet, während die Prüfmenge zurückbehalten wurde, um unsere Prognosen weiter zu überprüfen. Insgesamt wurden 23 Augen (114 Codes) für schlussfolgernde Statistiken verwendet. Alle 85 Augen wurden anschließend für die Prüfung verwendet.
-
In Block 202 werden die Parameter der FLIC-in-SLIC-Transformation bestimmt, indem zuerst eine Menge mit Paaren gebildet wird, die alle ausgerichtet sind (All-Aligned-Pairs Set). Dazu gehört, zusammengehörende und nicht zusammengehörende Paare von Iriscodes zu bilden. In Block 204 wurden von den 115 Codes Ausrichtungen für alle Paare gefunden (sowohl von derselben Person als auch von verschiedenen Personen). In Block 206 wird ein Hamming-Abstand für alle Zeilen in dem ausgerichteten Code berechnet. In Block 208 wird der Hamming-Mindestabstand als Kriterium verwendet, und ein Ausgleichsbereich von bis zu 180 Grad wird verwendet, um Verteilungen von übereinstimmenden und nicht übereinstimmenden Werten für jede Zeile zu analysieren (z. B. einen Code in Bezug zum anderen versetzen, so dass der normalisierte Hamming-Abstand verringert wird). Wenn der Abstand zwischen zwei Codes gering ist, gilt, dass sie von demselben Auge derselben Person stammen. Der normalisierte Hamming-Abstand wird verwendet, wenn die Anzahl unterschiedlicher Bits innerhalb der Anzahl der Gesamtbits bestimmt wird. Codepaare, die von demselben Auge stammen, werden als zusammengehörend und Paare, die von verschiedenen Augen kommen, werden als nicht zusammengehörend bezeichnet.
-
In Block 210 wird die Unterscheidungskapazität für jede Zeile im Iriscode durch eine KS-Analyse wie in Gleichung 3 beschrieben gemessen. Sowohl der Realteil als auch der Imaginärteil des Iriscodes haben in dieser Darstellung die gleiche allgemeine Form. Die Regionen in der Nähe der Pupille und Sclera haben gemäß der Darstellung eine geringere Unterscheidungskapazität als die Zeilen, die die mittlere Region der Iris abbilden. Anhand dieser Darstellung konnten wir z. B. feststellen, dass unsere Hauptregion von Interesse zwischen den Zeilen 10 und 52 sowohl des Realteils als auch des Imaginärteils des Iriscodes liegt. Die Zeilen mit der größten Unterscheidungskapazität wurden ausgewählt. In Block 212 werden die ausgewählten Zeilen zur Indexierung oder schnellen Iriserkennung verwendet.
-
Wir stellten die Theorie auf, dass eine gleichmäßige Abtastung der Region von Interesse ausreichen würde. Um dies zu beweisen und eine geeignete Abtastrate zu ermitteln, prüften wir die lokalen Korrelationen der Texturmuster im Iriscode. Für alle Zeilen für jeden Iriscode in der Übungsmenge wurde eine Korrelationsmatrix erzeugt. Eine durchschnittliche Korrelationsmatrix wurde erzeugt, indem jedes Element der Matrix für alle Übungsinstanzen gemittelt wurde. Eine Projektion um die Hauptdiagonale herum wurde verwendet, um das Diagramm in 6 zu erzeugen. Aus dem Diagramm geht hervor, dass die Korrelation nach ca. 10 Zeilen geringer wird, was ein Hinweis darauf ist, dass so weit voneinander entfernte Zeilen erheblich unterschiedliche Informationen enthalten.
-
Mit Bezug auf 7 wird eine kurze Irisdarstellung 302 veranschaulichend gezeigt. Die Transformation des Iriscodes geringer Länge (SLIC) 315 ist eine Operation auf Codeebene, die vorzugsweise ein Mittelband der Iris abtastet. Der SLIC 302 wird erzeugt, indem Regionen des Iriscodes mit hoher Unterscheidungskapazität lokalisiert und entnommen werden, das heißt, dass diese Zeilen am meisten dazu beitragen, Übereinstimmungen von Nichtübereinstimmungen zu trennen. Aufgrund der Physiologie der Pupille werden ”nützliche” Zeilen im Code identifiziert.
-
Bei einer Menge von Iriscode-Übungspaaren wird vorzugsweise eine Kolmogorow-Smirnow-Analyse durchgeführt, um die Zeilen des Iriscodes mit dem höchsten Informationsgehalt zu lokalisieren. Die Erfinder stellten fest, dass ein Mittelteil der Iris, den die mittleren Zeilen des Iriscodes abbilden, eine Region ist, wo sich der Großteil der die Unterscheidung ausmachenden Textur befindet. Die Zeilen in dieser Region werden anschließend gleichmäßig abgetastet, um den neuen, kürzeren Iriscode zu bilden. In einem Beispiel wird der FLIC 340 360×128 Pixel) auf 360×10 Pixel im SLIC 302 verkleinert.
-
Um ”nützliche” Zeilen auszuwählen, verwenden wir einen Übungsdatensatz. Unter Verwendung eines verfügbaren Irisbild-Analyseinstruments erzeugen wir die Iriscodes voller Länge FLIC) 340. Ausgehend vom FLIC 340 erzeugt das vorgestellte Verfahren einen SLIC 302. Die Informationen, wie der SLIC vom FLIC erzeugt wird, werden anhand der Übungsmenge ermittelt. Sobald der Prozess bekannt ist, können wir ihn in einem Vergleichsprozess des Iriscodes unter Anwendung des SLIC selbst verwenden.
-
Durch die Anwendung des Verfahrens kann die Größe des Iriscodes erheblich verringert werden, indem redundante Zeilen, die nicht viel zum Entscheidungsprozess beitragen, entfernt werden. In Experimenten führt diese Erfindung zu Iriscodes, die 10-mal kleiner als der Ursprungscode sind (z. B. FLIC = 360×64 × 2 = 5760 Bytes im Vergleich zu SLIC = 360×5 × 2 = 450 Bytes), jedoch ungefähr die gleiche Übereinstimmungsgenauigkeit haben. Dadurch können Iriscodes in kleineren Formaten gespeichert werden, beispielsweise als 2D-Balkencodes. Die Verfahren können auch verwendet werden, um Iriscodes schneller zu vergleichen, da weniger Bits abzugleichen sind.
-
Es wurde somit ein System und Verfahren zur Erzeugung kleinerer, dennoch leistungsfähiger Iriscodes beschrieben. KS-Statistiken wurden veranschaulichend verwendet, um die Unterscheidungskapazität verschiedener Zeilen in dem Iriscode zu analysieren. Die Analyse ergab, dass die Zeilen 10 bis 52 am meisten zur Trennung der Verteilungen von zusammengehörenden und nicht zusammengehörenden Werten beitrugen. Wir verwendeten anschließend einen Autokorrelationsindex, um die Größe des Iriscodes noch mehr zu verringern, indem Zeilen in dieser Region abgetastet wurden (z. B. jede 10. reichte aus). Anhand des geprüften Datensatzes wurde empirisch gezeigt, dass die sich ergebenden Iriscodes geringer Länge eine Genauigkeit aufweisen, die mit derjenigen von Iriscodes voller Länge vergleichbar ist. Da die Größe des Codes um eine Größenordnung verringert wird, ist das System insgesamt entsprechend schneller und braucht weniger Speicher. Die abgeleiteten kompakten Codes können auch einfacher in Chipkarten, Magnetstreifen, 2D-Balkencodes usw. gespeichert werden. Es ist darauf hinzuweisen, dass bei herkömmlichen Systemen das Problem besteht, Iriscodes auf tragbare Medien, beispielsweise auf Ausweise, zu speichern. Ein typischer Magnetstreifen speichert mehrere Hundert Bytes, während ein 2D-Balkencode auf ein paar Tausend Bytes beschränkt ist. Derzeitige Iriscodes passen nicht auf Magnetstreifen und stoßen an die Grenzen der 2D-Balkencodetechnologie. Chipkarten können mehrere Tausend Bytes speichern, jedoch typischerweise nicht die 5,76 KB, die für einen Iriscode voller Länge (360×128) benötigt werden.
-
Mit Bezug auf 8 wird ein Verfahren zur Erzeugung kompakter Irisdarstellungen auf der Grundlage einer Datenbank von Irisbildern gemäß einer Ausführungsform veranschaulichend gezeigt. In Block 402 werden Iriscodes voller Länge für Irisbilder erzeugt oder in einer Datenbank bereitgestellt, wobei der Iriscode voller Länge eine Vielzahl von Teilen enthält, die Umfangsringen in einem dazugehörigen Irisbild entsprechen. Dies beinhaltet vorzugsweise eine Region von Interesse zwischen einer Pupille und einer Sclera im Iriscode.
-
In Block 404 werden die Verteilungen des Wahr-Werts und des Falsch-Werts für die Iriscodes voller Länge berechnet. (Vgl. z. B. 3). In Block 406 werden Codeteile identifiziert, die einen Beitrag aufweisen, der eine Trennung zwischen den Verteilungen des Wahr-Werts und des Falsch-Werts in Bezug zu einem Schwellenwert bereitstellt. Dies kann die Berechnung eines Hamming-Abstands für alle Zeilen in einem ausgerichteten Code beinhalten, wobei ein Hamming-Mindestabstand als Kriterium verwendet wird, um die Verteilungen des Wahr-Werts und des Falsch-Werts für jede Zeile zu analysieren. Die Codeteile in den Zeilen eines Iriscodes werden vorzugsweise für einen Real- und einen Imaginärteil des Iriscodes identifiziert (z. B. zwischen einer Pupille und einer Sclera im Iriscode und insbesondere zwischen z. B. den Zeilen 10 und 52). In Block 407 kann die Unterabtastung von Zeilen in einer Region von Interesse durchgeführt werden, um die Berechnungskomplexität weiter zu verringern.
-
In Block 408 wird zwischen den übrigen Codeteilen eine Korrelation gemessen. In Block 410 wird eine Teilmenge von Codeteilen mit niedrigen Korrelationen innerhalb der Teilmenge gebildet, um eine kompakte Irisdarstellung zu erzeugen. Dies beinhaltet die Ermittlung einer Unterscheidungskapazität für Zeilen in einem Iriscode. Die Zeilen in einem Iriscode mit der höchsten Unterscheidungskapazität für die Teilmenge werden ausgewählt. Die Unterscheidungskapazität kann durch eine Kolmogorow-Smirnow-Analyse (KS-Analyse) gemessen werden.
-
In Block 412 können unter Verwendung der Informationen, die mit Hilfe dieses Verfahrens ermittelt wurden, die Parameter einer Transformation eines Iriscodes voller Länge zu einem kompakten Iriscode ermittelt werden. Dies stellt ein Verfahren bereit, mit dem alle Codes voller Länge einfach umgewandelt werden können. Durch die Bildung einer Menge von Paaren, die alle ausgerichtet sind, können Informationen gesammelt werden, die dazu beitragen, die besten Zeilen oder Orte zu bestimmen, die verwendet werden können, um den besten kompakten Iriscode zu erzeugen.
-
Mit Bezug auf 9 wird ein System 500 zur Erzeugung kompakter Irisdarstellungen auf der Grundlage einer Datenbank von Irisbildern veranschaulichend gezeigt. Das System 500 kann verwendet werden, um FLIC-Codes in SLILC-Codes umzuwandeln oder kann verwendet werden, um eine Transformation zur Durchführung dieser Aufgabe zu erzeugen. Das System 500 enthält eine Datenbank 502, die so konfiguriert ist, dass sie Iriscodes voller Länge 504 für alle Irisbilde speichern kann. Jeder Iriscode 504 enthält eine Vielzahl von Teilen, die den Umfangsringen in einem dazugehörigen Irisbild entsprechen. Die Bilder können mit einem Scanner oder Sensor 510 in der Datenbank 502 gesammelt werden, obwohl die Bilder auch von einer Speichereinheit, einem Netzwerk usw. heruntergeladen werden können.
-
Ein Prozessor 512 ist so konfiguriert, dass er Verteilungen des Wahr-Werts und des Falsch-Werts für die Iriscodes berechnen und bestimmen kann, welche Codeteile des Iriscodes einen höchsten Beitrag für eine Trennung zwischen Wahr- und Falsch-Verteilungen aufweisen. Diese Trennung weist auf Unverwechselbarkeit hin. Der Prozessor 512 ist zudem so konfiguriert, dass er eine Korrelation zwischen den übrigen Codeteilen messen kann, um eine Teilmenge von Codeteilen mit den niedrigsten Korrelationen in der Teilmenge zu ermitteln, so dass eine kompakte Irisdarstellung 514 von der Teilmenge erzeugt wird. Die Informationen der Teilmenge stellen in hohem Maße der Unterscheidung dienende Codedaten bereit, die verwendet werden, um die Größe der Codes voller Länge ohne wesentliche Beeinträchtigung der Genauigkeit zu verringern. Die kompakten Codes können in eine Einheit geladen werden, beispielweise in eine Handrecheneinheit, eine elektronische Einheit oder eine Einheit, bei der die Sicherheit oder Identität des Benutzers festgestellt werden muss. Die kompakten Iriscodes verringern den Umfang an Speicherplatz, der zur Speicherung eines Iriscodes benötigt wird. Dies eröffnet die Möglichkeit, Irisdarstellungen in Einheiten zu verwenden, die eine solche Technologie aufgrund von Speicherbegrenzungen zuvor nicht verwenden konnten.
-
In einer Ausführungsform erzeugt das System 500 eine Transformation 520, um kompakte Iriscodes zu erzeugen. Die Transformation 520 wandelt auf der Grundlage von Informationen, die durch die Bestimmung in hohem Maße diskriminierender Informationen ermittelt wurden, Iriscodes voller Länge in einen kompakten Iriscode um. Die Transformation 520 kann in anderen Einheiten verwendet werden, um FLICs in SLICs umzuwandeln. Dies ermöglicht einen einfachen Weg zur Umwandlung von FLIC-Datenbanken. Die Transformation 520 kann umkehrbar sein.
-
Nachdem bevorzugte Ausführungsformen eines Systems und Verfahrens zur Erzeugung und Verwendung von Iriscodes geringer Länge (die nur veranschaulichend und nicht einschränkend sein sollen) beschrieben wurden, sei darauf hingewiesen, dass der Fachmann unter dem Aspekt der obigen Lehren Änderungen und Abwandlungen vornehmen kann. Es versteht sich deshalb, dass an den beschriebenen bestimmten Ausführungsformen Änderungen vorgenommen werden können, die innerhalb des Umfangs der Erfindung liegen, wie sie in den beigefügten Ansprüchen festgelegt ist. Nachdem somit Aspekte der Erfindung mit den durch das Patentrecht geforderten Einzelheiten und Besonderheiten beschrieben wurden, werden die in den beigefügten Ansprüchen durch ein Patent beanspruchten und patentrechtlich zu schützen Dinge dargelegt.