Rozpoznawanie wzorców ludzkiej tęczówki oka

Autorzy: Maciej Mistoń i Leon Alrae
Data: 14 czerwca 2009
Raport z projektu: Metody i algorytmy sztucznej inteligencji

Streszczenie:

Raport omawia i analizuje metodę biometrycznej identyfikacji rozpoznawania tęczówki oka. Analiza została przeprowadzona w oparciu o gotowy algorytm, którego twórcami są Milos Lasek i Peter Kovesi (The School of Computer Science and Software Engineering, The University Of Western Australia). Autorzy algorytmu udostępniają gotowy kod źródłowy, który wymaga uruchomienia w środowisku MATLAB. Na wejście systemu wprowadzany jest obraz oka, a na wyjściu otrzymuje się biometryczny szablon. Zawarty jest również kod dotyczący obliczenia dystansu Hamming'a pomiędzy szablonami, co jest wymagane w procesie porównania szablonów.

Recognition of Human Iris Patterns

Authors: Maciej Mistoń and Leon Alrae
Date: June 14, 2009
This report has been prepared as a requirement for the course: Methods and algorithms of artificial intelligence

Abstract:

This raport disscusses method of recogniction of human iris. Algorithm was created by Milos Lasek and Peter Kovesi (The School of Computer Science and Software Engineering, The University of Western Australia). Source code is public available and need to be run using the MATLAB environment. The system inputs an eye image, and outputs a binary biometric template. Also included is code for calculating the Hamming distance between templates, which is required for matching of templates.


Wstęp

Biometryczny system pozwala na automatyczne rozpoznanie osobnika na podstawie jego unikatowych cech. Te szczególne cechy uzyskuje się na podstawie pobranych próbek. Próbką może być cyfrowe nagranie sygnału dźwiękowego w systemach rozpoznawania mowy, bądź cyfrowe zdjęcie w systemie rozpoznawania twarzy. Następnie, przy użyciu pewnych funkcji matematycznych, próbka zostaje poddana transformacji, w której to wyniku powstaje biometryczny wzór. Wzór ten to znormalizowana, wysoko efektywna reprezentacja cech osobnika, która w dalszym etapie, wraz z innymi wzorcami, daje możliwość porównania w celu rozstrzygnięcia problemu identyczności. Dobry wzorzec biometryczny powinien zawierać w sobie cechy, które są wysoce unikatowe - więc takie, w których szansa pojawienia się identycznych właściwości u dwóch różnych osobników będzie minimalna, stabilne - nie zmieniające się z upływem czasu, łatwe do uchwycenia- by zapewnić wygodę potencjalnemu użytkownikowi. Tęczówka jest widzialną, chronioną częścią oka, której unikalny, epigenetyczny wzorzec pozostaje stabilny przez całe życie. Ta cecha czyni ją bardzo atrakcyjną dla biometrycznych metod identyfikacji. Zatem, kiedy zainteresowana osoba zapragnie skorzystać z systemu identyfikacji, w pierwszym kroku sfotografowana zastanie jej tęczówka, następnie utworzony zostanie odpowiedni wzorzec, aż wreszcie nastąpi porównanie z wszystkimi wzorcami zmagazynowanymi dotychczas w systemowej bazie danych. Kiedy nastąpi dopasowanie wzorca osoba zostanie ostatecznie zidentyfikowana.


Etapy pracy algorytmu

Zaimplementowany algorytm składa się z trzech etapów. Pierwszym krokiem algorytmu jest segmentacja. Jej zadanie polega na automatycznym wyodrębnieniu ze zdjęcia samej tęczówki. Następnie wynik tej operacji podlega procesowi normalizacji. Proces ten wprowadza się, by przeciwdziałać pewnym niejednoznacznościom wynikających z faktu zjawiska rozszerzenia się źrenicy oka. Ostatnim etapem jest porównanie wzorca z innymi wzorcami.


Zestaw danych:

