You are on page 1of 12

Vericaci de ditades o

` Oscar Barenys Garcia


CRISES Research Group Dept. of Computer Engineering and Maths, Universitat Rovira i Virgili, Av. Pa sos Catalans 26, E-43007 Tarragona, Catalonia, Spain e-mail oscar.barenys@urv.cat

11 de juny de 2007
Resum Lobjectiu de larticle s exposar duna manera clara i rigorosa e la realitzaci dun vericador de ditades en funci de certes restriccions o o de disseny. En la realitzaci daquest shan de tenir en compte mltiples o u factors que inueixen de manera directa en la eci`nia i robustesa del e reconeixedor de ditades. El primer factor consisteix en una correcta elecci dels algorismes de les diferents fases del reconeixedor, donades unes o restriccions dimplementaci. Per exemple per estimar el camp de dio reccions indu per la ditada (gradient) es poden utilitzar algorismes no t robustos per` ecients com per ex. estimadors num`rics del gradient. o e Daltra banda es poden utilitzar algorismes menys ecients (amb ms e requeriments de c`lcul) per` robustos com els que tracten de minima o itzar certa forma bilineal induda per estimacions locals del gradient. El segon factor a tenir en compte en la implementaci sn els mltiples o o u param`tres dels que depenen els algorismes seleccionats. Per exemple un e estimador del gradient dep`n duna nestra lamplada de la cual es un e factor de disseny. Una incorrecta selecci dels par`metres pot invalidar o a les avantatges dels algorismes escollits i per tant sha de tenir en compte. Larticle descriu una implementaci que prioritza la robustesa i no la o eci`ncia tot i aquesta es te en compte en la selecci dels par`metres. e o a Larticle conclou mostrant el rendiment del vericador implementat per lautor i comparant-ho amb implementacions comercials. Keywords: Reconeixement de ditades, reconeixement de patrons, processament de la imatge, algorismes demparellament de punts.

Introducci o

El camp del reconeixement de ditades s un camp dins de lidenticaci e o biom`trica que sencarrega del disseny dalgorismes per lextracci de care o acter stiques de les ditades per a la posterior classicaci, detecci i reo o coneixement daquestes. Larticle t el dexposar els diversos passos en el disseny e implee mentaci dun reconeixedor de ditades des de la selecci dalgorismes i o o

par`metres daquestos ns a la descripci de limplementaci daquests. a o o Finalment es compara limplementaci amb reconeixedors comercials. Per o a aquest sutilitzaran m`triques est`ndards (corva ROC). e a La implementaci sha realitzat com a treball de lassignatura Identio caci Biom`trica del M`ster dEnginyeria Inform`tica i de la Seguretat o e a a ofert per la URV. En larticle no sexposa en detall el procediment general i la terminologia utilitzada en el reconeixement de ditades. Tampoc sexposa el gran abanic dalgorismes que shan dissenyat per a aquest . Per una introducci general es recomana [Maio03]. o

Descripci general o

Per tal de facilitar la comprensi al exposar les etapes dun vericador o de ditades sescull una ditada duna base de dades duna competici de o vericadors. A partir daquesta veurem linformaci que sen extreu en o les diverses etapes. Lautor va realitzar el procs dimplementaci a partir e o daquesta ditada. Es va escollir per ser una ditada no fora complexa (left c loop). La imatge de la ditada utilitzada Fig. 1va ser 10 4.pgm de la base de ditades FVC2000 Db1 b.

Figura1. Ditada escollida.

La lectura/escriptura dimatges en format PGM (portable gray format) es va realitzar amb les funcions aportades pel professor [Serr07] de

Figura2. Orientaci estimada. Consist`ncia estimada. Freq`ncia estimada. Sego e ue mentaci de la ditada. o

lassignatura. A partir de les funcions proporcionades pel professor per treballar amb imatges podem accedir directament als p xels de la imatge (via funci o referenciant una matriu). Daquesta manera es pot calcular o la matriu de direccions, que s la matriu on cadascun dels elements e codica la orientaci local de les crestes de la ditada. Aquesta es un camp o ortogonal al gradient de la imatge. Per aquesta etapa es fa us dalgorismes estimadors del gradient. Amb limplentaci realitzada sobt la o e imatge Fig. 2. Per tal de tenir una mesura de la validesa daquesta orientaci calo culada, es crea una matriu que codica el factor de qualitat o conana c

dels valors dorientaci. Aquest generalment acostuma a estimar la noro ma del gradient. Zones amb gradient gran sn zones amb gran qualitat o de la ditada i per tant amb gran consist`ncia. Calculant la matriu de e consist`ncia, sobt la imatge Fig. 2. e e El segent pas calcula la matriu de freq`ncies. Aquesta sobt u ue e estimant la freq`ncia local de les crestes, la qual s inversament proporue e cional a la dist`ncia mitjana que hi ha entre les crestes en un perl o a segment hipot`tic ortogonal a la direcci duna cresta. Per aix` es calcula e o o el perl en un punt, es ltra, i nalment es compten el nombre de pics i es dividieixen per la dist`ncia entre el primer i lltim pic. La Fig. 2 a u mostra una imatge a partir de dits valors per la nostra implementaci. o Es segueix realitzant la segmentaci de la ditada, la qual consisteix o en la separaci de l`rea de la imatge de la ditada que t una bona qualitat o a e respecte daltres zones com per ex. imatge de fons, zones on la imatge de la ditada s borrosa, soroll, etc.... La imatge segmentada sobt de e e binaritzar la matriu de consist`ncia aplicant un llindar global (per ex. e 100 a la imatge g. 2). A partir daquestes matrius es calcula l ndex de Poincar a cada p e xel que permet localitzar els core points (punts amb un ndex singular). El nombre i tipus de core points a la ditada permeten classicar-la en tipus est`ndards. El primer que es fa s seleccionar usant la imatge segmentada a e noms els corepoints que es troben a la zona de la ditada. A la pr`ctica e a sha comprovat que lalgorisme detecta molts core points propers per a certs core points reals. Per a corregir el comportament saplica un m`tode e que cerca clsters de corepoints i retorna noms el baricentre (o centroide) u e daquests. Aquest m`tode tamb saplica per a ltrar minutes. e e La imatge g. 3 mostra lnic core point localitzat a la ditada indicat u amb la etxa. Aquest resulta ser del tipus loop. Tamb sha provat un altre algorisme que detecta corepoints del tipus e loop i whorl i es basa en calcular el rotacional del camp de direccions ltrat. La imatge resultant es mostra a la g. 3. El segent pas consisteix en binaritzar la imatge per desprs calcular u e lesquelet. Per aix` saprota el codi que calcula el perl ltrat, per` en o o aquest cas noms es tenen present els 2 ve ms pr`xims. Es a dir, amb e ns e o aquests 2 ve es pot saber si el p ns xel a tractar s un m e nim (vall) i en conseq`ncia es pintar` de negre junt amb els 2 ve , ja que sha pintat ue a ns de blanc tota la imatge, pr`viament. La imatge resultant s es mostra a e e la g. 4. Per calcular lesquelet sutilitza pr`cticament el mateix codi que per a binaritzar, la difer`ncia radica en que es pinta de negre noms el m e e nim

Figura3. Core points detectats pels dos m`todes. e

Figura4. Imatge binaritzada. Esquelet.

(vall) i es marquen els 2 ve a efecte que posteriorment aquests no es ns puguin pintar de negre i daquesta manera lample ser` dun p a xel com sespera dun esquelet. La imatge resultant es mostra a la g. 4 Es pot apreciar que queden alguns punts molt propers de lesquelet sense connectar, i per aix` sha intentat fer una funci que connects o o e lesquelet, per` afegia altres problemes com mltiples connexions, creaci o u o dilles, etc... fent que aquesta idea fos inviable. Descartada lanterior idea, sha decidit calcular directament les minutes i tot seguit ltrar les minutes sospitoses. Per trobar les minutes es

calcula un ndex a cada p negre, el qual consisteix en comptar el nomxel bre de p xels negres que hi ha als p xels del voltant a dist`ncia 1. Si el a compte dna 1 s una terminaci, si dna 3 s una bifurcaci i en un p o e o o e o xel que no hi hagi minuta el compte dna 2. El m`tode es troba ms detallat o e e al llibre. Laplicaci daquest m`tode genera moltes minutes com a resultat de o e tenir un esquelet imperfecte. La imatge de minutes resultant s el de la e g. 5. Degut a lexist`ncia de falses minutes, es va decidir centrar-se en ltrar e les minutes sospitoses. Per aix` shan aplicat diverses regles: o 1. Filtrar 2 minutes del tipus terminaci que estiguin molt a prop (dist`ncia o a de 2 p xels) que es corresponen a dos punts propers de lesquelet desconnectats. 2. Afaitar el p`l de longitud 1 de lesquelet, s a dir una minuta de tipus e e bifurcaci + una minuta de tipus terminaci juntes (concretament o o una al costat de laltra) 3. Filtrar punts a llats (que no minutes a llades) de lesquelet (l ndex de compteig s 0) e 4. Filtrar minutes situades a prop de la vora o frontera de la imatge segmentada. 5. Aplicar, tal com sha fet amb els core points i perque a vegades es veuen moltes minutes juntes, un m`tode que forma clsters de minutes e u i deixa com a minuta noms el baricentre (o centroide) delles. e 6. Seleccionar, per ultim, una vegada formats els clsters, noms les min u e utes que estiguin a llades dins dun radi dacci de 10 p o xels. Les regles 5) i 6) serveixen per limitar el nombre m`xim de minutes a que retorna lalgorisme dextracci, fet necess`ri per a leci`ncia de lalo a e gorisme de matching o demparellament de minutes. El resultat nal s que sobtenen 10 minutes per a la imatge de proe va. Es pot comprovar a la imatge de la g 5 la qualitat de les minutes extretes s prou bona i serveix per a fer lemparellament. De les minutes e semmagatzema la seva posici, la seva direcci (angle) i el corresponent o o tipus (veure el detall daquest en el proper apartat anomenat Format de txers r) en un txer FIR. Val a dir que la abilitat de la direcci s superior a la detecci del oe o tipus. El segent pas correspon a la identicaci i la vericaci de ditades. u o o Per aix` primer es necessita un algorisme de matching o emparellament de o minutes. Sha implementat un que donats 2 conjunts de minutes (FIRS)

