MÉTODO PARA LA COMPARACiÓN DE HUELLAS DACTILARES Y PALMARES BASADA EN MÚLTIPLES CLÚSTERES DEFORMABLES DE MINUCIAS COINCIDENTES Campo de la invención 5 La presente invención pertenece al área de Ciencias Computacionales y el campo específico de Reconocimiento de Huellas Dactilares y Palmares. Estado de la técnica Las huellas dactilares y huellas palmares son las marcas formadas por las crestas y surcos papilares en los dedos y palmas de la mano respectivamente. Estas 10 tienen las características de que se forman en el sexto mes de vida intrauterina del ser humano y no desaparecen hasta tiempo después de la muerte de las personas, no existen dos personas con huellas iguales y no se modifican de manera natural durante la vida de una persona. Es por esto que las huellas dactilares y palmares constituyen elementos importantes en la identidad de las personas. 15 Debido a la complejidad y la cantidad de huellas que existen, es necesario crear sistemas que permitan su procesamiento de manera eficiente. Aunque las primeras aplicaciones fueron en las ciencias forenses, la popularidad de la temática se debe principalmente a las aplicaciones en sistemas civiles como el control de acceso física a instalaciones, el control de acceso lógico a software y el control de 20 votantes en elecciones. Uno de los componentes más importantes en estos sistemas es el método de comparación de huellas.
En el área de Ciencias Computacionales, la comparación de huellas (o cotejo de huellas) se realiza a través de una secuencia finita de pasos lógicos que retorna un valor de similitud, lo cual se conoce como método de comparación de huellas. Según el contexto de la aplicación, los métodos de comparación de huellas se 5 pueden clasificar en: métodos para verificación de huellas y métodos para identificación de huellas latentes. El objetivo de las aplicaciones de verificación de huellas consiste esencialmente en determinar dadas dos huellas, si estas proceden del mismo dedo. Por su parte, el objetivo de las aplicaciones de identificación de huellas latentes consiste básicamente en, dada una huella latente, buscar todas las 10 huellas procedentes del mismo dedo presentes en una base de datos. Son muchos los métodos para verificación de huellas que se comercializan en la actualidad y los resultados en las competencias internacionales como la FVC-onGoing (B. Dorizzi, R. Cappelli, M. Ferrara, D. Maio, D. Maltoni, N. Houmani, S. Garcia-Salicetti, and A. Mayoue, "Fingerprint and on-line signature verification 15 competitions at ICB 2009," in International Conference on Biometrics (lCB 2009), 2009, pp. 725-732) muestran la elevada eficacia alcanzada por este tipo de métodos. Los buenos resultados alcanzados por estos métodos se deben a que trabajan con huellas capturadas con escáneres especializados para tomar las huellas de personas de manera voluntaria y en condiciones controladas por lo que 20 dichas huellas (también conocidas como impresiones) tienen excelente nivel de detalle, mucha información y poco ruido. Por otra parte, las huellas latentes son aquellas formadas sobre superficies no necesariamente uniformes, de manera involuntaria y no controlada por las
personas al manipular objetos. Es por esto que las huellas latentes tienen información parcial, bajo nivel de detalles y mucho ruido en comparación con las impresiones (A. A. Paulino, J. Feng, and A. K. Jain, "Latent fingerprint matching using descriptor-based hough transform," IEEE Transactions on Information 5 Forensics and Security, vol. 8, no. 1, pp. 31-45, 2013). De aquí que los métodos para identificación de huellas latentes reportados en la literatura o disponibles a la venta son pocos y de eficacia aún baja (A. A. Paulino, J. Feng, and A. K. Jain, "Latent fingerprint matching using descriptor-based hough transform," IEEE Transactions on Information Forensics and Security, vol. 8, no. 1, pp. 31-45, 2013). 10 Algunos autores (B. Decann and A. Ross, "Can a 'poor' verification system be a 'good' identification system? A preliminary study," in 2012 IEEE International Workshop on Information Forensics and Security, 2012, pp. 31-36) plantean que los métodos buenos para la verificación no necesariamente son buenos para la identificación. Otros autores (E. Liu, A. K. Jain, and J. Tian, "A coarse to fine 15 minutiae-based latent palmprint matching," IEEE Transactions on Pattern Analysis and Machine InteJligence, vol. 35, no. 10, pp. 2307-2322, 2013) opinan que los métodos creados para la comparación de huellas dactilares no son necesariamente buenos para la comparación de huellas palmares. Especificación de la invención 20 La presente invención consiste en un método para la comparación de huellas dactilares y palmares basada en múltiples clústeres de minucias coincidentes.
El método de la presente invención, a diferencia de otras soluciones propuestas a nivel internacional, permite comparar con un alto grado de eficiencia/eficacia huellas dactilares y palmares tanto para identificación de huellas latentes como para la verificación de huellas. 5 Otra ventaja del presente método sobre las soluciones existentes es que se puede utilizar con cualquier descriptor de minucias (A. K. Jain, J. Feng, and K. Nandakumar, "Fingerprint Matching," Computer, vol. 43, no. 2, pp. 36-44, 2010) lo cual permite su aplicación en cualquier contexto. Por ejemplo, para aplicaciones en arquitecturas ligeras de hardware, se pueden utilizar pares o tríos de minucias 10 mientras que en aplicaciones con mayor poder computacional se pueden utilizar descriptores que combinen la información de más minucias y otros rasgos como la imagen de orientación y la imagen de frecuencia. Los pares de minucias coincidentes localmente se hayan en esta propuesta a partir de una estrategia ávida (T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. 15 Stein, Introduction to Algorithms, 2nd edition. The MIT Press, 2001, p. 1184) que busca seleccionar la menor cantidad de pares coincidentes con los valores de similitud más altos mientras que intenta minimizar la repetición de minucias en los pares seleccionados. Para comparar las huellas, la metodología propuesta realiza múltiples 20 alineaciones y por cada alineación halla un clúster de coincidencias. Para esto se propone una nueva definición de clúster que no depende de la conectividad entre
los descriptores de minucias que lo componen para lograr la tolerancia a las minucias ausentes y los errores del extractor de rasgos. El método no discretiza el espacio de transformación de las minucias al alinear las huellas para evitar perder información con la discretización. 5 El método realiza un número dinámico de alineaciones para hallar clústeres de coincidencias en la mayor parte del área de cada una de las huellas que se comparan. Para tolerar las distorsiones no lineales a nivel global en las huellas se mezclan un subconjunto de los clústeres encontrados verificando determinadas 10 restricciones geométricas entre los centroides de clústeres y comprobando que no hallan pares de minucias coincidentes diferentes compartiendo una minucia común. Esta heurística tiene como objetivo obtener muchos pares de minucias verdaderamente coincidentes manteniendo baja la cantidad de falsas coincidencias. Dos pares de minucias con similares características a nivel local, no 15 necesariamente tienen el mismo peso porque el método propuesto también toma en cuenta las características globales para calcular dicho peso. Más aún, para la identificación de huellas latentes se propone una forma de calcular el peso diferente a la usada para la verificación de huellas dactilares y a la usada para la verificación de huellas palmares. 20 Los experimentos realizados utilizando bases de datos de huellas dactilares y palmares han demostrado que el método propuesto es capaz de incrementar la eficacia de sistemas comerciales hasta en 19.5% cuando la calidad de las imágenes
es mala. Debido a que el método calcula múltiples clústeres de coincidencias, la mejora de eficacia es mayor cuando peor es la calidad de las huellas. Breve descripción de las figuras La Figura 1 muestra el esquema general de los sistemas de reconocimiento 5 de huellas en los cuales se aplica nuestra invención. Estos sistemas se pueden describir por los siguientes módulos: módulo de captura de huellas (11, Fig. 1), módulo de almacenamiento de huellas (12, Fig. 1) Y módulo de procesamiento de huellas (13, Fig. 1a). El módulo de captura de huellas (11, Fig. 1) está compuesto por 10 componentes electrónicos que permiten digitalizar huellas, por ejemplo: escáneres por contacto, escáneres sin contacto, cámaras digitales, etc. El módulo de almacenamiento de huellas (12, Fig. 1) está compuesto por componentes electrónicos que permite el almacenamiento y persistencia de las huellas en el tiempo, ejemplos: memoria flash, disco duro portátil, computadora, red 15 de computadoras, etc. El módulo de procesamiento de huellas (13, Fig. 1) accede a huellas obtenidas por el módulo de captura (11, Fig. 1) para ejecutar métodos como son: método de mejoramiento de las huellas, método de encriptación de los datos, método de compresión, método de extracción de rasgos, etc. Este módulo se 20 encarga de determinar la información de las huellas que se guardará en el módulo de almacenamiento (12, Fig. 1). Este módulo también contiene el método que compara una huella obtenida del módulo de captura con una o varias huellas
guardadas en el módulo de almacenamiento. Ejemplos que componen este módulo son: CPU, micro-controlador, FPGA, etc. La Figura 2 muestra un fragmento de huella ampliado con cuatro ejemplos de los puntos característicos (o minucias) usados por la invención para comparar 5 las huellas. (21, Fig. 2) Y (23, Fig. 2) son ejemplos de minucias conocidas como bifurcaciones; mientras que (22, Fig. 2) Y (24, Fig. 2) son ejemplos de minucias conocidas como terminaciones. La invención compara las huellas representadas por bifurcaciones y terminaciones. La figura 3 muestra las minucias de dos huellas del mismo dedo. Las 10 minucias de la huella (31, Fig. 3) están más cerca que las minucias en la huella (32, Fig. 3) por lo que la presente invención halla múltiples clústeres de minucias coincidentes (33, Fig. 3), (34, Fig. 3) Y (35, Fig. 3). El segmento con doble saeta (36, Fig. 3) tiene una longitud de 42 píxeles y es un ejemplo de la deformación entre las dos huellas. 15 Las Figuras 4a y 4b muestran un diagrama de bloques que constituye una abstracción de los pasos generales de la metodología propuesta. Mejor método de llevar a cabo la invención La invención consiste en un método que al especificar una de tres opciones para calcular el peso de los pares de minucias coincidentes en el módulo (13, Fig. 20 1) se puede aplicar en tres contextos diferentes: a. identificación de huellas latentes palmares y dactilares; b. verificación de huellas dactilares; c. verificación de huellas palmares.
La invención compara las huellas representadas por sus minucias. Las minucias son los puntos donde la continuidad de las crestas se rompe y en la invención son representadas como (x, y, e). (x, y) son las coordenadas del punto en dos dimensiones donde la cresta se rompe; por ejemplo, las coordenadas de las 5 minucias (11, Fig. 1) Y (14, Fig. 1) coinciden con los centros de las respectivas circunferencias. e representa la dirección de la minucia yen los ejemplos (11, Fig. 1) Y (14, Fig. 1) son los ángulos representados por los arcos. El conjunto de todas las minucias se define como U = {(x, y, e): x, y, e E ~}, donde ~ es el conjunto de los números reales. 10 Las diferentes distorsiones globales entre las huellas que se comparan provocan la aparición de múltiples c1ústeres de minucias coincidentes. El ejemplo de la figura 3 muestra gráficamente la diferencia de la distancia entre minucias pertenecientes a diferentes c1ústeres. Los segmentos de color gris con doble saeta evidencian una distorsión en la huella (32, Fig. 3) hasta de 42 píxeles en 15 comparación con la huella (31, Fig. 3). Nótese que esta distancia es más del doble necesitado (15 píxeles) para hacer coincidir el 97.5 % de las minucias de acuerdo a (S. Pankanti, S. Prabhakar, and A. K. Jain, "On the individuality of fingerprints," IEEE Transactions on Pattern Analysis and Machine Intelligence ,vol. 24, no. 8, pp. 1010-1025, 2002). De aquí que, si se usara un umbral de distancia de 42 píxeles en lugar de 15, 20 aumentaría la cantidad de minucias falsas coincidentes que se encontrarían al comparar huellas de dedos diferentes. Para tolerar estas distorsiones, la invención usa valores pequeños de umbrales para hallar múltiples clústeres de minucias
coincidentes y luego relaja estos umbrales para determinar cuáles clústeres mezclar. Dados dos conjuntos de minucias Le 1, la invención define como "clúster de minucias coincidentes" (o simplemente "clústen al conjunto de pares de minucias 5 C = {(ql' PI)' (q2' P2), ... , (q¡, PI)} con centroide re = (qh' Ph) E C que cumple las 10 15 siguientes condiciones para cada par (qk' Pk) E C: o La función 1/1 transforma una minucia a en otra d usando como referencia un par de minucias (b, e) y se define como: ( 1 ) o La función (fe calcula la similitud entre dos minucias de acuerdo a la distancia entre ellas y se define de la siguiente manera: (je: U X U ----> [O; 1] (a, b) ----> {1 -de (o a, b)/15 si de (a, b) :::; 15 en caso contrario ( 2 ) siendo de la función que calcula la distancia euclidiana entre dos minucias y se define de la siguiente manera: de: U x U ----> IR (a, b) ----> .J(xa -Xb)2 + (Ya -Yb)2 ( 3 )
o La función (fe calcula la similitud entre dos minucias de acuerdo a la diferencia entre las direcciones de las minucias y se define de la siguiente manera: (5e: U x U -[O; 1] (a, b) _ {1 -d:;~b) si de (a, b) ~ TriS O en caso contrario ( 4 ) 5 siendo de la función que calcula la diferencia entre las direcciones de las minucias y se define de la siguiente manera: de: U x U-IR (a, b) -min{lOa -Ob!. 2Tr -lOa -Ob I} ( 5 ) El mejor método de llevar a cabo la invención es como sigue: II Para hallar las coincidencias entre las huellas a nivel local los descriptores de 10 ambas huellas son comparados y una estrategia ávida es utilizada para determinar los pares de minucias coincidentes localmente. Paso 1. Sean (41, Fig. 4a) L e 1 los respectivos conjuntos de minucias de las huellas a comparar teniendo cada minucia un descriptor de minucia asociado. Sea A = {} un conjunto que contendrá pares de minucias 15 coincidentes. II Comparando los descriptores de minucias de ambas huellas (42, Fig. 4a). Paso 2. Por cada minucia q E L Y P E 1 comparar sus respectivos descriptores de minucias. II Hallando las minucias coincidentes localmente (43, Fig. 4a).
5 Paso 3. Ordenar descendentemente todos los pares (q, p) de acuerdo al valor de similitud de sus respectivos descriptores de minucias y almacenar en A los pares con similitud mayor que cero. Paso 4. Sea M = {} un conjunto en el que se almacenarán, cuando más, max{lLI.lfI} pares de minucias coincidentes intentando minimizar las repeticiones de minucias dentro de pares diferentes. Paso 5. Por cada (qh' Ph) E A hacer: a. Si tlCqk.Pk)EM[(qh = qk) V (Ph = Pk)] entonces actualizar M = M U {(qh' Ph)}' 10 II Cada par de minucias coincidentes localmente (44, Fig. 4a) es usado para alinear las huellas (45, Fig. 4a) y encontrar el clúster de coincidencias (46, Fig. 4a). El par de minucias sobre el cual se realiza la alineación es considerado el centroide del clúster encontrado. El peso de cada centroide se calcula basado en la posición y dirección relativa entre las minucias de cada par en el clúster (47, 15 Fig. 4a). Un centroide tiene alto valor de peso cuando su clúster contiene muchos pares de minucias coincidentes y baja deformación de las huellas. Este peso se calcula de tres formas diferentes dando lugar a una aplicación diferente del método para cada uno de los siguientes contextos: a. identificación de huellas latentes palmares y dactilares; b. verificación de huellas dactilares; c. verificación 20 de huellas palmares. Paso 6. Sea es = {} el conjunto que se llenará en el próximo paso con los clústeres de pares de minucias coincidentes obtenidos de múltiples alineaciones.
5 10 15 20 Paso 7. Por cada (qh. Ph) E M realizar una alineación como sigue: a. Sea B = {} el conjunto que será llenado en el próximo paso con todos los pares de minucias coincidentes de la iteración actual. b. Por cada (qg. pg) E M. determinar si qg coincide con Pg al alinear por (qh. Ph) como sigue: i. Transformar qg en q~ usando como referencia el par (qh. Ph) como sigue: q~ = 1f;( qg. qh. Ph) (ver ecuación (1)). ii. Sea s:; = o"e( q~. Pg) * /To( q~. pg) el valor de similitud asociado al par (qg. Pg) (ver ecuaciones (2) y (4». iii. Si s:; > O entonces actualizar B = B u {(qg.Pg)} (hasta aquí se cumple con las condiciones (a) y (c) de la definición de clúster en la invención). c. Ordenar B descendentemente de acuerdo a los valores de similitud s:; de sus elementos. d. Sea Ch = {} el clúster que contendrá un subconjunto de los pares de minucias coincidentes de la iteración actual. Sea TCh = (qh. Ph) el centroide del clúster Ch' e. Por cada (qg. pg) E B lograr el cumplimiento de la condición (b) de la definición de clúster en la invención como sigue: i. Si V'eqk,Pk)ECh[(q9 =1= qk) 1\ (Pg =1= Pk)] entonces actualizar Ch = Ch U {(qg.Pg)}.
de acuerdo a: o Para la identificación de huellas dactilares y palmares: p: U X U x P(U) x P(U) x P(U x U) --+ ~ (a,b,L,I,Ch) --+ IChl/L2 * L(q,P)ECh[oA1/!(q,a,b),p) * (Te(1/!(q,a,b),p)] ( 6 ) 5 o Para la verificación de huellas palmares: p: U X U x P(U) x P(U) x P(U x U) --+ IR ( 7 ) (a,b,L,/,Ch) --+ IChI3/(ichl + 20) *ILI*I/I) *¿(q.P)ECh[u.(1/J(q,a,b),p) *ue(1/J(q,a,b),p)) o Para la verificación de huellas dactilares: p: U X U x P(U) x P(U) x P(U x U) -+ IR ( 8 ) (a, b, L,I, eh) -+ lehl * eL(Q,p)EC. [Ue (1/!(q, a, b), p) • ue(1/!(q, a, b), p)])2 le (Ieh I + 20) *IL'I*IJ'I) siendo L' el subconjunto de minucias de L que se intercepta con el 10 área ocupada por las minucias de I al alinear las huellas por el par (a, b); mientras que I' es el subconjunto de minucias de I que se intercepta con el área ocupada por las minucias de L al alinear las huellas por el par (a, b). g. Si lehl > 3 entonces actualizar el conjunto de clústeres es = es u {eh}' 15 II El peso de cada clúster se calcula acumulando el peso de los pares de minucias que contiene (8, Fig. 4a). Paso 8. Por cada eh E es hacer: a. Sea WCh = O el peso asociado al clúster Ch' b. Por cada (qk' Pk) E eh hacer: 20
s 10 lS II Inicializar el conjunto resultante (49, Fig. 4a) e iterar por cada clúster (50, Fig. 4a) de mayor a menor peso para intentar mezclar con el conjunto resultante (51, Fig.4a). Paso 9. Ordenar Cs descendentemente de acuerdo al peso WCh de sus elementos. Paso 10. Sea Cs' = {} el conjunto de clústeres que serán seleccionados para ser mezclados. Sea M' = {} el conjunto de pares de minucias resultante de la mezcla de clústeres en Cs'. Paso 11. Por cada Ch E Cs verificar que Ch puede ser mezclado con cada clúster Cg en Cs' como sigue: a. Actualizar Cs' = Cs' U {Ch} y M' = M' U Ch si Ch y cada Cg E Cs' cumplen que 'v' (qj,p¡)ecg,(qk,Pk)eCh [( qj '* qk 1\ P j '*, Pk) v (qj = qk 1\ P j =, Pk)] 1\ 3(q¡,P¡)eCh [(q¡, pa Il Cg] 1\ de( 1jJ( qh' qg' Pg), Ph) ~ 701\ de( 1jJ( qh' qg' Pg), Ph) ~ rr/3 siendo (qh' Ph) el centroide del clúster Ch, (qg' pg) el centroide del clúster Cg, 1jJ la función definida en (1), de la función definida en (3) y de la función definida en (5). II Un modelo Thin Plate Spline (TPS) (A. M. Bazen and S. H. Gerez, "Fingerprint matching by thin-plate spline modelling of elastic deformations," Pattern Recognition, vol. 36, no. 8, pp. 1859-1867, 2003.) es creado a partir de los pares 20 de minucias coincidentes encontrados hasta este punto. El modelo TPS es usado para hallar nuevos pares de minucias coincidentes (61, Fig. 4b).
5 10 Paso 12. Construir un modelo TPS como en (A. M. Bazen and S. H. Gerez, "Fingerprint matching by thin-plate spline modelling of elastic deformations," Pattern Recognition, vol. 36, no. 8, pp. 1859-1867,2003.) pero, en lugar de usar las coincidencias locales como en (A. M. Bazen and S. H. Gerez, "Fingerprint matching by thin-plate spline modelling of elastic deformations," Pattern Recognition, vol. 36, no. 8, pp. 1859-1867, 2003.), en esta invención se usan las coincidencias (M') encontradas al mezclar los clústeres. Paso 13. Sea Mil el conjunto de nuevos pares de minucias coincidentes que se encuentran entre L e 1 a través del modelo TPS. Este paso se realiza como en (A. M. Bazen and S. H. Gerez, "Fingerprint matching by thin-plate spline modelling of elastic deformations," Pattern Recognition, vol. 36, no. 8, pp. 1859-1867,2003.) pero usando una sola iteración en lugar de múltiples. 15 II Calculando el peso de las nuevas coincidencias (62 al 65, Fig. 4b) Paso 14. Por cada (qh' Ph) E Mil -M', repetir los pasos del7.a a17.f para calcular el peso w:: del par de minucias coincidentes (qh' Ph)' II El valor final de similitud (66, Fig. 4b) es la suma de los pesos de los pares de minucias coincidentes encontrados como resultado de la mezcla de clústeres y del 20 uso del modelo TPS construido. Paso 15. Sea score = O el valor de similitud resultante. Paso 16. Por cada (qh' Ph) E M"UM' hacer:
s q·h a. Actualizar score = score + wp:'~ . Paso 17. Retornar score. Los términos en que se ha descrito esta memoria deberán ser tomados siempre con carácter amplio y no limitativo.
METHOD FOR COMPARING DACTILAR AND PALMAR FOOTPRINTS BASED ON MULTIPLE DEFORMABLE CLUSTERS OF COINCIDENT MINUTES Field of the Invention 5 The present invention belongs to the area of Computational Sciences and the specific field of Fingerprint Recognition and Palmares. State of the art Fingerprints and palm prints are the marks formed by the papillary ridges and grooves in the fingers and palms of the hand respectively. These 10 have the characteristics that they are formed in the sixth month of intrauterine life of the human being and do not disappear until after the death of the people, there are no two people with equal footprints and they do not change naturally during the life of a person. This is why fingerprints and palm groves are important elements in the identity of people. 15 Due to the complexity and the amount of footprints that exist, it is necessary to create systems that allow their processing efficiently. Although the first applications were in the forensic sciences, the theme's popularity is mainly due to applications in civil systems such as the control of physical access to facilities, the control of logical access to software and the control of 20 voters in elections. One of the most important components in these systems is the method of comparing fingerprints.
In the area of Computational Sciences, the comparison of fingerprints (or comparison of fingerprints) is performed through a finite sequence of logical steps that returns a similarity value, which is known as the method of comparing fingerprints. Depending on the context of the application, the fingerprint comparison methods can be classified into: methods for fingerprint verification and methods for identifying latent fingerprints. The purpose of fingerprint verification applications is essentially to determine given two fingerprints, if they come from the same finger. For its part, the purpose of latent fingerprint identification applications is basically, given a latent fingerprint, to search for all 10 fingerprints from the same finger present in a database. There are many methods for fingerprint verification that are currently marketed and the results in international competitions such as FVC-onGoing (B. Dorizzi, R. Cappelli, M. Ferrara, D. Maio, D. Maltoni, N. Houmani , S. Garcia-Salicetti, and A. Mayoue, "Fingerprint and online signature verification 15 competitions at ICB 2009," in International Conference on Biometrics (lCB 2009), 2009, pp. 725-732) show the high efficiency achieved by this kind of methods. The good results achieved by these methods are due to the fact that they work with fingerprints captured with specialized scanners to take the footprints of people voluntarily and under controlled conditions so that 20 such footprints (also known as prints) have excellent level of detail, much Information and little noise. On the other hand, latent footprints are those formed on surfaces that are not necessarily uniform, unintentionally and not controlled by
people when handling objects. This is why latent fingerprints have partial information, low level of detail and a lot of noise compared to prints (AA Paulino, J. Feng, and AK Jain, "Latent fingerprint matching using descriptor-based hough transform," IEEE Transactions on Information 5 Forensics and Security, vol. 8, no. 1, pp. 31-45, 2013). Hence, the methods for identifying latent fingerprints reported in the literature or available for sale are few and still low efficiency (AA Paulino, J. Feng, and AK Jain, "Latent fingerprint matching using descriptor-based hough transform," IEEE Transactions on Information Forensics and Security, vol. 8, no. 1, pp. 31-45, 2013). 10 Some authors (B. Decann and A. Ross, "Can a 'poor' verification system be a 'good' identification system? A preliminary study," in 2012 IEEE International Workshop on Information Forensics and Security, 2012, pp. 31- 36) state that good methods for verification are not necessarily good for identification. Other authors (E. Liu, AK Jain, and J. Tian, "A coarse to fine 15 minutiae-based latent palmprint matching," IEEE Transactions on Pattern Analysis and Machine InteJligence, vol. 35, no. 10, pp. 2307- 2322, 2013) believe that the methods created for comparing fingerprints are not necessarily good for comparing palm prints. Specification of the invention The present invention consists of a method for comparing fingerprints and palm groves based on multiple clusters of matching minutiae.
The method of the present invention, unlike other solutions proposed at international level, allows comparing with a high degree of efficiency / effectiveness fingerprints and palm groves both for identification of latent fingerprints and for the verification of fingerprints. 5 Another advantage of the present method over existing solutions is that it can be used with any minutiae descriptor (AK Jain, J. Feng, and K. Nandakumar, "Fingerprint Matching," Computer, vol. 43, no. 2, pp. 36-44, 2010) which allows its application in any context. For example, for applications in light hardware architectures, pairs or trios of minutiae 10 can be used while in applications with greater computational power descriptors can be used that combine the information of more minutiae and other features such as orientation image and image of frequency. The pairs of minutiae that have coincided locally are based on an avid strategy (TH Cormen, CE Leiserson, RL Rivest, and C. 15 Stein, Introduction to Algorithms, 2nd edition. The MIT Press, 2001, p. 1184) which seeks to select the least amount of matching pairs with the highest similarity values while trying to minimize the repetition of minutiae in the selected pairs. To compare the footprints, the proposed methodology performs multiple 20 alignments and for each alignment finds a cluster of matches. For this, a new cluster definition is proposed that does not depend on the connectivity between
the minutiae descriptors that compose it to achieve tolerance to absent minutiae and feature extractor errors. The method does not discretize the minutiae transformation space by aligning the fingerprints to avoid losing information with the discretization. 5 The method performs a dynamic number of alignments to find clusters of matches in most of the area of each of the footprints that are compared. To tolerate nonlinear distortions globally in fingerprints, a subset of the clusters found is mixed by verifying certain 10 geometric restrictions between the centroids of clusters and verifying that they do not find pairs of different matching minutiae by sharing a common minutiae. This heuristic aims to obtain many pairs of really coincidental minutiae keeping the number of false coincidences low. Two pairs of minutiae with similar characteristics at the local level do not necessarily have the same weight because the proposed method also takes into account the global characteristics to calculate said weight. Moreover, for the identification of latent fingerprints, a way of calculating the weight different from that used for the verification of fingerprints and that used for the verification of palm prints is proposed. 20 Experiments performed using fingerprint and palm grove databases have shown that the proposed method is capable of increasing the efficiency of commercial systems by up to 19.5% when image quality
it's bad Because the method calculates multiple clusters of matches, the efficiency improvement is greater when the quality of the prints is worse. Brief description of the figures Figure 1 shows the general scheme of the fingerprint recognition systems 5 in which our invention is applied. These systems can be described by the following modules: fingerprint capture module (11, Fig. 1), fingerprint storage module (12, Fig. 1) and fingerprint processing module (13, Fig. 1a). The fingerprint capture module (11, Fig. 1) is composed of 10 electronic components that allow fingerprint scanning, for example: contact scanners, contactless scanners, digital cameras, etc. The fingerprint storage module (12, Fig. 1) is composed of electronic components that allow the storage and persistence of fingerprints over time, examples: flash memory, portable hard drive, computer, computer network 15, etc. The fingerprint processing module (13, Fig. 1) accesses fingerprints obtained by the capture module (11, Fig. 1) to execute methods such as: fingerprint improvement method, data encryption method, method compression, feature extraction method, etc. This module is responsible for determining the fingerprint information that will be stored in the storage module (12, Fig. 1). This module also contains the method that compares a fingerprint obtained from the capture module with one or more fingerprints.
saved in the storage module. Examples that make up this module are: CPU, micro-controller, FPGA, etc. Figure 2 shows an enlarged footprint fragment with four examples of the characteristic points (or minutiae) used by the invention to compare the fingerprints. (21, Fig. 2) Y (23, Fig. 2) are examples of minutiae known as bifurcations; while (22, Fig. 2) Y (24, Fig. 2) are examples of minutiae known as terminations. The invention compares the footprints represented by bifurcations and terminations. Figure 3 shows the minutiae of two fingerprints of the same finger. The 10 minutiae of the imprint (31, Fig. 3) are closer than the minutiae in the imprint (32, Fig. 3) whereby the present invention finds multiple clusters of matching minutiae (33, Fig. 3), ( 34, Fig. 3) Y (35, Fig. 3). The segment with double bolt (36, Fig. 3) has a length of 42 pixels and is an example of the deformation between the two tracks. 15 Figures 4a and 4b show a block diagram that constitutes an abstraction of the general steps of the proposed methodology. Best method of carrying out the invention The invention consists of a method that by specifying one of three options for calculating the weight of the pairs of matching minutiae in the module (13, Fig. 20 1) can be applied in three different contexts: to. identification of latent palm and fingerprints; b. fingerprint verification; C. palm fingerprint verification.
The invention compares the fingerprints represented by their minutiae. The minutiae are the points where the continuity of the ridges is broken and in the invention they are represented as (x, y, e). (x, y) are the coordinates of the point in two dimensions where the crest is broken; for example, the coordinates of the 5 minutiae (11, Fig. 1) and (14, Fig. 1) coincide with the centers of the respective circumferences. e represents the direction of the minutia and in the examples (11, Fig. 1) and (14, Fig. 1) are the angles represented by the arcs. The set of all minutiae is defined as U = {(x, y, e): x, y, and E ~}, where ~ is the set of real numbers. 10 The different global distortions between the footprints that are compared cause the appearance of multiple matching minutus. The example in Figure 3 graphically shows the difference in the distance between minutiae belonging to different cousters. Gray segments with double bolts show a distortion in the footprint (32, Fig. 3) up to 42 pixels in comparison with the footprint (31, Fig. 3). Note that this distance is more than double needed (15 pixels) to match 97.5% of minutiae according to (S. Pankanti, S. Prabhakar, and AK Jain, "On the individuality of fingerprints," IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 24, no. 8, pp. 1010-1025, 2002). Hence, if a distance threshold of 42 pixels was used instead of 15, 20 would increase the amount of matching false minutiae that would be found when comparing different fingerprints. To tolerate these distortions, the invention uses small threshold values to find multiple minutiae clusters.
matching and then relax these thresholds to determine which clusters to mix. Given two sets of minutiae Le 1, the invention defines as "cluster of matching minutiae" (or simply "cluster the set of minutiae pairs 5 C = {(ql 'PI)' (q2 'P2), ..., ( q¡, PI)} with centroid re = (qh 'Ph) EC that meets the following 10 15 conditions for each pair (qk' Pk) EC: o Function 1/1 transforms a minutia into another d using as reference a pair of minutiae (b, e) and is defined as: (1) o The function (faith calculates the similarity between two minutiae according to the distance between them and is defined as follows: (je: UXU ---- > [O; 1] (a, b) ----> {1 -de (oa, b) / 15 if de (a, b) :::; 15 otherwise (2) being of the function that calculate the Euclidean distance between two minutiae and is defined as follows: from: U x U ----> IR (a, b) ----> .J (xa -Xb) 2 + (Ya -Yb) 2. 3 )
o The function (faith calculates the similarity between two minutiae according to the difference between the minutiae addresses and is defined as follows: (5e: U x U - [O; 1] (a, b) 1 -d:; ~ b) if of (a, b) ~ TriS O otherwise (4) 5 being of the function that calculates the difference between the minutiae addresses and is defined as follows: from: U x U-IR (a, b) -min {lOa -Ob !. 2Tr -lOa -Ob I} (5) The best method of carrying out the invention is as follows: II To find the coincidences between the fingerprints locally the descriptors of 10 both fingerprints are compared and an avid strategy is used to determine the pairs of minutiae matching locally Step 1. Let (41, Fig. 4a) L e 1 be the respective sets of minutiae of the fingerprints to compare having each minute. an associated minutia descriptor Let A = {} be a set that will contain matching minutiae pairs 15. II Comparing the minutiae descriptors of both fingerprints (42, Fig 4a). Step 2. For each minutiae Q E L Y P E 1 compare their respective minutiae descriptors. II Finding the matching minutiae locally (43, Fig. 4a).
5 Step 3. Descending all pairs (q, p) in descending order according to the similarity value of their respective minutiae descriptors and storing in pairs with similarity greater than zero. Step 4. Let M = {} be a set in which, at most, max {lLI.lfI} pairs of matching minutiae will be stored, trying to minimize repetitions of minutiae within different pairs. Step 5. For each (qh 'Ph) E To do: a. If tlCqk.Pk) EM [(qh = qk) V (Ph = Pk)] then update M = MU {(qh 'Ph)}' 10 II Each pair of locally matched minutiae (44, Fig. 4a) is used to align the footprints (45, Fig. 4a) and find the match cluster (46, Fig. 4a). The pair of minutiae on which the alignment is performed is considered the centroid of the cluster found. The weight of each centroid is calculated based on the position and relative direction between the minutiae of each pair in the cluster (47, 15 Fig. 4a). A centroid has a high weight value when its cluster contains many pairs of matching minutiae and low fingerprint deformation. This weight is calculated in three different ways giving rise to a different application of the method for each of the following contexts: a. identification of latent palm and fingerprints; b. fingerprint verification; C. 20 check of palm prints. Step 6. Let is = {} the set that will be filled in the next step with the clusters of matching minutiae pairs obtained from multiple alignments.
5 10 15 20 Step 7. For each (qh. Ph) E M perform an alignment as follows: a. Let B = {} be the set that will be filled in the next step with all the matching minutiae pairs of the current iteration. b. For each (qg. Pg) E M. determine if qg coincides with Pg by aligning by (qh. Ph) as follows: i. Transform qg into q ~ using the pair (qh. Ph) as a reference as follows: q ~ = 1f; (qg. Qh. Ph) (see equation (1)). ii. Let s :; = o "e (q ~. Pg) * / To (q ~. pg) the similarity value associated with the pair (qg. Pg) (see equations (2) and (4». iii. If s :;> O then update B = B or {(qg.Pg)} (so far the conditions (a) and (c) of the cluster definition in the invention are met.) C. Order B descending according to the similarity values s :; of its elements d) Let Ch = {} be the cluster that will contain a subset of the matching minute pairs of the current iteration Let TCh = (qh. Ph) be the centroid of the Ch 'e cluster. For each ( qg. pg) EB achieve compliance with condition (b) of the cluster definition in the invention as follows: i. If V'eqk, Pk) ECh [(q9 = 1 = qk) 1 \ (Pg = 1 = Pk)] then update Ch = Ch U {(qg.Pg)}.
according to: o For the identification of fingerprints and palm groves: p: UXU x P (U) x P (U) x P (U x U) - + ~ (a, b, L, I, Ch) - - + IChl / L2 * L (q, P) ECh [oA1 /! (Q, a, b), p) * (Te (1 /! (Q, a, b), p)] (6) 5 or For palm fingerprint verification: p: UXU x P (U) x P (U) x P (U x U) - + IR (7) (a, b, L, /, Ch) - + IChI3 / (ichl + 20) * ILI * I / I) * ¿(qP) ECh [u. (1 / J (q, a, b), p) * ue (1 / J (q, a, b), p )) o For fingerprint verification: p: UXU x P (U) x P (U) x P (U x U) - + IR (8) (a, b, L, I, eh) - + lehl * eL (Q, p) EC. [Ue (1 /! (Q, a, b), p) • ue (1 /! (Q, a, b), p)]) 2 le (Ieh I + 20) * IL'I * IJ'I ) L 'being the subset of minutiae of L that intersects with the area occupied by the minutiae of I when aligning the footprints by the pair (a, b); while I 'is the subset of minutiae of I that intersects with the area occupied by the minutiae of L by aligning the footprints by the pair (a, b). g. If lehl> 3 then update the cluster set is = is u {eh} '15 II The weight of each cluster is calculated by accumulating the weight of the minutiae pairs it contains (8, Fig. 4a). Step 8. For every eh E is to do: a. Let WCh = O be the weight associated with the Ch 'b cluster. For each (qk 'Pk) E eh do: 20
s 10 lS II Initialize the resulting set (49, Fig. 4a) and iterate through each cluster (50, Fig. 4a) from greater to lesser weight to attempt mixing with the resulting set (51, Fig. 4a). Step 9. Sort Cs descending according to the WCh weight of your elements. Step 10. Let Cs' = {} be the set of clusters that will be selected to be mixed. Let M '= {} be the set of minute pairs resulting from the mixture of clusters in Cs'. Step 11. For each Ch E Cs verify that Ch can be mixed with each Cg cluster in Cs' as follows: a. Update Cs '= Cs' U {Ch} and M '= M' U Ch if Ch and each Cg E Cs 'meet that' v '(qj, p¡) ecg, (qk, Pk) eCh [(qj' * qk 1 \ P j '*, Pk) v (qj = qk 1 \ P j =, Pk)] 1 \ 3 (q¡, P¡) eCh [(q¡, pa Il Cg] 1 \ de (1jJ ( qh 'qg' Pg), Ph) ~ 701 \ de (1jJ (qh 'qg' Pg), Ph) ~ rr / 3 being (qh 'Ph) the centroid of the cluster Ch, (qg' pg) the centroid of the cluster Cg, 1jJ the function defined in (1), the function defined in (3) and the function defined in (5) II A Thin Plate Spline (TPS) model (AM Bazen and SH Gerez, "Fingerprint matching by thin -plate spline modeling of elastic deformations, "Pattern Recognition, vol. 36, no. 8, pp. 1859-1867, 2003.) is created from the 20 pairs of matching minutiae found up to this point. The TPS model is used to find new pairs of matching minutiae (61, Fig. 4b).
5 10 Step 12. Build a TPS model as in (AM Bazen and SH Gerez, "Fingerprint matching by thin-plate spline modeling of elastic deformations," Pattern Recognition, vol. 36, no. 8, pp. 1859-1867,2003 .) but, instead of using local coincidences as in (AM Bazen and SH Gerez, "Fingerprint matching by thin-plate spline modeling of elastic deformations," Pattern Recognition, vol. 36, no. 8, pp. 1859-1867 , 2003.), in this invention the matches (M ') found when mixing the clusters are used. Step 13. Let Thousand be the set of new pairs of matching minutiae that are between L and 1 through the TPS model. This step is performed as in (AM Bazen and SH Gerez, "Fingerprint matching by thin-plate spline modeling of elastic deformations," Pattern Recognition, vol. 36, no. 8, pp. 1859-1867,2003.) But using a single iteration instead of multiple. 15 II Calculating the weight of the new coincidences (62 to 65, Fig. 4b) Step 14. For each (qh 'Ph) E Thousand-M', repeat the steps of 7.a to 17.f to calculate the weight w :: of the matching minutiae pair (qh 'Ph)' II The final similarity value (66, Fig. 4b) is the sum of the weights of the matching minutiae pairs found as a result of the cluster mixing and the use of the model TPS built. Step 15. Let score = O the resulting similarity value. Step 16. For each (qh 'Ph) E M "UM' do:
s q · h a. Update score = score + wp: '~. Step 17. Return score. The terms in which this report has been described must always be taken broadly and not limitatively.