Dane do eksperymentu zostały pobrane z udostępnionej bazy danych należącej do Chińskiej Akademii Nauk (CAS). Baza zawiera 324 zdjęcia. W tej liczbie zawiera się 108 unikatowych zdjęć oczu, każde oko sfotografowano trzykrotnie. Zdjęcia wykonano przy użyciu bliskiej podczerwieni tworząc tym samym próbkę nie zawierającą refleksu.


Szczegółowy opis metody:

a) SEGMENTACJA

Pierwszym etapem identyfikacji jest proces wyizolowania obszaru tęczówki oka z zawartej próbki (cyfrowe zdjęcie). Region tęczówki może być aproksymowany dwoma okręgami, jeden na granicy tęczówki i twardówki, inny wewnątrz pierwszego, na granicy tęczówki i źrenicy. Powieki oraz rzęsy wyznaczają górną i dolną granice obszaru tęczówki. Sposób izolacji obszaru tęczówki odbywa się za pomocą kołowej transformaty Hough'a.

Transformata Hough'a
Transformata Hough'a jest standardowym komputerowym wizyjnym algorytmem, który może być użyty do określenia parametrów nieskomplikowanych geometrycznych obiektów, takich jak linie i okręgi widniejące na zdjęciu. Kołowa transformata Hough'a może być zastosowana do wykrycia promienia oraz środka współrzędnych źrenicy i obszaru tęczówki. Algorytm automatycznej segmentacji zastosowany w procesie segmentacji bazuje na kołowej transformacie Hough'a. Punkty umieszczone w kartezjańskim układzie współrzędnych transformowane są do przestrzeni Hough'a. Zasada działania transformaty pokazana jest na poniższych ilustracjach:

1.png 2.png

Rys. 1. Zasada działania transformaty Hough'a.


Początkowo zdjęcie poddaje się gradientacji w celu wyostrzenia krawędzi. Następnie w punktach osadzonych na tych krawędziach wyznacza się okręgi o pożądanym promieniu. Miejsce, w którym okręgi skupiają się oznacza środek współrzędnych identyfikowanego okręgu. W celu detekcji powiek stosuje się modyfikację kołowej transformaty, tj. paraboliczną transformatę Hough'a. Linie powiek aproksymowane są odpowiednimi parabolicznymi łukami reprezentowanymi jako:

wzor1.png

, gdzie aj jest współczynnikiem krzywizny, punkt (xj,yj) odpowiada współrzędnej wierzchołka paraboli, Θ jest kątem rotacji względem osi OX. Można również zastosować inną metodę aproksymacji łuku powieki. Łuk powieki z reguły nie charakteryzuje się dużą krzywizną, tym bardziej że tylko niewielki odcinek powieki wchodzi w zakres obszaru tęczówki. Można zatem łuk ten aproksymować linią. W związku z tym autorzy omawianego algorytmu zdecydowali się na wykorzystanie liniowej transformaty Hough'a.
Transformacja Hough'a dla linii prostych odwzorowuje linię opisaną równaniem kierunkowym y = ax + b w przestrzeni danych - o współrzędnych (x , y), w punkt przestrzeni Hough'a - o współrzędnych (r, Θ), reprezentujących parametry tej prostej opisanej równaniem parametrycznym:

wzor3.png

gdzie r jest odległością prostej od początku układu współrzędnych (wzdłuż normalnej), zaś Θ jest kątem między normalną do prostej, a osią odciętych.

5.png

Rys. 2. Odwzorowanie punktu w przestrzeń Hough'a.


Powyższa ilustracja przedstawia przekształcenie Hough'a, gdzie pokazany jest punkt P1 w przestrzeni danych i przechodząca przez niego prosta L1. Jeśli prosta L1 będzie obracana wokół punktu P1, to w przestrzeni (r, Θ) (parametrów) zostanie wykreślona krzywa H1 (Hough'a) o równaniu r = x1cosΘ + y1sinΘ , gdzie (x1 , y1) są współrzędnymi punktu P1. Krzywa H1 jest obrazem wszystkich linii przechodzącym przez punkt P1.

