IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka...

66
POLITECHNIKA POZNAŃSKA WYDZIAŁ ELEKTRONIKI I TELEKOMUNIKACJI KATEDRA TELEKOMUNIKACJI MULTIMEDIALNEJ I MIKROELEKTRONIKI INŻYNIERSKA PRACA DYPLOMOWA IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY GEOMETRII DŁONI Wojciech KAPSA Promotor: dr inż. Sławomir MAĆKOWIAK Poznań 2010

Transcript of IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka...

Page 1: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

POLITECHNIKA POZNAŃSKA

WYDZIAŁ ELEKTRONIKI I TELEKOMUNIKACJI

KATEDRA TELEKOMUNIKACJI MULTIMEDIALNEJ

I MIKROELEKTRONIKI

INŻYNIERSKA PRACA DYPLOMOWA

IDENTYFIKACJA OSÓB NA PODSTAWIE

ANALIZY GEOMETRII DŁONI

Wojciech KAPSA

Promotor:

dr inż. Sławomir MAĆKOWIAK

Poznań 2010

Page 2: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

SPIS TREŚCI 1. WSTĘP ................................................................................................................................... 3

2. SYSTEM BIOMETRYCZNY ............................................................................................... 5

2.1. Biometryki ....................................................................................................................... 5

2.2. Ogólna budowa systemu biometrycznego ....................................................................... 6

2.3. Systemy rozpoznawania osób na podstawie geometrii dłoni .......................................... 7

2.4. Procesy biometryczne.................................................................................................... 10

2.4.1. Rejestracja biometryczna ....................................................................................... 10

2.4.2. Identyfikacja biometryczna .................................................................................... 11

2.4.3. Weryfikacja biometryczna ..................................................................................... 12

2.5. Analiza zgodności biometrycznej dłoni ........................................................................ 13

3. PROJEKT SYSTEMU GEOMETRII DŁONI ..................................................................... 16

3.1. Cel i założenia przy budowie systemu .......................................................................... 16

3.2. Budowa stolika biometrycznego ................................................................................... 17

3.3. Zbieranie biometryk ...................................................................................................... 19

3.3.1. Przygotowania wstępne eksperymentu .................................................................. 19

3.3.2. Przebieg pobierania próbek biometrycznych ......................................................... 21

3.4. Program komputerowy .................................................................................................. 23

3.4.1. Opis wykorzystanych narzędzi ............................................................................... 23

3.4.2. Przetwarzanie wstępne ........................................................................................... 24

3.4.3. Ekstrakcja cech biometrycznych ............................................................................ 27

3.4.4. Baza danych ........................................................................................................... 36

3.4.5. Komparator biometryczny ...................................................................................... 39

3.4.6. Interfejs programu .................................................................................................. 41

3.5. Transformata Hough ..................................................................................................... 43

4. WYNIKI EKSPERYMENTÓW BIOMETRYCZNYCH .................................................... 47

4.1. Testy identyfikacji biometrycznej ................................................................................. 47

4.2. Testy weryfikacji biometrycznej ................................................................................... 49

4.3. Testy optymalizujące wartość progową ........................................................................ 59

5. PODSUMOWANIE I WNIOSKI ........................................................................................ 64

BIBLIOGRAFIA ...................................................................................................................... 66

Page 3: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

1. Wstęp

3

1. WSTĘP

W dzisiejszym świecie coraz większe znaczenie ma potwierdzanie i odnajdywanie

tożsamości różnych osób. W tym celu używa się wszelakich kart identyfikacyjnych (np.

dowód osobisty, karta płatnicza), kodów PIN czy też haseł dostępu. Dokumenty można

bardzo łatwo zgubić, natomiast hasła mogą zostać szybko zapomniane. Bez nich, w pewnych

sytuacjach, nie będzie możliwe potwierdzenie danej tożsamości.

Mało powszechnym sposobem służącym do potwierdzania tożsamości jest biometria.

Pozwala ona ustalić tożsamość osoby na podstawie jej cech szczególnych. Cechy te są

niemożliwe do zgubienia, jak to może się zdarzyć w przypadku chociażby dokumentów. Nie

można też ich ukraść. Do cech biometrycznych należą np. odciski palców, kształt twarzy,

geometria dłoni, indywidualny sposób chodzenia, itp. Każdy człowiek ma niepowtarzalny

zestaw cech biometrycznych przez co biometria ma prawo bytu i dalszego rozwoju. Jest to

stosunkowo młoda dziedzina nauki. Początki biometrii sięgają ponad sto lat wstecz, gdy

zaczęto badać pierwsze odciski palców. Dopiero z czasem, różne sposoby rozpoznawania

cech specyficznych człowieka przekształciły się w biometrię.

Ciekawymi sposobami identyfikacji osób są systemy biometryczne opierające swoje

działanie na podstawie geometrii dłoni. Podczas działania identyfikują osobę na podstawie

cech charakterystycznych dłoni takich jak: długości palców, szerokości palców lub szerokość

dłoni. Bazują wyłącznie na kształcie dłoni. Obojętny jest kolor skóry czy charakterystyczne

bruzdy palców.

Niniejsza praca inżynierska dotyczy systemu rozpoznawania osób na podstawie

geometrii dłoni. Celem pracy jest przedstawienie ogólnej charakterystyki systemów

biometrycznych i omówienie ich właściwości, z położeniem nacisku na systemy

wykorzystujące geometrię dłoni. Kolejnym zadaniem jest napisanie oprogramowania

pozwalającego na znalezienie cech charakterystycznych dłoni. Program ma umożliwiać

wykonywanie procesu identyfikacji osobniczej z wykorzystaniem odnalezionych cech.

Ostatnim celem pracy jest przeprowadzenie eksperymentów dotyczących poprawności

identyfikacji przy wykorzystaniu geometrii dłoni.

Celem pracy nie jest zbudowanie kompletnego systemu działającego w oparciu

o geometrię dłoni. Praca nie zakłada budowy stolika geometrii dłoni, ani zbierania próbek

biometrycznych dłoni. Moduł programu, umożliwiający weryfikację biometryczną, wykracza

poza zakres pracy, podobnie jak graficzny interfejs użytkownika czy baza danych

zaimplementowana w programie. W komparatorze cech nie było wymagane

Page 4: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

1. Wstęp

4

zaimplementowanie czterech różnych metryk odległościowych. Późniejsza analiza tych

metryk i sposobu działania systemu w zależności od każdej z nich przekracza zakres pracy.

W drugim rozdziale przedstawianej pracy inżynierskiej znajduje się omówienie

systemu biometrycznego i jego charakterystyka. Przedstawione zostały pojęcia związane

z biometrią i procesy biometryczne. Rozdział ten bardziej szczegółowo opisuje system

geometrii dłoni.

Trzeci rozdział opisuje budowę kompletnego systemu wykorzystującego geometrię

dłoni. Pokazano tutaj poszczególne kroki wykonane przy budowie systemu. Kluczową częścią

tego rozdziału jest omówienie kodu programu.

Kolejny, czwarty rozdział prezentuje wyniki wykonanych testów identyfikacji

biometrycznej oraz weryfikacji biometrycznej uzyskane z wykorzystaniem zbudowanego

systemu geometrii dłoni.

Page 5: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

2. System biometryczny

5

2. SYSTEM BIOMETRYCZNY

2.1. Biometryki

Biometryki są to fizjologiczne i behawioralne cechy osób, dzięki którym możliwe jest

odróżnienie jednej osoby od drugiej. Biometria ma prawo bytu z tego względu, że nie ma

dwóch identycznych biometryk. Największa trudność podczas badań biometrycznych polega

na znalezieniu i odpowiedniej analizie różnic pomiędzy jedną biometryką a drugą. Różnice te

są często bardzo małe i niedostrzegalne. Jak już wspomniano, występują dwa różne typy cech

biometrycznych (biometryk): biometryki fizjologiczne i biometryki behawioralne [1].

Biometryki fizjologiczne wiążą się z indywidualnymi cechami fizycznymi człowieka

mierzonymi w danej chwili czasu. Biometrykami fizjologicznymi są np. odcisk palca,

geometria dłoni czy obraz siatkówki oka. Natomiast biometryki behawioralne związane są

z zachowaniem człowieka [11]. W tym przypadku wymagana informacja zbierana jest przez

pewien okres czasu. Biometrykami behawioralnymi są np. sposób chodzenia, ruch ust, głos.

Biometryki fizjologiczne nie wymagają zbierania informacji w czasie, w przeciwieństwie do

biometryk behawioralnych. Jest tak, dlatego gdyż już jedna próbka niesie wystarczającą ilość

potrzebnych informacji. Biometryki behawioralne potrzebują więcej próbek zbieranych, co

pewien odstęp czasu. W tym przypadku informacja jest zależna od czasu i zmienia się wraz

z nim, przez co zebranie i przeanalizowanie biometryki behawioralnej jest trudniejsze niż

biometryki fizjologicznej. Przykładowe biometryki przedstawione są w tabeli 2.1.

Tabela 2.1. Fizjologiczne i behawioralne cechy biometryczne. Biometryki zaznaczone pogrubioną czcionką są

biometrykami mniej popularnymi i są na wczesnym etapie badań.

Fizjologiczne Behawioralne

Obraz twarzy Podpis

Odciski palców Głos

Geometria dłoni

Obraz tęczówki

DNA Chód

Termogram Tempo pisania

Siatkówka oka Ruch ust

Połysk skóry

Page 6: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

2. System biometryczny

6

2.2. Ogólna budowa systemu biometrycznego

System biometryczny w najprostszym ujęciu jest to zestaw urządzeń służących do

pomiarów biometrycznych i przetwarzania informacji biometrycznej wraz z zestawem

odpowiedniego oprogramowania. Rysunek 2.1 przedstawia uproszczony schemat systemu

biometrycznego [1, 11].

Rysunek 2.1. System biometryczny. Aby system umożliwiał weryfikację lub identyfikację biometryczną konieczna

jest uprzednia rejestracja (przerywana strzałka).

System biometryczny można podzielić na kilka podstawowych części:

Czytniki biometryczne pozwalają na pobieranie próbek biometrycznych za pomocą

czujników biometrycznych. Wygląd i cechy czytnika zależą od rejestrowanej cechy

biometrycznej. Inaczej będzie wyglądał czytnik siatkówki oka, a inaczej czytnik

geometrii dłoni. Typ czytnika wymusza odpowiedni sposób prezentacji próbki

biometrycznej.

Podsystem przetwarzania sygnałów za pomocą tego podsystemu wejściowe próbki

są modyfikowane i przetwarzane. Jego częścią składową jest ekstraktor cech, który

oblicza najważniejsze własności i cechy biometryczne. Dzięki przetworzeniu próbki

wejściowej, jej reprezentacja w bazie danych jest optymalna pod względem

zajmowanego miejsca jak i szybkości przeszukiwania bazy danych.

Baza danych jest miejscem, gdzie przechowywane są zarejestrowane próbki

biometryczne. Rekordy bazy danych oprócz biometryk zawierają dodatkowe

Page 7: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

2. System biometryczny

7

informacje ułatwiające zarządzanie bazą i zarejestrowanymi podmiotami. Baza danych

może być zarówno centralna jak i rozproszona.

Centralna baza danych biometrycznych posiada informacje biometryczne

o wszystkich zarejestrowanych użytkownikach. Nowo pobrana próbka biometryczna

jest porównywana z szablonami znajdującymi się w bazie.

Rozproszona baza danych nie musi posiadać informacji o wszystkich

biometrykach. Informacje do takiej bazy dostarczane są np. na inteligentnych kartach

zawierających szablon biometryczny. Biometryka wejściowa jest, w tym przypadku,

porównywana z szablonem z karty inteligentnej.

Komparator biometryczny odpowiada za porównywanie zbiorów cech

biometrycznych. Dzięki niemu możliwe jest sprawdzenie zgodności dwóch biometryk

przez ocenienie stopnia ich podobieństwa. Komparator biometryczny zasadę swego

działania może opierać na punktacji. Zupełnie inną punktację otrzyma para podobnych

biometryk, a inną para niezgodnych biometryk. Od komparatora może zależeć decyzja

o dopuszczeniu użytkownika do systemu lub o jego odrzuceniu.

2.3. Systemy rozpoznawania osób na podstawie geometrii dłoni

Systemy rozpoznawania osób na podstawie geometrii dłoni bazują na budowie

i unikalnym kształcie ludzkiej dłoni [1, 4, 8, 13]. Podczas analizy brane są pod uwagę takie

cechy jak szerokości dłoni, wysokości dłoni, długości palców, szerokości palców, itp.

Informacje te są wystarczające dla rozpoznawania osób. Nie osiągalna jest jednak 100%

dokładność i skuteczność (podobnie jak we wszystkich innych systemach biometrycznych).

Systemy oparte na geometrii dłoni, podczas analizy, nie wykorzystują odcisków palców czy

koloru skóry. Nie zajmują się także wyodrębnianiem detali dłoni, jak chociażby różnych

bruzd na skórze.

Indywidualne cechy ludzkich dłoni są stosunkowo mało zróżnicowane. Przez co

systemy geometrii dłoni cechuje duży współczynnik niesłusznych odrzuceń (FR – False

Rejection) i niesłusznych akceptacji (FA – False Acceptance) [1 ,11]. System geometrii dłoni

jest metodą mniej dokładną od systemów badających ludzkie oko czy odciski palców. Aby

zwiększyć precyzję, a jednocześnie bezpieczeństwo systemu, można połączyć różne metody

biometryczne (np. geometria dłoni i odciski palców). Wadą systemów hybrydowych jest

jednak długi czas pobierania próbek i przetwarzania danych.

Głównym powodem przemawiającym za systemem geometrii ludzkiej dłoni jest jego

przyjazność dla użytkownika. Jego obsługa jest bardzo prosta i intuicyjna. Pobieranie

Page 8: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

2. System biometryczny

8

i analiza biometryki zajmuje niewiele czasu. Dodatkowo, metoda pobierania próbki jest

metodą nieinwazyjną, w przeciwieństwie do pomiarów tęczówki czy siatkówki. Budowa

całego systemu nie jest też droga.

Już pod koniec lat 60 powstawały pierwsze urządzenia mające na celu analizę kształtu

ludzkiej dłoni. Wykorzystywały one wiele ciekawych pomysłów, opierając się głównie na

urządzeniach mechanicznych i elektromechanicznych [7]. Na rysunku 2.2 przedstawiono

jedne z pierwszych patentów [2, 3] wykorzystujących kształt dłoni. Lewy rysunek

przedstawia wynalazek wykorzystujący sprężyny, które rozciągają się w zależności od

szerokości i długości dłoni. Niedokładność urządzenia była spowodowana niewielką liczbą

mierzonych cech. Wiele osób może mieć podobną wysokość i szerokość dłoni. Kolejne

urządzenie (po prawej) stosuje elementy półprzewodnikowe i światłoczułe. Światło wpada

przez otwory w stoliku na którym układa się dłoń. Przez to mniej bądź więcej fotoelementów

jest naświetlonych. Budowa stolika pozwala na znalezienie długości czterech palców.

Rysunek 2.2. Pionierskie patenty badające geometrię ludzkiej dłoni. Urządzenie po lewej stronie (opatentowane

w roku 1971) wykorzystuje naprężenie sprężyn [2], urządzenie z prawej strony (opatentowane w roku 1972)

opiera się na elementach światłoczułych [3].

Bardzo ciekawymi prototypami są urządzenia wykorzystujące lustra odbijające

krawędź dłoni [4, 10]. Lustra są skierowane pod kątem około 45o w stosunku do stolika na

którym umieszczona jest biometryka. Dzięki temu, możliwe jest zarejestrowanie za pomocą

jednej kamery kilku płaszczyzn i uzyskanie obrazu trójwymiarowego. Przykłady takich

urządzeń są przedstawione na rysunku 2.3 i na rysunku 2.4.

Pierwszy z rysunków (rysunek 2.3) przedstawia urządzenie opatentowane w 1988

roku przez Davida P. Sidlauskasa [10]. Wykorzystuje ono trzy zwierciadła odbijające dłoń.

Page 9: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

2. System biometryczny

9

Zwierciadło oznaczone numerem 38 pozwala na sfotografowanie bocznej krawędzi dłoni.

W lustrze odbija się jedynie pewna część dłoni od kości śródręcza do paliczków dalszych

palca wskazującego i środkowego. Odbicie nie uwzględnia kciuka, dlatego też w stoliku nie

zainstalowano kołka wymuszającego jego położenie. Cztery kołki zamontowano po to, aby

wymusić prawidłowe ułożenie dłoni.

Rysunek 2.3. Patent Sidlauskasa D.P. z 1988 roku [10]. Urządzenie wykorzystuje lustra w celu uzyskania

trójwymiarowego profilu dłoni.

Jedenaście lat później A.K. Jain i A. Ross zaprezentowali prototypowy system

weryfikujący geometrię ludzkiej dłoni (rysunek.2.4) [4]. Jak łatwo zauważyć jest on bardzo

podobny do patentu Sidlauskasa i również wykorzystuje trójwymiarowy profil dłoni.

