Está en la página 1de 129

Análisis del algoritmo de Maio para la extracción de

huellas dactilares. Optimización para una


implementación hardware.

Titulación: Ingenieria Técnica Industrial Especialidad Electrónica industrial

AUTOR: Marcos J. Lorda Piñol .


DIRECTOR: Nicolau Cañellas Alberich .

FECHA: Junio 2004.


Análisis del Algoritmo de Maio para la extracción de huellas dactilares.
Optimización para una implementación hardware.

Índice Contenidos
1 Objetivo ........................................................................................... 1
2 Antecedentes.................................................................................... 3
3 Biometría de Huellas Dactilares..................................................... 5
3.1 Reconocimientos Biométricos...................................................................6
3.1.1 Tipos de Reconocimientos Fisiológicos..............................................6
3.1.2 Tipos de Reconocimientos Comportamentales ...................................7
3.2 Huellas Dactilares .....................................................................................8
3.2.1 Crestas papilares. ...............................................................................8
3.2.1.1 Definición de cresta papilar. ...........................................................8
3.2.1.2 Clasificación de crestas papilares. ...................................................9
3.2.1.3 Factores que influyen en las crestas papilares................................10
3.2.2 Dactilogramas. .................................................................................11
3.2.2.1 Definición de dactilograma. ..........................................................11
3.2.2.2 Sistemas dactilares........................................................................11
3.2.2.3 Puntos característicos....................................................................12
3.2.2.4 Puntos singulares: Deltas y núcleos...............................................14
3.2.3 Clasificación de impresiones dactilares............................................15
3.2.3.1 Adeltos. ........................................................................................15
3.2.3.2 Pseudodeltos.................................................................................16
3.2.3.3 Dextrodeltos. ................................................................................16
3.2.3.4 Siniestrodeltos. .............................................................................17
3.2.3.5 Bideltos. .......................................................................................17
3.2.3.6 Ilegibles........................................................................................18
3.2.4 Utilidad de la impresión dactilar como elemento identificativo........18
3.3 Sistema Automático de Identificación Dactilar .....................................19
3.4 Adquisición de huellas dactilares ...........................................................21
3.5 Procesado y Extracción ..........................................................................24
3.5.1 Método de Binarización ...................................................................25
3.5.1.1 Realce del borde ...........................................................................25
3.5.1.2 Binarización .................................................................................25
3.5.1.3 Segmentación ...............................................................................26
3.5.1.4 Adelgazamiento y Podado ............................................................26
3.5.2 Extracción de minutias ....................................................................28

iii
Análisis del Algoritmo de Maio para la extracción de huellas dactilares.
Optimización para una implementación hardware.

4 Algoritmo de extracción DIGIMID.............................................. 29


4.1 Seguimiento de las Crestas .....................................................................30
4.1.1 Cálculo del Máximo .........................................................................35
4.1.2 Cálculo Dirección ............................................................................37
4.1.3 Criterios de Parada ..........................................................................38
4.2 Detección de Minutias ............................................................................39
5 Desarrollo y Modificación Algoritmo de Maio............................ 43
5.1 Desarrollo Algoritmo de Maio................................................................44
5.1.1 Base de datos....................................................................................44
5.1.2 Resultado Desarrollo Algoritmo de Maio........................................47
5.1.3 Descripción Errores del Algoritmo de Maio....................................53
5.1.3.1 Descripción Error_A1...................................................................53
5.1.3.2 Descripción Error_A2...................................................................54
5.1.3.3 Descripción Error_A3...................................................................55
5.1.3.4 Descripción Error_A4...................................................................56
5.2 Modificaciones Algoritmo de Maio ........................................................57
5.3 Resultado Algoritmo de Maio Modificado.............................................58
6 Desarrollo y Resultados DIGIMAC ............................................. 63
6.1 Algoritmo Base .......................................................................................64
6.2 Desarrollo DIGIMAC.............................................................................66
6.2.1 Modificación Máscara de Gauss .....................................................67
6.2.2 Discretización Ángulos ....................................................................68
6.3 Resultados Algoritmo DIGIMAC ..........................................................69
6.3.1 Comparación ojo humano................................................................70
6.3.1.1 Resultados: Comparación ojo humano........................................71
6.3.1.2 Conclusiones: Comparación ojo humano....................................77
6.3.2 Comparación Programa Comercial .................................................79
6.3.2.1 Resultados:Comparación Programa Comercial ..........................81
6.3.3 Conclusiones de las comparaciones ................................................87
6.3.4 Comparación Huellas Filtradas-Huellas Reales..............................88
6.3.4.1 Seguimiento: Huellas Filtradas-Huellas Reales..........................89
6.3.4.2 Errores encontrados y su resolución............................................90
6.3.4.3 Resumen Seguimiento Resolución de Errores .............................97

iv
Análisis del Algoritmo de Maio para la extracción de huellas dactilares.
Optimización para una implementación hardware.

7 Modificación Cálculo Dirección .................................................. 99


7.1 Método de Rao ...................................................................................... 100
7.2 Método de Slits...................................................................................... 101
7.3 Resultados y conclusiones..................................................................... 102
7.3.1 Resultados Obtenido....................................................................... 102
7.3.2 Conclusiones .................................................................................. 108
8 Conclusiones................................................................................ 111
9 Futuras Líneas de Investigación................................................. 113
9.1 Filtrado Estructural.............................................................................. 113
9.2 Imagen Auxiliar .................................................................................... 113
9.3 Imagen Negada ..................................................................................... 113
9.4 Segmentación ........................................................................................ 114
9.5 Preestimación........................................................................................ 115
10 Referencias y Bibliografía .......................................................... 117

v
Análisis del Algoritmo de Maio para la extracción de huellas dactilares.
Optimización para una implementación hardware.

vi
Análisis del Algoritmo de Maio para la extracción de huellas dactilares.
Optimización para una implementación hardware.

Índice de figuras
Figura 3.1: Sección de la piel de las yemas de las manos. (1) epidermis,(2) dermis. ..........8
Figura 3.2: Cresta Papilar. ................................................................................................9
Figura 3.3: Crestas arciformes. .........................................................................................9
Figura 3.4: Crestas angulosas............................................................................................9
Figura 3.5: Crestas verticilares..........................................................................................9
Figura 3.6: Sistemas dactilares: marginal, basilar y nuclear.............................................11
Figura 3.7: Dactilograma anucleado................................................................................11
Figura 3.8: Punto final. ...................................................................................................12
Figura 3.9: Punto bifurcación..........................................................................................12
Figura 3.10: Punto aislado. .............................................................................................13
Figura 3.11: Punto secante..............................................................................................13
Figura 3.12: Punto núcleo...............................................................................................14
Figura 3.13: Punto delta..................................................................................................14
Figura 3.14: Dactilograma adelto....................................................................................15
Figura 3.15: Dactilograma pseudodelto...........................................................................16
Figura 3.16: Dactilograma dextrodelto............................................................................16
Figura 3.17: Dactilograma sinestrodelto..........................................................................17
Figura 3.18: Dactilograma bidelto (“whorl”)...................................................................17
Figura 3.19: Dactilograma bidelto (“double loop”) .........................................................17
Figura 3.20: Dactilograma ilegible..................................................................................18
Figura 3.21: Modos de funcionamiento de un SAID. ......................................................20
Figura 3.22: Ejemplos de capturas realizadas por sensores on_chip. ...............................22
Figura 3.23: Sensor Completo. .......................................................................................22
Figura 3.24: Sensor Parcial. ...............................................................................................23
Figura 3.25: Ejempo realce de borde...............................................................................25
Figura 3.26: Ejemplo binarización: (a) imagen original, (b) imagen binarizada. ..............25
Figura 3.27: Ejemplo Segementación: a) imagen original, b) imagen segmentada...........26
Figura 3.28: Ejemplo Adelgazamiento y podado.............................................................26
Figura 3.29: Proceso de podado. ....................................................................................27
Figura 3.30: Ejemplo preparación imagen para la extracción de minutias .......................27
Figura 3.31: Identificación de minutias. ..........................................................................28
Figura 3.32: Filtraje estructural. ......................................................................................28
Figura 4.1: Sección transversal de una huella dactilar (a). Sección crestas capturadas (b).
................................................................................................................................29

vii
Análisis del Algoritmo de Maio para la extracción de huellas dactilares.
Optimización para una implementación hardware.

Figura 4.2: Imagen de la huella dactilar capturada. (a) σ distancia entre dos crestas
consecutivas. (b) ε ancho de la cresta. ...............................................30
Figura 4.3: La imagen nos muestra el punto (ic,jc) y dirección ϕ c pertenecientes a una
cresta. ......................................................................................................................31
Figura 4.4: La imagen muestra el desplazamiento de µ realizado en dirección ϕ c y el
punto (it,jt) encontrado.............................................................................................31
Figura 4.5: Corte de dirección ϕ c +π/2 centrado en (it,jt) y longitud 2σ+1. .....................32
Figura 4.6: Sección Ω que contiene el nivel de gris para cada punto del corte realizado y
centrado en el punto (it,jt) de longitud 2σ+1.............................................................32
Figura 4.7: Búsqueda de el punto (in,jn) en la sección Ω.................................................33
Figura 4.8: Representación de cortes transversales donde se aprecia la influencia de ruido.
................................................................................................................................35
Figura 4.9: Representación de las secciones paralelas propuestas: 1= Ω+1, 3= Ω, 3= Ω-1.
................................................................................................................................35
Figura 4.10: Máscara Gaussiana. ....................................................................................36
Figura 4.11: La figura muestra la comparación entre la sección original y el resultado
obtenido por el filtraje. .............................................................................................36
Figura 4.12: Ejemplo cresta original y la cresta poligonal obtenida en la imagen auxiliar T
................................................................................................................................39
Figura 4.13: Algoritmo de extracción de minutias propuesto por el Dr.Dario Maio.........40
Figura 4.14: Ejemplo cálculo punto (ic,jc). .....................................................................41
Figura 4.15: Tipo de minutias que encuentra el algoritmo de maio..................................42
Figura 5.1: Detalle ampliado Error_A1...........................................................................53
Figura 5.2: Detalle ampliado Error_A2...........................................................................54
Figura 5.3: Detalle ampliado Error_A3...........................................................................55
Figura 5.4: Detalle ampliado Error_A4...........................................................................56
Figura 6.1: a)Seguimiento del algoritmo de maio sobre una imagen no filtrada. B) zona de
la imagen ampliada donde se observa la perdida de minutias....................................64
Figura 6.2: Masrcaras Gaussianas. (a)Máscara propuesta por Maio con pesos [1/23, 2/23,
5/23, 7/23, 5/23, 2/23, 1/23], (b)Máscara propuesta en este proyecto con pesos
[1, 2, 4, 8, 4, 2, 1].....................................................................................................67
Figura 6.3: Selección de ángulos con un incremento de 15º. ...........................................68
Figura 6.4: Resultado extracción minutias ojo humano. 1.tiff..........................................73
Figura 6.5: Resultado extracción minutias DIGIMAC. 1.tiff. ..........................................73
Figura 6.6: Resultado extracción minutias ojo humano. 2.tiff..........................................74
Figura 6.7: Resultado extracción minutias DIGIMAC. 1.tiff. ..........................................74
Figura 6.8: Resultado extracción minutias ojo humano. 3.tiff..........................................75

viii
Análisis del Algoritmo de Maio para la extracción de huellas dactilares.
Optimización para una implementación hardware.

Figura 6.9: Resultado extracción minutias DIGIMAC. 3.tiff. ..........................................75


Figura 6.10: Resultado extracción minutias ojo humano. 5.tiff. .......................................76
Figura 6.11: Resultado extracción minutias DIGIMAC. 5.tiff. ........................................76
Figura 6.12: (A) Sección de la imagen 1.tiff donde se aprecia una minutia tipo
terminación. (B) Sección de la misma imagen con un aumento x10..........................77
Figura 6.13: Extracción minutias Programa Comercial.1.tiff. ..........................................83
Figura 6.14: Extracción minutias DIGIMAC.2.tiff..........................................................83
Figura 6.15: Extracción minutias Programa Comercial.2.tiff. ..........................................84
Figura 6.16: Extracción minutias DIGIMAC.2.tiff..........................................................84
Figura 6.17: Extracción minutias Programa Comercial.3.tiff. ..........................................85
Figura 6.18: Extracción minutias DIGIMAC.3.tiff..........................................................85
Figura 6.19: Extracción minutias Programa Comercial. 5.tiff..........................................86
Figura 6.20: Extracción minutias DIGIMAC.5.tiff..........................................................86
Figura 6.21:Tabla resumen de las extracciones de minutias comparadas. ........................87
Figura 6.22: Seguimiento Huella filtrada. .......................................................................89
Figura 6.23: Seguimiento Huella Real. ...........................................................................89
Figura 6.24: Seguimiento Huella Real: Solución Error_1................................................91
Figura 6.25: Seguimiento Huella Real: Solución Error_2................................................93
Figura 6.26: Error_3. ......................................................................................................94
Figura 6.27 : Seguimiento Huella Real: Solución Error_3...............................................96
Figura 6.28: Seguimiento original...................................................................................97
Figura 6.29: Seguimiento solución Error_1....................................................................97
Figura 6.30: Seguimiento solución Error_2.....................................................................98
Figura 6.31: Seguimiento solución Error_3.....................................................................98
Figura 7.1: Ventana de direcciones propuesta para el método de SLITS........................ 101
Figura 7.2: 1.tif. Método de Maio. ................................................................................ 102
Figura 7.3: 2.tif Método de Maio .................................................................................. 102
Figura 7.4: 3.tif Método de Maio. ................................................................................ 103
Figura 7.5: 5.tiff Método de Maio................................................................................ 103
Figura 7.6: 1.tif Método de RAO. ................................................................................. 104
Figura 7.7: 2.tif Método de RAO. ................................................................................. 104
Figura 7.8: 3.tif Método de RAO. ................................................................................. 105
Figura 7.9: 5.tif Método de RAO. ................................................................................ 105
Figura 7.10: 1.tif Método de SLITS. ............................................................................ 106
Figura 7.11: 2.tif Método de SLITS. ............................................................................ 106

ix
Análisis del Algoritmo de Maio para la extracción de huellas dactilares.
Optimización para una implementación hardware.

Figura 7.12: 3.tif Método de SLITS. ............................................................................. 107


Figura 7.13: 5.tif Método de SLITS. ............................................................................. 107
Figura 7.14: Resultado método de Maio........................................................................ 108
Figura 7.15: Resultado método de RAO........................................................................ 108
Figura 7.16: A) Muestra de la imagen original. B) Muestra del seguimiento del Método de
RAO. ..................................................................................................................... 109
Figura 7.17: Huella Filtrada. Método de Maio.. ............................................................ 110
Figura 7.18: Huella Filtrada. Método de SLITS. ........................................................... 110
Figura 9.1: Imagen original con zonas con poco contraste (a) y el resultado obtenido (b).
.............................................................................................................................. 114

x
Análisis del Algoritmo de Maio para la extracción de huellas dactilares.
Optimización para una implementación hardware.

Índice de Tablas
Tabla 5.1: Características imagen sfinge_1.tiff................................................................44
Tabla 5.2: Características imagen sfinge_2.tiff................................................................45
Tabla 5.3: Características imagen sfinge_3.tiff................................................................45
Tabla 5.4: Características imagen sfinge_4.tiff................................................................46
Tabla 5.5: Características imagen img_mej.tiff. ..............................................................46
Tabla 5.6: Tabla ejemplo presentación resultados seguimiento........................................47
Tabla 5.7: Resultado Procesado Sfinge_1.tiff. .................................................................48
Tabla 5.8: Resultado Procesado Sfinge_2.tiff. .................................................................49
Tabla 5.9: Resultado Procesado Sfinge_3.tiff. .................................................................50
Tabla 5.10: Resultado Procesado Sfinge_4.tiff. ...............................................................51
Tabla 5.11: Resultado Procesado img_mej.tiff. ...............................................................52
Tabla 5.12: Resultado seguimiento sfinge_1.tiff. Algoritmo Modificado.........................58
Tabla 5.13: Resultado seguimiento sfinge_2.tiff. Algoritmo Modificado.........................59
Tabla 5.14: Resultado seguimiento sfinge_3.tiff. Algoritmo Modificado.........................60
Tabla 5.15: Resultado seguimiento sfinge_4.tiff. Algoritmo Modificado.........................61
Tabla 5.16: Resultado seguimiento img_mej.tiff. Algoritmo Modificado. .......................62
Tabla 6.1: Tabla ejemplo para la comparación entre métodos de extracción de minutias. 70
Tabla 6.2: Código de colores para la identificación de minutias. .....................................70
Tabla 6.3:Comparación ojo humano-DIGIMAC imagen 1.tiff.........................................73
Tabla 6.4 : Comparación ojo humano-DIGIMAC imagen 2.tiff.......................................74
Tabla 6.5: Comparación ojo humano-DIGIMAC imagen 3.tiff........................................75
Tabla 6.6: Comparación ojo humano-DIGIMAC imagen 5.tiff........................................76
Tabla 6.7: Resumen comparación extracción minutias ojo humano-DIGIMAC...............77
Tabla 6.8: Error_1:Perdida de minutias según tipo de imagen. ........................................90
Tabla 6.9: Error_2:Cambio brusco de la dirección provocado por la presencia de ruido. .92
Tabla 7.1: Máscara Gx................................................................................................. 100
Tabla 7.2: Máscara Gy ................................................................................................. 100

xi
Análisis del Algoritmo de Maio para la extracción de huellas dactilares.
Optimización para una implementación hardware.

xii
Objetivo

1 Objetivo
Hace mucho tiempo que se utilizan las huellas dactilares como sistema de
identificación. Ya en la antigua china, las huellas dactilares de una persona eran utilizadas
como parte de la firma realizada en documentos públicos y privados. Más recientemente,
las huellas dactilares se utilizan en investigaciones policiales para la identificación de
sospechosos.
El grupo de investigación de VLSI persigue el objetivo de implementar un
“embedded security system” capaz de autentificar la identidad de cualquier individuo a
partir de la utilización de la biometría de huella dactilar.
Este proyecto forma parte de dicha investigación y tiene el objetivo particular de
realizar el análisis y la modificación de un algoritmo para la extracción de las
características físicas de las huellas dactilares. Las modificaciones que se proponen van
dirigidas a permitir una implementación hardware de partes del algoritmo que hagan
posible bajar las necesidades del sistema y poder así obtener un algoritmo de extracción de
los puntos característicos de huellas dactilares en microprocesadores de bajo coste.
El algoritmo base utilizado para realizar las modificaciones y los análisis que se
muestran en este proyecto propuesto por los doctores Dario Maio y Davide Maltoni se basa
en la extracción de las características de las huellas dactilares en imágenes en escala de
grises. Las modificaciones más importantes propuestas para realizar una implementación
hardware son la eliminación de productos y divisiones del algoritmo y la eliminación
operaciones en coma flotante. Todas estas modificaciones nos permitiría realizar un
dispositivo electrónico (hardware + software) de pequeñas dimensiones, bajo coste y alta
calidad en los resultados. Obteniendo así la posibilidad de la utilización de la identificación
o autentificación de huellas dactilares en nuevos campos de aplicación. Una de las posibles
funciones que podría utilizar en como llave de acceso, ya sea en hoteles substituyendo las
tarjetas o llaves de apertura de habitaciones, como en grandes o medianas empresas como
control de acceso de áreas restringidas.