W przypadku kiedy przestrzeń zawiera wiele punktów, w przestrzeni (r, Θ) pojawia się zbiór związanych z nim krzywych. Przykładowy zbiór sześciu punktów P1-P6 i odpowiadający mu zbiór krzywych Hough'a pokazany jest na poniższej ilustracji:

6.png

Rys. 3. Odwzorowanie kilku punktów w przestrzeń Hough'a.


Jeśli punkty te nie są położone dokładnie na prostej, to w przestrzeni parametrów pojawia się grupa indywidualnych przecięć, odpowiadającym prostym przechodzącym przez wszystkie pary tych punktów. Przykładem takiego układu są punkty P1-P4 położone w sąsiedztwie prostej L1, i odpowiadający mu zbiór sześciu przecięć. Natomiast dla punktów P3, P5 i P6 leżących na prostej L2, krzywe w przestrzeni parametrów przecinają się dokładnie w jednym miejscu. Wspólny punkt przecięcia krzywych Hough'a w przestrzeni (r, Θ) wskazuje zatem parametry prostej aproksymującej punkty w przestrzeni (x , y). Im mniejsza jest korelacja współrzędnych punktów w przestrzeni danych, tym obszar przecięć w przestrzeni parametrów będzie rozleglejszy.

W celu uzyskania krawędzi powiek różniczkuje się obraz w kierunku horyzontalnym. Granice tęczówki zaś uzyskuje się poprzez zróżniczkowanie obrazu w kierunku wertykalnym. Do dokładnego zlokalizowania tęczówki wystarczy użycie wyłącznie gradientu wertykalnego, zredukuje to wpływ krawędzi powiek przy wykorzystaniu transformaty Hough'a. Obrazy krawędzi uzyskane dzięki różnym kierunkom różniczkowania przedstawione są na poniższych ilustracjach:

3.png

Rys. 3. a) zdjęcie (020_2_1 z bazy danych), b) odpowiadający mu obraz krawędzi, c) obraz krawędzi tylko z horyzontalnym gradientem, d) obraz krawędzi tylko z wertykalnym gradientem.


Bezpośrednie wykorzystanie transformaty w systemach identyfikacji jest niestety nieco utrudnione. Spowodowane jest to tym, że transformacja Hough'a, w praktyce, wiąże się z dużą złożonością obliczeniową. Przeszukiwanie przestrzeni odbywa sie w sposób siłowy (brutal-force aproach). Wada ta poważnie ogranicza zastosowanie tej metody w systemach czasu rzeczywistego. Druga trudność polega na tym, że transformacja wymaga określenia wartości progu detekcji krawędzi. Dobranie złego progu może powodować usunięcie krytycznych punktów danej krawędzi, co przyczyni się do niepoprawnej detekcji badanej krzywej.
Pomimo powyżej opisanych problemów autorzy algorytmu zdecydowali się na użycie tej metody w procesie segmentacji. Zakres wartości promienia jest wprowadzany w sposób manualny. W wykorzystanej bazie zakres wartości promienia tęczówki wynosi od 75 do 150 pikseli, zaś zakres promienia źrenicy to od 28 do 75 pikseli. Aby zwiększyć efektywność oraz dokładność procesu kołowej detekcji, jako pierwszą zastosowano transformatę Hough'a dla granicy twardówka/źrenica, a dopiero jako następną przeprowadzono transformatę dla granicy tęczówki/źrenicy. W wyniku tej ostatniej usunięciu ulega zawartość obszaru źrenicy. Wyizolowanie powiek następuje dzięki zastosowaniu liniowej transformaty Hough'a. Wynik procesu segmentacji ukazany jest na poniższych ilustracjach:

4.png

Rys. 3. Segmentacja, (po lewej) zdjęcie oka, (po prawej) dwa okręgi wyznaczające obszar tęczówki oraz dwie linie aproksymujące łuki powiek.


b) NORMALIZACJA