Rysunek 2.4. Prototypowy system opisany przez Jain A.K. w 1999 roku. Jest unowocześnioną wersją patentu

z 1988 roku. Dodano piąty kołek wymuszający ułożenie dłoni, powiększono też lustro. Na zdjęciu z prawej strony

pokazano szesnaście osi wzdłuż których wykrywane są poszczególne długości [4].

W systemie tym wprowadzono wiele ulepszeń i modyfikacji w stosunku do pierwowzoru.

Dodano piąty kołek wymuszający ułożenie kciuka na stoliku. Dzięki takiemu posunięciu

Page 10: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

2. System biometryczny

10

wyeliminowano błędy, w których nieprawidłowe położenie kciuka przysłaniało odbity obraz.

Dodatkowo, umożliwiło to powiększenie lustra i w konsekwencji odbijana jest większa

powierzchnia dłoni. Odbicie obejmuje początek kości nadgarstka aż do paliczków dalszych

palców wskazującego i środkowego.

W tym systemie wykrywane jest szesnaście odległości pokazanych na rysunku 2.4. Są

to np. F3 – szerokość palca wskazującego w drugim paliczku, F10 – długość palca

środkowego, F16 – grubość palców w trzecim paliczku. Zestaw takich cech tworzy wektor,

który jest zapisywany i przetwarzany w bazie danych.

2.4. Procesy biometryczne

Posługując się systemem biometrycznym wykorzystuje się szereg procesów,

umożliwiających jego działanie. Najważniejszymi procesami biometrycznymi są: rejestracja

biometryczna, identyfikacja biometryczna i weryfikacja biometryczna.

2.4.1. Rejestracja biometryczna

Rejestracja biometryczna jest procesem odpowiedzialnym za zapisywanie rekordów

wraz z biometrykami w bazie danych [1, 12]. Zostaną utworzone szablony z próbek

biometrycznych, przy czym jeden szablon może zawierać kilka próbek biometrycznych. Jest

to ważny proces z tego względu, że dobór biometryk wzorcowych ma wpływ na działanie

całego systemu biometrycznego. Źle dobrane próbki biometryczne rzutują na niską

skuteczność podczas procesów identyfikacji i weryfikacji biometrycznej. Rysunek 2.5

przedstawia proces rejestracji biometrycznej.

Rysunek 2.5. Rejestracja biometryczna. Wraz z biometryką podane są dodatkowe informacje. Dane te posłużą do

zbudowania szablonu biometrycznego i późniejszego wydania karty inteligentnej.

Page 11: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

2. System biometryczny

11

Istnieją dwa podstawowe typy rejestracji biometrycznej:

Rejestracja pozytywna, podczas której tworzy się bazę danych uprawnionych

użytkowników. Utworzona baza danych może być wykorzystywana podczas

identyfikacji i weryfikacji pozytywnej.

Rejestracja negatywna, ma na celu zbudowanie bazy danych nieuprawnionych

użytkowników. Utworzona baza danych jest używana podczas identyfikacji

negatywnej.

Podczas tworzenia szablonów biometrycznych wraz z próbkami biometrycznymi są

zapisywane dodatkowe informacje, jak np. imię, nazwisko, kod PIN. Niektóre z tych

informacji mogą zostać przekazane użytkownikowi w postaci np. hasła dostępu albo karty

inteligentnej.

2.4.2. Identyfikacja biometryczna

Identyfikacja biometryczna polega na znalezieniu określonej tożsamości, wyłącznie na

podstawie przedstawionej biometryki [8, 11, 12]. Biometryka wejściowa jest porównywana

z biometrykami wzorcowymi, znajdującymi się w bazie danych, w celu odnalezienia

najbardziej podobnego wzorca. Podczas procesu identyfikacji przeszukiwane są wszystkie

wzorce znajdujące się w bazie danych. Jest to porównanie 1 do N, gdzie N to liczba wzorców

w bazie danych [1]. Proces identyfikacji przedstawia rysunek 2.6. Identyfikacja może być

procesem długotrwałym w zależności od wielkości bazy danych.

Rysunek 2.6 . Identyfikacja biometryczna. Poszukiwana biometryka porównywana jest ze

wszystkimi rekordami w bazie danych [1] .

Page 12: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

2. System biometryczny

12

Biometryczny system identyfikacji może być wykorzystywany w dwóch odmiennych

trybach:

Identyfikacji pozytywnej, polegającej na ustaleniu czy poszukiwana osoba znajduje

się w bazie danych. Podczas tego scenariusza można popełnić błędy, takie jak

niesłuszna akceptacja (FA – False Accept) i niesłuszne odrzucenie (FR– False Reject)

[1, 11]. FA powoduje dostęp intruza do systemu, FR jest przyczyną odrzucenia

prawowitego użytkownika. Błędy te występują również w systemach weryfikacji.

Identyfikacji negatywnej (screening), polegającej na ustaleniu czy poszukiwana

osoba nie znajduje się w bazie danych. W tym przypadku błędy jakie można popełnić

to niesłuszna negacja (FN – False Negative) i niesłuszne potwierdzenie (FP – False

Positive). FN to nie znalezienie zgodności, FP to błędne wykrycie zgodności.

2.4.3. Weryfikacja biometryczna

Weryfikacja biometryczna różni się od identyfikacji biometrycznej tym, że oprócz

przedstawianej biometryki, okazuje się również dodatkową informacje (np. kod PIN) [8, 11].

Ta dodatkowa informacja pozwala na jednoznaczne wskazanie biometrycznego szablonu

przechowywanego w bazie danych. Dzięki temu nie jest konieczne przeszukiwanie całej bazy

danych jak to miało miejsce w procesie identyfikacji. Wskazany szablon biometryczny jest

następnie porównywany z przedstawioną, wejściową próbką biometryczną [1]. Weryfikacja

biometryczna została przedstawiona na rysunku 2.7. Proces weryfikacji biometrycznej to

porównanie 1 do 1, przez co jest to operacja szybka i wielkość bazy danych nie ma ujemnego

wpływu na czas wykonania.

Rysunek 2.7. Weryfikacja biometryczna. Weryfikacji podlega próbka wejściowa z jednym szablonem z bazy

danych. Dodatkowa informacja pozwala na porównanie 1:1 [1].

Page 13: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

2. System biometryczny

13

Podczas weryfikacji biometrycznej mogą wystąpić błędy niesłusznej akceptacji FA

lub niesłusznego odrzucenia FR, tak jak to ma miejsce podczas pozytywnej identyfikacji

biometrycznej. Weryfikacja biometryczna jest bezpieczniejsza aniżeli identyfikacja

biometryczna z oczywistych względów. Podczas weryfikacji zawęża się liczba szablonów

przy których można popełnić błąd do jednego. Minusem procesu weryfikacji biometrycznej

jest konieczność posiadania szablonu biometrycznego na karcie inteligentnej i konieczność

jego okazywania przed pobraniem nowej próbki biometrycznej.

2.5. Analiza zgodności biometrycznej dłoni

W celu zweryfikowania zgodności dłoni, porównuje się wektory otrzymane z próbek

biometrycznych [11]. Pierwszy wektor jest obliczony na podstawie nowej biometryki, a drugi

pobierany jest z bazy danych. W bazie danych często, jako jeden szablon, zapisane jest kilka

biometryk. Na podstawie wektorów tych biometryk oblicza się średnią i w ten sposób

powstaje nowy szablon (wektor z uśrednionych wartości).

W systemach geometrii dłoni badano cztery różne metryki odległości [1, 4]:

Odległość bezwzględna:

|𝑞𝑗− 𝑟𝑗| < 𝜖𝑎

𝑑

𝑗=1

(2.1)

Odległość bezwzględna ważona:

|𝑞

𝑗− 𝑟𝑗|

𝜎𝑗

< 𝜖𝑤𝑎

𝑑

𝑗=1

(2.2)

Odległość euklidesowa:

(𝑞𝑗− 𝑟𝑗)

2

𝑑

𝑗=1

< 𝜖𝑒

(2.3)

Odległość euklidesowa ważona:

(𝑞

𝑗− 𝑟𝑗)

2

𝜎𝑗2

𝑑

𝑗=1

< 𝜖𝑤𝑒

(2.4)

Page 14: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

2. System biometryczny

14

Pozostałe wzory:

Wariancja j-tej cechy:

𝜎2 =1

𝑛 (𝑥𝑖 − 𝑥)2

𝑛

𝑖=1

(2.5)

Średnia arytmetyczna j-tej cechy:

𝑥 =1

𝑛 𝑥𝑛

𝑛

𝑖=1

(2.6)

Oznaczenia:

Q = (q1,q2,…,qd) – wektor cech biometryk, których tożsamość jest weryfikowana.

R = (r1,r2,…,rd) – wektor cech biometryk w bazie danych

d – liczba cech w wektorach

n – liczba biometryk składających się na jeden szablon w bazie

danych

σ2 – jest wariancją j-tej cechy dla wszystkich zarejestrowanych

szablonów z bazy danych, obliczana jest za pomocą wzoru (2.5)

𝑥 – jest wartością średnią poszczególnych cech dla wszystkich

biometryk w jednym szablonie (wzór 2.6)

Weryfikacja osiągnie pozytywny wynik w momencie, gdy odległość pomiędzy R i Q będzie

mniejsza od wartości progowej. Wartość progowa dla poszczególnych metryk odległości

oznaczona jest symbolami: 𝜖𝑎 , 𝜖𝑤𝑎 , 𝜖𝑒 , 𝜖𝑤𝑒 (wzory od (2.1) do (2.4)). W przypadku systemu

geometrii dłoni [4] najlepsze wyniki uzyskano z wykorzystaniem ważonej metryki

euklidesowej [1].

Przedstawiona analiza zgodności opiera się na progu i wykorzystuje punktacje przy

porównywaniu dwóch dłoni. Im mniejszy wynik punktowy, tym dwie biometryki są bardziej

podobne do siebie. Osiągnięcie punktacji równej zeru oznaczałoby, że dwie dłonie są

identyczne (identyczne w miejscach mierzonych cech). Teoretycznie taka sytuacja jest bardzo

mało prawdopodobna. Może się jednak zdarzyć przy bardzo małej długości wektora

mierzonych cech. Dlatego też, systemy biometryczne oparte na punktacji mierzą stosunkowo

wiele cech (prototyp na rysunku 2.4 wykorzystuje szesnaście różnych cech). Osiągnięcie

wysokiej punktacji oznacza, że dwie dłonie różnią się od siebie. Im większy wynik

porównania, tym biometryki zawierają więcej różnic.

Page 15: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

2. System biometryczny

15

Jak widać na rysunku 2.8 wektory cech biometryk oszustów posiadają większe

odchylenie, niż wektory cech biometryk zarejestrowanych użytkowników. Obie gęstości

prawdopodobieństwa nachodzą na siebie co jest przyczyną błędów biometrycznych [14].

Rysunek 2.8. Wykres zależności gęstości prawdopodobieństwa w funkcji odchylenia między wektorami cech

użytkownika zarejestrowanego i oszusta [14].

Rozkłady gęstości prawdopodobieństwa dla systemu biometrycznego odzwierciedla

krzywa Gaussa. Niewielki odsetek zarejestrowanych użytkowników będzie miał duże

wartości odchylenia cech lub bardzo niskie wartości odchylenia tychże cech. Wartość średnia

będzie mieściła się mniej więcej pośrodku, pomiędzy wartościami skrajnymi. Sytuacja jest

bardzo podobna jeśli chodzi o oszustów z tą różnicą, że cały wykres zostaje przesunięty

w kierunku większych wartości odchylenia cech.

W systemie biometrycznym opartym na punktacji wykorzystuje się wszystkie

powyższe właściwości, odpowiednio manipulując progiem (rysunek 2.8). Nisko ustawiony

próg powoduje, że system jest bezpieczniejszy (mniejsza liczba intruzów zdoła dostać się do

systemu). Wzrośnie jednak częstość niesłusznych odrzuceń FR czyli FRR (False Reject Rate).

System będzie tak rygorystyczny, że niewielkie różnice w wektorach cech spowodują

odrzucenie prawowitego użytkownika. Gdy próg ustawiony zostanie za wysoko, wzrośnie

częstość niesłusznych akceptacji FA czyli FAR (False Accept Rate). Zaletą wysoko

ustawionego progu jest to, że system biometryczny będzie szybszy [1].

Każdy system biometryczny oparty na progu należy początkowo poddać różnym

testom biometrycznym i określić pożądaną wartość progu. Podczas pracy systemu próg

można zmieniać w zależności od tego czy chcemy uzyskać większe bezpieczeństwo systemu,

czy większą szybkość działania.

Page 16: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

16

3. PROJEKT SYSTEMU GEOMETRII DŁONI

Zadaniem niniejszej pracy inżynierskiej było napisanie programu, do określania cech

charakterystycznych dłoni i identyfikacji osobniczej. Praca została jednak rozwinięta w takim

stopniu, że powstał kompletny system biometryczny wykorzystujący geometrię dłoni. Oprócz

samego programu, zaprojektowane i zbudowane zostały odpowiednie urządzenia na potrzeby

przeprowadzanego eksperymentu biometrycznego. Zbudowany system składa się z kilku

części składowych:

Stolik biometryczny wymuszający odpowiednie ułożenie dłoni.

Stanowisko z odpowiednim czytnikiem i oświetleniem, umożliwiające pobranie

próbek biometrycznych.

Program komputerowy, dzięki któremu zebrane biometryki zostały odpowiednio

przetworzone i przeanalizowane. Program zawiera ekstraktor cech biometrycznych,

bazę danych oraz komparator biometryczny.

System, zaprezentowany w tym rozdziale, bazuje na systemach znanych z literatury

i częściowo opisanych w poprzednim rozdziale [4, 10, 13]. Ze względu na bardzo niewielką

ilość dostępnego piśmiennictwa dotyczącego geometrii dłoni, zbudowany system jest

systemem prototypowym i eksperymentalnym.

3.1. Cel i założenia przy budowie systemu

Nadrzędnym celem zaprojektowanego i zbudowanego systemu było osiągnięcie jak

najlepszych rezultatów w procesach biometrycznych: identyfikacji i weryfikacji

biometrycznej. Dlatego też, wszystkie etapy budowy systemu musiały być przeprowadzane

bardzo dokładnie, począwszy od budowy stolika biometrycznego, aż do napisania programu

przetwarzającego biometryki. Krytycznym punktem całego eksperymentu było zbieranie

próbek biometrycznych, które wymagało największej precyzji i uwagi. Było to o tyle trudne

z tego względu, że próbki były zbierane od wielu osób. Bardzo ważna była, w późniejszym

etapie pracy, odpowiednia kalibracja programu komputerowego ze stolikiem biometrycznym.

Bez tego program nie działałby poprawnie (napisany program wykorzystuje cechy

specyficzne stolika takie jak ułożenie kołków czy lusterka).

Podsumowując powyższy akapit, aby osiągnąć jak najlepsze wyniki eksperymentów

biometrycznych należy wykonać wszystkie kroki budowy systemu z dużą dokładnością.

Dodatkowo, w taki sposób, aby każdy element systemu współpracował z pozostałymi i aby

wszystkie tworzyły spójną całość.

Page 17: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

17

3.2. Budowa stolika biometrycznego

Stolik biometryczny, wykorzystujący geometrię dłoni, powstał w celu zebrania próbek

biometrycznych dłoni. Był niezbędnym elementem systemu, przez swoją współpracę

z czytnikiem biometrycznym i programem ekstrakcji cech biometrycznych. Został on

wykonany własnoręcznie, „domowymi” sposobami (rysunek 3.1). Urządzenie składa się z:

Podstawy o jasnym kolorze, na której układa się dłoń w celu zebrania biometryki.

Sześciu metalowych kołków wymuszających prawidłowe ułożenie palców.

Lusterka skierowanego pod kątem około 45o do podstawy stolika.

Ścianki bocznej w jasnym kolorze, takim samym jak podstawa stolika.

Rysunek 3.1. Stolik biometryczny pozwalający zbierać próbki biometryczne geometrii dłoni. Urządzenie zostało

wykonane z wykorzystaniem bardzo prostych narzędzi i środków. Koszt całego stolika nie przekroczył 10 PLN.

Podstawa stolika, w miejscu ułożenia dłoni, ma 21 cm szerokości, 26 cm długości i 8,5

cm wysokości (wysokość ścianki bocznej). Gabaryty stolika zostały dobrane na podstawie

obserwacji wysokości i szerokości dłoni kilku osób. Ostatecznie, wszystkie wymiary

dopasowano do największej zaobserwowanej dłoni, dodając kilka centymetrów zapasu.

Ścianka boczna odbijająca się w lusterku jak i podstawa stolika mają kolor biały.

Umożliwiło to wykonanie binaryzacji, podczas przetwarzania wstępnego biometryk. Program

operuje na bitmapach, wykorzystując przestrzeń barw RGB (więcej na ten temat

w rozdziale 3.4.2). Barwa biała jest skrajną wartością tej przestrzeni, przez co łatwiej ustawić

