ROZPOZNAWANIE CZŁOWIEKA PRZY POMOCY WZORCA TĘCZÓWKI OKA.

RAPORT Z PROJEKTU KURSU
METODY I ALGORYTMY SZTUCZNEJ INTELIGENCJI, ARE3513

AUTOR:Maciej Włodarczyk (149219), Tomasz Matuszczak (148817)
PROWADZĄCY:dr inż. Witold Paluszyński
DATA:13 czerwca 2009

OPIS:

W projekcie opisana jest metoda rozpoznawania danej osoby za pomocą zdjęcia (skanu) jej tęczówki oka. Opisana została metoda rozpoznawania oraz jej części składowe, oparte na programie, który stworzyli Milos Lasek i Peter Kovesi (The School of Computer Science and Software Engineering, The University Of Western Australia). Na końcu przedstawione są rezultaty (wyniki testów) powyższego programu.


RECOGNIZING THE HUMAN BY IRIS PATTERNS

REPORT PREPARED AS A REQUIREMENT FOR THE COURSE
METHODS AND ALGORITHMS OF ARTIFICIAL INTELLIGENCE, ARE3513

AUTHOR:Maciej Włodarczyk (149219), Tomasz Matuszczak (148817)
CONDUCTED BY:dr inż. Witold Paluszyński
DATE:June 13th, 2009

DESCRIPTION:

The project describe process of recognizing the Human by iris patterns. It include describe about used methods in tested program, witch was created by Milos Lasek and Peter Kovesi (The School of Computer Science and Software Engineering, The University Of Western Australia). In the end are result of our tests.

WSTĘP

Naszym celem było opracowanie projektu, który pozwoliłby na stworzenie metody, dzięki której moglibyśmy stworzyć program rozpoznający ludzi za pomoca zdjęć ich tęczówki. Szukając materiałów w internecie, znaleźliśmy bardzo ciekawą pracę Milosa Laseka. Po przestudiowaniu jej zawartości postanowiliśmy oprzeć nasz projekt o tą bardzo ciekawą pracę.

ZARYS OGÓLNY ROZPOZNAWANIA LUDZI ZA POMOCĄ TĘCZÓWKI OKA

Skanowanie tęczówki opiera się na analizie cech kolorowej tkanki otaczającej źrenicę, która posiada przeszło 200 charakterystycznych punktów, służących do celów porównawczych. Do punktów takich zaliczyć można pierścienie, prążki oraz plamki. Do skanowania używana jest stabilna kamera video o stałej ogniskowej, która może pobierać obraz z odległości większych niż w przypadku skanowania siatkówki. Ponadto nie stanowią dla niej przeszkody okulary i jest w stanie uzyskać dane na tyle precyzyjne i unikalne, że metoda ta znajduje z powodzeniem zastosowanie w identyfikacji. W celu dokonania pomiaru użytkownik ustawia się przed kamerą tak, aby widzieć odbicie swojego oka w urządzeniu. Pomiar może być wykonywany z odległości sięgającej nawet 70cm (w zależności od urządzenia). Czas weryfikacji w większości przypadków nie przekracza 5s, jednak czas faktycznego skanowania tęczówki jest o wiele krótszy. Wykorzystanie wzoru tęczówki do identyfikacji osób zostało pierwotnie zaproponowane w 1936r. przez okulistę Franka Burcha. W 1987r. Aran Safir i Leonard Flom - także okuliści - opatentowali ten pomysł i w 1989 r. poprosili Johna Daugmana (ówczesnego wykładowcę na Harvardzie) o podjęcie próby stworzenia algorytmów rozpoznawania tęczówki. Algorytmy opatentowane przez Daugmana w 1994r. są podstawą dla współczesnych produktów i systemów opartych na rozpoznawaniu tęczówki. Unikalność wzoru (różnice zachodzą nawet między jednym a drugim okiem tej samej osoby) sprawiła, że skaner tęczówki stał się potężnym narzędziem w zakresie weryfikacji i identyfikacji. Znikome prawdopodobieństwo błędnej identyfikacji oraz szybkość i łatwość użycia czyni skanowanie tęczówki idealną metodą biometryczną. Jedyną wadą jest trudność ułożenia głowy i oka badanej osoby we właściwej pozycji, gdy czynione to jest wbrew jej woli. Dane opisujące tęczówkę zajmują stosunkowo dużo miejsca w pamięci, jednak przy obecnym tempie rozwoju technologicznego nie powinno to stanowić większego problemu.

SZCZEGÓŁOWY OPIS METODY

