Jovanov Fingerprint Recognition Seminar

You might also like

You are on page 1of 20

Prepoznavanje otiska prsta pomoću neuronske mreže

Goran Jovanov

1 UVOD
U modernom svijetu pouzdano je osiguranje jedna od najpoželjnijih odlika. Bez pouzdanog
osiguranja ugrožene su brojne svakidašnje aktivnosti kao na primjer:
 zaštita osobnih računala, prijenosnih računala, mobilnih telefona, internetskih radnji
i sličnih pomagala od uporabe neovlaštenih osoba
 zaštita motornih vozila, strojeva i drugih vrijednih predmeta od neovlaštene uporabe
ili pristupa
 sprječavanje krađe i krivotvorenja pri financijskim transakcijama, a posebno
elektronskih radnji, uključujući plaćanja s kreditnim karticama i plaćanja preko
interneta
 omogućavanja pristupa radnim mjestima, skladištima i područjima povećane
sigurnosti, kao i vojnih područja, isključivo ovlaštenim osobama
 nadzor pristupa obavljanja usluga javnog prijevoza, posebno u zračnom prometu
 provjera identiteta pojedinaca u vozačkoj dozvoli, kartici zdravstvenog osiguranja,
osobnoj iskaznici i sličnim dokumentima

Značajan čimbenik pri postizanju sigurnosti je identifikacija osobe ili provjera da li je osoba
baš ta za koju se izdaje. Provjera mora biti pouzdana, brza, da ne zadire u tijelo i za
primjerenu cijenu. U prošlosti se provjera te vrste temeljila na sigurnosnim karticama,
privjescima, lozinkama, PIN-kôdovima, potpisima ili čak na prepoznavanju osobe pri službi
osiguranja ili portira. Svi ti načini su glede zahtjeva u suvremenom svijetu postali
nepouzdani i jako ograničeni. Budućnost je na strani biometrije. Biometrija nudi
jednostavno, pouzdano i povoljno rješenje pri provjeri identiteta korisnika, koju možemo
koristiti i u nekontroliranim i udaljenim područjima.
Biometrijski način identifikacije pojedinca znači individualno uvažavanje čovjekovih fizičkih
svojstava ili značajki ponašanja i evidentiranje, te pohranu tog uzorka (zvan i živi uzorak),
u standardnom podatkovnom obliku. Taj uzorak se u postupku identifikacije uspoređuje s
uzorkom (zvan i memoriran uzorak ili potpis) koji se temelji na istim značajkama, a
pohranjen je u sigurnosnom sustavu. Usporedba oba uzorka potvrđuje ili negira identitet
pojedinca.
Pri takvoj identifikaciji je pozornost usmjerena na mali broj fizičkih značajki koje pripadaju
isključivo jednoj osobi. Tu spadaju boja glasa, način hoda, značajke lica, uzorak šarenice,
otisak dlana i prstiju. (DNK nije pritom uključen jer je uzimanje uzorka DNK dugotrajno i
znači zahvat u tijelo). Najbolje usavršen, napredan i najrazvijeniji način je provjera na
temelju otisaka prstiju.
Dugogodišnja istraživanja i pokusi kažu nam da su otisci prstiju trenutno najpouzdaniji
način provjere identiteta osoba. Unatoč nekim sudskim postupcima u SAD-u, još uvijek su
otisci prstiju nedvojben dokaz identiteta pojedinca. Većina današnjih biometrijskih sistema
temelji se na prepoznavanju otisaka prstiju.
Fiziološki je otisak prsta konfiguracija grebena s porama koje dijele doline. Leže na žilama,
odmah pod kožom. Morfologija (oblik) otiska prsta je povezana sa specifičnim električnim i
toplinskim značajkama kože. To znači da svjetlost, toplina ili električni napon (ili
kombinacija svih) možemo koristiti za evidentiranje slike otiska prsta. Otisak prsta nastane
još pri razvoju embrija i ne mijenja se sa starošću osobe, nego raste u svojem prvobitnom
obliku i kad se završi rast osobe, ostaje u svojoj veličini nepromijenjen. Upravo tako se po
oštećenju obnovi u prvobitni oblik. Jednojajčani blizanci nemaju jednake otiske prstiju.
Mali postotak populacije (npr. rudari i mali broj glazbenika) ima oštećene otiske prstiju,
zbog stalnog trenja. U razvijenim državama je taj postotak zanemariv i ne predstavlja
spomena vrijedne poteškoće za identifikacijske sustave koji se temelje na otiscima prstiju.
Za evidentiranje značajki uzorka otiska prsta postoji već algoritamska metoda.
Najproširenije metode temelje se na prepoznavanju uzorka ili izvodu minucija. U slučaju
algoritma koji se temelje na minucijama otisak prsta sastavljen je od grubih značajki kao
što su vitice, krakovi i zavijuci, te od sitnih značajki (minucija) a to su prije svega bifurkacije
(račvanja), delte, (spajanja u obliku slova Y) i završetaka grebena. Otisak prsta ima
između 30 i 40 minucija. Značajka svake od njih je položaj (koordinate), tip (bifurkacija,
delta ili završetak) i usmjerenost (orijentacija). Skup značajki minucija daje predložak za
otisak prsta. Ako su značajke detaljno evidentirane, mogućnost da se nađu dva otiska
prsta jednakih značajki, je izuzetno niska.