próg binaryzacji tak, aby wynikowy obraz nie uwzględniał tła. Dłoń ma zupełnie inny kolor

niż tło i podczas binaryzacji mieści się w granicach progu.

W stoliku zainstalowano sześć metalowych kołków (wykonanych z przyciętych śrub)

w celu wymuszenia prawidłowego ułożenia dłoni i palców podczas pobierania próbki. Kołki

zostały przymocowane do stolika, przez wywiercenie otworów w podstawie i zespolenie

Page 18: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

18

elementów klejem polimerowym. Ułożenie kołków przedstawia rysunek 3.2. Dwa kołki

zaznaczone okręgiem można zamienić jednym dużym kołkiem. Jednak ostatecznie, nie udało

się zdobyć odpowiedniego elementu.

Rysunek 3.2. Stolik biometryczny (widok z góry) z kołkami pomiędzy którymi układa się palce. Na zdjęciu

z prawej strony pokazano prawidłowe ułożenie dłoni i palców na stoliku.

Układ kołków został dobrany na podstawie obserwacji dłoni różnych osób. Na kartce

papieru odrysowano kontury dłoni o różnych gabarytach i uzyskany rysunek stał się podstawą

do rozstawienia kołków. Przykładowe nałożenie zdjęć dłoni czterech różnych osób

przedstawia rysunek 3.3.

Rysunek 3.3. Nałożenie czterech różnych dłoni. Każda z dłoni zaznaczona jest innym kolorem (czerwony, zielony,

niebieski i żółty). Trzy górne warstwy mają włączoną przezroczystość, aby pokazać pozostałe warstwy,

umieszczone poniżej.

Zadaniem lusterka widocznego na rysunkach 3.1, 3.2 i 3.3 jest odbicie bocznej

krawędzi dłoni wprost w obiektyw aparatu (czytnik biometryczny). Lustro skierowane jest

Page 19: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

19

pod kątem nieco większym niż 45o do powierzchni stolika. Kąt nachylenia lustra jest większy

z tego względu, że aparat robiący zdjęcia był ustawiony nad kołkami, a nie nad lusterkiem.

Wielkość lusterka jest dopasowana do ścianki bocznej stolika w taki sposób, aby całe odbicie

w lustrze było na białym tle ścianki bocznej.

3.3. Zbieranie biometryk

Zebranie bazy próbek biometrycznych nie jest zadaniem łatwym. Ważne jest, aby

próbki były zebrane dokładnie, co umożliwi późniejsze skonstruowanie poprawnej bazy

danych w procesie rejestracji biometrycznej (rozdział 2.4.1).

Docelowo planowano zebranie 500 próbek biometrycznych dłoni, po 10 próbek od

każdej z 50 osób. W ostatecznym rozrachunku, zebrano 520 próbek dłoni, od 52 osób, po 10

próbek od każdej osoby.

3.3.1. Przygotowania wstępne eksperymentu

Przed przeprowadzeniem procedury zbierania biometryk należało przygotować

stanowisko pomiarowe. W tym celu przymocowano stół do podłogi i do ścian za pomocą

dwustronnej taśmy klejącej. Na stole umieszczono stolik biometryczny, przyklejając go taśmą

i dodatkowo mocując ściskami stolarskimi. Początkowa postać stanowiska pokazana jest na

zdjęciu 3.4, a kompletne stanowisko ilustruje zdjęcie 3.5.

Rysunek 3.4. Wstępne przygotowania stanowiska do zbierania biometryk. Na zdjęciu widać etap centrowania

lustrzanki cyfrowej nad miejscem zbierania próbek. Elementy konstrukcji nie są jeszcze przymocowane na stałe

taśmą klejącą ani ściskami stolarskimi.

Jako czytnika biometrycznego użyto lustrzanki cyfrowej EOS 40D firmy Canon.

Ogromną zaletą tej lustrzanki jest to, że można ją wyzwalać z komputera podłączonego przez

Page 20: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

20

gniazdo USB (Universal Serial Bus). Dzięki temu, nie zmieniała się pozycja aparatu i zebrane

zdjęcia były fotografowane z tego samego miejsca. Ręczne wyzwalanie lustrzanki, poprzez

przycisk na obudowie, powodowałoby każdorazowe przesunięcie aparatu.

Lustrzanka, podłączona kablem USB do komputera, została zamocowana na statywie.

Statyw uprzednio przymocowano taśmą klejącą do stołu. Obiektyw skierowano w dół,

centralnie nad kołki stolika biometrycznego.

Bardzo ważnym aspektem podczas eksperymentu okazało się prawidłowe naświetlenie

stolika geometrii dłoni. Jak się okazało, był to jeden z najdłuższych etapów wstępnych

przygotowań (trwał prawie dwie godziny). Cienie powstawały przez zainstalowane kołki

i dłonie układane na stoliku. Prawidłowe naświetlenie stolika, miało na celu wyeliminowanie

padających cieni i zlikwidowanie błędów procesu binaryzacji. Cienie na obrazach próbek

tworzyły zakłamania poprzez powiększanie powierzchni dłoni (rysunek 3.6 i 3.7).

Naświetlając instalację wykorzystano sześć źródeł światła (rysunek 3.5). Dwa z nich odegrały

Rysunek 3.5. Kompletne stanowisko do pobierania biometryk kształtu dłoni. Wszystkie elementy są nieruchome

i przymocowane na stałe. Stolik oświetlony został sześcioma źródłami światła.

kluczową rolę, dzięki białej barwie światła jaką świeciły. Taka barwa, w połączeniu z białym

kolorem stolika, najlepiej usuwała powstające cienie. Źródła światła barwy żółtej dużo gorzej

naświetlały stolik biometryczny i słabiej usuwały zacienione obszary. Cała trudność podczas

ustawiania światła polegała na tym, że źródła światła były stosunkowo słabe i ich

niepoprawne ustawienie zamiast usuwać cienie dodawało nowe. Problemem było też, dobre

Page 21: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

21

doświetlenie podstawy stolika przy jednoczesnym, dobrym naświetleniu ścianki bocznej.

Przykłady prawidłowo i nieprawidłowo naświetlonych próbek zdjęć dłoni ukazane są na

rysunkach numer 3.6 i 3.7.

Rysunek 3.6. Dłoń ułożona na stoliku biometrycznym i jej obraz po binaryzacji. Naświetlenie stolika jest

prawidłowe, gdyż uzyskany obraz binarny posiada czytelne i nierozmazane kontury ukazujące kształt dłoni.

Biometryka zebrana prawidłowo.

Rysunek 3.7. Dłoń ułożona na stoliku biometrycznym i jej obraz po binaryzacji. Tym razem naświetlenie stolika

jest nieprawidłowe gdyż powstało wiele niepożądanych cieni. Przez to, na obrazie binarnym nie da się

wyodrębnić kształtu dłoni. Jest to niepoprawnie zebrana biometryka.

3.3.2. Przebieg pobierania próbek biometrycznych

Pobranie całego zestawu 520 próbek zdjęć dłoni odbyło się jednego dnia, w takich

samych warunkach (opisywana faza eksperymentu trwała około siedmiu godzin). Zarówno

oświetlenie jak i konfiguracja ustawień aparatu i stolika biometrycznego nie uległy zmianie

podczas trwania eksperymentu. Po ustawieniu i przymocowaniu wszystkich elementów

stanowiska pomiarowego, podłączono lustrzankę cyfrową do komputera w celu pobrania

zdjęć próbnych. Próbne zdjęcia pokazały, że należy skorygować ostrość aparatu i subtelnie

poprawić oświetlenie całego fotografowanego otoczenia.

Page 22: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

22

Gdy już wszystko było gotowe, zaczęto pobieranie zestawu dziesięciu próbek

biometrycznych od każdej osoby (rysunek 3.8). Każda z 52 osób została poproszona

o wykonanie następującej procedury pobierania próbki:

Zajęcie miejsca na stabilnym krześle przy stanowisku pomiarowym. Podczas odczytu

próbki nadgarstek był wyprostowany. Powodowało to, jednakowy nacisk podczas

układania dłoni na powierzchni stolika (niezależnie od wzrostu badanej osoby).

Ułożenie rozluźnionej dłoni na stolik biometryczny z umieszczeniem palców

pomiędzy kołkami. Palce powinny leżeć płasko na stoliku, dotykając w całości jego

powierzchni. Gdy palce są zgięte, nastąpi błędnie zebranie biometryki, przez

przekłamanie długości palców, jak i wysokości całej dłoni (odbicie w lustrze).

Dosunięcie poszczególnych palców do wszystkich kołków stolika. Podczas tej

czynności nie było wymagane użycie siły, które mogło (zależnie od nacisku)

nieznacznie zmieniać kształt dłoni.

Podniesienie ręki ze stolika i rozluźnienie mięśni dłoni przez poruszanie palcami

i nadgarstkiem. Miało to symulować niezależność ułożeń ręki na stoliku podczas

kolejnych pomiarów.

Cała powyższa procedura (z wyjątkiem powtórnego siadania na krześle) była powtarzana

dziesięć razy przez każdą z badanych osób. Podczas eksperymentu, zdarzyło się kilka

nieprawidłowo zebranych biometryk. Było to powodem do powtórnego pobrania próbek.

Rysunek 3.8. Pobieranie próbki biometrycznej. Należało uważać, aby nie poruszyć żadnego z elementów

stanowiska biometrycznego. Przesunięcie jakiejkolwiek części mogła doprowadzić do konieczności ponownej

korekty ustawień oświetlenia i aparatu fotograficznego.

Pomimo dołożenia wszelkiej uwagi podczas procedury pobierania próbek geometrii

dłoni, w zebranej bazie danych, znalazły się próbki nieprawidłowe. Błędy wynikają

z niepoprawnego ułożenia palców przy kołkach i na powierzchni stolika (zdjęcie 3.9).

Page 23: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

23

Rysunek 3.9. Przykład błędnego ułożenia dłoni. Palce nie są dosunięte do kołków zainstalowanych w podstawie

stolika. Przedstawione na zdjęciu ułożenie dłoni celowo wyolbrzymia błąd. Błędne biometryki, zebranej bazy

danych zawierają dużo mniejsze pomyłki.

3.4. Program komputerowy

Napisany program służy do rozpoznawania cech szczególnych dłoni, poprzez

odnajdywanie zestawu dziewiętnastu długości specyfikujących daną dłoń. Zestaw ten tworzy

wektor zapisany i przetwarzany w bazie danych programu. Stworzona baza danych pozwala

na wykonywanie operacji weryfikacji i identyfikacji biometrycznej. Aplikacja złożona jest

z kilku części składowych:

Ekstraktor cech, współpracujący z opisanym we wcześniejszym rozdziale stolikiem

geometrii dłoni (rozdział 3.2). Zadaniem ekstraktora jest odnalezienie dziewiętnastu

długości charakteryzujących dłoń.

Baza danych próbek biometrycznych, przechowuje wyniki pracy ekstraktora cech

w postaci wektorów. Rekordy bazy danych zawierają wiele dodatkowych informacji

ułatwiających procedury zarządzania bazą.

Komparator biometryczny, który operuje na wzorach i właściwościach

przedstawionych w rozdziale 2.5 w celu porównania odpowiednich wektorów z bazy.

Wynik porównania biometryk jest podstawą do wydawania decyzji o zgodności

biometrycznej próbek.

Dla łatwości obsługi program posiada graficzny interfejs użytkownika, umożliwiający

uzyskanie podstawowych wyników identyfikacji i weryfikacji biometrycznej. Bardziej

zaawansowane wyniki w formie pliku, zapisywane są na dysku.

3.4.1. Opis wykorzystanych narzędzi

Program Geometrii dłoni został napisany w języku C# za pomocą środowiska

Microsoft Visual Studio 2008 Professional Edition. Program został pobrany ze strony

Page 24: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

24

MSDNAA dla wydziału Elektroniki i Telekomunikacji i jest wersją studencką. Język C#

został wybrany ze względu na:

Wbudowaną możliwość operacji na bitmapach. W C# zostały zaimplementowane

odpowiednie klasy (np. System.Drawing.Imaging) i metody (np. SetPixel())

pozwalające na łatwe odczytywanie, modyfikowanie i zapisywanie obrazów

graficznych.

Proste zarządzanie pamięcią za pomocą Garbage Collectora. Ma to ogromne znaczenie

podczas budowania bazy danych zawierającej dużą liczbę plików graficznych.

Serializację danych dzięki której, możliwe jest łatwe zapisanie całej bazy danych i jej

powtórne otworzenie. Wszystkie rekordy bazy danych są wspólnie zapisywane do

pliku niezależnie od ich formatu.

Prostotę w budowaniu graficznego interfejsu użytkownika. C# zawiera gotowe

elementy umożliwiające wyświetlanie grafik, tworzenie przycisków czy pól

tekstowych.

Jeśli chodzi o wybór środowiska MS Visual Studio 2008 to zostało ono wybrane, przede

wszystkim ze względu na obsługę języka C#. Jest to też środowisko darmowe na licencji

studenckiej. Ogromną zaletą MS Visual Studio jest rozbudowany moduł umożliwiający

debugowanie programów w czasie ich działania.

Podczas pobierania próbek biometrycznych wykorzystano oprogramowanie dołączone

do zastosowanej lustrzanki firmy Canon. Umożliwiało ono zdalne wyzwalanie aparatu.

Po zebraniu bazy próbek biometrycznych, przetworzono wszystkie dzięki operacjom

wsadowym zaimplementowanym w programie IrfanView 4.25. Jest to darmowy program

z wyłączeniem zastosowań komercyjnych.

3.4.2. Przetwarzanie wstępne

Pierwszym krokiem jaki należało wykonać po zebraniu bazy 520 próbek

biometrycznych było ich przycięcie, obrócenie i skompresowanie. Obrazy uzyskane z aparatu

fotograficznego miały rozmiar 2816 na 1880 punktów obrazu. Poprawna analiza obrazów

dłoni nie wymaga tak dużej rozdzielczości, dlatego też obrazy zmniejszono do rozmiarów

1000 na 900 punktów obrazu. Dokonano tego przez docięcie obrazu i jego późniejsze

przeskalowanie. Wynikowy obraz dłoni, dla celów estetycznych, przekręcono o 180o (dłoń

jest wtedy skierowana palcami ku górze). Obraz przed przetworzeniem i obraz wynikowy

widoczne są na rysunku 3.10. Przed modyfikacją zdjęć jeden obraz zajmował około 1,30–1,40

MB po dodatkowej kompresji formatu JPEG pojedyncze obrazki zajmują około 130– 140 KB,

Page 25: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

25

czyli 10 razy mniej. Do powyższych operacji użyto programu IrfanView w wersji 4.25.

Pozwalał on na zautomatyzowane przetworzenie wszystkich 520 zdjęć.

Rysunek 3.10. Obraz uzyskany z aparatu fotograficznego (po lewej) o rozdzielczości 2816 na 1880 punktów

obrazu i obraz po przetworzeniu do rozdzielczości 1000 na 900 punktów obrazu. Oba obrazy zapisane są

w formacie JPEG jednak drugi poddany jest większej kompresji.

Kolejnym krokiem, przed ekstrakcją cech biometrycznych, jest binaryzacja obrazu.

Obraz binarny (czarno – biały) jest wystarczający podczas odnajdywania cech geometrii

dłoni. W trakcie analizy biometryki interesujący jest wyłącznie jej kształt. Jak już wcześniej

wspomniano w rozdziale 2.3, podczas analizy geometrii dłoni nie wykorzystuje się ani barwy

skóry, ani bruzd czy innych cech szczególnych dłoni. Ważne są jedynie poszczególne

długości uzyskiwane podczas pomiarów (szczegółowo opisane w rozdziale 3.4.3). Po

binaryzacji, dłoń jest reprezentowana przez czarne punkty obrazu, a jej otoczenie przez białe

punkty. Przykład na rysunku 3.6 (prawa strona).

Rysunek 3.11. Sześcian kolorów RGB (Red - Green - Blue). Konkretna barwa powstaje przez mieszanie trzech

barw składowych: czerwonej (R), zielonej (G) i niebieskiej (B) w określonych proporcjach [16].

Program Geometrii Dłoni operuje na bitmapach w przestrzeni barw RGB (Red - Green

- Blue) pokazanej na rysunku 3.11. W programie, w przetwarzanych obrazach, stosowany jest

24 bitowy zapis koloru po 8 bitów na każdą z barw składowych. Dzięki temu, każda składowa

może przyjmować wartości od 0 do 255. Barwa biała powstaje poprzez zmieszanie kolorów

Page 26: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

26

czerwonego, zielonego i niebieskiego z maksymalnymi wartościami równymi 255 (na

rysunku oznaczone przez 1). Barwa czarna jest uzyskiwana przez zmieszanie wszystkich

trzech barw składowych z wartościami równymi 0.

Reprezentacja barw RGB została wykorzystana w procesie binaryzacji obrazu.

Binaryzacja zredukowała reprezentację kolorów do dwóch: czarnego reprezentowanego przez

0 i białego reprezentowanego przez 1. Fragment kodu programu odpowiedzialnego za