1
Objetivo

2
Antecedentes

2 Antecedentes

La verificación de la identificación personal es una necesidad importante en los


últimos tiempos y que se ha visto afectada por la implantación de las nuevas tecnologías en
nuestras vidas.
Hoy en día nos vemos obligados a identificarnos en muchos aspectos cuotidianos, ya
sea para la utilización de las cuentas bancarias, el acceso a Internet o la utilización de
teléfonos móviles, ya que si alguien tuviera acceso a nuestros servicios podría
perjudicarnos seriamente y hasta realizar delitos bajo nuestra responsabilidad.
Actualmente los sistemas de autentificación que se utilizan se basan en dos
características y la combinación de ambas. La primera es conocer algo que nadie más
conoce y la segunda tener alguna cosa que nadie más tenga. Referente a la primera
característica “algo que sepas” se han creado sistemas como el PASSWORD y/o PIN,
ambos se basan en la misma técnica que consiste en una combinación de signos que
identifican unívocamente a una determinada persona; para el acceso a cualquier tipo de
recurso protegido. Normalmente la diferencia entre PIN y PASSWORD radica en su
utilización y no en la técnica en la que se basan. El PASSWORD puede ser conocido por
una o más personas para el acceso a servicios privados o colectivos, su mayor utilización
es en el ámbito de Internet para tener acceso o recursos restringidos y siempre va
acompañado del conocimiento previo del nombre de usuario. En cambio, el PIN o número
personal de identidad no necesita de conocimiento previo ninguno y siempre se refiere a la
identificación o autentificación de un sólo individuo, tal y como indica su propio nombre.
El mayor campo de utilización de este sistema es en la telefonía móvil. La segunda
característica, “algo que tengas”, hace referencia a sistemas tan utilizados como podría ser
el DNI (Documento Personal de Identidad) o tarjetas de fichaje y/o acceso utilizadas por
empresas para el control de sus trabajadores. El mayor sistema que combina ambas
características y utilizado por la mayoría de personas en el mundo son las tarjetas bancarias
o de crédito, ya que se componen se un sistema “algo que tengas”, como es la propia
tarjeta y de un sistema “algo que sepas” como es el número PIN asociado para su
utilización de forma segura.
Los dos tipos de sistemas antes citados tienen el gran inconveniente que son más o
menos fáciles de falsear, es decir que cualquier persona podía hacerse pasar por nosotros y
aprovecharse de nuestros privilegios en diferentes servicios. El primer tipo , “algo que
sepas” es bastante fácil de falsear ya que sólo necesitamos saber lo que conoce la otra
persona. Normalmente el número PIN consiste en una sucesión de números y letras de 4
dígitos para poder facilitar al usuario su memorización, y los usuarios suelen elegir número
que tengan relación con su persona como podría ser la fecha de cumpleaños, año de
nacimiento y la fecha del aniversario de boda . Esto hace que conociendo un poco a la
persona otro individuo pueda conocer o intuir su número PIN, pudiendo así implantar su
identidad. Con el segundo tipo, “algo que tengas”, todavía es más fácil ya que sólo hay que
sustraerle dicha tarjeta.

3
Antecedentes

Después de conocer las características de los métodos más utilizados actualmente,


nos podríamos hacer la pregunta que ya se han hecho muchos expertos en seguridad como
podría ser: ¿Y por que no podemos identificarnos por lo que somos, y no por
características externas a nosotros como son lo que sabemos o lo que tenemos?. Esta
pregunta tiene una respuesta muy sencilla que es : Si que podemos y se realiza a través de
la biometría.
Según el Diccionario de la Real Academia Española (DRAE), la biometría es el
“estudio mensurativo o estadístico de los fenómenos o procesos biológicos”. Técnicamente
se entiendo como “biometría” las técnicas automáticas para la extracción de
características físicas que permiten ser comparadas.
Como se ha mencionado anteriormente la biometría se basa en “algo que eres”. Esta
característica hace que sea un método más seguro que los anteriormente mencionados
“algo que sepas” y “algo que tengas”, ya que no es necesario el conocimiento o
memorización de ningún número ni la necesidad de tener ninguna tarjeta de identificación
propia. Ya que la única forma de identificarse como uno es uno mismo o alguna
característica inherente a la persona.
Hasta hace relativamente poco tiempo, estos sistemas estaban reservados a
investigadores y cuerpos de seguridad de los diferentes países y no tenían una salida
comercial muy clara, ya que el precio de estos sistemas era relativamente caro. Pero los
avances tecnológicos acontecidos en los últimos cinco años han hecho que el coste de estos
sistemas sea asequible para su implantación comercial.
Así, el campo de la biometría nos muestra un método mucho más seguro para la
identificación de personas. Esta característica es la que permite que tenga un uso muy
amplio y en diferentes campos de aplicación. Puede ser utilizado como tarjeta de embarque
en aeropuertos o billetes de tren. También puede realizar las funciones de contraseñas para
la apertura de puertas o transacciones comerciales. Permitiendo así que no pueda ser
usurpada la identidad, ya que es necesaria la presencia física de la persona en cuestión para
una correcta identificación.

4
Biometría de Huellas Dactilares

3 Biometría de Huellas Dactilares


Como se ha mencionado en el capítulo anterior, la biometría se entiende desde el
punto de vista técnico como las técnicas automáticas para la extracción de características
físicas que permiten ser comparadas.
La comparación se realiza a través de la extracción o reconocimiento de ciertas
características propias de cada individuo. Las características nos permiten obtener una
referencia a comparar , que sólo nos dará un resultado positivo cuando la referencia y las
características a comparar son idénticas, pudiendo así afirmar la identidad del individuo a
identificar.
Esta extracción de características puede ser de muchos tipos, pero pueden ser
englobados en dos grandes grupos de reconocimientos biométricos. Los fisiológicos, que
pueden ser la extracción de características físicas de las huellas dactilares, iris o de la cara.
Y las comportamentales o la extracción de características de cada individuo según su
comportamiento, es decir no por rasgos físicos de las personas si no por la forma de
escribir, firmar o voz. Este segundo grupo de reconocimientos sólo es recomendado para
sistemas con una bajo grado de seguridad ya que se trata de características de las personas
y no de rasgos físicos. Esto hace que sea más fácil su imitación o suplantación.
En el apartado 3.1, se muestra un pequeño resumen de los dos grupos mencionados
anteriormente y los tipos de reconocimientos que actualmente se están investigando.
El resto de apartados tratan sobre la biometría de huellas dactilares y sus
características intentando responder a las siguientes preguntas: ¿Qué son las huellas
dactilares y que tienen de particular?, ¿Qué es y de que se compone un sistema de
identificación automático de huellas dactilares?, ¿Qué tipos de algoritmos existen para
encontrar las características de las huellas dactilares? y ¿Qué tipo de sensores existen para
captar las imágenes de las huellas dactilares para poder ser procesadas?.

5
Biometría de Huellas Dactilares

3.1 Reconocimientos Biométricos

3.1.1 Tipos de Reconocimientos Fisiológicos


Este tipo de reconocimiento es el de mayor seguridad y el que hace casi imposible su
suplantación por otro individuo. A continuación se muestra un listado de los sistemas más
utilizados y sus características principales.
ADN: se trata de comparar la cadena de ADN de cada individuo para su
identificación. Cada individuo tiene su propia cadena de ADN, a excepción de la existencia
de gemelos idénticos que a priori tendrían la misma cadena de ADN. Este sistema es el
más utilizados por los médicos forenses a la hora de realizar identificaciones de cadáveres.
El sistema a priori parece él más seguro, pero dependiendo de la aplicación que se realizara
dejaría de serlo, ya que todo individuo deja el rastro de su ADN, ya que se puede extraer
muestras de ADN de gotas de sangre, saliva, etc.. De todas formas hoy en día realizar un
sistema de identificación mediante ADN de una forma comercial es inviable, ya que es un
método muy agresivo y de una tecnología muy cara y un alto tiempo de ejecución.
Oreja: Se trata del reconocimiento de la estructura física del pabellón auditivo. Se
basa en identificación de los puntos del pabellón auditivo más alejados del centro de la
oreja y de las características remarcables. Este método tiene el inconveniente de ser
bastante molesto para los usuarios, ya que es necesario extraer una imagen de la oreja y
además, se necesitaría extraer un patrón de cada individuo cada cierto tiempo, ya que las
orejas son unas de las pocas partes del cuerpo humano que crecen al largo de toda la vida.
Se trata de un sistema de seguridad medio- bajo.
Cara: El reconocimiento de la cara es uno de los métodos biométricos más
aceptados, ya que es el método que utilizan las personas a la hora de realizar una
identificación visual. Este método no es nada invasivo para el usuario, ya que es muy fácil
conseguir una imagen de la cara . Estos sistemas son capaces de reconocer expresiones de
la cara y poses haciendo una adquisición en 2D o 3D.El principal inconveniente del
sistema es que se ve afectado por cambios de imagen del usuario, ya sea un corte de pelo,
cambio de modelos de gafas, etc. Este sistema muestra un índice de seguridad medio alto
Termo-gramas de manos, rostro: Este sistema se basa en extraer un termo-grama o
una fotografía térmica del rostro, de las manos, pies y hasta del cuerpo de una persona. Es
característico de cada individuo tener zonas más o menos calientes en nuestro cuerpo aun
que existan zonas comunes entre todos. Esto permite realizar una identificación según los
puntos calientes y fríos de cada individuo. El mayor inconveniente se este sistema es que
puede descartar reconocimientos debido a factores meteorológicos externos que harían
variar la presencia de puntos calientes y fríos en el termo-grama o el estado de salud del
usuario, ya que la presencia de fiebre podría invalidar el reconocimiento. Este sistema tiene
un grado de seguridad medio-alto según el tipo de aplicación.
Geometría de Manos y Dedos: Esta técnica identifica la forma característica de las
manos o dedos de cada individuo. Ya que normalmente son invariantes y particulares.
Identificando la forma de cada mano o dedo así como su longitud y grosor característicos.
El mayor inconveniente de este sistema es la mayor necesidad de la colaboración del
usuario y su alto coste, ya que necesita de mucha cantidad de memoria y de poder de
calculo para su aplicación. Es un sistema de alto grado de seguridad.

6
Biometría de Huellas Dactilares

Iris: el iris se forma en nuestro estado embrionario y es invariable en el tiempo.


Existe una imagen diferente del iris para cada ojo y para cada individuo. Es un sistema
nada agresivo. Esta técnica necesita de una mayor cooperación del usuario. Ya que la
imagen tiene que ser tomada de una forma concreta para que los resultados sean
aceptables. Se trata de un sistema de alta seguridad, pero su principal inconveniente es su
elevado precio, ya que para su aplicación es necesario equipos muy precisos.
Escáner de Retina: Cada retina tiene una estructura particular y es diferente para
cada ojo y para cada individuo. Esta técnica esta llamada a ser la más segura, ya que es
muy difícil su cambio o suplantación. Necesita una gran cooperación del usuario para
realizar el escáner de la retina y hoy en día la técnica para extraer la imagen de la retina no
es aconsejable realizarla a personas con hipertensión. El mayor inconveniente de este
sistema es su elevado precio, ya que necesita de materiales tecnológicamente avanzados y
precisos haciendo inviable su aplicación en aplicaciones comerciales.

3.1.2 Tipos de Reconocimientos Comportamentales


Este tipo de reconocimiento es el de menor seguridad y el que puede ser imitado con
facilidad. A continuación se muestra un listado de los sistemas más utilizados y sus
características principales.
Gait (forma de andar): cada persona tiene una forma de andar características,
aunque no es única para cada individuo. Esta técnica no se utiliza para realizar un
reconocimiento seguro del individuo, pero si que nos sirve para descartar algunos. Esta
técnica es utilizada para extraer características de grabaciones de individuos en videos, que
permitan de esta forma encontrar algún sospechoso.
Keystroke dynamics ( forma de teclear): este sistema se basa en la hipótesis que
cada persona teclea de una forma característica. Aunque no fuera así, nos permite
recopilar información para discriminar o aceptar posibles sospechosos en una
investigación, tras una monitorización de su forma de teclear característica.
Olor: es conocido que cada objeto tiene un olor. Este olor se puede caracterizar
según su composición química, y esto nos puede permitir identificar varios objetos. El olor
emitido por un individuo o un animal es característico de sí mismo. Lo que no esta claro
es si se podría aislar el olor de cada uno cuando esta mezclado con perfumes, desodorantes
y el olor característico de cada zona.
Firma: es conocido que cada persona firma de una forma característica y que no hay
dos firmas iguales. Esta técnica es válida o esta aceptada por muchos gobiernos y en
transacciones comerciales. Pero también es conocido que una misma persona puede firmar
de una forma diferente según su estado de ánimo y que existe gente que es capaz de
falsificar una firma con mucha exactitud, hasta el punto que no existan diferencias para el
ojo humano.
Voz: el reconocimiento de voz, mediante una grabación, es aceptable por muchos
tribunales del mundo. Pero realizar un sistema de reconocimiento automático es bastante
complicado, ya que el patrón a guardar tendría que ser muy grande y la comparación con
una base de datos casi inviable. También tiene en contra que la voz nos cambia según el
estado de salud de cada uno (resfriados, con fiebre, etc. ). Y también la calidad de la voz
puede empeorar al grabarlos a través de micrófonos, etc.

7
Biometría de Huellas Dactilares

3.2 Huellas Dactilares


Según el Diccionario de la Real Academia Española (DRAE), la huella dactilar es la
impresión que suele dejar la yema del dedo en un objeto al tocarlo, o la que se obtiene
impregnándola previamente en una materia colorante.
Esta definición es correcta, pero para conocer mejor que representa técnicamente la
huella dactilar es necesario comentar algunos conceptos referentes a la morfología de la
piel en la zona de los dedos de la mano, ya que el análisis de las imágenes capturadas por
dispositivos adecuados en esta zona será la técnica que nos permitirá realizar una
verificación o una identificación personal.
Lofoscopia: Etimológicamente significa examen de las crestas papilares (lophos:
crestas y skopia: examen). Más correctamente se considera a la Lofoscopia como la ciencia
que estudia las crestas papilares con fines identificativos (curiosamente esta palabra no está
oficialmente aceptada por el DRAE) .
Dactiloscopia: Etimológicamente proviene del griego (daktilos:dedos y skopia:
examen), es por tanto la parte de la lofoscopia que estudia las crestas papilares en la zona
de la yemas de los dedos. Dado que la mayoría de los estudios sobre lofoscopia se centran
en esta zona, en el ámbito criminalístico ambas palabras se utilizan como sinónimos.

3.2.1 Crestas papilares.

3.2.1.1 Definición de cresta papilar.


La piel humana es una membrana que protege a todos los sistemas orgánicos de los
agentes externos que pueden afectarles. Está formada por dos capas: la epidermis (zona de
gráfico marcada como 1), capa más externa donde se realizan los procesos de regeneración
de la piel y se hallan las células pigmentarias; y la dermis (zona 2), capa más interna donde
se encuentran las papilas, pequeñas prominencias y pliegues de que dispone la dermis a fin
de aumentar su superficie sensible y su capacidad de evacuación vascular.

Figura 3.1: Sección de


la piel de las yemas de
las manos. (1)
epidermis,(2) dermis.

La forma de las papilas es muy variable y su número medio es de 36 por centímetro


cuadrado. Su tamaño oscila entre 55 y 225 micras. En las manos y pies, estas papilas se
alinean formando unas estructuras llamadas crestas papilares. Éste es el dibujo que
observamos en las yemas de nuestros dedos y en las palmas de las manos y plantas de los
pies. Entre cada dos crestas papilares queda una depresión longitudinal llamada surco
interpapilar o valle cuya anchura oscila entre 0,2 y 0,5 milímetros. Al estar formado en la
dermis, dicho dibujo no se ve afectado por acciones externas, salvo que éstas sean lo
suficientemente profundas (acción de ácidos, trabajo manual agresivo continuado,
accidentes, etc.).

8
Biometría de Huellas Dactilares

3.2.1.2 Clasificación de crestas papilares.


Las crestas papilares se pueden agrupar en los siguientes tipos según sea la forma
predominante que presenten :

Rectas. Aquéllas cuyo trazado es


recto (Figura 3.2). Se suelen encontrar en
la base de los dactilogramas.

Figura 3.2: Cresta Papilar.

Arciformes. Crestas que forman un


arco de circunferencia (figura 3.3).

Figura 3.3: Crestas arciformes.

Angulosas. Crestas que tienden a


formar un ángulo (figura 3.4). Suelen
encontrarse en dactilogramas anucleados.

Figura 3.4: Crestas angulosas.

Verticilares. Crestas que forman un


círculo o espiral arrollándose sobre
sí mismas (figura 3.5).

Figura 3.5: Crestas verticilares.

9
Biometría de Huellas Dactilares

3.2.1.3 Factores que influyen en las crestas papilares.

Existen tres factores que influyen en las características de las crestas papilares,
pudiendo determinar su grosor e incluso un patrón de su forma:
Edad: Los dibujos papilares no sufren ninguna modificación con el paso del tiempo;
sin embargo, el grosor tanto de las crestas como de los surcos, aumenta con la edad. En
general se pueden distinguir tres grupos de edades: individuos de edad inferior a catorce
años, entre catorce y sesenta y cinco e individuos con más de sesenta y cinco años.
Sexo: La diferencia entre las crestas papilares del hombre y de la mujer es el grosor.
En general, las del hombre son más gruesas que las de la mujer, por lo que conociendo la
edad del individuo se puede determinar el sexo de una persona a partir de la medida del
grosor de sus crestas papilares.
Herencia: Aunque cada persona tiene un dibujo papilar distinto de otra, incluso entre
gemelos, sí está demostrado que entre personas de la misma familia hay una tendencia a
reproducir patrones de forma en los dibujos papilares.
Además, existen una serie de características personales que pueden afectar en gran
medida a las impresiones dactilares. A este respecto podemos citar:
Profesiones especiales: existen determinados profesionales cuyo trabajo se realiza
exponiendo sus dedos a un intenso agente abrasivo (ácido, desgaste por rozamiento, etc.).
En estas personas es muy difícil realizar ningún tipo de estudio ya que pueden llegar a
carecer casi completamente del dibujo papilar.
Accidentes: evidentemente el que mayor impacto representa sería la amputación
completa de la primera falange. Sin llegar a ese extremo existen una gran variedad de los
mismos (quemaduras, heridas profundas, etc.) que pueden afectar al dibujo papilar.
Enfermedades: algunas enfermedades provocan alteraciones epidérmicas graves que
afectan a las falanges de los dedos. Entre las más usuales se puede citar la hiper o
hipohidratación, sindactilia, polidactilia, etc.

10
Biometría de Huellas Dactilares

3.2.2 Dactilogramas.

3.2.2.1 Definición de dactilograma.

Un dactilograma es el dibujo formado por las crestas papilares de la yema de un dedo


de la mano de una persona. Los dactilogramas pueden ser de dos tipos:
Naturales. Es el dibujo que forman las crestas en la propia piel. En adelante se
denominarán huellas dactilares.
Artificiales. Reproducción del dibujo sobre una superficie por contacto directo de las
crestas, previamente recubiertas de una sustancia capaz de permanecer sobre el soporte.
Cuando la sustancia es el sudor se denomina dactilograma latente. En adelante se
denominarán impresiones dactilares.

3.2.2.2 Sistemas dactilares.

