análisis del algoritmo de maio para la extracción de...

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.

Upload: vuongquynh

Post on 25-Jul-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

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.

Page 2: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares
Page 3: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Análisis del Algoritmo de Maio para la extracción de huellas dactilares.

Optimización para una implementación hardware.

iii

Í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

Page 4: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Análisis del Algoritmo de Maio para la extracción de huellas dactilares.

Optimización para una implementación hardware.

iv

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

Page 5: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Análisis del Algoritmo de Maio para la extracción de huellas dactilares.

Optimización para una implementación hardware.

v

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

Page 6: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Análisis del Algoritmo de Maio para la extracción de huellas dactilares.

Optimización para una implementación hardware.

vi

Page 7: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Análisis del Algoritmo de Maio para la extracción de huellas dactilares.

Optimización para una implementación hardware.

vii

Í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

Page 8: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Análisis del Algoritmo de Maio para la extracción de huellas dactilares.

Optimización para una implementación hardware.

viii

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

Page 9: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Análisis del Algoritmo de Maio para la extracción de huellas dactilares.

Optimización para una implementación hardware.

ix

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

Page 10: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Análisis del Algoritmo de Maio para la extracción de huellas dactilares.

Optimización para una implementación hardware.

x

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

Page 11: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Análisis del Algoritmo de Maio para la extracción de huellas dactilares.

Optimización para una implementación hardware.

xi

Í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

Page 12: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Análisis del Algoritmo de Maio para la extracción de huellas dactilares.

Optimización para una implementación hardware.

xii

Page 13: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Objetivo

1

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.

Page 14: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Objetivo

2

Page 15: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Antecedentes

3

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.

Page 16: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Antecedentes

4

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.

Page 17: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Biometría de Huellas Dactilares

5

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?.

Page 18: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Biometría de Huellas Dactilares

6

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.

Page 19: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Biometría de Huellas Dactilares

7

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.

Page 20: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Biometría de Huellas Dactilares

8

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.).

Page 21: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Biometría de Huellas Dactilares

9

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.

Figura 3.3: Crestas arciformes.

Arciformes. Crestas que forman un arco de circunferencia (figura 3.3).

Angulosas. Crestas que tienden a formar un ángulo (figura 3.4). Suelen encontrarse en dactilogramas anucleados.

Figura 3.4: Crestas angulosas.

Figura 3.5: Crestas verticilares.

Verticilares. Crestas que forman un círculo o espiral arrollándose sobre sí mismas (figura 3.5).

Page 22: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Biometría de Huellas Dactilares

10

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.

Page 23: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Biometría de Huellas Dactilares

11

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, basilar y nuclear.

Figura 3.7: Dactilograma anucleado.

Page 24: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Biometría de Huellas Dactilares

12

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.

Figura 3.9: Punto bifurcación.

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.

Page 25: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Biometría de Huellas Dactilares

13

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.

Figura 3.11: Punto secante.

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).

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.

Page 26: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Biometría de Huellas Dactilares

14

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.

Figura 3.13: Punto delta.

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

Page 27: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Biometría de Huellas Dactilares

15

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

Page 28: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Biometría de Huellas Dactilares

16

3.2.3.2 Pseudodeltos.

Figura 3.15: Dactilograma pseudodelto.

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.

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.

Page 29: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Biometría de Huellas Dactilares

17

3.2.3.4 Siniestrodeltos.

Figura 3.17: Dactilograma sinestrodelto.

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.

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”)

Page 30: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Biometría de Huellas Dactilares

18

3.2.3.6 Ilegibles.

Figura 3.20: Dactilograma ilegible

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).

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.

Page 31: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Biometría de Huellas Dactilares

19

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.

Page 32: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Biometría de Huellas Dactilares

20

En la figura siguiente se muestra una ejemplo gráfico de los modos de funcionamiento de un SAID y los bloques que lo componen.

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.

ENROLMENTIMAGE ACQUISITION

(Biometrics)

(Sample)

IMAGE PROCESSING(Enhancement)

FEATURE EXTRACTION(Signature)

STORAGE(Template)

RECOGNITIONIMAGE ACQUISITION

(Biometrics)

IMAGE PROCESSING(Enhancement)

FEATURE EXTRACTION(Signature)

RESULT(Yes / No)

(Sample)

MATCHINGTemplate = Sample?

Page 33: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Biometría de Huellas Dactilares

21

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.

Page 34: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Biometría de Huellas Dactilares

22

h) Ejemplo imagen captada por un sensor de presión