Kolejnym krokiem, po procesie segmentacji, jest operacja normalizacji. W tym procesie ustala się pewien wzorzec o stałym wymiarze, dający finalnie możliwość porównania dwóch różnych obrazów. Otrzymane w procesie segmentacji obszary tęczówek różnią się miedzy sobą wymiarem. Spowodowane jest to głównie rozciąganiem się obszaru tęczówki przy zmianach poziomu oświetlenia (potocznie - zjawisko zwężania się źrenicy). Istnieje kilka metod ustalenie jednolitego wzorca, autorzy omawianego algorytmu wsparli sie na metodzie opracowanej przez Daugman'a, tj. Daugman's Rubber Sheet Model.

Daugman's Rubber Sheet Model
Model ten, stworzony przez Daugman'a, odwzorowuje każdy punkt znajdujący się wewnątrz obszaru tęczówki w parę współrzędnych biegunowych (x, Θ), gdzie r jest na przedziale [0, 1], a Θ jest kątem [0, 2π].

7.png

Rys. 4. Daugman's Rubber Sheet Model.


Odwzorowanie regionu tęczówki z kartezjańskiego układu współrzędnych do znormalizowanej, niekoncentrycznej biegunowej reprezentacji modelowane jest jako

wzor4.png

oraz

wzor5.png

gdzie I(x, y) jest obrazem obszaru tęczówki, (x, y) oryginalnymi współrzędnymi układu kartezjańskiego, (r, Θ) są odpowiednio znormalizowanymi biegunowymi współrzędnymi, xp, yp i xl, yl są współrzędnymi źrenicy oraz granic tęczówki wzdłuż kierunku Θ. Rezultat procesu normalizacji ukazany jest na poniższej ilustracji

8.png

Rys. 5. Ilustracja procesu normalizacji dwóch zdjęć tej samej tęczówki wykonanych w warunkach.


c) KODOWANIE CECH I PORÓWNANIE
Aby dostarczyć dokładnego rozpoznania osobnika, większość wysublimowanych informacji zawartych w wzorcu tęczówki musi zostać w jakiś sposób wydobyte. Tylko znaczące cechy tęczówki powinny zostać zakodowane. Szablon generowany w procesie kodowania cech będzie potrzebował odpowiedniego narzędzia porównawczego, który stworzy miarę podobieństwa pomiędzy szablonami. Narzędzie to powinno zwracać jeden przedział wartości dla szablonów generowanych od tego samego oka, oraz jeden przedział wartości dla szablonów pochodzących od różnych oczu. Przedziały te powinny różnić się na tyle,i posiadać na tyle odseparowane wartości, aby podjęcie decyzji mogło nastąpić w warunkach wysokiej pewności.

Kodowanie cech zostało zaimplementowane wykorzystując operację splotu znormalizowanego wzorca tęczówki z modelem jednowymiarowych (1D) falek log-Gabor'a. Dwuwymiarowy (2D) wzorzec jest przenoszony do pewnej liczby jednowymiarowych (1D) sygnałów, a następnie, już w postaci jednowymiarowej, poddany operacji splotu przy wykorzystaniu (1D) jednowymiarowych (1D) falek Gabora. Wiersze dwuwymiarowego wzorca są traktowane jako jednowymiarowe sygnały, każdy wiersz wzorca odpowiada wycinkowi pierścieniowemu obszaru tęczówki. Wartości natężenia luminancji we wzorcu, przy znanej przestrzeni szumu, zestawione są z średnim natężeniem otaczających go pixeli. Przeciwdziała to wpływom szumu na wyjściu procesu filtracji. Sygnał wyjściowy filtra podlega procesowi kwantyzacji fazowej. Kwantyzacja zdefiniowana jest na czterech poziomach, każdy filtr produkuje dwa bity danych na fazę. Sygnał wyjściowy kwantyzacji fazowej kodowany jest według kodu Grey'a, każdy następujący po sobie obszar, po zakodowaniu, różni się tylko jednym bitem. To powoduje minimalizacje liczby niezgadzających się bitów w przypadku różnych zdjęć tego samego oka. Szumy oraz przejścia przez zero wartości luminancji kodowane jest wartością "0". Proces kodowania cech jest pokazany na poniższej ilustracji.