Slika 1. Minucije tipičnog otiska prsta

Elektronsko evidentiranje slika i algoritmi za raspoznavanje uzoraka danas su dovoljno


razvijeni da uzorak otiska prsta automatski obrade i pohrane. U više slučajeva postoje za
taj postupak i standardi. Ti standardi postoje za uzorke koji se temelje na minucijama.
Najviše korišten je standard koji u SAD propisuje NIST (National Institute of Standards and
Technology). Unatoč tome je određivanje standarda zapreka za fleksibilnost ljudi koji
razvijaju algoritme, i ograničava njihovu intelektualnu svojinu. Tako nailazimo na raskorak
između određivanja standarda i između preciznosti i brzine, kad se radi o standardizaciji
procesa.

1.1 Ekstrakcija predloška ili uzorka


Zbog sigurnosnih razloga kao i zbog veličine i ograničenja baze podataka, nije primjerena
pohrana slike cijelih otisaka prsta (na sigurno područje možemo pohraniti usporednu sliku
otiska prsta, premda ona nije potrebna za djelovanje sustava). Normalan postupak znači
ekstrakcija jedinstvenog predloška iz slike otiska prsta, uz uporabu prepoznavanja uzorka
minucija, kako je već prije opisano. Za vrijeme registracije dobit ćemo tako registriran
predložak, a za vrijeme provjere uzorkovani predložak. Postupak je u oba slučaja jednak.
Razlozi za to su brojni:
 tipični broj 36 minucija, od kojih svaka ima 4 byte, zauzima ukupno 144 byta.
 iz predloška ne možemo rekonstruirati sliku otiska prsta. To bitno umanjuje
mogućnost zloporabe, pronevjere, neovlaštenog ulaska u baze podataka itd.
 uzorak se dalje može stisnuti svakim standardnim algoritmom za stiskanje
podataka. Ako je potrebno, može se i šifrirati. Taj oblik je značajan prije svega pri
uporabi čitača pametnih kartica, koji su opremljeni čitačem otisaka prstiju, jer su
ključni čimbenici zauzimanje podatkovnog prostora i sigurnosni stupanj.

1.2 Usporedba predloška i uzorka


Zadnji korak u postupku uspoređivanja je usporedba uzorka s više predložaka i potvrda
istovjetnosti (identifikacija) ili s jednim predloškom ili potvrda bliskosti (potvrda
autentičnosti). Praktično je nevjerojatno da bi se uzorak i predložak sasvim poklopili.
Razlog tome su približavanja u postupku očitavanja otiska (pri 50 µm rezolucije je to
daleko od točnosti), pomaci slike i sam postupak izrade ekstrakcije minucija. Za usporedbu
predloška i uzorka se upotrebljava usporedni algoritam koji provjerava i uspoređuje
različita usmjerenja slike i stupanj sukladnosti s minucijama, i izražava je u brojčanoj
vrijednosti poklapanja. Iznad određenog nivoa potvrđena je sukladnost. Tu nastaju dvije
vrste mogućih greški:
Pogrešna potvrda jer neodgovarajući uzorak i predložak daju dovoljno visoku vrijednost
da budu označeni kao sukladni. To je neovlaštenoj osobi dostatno da uđe u sustav.
Vjerojatnost da se to dogodi određuje stupanj FAR (False Acceptance Rate).
Pogrešno odbijanje jer odgovarajući uzorak i predložak ne daju dovoljno visoku
vrijednost pa se označavaju kao nesukladni. Odbijanje sprečava ovlaštenoj osobi uporabu.
Vjerojatnost da se to dogodi, određuje stupanj FRR (False Rejection Rate).
Presjek je točka gdje se sijeku vrijednosti FAR i FFR.

Slika 2. FAR/FFR i njihovo sjecište

Cilj proizvođača sustava čitača otisaka prstiju su što niže vrijednosti FAR i FFR, premda u
praksi postoji raskorak među njima. Smanjenje FAR znači povećanje FRR i obrnuto.
Razuman cilj je točka kad obje vrijednosti i posljedice greški ne predstavljaju spomena
vrijedno ugrožavanje sigurnosti. Posljedice pogrešnog odbijanja (FRR) sežu od štetnih do
po život opasnih, ovisno o području uporabe. Neki su sustavi dostatno napredni da
uključuju različite uređaje za osiguranje od posljedica pogrešnog odbijanja. Npr. osoba
mora ponoviti postupak očitavanja otiska ili je za tu osobu unijeto više predložaka.
Sam postupak provjere sukladnosti predloška i uzorka je stvar programske opreme i ne
ovisi o načinu snimanja otiska prsta. Unatoč tome je visoko-kvalitetna slika uvjet za što niži
stupanj FAR i FFR.