binaryzację, przedstawia listing 3.1.

unsafe

{

//znajduje poczatek tablicy w pamieci

byte* ptr = (byte*)obraz_w_pamieci.Scan0;

byte prog = 145; //prog binaryzacji

for (int y = 0; y < obraz.Height; y++)

{

for (int x = 0; x < obraz.Width; x++)

{

//porownanie z progiem

if ((ptr[0] + ptr[1] + ptr[2]) / 3 > prog)

//kolor bialy

ptr[0] = ptr[1] = ptr[2] = 255;

else

//kolor czarny

ptr[0] = ptr[1] = ptr[2] = 0;

//przesunięcie wskaznika

ptr += 3;

}

}

}

Listing 3.1. Fragment kodu odpowiedzialny za binaryzację obrazu. W programie, próg o wartości 145 został

dobrany na podstawie obserwacji obrazów wynikowych przy różnych wartościach progu.

Kod z listingu 3.1 działa z wykorzystaniem wskaźników. Aby było to możliwe

w języku C#, należało wskazać miejsce wykorzystania wskaźników słowem kluczowym

unsafe. Wskaźnik ptr jest ustawiany na początek tablicy w pamięci, w której znajduje się

przetwarzany obraz, poleceniem Scan0. Następnie, przesuwany jest po wszystkich punktach

obrazu w dwóch pętlach for(). Informacja o pojedynczym kolorze składowym przestrzeni

barw RGB jest przechowywana na 8 bitach (rysunek 3.12). W jednym punkcie obrazu istnieją

trzy kolory składowe RGB. Dlatego też, wskaźnik ptr przesuwa się co 3 bajty, powodując

przejście do kolejnego punktu obrazu. Wskaźnik z odpowiednim indeksem ptr[0], ptr[1],

ptr[2] wskazuje na poszczególną składową RGB, odpowiednio: R, G, B. Dopełnienie

widoczne na rysunku 3.12 jest konieczne, gdy pojedynczy wiersz danych nie jest

Page 27: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

27

wielokrotnością czterech bajtów [15]. W instrukcji warunkowej if() listingu 3.1 następuje

sprawdzenie czy wartość średnia trzech składowych RGB, jest większa od zadanego progu.

Jeśli tak, to wszystkie składowe RGB przyjmują wartość 255 co w rezultacie da kolor biały.

W przeciwnym wypadku składowe RGB uzyskują wartość 0, czego wynikiem będzie kolor

czarny. Przykładowe wartości obrazów po binaryzacji przy różnych wartościach progu

przedstawia rysunek 3.13.

Rysunek 3.12. Wektorowa reprezentacja próbek w obrazie 24 bitowym. Jedna próbka obrazu reprezentowana

jest przez trzy składowe RGB. Jedna składowa RGB zajmuje jeden bajt pamięci [15].

Rysunek 3.13. Ten sam obraz po procesie binaryzacji, przy różnych wartościach progu. Pierwszy obraz z lewej

został poddany binaryzacji przy progu równym 90, środkowy przy 145 a prawy przy 180. Z binarnych obrazów

po lewej i prawej stronie nie udało się uzyskać kształtu dłoni. Poprawny jest obraz środkowy zbinaryzowany przy

progu 90.

3.4.3. Ekstrakcja cech biometrycznych

Zasadniczą częścią stworzonego programu geometrii dłoni jest ekstrakcja cech

biometrycznych. Ekstraktor cech posługuje się obrazami binarnymi opisanymi w rozdziale

3.4.2. Kształt dłoni jest identyfikowany w programie dzięki czarnym punktom obrazu

binarnego. Celem działania ekstraktora cech jest znalezienie i obliczenie dziewiętnastu

Page 28: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

28

długości wymienionych w tabeli 3.1 i przedstawionych na rysunku 3.14. Jednostką długości

podczas obliczeń jest punkt obrazu.

Tabela 3.1. Zbiór cech dłoni, odnajdywanych przez ekstraktor cech programu geometrii dłoni. Niektóre

z wymienionych poniżej cech, przy pewnych specyficznych biometrykach dłoni, odnajdywane są w innych

miejscach niż w opisie.

Numer cechy Badana cecha dłoni

1 Długość palca wskazującego

2 Długość palca środkowego

3 Długość palca serdecznego

4 Długość palca małego

5 Szerokość dłoni bliżej podstawy palców

6 Szerokość dłoni bliżej nadgarstka

7 Szerokość palca wskazującego w paliczku dalszym

8 Szerokość palca wskazującego w paliczku środkowym

9 Szerokość palca wskazującego w paliczku bliższym

10 Szerokość palca środkowego w paliczku dalszym

11 Szerokość palca środkowego w paliczku środkowym

12 Szerokość palca środkowego w paliczku bliższym

13 Szerokość palca serdecznego w paliczku dalszym

14 Szerokość palca serdecznego w paliczku środkowym

15 Szerokość palca małego w paliczku dalszym

16 Szerokość palca małego w paliczku środkowym

17 Szerokość kciuka pomiędzy paliczkami dalszym a środkowym

18 Grubość palców bliżej paliczka dalszego

19 Grubość palców bliżej paliczka środkowego

Rysunek 3.14. Biometryka dłoni po ekstrakcji 19 cech opisanych w tabeli 3.1 (lewa strona). Z prawej strony

ukazane jest zdjęcie rentgenowskie [5] dłoni, na której widać badane przez ekstraktor paliczki palców. Paliczki

to kości wchodzące w skład palców. Palce, za wyjątkiem kciuka, mają po trzy paliczki: bliższy, środkowy

i dalszy. Kciuk nie ma paliczka środkowego [6].

Page 29: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

29

Ekstrakcja cech pojedynczej dłoni jest operacja szybką, czas jej wykonania jest

mniejszy od 300 ms. Przykładowe czasy dla różnych dłoni to: 263 ms, 177 ms, 182 ms

i 185 ms. Gdyby cała operacja została wykonywana za pomocą wskaźników, to czasy

działania byłyby niższe, ze względu na większą szybkość operacji wskaźnikowych. Jednak

w programie nie jest wymagana, aż tak duża szybkość. Ostatecznie wybrano prostsze

rozwiązania implementacyjne.

Dla poprawnego działania, stworzonego ekstraktora cech, wymagane jest podanie

pozycji kołków. Dzięki temu, w znaczącym stopniu, ograniczony zostaje obszar poszukiwań

konkretnych palców. Wiadomo po której stronie danego kołka, znajduje się szukana część

dłoni. Początek kodu ekstraktora cech przedstawia listing 3.2. Kołki stolika geometrii dłoni

zostały ponumerowane w sposób przedstawiony na rysunku 3.15. Wartości w nawiasach to

odpowiednio współrzędne x i y obrazka z biometryką.

public void Ekstrakcja_cech()

{

int sizeX = obraz.Width; //szerokosc obrazka

int sizeY = obraz.Height; //wysokosc obrazka

//pozycje kolkow sa stale i nalezy je ustalic przed

uruchomieniem algorytmu

//pozycje srodkow kolkow

Point kolek1 = new Point(528, 438);

Point kolek2 = new Point(468, 294);

Point kolek3 = new Point(544, 294);

Point kolek4 = new Point(690, 294);

Point kolek5 = new Point(802, 414);

Point kolek6 = new Point(342, 558);

Point START = new Point();

Point KONIEC = new Point();

(…)

}

Listing 3.2. Początek kodu ekstrakcji cech. Jest to ważny fragment ze względu na konieczność dokładnej

deklaracji pozycji środków kołków. Położenie kołków optymalizuje procedury poszukiwania palców.

Rysunek 3.15. Rozmieszczenie kołków na stoliku biometrycznym i przypisana im numeracja wykorzystywana

w programie. Rysunek jest wycinkiem całości. Dodatkową informacją są współrzędne kołków (x,y). Punkt (0,0)

znajduje się w lewym górnym rogu obrazka, a punkt (1000,900) w prawym dolnym rogu (koniec obrazka).

Page 30: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

30

Głównym pomysłem wykorzystywanym w procesie poszukiwania długości

wymienionych w tabeli 3.1 i przedstawionych na rysunku 3.14, jest zastosowanie równania

funkcji liniowej (wzór 3.1). Użycie tej funkcji, podczas ekstrakcji cech, ograniczyło obszar

poszukiwań kształtu dłoni do punktów znajdujących się na prostej. Punkty znajdujące się

wokół prostej, nie są brane pod uwagę. Jest to powodem znacznego przyspieszenia

poszukiwań, gdyż nie trzeba analizować wszystkich punktów obrazu danej biometryki (jedno

zdjęcie z próbką biometryczną posiada 1000 na 900 punktów obrazu).

Równanie prostej w postaci kierunkowej:

𝑦 = 𝑎𝑥 + 𝑏 (3.1)

Równanie na długość odcinka:

𝐴𝐵 = 𝑥𝐵 − 𝑥𝐴 2 + 𝑦𝐵 − 𝑦𝐴

2 (3.2)

Współrzędne środka odcinka:

𝑥𝐴 + 𝑥𝐵

2,𝑦𝐴 + 𝑦𝐵

2

(3.3)

Oznaczenia:

𝐴 = 𝑥𝐴 , 𝑦𝐴 , 𝐵 = (𝑥𝐵 , 𝑦𝐵) – punkty końców odcinka

𝑎 – współczynnik kierunkowy równy tangensowi konta

nachylenia prostej od osi OX

b – wyraz wolny, rzędna punktu przecięcia się wykresu

funkcji z osią OY

W programie zaimplementowano funkcję szukaj(). Służy ona do poruszania się

wzdłuż prostej opisanej funkcją liniową (listing 3.3), wykorzystując wzór 3.1.

public Point szukaj(Point pkt, double a, double b, kierunek kierunek)

{

switch (kierunek)

{

case kierunek.PRAWO:

{

//odnajdzie czarny obszar, szuka w prawo

while (obraz_bin_odczyt.GetPixel(pkt.X, pkt.Y).G == 255)

{

pkt.X++; //na prawo

pkt.Y = (int)(a * pkt.X + b); //rownanie prostej

obraz_bin_zapis.SetPixel(pkt.X, pkt.Y, Color.Red);

}

}

break;

case kierunek.LEWO:

Page 31: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

31

{

//odnajdzie czarny obszar, szuka w lewo

while (obraz_bin_odczyt.GetPixel(pkt.X, pkt.Y).G == 255)

{

pkt.X--; //na lewo

pkt.Y = (int)(a * pkt.X + b);

obraz_bin_zapis.SetPixel(pkt.X, pkt.Y, Color.Red);

}

}

break;

case kierunek.DOL_START:

{

//odnajdzie czarny obszar, szuka w dol

while (obraz_bin_odczyt.GetPixel(pkt.X, pkt.Y).G == 255)

{

pkt.Y++; //w dol = (int)(a * pkt_.X + b);

pkt.X = (int)((pkt.Y - b) / a);

obraz_bin_zapis.SetPixel(pkt.X, pkt.Y, Color.Red);

}

}

break;

}

return pkt;

}

Listing 3.3. Funkcja szukaj() programu geometrii dłoni. Korzysta ona z równania funkcji liniowej. Współpracuje

ze zmiennymi wyliczeniowymi typu enum (PRAWO, LEWO, DOL_START) dla łatwiejszej obsługi. Metoda

Set.Pixel() wyrysowuje czerwone kreski w miejscach poszukiwań.

Funkcja szukaj() ma na celu odnalezienie pierwszego czarnego punktu obrazu,

wskazującego brzeg dłoni. Sprawdzenie, czy punkt obrazu ma kolor biały (czy jedna ze

składowych RGB jest równa 255) dokonywane jest w instrukcji while. Wynikowe punkty

zwracane przez szukaj(), przypisywane są zmiennym START i KONIEC (listing 3.2),

reprezentującym punkty początku i końca poszukiwanego odcinka. Dzięki tym dwóm

zmiennym, obliczana jest długość odcinka z wykorzystaniem funkcji dl_odcinka()

pokazanej w listingu 3.4 (korzysta ona ze wzoru 3.2 na długość odcinka). Wejściem funkcji

szukaj() są: punkt od którego zacznie się poszukiwanie (zmienna pkt), współczynnik

kierunkowy a, wyraz wolny b oraz kierunek poszukiwań sterujący instrukcją switch().

Poszukiwanie w dół, w przeciwieństwie do poszukiwań w prawo i w lewo, najpierw zmienia

wartość współrzędnej Y, a później X. Ma to na celu uniknięcie błędu w przypadku prostej

pionowej.

public double dl_odcinka(Point a, Point b) //liczy dlugosc odcinka

{

double dl;

dl = Math.Sqrt(Math.Pow(a.X - b.X, 2) + Math.Pow(a.Y - b.Y, 2));

return dl;

}

Listing 3.4. Funkcja obliczająca długość odcinka po podaniu dwóch punktów leżących na jego końcach.

Page 32: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

32

Aby funkcja szukaj() spełniła swoje zadanie i odnalazła krawędź dłoni, należy

odpowiednio wyznaczyć miejsce rozpoczęcia poszukiwań. Pomocne w tym zadaniu są kołki

o znanych współrzędnych. Przykładem zastosowania funkcji szukaj() będzie odnalezienie

szerokości dłoni bliżej podstawy palców (numer 5 w tabeli 3.1 i na rysunku 3.14):

Znana jest pozycja kołka numer 6 (listing 3.2 i rysunek 3.15). Wiadomo też, że na

prawo od tego kołka znajduje się poszukiwana szerokość dłoni. Funkcja szukaj(), zacznie

szukać w prawą stronę (od kołka numer 6), a wynik poszukiwań przypisze zmiennej START

(początek odcinka). Poszukiwanie drugiego końca szerokości dłoni, rozpocznie się od prawej

krawędzi zdjęcia (rysunek 3.16). Tym razem wynik działania funkcji szukaj(),

poruszającej się w lewą stronę, zostanie przypisany pod zmienna KONIEC. Ostatecznie

zmienne START i KONIEC pozwolą na obliczenie długości poszukiwanego odcinka

(listing 3.4).

Kolejny przykład ilustruje odnalezienie szerokości palca wskazującego w paliczku

środkowym (numerem 8 tabela 3.1 i rysunek 3.14). Palec wskazujący powinien znajdować się

na lewo od kołka 2. Współrzędne kołka są znane. Dodatkowo wiadomo, że prawidłowo

ułożony palec styka się z tym kołkiem. Pozwala to na ustawienie punktu START w miejscu

styku. Poszukiwanie punktu KONIEC zacznie się tuż za miejscem odbicia dłoni w lusterku

(wartość współrzędnej x wynosi 300). Funkcja szukaj() będzie poruszała się w prawą

stronę w kierunku palca wskazującego, aż do odnalezienia krawędzie dłoni.

Rysunek 3.16. Szczegółowy wydruk działania ekstraktora cech. Cienkie czerwone kreski spoza obszaru dłoni

pokazują, użyty zakres poszukiwań cech dłoni. Niebieskie kreski ukazują proste o różnych współczynnikach a,

poprowadzone do jednego punktu wspólnego.

W analogiczny sposób poszukiwane są długości o numerach: 5, 6, 8, 9, 11, 12, 14, 16,

17, 18, 19 (tabela 3.1). W pierwszej kolejności ustalany jest początek poszukiwań i jego

kierunek dla funkcji szukaj(). Pozwala to na przypisanie zmiennym START i KONIEC

Page 33: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

33

odpowiednich punktów, określających końce odcinka. Mając końce odcinka można obliczyć

jego długość.

Podczas stosowania funkcji szukaj() wymagane jest, oprócz podania punktu

startowego i kierunku poszukiwań, podanie współczynnika kierunkowego prostej, wzdłuż

której odbędzie się poszukiwanie. Aby wyznaczyć optymalny współczynnik używana jest

funkcja optymal_a() z listingu 3.5. Pozwala ona na znalezienie takiego współczynnika

kierunkowego a, przy którym odcinek jest najkrótszy. Optymal_a() współpracuje

z funkcją szukaj().

public double optymal_a(…)

{

(…)

for (int i = 0; i < zakres; i++)

{

//odnajdzie czarny obszar

while(obraz_bin_odczyt.GetPixel(pkt_koniec.X, pkt_koniec.Y).G == 255)

{

if (kierunek == kierunek.LEWO)

pkt_koniec.X--; //w lewo

else

pkt_koniec.X++;

pkt_koniec.Y = (int)(a * pkt_koniec.X + b);

obraz_bin_zapis.SetPixel(pkt_koniec.X, pkt_koniec.Y, Color.Blue);

}

dl = dl_odcinka(pkt_start, pkt_koniec);

if (dl < min_dl) //zapamieta min dlugosc i wsp a

{

min_dl = dl;

wyn_a = a;

}

pkt_koniec = pkt_koniec_copy; //zmiana dla kolejnego odcinka

if (kierunek == kierunek.LEWO)

a += krok; //zmiana nachylenia prostej

else

a -= krok;

b = wspB(pkt_start, a); //atualizacja wyrazu wolnego

}

return wyn_a;

}

Listing 3.5. Fragment funkcji optymal_a() za pomocą której odnajdywane są osie palców i oś reprezentująca