9.png

Rys. 6. Ilustracja przedstawiająca proces kodowania cech.


Proces kodowania wytwarza bitowy szablon zawierający liczbę bitów informacji, maskę szumu, która odpowiada uszkodzonym powierzchniom wewnątrz wzorca tęczówki. Odznaczane w masce szumów będą także miejsca, gdzie amplituda sygnału luminancji jest równa zero.

Odległość Hamming'a
W procesie porównania wykorzystana została zasada odległości Hamming'a. Odległość Hamminga daje miarę ilości takich samych bitów zawartych w zakodowanych wzorcach. Używając tej miary, możemy stwierdzić, czy dwa wzorce wygenerowane są na podstawie takich samych tęczówek. W porównaniu bitów zawartych we wzorcach X i Y, odległość Hamming'a definiowana jest jako suma ilościowa niezgadzających się bitów (XOR), gdzie N określa całkowitą liczbą bitów w tych wzorcach.

wzor6.png

Tęczówka zawiera cechy o wysokim poziomie niezależności, toteż każdy obszar tęczówki wytworzy niezależny bit, który także będzie się charakteryzował tą cechą. Jeśli dwa bitowe wzorce będą kompletnie niezależne (wygenerowane na podstawie różnych tęczówek), dystans Hamming'a pomiędzy dwoma wzorcami powinien wynosić 0.5. Dzieje się tak, ponieważ z racji niezależności szansa, że w jakimś bicie we wzorcu będzie znajdowała się "1" wynosi 0.5, i vice versa. Dlatego w dwóch wzorcach połowa bitów będzie się zgadzała, a druga połowa - nie. Jeśli dwa wzorce będą pochodzić z tej samej tęczówki, to dystans Hamming'a będzie wynosił około 0, ponieważ istnieje wysoka korelacja i bity, pomiędzy dwoma kodami tęczówki, powinny się zgadzać.
Zaimplementowany algorytm wyznaczania dystansu Hamming'a wprowadza dodatkowo maskowanie szumu. W obu szablonach brane będą po uwagę tylko te bity, którym odpowiadają bity "0" w obu maskach szumu. Zmodyfikowana formuła dystansu Hamming'a przedstawia się następująco:

wzor7.png

gdzie Xj i Yj są dwoma porównywanymi bitami, Xnj i Ynj są odpowiednimi maskami szumu dlaXj i Yj, i N jest liczbą bitów reprezentujących każdy wzorzec.
Aby uwzględnić przypadek zmiany kąta ustawienia aparatu przy wykonywaniu zdjęcia tego samego oka, przy porównaniu, wykonuje się przesuwanie bitów w jednym z wzorców. Przesuwa się po 2 bity w prawo i lewo. Takie ruchy odpowiadają rotacji oryginalnego obrazu tęczówki. Ilość przesunięć uzależniona jest od kąta wykonania zdjęcia. Przy obliczanych dystansach Hamming'a, jako właściwą wybiera się, najmniejszą wartość wśród wszystkich. Poglądowa ilustracja ukazana jest poniżej.

10.png

Rys. 7. Operacja przesuwania bitów.



Wyniki badań

W celu sprawdzenia skuteczności działania omawianego algorytmu identyfikacji, badania podzielone zostały na dwie części. W pierwszej części porównane zostały tylko te zdjęcia, które przedstawiały to samo oko. Druga część opierała się na badaniu zdjęć, które nie dotyczyły tego samego oka.
Baza danych zawiera 108 unikatowych zdjęć oczu. Każde oko zostało sfotografowane trzykrotnie. W fazie badań zdjęć tych samych oczu, wykonano 324 porównania. Wyniki zostały zilustrowane na poniższym wykresie. Osi odciętych odpowiada wartość dystansu Hamming'a, zaś osi normalnych kolejne porównania.