e) Ejemplo Imagen captada por un sensor capacitivo

g) Ejemplo Imagen 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.

Page 35: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Biometría de Huellas Dactilares

23

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.

Page 36: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Biometría de Huellas Dactilares

24

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”.

Page 37: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Biometría de Huellas Dactilares

25

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.

Page 38: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Biometría de Huellas Dactilares

26

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.

Page 39: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Biometría de Huellas Dactilares

27

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

Page 40: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Biometría de Huellas Dactilares

28

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.

Page 41: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Algoritmo de extracción DIGIMID

29

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).

Page 42: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Algoritmo de extracción DIGIMID

30

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.

Page 43: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Algoritmo de extracción DIGIMID

31

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.

Page 44: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Algoritmo de extracción DIGIMID

32

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.

Page 45: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Algoritmo de extracción DIGIMID

33

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.

Page 46: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Algoritmo de extracción DIGIMID

34

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.

Page 47: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Algoritmo de extracción DIGIMID

35

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.

Page 48: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Algoritmo de extracción DIGIMID

36

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.

Page 49: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Algoritmo de extracción DIGIMID

37

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]);

Page 50: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Algoritmo de extracción DIGIMID

38

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.

Page 51: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Algoritmo de extracción DIGIMID

39

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

Page 52: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Algoritmo de extracción DIGIMID

40

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.

Page 53: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Algoritmo de extracción DIGIMID

41

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.

Page 54: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Algoritmo de extracción DIGIMID

42

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.

Page 55: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Modificación Algoritmo de Maio

43

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.

Page 56: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Modificación Algoritmo de Maio

44

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.

Page 57: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Modificación Algoritmo de Maio

45

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.

Page 58: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Modificación Algoritmo de Maio

46

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.

Page 59: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Modificación Algoritmo de Maio

47

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 DE LA ZONA

AMPLIADA DEL ERROR

IMAGEN RESULTANTE DE LA HUELLA

DACTILAR UNA VEZ PROCESADA POR EL

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.

Page 60: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Modificación Algoritmo de Maio

48

Resultado Procesado Imagen : sfinge_1.tif

Error_A1

Error_A2

Tabla 5.7: Resultado Procesado Sfinge_1.tiff.

Page 61: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Modificación Algoritmo de Maio

49

Resultado Procesado Imagen : sfinge_2.tif

Error_A1

Error_A3

Tabla 5.8: Resultado Procesado Sfinge_2.tiff.

Page 62: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Modificación Algoritmo de Maio

50

Resultado Procesado Imagen : sfinge_3.tif

Error_A1

Error_A3

Tabla 5.9: Resultado Procesado Sfinge_3.tiff.

Page 63: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Modificación Algoritmo de Maio

51

Resultado Procesado Imagen : sfinge_4.tif

Error_A1

Error_A4

Tabla 5.10: Resultado Procesado Sfinge_4.tiff.

Page 64: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Modificación Algoritmo de Maio

52

Resultado Procesado Imagen : img_mej.tif

Error_A1

Error_A2

Error_A3

Tabla 5.11: Resultado Procesado img_mej.tiff.

Page 65: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Modificación Algoritmo de Maio

53

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.

Page 66: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Modificación Algoritmo de Maio

54

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.

Page 67: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Modificación Algoritmo de Maio

55

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.

Page 68: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Modificación Algoritmo de Maio

56

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.

Page 69: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Modificación Algoritmo de Maio

57

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.

Page 70: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Modificación Algoritmo de Maio

58

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.

Page 71: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Modificación Algoritmo de Maio

59

Resultado Procesado Imagen : sfinge_2.tif

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

Page 72: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Modificación Algoritmo de Maio

60

Resultado Procesado Imagen : sfinge_3.tif

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

Page 73: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Modificación Algoritmo de Maio

61

Resultado Procesado Imagen : sfinge_4.tif

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

Page 74: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Modificación Algoritmo de Maio

62

Resultado Procesado Imagen : img_mej.tif

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

Page 75: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

63

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.

Page 76: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

64

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.

(a)

(b)

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.

Page 77: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

65

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.

Page 78: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

66

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.

Page 79: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

67

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 PX =2 .

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.

Page 80: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

68

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

(ic,jc)0º

15º

30º

45º

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.

Page 81: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

69

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.

Page 82: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

70

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.

Nombre del algoritmo a comparar IMAGEN Nº

MINUTIAS N D F X

Nombre de la imagen

Nº de minutias