Se denomina sistema dactilar a cada parte en que puede dividirse un dactilograma.


Existen tres sistemas dactilares (figura 3.6):
Sistema basilar: Zona entre la segunda y tercera falange, salvo para el dedo pulgar,
donde se encuentra entre la primera y segunda falange. Normalmente sus crestas son
horizontales, paralelas al pliegue de flexión de la falange.
Sistema marginal: Zona más exterior del dactilograma. Normalmente corresponde a
la zona de la punta de los dedos y los bordes del mismo. Sus crestas suelen ser angulosas.
Sistema nuclear: Zona comprendida entre el sistema basilar y el marginal. Contiene
el centro de la impresión dactilar (núcleo) y la mayor parte de los puntos característicos del
dactilograma.
No todos los dactilogramas pueden dividirse completamente en estas tres partes.
Existe un tipo especial de dactilograma que carece de sistema nuclear y en el que, por lo
tanto, también es difícil establecer un límite entre el basilar y el marginal. A estos
dactilogramas se les denomina anucleados (figura 3.7).

Figura 3.6: Sistemas dactilares: marginal, Figura 3.7: Dactilograma anucleado.


basilar y nuclear.

11
Biometría de Huellas Dactilares

3.2.2.3 Puntos característicos

Las crestas papilares presentan, con frecuencia, puntos de coincidencia con otras
crestas o bien terminan de manera abrupta. A estos puntos de ruptura en el dibujo se les
denomina “puntos característicos” de la cresta. Existen varios tipos de puntos
característicos atendiendo a la forma en que aparecen en una cresta. Aunque algunos
autores citan algún tipo más, se ha creído conveniente agrupar algunos de ellos en los
siguientes ya que son los más utilizados a la hora de generar modelos matemáticos que
permitan la comparación entre dos impresiones dactilares:

Punto final. Terminación abrupta de


una cresta (figura 3.8). Representan el 56,3
% de los puntos en el dactilograma. En la
figuran se muestran tres de estos puntos
denominados A, B y C.

Figura 3.8: Punto final.

Bifurcación. Punto en que una cresta


se transforma en dos crestas. Por analogía
también se denomina así a la convergencia
de dos crestas (figura 3.9). Representan el
30,5 % de los puntos. En la figura son los
puntos A y B.

Figura 3.9: Punto bifurcación.

12
Biometría de Huellas Dactilares

Punto aislado. Fragmento de cresta


de igual longitud que anchura (figura 3.10).
Alrededor del 2,1%. En la figura se
corresponden con los puntos A y B. No
suelen utilizarse ya que pueden confundirse
fácilmente con ruido en la imagen

Figura 3.10: Punto aislado.

Secante. Punto formado por dos


crestas que se cortan saliendo otras dos
crestas (figura 3.11). Representan el 1% de
los puntos. En la figura aparece el punto A.
Son muy dependientes del ruido de la
imagen y no se utilizan en los SAID
(aunque sí es muy utilizado por los
especialistas en el cotejo manual).

Figura 3.11: Punto secante.

El resto de puntos característicos (desviación, empalme, rama, etc) representan el


7,1%. A efectos de la verificación e identificación automática solo se consideran los puntos
finales y bifurcaciones, no considerándose los demás.

13
Biometría de Huellas Dactilares

3.2.2.4 Puntos singulares: Deltas y núcleos.

Además de estos puntos existen dos tipos de puntos llamados “singulares” que son
muy importantes en las etapas de clasificación de las huellas. Estos puntos “singulares” en
este proyecto no se buscan ya que sólo se realiza el proceso de extracción de puntos
característicos o minutias ( terminaciones y bifurcaciones), el proceso de clasificación de
las huellas dactilares para su comparación no es materia ni objetivo de este proyecto. De
todas formas, se ha querido incluir esta información por si alguno de los lectores de este
proyecto encontrara referencias a estos tipos en otras publicaciones referentes a la
biometría de huellas dactilares.

Núcleo. Centro no geométrico del


sistema nuclear. En la figura 3.12 se
representa la zona donde se encuentra
rodeada por un círculo. Normalmente se
suele tomar el punto más alto de la cresta
central del dactilograma, alrededor de la
cual aparece el resto. Esta definición hace
muy complicada su extracción automática
aunque existen diversas fuentes que han
desarrollado métodos para encontrar zonas
en la imagen donde pueda ser encontrado.

Figura 3.12: Punto núcleo.

Delta. Punto de encuentro de todos


los sistemas (basilar, marginal y nuclear)
(figura 3.13). Normalmente se trata de un
punto bifurcación en la zona de
confluencia descrita con ramas
confluyentes separadas por unos 120º,
aunque también puede tratarse del centro
de una figura triangular de confluencia de
los tres sistemas dactilares. Los
dactilogramas anucleados, normalmente,
no presentan deltas. Al encontrarse en una
zona periférica es frecuente que en
dactilogramas latentes sea muy difícil su
localización
Figura 3.13: Punto delta.

14
Biometría de Huellas Dactilares

3.2.3 Clasificación de impresiones dactilares.


Existen diversos sistemas de clasificación de impresiones dactilares. La mayoría de
los que actualmente se utilizan en bibliografía inglesa se basan en los estudios de Galton.
Éste dividió los dactilogramas según la morfología de las crestas papilares en arch, tented
arch, whorl, loop outer, loop inner y double loop. En España se adoptó el método del Dr.
Federico Olóriz basado en un sistema anterior del argentino Juan Vucetich que utiliza el
número de deltas que aparecen en la imagen y, por lo tanto, su clasificación establece
como tipos principales: adelto, dextrodelto, sinestrodelto, bidelto e ilegible. Posteriormente
se ha escindido del adelto un tipo adicional: el pseudodelto. Aunque las dos
aproximaciones son distintas en la práctica los resultados de la clasificación coinciden casi
exactamente.
Como se ha mencionado anteriormente, la clasificación de los dactilogramas o
huellas dactilares no es materia de este proyecto. Como en el caso anterior, se ha creído
conveniente incluir esta información en el proyecto para que los lectores del mismo tengan
más información sobre el reconocimiento de huellas dactilares y como se pueden clasificar
en las bases de datos para posibles comparaciones. Actualmente y gracias al avance de las
tecnologías se permite guardar sólo la matriz de minutias extraídas de las huellas dactilares
para su comparación.

3.2.3.1 Adeltos.

En la clasificación de Galton
corresponden al tipo “Arch” (figura 3.14).
Carecen de delta y de sistema nuclear y
las crestas presentan un arqueamiento
convexo.

Figura 3.14: Dactilograma adelto

15
Biometría de Huellas Dactilares

3.2.3.2 Pseudodeltos.

Corresponden a los “tented arch”


en terminología inglesa (figura 3.15).
Están formados por un falso punto delta
ya que, a pesar de contar con un punto que
corresponde a la forma de éste, no tienen
punto núcleo y, por lo tanto, no contienen
zonas nuclear, basilar y marginal
claramente diferenciadas.

Figura 3.15: Dactilograma pseudodelto.

3.2.3.3 Dextrodeltos.

Dactilogramas llamados “loop


outer” para Dalton (figura 3.16). Tienen
un solo punto delta a la derecha del punto
núcleo.

Figura 3.16: Dactilograma dextrodelto.

16
Biometría de Huellas Dactilares

3.2.3.4 Siniestrodeltos.

Dactilogramas “loop inner” (figura


3.17). Tienen un único punto delta a la
izquierda del punto núcleo. Tanto éstos
como los dextrodeltos se caracterizan por
tener un único delta y un núcleo aunque se
han documentado dactilogramas con dos
núcleos en los que el punto delta queda en
la zona central entre los mismos. En este
caso se considera dextro o sinestrodelto en
función de la zona de la imagen dónde se
encuentre el punto delta.

Figura 3.17: Dactilograma sinestrodelto.

3.2.3.5 Bideltos.
Engloban a los dactilogramas “whorl” (figura 3.18) y los “double loop” (figura
3.19) de Galton. Los de tipo whorl tienen dos deltas y un núcleo mientras que los double
loop tienen dos deltas y dos núcleos. Dentro de este tipo se encuentran también
dactilogramas con tres o más deltas aunque se encuentran muy difícilmente.

Figura 3.18: Dactilograma bidelto (“whorl”) Figura 3.19: Dactilograma bidelto (“double loop”)

17
Biometría de Huellas Dactilares

3.2.3.6 Ilegibles.

Son dactilogramas (figura 3.20) en


los que es imposible determinar zonas de
la imagen no por mala captura de la
misma sino porque las crestas papilares
forman un dibujo completamente falto de
estructura.
Normalmente están producidos bien
por malformaciones congénitas bien por
accidentes o por efectos de la
manipulación de agentes abrasivos
(ácidos, etc).

Figura 3.20: Dactilograma ilegible

3.2.4 Utilidad de la impresión dactilar como elemento identificativo.

Una impresión dactilar puede utilizarse con fines identificativos debido,


fundamentalmente, a tres propiedades de las crestas papilares:
Perennidad: Las crestas se mantienen en la piel durante toda la vida (salvo
traumatismos graves). La única diferencia en el dibujo papilar de una persona durante su
crecimiento es el cambio en el tamaño y anchura de las crestas, pero no en su disposición
espacial ni en su tipología.
Inmutabilidad: Las crestas son invariables en número, forma, situación y dirección.
Ninguna enfermedad modifica los dibujos. En todo caso, para que puedan ser destruidas
total o parcialmente, el agente externo debe ser capaz de llegar hasta la dermis, ya que es
en esta capa más interna de la piel donde se forman las crestas.
Diversidad: Los dibujos son distintos para cada persona y para cada dedo de una
misma persona. Incluso son distintos los dibujos entre gemelos univitelinos.
Por lo tanto, si disponemos de una impresión dactilar que sabemos que corresponde a
una persona determinada y la comparamos con otra impresión, podremos estar seguros que
ésta última pertenece a la persona en cuestión si dicha comparación resulta positiva.

18
Biometría de Huellas Dactilares

3.3 Sistema Automático de Identificación Dactilar

Un Sistema Automático de Identificación Dactilar (SAID) es, como su propio


nombre indica, un conjunto de equipos físicos y lógicos que permiten la verificación o
identificación de una persona a partir del análisis de sus impresiones o huellas dactilares
dactilares.
El SAID tiene tres modos de funcionamiento en la identificación personal por medio
de impresiones dactilares:
- Registro: en este modo se extraen las características de las huellas dactilares y se
guardan para poder ser comparadas.
- Verificación: en la que dos impresiones (una de persona conocida y otra
desconocida) se cotejan a fin de conocer si la identidad de la segunda persona
corresponde con la primera.
- Identificación: en la que se dispone de una impresión de una persona
desconocida y de una base de datos, más o menos voluminosa, de impresiones
dactilares. La identificación de la persona se realiza mediante una búsqueda en
dicha base de datos.
También recibe el nombre de modo reconocimiento cuando el SAID esta trabajando
en modo verificación o identificación.
El SAID indistintamente del modo de funcionamiento en el que trabaje tiene varios
bloques en común para extraer la información de las huellas dactilares:
- Captura (“Image Acquisition”): Proceso de adquisición de la imagen de una
impresión o huella dactilar para su introducción en un sistema de procesamiento
de la imagen.
- Procesado de imagen (“Image Processing”): Tareas tendentes a mejorar la
calidad de la imagen capturada de la impresión objeto de estudio. Entre las
principales técnicas podemos citar la eliminación de ruido, mejora del contraste,
realce de bordes, ... etc.
- Extracción de características (“Feature Extraction”): Adquisición, a partir de
la imagen trazada, de características intrínsecas a la impresión dactilar. Éstas no
deben depender de la forma de adquisición de la imagen, ni de los valores de la
imagen original, sino que provienen del estudio de la topología de la imagen.
Para la extracción de características hay que definir previamente un “modelo de
impresión dactilar”. Éste estará formado por un modelo de representación de las
características y por un sistema de referencia que permita especificar las
ubicaciones relativas de las mismas.
- Comparación o búsqueda (“Matching”): Esta etapa determinará si la
impresión dactilar pertenece a la misma persona de la impresión de referencia. El
modelo original se compara con el de referencia, estableciéndose, a partir de la
medida de distancia previamente definida, un valor de identidad. En caso de
identificación se obtiene un conjunto pequeño de candidatos (usualmente menos
de 20) sobre los que un operador realiza una comprobación uno a uno de forma
manual.

19
Biometría de Huellas Dactilares

En la figura siguiente se muestra una ejemplo gráfico de los modos de


funcionamiento de un SAID y los bloques que lo componen.

ENROLMENT RECOGNITION
IMAGE ACQUISITION IMAGE ACQUISITION
(Biometrics) (Biometrics)

IMAGE PROCESSING IMAGE PROCESSING


(Enhancement) (Enhancement)

FEATURE EXTRACTION FEATURE EXTRACTION


(Signature) (Signature)

STORAGE
(Template) (Sample)

(Sample)

MATCHING
Template = Sample?

RESULT
(Yes / No)

Figura 3.21: Modos de funcionamiento de un SAID.

Tal y como nos muestra ln la figura anterior en la fase de registro ( “enrolment”) el


sistema mide las características biométricas del usuario (“image adquisition”). A partir de
esta medida se extrae un código o template que se asocia a la identidad del usuario
(“feature extraction”). El tamaño de dicho código no suele ser mayor de 1 kbyte de
memoria, y se almacena (“storage”) en una base de datos como código identificador o ID.
A partir de este instante el usuario queda dado de alta en el sistema de autentificación.
Durante la fase de reconocimiento (“recognition”), el sistema vuelve a medir
(“sample”) las características biométricas del usuario, y se repite el proceso de extracción
del código de identidad. Dicho código es comparado (“matching”) con el código de
identidad o “template” previamente almacenado en la fase de registro, a fin y efecto de
autentificar la identidad del usuario en función del grado de similitud entre ambas
muestras.
En apartados siguientes se explica con más detalle los módulos de captura de
imagen, procesado de imagen y extracción de características. El módulo de comparación y
búsqueda no se trata en este proyecto ya que como hemos apuntado con anterioridad no
esta dentro de los objetivos marcados.

20
Biometría de Huellas Dactilares

3.4 Adquisición de huellas dactilares


La tecnología actual de sensores biométricos de huella dactilar abarca un amplio
abanico de posibilidades, cada una de ellas fundamentada en fenómenos físicos distintos.
Sensores ópticos (cámaras CMOS o CCD), ultrasónicos (adquisición de la imagen dérmica
de la huella), basados en RF o micro-electro-mecánicos (microswitches) son algunas de las
posibles alternativas de implementación. A pesar de ello, y con la finalidad de centrarnos
en embedded systems de bajo coste que es uno de los objetivos del proyecto, en este
apartado sólo se mencionan aquellas tecnologías de sensores dactilares que permiten su
integración en silicio: los llamados silicon chip sensors.
Se conocen tres tipos distintos de sensores on-chip. Todos ellos permiten capturar
una imagen digital de la huella dactilar por simple contacto de ésta con la superficie del
sensor:

Sensores de presión. Basan su funcionamiento en el efecto piezo-eléctrico. A partir


de un array de píxels constituido por material sensitivo a presión es posible captar un
patrón de la huella aplicada sobre el sensor. A pesar de sus numerosas desventajas (baja
sensibilidad, incapacidad de diferenciar dedos reales de artificiales, susceptibilidad a
dañarse por exceso de presión...) algunos fabricantes se inclinan por esta opción.
Sensores capacitivos. Es en la actualidad una de las tecnologías más populares,
basada en las propiedades del campo eléctrico. El dedo y la lámina sensora constituyen un
condensador cuyo dieléctrico es variable acorde a la propia discontinuidad de las crestas y
los valles de la huella. Es esta variación del dieléctrico la que permite capturar las
características de la huella dactilar. Su principal inconveniente es, sin duda, su excesiva
vulnerabilidad a descargas electrostáticas.
Sensores térmicos. Son sensores basados en el efecto piroeléctrico: el material
piroeléctrico del sensor permite convertir las diferencias de temperatura originadas por las
ondulaciones de la huella en contacto o no con el sensor (crestas o valles respectivamente)
en diferencias de tensión. Estos niveles de tensión son finalmente traducidos, mediante un
conversor A/D, en un escalado de grises de los píxels que constituyen la imagen de la
huella dactilar adquirida. Además de su fuerte inmunidad a descargas ESD, destaca el
hecho que el equilibrio térmico entre el sensor y la huella se alcanza en un tiempo muy
breve, lo cual hace que la imagen se desvanezca enseguida, y se evita la deposición de
imágenes remanentes sobre la superficie del dispositivo sensor una vez transcurrida la fase
de sensado.

21
Biometría de Huellas Dactilares

h) Ejemplo imagen captada e) Ejemplo Imagen captada g) Ejemplo Imagen


por un sensor de presión por un sensor capacitivo captada por un sensor
térmico

Figura 3.22: Ejemplos de capturas realizadas por sensores on_chip.

En función de la fracción de huella capaz de capturar instantáneamente el sensor,


éstos se clasifican en dos tipos: sensores completos, aquellos que permiten capturar la
porción de huella requerida de forma instantánea, y sensores de scan o sweeping, en el
caso de aquellos que requieren un barrido secuencial de la huella.
Los sensores completos, de dimensiones tales que cubren la porción de huella
necesaria, permiten capturar la imagen total de forma estática e instantánea. A pesar de
permitir adquirir la imagen completa, la desventaja de esta tecnología se encuentra en el
tamaño del sensor –y por lo tanto en el coste del mismo–, además de la problemática en
materia de seguridad ocasionada si la imagen de la huella se mantiene latente encima de la
superficie sensora incluso después de retirar el dedo del sensor.

Figura 3.23: Sensor Completo.

22
Biometría de Huellas Dactilares

El segundo planteamiento consiste en reducir el sensor a una lámina que comprende


el ancho de la huella pero solamente escasos píxels de altura. En este caso la adquisición
completa de la imagen se produce de forma dinámica y secuencial, a medida que el usuario
desliza su dedo sobre la superficie sensora. A través de este barrido se capturan en serie y
solapadas las distintas rebanadas horizontales que constituyen la huella. Aunque ello
supondrá un procesado adicional para reconstruir la imagen, la principal ventaja se
encuentra en su coste, no sólo por el propio tamaño del sensor sino principalmente por
cuestiones de optimización de la originaria oblea de silicio. En este caso además no aplican
los problemas de la permanencia de imágenes remanentes de la huella sobre la superficie
del sensor.

Figura 3.24: Sensor Parcial.

Por lo general, indistintamente de la tecnología de sensado empleada, se acostumbra


a trabajar con resoluciones de 500 dpi (tamaños de los píxels de 50µm x 50µm). En
referencia al escalado o digitalización de la imagen adquirida, se usan conversores A/D de
8 bits, lo que supone un rango en escala de grises de 256 niveles.

23
Biometría de Huellas Dactilares

3.5 Procesado y Extracción

El procesado de la imagen y la extracción de minutias o puntos característicos es la