szerokość dłoni. Zmienna krok, modyfikująca współczynnik a, odpowiada za zmianę nachylenia prostych. Jej

wartość została dobrana eksperymentalnie. Zakres mówi o liczbie badanych prostych.

Po znalezieniu początkowego punktu szukanego odcinka (jako przykład zielone kółko

na rysunku 3.16), mierzy się długości prostych, poprowadzonych z różnymi wartościami

współczynnika kierunkowego a (zielone kreski). Punkty końca (końce zielonych kresek na

rysunku 3.16) znajduje się za pomocą funkcji szukaj() z zadanym współczynnikiem

kierunkowym a (niebieskie kreski na rysunku 3.16 to różne przebiegi funkcji szukaj()).

Page 34: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

34

Zakłada się, że znalezienie najkrótszego odcinka będzie równoznaczne ze znalezieniem osi

palców czy dłoni.

Kod z listingu 3.5 wykonywany jest w pętli for() z parametrem zakres. Parametr

ten, oznacza liczbę prostych jakie zostaną zbadane. W instrukcji while() poszukiwany jest

pierwszy czarny punkt obrazu w kierunku lewym bądź prawym (kierunek określa jeden

z argumentów wejściowych funkcji optymal_a()). Dalej, obliczana jest długość odcinka,

od znalezionego punktu, aż do punktu podanego jako argument wejściowy funkcji. Obliczona

długość zostanie porównana z poprzednią długością i jeśli nowa wielkość będzie mniejsza to

zostanie zapamiętana wraz ze współczynnikiem kierunkowym. Na końcu następują zmiany

współczynnika nachylenia, wyrazu wolnego i punktu startu poszukiwań w celu

przeprowadzenia kolejnego kroku iteracji pętli for(), dla nowego odcinka.

W przedstawiony sposób, z wykorzystaniem funkcji optymal_a(), poszukiwane są

współczynniki kierunkowe dla cech o numerach 5, 8, 11, 14, 16, 17 (rysunki 3.14 i 3.16).

Pozostałe szerokości palców i druga szerokość dłoni (numer 6), wykorzystują znalezione

współczynniki kierunkowe sąsiadów.

Osie przechodzące wzdłuż wszystkich czterech palców (numery 1, 2, 3 i 4 z tabeli 3.1)

wykorzystują proste prostopadłe do osi wyznaczających grubość palca. Dwie proste są

prostopadłe do siebie, gdy iloczyn ich współczynników kierunkowych jest równy -1. Czubki

palców szukane są od góry obrazka, aż do znalezienia pierwszego czarnego punktu obrazu za

pomocą funkcji szukaj(). Jak widać na rysunku 3.16, przedstawiona metoda

z powodzeniem odnajduje osie przecięcia palców i oś dłoni.

Dla odnalezienia długości numer 7, 10, 13, 15 wykorzystuje się funkcję

szukaj_zakres() (listing 3.6), która jest zmodyfikowaną odmianą funkcji szukaj().

Jako wejście, podaje się punkt środka odcinka pomiędzy znalezionym czubkiem palca,

a miejscem przecięcia osi długości palca z osią szerokości palca przy kołku (współrzędne

środka odcinka liczone są za pomocą wzoru 3.3). Punkt wejściowy oznaczony jest żółtymi

kropkami na rysunku 3.16. Współczynnik kierunkowy a jest taki sam jak dla odcinka

sąsiedniego, znalezionego przy kołku. Funkcja poszukuje i zapamiętuje ostatni czarny punkt

wzdłuż zadanej prostej liniowej. Poszukiwanie zaczyna się wewnątrz ciemnego pola obrazu

binarnego, oznaczającego dłoń, i kończy na białym polu tegoż obrazu. Ostatni czarny punkt

obrazu jest krawędzią dłoni. Funkcja szukaj_zakres(), dzięki przedstawionej metodzie

działania, jest odporna na błędy binaryzacji. Przyczyną takich błędów może być np. biały

paznokieć czy jasny fragment skóry. Po binaryzacji zamiast czarnego obszaru w tych

Page 35: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

35

miejscach, zostanie utworzony biały obszar i będzie interpretowany jako tło, a nie jako dłoń.

Z powodu występowania przedstawionych błędów wszystkie inne długości korzystające

z funkcji szukaj(), nie uwzględniającej błędów binaryzacji, przechodzą z białego obszaru

(tło) szukając obszaru czarnego (dłoń). Poszukiwanie odbywa się w odwrotnie, niż ma to

miejsce w szukaj_zakres(). Widać to w listingach obu funkcji, gdzie w pętli while

(listing 3.3) i warunku if() (listing 3.6) sprawdzane są różne kolory 255 (biały) i 0 (czarny).

public Point szukaj_zakres(Point pkt, double a, double b, kierunek

kierunek, int zakres)

{

Point tmp = new Point();

for (int i = 0; i < zakres; i++)

{

if (kierunek == kierunek.PRAWO)

pkt.X++; //w prawo

else

pkt.X--;

pkt.Y = (int)(a * pkt.X + b);

obraz_bin_zapis.SetPixel(pkt.X, pkt.Y, Color.Red);

//odnajdzie ostatni czarny punkt obrazu

if (obraz_bin_odczyt.GetPixel(pkt.X, pkt.Y).G == 0)

{

tmp = pkt;

}

}

pkt = tmp; //wynik

return pkt;

}

Listing 3.6. Funkcja szukaj_zakres(), która jest zmodyfikowaną wersją funkcji szukaj(). Zakres poszukiwań jest

jednym z argumentów wejściowych a jego wartość wyznacza koniec działania funkcji.

Funkcja z listingu 3.6, wykorzystywana jest też z tego względu, że trudno określić

punkty początkowe dla funkcji szukaj(). Łatwo natomiast określić punkt poszukiwań dla

funkcji szukaj_zakres() (żółte kropki rysunek 3.16). Działanie i obszar poszukiwań tej

funkcji, są widoczne na rysunku 3.16 przy długościach 7, 10, 13, 15 z rysunku 3.14 (cienka

czerwona kreska).

Podczas wykorzystywania wszystkich funkcji opisywanych w tym podrozdziale

należało obliczać wyraz wolny b równania liniowego. Do tego celu służył kod przedstawiony

w listingu 3.7.

public double wspB(Point poczatek, double a)

{

double b;

b = poczatek.Y - (a * poczatek.X);

return b;

}

Listing 3.7. Przedstawiona funkcja służy do obliczania wyrazu wolnego b przez podanie, jako argumenty

wejściowe, punktu na prostej i współczynnika kierunkowego a.

Page 36: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

36

3.4.4. Baza danych

Baza danych jest strukturą, wewnątrz której przechowywane są wszystkie

przetwarzane biometryki wraz z wynikami pracy ekstraktora cech, oraz informacjami

dodatkowymi. Uproszczony schemat używanej bazy danych znajduje się na rysunku 3.17.

Wewnątrz bazy danych, na pierwszym poziomie, znajdują się dwie listy z obiektami

reprezentującymi poszczególne osoby. Pierwsza reprezentuje osoby wzorcowe, których

dłonie są szablonami biometrycznymi. Druga, zawiera osoby, których biometryki będą

porównywane względem szablonów.

Rysunek 3.17. Uproszczony schemat przedstawiający bazę danych programu. W bazie zawarte są informacje

o konkretnych osobach i dłoniach poszczególnych osób. Każda z X dłoni jest opisana przez Y długości.

Każda osoba posiada listę obiektów typu dłoń, zawierającą próbki biometryczne dłoni.

Dłonie poszczególnych osób posiadają numery PIN zgodne z numerami PIN właściciela. Jest

to wykorzystywane podczas weryfikacji biometrycznej, oraz dla sprawdzenia poprawności

identyfikacji biometrycznej. Obiekt dłoń, jest pojedynczą biometryką. Reprezentowana jest za

pomocą bitmapy, kodu PIN, oraz wektora cech opisujących Y długości. Bitmapa jest

zdjęciem uzyskanym w sposób opisany w rozdziale 3.3 z wykorzystaniem stolika i czytnika

Page 37: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

37

biometrycznego. Natomiast wektor cech, jest wynikiem pracy ekstraktora biometrycznego.

W stworzonym systemie geometrii dłoni liczba cech Y wynosi 19 i odpowiada ona tabeli 3.1

i rysunkowi 3.14.

Zaimplementowana baza danych posiada funkcję umożliwiającą wczytywanie,

odpowiednio sformatowanych zdjęć, z plików znajdujących się na dysku twardym. Pliki

poddane są obróbce (rozdział 3.4.2) i ekstrakcji cech (rozdział 3.4.3), aby ostatecznie można

było je zapisać jako rekordy bazy danych.

public baza_danych wczytaj_zdjecia() //wczyta zdjecia z plikow

{

(…)

//jeden katalog to jedna osoba

foreach (DirectoryInfo katalog in katalogi_nizej)

{

Moja_Osoba = Moja_Baza.dodaj_osobe (…); //dodanie nowej osoby

pliki = katalog.GetFiles("*jpg", SearchOption.TopDirectoryOnly);

foreach (FileInfo plik in pliki) //poszczegolne zdjecia

{

//dodaje tylko sciezke ze zdjeciem

using (dlon reka = Moja_Osoba.dodaj_dlon(plik.FullName))

{

reka.czytaj_ze_sciezki();

reka.Ekstrakcja_cech();

}

//automatyczne wywolanie dispose()

}

GC.Collect();

GC.WaitForPendingFinalizers();

}

(…)

}

Listing 3.8. Funkcja wczytaj_zdjecia() zawarta w bazie danych programu. Przedstawiona wersja jest wersją

skróconą i uproszczoną w stosunku do zawartej w kodzie źródłowym programu. Zamieszczone tutaj uproszczenie

ma na celu pokazanie idei działania.

Aby możliwe było poprawne wczytanie zdjęć z dysku twardego do bazy danych,

muszą być one odpowiednio rozlokowane w folderach (rysunek 3.18).

Rysunek 3.18. Przykładowa struktura katalogów pozwalająca na poprawne wczytanie zdjęć do bazy danych.

Z lewej strony rozwinięty folder wzorce. Z prawej strony rozwinięty folder badane.

Page 38: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

38

W pierwszej kolejności należy utworzyć folder główny o dowolnej nazwie i umieścić w nim

dwa podkatalogi (przykład na rysunku 3.18). Jeden o nazwie wzorce, a drugi o dowolnej

nazwie. Wewnątrz tych dwóch podkatalogów trzeba stworzyć tyle folderów ile jest różnych

osób. Nazwy folderów muszą być liczbami. W programie, zostaną one wykorzystane jako

numery PIN osób i przynależnych jej dłoni. Zdjęcia jednej osoby należy porozdzielać

pomiędzy katalogi wzorce i badane (nazwa badane użyta z przykładu na rysunku 3.18),

uwzgędniając odpowiednie numery w podkatalogach.

Funkcja wczytaj_zdjecia() wykorzystuje opisaną powyżej strukturę

katalogową. W listingu 3.8 znajduje się fragment, odpowiedzialny za stworzenie jednej listy

osób bazy danych (lista badanych bądź lista wzorców z rysuneku 3.17). Kod przechodzi

kolejno przez wszystkie katalogi dzięki pierwszej pętli foreach(). Każdy katalog

(z numerem PIN) to nowa osoba, która jest kreowana funkcją dodaj_osobe(). Każdy plik

ze zdjęciem w katalogu to jedna biometryka przed chwilą utworzonej osoby. Wszystkie

zdjęcia przeglądane są w drugiej pętli foreach() i dodawane funkcją dodaj_dlon().

Do bazy danych nie jest zapisywane zdjęcie biometryki tylko ścieżka dostępu do tego

zdjęcia. Jest tak ze względu na duże zapotrzebowanie zdjęć na pamięć operacyjną. Jedno

zdjęcie zapisane w bazie danych potrzebowałoby ponad 4 MB pamięci (wynik podczas badań

i testowania programu). Jeden rekord z biometryką operuje na trzech kopiach zdjęcia:

oryginale, zdjęciu binarnym i zdjęciu po ekstrakcji cech. Jeśli wziąć pod uwagę liczbę

zebranych próbek biometrycznych (520 próbek) i operacje na trzech kopiach, wymagana ilość

pamięci operacyjnej przekroczyłaby 6 GB. Dlatego zdjęcia przechowywane są tylko

chwilowo na potrzeby ekstraktora cech i podczas wyświetlania. Ścieżka dostępu do pliku ze

zdjęciem pozwala na szybkie wczytanie obrazka biometryki. Dzięki użyciu słowa kluczowego

using (listing 3.8), pamięć zajęta przez operacje na bitmapach zostanie zwolniona.

W omawianym kodzie widać, że funkcja dodaj_dlon() korzysta tylko ze ścieżki do pliku.

Następnie na podstawie ścieżki dostępu zdjęcie jest, chwilowo wczytywane przez funkcję

czytaj_ze_sciezki() i analizowane w ekstraktorze cech. Zaraz za klamrą, zamykającą

obszar using, pamięć jest odznaczona jako gotowa do zwolnienia. Właściwe zwolnienie

pamięci, odbywa się dzięki Garbage Collectorowi (GC) tuż za pętlą foreach(). Garbage

Collector jest modułem zarządzającym pamięcią i zwalniającym niepotrzebną pamięć

w języku C#.

Page 39: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

39

3.4.5. Komparator biometryczny

Komparator biometryczny służy do porównywania dwóch próbek biometrycznych. Wersja

zaimplementowana w programie opiera się na punktacji. Podczas porównywania dwóch

biometryk obliczana jest punktacja zgodności i na tej podstawie podejmowana jest decyzja.

W stworzonym komparatorze cech wykorzystano cztery różne metryki odległościowe,

służące do obliczania punktacji zgodności: bezwzględną, bezwzględną ważoną, euklidesową

oraz euklidesową ważoną. Do obliczenia wymienionych metryk wykorzystywane są wzory:

od 2.1 do 2.6. Kod zaimplementowany w programie obliczający ważoną metrykę euklidesową

przedstawiony jest w listingach 3.9, 3.10 i 3.11.

Pierwszym krokiem koniecznym dla uzyskania punktacji, jest obliczenie wektora ze

średnimi długościami cech (tabela 3.1). Obliczenie to wykonywane jest, dla szablonów

wzorcowych w bazie danych, zaraz po wczytaniu nowych zdjęć do bazy. Podczas tej operacji

wykorzystany jest kod z listingu 3.9. Dzieje się to za pomocą dwóch pętli for(), gdzie jedna

przechodzi po 19 cechach (odnalezionych przez ekstraktor cech), a druga po liczbie dłoni

danej osoby. Jako wynik, stworzony zostanie wektor, średnich długości cech dłoni jednej

osoby. Podczas późniejszego porównywania i wystawiania punktacji korzysta się

z obliczonych średnich. W ten sposób, jeden szablon biometryczny, jest w stanie

wykorzystywać wiele biometryk wzorcowych.

//zwroci srednie wartosci dlugosci dloni jednego rekordu (jedna osoba)

public double[] Srednia(osoba Osoba)

{

int ile_dl = 19;

double []srednia = new double [ile_dl];

int dzielnik = Osoba.l_dlonie.Count(); //ile dloni danej osoby

for (int i = 0; i < dzielnik; i++) //licznik po dloniach

{

for (int j = 0; j < ile_dl; j++) //licznik po dlugosciach

{

srednia[j] += (Osoba.l_dlonie[i].l_odcinki[j].dlugosc /

dzielnik); //wzor na srednia arytmetyczna

}

}

return srednia;

}

Listing 3.9. Funkcja obliczająca średnią arytmetyczną (wzór 2.6) wszystkich wektorów cech dłoni jednej osoby.

Wariancja wykorzystywana we wzorze 2.4 jest miarą ważności j-tej cechy. Większy

wynik wariancji wpłynie na mniejszą punktacje (szablon cech ma większy rozrzut próbek

biometrycznych). Z kolei mniejszy wynik wariancji spowoduje, że punktacja będzie wyższa

(szablon cech ma mniejszy rozrzut próbek biometrycznych), przez co system będzie bardziej

rygorystyczny. Odpowiednie dobranie próbek biometrycznych dla pojedynczego szablonu,

Page 40: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

40

wpłynie na tolerancję systemu podczas interpretacji nowych biometryk z biometrykami

wzorcowymi. Wariancja, podobnie jak średnia, jest obliczana dla wszystkich szablonów

zarejestrowanych w bazie danych. Dla obliczenia wariancji wymagane jest wcześniejsze

obliczenie średnich. Sposób liczenia wariancji z listingu 3.10 jest analogiczny do sposobu

policzenia średniej (listing 3.9).

//liczy wariancje dlugosci dloni jednej osoby (osoba musi miec obliczone

srednie)

public double[] Wariancja(osoba Osoba)