Figura5. Etapes deliminaci i clustering de minutes. a) Inicial b) Desprs pas 1 c) o e Desprs pas 2 d) Desprs dels 6 pasos e e

retorna una dist`ncia entre aquestes. Per aix` primer sintenta buscar el a o moviment o transformaci af (translaci+escalat+rotaci) `ptima que o o o o minimitza la dist`ncia entre els 2. Lalgorisme busca i emparella les 5 a (aquest valor est` denit amb el par`metre max emparella) parelles de a a minutes que es troben ms properes, on cada parella es formada per e una minuta de cada conjunt. La dist`ncia (total) es deneix com la suma a de dist`ncies entre les minutes de cada parella de minutes formada. La a dist`ncia entre dos minutes duna parella s la suma de la dist`ncia eua e a clidiana entre les minutes elevada al quadrat ms la difer`ncia de les e e direccions (de les minutes) elevada al quadrat i ponderada pel par`metre a

pes angle, ms la difer`ncia dels tipus de minuta elevada al quadrat i pone e o derada pel par`metre pes tipus. La funci guarda a les variables millors, a millorang, millort1 i millort2, el factor descalat, langle de rotaci i el o vector de translaci `ptims respectivament. Totes aquestes variables del oo moviment sn les que shan de realitzar per ajustar millor el conjunt de o minutes 1 al 2. A ms a ms, la funci guarda a la variable millor parelles e e o les 5 millors parelles de minutes emparellades. Per a fer la funci sim`trica es requereix que el factor descalat sempre o e sigui major que 1, ans sintercanvien els conjunts de minutes. Per qesu tions doptimitzaci en la eci`ncia de la cerca de la transformaci `ptima o e oo i suposant que es tractaran imatges de ditades realitzades amb el mateix tipus de esc`ner i resoluci, es suposa que el factor descalat ser` menor a o a de 1.05. Te`ricament seria 1. Aquesta funci t un cost temporal que creix o o e amb la sisena pot`ncia del nombre m`xim de minutes dels conjunts, per e a tant es va decidir posar una variable MAX MINUTES, la qual limita el conjunt de minutes a tractar en la funci. o Per ultim shan implementat 3 m`todes per fer ms f`cil la interacci e e a o amb el usuari, les quals sn els segents: o u Enroll: Crea un txer FIR amb la imatge del dit dun nou usuari. a Match: Compara 2 FIRS i retorna la seva dist`ncia. Distance Matrix: Crea la matriu de dist`ncies entre els FIRS de la a base de dades FVC2000 limitada a un nombre m`xim de usuaris (cora respon a la constant npersones) i de mostres de ditades per usuari (constant mpersona). Per ultim escriu per una s`rie de llindars els e valors de FMR i FNMR. Hi ha la opci (constant booleana nomesfno mr) de calcular noms les submatrius de la diagonal de la matriu de e dist`ncia si noms necessitem el FNMR. a e