parte más interesante y dificultosa a la hora de realizar una identificación correcta, ya que
en estos dos bloques es donde se realiza el estudio de la huella dactilar y se extrae el patrón
de minutias a ser comparadas.
Este proceso es el que consume mayor tiempo de ejecución o en el que el sistema
invierte más tiempo, una pequeño modificación que haga bajar el tiempo de procesado hará
que nuestro sistema sea más rápido.
Actualmente existen dos tipos de procesado de imagen, la mayoría de fabricantes
utilizan el método de binarización que consiste en ir pasando diferentes filtros a la imagen
capturada hasta obtener una imagen binarizada de la huella dactilar. Una vez obtenida esta
imagen se le puede aplicar el algoritmo de extracción de minutias fácilmente.
El segundo método, el utilizado en este proyecto, se basa en el seguimiento de las
crestas para la extracción de minutias directamente sobre la imagen capturada, esto hace
que sea un algoritmo más rápido que el anterior, ya que no necesita realizar filtrajes a la
imagen con lo que representa en tiempo de ejecución y necesidad de poder de cálculo.
En este apartado se explica el procesado de la imagen que realiza el método de la
binarización y los bloques o filtros que lo constituyen, al igual que el método utilizado para
la extracción de minutias con una imagen binarizada. El segundo método utilizado por
nosotros no se muestra en esta apartado, ya que se explica en el capítulo siguiente
“Algoritmo de Maio”.

24
Biometría de Huellas Dactilares

3.5.1 Método de Binarización

Como se ha mencionado anteriormente este método consiste en binarizar la imagen


obtenida de la hulla dactilar, para ello somete a la imagen capturada a diferentes filtros o
procesos.
Los procesos más habituales a los que se somete a la imagen son: realce del borde,
binarización , segmentación, adelgazamiento y podado.

3.5.1.1 Realce del borde


En este proceso la imagen se ve sometida a filtros de mejora y realce de crestas, ya
que la información a extraer esta en las crestas, es necesario realzarlas respecto a la imagen
original de esta forma se pueden evitar errores en otras fases del proceso debidas al ruido.

Figura 3.25: Ejempo realce de borde.

3.5.1.2 Binarización
Este componente consiste en transformar la imagen en escala de grises resaltada a
una imagen binarizada, donde las zonas negras de la imagen resaltada obtienen valor 1 y
las zonas blancas 0. Este proceso es el más importante en este método, ya que si no se
realiza correctamente se puede llegar a perder mucha información de la imagen original y
mostrarnos resultados no aptos para la extracción de minutias.

Figura 3.26: Ejemplo binarización: (a) imagen original, (b) imagen binarizada.

25
Biometría de Huellas Dactilares

3.5.1.3 Segmentación
La imagen binarizada que hemos obtenido del proceso anterior todavía no es apta
para la extracción de minutias o puntos característicos. Ha esta imagen se le somete a una
segmentación, que es la eliminación de partes de la imagen donde hay muchos cambios de
dirección o bajo contraste. Este método nos permite resolver futuros errores en la
extracción de minutias que nos harían encontrar una cantidad de minutias falsas.

(a) (b)

Figura 3.27: Ejemplo Segementación: a) imagen original, b) imagen segmentada.

3.5.1.4 Adelgazamiento y Podado


Este es el último proceso al que se somete la imagen antes de realizar la extracción
de minutias y consiste en realizar un adelgazamiento de las crestas de la imagen.
Normalmente las crestas de la imagen binarizada tienen una anchura de píxeles variantes,
para facilitar la extracción de minutias se transforman todas a la anchura de un píxel.

Figura 3.28: Ejemplo Adelgazamiento y podado.

26
Biometría de Huellas Dactilares

El proceso de adelgazamiento viene seguido de una operación de "podado" para


eliminar ramas parásitas resultantes. En general, los dactilogramas originales suelen tener
bordes ruidosos, lo que resulta en ramas parásitas no deseadas en la versión esqueletizada.
El objetivo de este paso es limpiar éstas sin desconectar los arcos. En el proceso de podado
se eliminan crestas espúreas introducidas incorrectamente en la operación de
adelgazamiento como se muestra en la figura.

Figura 3.29: Proceso de podado.

En las figura siguiente se puede observar el resultado obtenido en el proceso de


adelgazamiento y podado en una imagen previamente binarizada y segmentada.

(a) Imagen binarizada y segmentada (b) Adelgazamiento

(c) Podado

Figura 3.30: Ejemplo preparación imagen para la extracción de minutias

27
Biometría de Huellas Dactilares

3.5.2 Extracción de minutias

Como se ha mencionado anteriormente, existen diferentes clases de puntos


característicos. En este proyecto, al igual que en la mayoría de la bibliografía consultada,
sólo se realiza la extracción de dos tipos de minutias o puntos característicos,
terminaciones y bifurcaciones.
Como en el caso anterior, en este apartado sólo se explica como se realiza la
extracción de minutias en el método clásico o de binarización, ya que la extracción de
minutias en el segundo método también esta explicado en el capítulo 4.
Una vez se ha obtenido la imagen binarizada, adelgazada y podada de la huella
dactilar a estudiar, para la extracción de estos dos tipos de minutias sólo hace falta seguir la
estructura o esqueleto de la imagen.
Este seguimiento se obtiene de realizar un estudio de los pixels vecinos al punto a
estudiar tal y como se muestra en la figura 3.31. El funcionamiento es muy sencillo ya que
sólo hay que mirar el número de pixels negros en una ventana 3x3 , donde el punto central
de esta ventana sea el punto a estudiar. Si en esta ventana hay un punto negro sin contar
con el punto a estudiar es un terminación (b), si hay dos puntos negros es un punto
intermedio de la cresta (a) y si hay tres puntos en negros se trata de una bifurcación (c).

Figura 3.31: Identificación de minutias.

Una vez realizada la extracción de minutias, muchas veces es necesaria una etapa de
post-procesado para eliminar minutias falsas encontradas en la imagen, para ello el método
de la binarización utiliza un filtrado de minutias estructural, ya que pueden ser fácilmente
encontradas en el esqueleto de la imagen. Las estructuras a filtradas (figura 3.32) son
crestas que tienen puntos finales encarados (a, b), bifurcaciones encaradas con puntos
finales (c) o con otras bifurcaciones (d), algunas puntos espuria (e), puentes (f), triángulos
(g) y estructuras cuadradas (h).

Figura 3.32: Filtraje estructural.

28
Algoritmo de extracción DIGIMID

4 Algoritmo de extracción DIGIMID


En este capítulo se explica el algoritmo de extracción de minutias a partir de
imágenes en escala de gris ( DIrect-Grey Image MInutiae Detection). Concretamente el
algoritmo propuesto por el Dr. Dario Maio y el Dr. Davide Maltoni en su publicación en el
IEEE “Direct Gray-Sacle Minutiae Detection In Fingerprints”[1]. Para facilitar las futuras
referencias a dicha publicación, se ha bautizado a este algoritmo con el nombre de
“Algoritmo de Maio”.
Las razones que nos llevan a elegir este método en lugar del método clásico
explicado en el capítulo anterior son:
- En el proceso de binarización de la imagen puede perderse mucha información.
- Las fases de binarización y adelgazamiento consumen mucho tiempo.
La idea básica propuesta por el Algoritmo de Maio consiste en seguir las crestas
directamente de la imagen capturada (figura 4.1), navegando o resiguiendo las crestas de
acuerdo a la dirección de las mismas en la imagen (a). La imagen se entiende como una
cuadrícula de píxel AxB (A=largo,B=ancho), donde cada casilla contiene el valor de gris.
Los valores de gris claros o cercanos a 0 se identifican con las valles o “ravines” y los
valores de gris oscuros con las crestas o “ridge” de la huella dactilar a tratar ( b).
Para una mayor comprensión del algoritmo, este capítulo se ha dividido en dos
apartados donde se explican como se realiza el seguimiento de las crestas y la detección
de mintutias propuestas por el Dr. Dario Maio en la publicación antes citada.

Figura 4.1: Sección transversal de una huella dactilar (a). Sección crestas capturadas (b).

29
Algoritmo de extracción DIGIMID

4.1 Seguimiento de las Crestas

Desde un punto de vista matemático, una cresta se define como un sistema de puntos
que son máximos locales a lo largo de una dirección. Ha partir de esta definición, el
Dr.Dario Maio propone un código para la extracción de las crestas que consiste en
localizar en cada paso del algoritmo un máximo local a través de una sección ortogonal a la
dirección de la misma. De esta forma, conectando los máximos consecutivos se consigue
una aproximación poligonal de la cresta a ser estudiada.
Una vez capturada la imagen de la huella dactilar en la escala de gris (figura 4.2),
donde σ es la distancia en pixels entre el centro de dos crestas consecutivas (a) y ε
representa la anchura de la cresta en pixels (b). El algoritmo trabaja de la siguiente manera:

(a)

(b)

Figura 4.2: Imagen de la huella dactilar capturada. (a) σ distancia entre dos crestas consecutivas. (b) ε
ancho de la cresta.

30
Algoritmo de extracción DIGIMID

Dado un punto (ic,jc) que pertenece a una cresta con una ángulo ϕ c (figura 4.3). El
algoritmo para encontrar un nuevo punto de la cresta realiza un desplazamiento de µ píxels
en dirección ϕ c , ya que se supone que la dirección del punto (ic,jc) concuerda con la
dirección de la cresta a seguir. Una vez realizado el desplazamiento encontramos el punto
(it,jt) (figura 4.4).

Figura 4.3: La imagen nos muestra el punto (ic,jc) y dirección ϕ c pertenecientes a una cresta.

Figura 4.4: La imagen muestra el desplazamiento de µ realizado en dirección ϕ c y el punto (it,jt)


encontrado.

31
Algoritmo de extracción DIGIMID

El punto (it,jt) puede que no este bien centrado en el centro de la cresta, que es la
zona donde se encuentran los máximos, y hasta podría ser que el punto estuviera situado
fuera o al borde de la cresta si el ángulo ϕ c no estuviera bien calculado o no coincidiese
con la dirección de la cresta a seguir. Para evitar que el nuevo punto a seguir no este bien
centrado lo que propone el algoritmo es realizar un corte de dirección ϕ c +π/2 centrado en
el punto (it,jt) de longitud 2σ+1 (figura 4.5).

Figura 4.5: Corte de dirección ϕ c +π/2 centrado en (it,jt) y longitud 2σ+1.

Una vez realizado el corte, obtenemos una sección Ω de longitud 2σ+1 que contiene
el nivel de gris para cada punto de la misma, tal y como se muestra en la figura 4.6.

Figura 4.6: Sección Ω que contiene el nivel de gris para cada punto del corte realizado y
centrado en el punto (it,jt) de longitud 2σ+1.

32
Algoritmo de extracción DIGIMID

En la sección Ω se busca el punto máximo, es decir el que contenga mayor nivel de


gris, ya que este punto si estará centrado en la cresta (figura 4.7). Este nuevo punto (in,jn)
que es el máximo en la sección Ω si que será el nuevo punto a desplazarnos para continuar
con el seguimiento, ya que estamos seguros que el punto estará bien centrado en la cresta.

Figura 4.7: Búsqueda de el punto (in,jn) en la sección Ω.

Una vez encontrado el punto (in,jn) , el algoritmo mira que este punto cumpla con los
criterios de parada. Si el resultado de evaluar los criterios de parada dan positivo, es decir
que el punto no pertenezca a la cresta se termina el proceso. En cambio, si el resultado es
falso, es decir se trata de un punto de la cresta, el algoritmo calcula la dirección de este
nuevo punto (in,jn), y este punto y ángulo calculado se convierten en el punto (ic,jc) y la
dirección o ángulo ϕ c volviendo a empezar todo el proceso explicado para calcular un
nuevo punto de la cresta.

33
Algoritmo de extracción DIGIMID