{

int ile_dl = 19;

double[] wariancja = new double[ile_dl];

int dzielnik = Osoba.l_dlonie.Count(); //ile dloni danej osoby

for (int i = 0; i < dzielnik; i++) //licznik po dloniach

{

for (int j = 0; j < ile_dl; j++) //licznik po dlugosciach

{

wariancja[j] +=

(Math.Pow((Osoba.l_dlonie[i].l_odcinki[j].dlugosc -

Osoba.l_srednie[j]), 2)/dzielnik); //wzor na wariancje

}

}

return wariancja;

}

Listing 3.10. Funkcja obliczająca wektor wariancji (wzór 2.5) 19 cech biometrycznych, obliczany względem

wszystkich zarejestrowanych szablonów.

Ważona odległość euklidesowa pozwala na określenie miary podobieństwa dwóch

próbek biometrycznych. Im dwie porównywane próbki są bardziej podobne do siebie, tym

wynik ważonej odległości euklidesowej będzie niższy. Analogicznie, jeśli dwie biometryki

posiadają znaczące różnice to uzyskany wynik będzie wysoki (rozdział 2.5). Kod z listingu

3.11 do poprawnego działania wymaga obliczenia wariancji. Wykonywane jest to za pomocą

funkcji Wariancja(), i obliczana jest dla próbek osoby wzorcowej (argument funkcji

zBazy). Główna pętla przechodzi po wszystkich 19 długościach cech, porównując cechy

szablonu w bazie z cechami biometryki przedstawianej z zewnątrz.

//zwroci wartosc wazonej metryki euklidesowej

public double Euklides _waga(osoba zBazy, dlon zZewnatrz)

{

double wynik = 0; //punktacja

int ile_dl = 19; //ilosc dlugosci

double []wariancja = new double[ile_dl];

wariancja = Wariancja(zBazy); //obliczy wariancje zdjec z bazy

for (int i = 0; i < ile_dl; i++)

{

if (wariancja[i] != 0)

wynik += (Math.Pow(zZewnatrz.l_odcinki[i].dlugosc -

zBazy.l_srednie[i], 2) / wariancja[i]); //glowny wzor

Page 41: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

41

}

wynik = Math.Sqrt(wynik);

return wynik;

}

Listing 3.11. Funkcja obliczająca ważoną odległość Euklidesową (wzór 2.4). Wykorzystuje obliczone wcześniej

średnią i wariancję. Wynikiem powyższej funkcji jest miara punktowa, określająca zgodność dwóch próbek

biometrycznych.

Kolejnym przykładem będzie kod wykorzystany do obliczenia bezwzględnej metryki

odległościowej w listingu 3.12. Algorytm przechodzi po wszystkich długościach cech dłoni,

wyliczając wartość bezwględną różnicy odległości biometryki z zewnątrz i wzorca.

W ostatecznym rezultacie wszystkie poszczególne wyniki są sumowane. Otrzymana liczba

jest wartością punktacji zgodności.

public double Bezwzgledna(osoba zBazy, dlon zZewnatrz) //zwroci wartosc

metryki bezwzglednej

{

double wynik = 0; //punktacja

int ile_dl = 19; //ilosc dlugosci

for (int i = 0; i < ile_dl; i++)

{

wynik += Math.Abs(zZewnatrz.l_odcinki[i].dlugosc -

zBazy.l_srednie[i]);

}

return wynik;

}

Listing 3.12. Funkcja obliczająca punktację zgodności na podstawie bezwzględnej metryki odległościowej.

Pozostałe dwie metryki odległościowe: euklidesowa i bezwzględna ważona, obliczane

są w analogicznie do sposobów przedstawionych w listingach od 3.9 do 3.12.

3.4.6. Interfejs programu

W programie geometrii dłoni, dla ułatwienia operacji na bazie danych i w celu

wizualizacji wyników, wprowadzono graficzny interfejs użytkownika. Przedstawiono go na

rysunku 3.19. Wszystkie operacje zaimplementowane w programie są dostępne poprzez ten

interfejs.

Okno programu zostało podzielone na kilka części, zaznaczonych numerami od 1 do 6

(białe kółka z numerami na rysunku 3.19). Opis poszczególnych części:

1) Baza biometryk z zewnątrz. Reprezentuje dłonie niezarejestrowane w bazie

danych jako szablon. Przedstawiane tutaj biometryki będą poddawane analizie.

Podczas wyświetlania biometryka zostaje pobrana przy pomocy ścieżki dostępu.

Page 42: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

42

2) Baza biometryk wewnątrz. Reprezentuje szablony biometryczne poszczególnych

osób, stworzone z zarejestrowanych dłoni. Podczas porównywania zgodności

biometrycznej, brany jest pod uwagę cały szablon danej osoby, a nie pojedyncza

próbka biometryczna.

Rysunek 3.19. Graficzny interfejs użytkownika z przykładowymi ustawieniami bazy wzorców i bazy osób

badanych.

3) Okienko statusu na którym wyświetlane są wyniki przeprowadzanych analiz.

4) Opcje pozwalające na: wczytanie odpowiednio sformatowanych zdjęć (wczytaj

zdjęcia), zapis stworzonej bazy danych do pliku oraz otworzenie bazy z pliku.

Dodatkowo znajduje się tam pomoc dla programu geometrii dłoni.

5) Informacje na temat bazy wewnętrznej i ID aktualnie wyświetlanej biometryki.

Obok znajdują się przyciski pozwalające na przeglądanie bazy osób i zdjęć danej

osoby. Powyżej jest przycisk wyświetlający długości 19 cech aktualnej

biometryki. Analogiczne pola umieszczone są dla próbek w bazie osób z zewnątrz

(oznaczonej numerem 1).

6) Przyciski dzięki którym, możliwe są operacje identyfikacji i weryfikacji

biometrycznej. Dostępne są operacje ręczne działające na pojedynczych próbkach

wejściowych, oraz operacje automatyczne wykorzystujące wszystkie próbki

Page 43: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

43

wejściowe. Podczas operacji ręcznych wyniki wyświetlone są w polu statusu. Po

wykonaniu operacji automatycznej, dodatkowy wynik zapisany jest w pliku na

dysku (w katalogu z programem geometrii dłoni).

7) Wybór, wykorzystywanej w programie, metryki odległościowej.

Zasady obsługi aplikacji przedstawione są w pliku pomocy programu. Jest on

dostępny z interfejsu użytkownika i pokrótce omawia działanie poszczególnych przycisków

oraz wykorzystywanych procedur biometrycznych.

3.5. Transformata Hough

Transformata Hough była wykorzystywana w początkowej fazie pisania programu.

Miała ona posłużyć do znalezienia osi palców podczas ekstrakcji cech. Ostatecznie jednak nie

udało się uzyskać zadowalających wyników i wprowadzono inne procedury wykrywania osi.

Niemałą zaletą transformaty Hough jest to, że podczas wykrywania osi palców nie potrzeba

informacji o pozycji kołków stolika. Natomiast sporą trudnością jest poprawna implementacja

algorytmu dla poprawnego wykrywania poszczególnych osi. Transformata Hough mogłaby

być wykorzystana jako ulepszenie algorytmu wykrywania cech biometrycznych, niezależnie

od sposobu ułożenia dłoni.

Transformacja Hough zamienia współrzędne kartezjańskie na współrzędne biegunowe

za pomocą wzoru 3.4, przez co punkty o współrzędnych x, y są reprezentowane przez

współrzędne: 𝑟 i 𝜃 [9].

Zależność współrzędnych kartezjańskich i współrzędnych biegunowych:

𝑟 = 𝑥 cos 𝜃 + 𝑦 sin(𝜃) (3.4)

Zakres promienia wodzącego:

− 𝑁12 + 𝑁2

2 ≤ 𝑟 ≤ 𝑁12 + 𝑁2

2 (3.5)

Zakres kąta 𝜃:

−𝜋

2≤ 𝜃 <

𝜋

2 (3.6)

Oznaczenia:

𝑁1 , 𝑁2 – wymiary obrazka

𝑟 , 𝜃 – współrzędne polarne

Page 44: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

44

Transformata Hough wykorzystuje obrazy dwubitowe po procesie binaryzacji.

W algorytmie transformacji Hough, zaimplementowana jest tablica P, początkowo

wypełniona zerami. Indeksy tej tablicy odpowiadają współrzędnym biegunowym (𝑟 , 𝜃). Dla

każdego czarnego punktu obrazu (lub białego, w zależności od implementacji), we

współrzędnych kartezjańskich, obliczane są współrzędne polarne za pomocą wzoru 3.4.

Następnie, w obliczonych miejscach w tablicy P, wartości licznika zwiększane są o 1

(odbywa się to wzdłuż całej szerokości tablicy, odpowiadającej kątowi θ). Wstawione punkty

odzwierciedlają część sinusoidy. Po przeanalizowaniu wszystkich punktów wejściowego

obrazu binarnego w tablicy P powstanie zbiór sinusoid nałożonych na siebie (rysunek 3.20

z prawej) i zapisanych za pomocą cyfr [9]. Większe wartości tablicy P oznaczają miejsca

przecięcia sinusoid (jaśniejsze punkty na rysunku 3.20 z prawej).

Rysunek 3.20. Przykładowy rysunek we współrzędnych kartezjańskich (z lewej) i jego transformata we

współrzędnych biegunowych. Transformata jest zbiorem sinusoid. Jaśniejsze miejsca w obrazie są

zagęszczeniem sinusoid [17].

Rysunek 3.21. Przykładowy rysunek we współrzędnych kartezjańskich i jego transformata we współrzędnych

biegunowych. Na obrazie transformaty zaznaczono miejsca przecięć sinusoid. Odwrotna transformata Hough

zaznaczonych punktów, pozwoli na uzyskanie żółtych prostych z po lewej (współrzędne kartezjańskie) [17].

W celu znalezienia krawędzi obrazka wejściowego, wartości tablicy P poddaje się

progowaniu. Dzięki takiej operacji pozostaną wyłącznie punkty zagęszczeń sinusoid (miejsca

oznaczone zielonymi kwadratami z rysunku 3.21). W kolejnym kroku zmodyfikowane

Page 45: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

45

wartości tablicy P poddawane są odwrotnej transformacie Hough. W rezultacie powstaną linie

odzwierciedlające krawędzie obrazka (żółte linie na rysunku 3.21).

Przykładowe linie proste uzyskane podczas testowania transformaty Hough znajdują

się na rysunkach 3.22 i 3.23. Podczas testów modyfikowano wartość progową oraz rozmiary

(n, m) tablicy P, odpowiadające współrzędnym biegunowym (𝑟 , 𝜃). Obrazem wejściowym,

służącym do testów, był binarny obraz dłoni. Na obrazku nie ma kołków.

Rysunek 3.22. Przykładowe zastosowania transformaty Hough. Obraz wejściowy to czarna dłoń. Czerwone

kreski to wynik odwrotnej transformaty Hough. Rozmiary n i m tablicy P wynoszą 100. Wartości progu

począwszy od rysunku z lewej wynoszą: 12000, 11000 i 10000.

Jak pokazuje rysunek 3.22, zwiększenie wartości progowej usunie więcej punktów

z tablicy P i w rezultacie odwrotna transformata Hough wyrysuje mniejszą liczbę prostych.

Wymiary tablicy P mają również wpływ na liczbę prostych wydrukowanych przez odwrotną

transformatę Hough. Przykład na rysunku 3.23.

Rysunek 3.23. Przykładowe zastosowania transformaty Hough. Obraz wejściowy to czarna dłoń. Czerwone

kreski to wynik odwrotnej transformaty Hough. Rozmiary n wynosi 10, m wynosi 100. Wartość progu to 10000.

Dużą trudnością jest odpowiedni dobór parametrów transformaty Hough pozwalający

na wyodrębnienie interesujących krawędzi i osi dłoni. Sporą wadą transformaty Hough jest

Page 46: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

3. Projekt systemu geometrii dłoni

46

też duża złożoność obliczeniowa. Podczas przetwarzania, badany i modyfikowany jest każdy

wejściowy punkt obrazu o odpowiednim kolorze. Jest to rozwiązanie nie optymalne, jeśli

weźmie się po uwagę szybkość działania algorytmu.

Implementacje algorytmów transformaty Hough jak i odwrotnej transformaty Hough

załączone są jako dodatki na płycie.

Page 47: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

4. Wyniki eksperymentów biometrycznych

47

4. WYNIKI EKSPERYMENTÓW BIOMETRYCZNYCH

Analizowany system biometryczny geometrii dłoni może zostać wykorzystany do

identyfikacji i weryfikacji biometrycznej. Skuteczność i poprawność działania tych dwóch

procedur została sprawdzona w niniejszym rozdziale. Dodatkowo przeprowadzono test

pozwalający znaleźć optymalne wartości progów.

Podczas testów wykorzystano biometryki dłoni zebrane od 52 osób, po 10 próbek od

każdej. Całą bazę 520 biometryk rozdzielono na biometryki budujące szablony biometryczne

(rozdział 2.4.1), i na biometryki analizowane, przychodzące z zewnątrz (nie zawarte

w szablonach). Sposób podziału opisano w rozdziale 3.4.4. Wszystkie testy identyfikacji

i weryfikacji wykonano dla stałej liczby 312 próbek wejściowych (52 osoby po 6 biometryk).

Modyfikowano wyłącznie liczbę biometryk przypadających na pojedynczy szablon

biometryczny poszczególnych osób. W eksperymencie używano szablonów składających się

z 2, 3 i 4 próbek biometrycznych (jeden szablon odzwierciedla jedną osobę).

Doświadczenia zostały przeprowadzone dla czterech różnych metryk odległościowych,

przedstawionych w rozdziale 2.5. Wszystkie zostały zaimplementowane w komparatorze cech

biometrycznych opisanym w rozdziale 3.4.5.

4.1. Testy identyfikacji biometrycznej

Pierwszym testem jaki został przeprowadzony był test identyfikacji biometrycznej.

Każdą próbkę wejściową porównano ze wszystkimi wzorcami bazy danych w celu

znalezienia najlepszego odpowiednika (schemat 4.1) o najmniejszym wyniku punktowym (im

mniejszy wynik punktowy tym większe podobieństwo dwóch próbek). Podczas procedury

identyfikacji decyzja, o wyborze pasującego szablonu, podejmowana jest wyłącznie na

podstawie przedstawionej biometryki. Aby możliwe było zweryfikowanie czy pojedyncza

identyfikacja biometryczna przebiegła prawidłowo, porównuje się numer ID dłoni z zewnątrz

z numerem ID szablonu w bazie danych. W przypadku zgodności zwiększa się licznik

poprawna identyfikacja, a w przypadku błędu zwiększa się licznik niepoprawna identyfikacja

(schemat 4.1). Test kończy się po przejrzeniu wszystkich biometryk wejściowych z zewnątrz.

W tabeli 4.1 i na wykresie 4.1 przedstawiono wyniki poprawności identyfikacji

biometrycznej w zależności od liczby biometryk przypadających na jeden wzorzec

biometryczny przy różnych metrykach odległości. Analiza tabeli i wykresu pokazuje, że wraz

ze wzrostem liczby próbek we wzorcu rośnie liczba poprawnych identyfikacji dla wszystkich

czterech metryk odległości. Pojedyncza poprawnie zidentyfikowana biometryka wejściowa

zwiększa wynik o 0,32% (wynik uzyskany po obliczeniu: 1 / 312 * 100%).

Page 48: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

4. Wyniki eksperymentów biometrycznych

48

Schemat 4.1. Schemat blokowy procesu identyfikacji automatycznej. Sprawdzenie ID dopasowanych dłoni

pozwala na zliczenie liczby poprawnych i niepoprawnych identyfikacji.

Tabela 4.1. Wyniki testów poprawności identyfikacji biometrycznej. Pierwsza cyfra wskazuje liczbę

prawidłowych identyfikacji, druga całkowitą liczbę analizowanych biometryk. W nawiasie przedstawiono wynik

procentowy. Metryki przedstawiono w rozdziałach 2.5 i 3.4.5.

Metryka odległości

Liczba biometryk

we wzorcu

Euklidesowa Euklidesowa

ważona

Bezwzględna Bezwzględna

ważona

2 277 / 312

(88,78)%

180 / 312

(57,69)%

286 / 312

(91,67)%

219 / 312

(70,19)%

3 287 / 312

(91,99)%

242 / 312

(77,56)%

292 / 312

(93,59)%

269 / 312

(86,22)%

4 288 / 312

(92,31)%

298 / 312

(95,51)%

296 / 312

(94,87)%

304 / 312

(97,44)%

Page 49: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

4. Wyniki eksperymentów biometrycznych

49

Zastosowanie metryki euklidesowej oraz metryki bezwzględnej, przy dwóch

biometrykach w szablonie, pozwoliło na uzyskanie wysokiego wyniku poprawnej

identyfikacji (odpowiednio 88,78% i 91,67). Był on, w tym przypadku, dużo wyższy niż dla

metryk: euklidesowej ważonej i bezwzględnej ważonej (odpowiednio 57,69% i 70,19%).

Zastosowanie ważonej metryki euklidesowej przy niewielkiej liczbie próbek w szablonie dało

najsłabszy rezultat poprawnej identyfikacji (57,69%).

Wykres 4.1. Procentowy rezultat poprawnej identyfikacji biometrycznej dla czterech różnych metryk odległości.

