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.
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.
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.
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.
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.
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:
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:
, 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:
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.
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:
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:
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:
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π].
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
oraz
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
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.
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.
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:
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.
Rys. 7. Operacja przesuwania bitów.
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.
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.
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.
granica | podobne | podobne[%] | różne | różne[%] | |
1. | 0.400 | 34 | 10.493 | 11 | 0.021 |
2. | 0.407 | 28 | 8.641 | 28 | 0.053 |
3. | 0.410 | 26 | 8.024 | 50 | 0.096 |
4. | 0.415 | 24 | 7.407 | 64 | 0.123 |
5. | 0.420 | 20 | 6.172 | 176 | 0.338 |
6. | 0.425 | 19 | 5.864 | 333 | 0.640 |
7. | 0.440 | 13 | 4.012 | 1854 | 3.563 |
8. | 0.450 | 8 | 2.469 | 5271 | 10.136 |
Tab. 1. Ilość niewłaściwie zakwalifikowanych
próbek przy różnych poziomach HD .
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.