Par`metres i decisions de disseny a

Mida de les nestres pivotants. Utilitzant les recomanacions de classe, susen nestres de 17x17, per al c`lcul de les diferents matrius (direccions i consist`ncia). Per al c`lcul a e a del perl (s a dir, en la fase pr`via a la extracci lesquelet) susa una e e o nestra de dimensions: 16x1, ja que en cas contrari s insucient. e C`cul matrius de direccions i consist`ncies a e Lalgorimse de la Fig. 6 es lescollit per a calcular la matriu de consist`ncies i la de direccions. Es tracta duna forma molt robusta dese timar langle combinant mltiples estimacions del gradient amb una u nestra 17x17:

Figura6. Frmula destimaci de direccions. o o

Suavitzaci del perl. o Una vegada sha realitzat el c`lcul del perl, sintenten eliminar els a m`xims i m a nims locals a i efecte daconseguir un bon perl, i per tant un bona imatge binaritzada i un bon esquelet. Nombre de minutes que semparellen. Es xa el nombre m`xim de parelles de minutes que sintenten ema parellar a 5. Aquesta constant sha xat tenint present la quantitat mitjana i qualitat de les minutes que sextrauem. Val a dir que com ms qualitat tinguem en les imatges, ms alta podria ser aquesta cone e stant. o Ponderaci dels angles. Sha aplicat una ponderaci als angles, a la hora de calcular la dist`ncia o a entre les minutes. A la pr`ctica, com langle es detecta fora b, la a c e ponderaci sha xat a 0.06. o Emparellant minutes. Lalgorisme utilitzat per lemparellament de les minutes s similar al MPS del llibre [Maio03]. Lalgorisme ha sofert e adaptacions per una millor eci`ncia amb el joc de proves utilitzat. e

Implementaci o

Tot el codi es troba situat al txer principal.cpp. Dintre daquest txer hi ha una seqencia temporal, en la funci main u o que es equivalent a la g. 7 El codi de laplicatiu es pot trobar a [Bar07]. 4.1 Format dels txers r

El programa per a cada ditada genera un txer amb informaci de la o ditada que permet compararla amb una daltra sense tindre que realitzar la gran part dels passos anteriors. En concret noms resta emparellar e ditades. El format del txer s el segent: e u

Figura7. Flux seq encial execuci. u o

La primera l del txer cont el nombre de minutes que ha detectat nia e el programa a la ditada que sest` afegint al sistema. a Les segents l u nees contenen informaci de les minutes. Per a cada o minuta semmagatzemen 4 valors: coordenades x i y, tipus de minuta i direcci local (angle en graus) de la minuta. o Pot haver tres tipus de minutes: 0, 1 i 2. El tipus 1 denota una terminaci, el tipus 2 una bifurcaci i el 0 una minuta dun tipus indeterminat o o (conseq`ncia dajuntar minutes per fer un clster). ue u El valors semmagatzemem en text clar.

Resultats: Matriu de dist`ncies i la seva ROC a

El resultats segents sn el resultat dintrodu al sistema 10 ditades u o r diferents (de la base de dades FVC2000). De cada ditada es prenen 5 mostres diferents. A partir de les dades introdu des es calcula la matriu de dist`ncies que saconsegueix comparant les diferents ditades per a cadascuna de les ditades introdu des al sistema. Daquesta manera sobt e una matriu de dist`ncies de 50 per 50. Concretament es tracta de 10x10 a submatrius de 25 valors provinents de cadascuna de les vericacions.

Disposant dun llindar que va de 0 a 5, s calculen amb la matriu de e dist`ncies el False Non-Matching Rate i el False Matching Rate. Aquest a sutilitza seguidament per calcular una gr`ca que mostra el comprom a s entre error i seguretat al sistema i la gr`ca amb la Receiving Operating a Curve (ROC). Amb la informaci obtinguda a lapartat anterior es realitza una gr`ca o a 8 que relaciona l ndex derror amb el llindar que sespecica per assegura erl sistema.

Figura8. Relaci entre error rate i seguretat sistema o

De la gr`ca es conclou el segent: a u Si el llindar s inferior a 3, aproximadament, tenim un False None Matching Rate molt alt, fet que indica que moltes persones que en principi estan autoritzades no sn reconegudes (vericades) pel siso tema, i el sistema els hi denega laccs. En canvi si el False Matching e Rate s molt baix, quasi 0, ens assegurar` que es molt dif que una e a cil persona que no esta autoritzada passi com una persona que s te accs. e e Si el llindar s superior a 3, estem al cas que el False Non-Matching Rate s molt baix. Per tant ocasionalment una persona que no deuria e poder tenir accs podria entrar per error del sistema. En canvi el e False Matching Rate s molt alt, aix` indica que una persona que e o tingui realment accs s segur que entrar`. e e a Per 50 valors dun llindar que va de 0 a 5 s possible obtenir 50 sortides e diferents de la matriu de dist`ncies. Amb aquesta informaci obtenim la a o gr`ca de la corva ROC (en escala doble-log) de la g 9. a

Figura9. Corba ROC implementaci. Corbes ROC de FVC2000. o

Seguidament es mostren la ROC de la competici del FVC2000: Sobo serva que la ROC del sistema obt rendiment de vericaci similar al e o promig de la competici (g. 9). Per tant, concloem que sha implemeno tat un sistema de vericaci i identicaci de ditades competent. Com a o o exemple sadjunta una taula generada per limplementaci g. 10 seleccioo nant 9 imatges de 3 usuaris i caculant la matriu de dist`ncies. Sobserva a com la dist`ncia per un mateix usuari es sempre menor que 1 i per difera ents usuaris es major que 3.
1 1.r 0.000 0.876 0.881 3.938 4.357 4.494 4.144 4.000 4.400 1 2.r 0.976 0.000 0.710 3.328 3.676 3.689 3.776 4.618 3.049 1 3.r 0.881 0.788 0.000 4.292 3.651 4.228 4.851 3.845 4.184 2 1.r 3.504 3.268 4.486 0.000 0.539 0.459 4.415 3.725 4.616 2 2.r 4.272 3.930 3.810 0.630 0.000 0.859 3.929 4.083 4.604 2 3.r 4.317 3.814 3.943 0.527 0.834 0.000 3.198 2.790 3.768 3 1.r 4.269 3.785 4.472 4.118 4.302 2.926 0.000 0.902 0.679 3 2.r 3.864 4.625 4.089 3.616 4.206 2.717 0.973 0.000 0.902 3 3.r 4.520 3.220 3.992 4.923 4.598 3.768 0.739 0.879 0.000

1 1 1 2 2 2 3 3 3

1.r 2.r 3.r 1.r 2.r 3.r 1.r 2.r 3.r

Figura10. Matriu de dist`ncies. a

Refer`ncies e
o [Bar07] Ivan Barenys Garc Oscar Barenys Garc et alt. Codi font implementaci a, ` a vericador ditades. Unpublished. 2007. [Maio03] Davide Maltoni, Dario Maio et al. Handbook of Fingerprint Recognition. Springer-Verlag, 2003. [Serr07] Francesc Serratosa, Material de lassignatura Identicaci Biom`trica curs o e 06-07,URV, Moodle.

You might also like