2 PREGLED POSTOJEĆIH RIJEŠENJA

Slika 3. Dijagram toka identifikacije/klasifikacije otiska prsta

Danas postoji jako puno riješenja za klasifikaciju i identifikaciju na temelju otiska prsta.
Razlika između klasifikacije i identifikacije je ta što se kod klasifikacije gleda samo
pripadnost otiska prsta u neku od 6 mogućih klasa (slika 4.):
Slika 4. Primjeri klasa otisaka prsta

Dok se kod identifikacije određuje pripadnost nekog otiska prsta nekoj osobi, tj. ta osoba
se identificira na temelju otiska prsta. Neki sustavi danas rade tako da se za određeni
primjer otiska prsta, na temelju kojeg se želi identificirati neku osobu, najprije provjerava
da li je nepoznati otisak prsta ista klasa, s ostalim otiscima iz baze, te ukoliko se ustanovi
ista klasa s nekom od ostaka iz baze, onda se radi ekstrakcija značajki, te provjera na
temelju njih. Na taj način se brže obavlja identifikacija, jer sama ekstrakcija značajki i
identifikacija traje puno dulje, nego pronalaženje klase otiska prsta. Ovaj način pogodan je
pogotovo kod većih baza otisaka.
Značajke se izvlače na temelju dobivenih minucija. Minucija može biti završetak i grananje
grebena, kako je prikazano na slici 5.,
Slika 5. Mogući tipovi značajki: (a) završetak grebena; (b) grananje grebena

s tim da su za svaku minuciju moguće značajke koje se mogu izvlačiti slijedeće:


 koordinate minucije (x, y);
 srednje lokalno usmjerenje minucije;
 tip minucije: ‘b’ za bifurkaciju ili ‘e’ za završetak grebena (end point).

Neuronske mreže se često koriste za ekstrakciju značajki ili za klasifikaciju otiska prsta,
dok se identifikacija često radi nekakvim usporedbenim algoritmima.
Neka od postojećih riješenja klasifikacije otiska prsta su implementirana višeslojnom
samoorganizirajućom mrežom, dok druga koriste neke od poznatih algoritama grupiranja
kao što je algoritam K-najbližih susjeda.
Jedan od osnovnih problema identifikacije neuronskom mrežom, je to što otisak prsta ima
varijabilan broj značajki, a neuronska mreža ima fiksan broj ulaza. Dakle problem se svodi
na uspoređivanje skupova značajki, što se puno brže i jednostavnije obavlja usporedbenim
algoritmima.
Ovaj problem se može riješiti na način da se pronađe centar otiska prsta (core point), te se
na temelju centra podijeli slika podijeli na 9 regija (slika 6.).

Slika 6. Segmentacija slike u 9 regija

Na ovaj način se problem svodi na fiksan broj značajki po regijama, što omogućava
rješavanje identifikacije višeslojnim back-propagation perceptronom. Uz to je riješen i
problem invarijantnosti na translaciju jer se pronalaskom centra otiska prsta on uzima kao
referentna točka, te se segmentacija u 9 regija izvodi u odnosu na njega.
Invarijantnost na rotaciju se može postići tako da se za centar otiska odredi usmjerenje, te
da se segmentacija regija odredi na temelju centra otiska i njegovog usmjerenja.
3 OPIS IMPLEMENTACIJE SUSTAVA
Ideja implementacije ovog sustava bila je izraditi sustav za automatsko identificranje na
temelju otiska prsta pomoću neuronske mreže. Sam postupak identifikacije se može
podijeliti na nekoliko koraka, kako je prikazano na slici 7:

Slika 7. Dijagram toka procesa identifikacije

3.1 Prikupljanje slika otisaka prstiju


U prvom koraku potrebno je prikupiti slike otisaka prstiju koje će sačinjavati bazu svih
otisaka koji će se obrađivati. Ovdje spadaju dva skupa. Skup za treniranje (učenje)
neuronske mreže i skup za testiranje naučenosti mreže.
Kao skup slika koristili smo FVC-ove (Fingerprint Verification Competition) baze otisaka
prstiju, koje su dostupne na internetu.

3.2 Poboljšavanje kvalitete slika


Kako su same slike otisaka prstiju rijetko savršene (nisu pogodne za ekstrakciju značajki),
potrebno je slike obraditi postupcima poboljšavanja kvalitete slika (image enhancment).
Slika 8. Dijagram toga postupka poboljšavanja kvalitete slike (image enhancment)