podobne.jpg

Rys. 8. Wykres próbek wynikowych podczas porównania zdjęć tej samej tęczówki.


Druga część badań zawiera próbki uzyskane w procesie porównania zdjęć różnych oczu. Z racji tego, że możliwości porównań było znacznie więcej, stworzono ponad 52000 próbek wynikowych. Rezultat badania przedstawiony został na poniższym wykresie.

rozne.jpg

Rys. 9. Wykres próbek wynikowych podczas porównania zdjęć różnych tęczówek.


Powyższe wykresy przedstawiają wartości dystansu Hamming'a podczas porównywania szablonów źrenic. Jak można dostrzec wyniki wartości dystansu Hamming'a, w zależności od rodzaju porównanych próbek, skupiają się w pewnych przedziałach liczb. Dla próbek dotyczących różnych oczu przedział ten jest wyraźnie widoczny, w przypadku tych samych oczu próbki są bardziej porozrzucane. Ilość niepoprawnie zakwalifikowanych próbek, przy pewniej ustalonej granicy wartości dystansu Hamming'a, pokazano w poniższej tabeli.

granicapodobnepodobne[%]różneróżne[%]
1.0.4003410.493110.021
2.0.407288.641280.053
3.0.410268.024500.096
4.0.415247.407640.123
5.0.420206.1721760.338
6.0.425195.8643330.640
7.0.440134.01218543.563
8.0.45082.469527110.136

Tab. 1. Ilość niewłaściwie zakwalifikowanych próbek przy różnych poziomach HD .



Wnioski

System identyfikacji tęczówki oparty na algorytmie L. Masek'a oraz P. Kovesi'go wykazuje się stosunkowo dobrą efektywnością. Szczególnie przy detekcji tęczówek różnych oczu. W przypadku porównywania zdjęć zawierających tę samą tęczówkę, rozrzut wartości HD jest dosyć spory, toteż precyzyjne ustalenie granicy jednoznacznego zidentyfikowania próbki jest nieco utrudnione. Najczęstszym powodem błędnego zinterpretowania próbki jest nieprawidłowy produkt procesu segmentacji. Niedokładne wyizolowanie obszaru tęczówki, pomimo użycia operacji kodowania, której celem jest wydobycie i zachowanie tylko najistotniejszych cech tęczówki, spowoduje stworzenie na tyle różniącego się wzorca, że w procesie porównania wynik zakwalifikowania próbki będzie błędny. Wyniki badań potwierdziły, że omawiany algorytm nie daje 100% pewności prawidłowej identyfikacji obiektu, co sprawia, że użycie go w praktyce może nieść z sobą pewne ryzyko. W zależności od wartości granicy sprawność można dobrać tak, by wynosiła około 97%. Wszystko zależy od ustalonego punktu referencyjnego. W systemie mającym opierać się na opisywanym algorytmie należałoby zatem ustalić pewną granicę, pewien punkt odniesienia, który w praktyce umożliwiałoby odpowiednie klasyfikowanie próbek. Ten próg mógłby, na przykład, wynosić około 0.44. To sprawi, że około 4% próbek podobnych oczu oraz 3.5% próbek różnych oczu zostanie nieprawidłowo rozpoznanych. W rezultacie około 3.5% wszystkich porównań zostałoby błędnie zinterpretowanych. Sprawność systemu zatem, jak zostało wcześniej wspomniane, wynosiłaby około 97%. Podsumowując, wyniki badań można uważać zatem za dość satysfakcjonujące, niemniej, praktyczne wykorzystanie metody proponowanej przez L. Miles'a oraz P. Kovesi'go nie gwarantuje absolutnej pewności poprawnej identyfikacji, co przyczynia się do ograniczenia jej zastosowania.


Bibliografia

  1. Libor Masek. Recognition of Human Iris Pattern for Biometric Identification, The University of Western Australia, 2003
  2. L. Masek, P.Kovesi - Source code

Valid XHTML 1.0 Transitional