Una vez vista la forma de trabajar de el método propuesto por el Dr.Dario Maio para
el seguimiento de la cresta , el algoritmo resultante en pseudo-código es:
seguimiento_cresta(is,js, ϕ 0 )
{
end=false;
(ic,jc)=(is,js);
ϕc = ϕ0 ;
while (!end)
{
(it,jt)=(ic,jc)+ desplazamiento ;
//desplazamiento= µ píxels en dirección ϕ c .
Ω=realizar_seccion(it,jt, ϕ c +π/2);
//Devuelve sección de puntos de la cresta
//punto central (it,jt) y dirección ϕ c +π/2.
(in,jn)=maximo_local(Ω);
//devuelve el punto que es máximo local en Ω.
end=criterio_parada();
//busca condiciones de parada en los puntos
// calculados ya se por haber encontrado el final de
//la cresta, el cruce de dos crestas o perdida de
//seguimiento
(ic,jc)=(in,jn);
ϕ c =calculo_direccion(ic,jc);
}

Las partes más importantes de este método son las funciones de maximo_local(),
criterio_parada(), calculo_direccion(), ya que el mal funcionamiento de las mismas haría
que el seguimiento de la cresta fuera falso. En consecuencia en los siguientes apartados se
explican estas tres funciones con detalle y detenimiento.

34
Algoritmo de extracción DIGIMID

4.1.1 Cálculo del Máximo


Una vez explicado el método propuesto por Dr. Dario Maio para realizar el
seguimiento de las crestas en la imagen, podemos observar que uno de los puntos críticos
es el cálculo del punto máximo dentro de la sección Ω.
En principio, se podría pensar que bastaría con comparar los niveles de gris de todos
los puntos pertenecientes a Ω y quedarnos con el punto que tenga el nivel más alto, ya que
nos aseguraría que nos encontramos en una cresta. El ruido y el contraste de la imagen
hacen imposible la idea de utilizar este método, ya que como se muestra en la imagen
siguiente, el ruido puede producir desviaciones en el nivel de gris de la crestas, es decir que
el máximo de Ω estuviera en el borde de la cresta o en el peor de los casos fuera de ella. El
método antes utilizado sólo sería válido para imagen de alta calidad.

Figura 4.8: Representación de cortes transversales donde se aprecia la influencia de ruido.

Una vez vista la imposibilidad de utilizar el método anterior, el Dr. Dario Maio
propone un método para encontrar el máximo en la sección un poco diferente anterior, ya
que está obligado a realizar algún proceso para eliminar el ruido o contraste en la sección a
estudiar.
El método propuesto consiste en buscar un punto que sea un máximo local débil en la
sección después de haber realizado un pequeño filtro en la misma. Un máximo débil es un
punto en el que su nivel de gris es superior al punto anterior e inferior al siguiente. Esta
definición nos podría hacer pensar que se puede perder mucho tiempo recorriendo la
sección o que nos podríamos desviar mucho del punto central de la misma, que
teóricamente ya pertenece a la cresta. Para evitar esto, el Dr. Dario Maio dice que el nuevo
punto (in,jn) será el máximo local de la sección Ω más próximo al punto central de la
misma que era el punto (it,jt).
Para intentar evitar los efectos que puedan producir la presencia de ruido en la
imagen, el Dr. Dario Maio propone realizar un filtrado en dos pasos:
- El Primer paso es calcular la media de los niveles de gris en Ω para cada punt con
dos secciones del mismo tamaño paralelas distanciadas un píxel de Ω tal y como
se muestra en la figura 4.9.

Figura 4.9: Representación de las secciones paralelas propuestas: 1= Ω+1, 3= Ω, 3= Ω-1.

- El segundo paso consiste en realizar una convolución con una máscara gaussiana.

35
Algoritmo de extracción DIGIMID

En la figura 4.10 se pude observar la máscara gaussiana utilizada para realizar la


convolución.

Figura 4.10: Máscara Gaussiana.

Una vez realizados los dos pasos anteriores, se obtiene una Ω' donde realizar la
búsqueda de un máximo débil fácilmente tal y como se ha mencionado anteriormente en
este apartado. La figura 4.11 nos muestra como quedarían las crestas con ruido mostradas
anteriormente una vez realizado estos dos pasos de mejora.

Figura 4.11: La figura muestra la comparación entre la sección original y el resultado


obtenido por el filtraje.

36
Algoritmo de extracción DIGIMID

4.1.2 Cálculo Dirección


El cálculo de la dirección es uno de los puntos más conflictivos del algoritmo, ya que
un cálculo incorrecto de la dirección del punto de la cresta nos imposibilitaría realizar un
seguimiento correcto de la misma.
El Dr. Dario Maio utiliza en su algoritmo un método propuesto por el Dr.Donahue y
el Dr. Ronkhlin[2], que consiste en calcular la dirección calculando el gradiente en una
ventana de 2x2 de los píxeles vecinos, una vez realizado este cálculo se realiza el promedio
sobre una ventana local por el método de mínimos cuadrados.
El algoritmo a implementar para el cálculo de la dirección sería:
angulo=0;
A=0;B=0;C=0;
for h=1:n
for k=1:n
posx= b+h;
posy= c+k;
a2=I11(posx+1,posy+1);
a3=I11(posx+1,posy-1);
a4=I11(posx-1,posy-1);
a1=I11(posx-1,posy+1);
ahk=(a2-a1+a3-a4)/4;
bhk=(a3+a4-a1-a2)/4;
A=A+(ahk)^2;
B=B+(bhk)^2;
C=C+(ahk*bhk);
end
end
if C==0
if A<=B
t=[1,0];
else
t=[0,1];
end
else
aux=(B-A)/(2*C);
t=[1,(aux -(sign(C)*sqrt((aux^2)+1)))];
end
angulo=arcotangente(t[1],t[0]);

37
Algoritmo de extracción DIGIMID

4.1.3 Criterios de Parada


Los criterios de parada del algoritmo tienen una importancia muy elevada, ya que
depende de ellos la condición de parada o salida del algoritmo. A la hora de realizar el
seguimiento de una cresta, las únicas condiciones de parada lógicas que podemos pensar
todos es que hayamos encontrado el final de la misma. Pero hay que pensar que hay más
puntos que hacen para el seguimiento de la cresta, y uno de los más importantes es evitar
que el algoritmo se quede colgado en un punto por que no hemos sabido detectarlo.
Los criterios de parada del algoritmo propuesto por el Dr.Dario Maio para realizar el
seguimiento de las crestas son cuatro:

1.- Fuera del Área de Interés: normalmente, no se realiza un seguimiento de toda la


imagen capturada, sino que se realiza un seguimiento en una sub-imagen W. Esto se realiza
para que el algoritmo evite calcular el borde de la imagen capturada ya que son las zonas
hay más ruido y donde hay menos información a extraer o menos minutias.
2.- Terminación: El algoritmo debe detener el seguimiento de la cresta si hemos
llegado al final de la misma. La forma de conocer si existe una terminación es si la
diferencia entre el ángulo ϕc y el ángulo que forma el segmento tomando como extremos
los puntos (ic,jc) y (in,jn) es mayor a un ángulo determinado β.
3.- Intersección: la intersección es cuando el punto (in,jn) ya ha sido mirado con
anterioridad.
4.- “Excessive Bending”: la diferencia entre el ángulo que forma el segmento
(ic,jc)(in,jn) y el ángulo medio de la cresta es superior a un ángulo ψ. Este criterio hace
parar al algoritmo cuando hay un cambio repentino de dirección de la cresta, ya que podría
estar producido por la presencia de ruido y continuar con el seguimiento podría provocar
que el algoritmo se quedará colgado en esa zona. El ángulo medio de la cresta se calcula
realizando la media de los últimos K ángulos formados por los segmentos (ic,jc)(in,jn)
calculados.

38
Algoritmo de extracción DIGIMID

4.2 Detección de Minutias


Una vez hemos visto el funcionamiento del algoritmo de seguimiento de las crestas,
falta explicar como se modifica el mismo para realizar la extracción de minutias del
mismo. Observando los criterios de parada del algoritmo anterior, podemos deducir que se
corresponden a las minutias que nos interesan. Ya que el criterio de parada de terminación
de cresta y “excessive bending” se pueden identificar como minutias de tipo terminación y
la intersección se puede identificar como una bifurcación. Así que guardando la posición
(i, j) y el ángulo que forman las minutias podríamos tener identificadas todas las minutias
de la imagen tratada.
El mayor problema reside en la necesidad de guardar el seguimiento de crestas ya
realizado para poder encontrar las intersecciones entre las crestas que darán lugar a las
bifurcaciones a guardar en el listado de minutias. Para solucionar este problema mayo
propone la utilización de una imagen auxiliar T del mismo tamaño que la imagen a
estudiar. Esta imagen T, estaría inicializada a 0 en todos sus campos, así sólo tendríamos
que dar el valor 1 a cada punto calculado en el seguimiento. De esta forma obtendríamos
una copia de la imagen a seguir sólo con las crestas seguidas por el algoritmo.
Para encontrar las bifurcaciones o evitar empezar el seguimiento en partes ya
estudiadas sólo tendríamos que consultar el valor de (i, j) en la imagen T. Si el valor es 1 es
una zona ya estudiada y podríamos empezar en otro punto o marcarla como bifurcación si
lo que estábamos haciendo era seguir una cresta.
La cresta en la imagen T no tendría el ancho de un píxel si no de un valor ε ( figura
4.13 ), ya que las crestas originales tienen una anchura y al realizar el seguimiento no
tenemos por que calcular el mismo punto si venimos desde otra dirección, pero si sería un
punto cercano al calculado anteriormente.

Figura 4.12: Ejemplo cresta original y la cresta poligonal obtenida en la imagen auxiliar T

39
Algoritmo de extracción DIGIMID

El algoritmo en pseudo-código propuesto por el Dr.Dario Maio es:

Figura 4.13: Algoritmo de extracción de minutias propuesto por el Dr.Dario Maio.

El punto (is,js) es el punto de inicio del algoritmo que se encuentra realizando un


barrido en toda la imagen. Así que el valor de is va desde 0 hasta el valor de la longitud de
la imagen y js desde 0 a el valor de ancho de la misma. El barrido de la imagen se realiza
realizando un paso de ν en cada iteración.
Para explicar la forma de trabajar el algoritmo a continuación se explican los pasos
que realizaría el mismo con un punto (is,js) dado.

40
Algoritmo de extracción DIGIMID

El primer paso a realizar es calcular la dirección tangencial ϕ s en el punto (is,js).


Una vez calculado el ángulo se calcula la sección Ω en el punto. Una vez calculada la
sección se realiza la mejora explicada en el apartado 4.1.1 y se encuentra el máximo débil
que da lugar al punto (ic,jc) que estará dentro de la cresta. La mayor preocupación que
podríamos tener, es estar seguros que el punto (ic,jc) estaría dentro de la cresta. Esta
preocupación no existe ya que al realizar la sección, y aunque el punto (is,js) estuviera
justo en medio de dos crestas, se realiza de una longitud de 2σ+1, y σ es la distancia
máxima en píxeles entre dos crestas observada en la imagen (figura 4.14). Esto haría que el
máximo débil se encontrara siempre encima de una cresta.

Figura 4.14: Ejemplo cálculo punto (ic,jc).

Una vez encontrado el punto (ic,jc) el algoritmo mirará si ya se ha estudiado con


anterioridad mirando el valor en la imagen auxilar T. Si el punto no ha sido estudiado
realizaría el seguimiento de la cresta descrito en el apartado 4.1.

Realizando este seguimiento se encontrarían las minutias de tipo bifurcación y


terminación que serían correctas, pero podría darse el caso que encontrara un tipo de
minutia falsa tal y como se muestra en figura 4.15 (c). Esta minutia falsa vendría
provocada si el algoritmo se hubiera perdido en el seguimiento de la cresta, marcando un
terminación y al realizar el seguimiento desde otro punto nos encontráramos con ella
identificándola como bifurcación. Este tipo de error o minutia falsa puede ser fácilmente
subsanado si antes de guardar la minutia se realiza un pequeño filtraje que consistiría en
eliminar las minutia encontrada de tipos bifurcación y la minutia próxima a una distancia
inferior o igual a 4 píxels de tipos terminación y actualizar la T desde las coordenadas de la
terminación hasta las de la terminación, para indicar que esa zona ha sido estudiada.

41
Algoritmo de extracción DIGIMID

Figura 4.15: Tipo de minutias que encuentra el algoritmo de maio.

Una vez el algoritmo ha realizado el seguimiento de toda la imagen, el Dr. Dario


Maio propone un filtraje a la lista de minutias encontradas, ya que ha podido encontrar
minutias falsas provocadas por la calidad y la morfología de la huella estudiada.
El filtraje propuesto en el Algoritmo de Maio consiste en:
- No puede haber más de un par de minutias separadas por menos de 6 pixels de
distancia.
- No puede haber más de una minutia a menos de 6 píxels de distancia.

Del Dr. Dario Maio indica en su publicación que los valores de las constantes citas
en este apartado después de realizar las pruebas pertinentes son:
µ=3,σ=7,β=ψ=30º,ε=3,ν=2.

42
Desarrollo y Modificación Algoritmo de Maio

5 Desarrollo y Modificación Algoritmo de Maio


En este capítulo se pueden encontrar los pasos realizados para el desarrollo de la
versión de software del algoritmo explicado en el capítulo anterior y al que nosotros nos
referiremos con el nombre de Algoritmo de Maio. También, podemos encontrar los
resultados obtenidos, así como los errores encontrados y las modificaciones propuestas
para solucionarlos.
Para la elaboración del Algoritmo de Maio, se ha tomado una base de datos de
imágenes de huellas dactilares. Esta base de datos consta de cinco huellas dactilares, cuatro
de las misma han sido creadas con el programa SFINGE, desarrollado por el grupo de
biometría del Dr. Dario Maio. Este programa nos permite crear huellas dactilares eligiendo
las características de la misma, como puede ser el tipo de estructura de la huella, el número
de crestas, el ruido , etc. La otra imagen es una de las huellas dactilares utilizada en el
estudio del Dr. Dario Maio y Davide Maltoni, esta imagen ha sido sometida a un filtraje y
realce de las crestas, eliminado ruido y pequeños cortes que aparecían en la imagen
original.
A la hora de realizar la primera versión de software, se han realizado alguna
interpretación del Algoritmo, ya que hay bastantes puntos del mismo que no quedan claros
en el estudio realizado por el Dr. Dario Maio y el Dr. Davide Maltoni.
Unos de las interpretaciones es la que concierne a encontrar el punto inicial, nosotros
hemos implementado una rutina que dado un punto, busca un máximo fuerte en una
sección de sigma más uno. Hemos realizado esta interpretación basándonos que si
realizábamos el mismo criterio que en puntos intermedios podría ser que saltáramos de
cresta, ya que el punto podría pertenecer a una valle de la imagen y no ha una cresta. Así
de esta forma obligábamos al algoritmo a empezar en el punto más negro de la imagen
dentro de una sección sigma+ 1, que es la anchura máxima que puede tener una cresta.
Otro punto modificado es el criterio de parada. Según el estudio, primero se mira la
existencia de terminaciones y posteriormente las bifurcaciones, observando diferentes
huellas dactilares y seguimientos, se observó que muchas veces una bifurcación provoca
un cambio de ángulo grande, provocando que también cumpla la terminación y si primero
estudiábamos la existencia de bifurcación y después las terminaciones el seguimiento
mejoraba sensiblemente y no había tantos cambios de minutias.
Por último también se acordó que en la primera versión del algoritmo no se miraría la
existencias de terminaciones provocadas por el “ Excessive Bending “, ya que si no se
realizaba un seguimiento de la huella dactilar correcto podría provocar la aparición de este
tipo de minutias, provocando que la depuración del algoritmo se complicara sin sentido.

43
Desarrollo y Modificación Algoritmo de Maio

5.1 Desarrollo Algoritmo de Maio

5.1.1 Base de datos

A continuación se pueden encontrar diferentes tablas con las imágenes de las huellas
dactilares y sus principales características utilizadas para el desarrollo del software.

Características

La cresta tiene una


anchura máxima de 5 píxeles.
La separación entre crestas es
de un mínimo de 4 píxeles y un
máximo de 8. La huella es muy
limpia y con pocos puntos
característicos. Esta huella ha
sido realizada con el programa
Sfinge.

Detalle

Nombre_Imagen: sfinge_1.tif

Tabla 5.1: Características imagen sfinge_1.tiff.

44
Desarrollo y Modificación Algoritmo de Maio

Características

Huella Dactilar creada con el


programa Sfinge. Las
características principales en que el
ancho de cresta medio es de 5
píxels y la separación entre crestas
media es de 7 píxeles. Esta imagen
tiene una gran cantidad de puntos
característicos y un nivel de ruido
considerable.

Detalle

Nombre_Imagen: sfinge_2.tif

Tabla 5.2: Características imagen sfinge_2.tiff.

Características

Huella creada con el


programa Sfinge con un
ancho de cresta entre 4 y 5
píxeles y una separación
entre ellas de 8 píxeles. No
contiene ruido.

Detalle

Nombre_Imagen: sfinge_3.tif

Tabla 5.3: Características imagen sfinge_3.tiff.

45
Desarrollo y Modificación Algoritmo de Maio

Características

Huella dactilar creada


con el programa Sfinge
simulando la captura de una
huella con un sensor opto
electrónico.
El ancho de la cresta
va de 4 a 6 píxeles según la
zona de la imagen. La
separación entre crestas es
de 3 – 5 píxeles.
Detalle

Nombre_Imagen: sfinge_4.tif

Tabla 5.4: Características imagen sfinge_4.tiff.

Características

Huella extraída de
la base de datos del
estudio de Dr.Dario
Maio. Tiene un ancho
de cresta entre 4 y 9
píxeles según la zona. Y
una separación de
crestas mínimo de 4
píxeles.

Detalle

Nombre_Imagen: img_mej.tif

Tabla 5.5: Características imagen img_mej.tiff.

46
Desarrollo y Modificación Algoritmo de Maio

5.1.2 Resultado Desarrollo Algoritmo de Maio

En este punto se muestran los resultados del desarrollo del Algoritmo de Maio tal y
como nos índica el Sr.Dario Maio en su publicación.
A los resultados obtenidos se les ha realizado una inspección para poder observar
errores en el seguimiento de la imagen. Normalmente los errores de seguimiento se
solucionan en el post-procesado de la imagen. Es decir, una vez realizada la extracción de
minutias se las someten a un duro filtraje. En nuestro caso, hemos clasificado los errores
encontrados en las imágenes para intentar solucionarlos durante la extracción de minutias
y no en la etapa de post-procesado, mejorando así el seguimiento y logrando que el
algoritmo tarde menos en su ejecución. Ya que no perderá tiempo en seguir zonas erróneas
y la etapa de post-procesado será más rápida.
Para una fácil compresión se muestra el resultado del seguimiento realizado por el
algoritmo en tablas. Cada tabla contiene el nombre de la imagen estudiada, la imagen
resultante del algoritmo, y en la parte derecha los errores encontrados y una ampliación de
la zona, tal y como se muestra en la tabla ejemplo siguiente:

NOMBRE DE LA IMAGEN

IMAGEN RESULTANTE IMAGEN DE


DE LA HUELLA LA ZONA
DACTILAR UNA VEZ AMPLIADA
PROCESADA POR EL DEL ERROR
ALGORITMO

TIPO DE
ERROR

Tabla 5.6: Tabla ejemplo presentación resultados seguimiento.

Hace falta recordar que el Algoritmo de Maio sólo realiza búsquedas de minutias
(terminaciones y bifurcaciones) y no formas de las huellas dactilares como deltas,
loopings, etc.
Las minutias en las imágenes del seguimiento están marcadas según su tipología, las
terminaciones están marcadas en círculos de color azul y las bifurcaciones en cicrculos de
color rojo. El seguimiento de la cresta esta marcado en color rojo y verde.

47
Desarrollo y Modificación Algoritmo de Maio

Resultado Procesado Imagen : sfinge_1.tif

Error_A1

Error_A2

Tabla 5.7: Resultado Procesado Sfinge_1.tiff.

48
Desarrollo y Modificación Algoritmo de Maio

Resultado Procesado Imagen : sfinge_2.tif

Error_A1

Error_A3

Tabla 5.8: Resultado Procesado Sfinge_2.tiff.

49
Desarrollo y Modificación Algoritmo de Maio

Resultado Procesado Imagen : sfinge_3.tif

Error_A1

Error_A3

Tabla 5.9: Resultado Procesado Sfinge_3.tiff.

50
Desarrollo y Modificación Algoritmo de Maio

Resultado Procesado Imagen : sfinge_4.tif

Error_A1

Error_A4

Tabla 5.10: Resultado Procesado Sfinge_4.tiff.

51
Desarrollo y Modificación Algoritmo de Maio

Resultado Procesado Imagen : img_mej.tif

Error_A1

Error_A2

Error_A3

Tabla 5.11: Resultado Procesado img_mej.tiff.

52
Desarrollo y Modificación Algoritmo de Maio

5.1.3 Descripción Errores del Algoritmo de Maio

En el apartado anterior se ha detectado cuatro tipos diferentes de errores encontrados


en el seguimiento del algoritmo y clasificados según sus causas.
En este apartado se explica las causas de la aparición de estos errores y la
modificación propuesta para solucionarlos. Estas modificaciones se han pensado para
poder ser realizadas por hardware, con lo que en muchos casos nos hace dar por buenas
algunas modificaciones que si fueran implementadas por software nos permitirían
desarrollar otras rutinas más eficientes.

5.1.3.1 Descripción Error_A1


Este tipo de error es de los más complicados de solucionar, ya que se produce cuando
se hace un paso atrás mientras sigues la cresta, al encontrase con el punto anterior marca
una bifurcación. Este problema no es muy común en las huellas, pero pasa cuando en vez
de avanzar 3 píxels tal y como marca el algoritmo sólo avanzamos dos.

Figura 5.1: Detalle ampliado Error_A1.

Si estábamos en el punto P0 y nos movemos hasta el punto P1 cuando miremos si


hay alguna bifurcación cerca de este punto, encontraremos que encuentra el punto anterior,
con lo que el programa nos lo marcará como una bifurcación. Y con ello habrá encontrado
una minutia falsa.

53
Desarrollo y Modificación Algoritmo de Maio

5.1.3.2 Descripción Error_A2

Este error es debido a la anchura de las crestas de la huella. Si las crestas son muy
anchas puede ser que el algoritmo empiece dos veces en la misma cresta y se encuentre con
la primera pasada y marque una o dos bifurcaciones, tal y como se muestra en el detalle
siguiente.

Figura 5.2: Detalle ampliado Error_A2.

54
Desarrollo y Modificación Algoritmo de Maio

5.1.3.3 Descripción Error_A3

Este tipo de error se produce debido a la proximidad de dos crestas. Ya que si están
muy cerca y no cumplen las características del algoritmo puede ser que se produzca un
salto de cresta. Esto sólo pasa si hay una terminación muy próxima a una cresta vecina. En
lugar de marcar la terminación el programa encuentra el punto siguiente que esta en la
cresta vecina y marca una bifurcación.

Figura 5.3: Detalle ampliado Error_A3.

55
Desarrollo y Modificación Algoritmo de Maio

5.1.3.4 Descripción Error_A4

Este error es debido a la calidad de la imagen, como se puede observar, este error
sólo se ha dado en la imagen Sfinge_4.tif. Esta imagen es muy oscura, con lo que el
programa empieza en puntos que no corresponden a crestas, si no a las valles de la huella
dactilares. Al empezar en estos puntos lo que nos aparecen son bifurcaciones, ya que el
programa va a buscar las crestas, y estas ya han podido ser seguidas con anterioridad.

Figura 5.4: Detalle ampliado Error_A4.

56
Desarrollo y Modificación Algoritmo de Maio

5.2 Modificaciones Algoritmo de Maio


En este apartado podemos encontrar las modificaciones realizadas al Algoritmo de
Maio para solventar los errores mencionados anteriormente y conseguir un Algoritmo de
Maio modificado que nos sirva como base para el desarrollo de nuestra versión de una
algoritmo de extracción de minutias en imágenes en escala de grises para una
implementación hardware ( DIGIMAC).

Para solucionar los errores de tipos A2 y A4 se ha modificado el código para que si


encuentra alguna condición de parada en la primera iteración no marque ese punto y pase
al siguiente.
Esto se puede hacer, ya que podemos llegar al punto problemático desde otro punto
o zona de la huella. Asegurando así que si no volvemos a él era debido a :
-Era un punto dentro de la misma cresta ( Error_A2).
-Se ha empezado fuera de una cresta (Error_A4).

El Error_4 se puede solucionar subiendo el filtro de zona oscura que se le ha


colocado al algoritmo para acortar el tiempo de ejecución evitando que empiece en zonas
muy blancas de la imagen .Esta solución puede provocar que en otro tipo de huellas con
mucho ruido y baja calidad, el algoritmo no encontrara las crestas a seguir.

Para solucionar el Error_A1 hay que hacer dos implementaciones diferentes en el


algoritmo.
La primera de ellas es poner un filtro que elimine las dos minutias si al seguir una
cresta se encuentra con una terminación. Ya que si realmente se trata de una bifurcación se
puede encontrar en las próximas iteraciones.
La segunda es cambiar la forma de detectar si se trata de una bifurcación de una
forma bastante sencilla. Si se trata de una bifurcación real, a la hora de mirar los puntos
colindantes al punto actual ,tendrán que haber dos o más puntos ya estudiados. Si sólo hay
uno o dos se trata de un retroceso a la hora de movernos y es una bifurcación falsa, ya que
se esta viendo a si misma y no a otra cresta .

El Error tipo A3 es más difícil de eliminar o solucionar, ya que es un problema de


características de las huellas. De todas formas, este tipo de problema , no es muy
importante. Ya que si siempre los confunde de la misma manera, nos servirá igual para
confirmar la identidad del individuo.

57
Desarrollo y Modificación Algoritmo de Maio

5.3 Resultado Algoritmo de Maio Modificado

Como se puede observar en las tablas siguientes el seguimiento del algoritmo de


maio modificado a mejorado sensiblemente respecto a la primera versión. Hemos
conseguido solucionar todos los errores encontrados en la primara versión del mismo, a
excepción de la confusión de minutias que como hemos indicado con anterioridad, no tiene
mucha importancia si siempre las confunde de la misma manera, ya que nos permitiría
realizar la identificación igualmente.

En este caso las terminaciones están representadas con círculos de color rojo y las
bifurcaciones en color azul.

Resultado Procesado Imagen : sfinge_1.tif

Tabla 5.12: Resultado seguimiento sfinge_1.tiff. Algoritmo Modificado.

58
Desarrollo y Modificación Algoritmo de Maio

Resultado Procesado Imagen : sfinge_2.tif

Tabla 5.13: Resultado seguimiento sfinge_2.tiff. Algoritmo Modificado.

59
Desarrollo y Modificación Algoritmo de Maio

Resultado Procesado Imagen : sfinge_3.tif

Tabla 5.14: Resultado seguimiento sfinge_3.tiff. Algoritmo Modificado.

60
Desarrollo y Modificación Algoritmo de Maio

Resultado Procesado Imagen : sfinge_4.tif

Tabla 5.15: Resultado seguimiento sfinge_4.tiff. Algoritmo Modificado.

61
Desarrollo y Modificación Algoritmo de Maio

Resultado Procesado Imagen : img_mej.tif

Tabla 5.16: Resultado seguimiento img_mej.tiff. Algoritmo Modificado.

62
Desarrollo y Resultados DIGIMAC

6 Desarrollo y Resultados DIGIMAC

En este capítulo se muestran los pasos realizados para el desarrollo de nuestro


algoritmo de detección de minutias basado en el seguimiento de imágenes en escala de
grises para una implementación hardware bautizado con el nombre de DIGIMAC. El
nombre sale del acrónimo de “ DIrect Gray Image Minutiae Abstraction Circuit”
Cogiendo como punto de partida el algoritmo modificado de maio desarrollado y
explicado en el capítulo anterior, ya se puede empezar a trabajar en las modificaciones
propuestas por el grupo de investigación VLSI de la universidad. Las modificaciones más
importantes a realizar en el algoritmo son la supresión de multiplicaciones y divisiones, ya
que tienen un mayor tiempo de ejecución en procesadores. Un segundo cambio es la
necesidad de trabajar con números enteros (16 bits) y no con flotantes (32 bits), ya que
necesita de una mayor capacidad de memoria, mayor complejidad en realizar cálculos,
mayor consumo y más tiempo de ejecución. El último cambio es la necesidad de mejorar la
forma de calcular la dirección, ya que esta función se repite constante mente y es la que
consume más tiempo de ejecución.
En este apartado se pueden observar los cambios realizados para la eliminación de
multiplicaciones y divisiones y la eliminación de números flotantes del algoritmo. El tercer
cambio propuesto, la modificación del calculo de dirección, se explicará en el capítulo
siguiente, ya que conlleva una mayor complejidad técnica y hay varias opciones a tener en
cuenta que hacen necesario de una mayor atención.
Para la realización del desarrollo de nuestro algoritmo y para obtener conclusiones
claras del mismo, se utilizan las mismas imágenes que utiliza el Dr. Dario Maio para la
realización de su estudio, permitiendo comparar resultados entre ambos algoritmos.
Nuestro algoritmo ha sido sometido a dos tipos de calidad de huellas dactilares. El
primer tipo eran huellas dactilares filtradas y mejoradas que se ha utilizado en la primera
fase del desarrollo del algoritmo y el segundo tipo han sido las mismas huellas pero sin ser
sometidas al filtraje y mejora anterior.
La utilización de imágenes filtradas nos permite un desarrollo y unas conclusiones
más claras. Ya que si se utilizaran huellas dactilares reales sin filtrar, no se podrían extraer
conclusiones de los seguimientos, ya que los errores encontrados podrían ser provocados
por errores provocados a la hora de escribir el código o ser errores provocados por el ruido
y las características particulares de las huellas.
Una vez se tiene una versión que funciona correctamente con huellas filtradas se
puede someter a huellas sin filtrar o reales para conocer las consecuencias del ruido y
particularidades características en nuestro algoritmo y poder corregir los errores que
puedan surgir.

63
Desarrollo y Resultados DIGIMAC

6.1 Algoritmo Base


Antes de realizar los dos cambios propuestos por el grupo de investigación, se han
hecho algunas modificaciones en el algoritmo resultante del capítulo anterior bautizado
con el nombre de Algoritmo de Maio modificado. Estudiando con más atención los
resultados obtenidos y sobretodo el resultado del seguimiento de la imagen img_mej.tif,
que es una de las imágenes utilizadas en el estudio del Dr. Dario Maio pasado por un
proceso de filtrado y mejora, nos damos cuenta que el algoritmo como se muestra en la
imagen siguiente, ha perdido la localización de dos minutias.

(b)

(a)

Figura 6.1: a)Seguimiento del algoritmo de maio sobre una imagen no filtrada. B) zona de la imagen
ampliada donde se observa la perdida de minutias.