Sam postupak image enhancment-a može se podijeliti u nekoliko koraka, kako je


prikazano na slici 8. Prvi korak poboljšavanja kvalitete slike je segmentacija slike, odnosno
razdvajanje slike na pozadinski dio i dio u kojem se nalazi otisak prsta, odnosno grebeni i
doline otiska. To se postiže podjelom slike na blokove određene velilčine i usporedbom
varijance piksela tog bloka sa definiranim pragom (slika 9.).

Slika 9. Segmentacija slike otiska prsta

Zatim slijedi korak normalizacije kako bi slika imala predefiniranu srednju vrijednost i
varijancu. Ovaj korak je potreban zbog nastajanja imperfekcija kao što su nejednolika
raspodjela intenziteta tinte, kao i nejednolikog kontakta prsta i uređaja za skeniranje, što
za poslijedicu ima distorzirane razine sivih boja grebena i dolina otiska.
Slika 10. Orijentacija grebena

Slijedi korak određivanja orijentacije grebena, koja je potrebna za izvođenje Gabor filtera
(slika 10.). Orijenatacije se određuju za pojedini blok, a računaju se uprosječavanjem
vrijednosti dobivenih sa horizontalnim i vertikalnim Sobel operatorom na svakom pikselu u
bloku.
Određivanje frekvencije grebena također se određuje za pojedini blok, a dobiva se na
način da se napravi projekcija vrijednosti piksela bloka u smjeru okomitom na orijentaciju
tog bloka. Time se dobiva sinusoidalni valni oblik, kod kojeg se traže minimumi i na
temelju udaljenosti tih minimuma računa frekvencija. Kod otisaka lošije kvalitete dolazi do
pojave nekih lokalnih minimuma, koje izbjegavamo izglađivanjem valnog oblika, te nekim
heurističkim pravilima (slika 11.).

Slika 11. Određivanje frekvencije grebena: (a) Slika bloka; (b) Projekcija vrijednosti
pikselau smjeru okomitom na orijentaciju bloka; (c) Izglađeni oblik projekcije.

Vrijednosti orijentacije i frekvencije grebena blokova upotrebljavaju se pri filtriranju slike


Gabor filterom. Gabor filter je zapravo sinusoidalni oblik moduliran Gausom u 2D prostoru
(slika 12.).
Slika 12. Valni oblik funkcije Gabor filtera u 2D prostoru

Gabor filter riješava isprekidane grebene, odnosno na temelju lokalne orijentacije i


frekvencije grebena, spaja prekinute grebene (slika 13.). Ovo je korisno jer ukoliko se
pojavljuje prekid grebena, onda bi se pri samoj ekstrakciji značajki za neuronsku mrežu,
pojavljivalo jako puno nepostojećih minucija na mjestima prekida.

Slika 13. Originalna slika otiska i pripadna filtrirana slika

Nakon toga slijedi korak binarizacije, odnosno na temelju globalnog praga neki se piksel
postavlja u 0 ako ima vrijednost manju od praga, a inače u 1 (slika 14. b). Zadnji korak
image enhancment-a je stanjivanje rubova na debljinu jednog piksela kako bi se mogle
točno odrediti značajke otiska (slika 14. c).
Slika 14. Originalna slika otiska i pripadna filtrirana slika

3.3 Izvlaĉenje minucija i znaĉajki otisaka


Nakon poboljšavanje kvalitete slike, slijedi izvlačenje minucija i ekstrakcija značajki koje se
dovode na ulaz neuronske mreže.
No kako se često pojavljuju i lažne minucije, potrebno je postprocesiranje slike nakon
izvlačenja minucija, odnosno uklanjanje lažnih minucija. Postoje slijedeći tipovi lažnih
minucija (slika 15.):

Slika 15. Tipovi lažnih minucija: (a) izbočina; (b) rupa; (c) trokut; (d) šiljak

Lažne minucije detektiraju se postavljanjem prozora oko pozicije minucije i označavanjem


grebena koji vode od pozicije te minucije do granica tog prozora. Brojanjem završetaka
grebena na tom okviru zaključujemo da li je to ispravna minucija ili lažna. Završetci
grebena trebaju imati točno jedan završetak na okviru, dok grananja trebaju imati 3
završetka. Minucije koje su blizu kraja segmentirane slike, tj. nalaze se u rubnim bloku se
također izbacuju jer su i te minucije večinom lažne.

3.4 Uĉenje neuronske mreže