Badany przez nas program składa, podczas obróbki obrazów wykonuje trzy główne procesy: SEGMENTACJA
Segmentacja, jest to precyzyjne zlokalizowanie tęczówki oraz elementów ją przesłaniających, takich jak powieki czy odbłyski występujące na powierzchni oka, w obrazie wykonanym kamerą. Tak zlokalizowany obszar tęczówki jest następnie przetwarzany, dzięki czemu otrzymujemy matematyczny opis struktury tęczówki, co pozwala na rozpoznanie fotografowanej osoby przez porównanie z istniejącymi opisami zgromadzonymi w bazie danych. Tęczówka może być opisana za pomocą dwóch okręgów (jeden okalający tęczówkę, drugi okalający zierenicę). Podczas procesu segmentacji stosuje się transformatę Hough'a.
rusunek rusunek
transformata Hough'a
Transformacja Hough'a pozwala na wykrywanie na obrazie kształtów zadanych pewnym równaniem. W ogólnym przypadku równanie krzywej na płaszczyźnie możemy przedstawić nastepujaco:
f(x, y, a1, a2, ...) = 0 , gdzie a1, a2, ... sa pewnymi parametrami.
Transformacja Hough'a wykorzystuje fakt, ze pojedynczemu punktowi (x, y) w przestrzeni kartezjańskiej odpowiada równanie o zmiennych a1, a2, ... . W przypadku dwóch parametrów otrzymujemy w ten sposób pewna krzywa, a w przypadku trzech - powierzchnię. Idea poszukiwania kształtu zadanego równaniem, będzie więc polegała na wyznaczaniu równań o zmiennych a1, a2, ... odpowiadających punktom obrazu i zaznaczaniu w przestrzeni Hough'a punktów, które to równanie spełniają, a następnie na wyznaczeniu tych punktów w przestrzeni Hough'a, dla których zaznaczono jak najwięcej "spełnień". Punkty będą odpowiadały określonym wystąpieniom wzorca na obrazie. Przykładowo, korzystając z równania prostej r = x cos 0 + y sin 0 możemy pokazać, że pojedynczemu punktowi (x, y) odpowiada pewna funkcja sinusoidalna r = g(0) oraz że dla punktów współliniowych odpowiadające im sinusoidy przecinają się w jednym punkcie, odpowiadającym równaniu prostej. W sposób analogiczny możemy rozumować np. dla równania okręgu lub elipsy. Na zdjęciu przedstawione jest zdjęcie oka poddane procesowi segmentacji:
rusunek
a)zdjęcie oryginalne b)obraz krawędzi oryginału c)obraz krawędzi tylko z horyzontalnym gradientem d)obraz krawędzi tylko z wertykalnym gradientem.

NORMALIZACJA

Generalnie normalizacja jest procedurą wstępnej obróbki obrazu w celu umożliwienia ich wzajemnego porównywania i dalszej analizy. Ponieważ przy porównywaniu stosujemu z góry ustalone wzorce obrazów tęczówki (ustalone w sensie średnicy tęczówki i zierenicy, rozmiaru obrazu, ilości pobranych próbek etc.). Dlatego aby wstępnie obrobione przez nas ( po procesie segmentacji) zdjęcia tęczówek dało się porównać ze wzorcami z bazy, stosujemy proces normalizacji. W badanym przez nas programie, autorzy oparli proces normalizacji o metodę opracowaneą 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, O), gdzie r jest na przedziale [0, 1], a O jest kątem [0, 2pi]:
rusunek
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:
rusunek
gdzie I(x, y) jest obrazem obszaru tęczówki, (x, y) oryginalnymi współrzędnymi układu kartezjańskiego, (r, O) 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 O.
rusunek
Normalizacji dwóch zdjęć tej samej tęczówki wykonanych w tych samych warunkach

KODOWANIE CECH I PORÓWNANIE

Kodowanie tęczówki może być rozumiane jako opis jej cech lokalnych.W tym celu używamy metody kodowania za pomocą splotu znormalizowanego wzorca tęczówki z modelem jednowymiarowych (1D) falek log-Gabor'a. Jest to jedna z najszybszych i najdokładniejszych metod wyznaczana współczynników rozwinięcia Gabora. Dla otrzymanych współczynników pamiętamy jedynie ich znak (za pomocą jednego bitu). Wynikowe bity kodu traktować będziemy jako cechy tęczówki. Wektor cech ma zawsze tą samą kolejność elementów. Oszacowanie podobieństwa dwóch tęczówek polega zatem na wyznaczeniu odległości Hamminga pomiędzy kodami. 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". Poniżej przedstawiony jest schemat procesu:
rusunek
filtr gabora
W poniższym podpunkcje opisany jest główny filtr wykorzystywany w etapie rozpoznawania cech. Pojedynczy filtr Gabora pozwala przefiltrować obraz zachowująć tylko precyzyjnie dobrany zakres częstotliwości. Pozwala to zrobić zarówno w dziedzinie częstotliwości za pomocą konwolucji z wyliczoną maską, jak i w dziedzinie częstotliwości. Maska konwolucji ma zespolone współczynniki (choć istnieją też wersje ze współczynnikami rzeczywistymi). Maska w dziedzinie częstotliwości jest funkcją Gausa (koperta, envelop) modulowaną (zespoloną) sinusoidą (nośnik, carrier). Nośnik jest zespoloną sinusoidą:
rusunek
gdzie: (u0, V0) – określa częstotliwość zespolonej sinusoidy ; P – fazę tej sinusoidy , część rzeczywista – cosinusoida, część urojona – sinusoida, obie przesunięte w fazie P częstotliwość w kierunku x: N*u0 , w kierunku y: N*v0
rusunek
Kopertą jest funkcja Gaussa:
rusunek
gdzie:
K –- czynnik skalujący
a, b -- skalują 2 osie funkcji Gausa
(x0, y0) -– środek funkcji Gausa
O –- kąt obrotu funkcji Gausa wokół (x0, y0) -– nie ma znaczenia jeśli a=b
(x-x0)r = (x-x0)cosO + (y-y0) sinO
(y-y0)r = --(x-x0) sinO + (y-y0) cosO
rusunek
Maska filtru Gabora:
rusunek
Maska jest iloczynem sygnału-nośnika z ograniczającą ją kopertą.