encontradas por el ojo humano

Nº de minutias encontrads por el

algortimo a comparar

Nº de minutias que no ha

encontrado el

algoritmo a comparar

Nº de minutias que ha

encontrado el algortimo a

comparar y no existen en la extracción

base.

Nº de minutias que han

cambiado de tipo en el

algoritmo a comparar

respecto a la extracción

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 las dos extracciones

Minutias Falsas Minutias cambiadas de tipo

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

Page 83: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

71

6.3.1.1 Resultados: Comparación ojo humano

Page 84: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

72

Page 85: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

73

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

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

ALGORITMO DIGIMAC IMAGEN Nº

MINUTIAS N D F X

1 44 46 0 2 14

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

Page 86: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

74

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

Page 87: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

75

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 28 35 3+2fuera zona 12 5

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

Page 88: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

76

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

5 21 31 1 fuera zona 11 6

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

Page 89: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

77

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.

ALGORITMO DIGIMAC IMAGEN Nº

MINUTIAS N D F X

1 44 46 0 2 14

2 31 34 1 4 13

3 28 35 3+2fuera zona 12 5

5 21 31 1 fuera zona 11 6

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 .

A

B

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.

Page 90: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

78

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.

Page 91: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

79

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.

Page 92: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

80

Page 93: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

81

6.3.2.1 Resultados:Comparación Programa Comercial

Page 94: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

82

Page 95: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

83

- 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

Page 96: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

84

- 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.

Page 97: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

85

- 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.

Page 98: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

86

- 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.

Page 99: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

87

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.

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.

NºIMAGEN MINUTIAS

N D F X N D F X1 44 46 0 2 14 37 7 0 --2 31 34 1 4 13 27 4 0 --

3 28 35 3+2fuera zona

12 5 20 9 1 --5 21 31 1 fuera zona 11 6 21 5 5 --

ALGORITMO DIGIMAC PROGRAMA COMERCIAL(FingerCell)

N= nº minutias D= nº de minutias perdidas F=nº de minutias falsas X=nº minutias cabiadas de tipo

Page 100: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

88

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

Page 101: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

89

6.3.4.1 Seguimiento: Huellas Filtradas-Huellas Reales

Figura 6.22: Seguimiento Huella filtrada.

Figura 6.23: Seguimiento Huella Real.

Page 102: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

90

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.

Page 103: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

91

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.

Page 104: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

92

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”).

Page 105: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

93

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

Page 106: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

94

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.

Page 107: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

95

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

nanguloanguloangulo

oangulomedi n+++=

...21

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.

Page 108: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

96

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.

Page 109: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

97

6.3.4.3 Resumen Seguimiento Resolución de Errores

Figura 6.28: Seguimiento original.

Figura 6.29: Seguimiento solución Error_1.

Page 110: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Desarrollo y Resultados DIGIMAC

98

Figura 6.30: Seguimiento solución Error_2.

Figura 6.31: Seguimiento solución Error_3.

Page 111: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Modificación Cálculo Dirección

99

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.

Page 112: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Modificación Cálculo Dirección

100

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);

Page 113: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Modificación Cálculo Dirección

101

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:

C

2

1

3

45678910

11

12

1

2

3

4 5 6 7 8 9 10

11

12

10

1

47

1

4 7 10

23

568

911

12

23

56 8

911

12

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.

Page 114: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Modificación Cálculo Dirección

102

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

Page 115: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Modificación Cálculo Dirección

103

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

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

Page 116: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Modificación Cálculo Dirección

104

- 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.

Page 117: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Modificación Cálculo Dirección

105

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

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

Page 118: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Modificación Cálculo Dirección

106

- 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.

Page 119: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Modificación Cálculo Dirección

107

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

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

Page 120: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Modificación Cálculo Dirección

108

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.

Page 121: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Modificación Cálculo Dirección

109

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:

Page 122: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Modificación Cálculo Dirección

110

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.

Page 123: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Conclusiones

111

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.

Page 124: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Conclusiones

112

Page 125: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Futuras Líneas de Investigación

113

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.

Page 126: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Futuras Líneas de Investigación

114

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.

Page 127: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Futuras Líneas de Investigación

115

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.

Page 128: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Futuras Líneas de Investigación

116

Page 129: Análisis del algoritmo de Maio para la extracción de ...deeea.urv.cat/public/PROPOSTES/pub/pdf/560pub.pdf · Análisis del Algoritmo de Maio para la extracción de huellas dactilares

Referencias y Bibliografía

117

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/