Naime postoji varijabilan broj značajki otisaka prsta, što predstavlja problem pri dovođenju
značajki na ulaz neuronske mreže, jer ona može imati fiksan broj ulaza. Zbog toga se
naše rješenje temelji na pronalaženju centra otiska prsta (core point) kao i usmjerenja
istog. Centar otiska prsta definiran je kao pozicija na kojoj se očituje najveća promjena
orijentacije grebena. Naša metoda koristi adaptiranu verziju te definicije, tako da tražimo
moguće centre između blokova. Dakle centar će se nalaziti na granici 4 susjedna bloka.
Orijentaciju određujemo heurističkim metodom, koja traži 10 najbližih pravaca (od centra
otiska) koji prolaze kroz centar pojedinog bloka i imaju orijentaciju istu kao i taj blok.
Orijentacije tih 10 najbližih pravaca se uprosječavaju i određuju orijentaciju otiska prsta.
Otisak se zatim podijeli na 9 regija u odnosu na pronađeni centra prsta i njegovu
orijentaciju. Veličina regije oko centra ovisi o rezoluciji skeniranja otiska. Uzimamo da
veličina te regije bude otprilike 1/6 do 1/4 veličine otiska. Primjer regija za jedan otisak
prsta su prikazane na slici 16:

Slika 16. Podijela otiska u 9 regija

Nakon podjele slike u 9 regija, na ulaz neuronske mreže s 9 ulaza dovodi se broj značajki
u pojedinoj regiji, s time da se ne radi razlika između završetka i grananja regija. Razlog
zbog čega se ne razlikuju značajke završetka i grananja grebena je taj što se pri postupku
poboljšavanja kvalitete slike, preciznije pri izvođenju Gabor filtera, može desiti da se spoji
neki završetak grebena s nekim drugim grebenom, tako da nastane grananje grebena. Ili
premda postoji neko grananje grebena, zbog nedovoljne kvalitete slike (prekinutosti
grebena) možda se pronađe završetak grebena. Dakle, nakon pretprocesiranja slike i
izvlačenja značajki otiska prsta, slijedi proces učenja neuronske mreže. Za neuronsku
mrežu koristili smo višeslojni perceptron sa sigmoidalnom aktivacijskom funckijom. Mreža
se sastoji od 9 ulaza u ulaznom sloju, nekoliko skrivenih slojeva, te od izlaznog sloja koji
ima onoliko neurona koliko imamo izlaznih klasa, odnosno broja otisaka u bazi. Broj
skrivenih slojeva, kao i broj neurona po slojevima, mijenjali smo kako bi odredili
najprikladniju mrežu. Dakle mrežu koja je mogla naučiti sve primjere za učenje i koja bi
dobro generalizirala na primjerima za testiranje, uzimajući u obzir performanse (vrijeme
učenjenja).
Mrežu smo trenirali pomoću backpropagation algoritma kojeg smo implementirali na tri
načina. Tipovi backpropagation algoritma su:
 s konstantnom stopom uĉenja (obična verzija): Vrlo je osjetljiv na postavljenu
vrijednost stope učenja. Ako je prevelika, može doći i do oscilacija, pa mreža nikada
neće naučiti primjere za učenje, a ako je premala mreža će presporo učiti.
 s varijabilnom stopom uĉenja: Problem koji se pojavljuje kod BP s konstantnom
stopom učenja je riješen. Stopa učenja se drži dovoljno visokom tako da algoritam
brzo konvergira, ali da je još uvijek stabilan. Stopa učenja se mijenja po heurističkim
pravilima na način da se najprije izračunaju nove vrijednosti težina i pragova u
nekoj epohi, te se zatim računaju greške na izlazu, te ukoliko je je greška veća za
4% od greške u prethodnoj epohi, onda se nove težine odbacuju, te se stopa
učenja smanjuje još za 30%. U protivnom se težine i pragovi sačuvaju, te se nova
stopa učenja poveća za 5%.
 resilient backpropagation: Ova verzija algoritma je otporna na zasićenja neurona,
što za poslijedicu ima znatno ubrzanu konvergenciju. Algoritam radi tako da koristi
samo predznak derivacije za promjenu novih težina i pragova, tako da amplituda
nema efekta. Svaka težina i svaki prag imaju posebnu vrijednost promjene.
Vrijednosti promjene težina i pragova se povećavaju za faktor delt_inc, ukoliko je
predznak derivacije, s obzirom na težine, isti kao kroz dvije susjedne iteracije.
Ukoliko se predznak derivacije mijenja, sobzirom na težine, kroz dvije neposredne
iteracije, onda se vrijednosti težina i pragova smanje za faktor delt_dec. Ukoliko je
derivacije jednaka nuli, onda se težine ne mijenjaju.

3.5 Identifikacija nauĉenom mrežom