TESTY

Do zbadania efektywności wyżej opisanych skryptów przeprowadzono serię długotrwałych testów. Jako badany materiał posłużyliśmy się zdjęciami tęczówek udostępnianymi przez Chińską Akademie Nauk. Każda tęczówka danego osobnika posiadała 20 próbek, przetestowaliśmy zdjęcia 18 osobników, co łącznie daje 360 zdjęć. Testy można podzielić na dwie fazy:

a) testowania każdego ze zdjęć tej samej tęczówki z innymi zdjęciami tej samej tęczówki;

b) testowanie zdjęcia tęczówki ze wszytkimi zdjęciami innych tęczówek.

Otrzymane wyniki zostały wyeksportowane do pliku tekstowego, a następnie przeliczone wczesniej zaimplementowanym programem. W programie tym można dowolnie zmieniać wartość granicy od której dany osobnik uzyskałby dostęp. Porównamy teraz wyniki dla zdjec tej samej tęczówki, oraz zdjęć tęczówek różnych dla kilku wartości granicy.
rusunek
wyk1. Wartość dystansu Hamminga dla próbek tej samej tęczówki.
rusunek
wyk2. Wartość dystansu Hamminga dla próbek różnych tęczówek.
wartość progowata samata sama[%]innainna[%]
0.43241983.9912960.00
0.435244484.8613763.72
0.44247886.0414567.44
0.445251387.2615973.95
0.45255388.6517079.07
0.455259189.9718284.65
0.446262291.0418987.91
0.465264191.7019289.30

PODSUMOWANIE

Ze względu na dość duże wymagania czasowe potrzebne do przeanalizowania pojedyńczego zdjęcia testy nie do końca zostały wykonane "każdy z każdym". Zdjęcia, których użyliśmy do badań mają rozdzielczość 640x480 pixeli i czas znalezienia samych kształtów kołowych źrenicy i siatkówki oraz wstępnego unormowania zdjęcia wahał się w okolicach 5minut. Wykonując badania otrzymaliśmy nie zbyt rzetelne wyniki, gdyż różnice w odległości Hamming'a dla tych samych, jak i dla różnych tęczówek statystycznie rzecz biorąc różnią się w małym stopniu. Może to być spowodowane tym, iż do analizy wzieliśmy zbyt dużą ilość próbek tej samej tęczówki. Porównując otrzymane wyniki z grupą, która wzięła pod uwagę tylko 3 probki tej samej tęczówki możemy stwierdzić, że jest to lepsze rozwiązanie. Ich wyniki dość dobrze przydzielały prawo dostępu osobnikowi, który posiadał uprawnienia, a osobnikom którzy tych uprawnień nie mieli odmawiał udzielenia dostępu. Analizując poszczególne wyniki, w zależności od obranej granicy poniżej której udzielamy osobnikowi dostępu możemy stwierdzić ze lepiej przydziela on prawo dostępu osobniką o tych samych tęczówkach, jednak różnica przydziału osobnikom nieuprawnionym względem uprawnionych jest zbyt mała by wprowadzić do użytku tą metode na podstawie analizowanych danych. Wraz ze wzrostem wartości obranej rośnie również wspólczynnik poprawnego udzielania dostępu, jak również procent wpuszczania osobnika nieupranionego. Aby urządzenie dobrze spełniało swoją funkcje musimy się zastanowić jaką obrać wartość graniczną, by osiągnąć odpowiedni kompromis między poprawnym udzielenenim dostępu, a przydzieleniem wejścia osobie nieuprawnionej.

LITERATURA


Valid HTML 4.01 Transitional