Na wykresie widać

Dopiero po stworzeniu szablonów składających się z czterech próbek biometrycznych

wyniki poprawnej identyfikacji z wykorzystaniem ważonej metryki euklidesowej i ważonej

metryki bezwzględnej znacząco wzrosły (odpowiednio 95,51% i 97,44%). Wynik 97,44% jest

najwyższym rezultatem poprawnej identyfikacji przy zakładanych warunkach testu.

Wyniki poprawnej identyfikacji, wraz ze wzrostem próbek biometrycznych we

wzorcu, pozostawały na podobnym poziomie dla metryki euklidesowej oraz metryki

bezwzględnej (wykres 4.1). Natomiast, dla metryk: ważonej euklidesowej i ważonej

bezwzględnej wyniki gwałtownie wzrastały wraz ze wzrostem liczby biometryk

w pojedynczym wzorcu.

4.2. Testy weryfikacji biometrycznej

Podczas testu weryfikacji biometrycznej (rozdział 2.4.3) wszystkie biometryki

wejściowe zostały poddane procesowi weryfikacji z każdym z 52 szablonów biometrycznych

(schemat 4.2). Liczba biometryk wejściowych wynosi 312 (po 6 próbek od 52 osób). W bazie

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

90,00%

100,00%

2 3 4

Po

pra

wn

a id

en

tyfi

kacj

ia [

%]

Liczba biometryk na jeden wzorzec biometryczny

euklidesowa

euklidesowa ważona

bezwzględna

bezwzględna ważona

Page 50: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

4. Wyniki eksperymentów biometrycznych

50

znajdują się 52 szablony. Na jeden szablon składają się 2, 3 bądź 4 próbki biometryczne.

Próbki w szablonach są rozłożone równomiernie, w takiej samej liczbie. Łączna liczba

porównań w teście dla jednej wartości progowej to 52 ∗ 312 = 16224.

Schemat 4.2. Schemat blokowy procesu weryfikacji automatycznej. Wszystkie wejściowe biometryki są

porównywane z każdym ze wzorców w bazie danych. Procedura powtarza się dla różnych wartości progu.

W procesie weryfikacji możliwe są cztery różne decyzje biometryczne, przy czym dwie z nich mówią o błędach

procesu weryfikacji (czerwony kolor).

Page 51: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

4. Wyniki eksperymentów biometrycznych

51

Po przeprowadzeniu wszystkich porównań wartość progu zwiększana jest o 1. Wartość

progowa jest to graniczna liczba, poniżej której wejściowa biometryka o danej punktacji

zgodności (uzyskanej z porównania ze wzorcem) zostanie wpuszczona do systemu. Jeśli

wynik porównania biometryki ze wzorcem będzie wyższy od wartości progowej, to próbka

nie zostanie dopuszczona do systemu. Porównanie wykonywane jest w ekstraktorze cech,

korzystającym z czterech metryk odległości (rozdział 2.5). Gdy biometryka posiada mniejsze

odchylenie wartości cech od wzorca (szablon w bazie), to uzyskany wynik metryki odległości

będzie niższy. Analogicznie większe odchylenie wartości cech skutkuje większym wynikiem.

Możliwe są cztery różne rezultaty weryfikacji biometrycznej: poprawna akceptacja,

poprawne odrzucenie, niepoprawna akceptacja i niepoprawne odrzucenie (schemat 4.2).

Zależą one od wyniku uzyskanego z komparatora biometrycznego, wartości progu, a także od

zgodności numerów ID próbki wejściowej i szablonu.

Wyniki działania weryfikacji biometrycznej zaprojektowanego systemu zostały

przedstawione na wykresach od 4.2 do 4.13. Narysowano cztery typy wykresów:

liczba poprawnych akceptacji w zależności od progu (wykresy 4.2, 4.3 i 4.4),

liczba poprawnych odrzuceń w zależności od progu (wykresy 4.5, 4.6 i 4.7),

liczba niepoprawnych akceptacji w zależności od progu (wykresy 4.8, 4.9 i 4.10),

liczba niepoprawnych odrzuceń w zależności od progu (wykresy 4.11, 4.12 i 4.13).

Dodatkowo, wykresy zmieniają się zależnie od użytej metryki odległościowej, jak

i w zależności od liczby próbek w szablonie biometrycznym.

Z wykresów od 4.2 do 4.4 widać, że wraz ze wzrostem wartości progowej wzrasta

liczba poprawnych akceptacji. Dzieje się to z różną szybkością zależnie od użytej metryki.

Liczba poprawnych akceptacji stabilizuje się na poziomie 312 (przy odpowiednio dużym

progu). Wartość 312 jest maksymalnym, możliwym do uzyskania w eksperymencie,

wynikiem popranych akceptacji (schemat 4.2).

Wraz ze wzrostem liczby biometryk w szablonie wykresy poprawnych akceptacji

przesuwają się w kierunku mniejszych wartości progu. W rezultacie, system poprawnie

akceptuje więcej biometryk przy niższych wartościach progu. Najszybciej zmienia się to przy

użyciu ważonej metryki euklidesowej oraz dla ważonej metryki bezwzględnej. Pozostałe dwie

metryki mają mniejszy wpływ na uzyskane wykresy. Początkowo, dla dwóch próbek w bazie,

metryka euklidesowa daje największą liczbę poprawnych akceptacji. Przy czterech próbkach

w szablonie, lepszą okazuje się ważona metryka euklidesowa.

Page 52: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

4. Wyniki eksperymentów biometrycznych

52

Wykresy liczby poprawnych akceptacji w zależności od progu:

Wykres 4.2. Liczba poprawnych akceptacji w zależności od progu dla 2 biometryk w szablonie.

Wykres 4.3. Liczba poprawnych akceptacji w zależności od progu dla 3 biometryk w szablonie.

Wykres 4.4. Liczba poprawnych akceptacji w zależności od progu dla 4 biometryk w szablonie.

0

50

100

150

200

250

300

350

0 50 100 150 200

Licz

ba

po

pra

wn

ych

akc

ep

tacj

i

Wartośd progu

euklidesowa

euklidesowa ważona

bezwzględna

bezwzględna ważona

0

50

100

150

200

250

300

350

0 50 100 150 200

Licz

ba

po

pra

wn

ych

akc

ep

tacj

i

Wartośd progu

euklidesowa

euklidesowa ważona

bezwzględna

bezwzględna ważona

0

50

100

150

200

250

300

350

0 50 100 150 200

Licz

ba

po

pra

wn

ych

akc

ep

tacj

i

Wartośd progu

euklidesowa

euklidesowa ważona

bezwzględna

bezwzględna ważona

Page 53: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

4. Wyniki eksperymentów biometrycznych

53

Wykresy FRR od 4.5 do 4.7 pokazują jak zmienia się liczba niesłusznych odrzuceń

wraz ze wzrostem progu dla różnych metryk odległości i przy różnej liczbie próbek

biometrycznych w pojedynczym szablonie. Błąd FR występuje w przypadku gdy ID

biometryki wejściowej i wzorca są zgodne, jednak wartość progowa jest na tyle niska, że nie

dopuszcza użytkownika do systemu.

Początkowo przy niskich wartościach progu występuje duża liczba niesłusznych

odrzuceń. Dla wartości progu równej 0 i wartości bliskich 0, współczynnik FRR jest

największy i wynosi 312 (jest to liczba maksymalna, uzyskana podobnie jak w przypadku

poprawnych akceptacji). FRR ma bezpośredni wpływ na szybkość systemu. Przy wysokim

FRR wymagana będzie dokładniejsza procedura pobierania biometryk i bardziej szczegółowa

ekstrakcja cech. Użytkownik systemu będzie wielokrotnie odrzucany. Podczas okazywania

biometryki zaistnieje konieczność kilkukrotnego powtarzania pomiarów aż do uzyskania

dostępu. System będzie bardzo rygorystyczny. Przy małym FRR użytkownicy będą w stanie

dostać się do systemu, nawet przy mnie dokładnym okazaniu biometryk.

Przy dwóch próbkach w szablonie biometrycznym metryka euklidesowa już przy

progu, nieznacznie wyższym od 50, pozwoliła na uzyskanie zerowego współczynnika FRR.

Najgorszy rezultat osiągnięto po zastosowaniu metryki bezwzględnej ważonej. Przy czterech

próbkach w jednym szablonie biometrycznym najlepiej spisywała się ważona metryka

euklidesowa, gdzie zerowy FRR wystąpił już poniżej wartości 50.

Wyniki FRR, uzyskane przy pomocy ważonej metryki bezwzględnej i ważonej

metryki euklidesowej poprawiły się, w znaczącym stopniu, przy zwiększeniu liczby próbek

w szablonie. W obu przypadkach FRR równe 0 uzyskano już przy wartościach progu bliskich

50, a nie jak to miało miejsce poprzednio (przy dwóch próbkach na szablon) przy wartościach

progu powyżej 200. Zysk ten jest dużo większy niż przy wykorzystaniu metryki euklidesowej

i bezwzględnej.

Wykresy FRR są powiązane z wykresami poprawnych akceptacji. Gdy rośnie liczba

poprawnych akceptacji to maleje liczba niesłusznych odrzuceń i odwrotnie.

Page 54: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

4. Wyniki eksperymentów biometrycznych

54

Wykresy niesłusznych odrzuceń w zależności od progu:

Wykres 4.5. FRR w zależności od progu dla 2 biometryk w szablonie.

Wykres 4.6. FRR w zależności od progu dla 3 biometryk w szablonie.

Wykres 4.7. FRR w zależności od progu dla 4 biometryk w szablonie.

0

50

100

150

200

250

300

350

0 50 100 150 200

FRR

Wartośd progu

euklidesowa

euklidesowa ważona

bezwzględna

bezwzględna ważona

0

50

100

150

200

250

300

350

0 50 100 150 200

FRR

Wartośd progu

euklidesowa

euklidesowa ważona

bezwzględna

bezwzględna ważona

0

50

100

150

200

250

300

350

0 50 100 150 200

FRR

Wartośd progu

euklidesowa

euklidesowa ważona

bezwzględna

bezwzględna ważona

Page 55: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

4. Wyniki eksperymentów biometrycznych

55

Wykresy od 4.8 do 4.10 przedstawiają liczbę poprawnych odrzuceń. Maksymalna

liczba poprawnych odrzuceń jaka może zostać osiągnięta to 51 ∗ 312 = 15912. Wynika ona

z porównania wszystkich 312 biometryk wejściowych ze wszystkimi szablonami w bazie

(schemat 4.2). Przy czym 312 biometryk będzie miało zgodne ID z numerem ID szablonu.

Biometryka jest poprawnie odrzucona gdy jej ID nie jest zgodne z ID szablonu w bazie, oraz

punktacja zgodności po porównaniu biometryki i szablonu jest powyżej wartości progu.

Jak widać na wykresach, przy niskim progu system jest bezpieczniejszy i poprawnie

odrzuca wszystkich 15912 intruzów. Wraz ze wzrostem progu maleje liczba poprawnych

odrzuceń. Przy dwóch biometrykach w szablonie liczba poprawnych odrzuceń najszybciej

maleje do zera dla metryki euklidesowej. Jest to najgorszy przypadek, gdyż już przy progu

niewiele powyżej 200 liczba poprawnych odrzuceń spadła do 0. Najlepszy wynik uzyskano

z wykorzystaniem ważonej metryki bezwzględnej (przy wartości 200 odrzucono poprawnie

prawie 14000 intruzów).

Przy czterech próbkach biometrycznych w jednym szablonie najgorszą okazuje się

ważona metryka euklidesowa a najlepszą metryka bezwzględna (wykres 4.10).

Wykresy o numerach 4.11, 4.12 i 4.13 przedstawiają FAR w zależności od progu.

Wyniki te są zależne od współczynnika poprawnych odrzuceń. Im mniejsza jest liczba

poprawnych odrzuceń, wraz ze wzrostem progu, tym większy staje się współczynnik FAR.

System staje się mniej bezpieczny, ponieważ łatwiej intruzom podszyć się pod inną osobę

zarejestrowaną w bazie systemowej przez uzyskanie wymaganej punktacji zgodności.

Natomiast, nisko ustawiony próg sprawia, że system jest bezpieczniejszy. Trudniej intruzom

przedostać się do systemu, gdyż wymagana jest niższa punktacja zgodności (większe

podobieństwo dwóch biometryk).

Na wykresie 4.11 najgorszą metryką, przy której FAR rośnie najszybciej, okazała się

metryka euklidesowa. Najbezpieczniejsza jest ważona metryka bezwzględna, przy której FAR

jest najniższe

Wraz ze wzrostem próbek biometrycznych w szablonie uzyskano gorsze wyniki FAR

dla ważonej metryki euklidesowej oraz dla ważonej metryki bezwzględnej. Wykorzystanie

metryki euklidesowej jak i metryki bezwzględnej nieznacznie zmieniło kształty uzyskanych

wykresów.

Page 56: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

4. Wyniki eksperymentów biometrycznych

56

Wykresy liczby poprawnych odrzuceń w zależności od progu:

Wykres 4.8. Poprawne odrzucenia w zależności od progu dla 2 biometryk w szablonie.

Wykres 4.9. Poprawne odrzucenia w zależności od progu dla 3 biometryk w szablonie.

Wykres 4.10 Poprawne odrzucenia w zależności od progu dla 4 biometryk w szablonie.

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

0 50 100 150 200

Licz

ba

po

pra

wn

ych

od

rzu

ceń

Wartośd progu

euklidesowa

euklidesowa ważona

bezwzględna

bezwzględna ważona

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

0 50 100 150 200

Licz

ba

po

pra

wn

ych

od

rzu

ceń

Wartośd progu

euklidesowa

euklidesowa ważona

bezwzględna

bezwzględna ważona

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

0 50 100 150 200

Licz

ba

po

pra

wn

ych

od

rzu

ceń

Wartośd progu

euklidesowa

euklidesowa ważona

bezwzględna

bezwzględna ważona

Page 57: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

4. Wyniki eksperymentów biometrycznych

57

Wykresy niesłusznych akceptacji w zależności od progu:

Wykres 4.11. FAR w zależności od progu dla 2 biometryk w szablonie.

Wykres 4.12. FAR w zależności od progu dla 3 biometryk w szablonie.

Wykres 4.13. FAR w zależności od progu dla 4 biometryk w szablonie.

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

0 50 100 150 200

FAR

Wartośd progu

euklidesowa

euklidesowa ważona

bezwzględna

bezwzględna ważona

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

0 50 100 150 200

FAR

Wartośd progu

euklidesowa

euklidesowa ważona

bezwzględna

bezwzględna ważona

0

2000

4000

6000

8000

10000

12000

14000

16000

18000

0 50 100 150 200

FAR

Wartośd progu

euklidesowa

euklidesowa ważona

bezwzględna

bezwzględna ważona

Page 58: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

4. Wyniki eksperymentów biometrycznych

58

Odpowiednie wykresy poprawnych akceptacji i FRR są do siebie symetryczne.

Podobnie jest z odpowiednimi wykresami poprawnych odrzuceń i FAR. Wynika to

z porównania wszystkich próbek wejściowych ze wszystkimi szablonami w bazie danych. Co

było założeniem testu i przedstawione jest na schemacie 4.2. Podczas działania systemu

w normalnych (nie doświadczalnych) warunkach pracy przedstawione wykresy stracą swoją

symetrię. Będzie tak dlatego, że nie jest znana liczba osób jakie będą próbowały dostać się do

systemu. Nie wiadomo też nic o liczbie potencjalnych intruzów. Zależnie od warunków pracy,

zbierane biometryki mogą się znacząco różnić od siebie lub być bardzo podobne. W takim

systemie próg decyzyjny będzie ustawiony na pewnym poziomie w zależności czy ważne jest

bezpieczeństwo czy szybkość systemu. To ustawienie zadecyduje o typie podejmowanych

decyzji.

Wykres 4.14. FAR i FRR w zależności od progu dla 4 biometryk w szablonie (kolor niebieski) i dla 2 biometryk

w szablonie (kolor czerwony) w przypadku użycia ważonej metryki euklidesowej. Powiększenie.

Analiza zbiorcza wszystkich wykresów od 4.2 do 4.13 pozwala na wyciągnięcie kilku

wniosków:

Nie możliwe jest jednoczesne osiągnięcie dużej szybkości systemu przy dużym

poziomie bezpieczeństwa. Zwiększenie liczby poprawnych akceptacji i poprawa

współczynnika FRR (zwiększenie szybkości) wiąże się ze zwiększeniem

współczynnika FAR (zmniejszenie bezpieczeństwa) wraz ze zmaleniem liczby

poprawnych odrzuceń.

Użycie metryki bezwzględnej i metryki euklidesowej w niewielkim stopniu poprawia

działanie systemu przy zwiększaniu liczby próbek biometrycznych w jednym wzorcu

biometrycznym.

0

100

200

300

400

500

600

700

800

0 50 100 150

FAR

lin

ie p

rze

ryw

ane

. FR

R li

nie

cią

głe

.

Wartośd progu