Konačno nakon što je mreža naučila primjere za treniranje, može se koristiti skup primjera
za testiranje kako bi se utvrdila svojstva generalizacije mreže. Naravno, ukoliko nismo
zadovljni njenim svojstvom generalizacije na skupu primjera za testiranje, možemo se
vratiti na korak učenja mreže. Postupak učenja možemo ponavljati sve dok ne dobijemo
zadovoljavajuća svojstva generalizacije na primjerima za testiranje.
Identifikacija se obavlja na način da se na ulaze mreže dovede broj značajki u pojedinim
regijama otiska prsta, te mreža na temelju naučenih težina i pragova izračunava izlaz
mreže. Pri tom se kao rezultat dobije postotna pripadnost predočenog primjera svakoj od
klasa.
3.6 Suĉelje sustava

Slika 17. Sučelje programa (kartrični prozor s učenjem i treniranjem mreže)

Sučelje programa se sastoji od dva kartrična prozora i to:


 za učenje i testiranje mreže (slika 17.) – Learning and testing
 za obradu slike (slika 18.) – Image processing
Slika 18. Sučelje programa (kartrični prozor za procesiranje slike)

Ukoliko ne postoje prethodno procesirane slike, onda se pomoću tab-prozora za obradu


slike, mogu najprije učitati slike pomoću tipke Open, pri čemu se originalana slika otiska
prsta prikazuje u lijevom dijelu prozora, dok se s desne strane prikazuje obrađena slika po
default-nim postavkama segmentacije, normalizacije i Gabor filtera. U gornjem desnom
kutu nalaze se funkcijske tipke kojima se može prikazati pojedina faza obrađene slike.
Dakle mogu se prikazati faze segmentacije, normalizacije, određivanja orijentacije, Gabor
filtera, binarizacije, stanjivanja slike i izvlačenja značajki. Također postoje tipka Process,
koja služi služi da nakon što se promjene default-ne postavke za procesiranje, da se
ponovo procesira slika po tim postavkama, te tipka Test, koja na temelju izvučenih
značajki iz slike otiska prsta, testira trenutno naučena mreža. Pri tom se u Inputs dijelu
prikazuju ulazi mreže, odnosno izvučene značajke, dok se u Outputs dijelu prikazuju deset
izlaza s najvećim vrijednostima. Ekstrakcija značajki nekog skupa slika otisaka prsta se
izvodi pritiskom na tipku Open FVC set, pri čemu se značajke skupa zapisuju u datoteku s
istim nazivom kao i direktorij skupa, plus ima samples dodatak u nazivu, te se ta datoteka
stvara u roditeljskom direktoriju direktorija tog skupa.
Nakon što su izvučene značajke određenog skupa otisaka prstiju, može se početi trenirati
mreža u tab-prozoru za učenje i testiranje. S lijeve strane ovog prozora nalazi se tablica
(slika 19.), u kojoj se definiraju broj ulaza mreže, broj skrivenih slojeva, kao i broj neurona
po tim slojevima, te broj izlaza mreže. Nulti redak te tablice predstavlja broj ulaza a zadnji
redak broj izlaza iz mreže. Ukoliko postoje, retci između predstavljaju broj neurona u
skrivenim slojevima mreže, onim redoslijedom kako su definirani u tablici.
Slika 19. sučelje programa (opcije za kreiranje mreže)

Desni dio ovog prozora sadrži funkcije za učitavanje, spremanje i evaluiranje primjera za
treniranje i testiranje. Gornja tablica (slika 20.) predstavlja primjere za treniranje mreže,
dok donja tablica (slika 21.) predstavlja primjere za testiranje mreže. Svaka od ovih tablica
sadrži po šest stupaca. Prvi stupac sadrži redni broj primjera. Drugi i treći sadrže ulaznu i
očekivanu izlaznu vrijednost primjera, dok četvrti stupac sadrži informaciju o izlazima
mreže (moguć je grafički ili numererički prikaz). Peti stupac daje informaciju o polovici
kvadratne pogreške očekivanog i dobivenog izlaza mreže, a šesti stupac daje informaciju
o tome da li je mreža ispravno naučila određeni primjer (Y/N).

Slika 20. Sučelje programa (primjer tablice primjera za treniranje)

U ovom tab-prozoru nalaze se još i Backpropagation opcije (slika 22.). Dakle opcije koje
se mogu podešavati za backpropagation algoritam su slijedeće: stopa učenja, broja epoha
i srednja kvadratna pogreška. Uvjet zaustavljanja može biti: dosegnut određen broj epoha,
razina kvadratne pogreške manja od zadanog praga, ili dok se ne zadovolji jedan od ta
dva uvjeta. Zatim se može odabrati tip backpropagation algoritma: s konstantnom stopom
učenja, s varijabilnom stopom učenja ili resilient backpropagation. U ovim postavkama
nalazi se još i opcija za mijenjanje intervala osvježavanja kod iscrtavanja informacija
tijekom učenja mreže.
Slika 21. sučelje programa (primjer tablice primjera za testiranje)