Después de la realización de varios cambios y comprobaciones en el algoritmo, se ha


llegado a la conclusión, que el problema de ésta pérdida era la forma de encontrar en punto
inicial. Tal y como se ha mencionado con anterioridad en este informe, el punto inicial era
el que tenia el valor mayor de negro en una sección de sigma+1. Este método provocaba
que si el algoritmo empezaba en la cresta de unión entre las dos principales, siempre
tuviera tendencia a empezar más cerca de las crestas, evitando empezar en la cresta de
unión. El algoritmo por otra parte, si encuentra un final antes realizar como mínimo dos
iteraciones se sale del proceso y encuentra un nuevo punto inicial. Esto hace que si el
algoritmo quiere empezar justo en medio de la cresta de unión, no empiece si se ha pasado
primero por las crestas principales, tal y como pasa siempre. Eliminar este sistema, es del
todo inviable ya que como se menciona en el capítulo anterior en el apartado de las
modificaciones realizadas, provoca la aparición de nuevas minutias al empezar el
algoritmo en la misma cresta si esta es muy ancha. La solución adoptada en este caso es
cambiar la forma de calcular el punto inicial adoptando como solución encontrar un
máximo débil en una sección de sigma+1 y no un máximo fuerte, ya que nos permite
mantener la modificación de saltarse en proceso si se encuentra una minutia antes de
realizar dos iteraciones y es capaz de encontrar las dos minutias perdidas.
64
Desarrollo y Resultados DIGIMAC

Otra modificación que se ha realizado al algoritmo base, es la inserción del


“Excessive Bending “ propuesto en el estudio del Dr.Maio y que había sido descartado en
el apartado anterior por causas ya mencionadas. Los resultados y conclusiones extraídas
en el capítulo anterior nos permiten hacer esta modificación, ya que se ha comprobado que
el algoritmo implementado funciona correctamente. Esta modificación corrige algún error
de cambio de minutia del algoritmo de maio que confundía algún punto final de cresta por
una bifurcación, también impide que el algoritmo realiza cambios bruscos en la dirección
del seguimiento, consiguiendo así un seguimiento de cresta más centrado y recto, con lo
que puede evitar realizar algún salto de cresta.

Por último, se han realizados dos cambios en el valor de dos constantes. El Dr. Maio
en su estudio nos indica que el valor de β y ψ tiene que ser de 30º . Debido a los cambios a
realizar y sobre todo debido a la eliminación de números flotantes en el algoritmo,
utilizaremos valores de ángulos discretos. En nuestro caso, tendremos 12 valores entre 0-
180º. El mayor problema de tener el valor de 30 º, es la inexistencia de flexibilidad, ya que
por redondeo puede darse el caso que un ángulo de 16º se transforme en 30 º, y un ángulo
de 30º, dependiendo de su desplazamiento en pixels tenga que transformase en 45º. Para
solucionar este tipo de error que nos encontraríamos en la implementación hardware, se
han cambiado los valores de β y ψ a 45º y la condición de terminación y “ excessive
bending” se ha modificado de mayor a mayor o igual, ya que si se mantiene la condición
de mayor podríamos aceptar diferencias de ángulos de 52,5º , cosa que sería inaceptable.
Se ha observado que el algoritmo realiza después del cambio un mejor seguimiento ya que
reduce el número de minutias que son filtradas por el algoritmo en el seguimiento de una
cresta por características de la huella, disminuyendo así el tiempo de ejecución.

65
Desarrollo y Resultados DIGIMAC

6.2 Desarrollo DIGIMAC


En este apartado se abordan los dos de los tres cambios propuestos por el grupo de
recerca tal y como se ha mencionado en el inicio del capítulo. Estos dos cambios tienes una
gran importancia ya que modifican substancialmente la forma de trabajar del algoritmo y
permite que partes importantes del mismo sean implementadas por hardware, permitiendo
que los procesadores tengan menor poder de cálculo y necesidad de menos memoria. Estos
dos aspectos son primordiales a la hora de rebajar costes de producción. El precio de un
microcontrolador o microprocesador va directamente ligado a su poder de procesado y a la
cantidad de memoria que contenga. Cuanta mayor necesidad de memoria mayor es el
precio al igual que ocurre con la necesidad de obtener mayores prestaciones de calculo.

Las modificaciones propuestas por el grupo de recerca son las siguientes:

- Máscara de Gauss : la realización de esta modificación nos permite bajar


la necesidad de poder computacional del procesador y el tiempo de
ejecución del mismo.
- Discretizar Ángulos: nos permite rebajar la cantidad de memoria y tiempo
de ejecución.

La explicación detallada de estos dos cambios se pueden encontrar en los


subapartados siguientes.

66
Desarrollo y Resultados DIGIMAC

6.2.1 Modificación Máscara de Gauss


En el proceso de encontrar el máximo local en una sección de la imagen, el algoritmo
de maio realiza un promedio local de los niveles de gris de los pixeles y una correlación
con una máscara gaussian de la silueta. Ambas operaciones implican productos y
divisiones que pueden ser substituidos por desplazamientos si están realizados con valores
que sean potencias de 2. La figura siguiente presenta la máscara original (a) y la propuesta
(b) . El promedio local con dos pixeles vecinos implica una división por tres, y la
correlación incluye una división por 22, con la utilización de nuestra máscara no se realiza
ninguna de estas divisiones. El cambio es equivalente al uso de una representación del
punto fijo con la parte fraccionaria codificada en seis dígitos binarios. Este cambio
representa un cambio de escala, que no afecta a la posición del máximo local en el
segmento, lo único que implica es la perdida de precisión.

(a) (b)

Figura 6.2: Masrcaras Gaussianas. (a)Máscara propuesta por Maio con pesos [1/23, 2/23, 5/23,
7/23, 5/23, 2/23, 1/23], (b)Máscara propuesta en este proyecto con pesos [1, 2, 4, 8, 4, 2, 1].

Realizar la implementación hardware de esta modificación es muy sencilla, ya que


para multiplicar por 2, 4 ó 8 sólo hay que hacer desplazamientos hacia la izquierda. Por
ejemplo, si un número N de 16 bits se quiere multiplicar por 2, lo único que hace falta es
realizar el desplazamiento de 1 bit, así de forma genera para multiplicar un número N con
otro número P que sea potencia de 2, sólo hace falta desplazar los X bits a la izquierda que
hagan que 2 X = P .

Los resultados de la utilización de la máscara basada en potencias de dos són


idénticos a los obtenidos con la máscara propuesta por Maio.

67
Desarrollo y Resultados DIGIMAC

6.2.2 Discretización Ángulos


Como ya sabemos, el algoritmo esta basado en el seguimiento de las crestas de
huellas dactilares en una imagen en escala de gris. Este seguimiento se consigue
calculando la dirección de la cresta en la imagen. Para realizar el seguimiento tenemos que
estimar la dirección de la tangente de la cresta, para ello obtenemos una sección Ω y
encontramos un máximo local, y finalmente comprobamos si el nuevo punto cumple con
los criterios de parada.
En cada paso, el algoritmo computa un nuevo punto (it, jt) moviéndose µ pixels desde
el punto actual (ic, jc) con dirección ϕc. La dirección ϕc representa la dirección local de la
cresta y se calcula como la tangente de la cresta en el punto (ic, jc). Maio fija la variable µ
a 3 pixels, esto nos permite tabular o discretizar los ángulos tal y como se muestra en la
figura siguiente . De esta forma podemos pasar de ángulos infinitos, obligándonos a
utilizar variables flotantes, a tener un número de ángulos finitos y la eliminación de la
necesidad de trabajar con números flotantes, permitiendo codificar el valor del ángulo en 4
bits. El grupo de recerca propone la discretización de ángulos en 24 valores determinados
entre 0º y 345º, incrementando un valor mínimo de 15º por cada división

45º

30º

15º


(ic,jc)

Figura 6.3: Selección de ángulos con un incremento de 15º.

El algoritmo se ha modificado, para trabajar sólo con estos 24 valores, para ello se ha
realizado una función a la que se le pasa el ángulo calculado y devuelve uno de los 24
valores. No se ha realizado una función que calcule directamente el ángulo dentro de estos
valores, ya que la forma de calcular el ángulo es una de las modificaciones propuestas y
esta explicado en el capítulo siguiente.
Una vez realizado el cambio se ha observado que el seguimiento de la imagen es
bueno, pero a la hora de actualizar la imagen auxiliar T, necesitamos más precisión
angular. Concretamente, para realizar una actualización correcta de la imagen angular
necesitamos el doble de precisión que a la hora de realizar el seguimiento, es decir
necesitamos 48 valores discretos entre 0º-345º, lo que implica 7,5º por paso.
Esta modificación puede implementarse a través de tablas tabuladas, donde el
incremento de X e Y devuelve el valor del ángulo o donde el ángulo devuelve un
incremento de X e Y.

68
Desarrollo y Resultados DIGIMAC

6.3 Resultados Algoritmo DIGIMAC

En este apartado se pueden encontrar los estudios realizados para comprobar el


correcto funcionamiento del programa. Para ello se ha dividido el apartado en tres
subapartados según el estudio realizado al algoritmo y las comparación realizadas al
mismo.
En un primer momento, se pretendía comparar los resultados obtenidos por nuestro
algoritmo a los resultados obtenidos por el Dr. Dario Maio en su estudio, pero esta
comparación ha sido imposible de realizar, ya que se han detectado muchas incoherencias
en los resultados mostrados en el estudio realizado por maio. Las incoherencias que se han
detectado en el estudio es que el número de minutias extraídas por un experto y las
extraídas por su algoritmo no corresponden. Se ha confirmado que en la imagen de las
minutias extraídas por el experto se pueden contar 45 minutias y su algoritmo encuentra
33. Estos resultados a priori no quieren decir nada, ya que si los comparas puedes extraer
igualmente conclusiones, el principal problema reside en que a la hora de comparar su
algoritmo con otros, Maio indica que el número de minutias de referencia son las obtenidas
por su algoritmo y no por las del experto. Esto hace que todos los números que nos da
sobre comparaciones entre algoritmos sean erróneos y que no puedan ser utilizados como
base en nuestro estudio.
Al darnos cuenta de la existencia de este problema y la imposibilidad de comparar
nuestro algoritmo con el suyo, nos hemos visto obligados a realizar una cambio de actitud
sobre la forma de realizar las comprobaciones de nuestro estudio, así que para realizar las
comprobaciones pertinentes, el resultado de nuestro algoritmo se ha visto sometido a la
comparación con la extracción de minutias encontradas por el ojo humano y otra posterior
con un software comercial de extracción de minutias llamado FingerCell. Este programa
también nos daba la oportunidad de comprobar el funcionamiento de un algoritmo como el
nuestro basado en la extracción de minutias sobre una imagen en escala de grises y el
FingerCell, un programa que realiza el algoritmo clásico de la binarización.
Estas dos comparaciones has sido realizadas con huellas dactilares filtradas por los
beneficios mencionados anteriormente.
El último subapartado, muestra los resultados obtenidos por huellas dactilares reales
o sin filtrar y las diferencias entre los resultado obtenidos con huellas filtradas y la forma
de corregirlos.

69
Desarrollo y Resultados DIGIMAC

6.3.1 Comparación ojo humano


En el apartado se pueden encontrar las imágenes de la extracción de minutias
realizada por el ojo humano y las encontradas por nuestro algoritmo. Primero se muestran
todos los resultados y una pequeña tabla como la que se muestra a continuación donde se
compara las diferencias entre minutias tomando como base de comparación la extracción
realizada por el ojo humano.

Nº Nombre del algoritmo a comparar


IMAGEN
MINUTIAS N D F X
Nº de minutias
Nº de minutias
Nº de que han
que ha
Nº de minutias cambiado de
Nº de minutias encontrado el
minutias que no ha tipo en el
Nombre de la encontrads por el algortimo a
encontradas encontrado algoritmo a
imagen algortimo a comparar y no
por el ojo el comparar
comparar existen en la
humano algoritmo a respecto a la
extracción
comparar extracción
base.
base.

N = Número de minutias
D= Número de minutias perdidas
F= Número de minutias falsa
X= Número de minutias cambiadas de tipo

Tabla 6.1: Tabla ejemplo para la comparación entre métodos de extracción de minutias.

Al final de este apartado se puede encontrar una tabla resumen de todas las imágenes
y las conclusiones extraídas sobre el mismo. Las minutias encontradas por el ojo humano
están marcadas por cuadro rojo si se trata de bifurcaciones y por un circulo azul si se trata
de terminaciones. Las minutias encontradas por nuestro algoritmo están marcadas con un
circulo rojo si se trata de bifurcaciones , las terminaciones están marcadas con círculos de
diferente color dependiendo que tipo de terminación se trata, las terminaciones que
indican un final están marcadas con círculos verdes y las provocadas por “excessive
bending ” están marcadas con círculos de color azul.
Para ver mejor las diferencia entre la extracción realizada por el ojo humano y las
obtenidas por nuestro algoritmo, se han marcado las minutias encontradas en nuestro
algoritmo con cuadrados de diferentes colores las minutias falsas o cambiadas de tipo, las
minutias perdidas se han marcado con una X de color lila. En la tabla siguiente se puede
encontrar una tabla donde se muestra el código de colores utilizado.

Código de colores de los cuadrados


Minutias idénticas en Minutias Falsas Minutias cambiadas
las dos extracciones de tipo

Tabla 6.2: Código de colores para la identificación de minutias.

70
Desarrollo y Resultados DIGIMAC

6.3.1.1 Resultados: Comparación ojo humano

71
Desarrollo y Resultados DIGIMAC

72
Desarrollo y Resultados DIGIMAC

Figura 6.4: Resultado extracción minutias ojo humano. 1.tiff.

Figura 6.5: Resultado extracción minutias DIGIMAC. 1.tiff.

Nº ALGORITMO DIGIMAC
IMAGEN
MINUTIAS N D F X
1 44 46 0 2 14

Tabla 6.3:Comparación ojo humano-DIGIMAC imagen 1.tiff

73
Desarrollo y Resultados DIGIMAC

Figura 6.6: Resultado extracción minutias ojo humano. 2.tiff.

Figura 6.7: Resultado extracción minutias DIGIMAC. 1.tiff.

ALGORITMO DIGIMAC
IMAGEN Nº MINUTIAS
N D F X

2 31 34 1 4 13

Tabla 6.4 : Comparación ojo humano-DIGIMAC imagen 2.tiff

74
Desarrollo y Resultados DIGIMAC

Figura 6.8: Resultado extracción minutias ojo humano. 3.tiff.

Figura 6.9: Resultado extracción minutias DIGIMAC. 3.tiff.

ALGORITMO DIGIMAC
IMAGEN Nº MINUTIAS
N D F X
3+2fuera
3 28 35 12 5
zona

Tabla 6.5: Comparación ojo humano-DIGIMAC imagen 3.tiff.

75
Desarrollo y Resultados DIGIMAC

Figura 6.10: Resultado extracción minutias ojo humano. 5.tiff.

Figura 6.11: Resultado extracción minutias DIGIMAC. 5.tiff.

ALGORITMO DIGIMAC
IMAGEN Nº MINUTIAS
N D F X
1 fuera
5 21 31 11 6
zona

Tabla 6.6: Comparación ojo humano-DIGIMAC imagen 5.tiff.

76
Desarrollo y Resultados DIGIMAC

6.3.1.2 Conclusiones: Comparación ojo humano

En la siguiente tabla se muestra la información extraída de las gráficas anteriores.

Nº ALGORITMO DIGIMAC
IMAGEN
MINUTIAS N D F X
1 44 46 0 2 14

2 31 34 1 4 13

3+2fuera
3 28 35 12 5
zona
1 fuera
5 21 31 11 6
zona
N = Número de minutias D= Número de minutias perdidas
F= Número de minutias falsa X= Número de minutias cambiadas de tipo