FRR (4próbki)

FAR (4 próbki)

FRR (2 próbki)

FAR (2 próbki)

Page 59: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

4. Wyniki eksperymentów biometrycznych

59

Metryki, euklidesowa ważona oraz bezwzględna ważona, znacząco zmieniły uzyskane

wyniki wraz ze wzrostem liczby próbek biometrycznych w jednym wzorcu

biometrycznym. Przy zwiększeniu liczby próbek w szablonie z 2 do 4, zerowe

wartości FRR i FAR przesunęły się w stronę niższych wartości progu. Przesunięcie

FRR w lewo jest pożądanym skutkiem ze względu na zwiększenie szybkości systemu.

Przemieszczenie wykresu FAR w lewo jest niepożądane ze względów

bezpieczeństwa. Jednak, takie jednoczesne przesunięcie obu krzywych poprawiło

wyniki. Obszar wspólny błędów FAR i FRR zmniejszył się. Przedstawiono to na

wykresie 4.14.

Zależnie od liczby biometryk w szablonie różne metryki odległości dawały

różnorodne rezultaty. Przez co, nie ma jednej uniwersalnej metryki odległościowej.

Podczas projektowania systemu należy uwzględnić działanie danej metryki

w zależności od progu.

4.3. Testy optymalizujące wartość progową

Podczas optymalizacji wartości progowej wyznaczono częstość trafień zgodnych

i częstość trafień niezgodnych w zależności od punktacji. W przykładzie zastosowano ważoną

metrykę bezwzględną. Przez punktację należy rozumieć wynik porównania (uzyskany

w komparatorze cech) próbki biometrycznej wejściowej z szablonem w bazie danych. Jednak

punktacja z wykresów nie odzwierciedla idealnie rzeczywistej punktacji zgodności. Jest tak

dlatego, że narysowane wykresy są w rzeczywistości histogramami z przedziałami co 10

punktów. Wykres trafień zgodnych odzwierciedla częstość uzyskiwania określonej punktacji

dla tożsamości „oryginalnej”. Analogicznie wykres trafień niezgodnych mówi o częstości

uzyskiwania danej punktacji przez „intruza” (rozdział 2.5, rysunek 2.8).

Opisywany test został przeprowadzony przez porównanie wszystkich 312 próbek

wejściowych ze wszystkimi 52 wzorcami bazy danych. Podczas każdorazowego porównania

wypisywano wynik punktowy uzyskany z komparatora cech. Aby rozdzielić biometryki

„intruzów” od biometryk „oryginalnych” porównywano ID i próbki posegregowano na dwie

grupy. W ostatnim kroku narysowano histogramy dla obu grup.

Dzięki uzyskanym wykresom możliwe jest wyznaczenie optymalnej wartości progu

przy której system będzie szybki bądź bezpieczny. Wykresy 4.15 i 4.16 przedstawiają

częstości trafień zgodnych i niezgodnych dla ważonej metryki bezwzględnej w przypadku

zastosowania dwóch próbek biometrycznych w jednym szablonie. Wykresy 4.17 i 4.18

używają tej samej metryki lecz przy czterech próbkach w szablonie.

Page 60: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

4. Wyniki eksperymentów biometrycznych

60

Wykres 4.15. Częstość trafień zgodnych i niezgodnych w zależności od punktacji przy zastosowaniu ważonej

metryki bezwzględnej. Na szablon biometryczny przypadają 2 próbki.

Wykres 4.16. Częstość trafień zgodnych i niezgodnych w zależności od punktacji przy zastosowaniu ważonej

metryki bezwzględnej. Na szablon biometryczny przypadają 2 próbki. Powiększenie wykresu 4.15.

Wykres 4.17. Częstość trafień zgodnych i niezgodnych w zależności od punktacji przy zastosowaniu ważonej

metryki bezwzględnej. Na szablon biometryczny przypadają 4 próbki.

0

50

100

150

200

250

300

350

400

0 200 400 600 800 1000

Czę

sto

śd t

rafi

Punktacja

trafienia zgodne trafienia niezgodne

0

10

20

30

40

50

0 50 100 150 200

Czę

sto

śd t

rafi

Punktacja

trafienia zgodne trafienia niezgodne

0100200300400500600700800900

0 200 400 600 800 1000

Czę

sto

śd t

rafi

Punktacja

trafienia zgodne trafienia niezgodne

Page 61: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

4. Wyniki eksperymentów biometrycznych

61

Wykres 4.18. Częstość trafień zgodnych i niezgodnych w zależności od punktacji przy zastosowaniu ważonej

metryki bezwzględnej. Na szablon biometryczny przypadają 4 próbki. Powiększenie wykresu 4.17.

Na wykresach widać, że trafienia zgodne mają swoje maksima blisko zera i nie

pokrywają się z maksimami trafień niezgodnych, które są znacznie oddalone od zera.

Uzyskiwane punktacje trafień zgodnych są też niższe od punktacji trafień niezgodnych (tabele

4.2 i 4.3). To właśnie dzięki tym relacjom możliwe jest działanie zaproponowanego systemu

geometrii dłoni (wykorzystującego punktację).

Błędy biometryczne powstają w miejscach w których charakterystyka trafień

zgodnych i charakterystyka trafień niezgodnych nachodzą na siebie. W zależności od

ustawionego progu powstają błędy FR lub FA (rozdział 2.5). Ważne jest aby obie

charakterystyki były jak najbardziej oddalone od siebie (maksima obu funkcji także powinny

być od siebie oddalone).

Wykresy 4.16 i 4.18 pokazują, że zależnie od stopnia nałożenia charakterystyk trafień

zgodnych i trafień niezgodnych system będzie wymagał ustawienia progu decyzyjnego

w różnych miejscach. Zależne jest to od tego czy kluczowe jest bezpieczeństwo czy szybkość

działania. Przykładowe ustawienie progu dla ważonej metryki bezwzględnej w punkcie

o wartości 26 (wykres 4.18) będzie skutkowało dużym bezpieczeństwem systemu przez

spadek FAR do zera (wykres 4.13). Powstaną jednak dość liczne błędy FR (wykres 4.7),

przez co zarejestrowanemu użytkownikowi trudniej będzie się dostać do systemu. Podczas

eksperymentu dla progu o wartości 26, FR wyniosło 125. Ustawienie progu o wartości 50

zminimalizuje błędy FR (13 błędów), wpływając automatycznie na wzrost błędów FA (113

błędów).

Podczas ustawiania progowej wartości decyzji należy wziąć pod uwagę to, że spadek

FRR wiąże się ze wzrostem FAR. Wartość punktacji przy której oba błędy występują z taką

0

50

100

150

200

0 20 40 60 80 100 120 140

Czę

sto

śd t

rafi

Punktacja

trafienia zgodne trafienia niezgodne

Page 62: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

4. Wyniki eksperymentów biometrycznych

62

samą częstotliwością wyznacza punkt EER (Equal Error Rate). Jest to miejsce przecięcia się

charakterystyki trafień zgodnych z charakterystyką trafień niezgodnych. Przykładowo, dla

ważonej metryki bezwzględnej EER wynosi około 40, dla metryki bezwzględnej 74, dla

metryki euklidesowej 23 a dla ważonej metryki euklidesowej około 13 (dane uzyskane

podczas eksperymentu).

Metryka euklidesowa podobnie jak metryka bezwzględna (co pokazano w rozdziałach

4.1 i 4.2) w bardzo niewielkim stopniu zwiększa poprawność działania systemu przy wzroście

liczby próbek w szablonie biometrycznym. Podobnie, wykresy trafień zgodnych

i trafień niezgodnych dla tych metryk niewiele się zmieniają przy wzroście próbek. Dopiero

zastosowanie ważonych metryk znacząco zmieniło uzyskane kształty wykresów. Jako

przykład wyrysowano trafienia poprawne dla ważonej metryki bezwzględnej przy zmianie

liczby próbek w szablonie (wykres 4.19).

Tabela 4.2. Charakterystyka trafień zgodnych uzyskana z wykorzystaniem ważonej metryki bezwzględnej przy

zmianie liczby próbek w szablonie biometrycznym. Wykresy numer 4.17 i 4.18 są dla 4 próbek we wzorcu,

natomiast wykresy 4.15 i 4.16 dla 2 próbek.

Liczba próbek

we wzorcu Punktacje zgodności

min.

punktacja

max.

punktacja

zakres punktacji

(max - min)

2 17,23 1280,35 1263,13

3 12,99 367,99 355,00

4 11,06 170,21 159,15

Tabela 4.3. Charakterystyka punktacji niezgodności uzyskana z wykorzystaniem ważonej metryki bezwzględnej

przy zmianie liczby próbek w szablonie biometrycznym. Wykresy numer 4.17 i 4.18 są dla 4 próbek we wzorcu,

natomiast wykresy 4.15 i 4.16 dla 2 próbek.

Liczba próbek

we wzorcu Punktacje niezgodności

min.

punktacja

max.

punktacja

zakres punktacji

(max - min)

2 51,68 9160,27 9108,59

3 35,38 9673,26 9637,88

4 29,65 1179,72 1150,07

Page 63: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

4. Wyniki eksperymentów biometrycznych

63

Wykres 4.19. Trafienia zgodne i trafienia niezgodne w zależności od punktacji dla 4 biometryk w szablonie

(kolor czerwony) i dla 2 biometryk w szablonie (kolor niebieski) w przypadku użycia ważonej metryki

bezwzględnej. Powiększenie i nałożenie wykresów 4.15 i 4.17.

Na wykresie 4.19 widać, że wraz ze wzrostem liczby biometryk przypadających na

wzorzec biometryczny wykresy trafień zgodnych i wykresy trafień niezgodnych znacząco

oddalają się od siebie. Nadal oba rozkłady prawdopodobieństwa pokrywają się w pewnym

stopniu, jednak obszar wspólny obu wykresów jest dużo mniejszy. Co więcej, uzyskane

wykresy stały się węższe (tabele 4.2 i 4.3). Spada zarówno liczba błędów FA jak i FR. Jest to

pożądany efekt optymalizujący działanie systemu.

0

20

40

60

80

100

120

140

0 20 40 60 80 100 120 140

Czę

sto

śd t

rafi

Punktacja

trafienia zgodne (2 próbki w szablonie) trafienia niezgodne (2 próbki w szablonie)

trafienia zgodne (4 próbki w szablonie) trafienia niezgodne (4 próbki w szablonie)

Page 64: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

5. Podsumowanie

64

5. PODSUMOWANIE I WNIOSKI

Przedstawiona praca pokazuje, że możliwe jest własnoręczne zaprojektowanie

i zbudowanie kompletnego systemu działającego w oparciu o geometrię dłoni. Stworzony

system nie wymagał dużych nakładów finansowych ani specjalistycznych urządzeń

wykorzystanych podczas budowy. Wymagana jest jednak pewna specjalistyczna wiedza na

temat zagadnień biometrycznych, bez której uzyskiwane wyniki byłyby gorsze i trudniejsze

do przeanalizowania.

Zadaniem postawionym w pracy było napisanie oprogramowania identyfikującego

cechy szczególne dłoni. Program rozszerzono o możliwość weryfikacji biometryczne

i dodano trzy kolejne metryki odległościowe, jakimi może posługiwać się komparator cech.

Stworzono graficzny interfejs użytkownika ułatwiający obsługę programu. W programie

zaimplementowano prostą bazę danych umożliwiającą operacje na biometrykach.

W początkowej fazie pisania oprogramowania korzystano z transformaty Hough.

Napotkano spore trudności z jej skutecznym wykorzystaniem do celów ekstrakcji cech. Może

ona jednak posłużyć podczas dalszych prac rozwojowych systemu bazującego na geometrii

dłoni.

Praca nie zakładała budowy całego systemu geometrii dłoni. Jednak w późniejszym

etapie działań zbudowano stolik biometryczny pozwalający zbierać biometryki dłoni. Dzięki

takiemu posunięciu stało się możliwe własnoręczne zebranie bazy danych próbek zdjęć dłoni.

Zbudowano bazę składającą się z 520 zdjęć, po 10 zdjęć od każdej z 52 osób. Na podstawie

zebranej bazy biometryk przeprowadzono eksperymenty biometryczne. Podczas budowy bazy

powstało wiele trudności, jak chociażby problem z odpowiednim naświetleniem podczas

pobierania próbek (rozdział 3.3).

Wyniki uzyskane podczas procesu identyfikacji biometrycznej, opisane szczegółowo

w rozdziale 4.1, przerosły oczekiwania. Udało się uzyskać poprawną identyfikację

biometryczną, dla 312 biometryk wejściowych, na poziomie powyżej 90%. Najwyższym

otrzymanym wynikiem było 97,44%. Co więcej, podczas tego procesu zauważono różnice

w wynikach przy wykorzystaniu różnych czterech metryk odległościowych. Zależnie od

liczby próbek w jednym szablonie biometrycznym, różne metryki wykazywały różne wyniki

poprawnych porównań.

W testach weryfikacji biometrycznej z rozdziału 4.2 pokazano wpływ błędów FA i FR

na poprawność działania systemu. Udowodniono, że nie możliwe jest jednoczesne

zapewnienie dużego bezpieczeństwa przy zadowalającym poziomie szybkości działania

Page 65: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

5. Podsumowanie

65

systemu. Wskazano, w jaki sposób uzyskane wyniki weryfikacji biometrycznej zmieniają się,

wraz ze wzrostem liczby próbek w szablonie, dla różnych metryk odległości. Udało się, przy

zastosowaniu ważonych metryk odległości (euklidesowej i bezwzględnej), zmniejszyć

wspólny obszar krzywych FAR i FRR. Poprawiło to jednocześnie szybkość systemu i jego

bezpieczeństwo.

Podczas testu porównano wszystkie biometryki ze wszystkimi szablonami w bazie

danych biometrycznych, przez co uzyskane wykresy poprawnych akceptacji i FRR są

symetryczne (podobnie jak wykresy poprawnych odrzuceń i FAR). Nie odzwierciedla to

pracy systemu w normalnych warunkach przy nieznanej liczbie różnych użytkowników.

Podczas testu wyszukiwania optymalnej wartości progowej narysowano histogramy

częstości trafień (wyników porównania z komparatora cech) w zależności od punktacji.

Rezultaty podzielono na trafienia zgodne i trafienia niezgodne. Pokazano, że wykresy trafień

zgodnych i wykresy trafień niezgodnych nachodzą na siebie powodując błędy. Ważne jest

poprawne ustawienie wartości progowej w celu zwiększenia bezpieczeństwa lub szybkości.

Stopień nałożenia uzyskanych wykresów rzutuje na wyniki identyfikacji biometrycznej

i weryfikacji biometrycznej.

Zbudowany własnoręcznie stolik biometryczny, wykorzystywany podczas

eksperymentów, przekazuje na własność Politechnice Poznańskiej.

Page 66: IDENTYFIKACJA OSÓB NA PODSTAWIE ANALIZY … osob na... · cech specyficznych człowieka przekształciły się w biometrię. Ciekawymi sposobami identyfikacji osób są systemy biometryczne

6. Bibliografia

66

BIBLIOGRAFIA

[1] Bolle R.M., Connell J.H., Pankanti S., Ratha N.K., Senior A.W., Biometria,

Wydawnictwo Naukowo-Techniczne, Warszawa 2008

[2] Ernst R.H., Hand ID system, US Patent No. 3,576,537. 1971

[3] Jacoby I.H., Giordano A.J., Fioretti W.H., Personal Identfication Apparatus, US

Patent No. 3,648,240. 1972

[4] Jain A.K., Ross A., Pankanti S., A prototype hand geometry-based verification system,

2nd Internationel Conference on Audio- and Video-based Biometric Person

Authentication (AVBPA), Washington 1999

[5] Kӧpf-Maier P., Atlas anatomii człowieka, Wydawnictwo Lekarskie PZWL, Warszawa

2002

[6] Marecki B., Anatomia funkcjonalna w zakresie studiów wychowania fizycznego i

fizjoterapii, AWF, Poznań 2004

[7] Miller R.P., Finger dimension comparison identification system, US Patent No.

3,576,538

[8] Nanavati S., Thieme M., Nanavati R., Biometrics Identity Verification in a Networked

World: A Wiley Tech Brief, John Wiley & Sons, Inc., USA 2002

[9] Pitas I., Digital image processing algorithms and applications, John Wiley & Sons,

Inc., NY, USA 2000

[10] Sidlauskas D.P., 3D hand profile identyfication apparatus. US Patent No. 4,736,203.

1988

[11] Waymam J., Jain A., Davide M., Maio D., Biometric Systems, Springer, UK 2005

[12] Wechsler H., Reliable Fae Recognition Methods, Springer, USA 2007

[13] Zunkel R.L., Hand geometry based verification, Recognition Systems Inc., Campbell,

USA

[14] http://www.biometricfuture.com/index.php

[15] http://www.bobpowell.net/lockingbits.htm

[16] http://www.multimedia.edu.pl/mmLab/MultimediaPL/mm_1_4.htm

[17] http://www.rob.cs.tu-bs.de/content/04-teaching/06-interactive/HNF.html