U ovom dijelu prozora također se nalaze ispisi srednje kvadratene pogreške (MSE)
primjera za treniranje i testiranje, te broj i postotak ispravno klasificiranih primjera za
učenje i testiranje. Vrijeme osvježavanje ovog ispisa, kao i vrijeme osvježavanja status
bara (slika 23.), koji se nalazi pri dnu prozora, se reguliraju mijenjanjem postavke Refresh
interval.

Slika 22. sučelje programa (backpropagation postavke)

U status baru se u prvom dijelu informira o tijeku i stanju akcija koje se obavljaju
(učitavanje primjera, stvaranje i učenje mreže). Zatim, u drugom se dijelu prikazuje
informacija o proteklom vremenu tijekom učenja. Treći dio sadrži informaciju o trenutnoj
MSE, gradijentu, kao i trenutnoj stopi učenja. Zadnji dio prikazuje informacije o broju
trenutne epohe, brzini učenja (broj epoha u sekundi, broj neurona u sekundi i broj trežina u
sekundi).

Slika 23. sučelje programa (status bar)


4 REZULTATI I ZAKLJUĈAK
Implementirali smo proces identifikacije otisaka prstiju sa dodatnim koracima
pretprocesiranja slike kojima se poboljšava kvaliteta slike i povećava točnost identifikacije
otiska. Za klasifikaciju značajki otiska u klasu osobe kojoj taj otisak pripada koristili smo
putpuno povezanu neuronsku mrežu. Mrežu smo trenirali sa Backpropagation algoritmom.
Koristili smo više varijanti tog algorimta: učenje sa konstantnom pogreškom, učenje sa
varijabilnom pogreškom, te otporni BP (Resilient BP). Utvrdili smo da je Resilient BP
najprikladniji za ovaj primjer raspoznavanja uzoraka, što se objašnjava samim načinom
rada tog algoritma, tj. njegovom otpornošću na zasićenje neurona.
Parametri metoda pretprocesiranja moraju se prije uporabe prilagoditi setu otisaka koje
želimo obrađivati. Razumno je za pretpostaviti da će slike otisaka iz istog izvora poprimati
relativno slična svojstva (smetnje, kontrast, deformacije). Segmentacija se mora prilagoditi
varijanci slike, a normalizacijom poboljšavamo pretamne ili presvijetle slike. Faktor Gabor
filtera također ovisi o veličini slike, za veće slike potreban je veći faktor. Kvaliteta Gabor
filtera uvelike ovisi o određivanju ispravne orijentacije i frekvencije blokova. Metoda
određivanja orijentacije je vrlo dobra, a greške su moguće tek za blokove u kojima
nedostaju veliki djelovi otiska. Određivanje frekvencije je također dobro, a tome pridonosi
to što se za dobivene frekvencije koje se malo više razlikuju od frekvencija susjednih
blokova, ne uzima ta frekvencija, već se uzima prosjek okolnih blokova i pridodjeljuje tom
bloku. Time se izbjegavaju velike varijacije frekvencija blokova. Odabirom relativno dobrih
orijentacija i frekvencija blokova rezultati Gabor filtera su zapanjujući. Binarizacija i
stanjivanje također daju dobre rezultate, a detekcijom krajnjih i lažnih minucija također se
poboljšava ispravna klasifikacija. Automatskom detekcijom centra otiska, te pronalaženjem
orijentacije centra otiska, osigurava se invarijantnost na rotaciju i translaciju, a odabirom
veličine centralne regije (koja je zapravo proporcionalna sa rezolucijom slike) osigurava se
invarijantnost na sklairanje.
Za potrebe našeg testiranja odabrali smo set otisaka FVC2002 DB1 prikupljenu preko
optičkog senzora pri rezoluciji od 500 dpi, te veličini slike od 388x374 piksela. Set se
sastoji od 10 otisaka od kojeg svaki ima 8 uzoraka. Dakle naša neuronska mreža imat će 9
ulaza (9 regija otiska), te 10 izlaza (10 različitih otisaka). Eksperimantalnim određivanjem
utvrdili smo da je dovoljan jedan skriveni sloj sa 20 neurona. Set otisaka podjelili smo na
set za učenje i set za testiranje. Treniranjem mreže sa raznim podjelama setova dobili smo
uspješnost identifikacije od oko 50% ispravno identificiranih otisaka. Detaljnim pregledom
seta otisaka utvrdili smo iznimke nekih otisaka (nedostaje više od pola otiska).
Izbacivanjem tih iznimaka uspješnost se povećala na oko 70% ispravno identificiranih
otisaka.
Daljnja poboljšanja su naravno moguća. Procjena frekvencija blokova koristi određena
heuristička pravila koja se daju poboljšati. Detekcija centra otiska u nekim slučajevima
rezultira krivim pronalaženjem centra (pogotovo ako nedostaje gornji dio otiska). Detekcija
orijentacije otiska kod otisaka klase 'Whorl' može se poboljšati uvođenjem dodatnih
heurističkih pravila. Odabrani način kodiranja otiska može se primjeniti sa nekakvih drugim
načinom.
Zaključujemo da je odabir kodiranja otiska, gdje se variabilan broj značajki predstavlja
fiksnim vektorom, ključni faktor za poboljšanje ispravne klasifikacije. Algoritmi koji direktno
rade sa variablnim skupom značajki daju dosta bolje rezultate od onih koji zahtjevaju fiksni
broj značajki.
5 LITERATURA