Tabla 6.7: Resumen comparación extracción minutias ojo humano-DIGIMAC.

Se puede observar que nuestro algoritmo no pierde una cantidad muy grande de
minutias y esto nos confirma en nuestra línea de investigación. Desde otro punto de vista,
la confirmación de tener un número tan elevado de cambios de minutia es un poco
preocupante, este problema no es único en este sistema ya que muchas veces hasta el ojo
humano tiene problemas para diferenciar entre una bifurcación y una terminación. Estas
palabras nos hicieron observar que la discriminación entre una bifurcación y una
terminación muchas veces reside en la resolución con la que miremos la imagen. El ojo
humano es capaz de cambiar la resolución con la que mira automáticamente y esto le hace
capaz de discriminar entre tipos en muchas ocasiones. Nuestro algoritmo esta realizando la
búsqueda de minutias a la resolución de pixels y esto provoca que la existencia de ruido
cerca de una terminación pueda ser confundida con la existencia de una bifurcación tal y
como se muestra en la figura 5.12 .

B
A

Figura 6.12: (A) Sección de la imagen 1.tiff donde se aprecia una minutia tipo terminación.
(B) Sección de la misma imagen con un aumento x10.

77
Desarrollo y Resultados DIGIMAC

El problema de cambio de minutia realmente no tiene por que afectar a la hora de


realizar una correcta identificación de un individuo si el sistema siempre consigue el
mismo patrón de minutias para la misma imagen. En nuestro algoritmo ocurre
precisamente esto. Con lo que el problema de cambio de tipo de minutia sólo tiene sentido
a la hora de comparar dos extracciones, pero no afecta al funcionamiento del sistema en si.
Pero por lo contrario, según la calidad de la imagen se encuentran un número
considerable de minutias falsas. En la mayoría de casos esta producido por que el
algoritmo esta siguiendo una zona con mucho ruido(imagen 5 y 3) y es muy fácil que se
pierda a menudo.
Una posible solución sería aplicar una función que calcule el contraste de la imagen
en una zona próxima a la minutia o realizar un nuevo sistema de filtraje más parecido a los
aplicados a los algoritmos de binarización.
En el cuadro que nos indica el número de minutias perdidas, en alguna imagen
aparece un número de minutias que quedan fuera del margen de búsqueda de minutias de
nuestro algoritmo, se ha comprobado que si se modifican los márgenes de nuestro
algoritmo estas minutias que aparecen como perdidas se encuentran sin ninguna dificultad.
Se ha mantenido los márgenes originales por dos razones principales, la primera es que la
mayoría de minutias se encuentran en el centro de las huellas dactilares y la calidad de las
imágenes en el borde de la imagen suele ser baja.
Aún y teniendo en cuenta todos los puntos mencionados los resultados son bastante
esperanzadores, ya que normalmente una huella dactilar tiene de media entre 30 y 40
minutias. Y ninguna huella dactilar tiene más de 10 minutias en común. En USA se da por
confirmada la identificación de un individuo si coinciden más de 12 minutias y de 8
minutias para considerar sospechoso policial a una persona dentro de una investigación.
En Europa se considera correcta una identificación realizada por huellas dactilares si
coinciden como mínimo 15 minutias. Teniendo en cuenta estos datos se observa que con
los resultados obtenidos por nuestro algoritmo se pueden llevar acabo una identificación
con un alto grado de seguridad.

78
Desarrollo y Resultados DIGIMAC

6.3.2 Comparación Programa Comercial

Una vez realizada la comprobación de nuestro algoritmo con la extracción de


minutias realizada por el ojo humano y teniendo en cuenta los resultados obtenidos que nos
son bastante favorables , teníamos la preocupación y curiosidad de comparar los resultados
obtenidos por nuestro programa y un programa comercial que se utiliza actualmente en
sistemas de identificación de huellas dactilares para control de acceso en zonas restringidas
de grandes empresas.
El programa en cuestión es el FingerCell V1.1 de Neurotechnologija Ltd. El
algoritmo que utiliza esta basado en la binarización , pero al no tener acceso al código
fuente no se puede precisar más sobre que tipos de pasos realiza para la extracción de las
minutias . Este programa tiene más funciones que la de extracción de minutias que es el
aspecto del programa que utilizamos nosotros para la realización de esta comparación. El
programa realiza tanto la captación de las imágenes de las huellas a través de sensores
compatibles, la extracción de las minutias y creación de la base de datos de los individuos
como la comparación de una huella con la base de datos para su identificación .
En este estudio se presentan las dos imágenes de las minutias de huellas dactilares
encontradas por ambos sistemas y un pequeño texto indicando las diferencias encontradas
ente ambos resultados para cada imagen. Las imágenes utilizadas para este estudio son las
mismas que las utilizadas en la comparación anterior.

79
Desarrollo y Resultados DIGIMAC

80
Desarrollo y Resultados DIGIMAC

6.3.2.1 Resultados:Comparación Programa Comercial

81
Desarrollo y Resultados DIGIMAC

82
Desarrollo y Resultados DIGIMAC

- Comparación imagen 1.tiff


Observando las dos imágenes nos damos cuenta que el sistema comercial a la hora de
hacer la binarización de la imagen ha unido varias crestas que tendrían que estar separadas
o ha eliminado algunas partes de la imagen. También se puede observar que no representa
tipos de minutias, con lo que no podemos decir con claridad si hay muchos cambios de tipo
de minutia entre los dos tipos de procesado. También observamos que se deja por señalar
algunas minutias que a simple vista se ven muy claras.

Figura 6.13: Extracción minutias Programa Comercial.1.tiff.

Figura 6.14: Extracción minutias DIGIMAC.2.tiff

83
Desarrollo y Resultados DIGIMAC

- Comparación imagen 2.tiff


En este caso observamos como el programa comercial a procesado las zonas de la
imagen que no están tan claras o tienen un elevado nivel de ruido en zonas blancas. Estas
zonas en concreto son en las que nosotros nos podríamos perder con más facilidad, a parte
de esta diferencia el resultado obtenido es más o menos el mismo .

Figura 6.15: Extracción minutias Programa Comercial.2.tiff.

Figura 6.16: Extracción minutias DIGIMAC.2.tiff.

84
Desarrollo y Resultados DIGIMAC

- Comparación imagen 3.tiff


Como en el caso anterior, el programa vuelve a filtrar las zonas con menos contraste
que es donde nosotros podemos observar que nuestro algoritmo tiene más problemas. Y
donde en la comparación con el experto teníamos el mayor número de minutias falsas.
Teniendo en cuenta que la resolución que tiene un sistema de autentificación automático es
más alta que la del ojo humano a simple vista nos puede llevar a encontrar más minutias
que un experto o cambiarlas de tipo, según el ruido o lo próximo que este a la cresta más
cercana.

Figura 6.17: Extracción minutias Programa Comercial.3.tiff.

Figura 6.18: Extracción minutias DIGIMAC.3.tiff.

85
Desarrollo y Resultados DIGIMAC

- Comparación imagen 5.tiff


En esta imagen aún se ve más claro lo que se explicaba con anterioridad, ya que el
programa comercial a filtrado una gran zona de la imagen y las crestas que estaban muy
próximas las ha adjuntado formando una sólo. Y nosotros en cambio, podemos encontrar
más minutias en la imagen , aunque en la zona con mayor ruido el programa haya podido
encontrar minutias que no parezcan del todo buenas. Pero en general nuestro sistema
parece mejor que el comercial en bastantes puntos.

Figura 6.19: Extracción minutias Programa Comercial. 5.tiff.

Figura 6.20: Extracción minutias DIGIMAC.5.tiff.

86
Desarrollo y Resultados DIGIMAC

6.3.3 Conclusiones de las comparaciones


A parte de los resultados y las conclusiones parciales ya mencionadas en los puntos
anteriores, en la tabla siguiente se puede encontrar los números extraídos al comparar
nuestro sistema con la extracción por el ojo humano ya mencionada anteriormente y entre
el programa comercial y la extracción por el ojo humano. El hecho de realizar esta tabla
nos permite comparar nuestro algoritmo y el programa comercial a través de una
extracción neutral nos permite dictaminar que tipo de extracción es mejor.

Nº ALGORITMODIGIMAC PROGRAMACOMERCIAL
IMAGEN MINUTIAS (FingerCell)

N D F X N D F X
1 44 46 0 2 14 37 7 0 --
2 31 34 1 4 13 27 4 0 --
3+2fuera
3 28 35 12 5 20 9 1
zona --
5 21 31 1 fuera zona 11 6 21 5 5 --
N=nºminutias D=nºdeminutias perdidas F=nºdeminutias falsas X=nºminutias cabiadas de tipo

Figura 6.21:Tabla resumen de las extracciones de minutias comparadas.

Una vez obtenidos todos los datos necesario hay que mencionar que el
comportamiento de nuestro algoritmo es más que aceptable, ya que en número de minutias
perdidas es menor que en el programa comercial. El número de minutias cambiadas de tipo
no puede ser comparado ya que el programa comercial sólo nos muestra las minutias sin
hacer distinción entre el tipo de las mismas. Por otra parte hay que mencionar que el
número de minutias falsas en mucho menor en el programa comercial. Esto es debido
principalmente al tipo de filtrado utilizado por el programa comercial, también hay que
mencionar que el programa comercial realiza una segmentación de la imagen y esto le
permite eliminar partes de la imagen con mucho ruido o que la dirección de las crestas se
muy variable. Las zonas de la imagen que contienes estas características es donde nuestro
algoritmo tiene muchas más dificultades realizar un buen seguimiento y donde aparecen el
mayor número de minutias falsas en nuestro sistema. En este proyecto no se plantea
realizar ninguno de estos cambios como podría ser la segmentación de la imagen según el
nivel de ruido o cambios de dirección y cambiar la forma de filtraje, pero se proponen
como posibles líneas de investigación.

87
Desarrollo y Resultados DIGIMAC

6.3.4 Comparación Huellas Filtradas-Huellas Reales


En este apartado se quiere comprobar la respuesta de nuestro algoritmo con huellas
dactilares sin filtrar, es decir, tal y como se podrían obtener a través de diferentes sensores
biométricos que existen en el mercado.
Como era de esperar, en las huellas dactilares reales se han encontrado más errores
que en los resultados obtenidos por nuestro algoritmo con huellas filtradas. Estos errores
son debidos principalmente al ruido y al poco contraste de las huellas dactilares y esto hace
que nuestro algoritmo tenga más problemas a la hora de realizar en seguimiento
correctamente.
A la hora de realizar esta comparación se ha realizado con todas las imágenes
utilizadas en las comparaciones anteriores, pero en este caso se ha elegido la imagen 1.tiff
para realizar la explicación de los problemas encontrados y la forma de resolverlos, ya que
estos errores se reproducen en todas las imágenes por las mismas causas y la solución
adoptada es válida también en todas las huellas dactilares.
Una vez introducido este apartado hay que decir que esta dividido en 3 partes
diferenciadas, en la primera parte se muestra los seguimientos realizados por la misma
versión de nuestro algoritmo en los dos tipos de huellas dactilares, en la segunda se
clasifican los errores encontrados por tipos y sus posibles soluciones y en el último punto
podemos encontrar las respuestas de la huella dactilar real al aplicar cada cambio por
separado y el resultado final

88
Desarrollo y Resultados DIGIMAC

6.3.4.1 Seguimiento: Huellas Filtradas-Huellas Reales

Figura 6.22: Seguimiento Huella filtrada.

Figura 6.23: Seguimiento Huella Real.

89
Desarrollo y Resultados DIGIMAC

6.3.4.2 Errores encontrados y su resolución

ERROR_1: Como podemos observar en la comparativa anterior entre una huella


filtrada y la otra, es que en la imagen real se pierden dos minutias importantes como se
muestra en la tabla siguiente.

Imagen Filtrada Imagen Real

Tabla 6.8: Error_1:Perdida de minutias según tipo de imagen.

Este Error esta producido por el ruido en la imagen real y por el nivel de negro de la
sección. El código actualmente busca un máximo en una sección de Sigma+1 como punto
de inicio y además tiene un filtro de negro de una tonalidad de 130. Esta parte del código
lo que hace es que no empiece en un punto céntrico, si no que se vaya hacia alguna de las
dos crestas principales más próximas. Todo y con eso, es posible que encuentre un punto
que caiga dentro del tramo, tal y como se muestra en la figura, pero a la hora de evaluar un
punto no es aceptado por su nivel de negro.

SOLUCIÓN: La solución propuesta para evitar el error, o para que encuentre las
minutias es cambiar la forma de buscar el punto inicial y bajar el filtro de nivel de negro.
Seguramente sólo con cambiar la forma de buscar el punto inicial ya habría suficiente, pero
las razones de bajar el filtro son mucho mayores. Ya que por lo que se ha podido observar
las imágenes filtradas tienen un nivel superior de negro (son más oscuras) y las huellas
reales son más claras. Tener un filtro de negro un poco más bajo nos podría ayudar a
realizar un seguimiento de la huella más exacto.

Así es que la solución adoptada para la resolución de este error es:


1.- Buscar un máximo débil alrededor de sigma ( sigma-2 a sigma+2).
2.- Bajar el filtro de negro a 110.

90
Desarrollo y Resultados DIGIMAC

Una vez realizados los cambios indicados en la solución del Error_1, obtenemos el
siguiente resultado:

Figura 6.24: Seguimiento Huella Real: Solución Error_1.

Como se puede observar en la imagen de seguimiento anterior, el ERROR_1 ha


quedado del todo solucionado, ya que hemos encontrado las dos minutias perdidas.

91
Desarrollo y Resultados DIGIMAC

ERROR_2: Pero por otra parte, podemos observar que ha aparecido un nuevo error
a la hora de hacer el seguimiento tal y como se puede observar en la tabla siguiente, donde
se muestra la zona ampliada del nuevo error.

ERROR_2

Tabla 6.9: Error_2:Cambio brusco de la dirección provocado por la presencia de ruido.

Como se puede observar en la imagen, se ha producido un cambio brusco de


dirección debido a la cantidad de ruido de la imagen en ese punto, eso ha provocado que el
seguimiento retrocediera sobre sus pasos encontrando así una bifurcación consigo misma.
El algoritmo no ha sido capaz de detectar este cambio brusco de dirección debido
principalmente a la estructura del mismo. En nuestro algoritmo, primero se mira si se dan
las condiciones de bifurcación y si no se dan se mira si existe un final i/o “excessive
bending”. Esto se realiza de este modo, ya que en la mayoría de casos una bifurcación
produce un error de “ Excessive bending “. En este caso si primero se mirara “Excessive
bending”, el algoritmo hubiera podido filtrar este error. Pero hacer este cambio provoca
muchos más inconvenientes que ventajas en el seguimiento global de la imagen.

SOLUCIÓN: Una vez descartada la posibilidad de cambiar de orden la forma de


encontrar los tipos de minutia. Se propone un solución más ingeniosa que puede resolver
algún cambio de minutia. La solución es la siguiente:
Nuestro algoritmo almacena el ángulo medio de la cresta, esto nos permitiría ver si
estamos realizando un seguimiento más o menos correcto. La solución propone que si el
ángulo en un punto concreto de la imagen y la media acumulada es mayor a un
determinado ángulo. Se tome como ángulo el de la media y no el calculado. Esto nos
evitaría el error anterior, y también nos evitaría confundir tipos de minutia , como sustituir
una bifurcación por un “ Excessive bending ”.A parte de este cambio se incluye una
pequeña modificación a la hora de buscar de que tipo de minutia se trata, el cambio
realizado es mirar si existe un “Excessive Bending” muy elevado si es así se marca la
minutia, si no es así se mira el tipo de minutias como se realizaba antes bifurcación y
terminación ( Punto Final y “Excessive Bending”).

92
Desarrollo y Resultados DIGIMAC

Una vez implementado el cambio propuesto en la solución del Error_2 tenemos el


siguiente resultado:

Figura 6.25: Seguimiento Huella Real: Solución Error_2

93
Desarrollo y Resultados DIGIMAC

Como se puede observar en la imagen del seguimiento anterior, la resolución del


ERROR_2 ha quedado subsanado al implementar el nuevo código propuesto, en este caso
ha aparecido un nuevo tipo de ERROR relevante o de importancia, tal y como se muestra
en la siguiente imagen ampliada.

Figura 6.26: Error_3.

ERROR_3: Este tipo de error, después de mucho tiempo de estudio y


comprobaciones se ha descubierto que ha sido por provocado por dos errores en nuestro
código. Lo que ha pasado principalmente en este caso, es que el algoritmo no ha sabido
calcular correctamente el ángulo en el punto y se ha perdido. Provocando que retrocediera
y detectará una bifurcación con la propia cresta que estaba siguiendo.
Los error técnicos en el algoritmo que han provocado este error han sido los
siguientes:
En primer lugar, ha sido una mala definición de una constante utilizada por el
algoritmo.
Nuestro algoritmo calcula ángulos entre 0 y PI y entre 0 y –PI. El error que se
produce aquí es que la función encargada de hacer el arco tangente cuando el valor a
devolver es PI, no sabe si es + ó – PI, para ello nosotros hemos realizado un código para
descubrirlo. Este código deja PI si el ángulo anterior era positivo y lo substituye por –PI si
en ángulo anterior era negativo. Hasta este punto es todo correcto, el error se produce por
que la definición que nosotros tenemos de PI es 3.141592654 y la máxima resolución que
da el programa da de PI es de 3.1415926536. Esto provoca que nunca se realizara el
cambio de signo a PI.
En segundo y último lugar, nuestro algoritmo para realizar el ángulo medio de la
cresta lo hace de dos formas diferentes. Una de ellas es cogiendo ángulos negativos y
positivos y realizar la media. La otra forma, es realizar la media transformando todos los
ángulos a positivos en decir, entre 0 y 2π.
La necesidad de calcular las dos medias viene provocado por el error que existe a la
hora de calcularlas cada una de ellas.

94
Desarrollo y Resultados DIGIMAC

La fórmula utilizada para realizar el ángulo medio es:

angulo1 + angulo 2 + ... + angulon


angulomedio =
n

Esto provoca que haya errores en el ángulo medio dependiendo en que cuadrante se
este trabajando y la forma de calcular los ángulos.
Por ejemplo, si queremos calcular la media entre un ángulo de 45º y uno de –45º, si
aplicamos la fórmula nos da que el ángulo medio es igual a 0. Que es totalmente correcto.
Pero si hacemos la media entre 45º y 315º nos da que el ángulo medio es de 180º.
Matemáticamente hablando el resultado es correcto, pero no lo es en nuestro caso, ya que
hacer este cálculo nos provocaría un cambio de dirección de 180º, es decir un retroceso en
el seguimiento.
Por otra parte si realizamos la media entre 145º y –145º la media nos daría 0. Un
resultado totalmente falso en nuestro caso que nos provocaría un cambio de dirección
totalmente opuesto al que estábamos siguiendo.
En cambio si hacemos la media entre 145º y 215º obtenemos que es de 180 grados
resultado correcto.

En conclusión cuando trabajamos en el primer y cuarto cuadrante hay que utilizar la


media calculada con ángulos positivos y negativos, Por lo contrario, si trabajamos en el
segundo y tercer cuadrante hay que calcular la media con ángulos entre 0 y 2π.
Una vez explicada la razón de por que utilizar las dos formas de hacer la media ya se
puede explicar el error técnico existente en el código.