5.1 ĈLANCI
[1] A Direction-Based Vascular Pattern Extraction Algorithm for Hand Vascular Pattern
Verification, Authors: Sang Kyun Im, Hwan Soo Choi, and Soo-Won Kim
[2] A two-stage fingerprint classification system, Authors: Raffaele Cappelli Dario Maio
Davide Maltoni Loris Nanni
[3] Combining Flat and Structured Representations for Fingerprint Classification with
Recursive Neural Networks and Support Vector Machines, Authors: Paolo Frasconi Fabio
Roli
[4] Fingerprint Classification and Matching, Authors: Anil Jain Sharath Pankanti
[5] Fingerprint Classification by Directional Image Partitioning, Authors: Raffaele Cappelli,
Alessandra Lumini, Dario Maio, Member, IEEE, and Davide Maltoni
[6] Fingerprint Classification Through Self Organizing Feature Maps Modified to Treat
Uncertainties, Authors: UGUR HALICI, GUCLU ONGUN
[7] Fingerprint Classification with Combinations of SVM, Authors: Yuan Yao, Paolo
Frasconi, and Massimiliano Pontil
[8] Fingerprint Classification with Neural Networks, Authors: Hugo Vieira Neto, Dibio
Leandro Borges
[9] Fingerprint Image Enhancement and Minutiae Extraction, Author: Raymond Thai
[10] Fingerprint Image Enhancement using Filtering Techniques, Authors: Shlomo
Greenberg, Mayer Aladjem, Daniel Kogan and Itshak Dimitrov
[11] Neural networks, Pattern Recognition and Fingerprint Halluctination, Author: Eric
Mjolsness
[12] New Fingerprint Image Enhancement Using Directional Filter Bank, Authors: Sang
Keun Oh, Joon Jae Lee, Chul Hyun Park, Bum Soo Kim, Kil Houm Park
[13] Region of interest detection for fingerprint classification, Authors: John M. Trenkle
[14] Robust Fingerprint Classification using an Eigen Block Directional Approach, Authors:
P Madhusoodhanan Sumantra Dutta Roy
[15] Advances in Fingerprint Recognition at CUBS, Author: Venu Govindaraju
[16] Orientation estemation: Conventional techniques and a new non-differential Approach,
Author: Rudolf Mester
[17] Feature Extraction Using a Chaincoded Contour Representation of Fingerprint
Images, Authors: Venu Govindaraju, Zhixin Shi
[18] Fingerprint Recognition, Author: Anthony Lum
[19] Direct Gray-Scale Minutiae Detection In Fingerprints, Authors: Dario Maio, Member,
IEEE, and Davide Maltoni
[20] Verification of Ink-on-paper Fingerprints by Using Image Processing Techniques and
a New Matching Operator, Authors: Vincenzo Conti, Giovanni Pilato, Salvatore Vitabile,
Filippo Sorbello
[21] A Comparison of Gabor Filter Methods for Automatic Detection of Facial Landmarks,
Authors: Ian R Fasel, Marian S Bartlett, Javier R Movellan
[22] Pattern matching on vector fields using Gabor filter, Authors: Julia Ebling and Gerik
Scheuermann
[23] Fingerprint Matching using Gabor Filters, Authors: Muhammad Umer Munir and Dr.
Muhammad Younas Javed
[24] A modified filter design method for fingerprint image enhancment, Authors: Jianwei
Yang, Lifeng Liu, Tianzi Jiang, Yong Fan

5.2 LINKOVI
[1] http://www.google.com/
[2] http://intl.ieeexplore.ieee.org/
[3] http://www.ee.iitb.ac.in/~sumantra/publications/
[4] http://www.icassp2005.com/Papers/AcceptedList.asp
[5] http://csdl2.computer.org/persagen/
[6] http://www.informatik.uni-trier.de/~ley/db/conf/icvgip/icvgip2004.html
[7] http://www.cse.msu.edu/rgroups/prip/ResearchProjects/project_abstracts.html
[8] http://wscg.zcu.cz/wscg2003/
[9] http://www.stats.ox.ac.uk/pub/PRNN/
[10] http://portal.acm.org/
[11] http://biometrics.cse.msu.edu/
[12] http://people.csse.uwa.edu.au/pk/studentprojects/raymondthai/

You might also like