En el algoritmo se pasa de una forma de calcular la media a la otra, si la diferencia


entre la media calculada y el primer ángulo guardado es superior a PI/2. Esta comparación
sólo se cumple en errores muy extremos. Pero la mayoría de veces que tendría que cambiar
la forma de calcular la media no lo hace , ya que no se cumple esta comparación. Ya que
PI/2 es la barrera.

95
Desarrollo y Resultados DIGIMAC

SOLUCIÓN: Para solucionar este error se han aplicado dos cambios:

1.- Se ha cambiado la definición de PI de 3.141592654 a 3.141592653.

2.- En este segundo cambio se ha optado por elegir la media que de menor diferencia
entre la misma y el primer ángulo guardado. También se podría haber dejado es código
como el anterior y bajar el umbral de PI/2. Esta opción no se ha llevado acabo ya que se
desconoce cual tendría que ser ese nuevo umbral y si sería válido para todos los puntos.

Imagen del seguimiento realizado una vez se han realizado las modificaciones del
ERROR_3:

Figura 6.27 : Seguimiento Huella Real: Solución Error_3.

96
Desarrollo y Resultados DIGIMAC

6.3.4.3 Resumen Seguimiento Resolución de Errores

Figura 6.28: Seguimiento original.

Figura 6.29: Seguimiento solución Error_1.

97
Desarrollo y Resultados DIGIMAC

Figura 6.30: Seguimiento solución Error_2.

Figura 6.31: Seguimiento solución Error_3.

98
Modificación Cálculo Dirección

7 Modificación Cálculo Dirección


En este capítulo se aborda el cambio más importante. El cálculo de la dirección es la
parte más importante de todo el algoritmo, ya que calcular correctamente la dirección en
cada punto nos permitirá realizar un seguimiento correcto de la cresta .
En la versión actual de nuestro algoritmo, utilizamos el mismo método por Dario
Maio y Davide Maltoni en su estudio que fue creado por Donahue y Rokhlin , explicado
en el capítulo 3.
Este método de calcular la dirección funciona correctamente tal y como se ha
observado en los resultados obtenidos en capítulos anteriores. La mayor complejidad del
método desde el punto de vista de una futura implementación hardware, reside en la
necesidad de implementar la raíz cuadrada, ya que implica la necesidad de elegir un
microcomputador con mayores prestaciones de cálculo.
Una vez visto los puntos en contra de este método, para facilitar la implantación
hardware de esta función, se han propuesto dos métodos para realizar el cálculo de
dirección que muestran una menor complejidad y necesidad de cálculo para su
implementación. Los métodos propuestos y sometidas a estudio son el método de Rao y el
método de Slits.
Este capítulo se ha dividido en dos apartados donde se explican con más
detenimiento los dos métodos propuestos y las diferencias con el método utilizado hasta
ahora y ya explicado en el capítulo 3 de este mismo proyecto, también se puede encontrar
una apartado con los resultados obtenidos por los diferentes métodos y las conclusiones
extraídas de su aplicación.

99
Modificación Cálculo Dirección

7.1 Método de Rao


Este método necesita determinar los gradientes sobre el eje X e Y para ello aplica dos
máscaras sobre la imagen para determinar en cada punto cual es el gradiente, las máscaras
a aplicar son:

1 2 1

-1 -2 -1

Tabla 7.1: Máscara Gx.

1 -1
2 -2
1 -1

Tabla 7.2: Máscara Gy .

A partir de la suma de gradientes en una zona más amplia trata de encontrar el


ángulo que predomina en esa zona.
El algoritmo que se utiliza para un ventana de NxN es:

for j=1:n
for k=1:n
f3=f3+2*Gx(j,k)*Gy(j,k)
f4=f4+((Gx(j,k)2)-(Gy(j,k)2))
end
end

Donde Gx y Gy son los gradientes en sentido X e Y calculados en el punto,


finalmente el ángulo se obtiene con:

atan2(f3,f4);

100
Modificación Cálculo Dirección

7.2 Método de Slits


Este método es bastante sencillo y se basa en sumar los pixeles de alrededor de punto
donde se quiere estimar la dirección. Acumulando los valores de los pixeles en las distintas
direcciones que queremos. En el lugar donde la suma es máxima o mínima quiere decir que
hay una mayoría de puntos negros o blancos, estos máximos o mínimos indican la
dirección buscada. Por otro lado, las direcciones o puntos que no sigan las valles o crestas
muestran un número similar de blancos y negros y muestran un valor intermedio.
En este caso, se propone una ventana con 24 direcciones posible tal y como se
muestra en la imagen siguiente:

10 9 8 7 6 5 4
8 6 3
11 10 9 7 5 4
11 3
12 12 2 2
1 1 C 1 1

2 2 12 12
3 11
3 4 5 9 10 11
6 7 8
4 5 6 7 8 9 10

Figura 7.1: Ventana de direcciones propuesta para el método de SLITS.

Este método en principio es muy rápido y con una necesidad de cálculo muy bajas
comparado con el método utilizado actualmente, ya que sólo hay que sumar los pixels que
indican la misma dirección para todos los casos y compararlas, la suma de mayor valor
indica el ángulo en el punto.

101
Modificación Cálculo Dirección

7.3 Resultados y conclusiones


Una vez realizadas las modificaciones pertinentes en nuestro algoritmo para poder
comparar los métodos propuestos con el utilizado por Maio, en este apartado se muestran
los resultados por los 3 métodos (MAIO, RAO, SLITS).

7.3.1 Resultados Obtenido


- Resultados Obtenidos por el método utilizado por Maio

Figura 7.2: 1.tif. Método de Maio.

Figura 7.3: 2.tif Método de Maio

102
Modificación Cálculo Dirección

Figura 7.4: 3.tif Método de Maio.

Figura 7.5: 5.tiff Método de Maio.

103
Modificación Cálculo Dirección

- Resultados Obtenidos con el método de RAO

Figura 7.6: 1.tif Método de RAO.

Figura 7.7: 2.tif Método de RAO.

104
Modificación Cálculo Dirección

Figura 7.8: 3.tif Método de RAO.

Figura 7.9: 5.tif Método de RAO.

105
Modificación Cálculo Dirección

- Resultados Obtenidos con el método de SLITS

Figura 7.10: 1.tif Método de SLITS.

Figura 7.11: 2.tif Método de SLITS.

106
Modificación Cálculo Dirección

Figura 7.12: 3.tif Método de SLITS.

Figura 7.13: 5.tif Método de SLITS.

107
Modificación Cálculo Dirección

7.3.2 Conclusiones
Una vez obtenidos los resultados de los métodos propuestos RAO y SLITS, y el
método utilizado por MAIO, se puede observa tal y como se muestra en la imagen
siguiente, que los resultados obtenidos por MAIO y RAO son comparables en calidad,
aunque en algunas huellas parece que los resultados puedan ser peores, en realidad el
seguimiento realizado por el método de RAO es mucho más preciso y también esta más
influido que el de MAIO por el ruido en las huellas.

Figura 7.14: Resultado método de Maio.

Figura 7.15: Resultado método de RAO.

108
Modificación Cálculo Dirección

Como se ha comentado antes, el método de RAO realiza un seguimiento más


exhaustivo y se ve más perjudicado por la presencia de ruido o zonas blancas en las
crestas. En la Figura 6.16 se muestra la imagen original (A) donde se aprecia que la cresta
es muy ancha y la presencia de ruido en la parte central provoca que el método de RAO
haga el seguimiento de la cresta por la parte negra y se vaya uniendo en el centro de la
cresta donde el nivel de negro es aceptable (B). Este tipo de error se puede resolver en la
etapa de post-procesado, esto se conseguiría, tal y como se apuntaba en otros puntos de
este proyecto, realizando un filtraje más duro que el aplicado por Maio en su estudio.

A B
Figura 7.16: A) Muestra de la imagen original. B) Muestra del
seguimiento del Método de RAO.

Una vez analizado todos los pros y contra de los métodos de Maio y Rao, se ha visto
que la aplicación del método de RAO realiza un seguimiento más exhaustivo de las crestas
y que la extracción de minutias sea correcta. La implementación hardware del método de
RAO se más fácil y eficiente que el método utilizado por MAIO, aunque se tenga que
mejorar el post-procesado de la imagen cosa que también habría que hacer si se implantara
el método utilizado por MAIO.
Con respecto al método de SLITS, se ha comprobado que realmente es el método
más rápido y con menos necesidades de los tres estudiados y esto lo hace realmente
atractivo, aunque se observa en los resultados que tiene muchos problemas al realizar un
seguimiento correcto debido al ruido y al poco contraste en las imágenes. Estos resultados
haces pensar que este método es muy fácil de implementar pero los resultados obtenidos
son muy malos en imágenes de baja calidad y necesitaría la aplicación de algunos métodos
correctores que podrían hacer muy difícil su aplicación o aumentaría sus necesidades
haciéndolo inviable.
Teniendo en cuenta que los resultados se han obtenido a través de imágenes de
huellas reales se ha querido comparar como funcionaría este método con imágenes de
mayor calidad, para ello se le ha aplicado el algoritmo a una imagen filtrada para ver el
comportamiento de SLITS con este tipo de imágenes tal y como se muestra en la imagen
siguiente:

109
Modificación Cálculo Dirección

Figura 7.17: Huella Filtrada. Método de Maio..

Figura 7.18: Huella Filtrada. Método de SLITS.

Tal y como se sospechaba, el método de SLITS tiene un funcionamiento correcto en


imágenes de calidad, este hecho hace que el método puede ser implantado en hardware si
se elige un correcto sensor que consiga imágenes de huellas dactilares de calidad.

Después de todas las pruebas realizadas y los comentarios indicados mencionados


anteriormente sobre los métodos propuestos, se puede concluir que:

- La sustitución del método utilizado por MAIO por el de RAO es factible, cosa
que nos permitiría bajar la necesidad de cálculo del sistema, al poder eliminar la
raíz cuadrada del método utilizado por MAIO.
- La utilización de SLITS sólo es aceptable si la adquisición de huellas dactilares
es de alta calidad.

110
Conclusiones

8 Conclusiones
En este capítulo se muestran las conclusiones extraídas del proyecto una vez
observados y estudiados todos los cambios propuestos.
Como se ha podido apreciar en el proyecto, los resultados propuestos se pueden
aplicar sin ningún problema en imágenes de huellas dactilares de alta calidad, aunque se
tendrían que mejorar o tomar en consideración nuevas vías de trabajo como mejorar el
filtrado de las minutias en el post-procesado para mejorar los resultados obtenidos en el
estudio en imágenes de menor calidad.
La finalidad de este proyecto era demostrar que era posible realizar cambios en el
algoritmo para mejorar el tiempo de respuesta y bajar la necesidad de cálculo del mismo de
cara a una implementación hardware de partes del mismo. Este aspecto abriría el campo de
actuación de estos sistemas, ya que lo haría más barato y como consecuencia más utilizado
en ámbitos más diversos.
Hay que puntualizar que el sistema propuesto tiene como finalidad la
implementación de un sistema biométrico basado en huellas dactilares para la utilización
en la identificación de individuos como substituto del password o PIN tal y como se utiliza
hoy en día. Teniendo en cuenta este aspecto, se puede decir que los resultados obtenidos
son plenamente satisfactorios, ya que los sensores que se pueden utilizar en este tipo de
sistemas son mayoritariamente de alta calidad y los resultados que se muestran en este
proyecto nos muestran que se podría realizar una identificación sin ningún tipo de
problema.
Si el fin del sistema propuesto fuera la utilización para la identificación biométrica
para la identificación o investigación policial a partir de huellas dactilares, habría que
concluir que este sistema no es del todo apropiado, ya que las huellas extraídas
normalmente son de muy baja calidad y se podrían obtener resultados no muy buenos que
necesiten de la supervisión de una persona experta ya que realizar una identificación
automática no sería concluyente por el número de minutias falsas que nos aparecen, pero
todo y con eso, el sistema podría facilitar la tarea a realizar en un primer momento, ya que
nos mostraría todas las minutias encontradas y el experto tendría que discriminar entre las
minutias, para elegir las que sean de mayor interés para realizar la identificación.
El sistema propuesto es apto para realizar una identificación automática de huellas
dactilares como contraseña o llave, y que para utilizar el sistema para la identificación
policial dentro de una investigación, nos servía de ayuda para extraer las minutias, pero
tendría que ser del todo necesaria la participación de un experto para autentificar los
resultados obtenidos.

111
Conclusiones

112
Futuras Líneas de Investigación

9 Futuras Líneas de Investigación


En este el capítulo se quieren dar algunas pinceladas de futuras líneas de
investigación que se pueden llevar a cabo una vez vistos los resultados obtenidos en este
proyecto.
El capítulo se ha dividido en diferentes apartados según las propuestas para futuras
líneas de investigación , hay que tener en cuenta que las diferentes propuestas no han sido
estudiadas y que podrían dar resultados no óptimos para los objetivos propuestos, pero que
de todas formas pueden ayudarnos a aprender más sobre el tema.

9.1 Filtrado Estructural


En este apartado se propone utilizar un sistema de filtrado en el post-procesado que
elimine minutias según las estructuras que formen tal y como se realiza en el método de la
binarización explicado en el capítulo 2 de este proyecto. El mayor inconveniente a la hora
de realizar esta propuesta es encontrar la forma de diferenciar las diferentes estructuras en
una imagen en escala de gris.

9.2 Imagen Auxiliar


Otro aspecto o otra línea posible es utilizar la imagen auxiliar que se crea al realizar
el seguimiento de la imagen original ya que esta imagen es binaria y puede ser sometida a
algoritmos de adelgazamiento y de búsqueda de minutias clásicos sin perder tiempo, ya
que se podría buscar las minutias en la imagen auxiliar sólo en trozos de la imagen que han
sido marcados como zonas con minutia en la imagen original. Esto nos permitiría filtrar las
minutias falsas que se producen en las crestas producidas por ruido o cambios de dirección
muy acentuados, ya que en la imagen auxiliar estos errores no aparecerán al ser una
imagen binaria .
Si el algoritmo es muy rápido y nos pudiéramos permitir hacer otra exploración en
otra imagen, en lugar de utilizar zonas de la imagen auxiliar binarizada se podría exploarar
toda la imagen auxiliar y comparar resultados dando lugar a una identificación con un
grado más alto de seguridad, ya que se han procesado dos imágenes para la extracción de
minutias correctas de la huella.

9.3 Imagen Negada

Una línea de investigación a seguir podría ser utilizar la imagen negada de la huella
dactilar a explorar, ya que las minutias encontradas en esta imagen serían las
complementarias a las encontradas en la imagen original es decir, las terminaciones en la
imagen original son bifurcaciones en la imagen negativa y al revés. Este doble estudio nos
permitiría aumentar el grado de seguridad en la extracción y también nos permitiría filtrar
muchas minutias falsas, ya que sólo se aceptarías las minutias que coincidan en las dos
imágenes, entendiendo como coincidencia en que la imagen original sean terminaciones y
en la imagen negativa sean bifurcaciones y que las bifurcaciones en la original sean
terminaciones.

113
Futuras Líneas de Investigación

9.4 Segmentación

Una línea de investigación muy interesante es realizar la segmentación o eliminación


de zonas de la imagen, tal y como realiza el programa comercial analizado en este
proyecto. Esto nos permitiría eliminar zonas de la imagen con poco contraste o con
muchos cambios de dirección donde nuestro algoritmo encuentra el mayor número de
minutias falsas y donde realmente no se puede extraer mucha información de la misma y
puede complicar mucho su seguimiento.
A continuación se puede observar una imagen de una huella dactilar con zonas con
poco contraste (a) y el seguimiento obtenido (b):

(a) (b)

Figura 9.1: Imagen original con zonas con poco contraste (a) y el resultado obtenido (b).

Se puede observar que el seguimiento en general es bastante bueno, pero hay una
zona concreta donde el algoritmo encuentra un número elevado de minutias falsas como es
la zona inferior izquierda de la imagen. Se puede observar que la misma zona en la imagen
original a simple vista no se puede extraer ningún tipo de información, ya que es una zona
con mucho ruido y poco contraste entre crestas y valles. Si se realizara la segmentación,
esta parte de la imagen podría ser suprimida o excluida como zona a explorar a la hora de
realizar el seguimiento, consiguiendo así un resultado más adecuado y que permite una
identificación apropiada y correcta.

114
Futuras Líneas de Investigación

9.5 Preestimación

Por último, se propone realizar una estimación de la dirección antes de realizar el


seguimiento de la imagen, esto nos permitiría conocer de antemano zonas de la imagen
donde pueda ser más difícil realizar un seguimiento correcto de la cresta. Lo que nos
permitiría eliminar estas zonas. También se puede utilizar esta estimación a la hora de
realizar la exploración de las crestas, ya que el punto inicial ya podría tener un dirección
correcta para seguir la cresta y también nos permitiría intercambiar el ángulo estimado con
el ángulo calculado si este último varia mucho de la media de la cresta que podría ser el
valor pre-estimado en esa zona.
Para realizar esta línea de investigación se propone como punto de partida realizar la
preestimación de la imagen por zonas con el método de RAO, que como hemos podido
observar en anterioridad es un método más fácil de implementar y que da resultados más
que aceptables a la hora de calcular direcciones. Para realizar el seguimiento de la imagen
se propone utilizar el método de SLITS que sería un método muy rápido de implementar y
de seguimiento de la imagen, aunque como se ha mencionado anteriormente en el capítulo
6 se equivoca mucho al calcular el ángulo debido al ruido de la imagen, este error podría
ser subsanado si en vez de utilizar el ángulo calculado por el método de SLITS en un
punto de la imagen y si su valor varia mucho de la media de la cresta por el ángulo pre-
estimado por el método de RAO.

115
Futuras Líneas de Investigación

116
Referencias y Bibliografía

10 Referencias y Bibliografía

[1] Dario Maio and Davide Maltoni, “Direct Gray-Scale Minutiae Detection in
Fingerprints”, IEE transactions on pattern analysis and machine
intelligence, january 1997, vol.19, no.1, 27-39.

[2] M.J. Donahue and S.I. Rokhlin, “On the Use of Level Curves in Image
Analysis”, Image Undesrtanding, 1993, vol.57, no.5, 185-203.

[3] Davide Maltoni ,Dario Maio, Anil K.Jain and Salil Prabhakar, “Handbook
of Fingerprint Recognition”, Springer, 2003.

[4] Samir Nanavati, Michel Thieme and Raj Nanavati, “Biometrics Identity
Verification in a Networked World A Wiley Teach Brief”, Jhon Wiley &
Son Inc., 2002.

[5] Anil K. Jain, Ruud Bolle and Sharath Pankanti, “Biometrics. Personal
Identification in Networked Society”, Kluwer Academic Publichers, 1999.

[6] L.C. Jain, U. Halici, I. Hayashi, S.B. Lee and S. Tsutsi, “Intelligent
Biometric Techniques in Fingerprint and Face Recognition”, CRC Press
LLC, 1999.

[7] Bruno Struif, Dirk Scheuermann and Robert Müller, “TB1-BioNorm. Need
for Specifications and Standardisation to Archive Interoperability in the
Field of Smart Cards and Biometrics”,23.10.2002.

[8] Fingerprint Cards: http://www.fingerprints.com

[9] Atmel: http://www.atmel.com

[10] Siemens: http://www.siemens.de

[11] Infineon Inc.: http://www.infineon.com/

117

También podría gustarte