Afasua - un sistema de autenticación basado en huellas digitales
Texto completo
(2) Agradecimientos Le doy gracias a mi papá y mi mamá por el apoyo, el interés y la preocupación que mostraron todo el tiempo. Gracias a Gigi y mis hermanos por la paciencia que tuvieron. Finalmente gracias a Rafael por su apoyo, asesoría y optimismo permanente..
(3) TABLA DE CONTENIDO 1 Objetivos............................................................................................................................. 7 2 Introducción a los Sistemas Biométricos..........................................................................8 2.1 Huellas digitales........................................................................................................... 8 2.2 Otros sistemas biométricos...........................................................................................9 2.3 La esperanza en los sistemas biométricos.................................................................. 11 3 Nociones sobre la autenticación con huellas dactilares................................................ 12 3.1 Afis y Afas..................................................................................................................12 3.2 Los problemas de las huellas digitales....................................................................... 13 3.2.1 Captura y Procesamiento de la Imagen...............................................................13 3.2.2 Identificación de los campos de direcciones.......................................................14 3.2.3 Identificación del Núcleo y el Delta................................................................... 14 3.2.4 Identificación de Minucias..................................................................................15 3.2.5 Emparejamiento de minucias..............................................................................16 3.2.6 Evaluación.......................................................................................................... 18 3.2.7 Almacenamiento y búsqueda.............................................................................. 18 3.3 Descripción de un sistema Afas..................................................................................18 3.3.1 Partes de un AFAS..............................................................................................18 3.3.2 Modelos.............................................................................................................. 19 3.3.3 Problemas de seguridad...................................................................................... 20 4 Elementos de la autenticación......................................................................................... 22 4.1 El problema del procesamiento de las huellas............................................................22 4.1.1 Normalización.....................................................................................................23 4.1.2 Campo de Direcciones........................................................................................ 24 4.1.3 Campo de frecuencias......................................................................................... 26 4.1.4 Segmentación......................................................................................................27 4.1.5 Filtro de Gabor....................................................................................................28 4.2 Identificación de núcleo y delta.................................................................................. 30 4.2.1 Búsqueda del Núcleo.......................................................................................... 30 4.3 Identificación de minucias..........................................................................................33 4.3.1 Adelgazamiento.................................................................................................. 34 4.3.2 Detección de minucias........................................................................................ 34 4.3.3 Remoción de Falsas Minucias............................................................................ 35 4.3.4 Estadísticas......................................................................................................... 37 4.4 Emparejamiento de las huellas................................................................................... 38 4.4.1 Elastic String matching.......................................................................................39.
(4) 5 Implementación................................................................................................................ 44 5.1 Requisitos de Confiabilidad....................................................................................... 44 5.1.1 El caso de la Universidad de los Andes.............................................................. 44 5.1.2 Porcentaje de Huellas Rechazadas......................................................................45 5.1.3 Porcentaje de Verificaciones Incorrectas............................................................ 45 5.1.4 Requisitos finales................................................................................................46 5.2 Requerimientos de la aplicación.................................................................................46 5.2.1 El sistema completo............................................................................................ 46 5.2.2 Actores................................................................................................................ 47 5.2.3 Requerimientos................................................................................................... 47 5.3 Tesis Anteriores..........................................................................................................49 5.4 Diseño de las aplicaciones..........................................................................................50 5.4.1 Autenticación y Enrolamiento............................................................................ 50 5.4.2 Aplicación de Control.........................................................................................52 5.4.3 Base de datos...................................................................................................... 53 5.5 Mecanismo de captura................................................................................................ 53 6 Evaluación del sistema..................................................................................................... 55 6.1 Descripción de las pruebas......................................................................................... 55 6.1.1 Imagen muy clara y segmentada......................................................................... 55 6.1.2 Imagen muy oscura y segmentada...................................................................... 56 6.1.3 Huella Descentrada............................................................................................. 57 6.1.4 Imagen pequeña.................................................................................................. 58 6.1.5 Imágenes descompensadas..................................................................................59 6.1.6 Huellas con cicatrices......................................................................................... 60 6.2 Resultados de las pruebas........................................................................................... 62 6.3 Evaluación de las diferentes partes del sistema..........................................................63 6.3.1 Procesamiento y calidad de las imágenes........................................................... 63 6.3.2 Detección de minucias........................................................................................ 63 6.3.3 Búsqueda del núcleo........................................................................................... 65 6.3.4 Alineamiento, emparejamiento y parámetros..................................................... 65 6.4 Rendimiento del sistema.............................................................................................66 7 Conclusiones..................................................................................................................... 67 7.1 Descripción del Trabajo Realizado.............................................................................67 7.2 ¿Qué se puede hacer para mejorar?............................................................................ 67 7.3 Trabajo futuro y expansión de la aplicación...............................................................68 Apéndice: Guía para el Desarrollador.............................................................................. 70 7.4 Contenido del disco.................................................................................................... 70.
(5) 7.5 Estructura y uso de las fuentes....................................................................................71 Bibliografía.......................................................................................................................... 73.
(6) 1 OBJETIVOS El objetivo principal de la tesis es estudiar un sistema de autenticación usando huellas dactilares, diseñarlo, implementarlo y evaluar su desempeño. Siendo este un campo donde abunda la bibliografía, es necesario estudiar y seleccionar los algoritmos más adecuados para una implementación particular y luego evaluar su rendimiento. Al haber otras tesis en curso y concluidas sobre temas relacionados, sería inútil intentar repetir lo que ellos ya han logrado hacer. Por esto considero parte esencial de los objetivos de esta tesis aprovechar adecuadamente el legado de estas otras tesis e integrarlo al sistema de autenticación. El desarrollo del sistema debe entonces incluir una fase de definición de requerimientos funcionales y de límites esperados en la confiabilidad del sistema. Se debe diseñar la aplicación de forma que sea posible introducir fácilmente nuevos algoritmos dentro del sistema de autenticación y deben ofrecerse facilidades para que eventualmente diferentes interfases interactúen con el sistema. Finalmente el sistema de persistencia debe estar de acuerdo con los algoritmos elegidos, pero también aquí debe haber un cierto grado de libertad para poder realizar modificaciones posteriores e introducir nuevos algoritmos y por ende nuevos sistemas de persistencia. Todo lo anterior debería estar acompañado por documentación sobre los algoritmos usados, documentación del diseño de la aplicación y documentación sobre los resultados de las pruebas de confiabilidad hechas sobre el sistema. Este documento está organizado de forma que primero se da una pequeña introducción a los sistemas biométricos y luego una introducción a los problemas relacionados con la autenticación usando huellas digitales (incluyendo su formulación). La sección 4 presenta las soluciones a los problemas y explica los algoritmos disponibles. En la sección 5 se muestran algunos elementos que deben ser tenidos en cuenta para realizar la implementación del sistema y en la sección 6 se presentan los resultados de las pruebas realizadas y se proponen ideas para solucionar los problemas encontrados. En la sección 7 se encuentran las conclusiones del trabajo y una explicación de algunos puntos que deberían ser tenidos en cuenta para expandir y mejorar la implementación realizada. Para ayudar en esta tarea, el apéndice describe a un nivel técnico el programa, de forma que sea sencillo modificarlo para cambiar la implementación de ciertas partes manteniendo aquellas que funcionen adecuadamente..
(7) 2 INTRODUCCIÓN A LOS SISTEMAS BIOMÉTRICOS En esta sección se presentan a grandes rasgos los sistemas biométricos y las características que hacen que hoy en día se invierta un gran esfuerzo en su desarrollo en muchas partes del mundo. Además se presentan algunos ejemplos (huellas digitales, reconocimiento de la retina, reconocimiento de voz) y algunas reflexiones sobre lo que puede ser el desarrollo futuro de estas tecnologías. Los sistemas biométricos en general tienen características que los hacen muy útiles para identificar personas pero que también son relativamente problemáticas. La base para estos sistemas es el supuesto de que no hay dos personas que tengan exactamente igual una determinada característica. Sin embargo es posible que dos personas tengan características “parecidas”. El gran problema está en medir qué tan “parecidas” son y poder decidir si las diferencias que se encontraron respecto a una plantilla son producto de problemas en la lectura, el análisis o si se debe a que se trata de personas diferentes. Con estos sistemas se debe buscar una forma para que las decisiones que se tomen no sean absolutas sino que estén basadas realmente sobre los datos que se tienen para pruebas o para la utilización de la aplicación. Por esto, en el caso específico de las huellas dactilares, se debe establecer un mecanismo dinámico que permita ajustar la tolerancia con la que se aceptan o rechazan las huellas basado en el desempeño real de la aplicación: si se están aceptando huellas incorrectas el sistema debe ser más drástico, si se están rechazando muchas huellas correctas el sistema debe ser menos exigente en la verificación. El balance deseado entre estas dos situaciones debe ser establecido desde un principio para que el entrenamiento o la configuración del sistema se adecúe a lo que se necesita y para que se verifique que la implementación particular que se logre sea correcta respecto a estas exigencias.. 2.1 HUELLAS DIGITALES Las huellas digitales son uno de los sistemas biométricos más difundidos actualmente y gozan de un prestigio que casi ningún otro sistema puede igualar. Desde hace más de 100 años las huellas digitales se han utilizado como un mecanismo de identificación y han sido pieza clave en muchos procesos policiacos en todo el mundo. El supuesto que hace que todo funcione es que no hay dos personas en el mundo que tengan huellas digitales idénticas: incluso en el caso de los gemelos las huellas son diferentes y permiten su identificación. Este sistema tiene hoy en día una gran cantidad de aplicaciones y los mecanismos para capturar las huellas van desde tinta sobre papel hasta lectores de estado sólido y complejos sistemas químicos para encontrar huellas latentes..
(8) 2.2 OTROS SISTEMAS BIOMÉTRICOS Hay otros sistemas biométricos que se utilizan constantemente en nuestra sociedad. Por ejemplo, los bancos utilizan el estudio de la caligrafía y la firma de las personas para verificar la autenticidad de los cheques. Aunque no puede decirse que nuestra firma hace parte de nosotros, está demostrado que es un mecanismo efectivo para identificar a las personas.. Figura 1 - Ejemplo reconocimiento de la mano. Tomado dehttp://www.psy.gla.ac.uk/~ylma/research.html. Otras características físicas que se usan para reconocer a las personas son la forma de las manos y la presión relativa que se hace en cada una de sus partes cuando se apoya sobre una superficie. En el caso de las manos los estudios más recientes indican que la relación que hay entre el tamaño de los nudillos de los dedos puede ser un excelente mecanismo de identificación. Hoy en día también existen mecanismos de identificación que utilizan la voz, sin embargo no son muy confiables puesto que nuestra propia voz tampoco lo es. La forma en la que entonamos las palabras puede variar según nuestro estado de ánimo y el timbre de nuestra voz puede ser muy diferente dependiendo de si estamos tranquilos o calmados, sanos o enfermos. Hasta el momento las esperanzas de construir un sistema de identificación basado en imágenes de la cara han resultado vanas debido a la gran cantidad de problemas existentes. El procesamiento de las imágenes, que debería servir para distinguir qué parte de una imagen es un rostro y qué hace parte del fondo, hasta el momento no ha entregado los resultados esperados. Además, como sucede con la voz, nuestro aspecto puede cambiar radicalmente, convirtiendo nuestro rostro en una característica variable que no necesariamente nos identifica. Sin embargo para un eventual sistema confiable de este estilo existen ya una gran cantidad de aplicaciones: verificación de los pasajeros en los aeropuertos, búsqueda de delincuentes dentro de multitudes o identificación de vándalos 8.
(9) dentro de los estadios.. Figura 2 - Ejemplo reconocimiento de la cara. Tomado de http://www.merl.com/projects/FaceRecognition/. Finalmente, uno de los sistemas más prometedores es la identificación usando imágenes de la retina. La teoría dice que los patrones que forman los vasos capilares en el fondo de la retina pueden servir para diferenciar sin ninguna duda a una persona de otra. El principal problema que presentan estos sistemas es de índole cultural. ¿A quién le gusta la idea de poner su ojo en un aparato donde mucha otra gente lo ha estado poniendo y además permitir que un láser lo ilumine a muy corta distancia? Hay varios sistemas de este tipo funcionando actualmente. Por ejemplo, en el aeropuerto internacional de Amsterdam los pasajeros frecuentes pueden identificarse usando la imagen de la retina capturada a unos 10 centímetros de distancia.. Figura 3 - Ejemplo de Reconocimiento del Iris – Tomado de http://www.genssoft.com/iridian.html y de http://service.comson.com/comdex2002/html/evermedia/main.htm. 9.
(10) 2.3 LA ESPERANZA EN LOS SISTEMAS BIOMÉTRICOS Hoy en día hay muchísimo interés por incorporar sistemas biométricos en campos muy diversos. Probablemente esto se debe a que día tras día sistemas de seguridad cada vez más "seguros" son vulnerados con herramientas cada vez más sencillas y fáciles de encontrar. La promesa de los sistemas biométricos es entonces que al usar una parte del cuerpo como herramienta de autenticación será imposible falsificarla. La realidad es bastante diferente. Aunque hay mecanismos más complicados de violar, siempre es posible realizar copias de dedos, manos, caras o voces para después utilizarlas violando un sistema de seguridad. Hasta el momento el mecanismo que ofrece una mayor seguridad es el de imágenes de la retina, pero no tardará en aparecer la forma de violar también estos sistemas. Es posible que en el futuro la esperanza (o la moda) de utilizar sistemas biométricos como mecanismo de seguridad resulte vana, pero seguramente las contraseñas almacenadas en nuestras cabezas (o en nuestros bolsillos) seguirán estando al reparo de los intrusos. Después de todo, si alguien roba nuestras tarjetas o se entera de nuestras contraseñas, se pueden bloquear o cambiar: si alguien hace una copia de nuestro dedo no podemos hacer otra cosa que acostumbrarnos a la idea de que alguien con un pedazo de latex pueda estar haciendo cosas a nombre nuestro sin que podamos evitarlo.. 10.
(11) 3 NOCIONES SOBRE LA AUTENTICACIÓN CON HUELLAS DACTILARES A continuación presento una breve descripción de los sistemas biométricos basados en huellas dactilares que debe servir para entender cuales son las alternativas existentes y cuales son los problemas principales que deben afrontarse. En el siguiente capítulo se presentarán los algoritmos y soluciones a los problemas que se presentan a continuación.. 3.1 AFIS Y AFAS Los sistemas que utilizan huellas dactilares como sistema de control biométrico se dividen generalmente en dos grupos que comparten problemas comunes pero que tienen objetivos y procedimientos diferentes. Los sistemas AFIS (Automatic Fingerprint Identification System) intentan saber quién es una determinada persona a partir de una huella. Esta tarea no siempre es sencilla de realizar y esto se ve con una pregunta equivalente en español que a cualquiera le sonaría muy poco precisa: “¿Cuáles personas tienen huellas parecidas a esta huella que tengo acá?”. Es necesario entonces en un AFIS establecer un mecanismo para decir cuales huellas se parecen a cuales, cuánto se parecen y cómo se hace para buscar las huellas parecidas. Dado que no se sabe nada sobre el dueño de la huella, ésta es el único dato que se tiene para buscar dentro de la base de datos. Se tienen que encontrar mecanismos para hacer que tal búsqueda sea rápida pero que no deje por fuera a ningún posible candidato. De manera formal lo que se quiere es que dada una imagen obtenida de una huella dactilar (muestra o sujeto) y un conjunto de imágenes de huellas dactilares (universo) se encuentren los elementos del conjunto que sean más parecidos a la imagen dada según una determinada métrica. Esta métrica debe ser definida de forma que sirva para discriminar imágenes de diferentes huellas y puede basarse en diferentes características de la huella: minucias, estructura general, distancia entre núcleo y delta, etc. Por el contrario, los sistemas AFAS (Automatic Fingerprint Authentication System) no tienen este problema de búsqueda puesto que la llave que identifica a la huella no es parte de la huella. En estos sistemas lo que se busca es que, dada una huella y un número (o cualquier otra cosa que identifique con precisión a una persona), se decida si la huella pertenece a la persona o no: “¿Es esta la huella de Pedro Pérez?” o “¿Realmente es Pedro Pérez quien dice ser?”. Acá lo razonable sería entonces buscar la huella de Pedro Pérez que está almacenada en el sistema (usando como llave la información sobre la persona) y después compararla con la huella suministrada para decidir si se parecen lo suficiente o no. Respecto a un sistema AFIS, acá se eliminó el problema de búsqueda, pero sigue el de decidir qué tanto se parecen las dos huellas. Como ya se dijo, aparece el problema de saber qué tan aceptable es un determinado valor de “similitud” y cómo aceptar o rechazar a las personas basado en esta tolerancia. En el caso de los AFAS lo que se quiere, formalmente, es que dada la imagen de una huella cualquiera (muestra) y un conjunto de imágenes.
(12) tomadas de la misma huella (modelos), se pueda saber si la similitud entre la muestra y los modelos es superior a una cierta tolerancia, permitiendo así concluir que la imagen pertenece o no a la misma huella que los modelos. Tanto AFAS como AFIS tienen problemas relacionados con el hecho de que el problema es inherentemente difuso y que no es sencillo tomar decisiones tajantes basado en estos datos. El objetivo de esta tesis será producir un sistema AFAS, por lo cual será necesario estudiar los métodos para determinar qué tanto se asemejan un par de huellas y también estudiar cómo aceptar o rechazar huellas basado en la métrica específica que se haya definido.. 3.2 LOS PROBLEMAS DE LAS HUELLAS DIGITALES Sea en sistemas AFIS o AFAS el uso de huellas digitales requiere generalmente que se traten problemas similares. Los que se presentan a continuación no son los únicos y representan una forma particular de estudiar la información contenida en las huellas. Se pueden utilizar métodos que no tienen en cuenta las minucias (como FingerCode) o incluso otros que utilizan únicamente la información sobre la distribución de los surcos. En la bibliografía consultada la mayoría de estudios se hacen usando detección de minucias. Considero que sería conveniente hacer un sistema basado en esta técnica debido a la información disponible sobre las ventajas y problemas que presenta. Además, la disponibilidad de datos sobre el rendimiento de aplicaciones basadas en esta técnica puede ser muy útil para comparar el rendimiento de la aplicación que será desarrollada. 3.2.1 Captura y Procesamiento de la Imagen Inicialmente todas las huellas son una imagen, ya sea que haya sido capturada con un escáner a partir de una imagen en papel o que haya sido leída con un dispositivo apropiado para sacar la información del dedo mismo. La imagen sin embargo necesita un cierto nivel de procesamiento para que la información obtenida sea útil.. 12.
(13) Figura 4 - Ejemplo de una imagen sin procesar y después de aplicarle el filtro de Gabor. El procesamiento generalmente tiene como objetivo identificar qué partes de la imagen corresponden efectivamente a la huella y cuales son elementos extraños y posteriormente tratar la imagen de la huella para que la información sea menos ambigua. Por ejemplo el grosor de las crestas generalmente no es importante, por lo cual se procesa la imagen hasta lograr que cada cresta tenga solamente un pixel de ancho. Esta imagen “vectorizada” se puede analizar más fácilmente para encontrar las características que hacen única a cada huella. Una parte importante del procesamiento es la eliminación de ruido e impurezas de la huella. Esto en la mayoría de los casos es muy difícil de solucionar puesto que se debe establecer qué hace parte de la huella y qué es realmente ruido. Una limpieza demasiado conservadora no aportaría nada al análisis de la imagen mientras que una limpieza demasiado drástica podría eliminar importantes partes de la huella. 3.2.2 Identificación de los campos de direcciones Un paso que generalmente se hace es obtener un mapa del campo de direcciones dentro de la huella, de tal forma que se pueda saber en cada punto cual es la dirección de las crestas que pasan por ahí. Este problema puede llegar a ser muy complicado porque generalmente los algoritmos utilizados se ven fuertemente afectados por la presencia de ruido, arrugas y marcas en la imagen original, que pueden parecer características de la huella original si no se realiza un pre-procesamiento adecuado antes de buscar el campo de direcciones. La identificación de los campos de direcciones es un paso necesario para realizar otras tareas, como la identificación del Núcleo y el Delta o la clasificación en una de las clases de Henry.. 13.
(14) 3.2.3 Identificación del Núcleo y el Delta A pesar de tener ya una imagen vectorizada y el campo de direcciones, generalmente es necesario tener algún punto de referencia para poder calcular medidas sobre la imagen. Para esto, cuando es posible se intentan encontrar dos puntos particulares que un gran porcentaje de las huellas tienen: el núcleo (core) y el delta.. Figura 5 - Ejemplo del núcleo y delta de una huella. En estas imágenes la marca roja identifica al núcleo y la azul el delta. Tomado de http://fdvitale.free.fr/classes.html. El núcleo es el punto más alto de la cresta más interna de la huella y generalmente se encuentra cerca al centro de esta. Incluso cuando no está cerca al centro se puede tomar como si fuera el centro para convertirlo en un punto de referencia útil. En el delta se unen dos crestas que venían en direcciones opuestas y se convierten en una sola que rodea al núcleo. El delta no es tan útil por sí solo, pero en unión con el núcleo constituyen un mecanismo muy bueno para poder referenciar cualquier punto dentro de la huella. Sin embargo el delta presenta generalmente muchos problemas para su identificación cuando la huella no es muy buena, puesto que su definición no es demasiado precisa y muy frecuentemente puede haber “basura” que genere configuraciones de crestas similares a la del delta. Otro problema relacionado con el delta es que con mucha frecuencia no aparece en las impresiones de las huellas debido a que se encuentra alejado del sitio donde se hace más presión. Debido a esto no se puede garantizar que siempre se encontrará un delta en una huella, y por esto no puede ser utilizado como un punto de referencia absoluto en todos los casos. 3.2.4 Identificación de Minucias Una de las técnicas más comunes para comparar huellas digitales es usar las minucias que se encuentran sobre las crestas. En general se trabaja con el supuesto de que no existen dos personas que compartan el mismo conjunto de minucias, por lo cual pueden ser utilizadas tanto para identificación como para autenticación. Una minucia es una característica de una cresta que en un punto deja de ser una única línea. Las minucias pueden ser bifurcaciones, terminaciones, islas (la cresta se abre en dos y 14.
(15) vuelve a cerrarse casi en seguida) o puntos. Generalmente se utilizan solamente los dos tipos que son más fácilmente identificables: terminaciones y bifurcaciones. Esto es debido a que como las minucias son relativamente pequeñas respecto al resto de la imagen, es mucho más fácil que elementos extraños creen falsas minucias. Por ejemplo, sería imposible reconocer un punto de ruido de un punto que se deba a una cresta muy corta.. Figura 6 - Tipos de Minucia – Tomado y modificado de http://cnx.rice.edu/content/m12574/latest/. Para contrarrestar este problema después de identificadas las minucias en la imagen se aplican algoritmos específicos para validar las diferentes minucias e intentar que solamente queden las que son verdaderas. Por supuesto estas técnicas no son infalibles y pueden eliminar minucias que hagan parte de la huella digital original y dejar minucias falsas. 3.2.5 Emparejamiento de minucias Poder encontrar las minucias reales en una huella digital no es sino una parte del problema. Después es necesario encontrar una forma de comparar las minucias de la nueva huella y las minucias de la huella almacenada para poder determinar qué tanto se asemejan las distribuciones de minucias.. 15.
(16) Figura 7 - Ejemplo de Alineamiento de dos huellas. Tomada de [1]. En un ambiente perfecto, donde las imágenes tuvieran siempre la misma calidad y el dedo se apoyara siempre en la misma posición y con la misma presión sobre el lector, este no sería un problema. La realidad es que estas situaciones pueden presentarse y ocasionar diferentes problemas que deben ser enfrentados cada uno con métodos específicos. La variabilidad en la calidad en las imágenes causa los problemas explicados en el punto anterior: puede haber minucias falsas y puede que minucias reales sean eliminadas. Esto solamente puede ser resuelto completamente garantizando que la calidad de las imágenes sea óptima siempre. Como el dedo no siempre se apoya en la misma posición sobre el lector, los mapas de minucias encontrados pueden estar rotados y trasladados respecto a la imagen almacenada. Esto no sería tan grave si no existiera el problema de la posible falta de minucias, pero lo que se puede hacer es utilizar el delta y el núcleo para obtener una orientación y posición única. Sin embargo, también es posible que el núcleo y el delta no se encuentren siempre en la misma exacta posición y por esto es necesario que los algoritmos estén preparados para enfrentar un cierto grado de variabilidad en las posiciones. El peor caso sería que no pudiera encontrarse el delta en la imagen, por lo cual se tendría que recurrir a otras técnicas para encontrar la orientación correcta de la imagen. El último problema en la toma de las imágenes es que al ser variable la presión que hace el dedo sobre el lector puede haber deformaciones no lineales sobre la huella: algunos sectores se pueden expandir mientras que otros se reducen. Esto hace que lo dicho anteriormente sobre alinear las minucias usando únicamente el núcleo y el delta sea bastante complicado en la realidad. Es por esto que los algoritmos tienen que tener siempre 16.
(17) en cuenta la variabilidad no lineal y ofrecer márgenes de tolerancia que permitan emparejar minucias que no están exactamente en el mismo lugar. 3.2.6 Evaluación Después de intentar emparejar las minucias, es necesario establecer qué tan similares son los mapas: hay que establecer métricas adecuadas que sirvan para medir esta similitud. Posteriormente hay que decidir qué tan parecidos deben ser los mapas según esa métrica para que se acepte que las huellas son las mismas. Esta parte probablemente depende de la implementación específica que se haga y no se pueden tener en cuenta los resultados encontrados en la bibliografía. 3.2.7 Almacenamiento y búsqueda Finalmente es necesario almacenar las huellas de tal forma que se puedan buscar y usar posteriormente. Para un sistema AFAS la información almacenada debe ser la información sobre las minucias más un identificador externo a la huella que sirva para identificar cada una de las huellas. La búsqueda se debe realizar rápidamente usando este índice externo para después hacer la comparación y decidir si las huellas coinciden o no. Sobre un sistema AFIS, al no tener un identificador externo a la huella, es necesario poder hacer una búsqueda rápidamente sobre las huellas y encontrar aquellas que son similares.. 3.3 DESCRIPCIÓN DE UN SISTEMA AFAS Como se dijo antes, cuando una persona va a autenticarse con un sistema AFAS utiliza un segundo método de identificación y luego el sistema verifica que tanto este como la huella corresponden a la misma persona. Por ejemplo, para ingresar a un sistema puede ser necesario indicar un nombre de usuario y una contraseña además de la huella digital: si otra persona intenta atacar el sistema, es bastante improbable que logre obtener la contraseña y una huella similar a la del usuario al que corresponde la contraseña. Dada una huella en un sistema AFAS, el número de modelos con el cual debe compararse la huella es relativamente reducido, puesto que ya se sabe a quién debería corresponder. Esto hace que los sistemas AFAS puedan ser más estrictos que los AFIS y que los valores de las medidas de distancia entre huellas sean más significativas. Mientras que la respuesta de un sistema AFIS es "la huella se parece a las del sujeto A en un x% y a las de B en un y%", la respuesta de un AFAS debe ser "La huella corresponde al sujeto A" o "La huella no corresponde al sujeto A". 3.3.1 Partes de un AFAS Un sistema AFAS completo incluye una gran cantidad de elementos que permiten que sea utilizable. El principal componente debe ser el sistema de autenticación: un sistema tal que dada 17.
(18) una huella digital y una información adicional sobre quién pretende ser la persona, pueda decidir si los dos datos concuerdan o no. Este componente debe incluir un sistema de procesamiento de imágenes que convierta los datos recibidos del lector en información útil para la identificación. También es necesario que el sistema obtenga los modelos almacenados de los diferentes sujetos y que realice una comparación para decidir en qué medida la huella corresponde a dichos modelos. Finalmente este componente debe decidir si la comparación ha sido exitosa o si debe ser rechazada, basado en unos parámetros de tolerancia que hacen parte de la configuración del sistema. El sistema también debería permitir almacenar y procesar la información sobre las huellas. Para el proceso de almacenamiento es necesario que tanto los lectores utilizados como los sistemas de procesamiento de las huellas sean similares a los que se usan normalmente para la autenticación. Es necesario también que de alguna forma se garantice la consistencia, calidad y seguridad de los modelos almacenados: si las huellas que se toman como modelos son de una muy mala calidad, la efectividad del sistema se verá necesariamente reducida. Aunque no es imprescindible, un sistema AFAS también debería incluir un sistema de estadísticas que le permita a quien administra el sistema tener un control sobre el rendimiento del sistema. Para realizar la autenticación sin importar las técnicas utilizadas hay que configurar una gran cantidad de parámetros que determinan la tolerancia que se tendrá para aceptar problemas y deformaciones en las huellas. El tener una herramienta de análisis permitiría cambiar los parámetros de configuración de la aplicación para adaptarlos a la población real que la utiliza y volver el sistema más o menos estricto según se requiera. 3.3.2 Modelos Como se dijo antes, la efectividad de un sistema AFAS depende de la calidad de los modelos. Si los modelos almacenados son de una baja calidad, la tolerancia del sistema deberá ser alta y por ende disminuirá su efectividad y aumentarán los Falsos Negativos y Falsos Positivos1. Por el contrario, si los modelos almacenados son de una buena calidad, las comparaciones que se realicen podrán ser más exigentes y la aplicación se podrá configurar con unos niveles de tolerancia superiores que garanticen una mejor seguridad. El número de modelos exigidos por cada sujeto varía para cada sistema. Mientras que en algunos documentos sugieren tener alrededor de 10 modelos por cada huella, en algunos bancos que ya implementan este tipo de sistemas registran solamente dos modelos cuando una persona abre una cuenta. Igual que todas las otras variables en los sistemas AFAS, el número de modelos puede afectar la efectividad del sistema. Si el número es relativamente alto, entonces aumenta la probabilidad de que todas las características importantes de la huella estén presentes en los 1 Falsos Negativos se refiere a los casos en los cuales el sistema rechaza a una persona que se identificó correctamente con su huella y su identificación adicional. Falsos Positivos se refiere a los casos en los cuales el sistema autoriza incorrectamente a una persona aunque su huella no corresponda a los modelos almacenados. Mientras que en el primer caso a una persona autorizada en el sistema se le está negando el ingreso y probablemente pueda solucionar el incidente con los administradores del sistema, en el segundo caso está ocurriendo una violación a la seguridad del sistema que difícilmente podrá ser detectada.. 18.
(19) modelos. También es muy probable que una huella incompleta sea bastante similar a varias de las huellas almacenadas. Todo esto haría que con un número alto de huellas aumente la probabilidad de que una huella correcta sea autenticada. Sin embargo también puede suceder lo contrario: puede haber muchos modelos muy diferentes a la huella y sólo unos pocos muy similares, por lo cual la huella sería rechazada incorrectamente. Además, al aumentar el número de modelos (muchos de ellos incompletos) aumentan también las posibilidades de que huellas incorrectas sean autenticadas erróneamente. En los casos en los que se tienen pocos modelos el sistema también puede volverse muy restrictivo o muy permisivo. Si solamente hay un modelo con el cuál se puede comparar, cuando se presente una huella que haya quedado incompleta, que sea, por ejemplo, el 30% del modelo, aunque esta huella sea correcta tiene buenas posibilidades de ser rechazada porque en el mejor de los casos va a tener un puntaje de proximidad del 30%. Esto podría solucionarse utilizando una métrica que mejore los puntajes si una parte de la huella es muy similar al modelo, así el resto sea diferente. Ahora bien, esto llevaría a que una huella incorrecta que tuviera una parte que coincidiera muy bien con el modelo sería aceptada incorrectamente. Hay otra ventaja de tener varios modelos, cuya aplicación se presentará más adelante. Como toda toma de una huella dactilar tiene una deformación que cambia levemente la ubicación relativa de las minucias, al tener varios modelos se puede obtener información sobre las deformaciones posibles que puede sufrir la huella de una persona en particular y después utilizar estos datos para determinar cuales deformaciones pueden ser posibles y cuales no. En el caso de un dedo gordo, por ejemplo, la variabilidad de las deformaciones puede ser mucho mayor que en un dedo muy delgado, por lo cual sería deseable que la tolerancia fuera mayor en el caso gordo para evitar un gran número de falsos negativos. Si se cuenta sólo con algunos pocos modelos, la información sobre las deformaciones tal vez esté muy incompleta y no se pueda aprovechar. La decisión sobre el número de modelos que deben tenerse depende del rendimiento real del sistema y de los lectores utilizados: si estos obtienen siempre imágenes casi completas de las huellas, no se presentarán problemas debido a imágenes incompletas; si los lectores casi siempre obtienen pedazos reducidos de la huella, entonces será necesario tener los modelos adecuados para lidiar con este problema. De ahí la importancia de que los sistemas que se usen para registrar a los usuarios autorizados sean similares a los usados durante la autenticación. Sea cual sea la alternativa que se tome (muchos o pocos modelos) es necesario que estos modelos almacenados tengan una gran calidad para que no comprometan la efectividad del sistema. 3.3.3 Problemas de seguridad Como en cualquier sistema de seguridad, la seguridad misma del sistema debe ser una prioridad. En este caso el sistema AFAS además de garantizar la correcta autenticación de los sujetos, debe garantizar la coherencia de los datos almacenados: si la información se corrompe, la efectividad de todo el sistema se verá comprometida. Si la información sobre los modelos se almacena internamente a la aplicación la 19.
(20) responsabilidad sobre los datos recae sobre el AFAS mismo. En cambio, si el sistema de almacenamiento que se utiliza es externo (por ejemplo una base de datos relacional) la consistencia y seguridad de esta información deberá ser garantizada también por el motor mismo y el administrador de la base de datos. La responsabilidad de los AFAS en general respecto a la consistencia de la información se limita entonces a garantizar que lo que se registra en la base de datos es confiable. Para esto es necesario que la información que almacena sobre los modelos sea siempre correcta y esto sólo puede garantizarse utilizando algún otro medio de identificación en el momento del registro de los modelos. Para esto es necesario que haya operadores autorizados y que estas personas sean las únicas que habiliten a una persona para que ingrese su información al sistema, previa identificación por parte del operador.. 20.
(21) 4 ELEMENTOS DE LA AUTENTICACIÓN En las siguientes secciones se describen los elementos necesarios para realizar la autenticación usando huellas dactilares. Los problemas presentados muestran el procesamiento que se realiza sobre una huella desde que es capturada hasta que se decide si es auténtica. Para cada uno se presentan algoritmos existentes que sirven para resolver el problema y seguir adelante con el procedimiento de autenticación.. 4.1 EL PROBLEMA DEL PROCESAMIENTO DE LAS HUELLAS Cada tipo de lector logra obtener imágenes diferentes de las huellas digitales según sea la tecnología que utilice. Hay varios factores que pueden afectar la calidad de las imágenes y hacer más o menos fácil la detección de las características particulares buscadas. Los algoritmos utilizados para mejorar las imágenes deben entonces ser bastante generales o bien adaptarse a cada uno de los dispositivos. Lo ideal es que las características evidentes se conserven y se corrijan los errores para obtener así información adicional.. Figura 8 - Imágenes sin procesar obtenidas usando un lector de estado sólido a partir de la misma huella. Tomadas de la base de datos de FVC2002. La bibliografía consultada, en especial [2] y [3], presenta un algoritmo compuesto por 5 pasos que permite recuperar gran parte de la información perdida en una imagen y descartar definitivamente las secciones demasiado deterioradas como para tener información recuperable. Hay una característica que se mantiene a lo largo de todas las etapas: el procesamiento se realiza en bloques cuadrados mucho más pequeños que la imagen (generalmente de 16.
(22) pixeles de lado). Esto permite reducir el número de cálculos y obtener información adicional por sectores de la huella. La notación utilizada para explicar el proceso de mejora de las huellas es la siguiente: G i , j: La intensidad de la imagen inicial en la posición i , j i , j: La orientación del bloque centrado eni , j F i , j: La frecuencia calculada del bloque centrado eni , j E i , j: La intensidad en la imagen corregida con el filtro de Gabor en la posicióni , j 4.1.1 Normalización El primer paso que generalmente se realiza es una normalización de las imágenes. Esto permite homogenizar el color del fondo y acentuar las diferencias entre las crestas y los valles de la huella. Después de realizada la normalización se realiza también una verificación por bloques que permite descartar aquellos que no contienen información significativa porque son de un color casi uniforme: generalmente esto sucede en los bloques que no tienen una parte de la huella sino solamente del fondo. Para realizar la normalización lo primero que se debe hacer es calcular el promedio ( M ) y la varianza (VAR) de la imagen completa. Generalmente se trabaja con imágenes en escala de grises con valores entre 0 y 255, así que la media debe estar dentro de este rango. Después, teniendo los valores de la media y la varianza, se realiza una operación sobre cada pixel de forma que la imagen tenga ahora media M0 y varianza VAR0. Empíricamente los valores utilizados son M0 = 100 y VAR0=5000. Aunque la bibliografía consultada generalmente sugiere VAR0=100, en la implementación que se realizó este valor llevaba a imágenes con muy poca información. La fórmula utilizada para calcular la nueva intensidad para el pixel ubicado en la posición (i,j) es:. {. . VAR0 I i , j −M 2 M0 , si I i , j M VAR G i , j= 2 VAR0 I i , j−M M0− , en otro caso VAR Después de haber normalizado la imagen se realiza un segundo cálculo de la media y la varianza, pero esta vez se realiza para cada bloque. Esto permite saber cuales no contienen mucha información puesto que son de tonos bastante homogéneos. Para los bloques que contienen información de la huella se espera que las diferencias entre las crestas y los valles sean suficientemente altas después de la normalización. De no serlo es porque el bloque contenía solamente información del fondo de la imagen o de un sector muy uniforme que no sirve para obtener información de la huella. El valor mínimo establecido para esta varianza generalmente es de 100. Es importante notar que el tamaño de los bloques (16x16) y el ancho de las crestas y valles (10 pixeles2) hace que dentro de un bloque se encuentre 2 Este número se encontró empíricamente en la bibliografía para imágenes de 500 x 500 pixeles a 500. 22.
(23) generalmente por lo menos una zona oscura y una clara.. Figura 9 - Esta imagen muestra las dos huellas de la Figura 8 después de ser normalizadas. 4.1.2 Campo de Direcciones El campo de direcciones se calcula mirando para cada bloque la dirección en que se encuentra el máximo cambio en la intensidad de los puntos. Una vez que se tiene la dirección aproximada para cada bloque se aplica un filtro de suavizado y se obtiene un mapa para toda la imagen. Encontrar un campo de direcciones preciso es muy importante puesto que es la base para el resto del procesamiento. Saber qué orientación tienen las crestas en cada parte de la imagen también puede servir para hacer un análisis de la estructura general de la huella y encontrar información adicional que puede ser usada para comparar con otras huellas sin necesidad de utilizar las minucias. Un ejemplo de esto es la clasificación en las 5 clases de Henry ([4]). El primer paso para calcular el campo de direcciones consiste en calcular el gradiente δ para cada punto de la imagen utilizando, en este caso, un operador de Sobel3. Esto se realiza usando una ventana de 3 x 3 y así se obtiene información sobre cómo está cambiando la intensidad de los pixeles vertical y horizontalmente. A continuación se debe calcular la orientación de cada bloque usando la información de los gradientes de los puntos que componen el bloque. Para cada bloque cuadrado de lado w centrado en (i,j) se calcula la orientación θ usando las siguientes fórmulas. puntos por pulgada (dpi). 3 Para esta tésis se utilizó la implementación del cálculo del campo de direcciones realizada anteriormente en [5].. 23.
(24) i. '=. w 2. i. ∑. w u=i− 2 w i 2. ' '=. ∑. w 2. ∑. sin 2 . ∑. cos2 . w v=i− 2 w i 2. w u=i− 2. w v=i− 2. ' 1 = tan−1 2 ' ' Aplicando estas formulas se puede obtener una aproximación al campo de direcciones correspondiente a la imagen.. Figura 10 - Ejemplo del campo de direcciones calculado sobre las huellas de la Figura 8. Sin embargo, los ángulos encontrados hasta el momento son muy susceptibles a pequeños problemas de la imagen. En particular en los sitios donde se encuentran minucias de la huella es muy posible que la orientación encontrada sea muy diferente a la real. También en aquellos sitios donde hay mucho ruido el algoritmo presentado no funciona muy bien. Es por esto que después de haber calculado la orientación de cada bloque, se realiza un suavizado del campo de direcciones para que la orientación de cada bloque sea compensada por la de sus vecinos. Esto se realiza primero en vecindades de 3 x 3 bloques y luego de 5 x 5 bloques para lograr un mejor suavizado. Las fórmulas para el suavizado son iguales que las usadas para encontrar el ángulo original, pero no se calculan usando el gradiente de cada uno de los puntos del bloque sino la orientación de los bloques de la vecindad.. 24.
(25) Figura 11 - Ejemplo del campo de direcciones suavizado calculado sobre las huellas de la Figura 8. 4.1.3 Campo de frecuencias Al finalizar el paso anterior se cuenta con la información de la orientación para cada uno de los bloques en los que se divide la imagen y se procede a calcular cuál es la frecuencia (o la longitud de onda) de las crestas y los surcos. Si no se cuenta con información adecuada sobre el campo de direcciones este cálculo no se puede hacer bien puesto que no calcularía la frecuencia correcta. El procedimiento para calcular la frecuencia de un bloque consiste en calcular la "XFirma" dentro de una ventana orientada4. La "X-Firma" es el resultado de hacer una proyección sobre el eje X de una ventana y hacer una suma ponderada. La ventana utilizada está centrada en el punto central del bloque que se está analizando, pero su tamaño es el doble del lado del bloque en la dirección indicada por el campo de orientación del bloque. Esto se ve claramente en la siguiente figura. Para realizar los cálculos se utiliza una transformación del eje de coordenadas (x, y) a (u, v) y se recorre toda la ventana de tamaño l x w para calcular l valores diferentes para la "XFirma". En las siguientes fórmulas 'w' es el lado de los bloques y 'l = 2w' es la longitud del lado de la ventana paralelo al vector de orientación del bloque. Θ(i, j) es la orientación del bloque centrado en (i,j).. 4 [3], pág 19. 25.
(26) Figura 12 - Cálculo del campo de frecuencias usando una ventana orientada. Tomada de [2] w−1. 1 ∑ G u , v , para k =0,1, , l−1 w d =0 w l u=id − cos i , jk − sin i , j 2 2 w l v= jd − sin i , j −k cosi , j 2 2 X [ k ]=. Una vez se tiene la "X-Firma" para el bloque, se procede a buscar los máximos y mínimos para intentar calcular la longitud de onda. En [3] sugieren aplicar un filtro Gaussiano sobre estos datos para eliminar máximos y mínimos que no corresponden a crestas y valles. Es posible que el procedimiento anterior no haya permitido encontrar la frecuencia para algunos bloques, así que estos se marcan con frecuencia = -1. También aquellos que tienen frecuencia por fuera del rango [1/25, 1/3]5 son marcados con frecuencia = -1. Finalmente sobre el mapa de frecuencias se aplica un filtro pasa-bajos que sirve para disminuir las variaciones dentro de una vecindad y eliminar información incorrecta. En particular este filtro se aplica de forma que los bloques que quedaron marcados con -1 puedan tomar un valor válido. 4.1.4 Segmentación El filtro de Gabor es una operación que requiere una gran cantidad de cálculos, por lo cual este es el mejor momento para segmentar la imagen y descartar las partes de las que no 5 Estos valores también fueron determinados empíricamente en la bibliografía. Corresponden a crestas desde 3 hasta 25 pixeles de ancho pero, como ya se ha dicho, lo esperado es que el ancho sea de 10 pixeles.. 26.
(27) se puede recuperar información. Como ya se dijo, el primer paso en la segmentación se realiza durante la normalización y sirve básicamente para separar el fondo de la imagen del resto de la huella. El mapa de direcciones y el mapa de frecuencias también permiten filtrar partes de la imagen que están muy deterioradas, puesto que esto se ve reflejado en las frecuencias y orientaciones calculadas. Este procedimiento requiere el procesamiento y análisis de una gran cantidad de imágenes para determinar cuáles rangos de orientación y frecuencia pueden ser considerados aceptables y cuáles deben ser rechazados. Sin embargo esto requiere una etapa de entrenamiento supervisado del sistema bastante prolongada y dispendiosa, 4.1.5 Filtro de Gabor Después de obtener la información sobre la orientación y la frecuencia en cada uno de los bloques, se aplica un filtro de Gabor sobre la imagen para mejorar la definición de las crestas. La idea es utilizar un filtro pasa-banda ajustado a la orientación y a la frecuencia de cada sección, de forma que se mejore la imagen de la huella y se elimine el ruido que contenga. La función de Gabor utilizada es la siguiente.. . 2 2 1 x y h x , y , , f =exp − 2 2x 2y. cos2 f x . con x =x sin y cos y = x cos − y sin . Para cada punto (i,j) en la imagen debe aplicarse esta función sobre una ventana de tamaño wg centrada en el punto y con esto se obtiene E, la imagen corregida. wg 2. Ei , j=. ∑. w u=− g 2. wg 2. ∑. h u , v ,i , j , Fi , j Gi−u , j−v. w v=− g 2. 27.
(28) Figura 13 - Ejemplo de imágenes después de aplicar el filtro de gabor. En estas funciones hay varios parámetros que deben ser calibrados según la implementación particular que se está haciendo. El valor de wg influencia principalmente el rendimiento del algoritmo: si se usan ventanas más grandes se deben realizar más cálculos, pero la información disponible para cada uno es mayor. Sin embargo empíricamente se puede comprobar que no siempre usar ventanas más grandes lleva a mejores resultados, puesto que los cambios en la frecuencia y la orientación pueden comenzar a acumularse. El valor para wg que se usó fue 11. El filtro de Gabor se obtiene con una composición de una función gaussiana orientada en una determinada dirección y de una onda sinusoidal afinada a la frecuencia del bloque. Los parámetros δx y δy determinan la desviación estándar de la función gaussiana en X y en Y y el valor que tomen influye en la calidad del filtro: si el valor es demasiado alto, entonces se remueve mucho ruido pero se pueden crear falsas crestas; si el valor es bajo entonces no se crean falsas crestas pero el filtro de ruido es menos efectivo. El valor de estas desviaciones puede estar en función de la frecuencia y se ha encontrado empíricamente que funcionan muy bien con un valor igual a la mitad de la longitud de onda [6]. Una modificación que se le puede hacer al filtro para que mejore su rendimiento es utilizar, además de la frecuencia y el ángulo por bloques, la fase. Esto implicaría que en la etapa del cálculo de la frecuencia se tendría que averiguar también el valor para la fase de la imagen. La fórmula para obtener el valor del filtro en cada punto sería entonces:. . 2 2 1 x y h x , y , , f , =exp − 2 2x 2y. cos2 f x . Después de aplicar el filtro de Gabor y de binarizar la imagen de alguna manera finaliza la etapa de procesamiento y limpieza de la imagen. A continuación lo que se hace es 28.
(29) intentar detectar características de la huella pero no se realizan mejoras adicionales a la imagen.. 4.2 IDENTIFICACIÓN DE NÚCLEO Y DELTA Como ya se dijo en la sección 3, el núcleo y el delta de una huella tienen definiciones muy precisas que en teoría pueden ser usadas para encontrarlos con precisión. En la realidad esto no siempre es posible y se presenta algunos problemas. En primer lugar el delta no siempre aparece en la imagen. Algunas veces esto se debe a que la huella no cuenta con un delta, pero otras es debido a que se encuentra relativamente alejado del punto del dedo donde generalmente se aplica la presión sobre el lector. Por el contrario el núcleo suele estar bastante cerca de este punto de presión. Estos problemas del delta hacen que el sistema deba estar preparado para enfrentar la ausencia del delta, o incluso ignorarlo por completo. En la implementación que se realizó del AFAS el delta no es utilizado. A pesar de que el núcleo se encuentra con una frecuencia mucho mayor en las imágenes de huellas digitales tampoco se puede contar con que siempre podrá ser encontrado con una precisión total. Por una parte, aunque la definición es bastante precisa, a veces es posible encontrar diferentes puntos en la huella que cumplen con las condiciones para ser núcleos. En particular, en algunos casos se puede ver que la parte inferior de un delta tiene las mismas características del núcleo de una huella que pertenezca a la clase de Henry de arco tendido6. Otro problema que se presenta es que la posición del núcleo es ambigua y no puede determinarse con precisión. Esto generalmente sucede porque los algoritmos se basan en la división en bloques de la imagen, por lo que se pierde información: algunas veces la parte superior de la cresta más interna tiene un ancho menor que el tamaño de los bloques o se encuentra precisamente en una división, por lo cual el núcleo es detectado sobre una cresta más externa. A pesar de estos problemas, los algoritmos existentes generalmente dan una aproximación consistente y aceptablemente cercana de la posición del núcleo. Esto permite además utilizar varios algoritmos en conjunto para tomar una decisión con más información sobre cual debe ser la posición del núcleo. Es importante que quede claro que la ubicación encontrada no es absoluta, por lo cual debe ser introducido un factor de tolerancia en los cálculos que se realicen posteriormente y que sirva para modelar la incertidumbre que existe sobre la posición real del núcleo. 4.2.1 Búsqueda del Núcleo A continuación se presentan dos algoritmos utilizados para buscar el núcleo de una huella. Aunque podrían refinarse y utilizarse por separado, el uso de ambos permite ubicar con mayor precisión la posición del núcleo. 6 La clase "arco tendido" es a la que pertenecen las huellas que tienen un núcleo que está conformado por crestas que entran y salen de la huella por lados opuestos.. 29.
(30) Índice de Poincaré. Una de las técnicas más utilizadas es el cálculo del índice de Poincaré. Dado un campo vectorial G y una curva C inmersa en G, el índice de Poincaré PG,C está definido como la rotación total de los vectores de G a lo largo de la curva C7. Tomando como G el campo de direcciones de una huella y los vectores como la orientación de cada uno de los bloques que rodean a un bloque específico, se puede calcular este índice para cada uno de los bloques que conforman una huella y que no están en los bordes de la imagen. Se puede demostrar que para curvas cerradas el índice de Poincaré toma solamente valores dentro del conjunto {0º, 180º, 360º, -180º} y cada uno de los valores puede servir para clasificar el punto. La Figura 14 muestra ejemplos de cada uno de los valores. El caso PG,C(i,j) = 0º indica que el punto no se encuentra sobre ninguna singularidad.. Figura 14 - Ejemplos del Índice de Poincaré. Tomados de [7]. Tomando los 8 puntos dk (k=0...7) la operación para calcular el índice se realiza de la siguiente manera. La dirección de d0 se toma tal como está. Para cada uno de los siguientes bloques la dirección se toma de forma que el valor absoluto de la diferencia entre el ángulo de dk y dk+1 sea igual o menor a 90º. Luego se calcula la siguiente sumatoria: 7. P G ,C i , j =∑ angulod k , d k1 mod 8 k =0. Como se dijo anteriormente, el uso del índice de Poincaré está muy extendido pero tiene algunos problemas por lo cual es necesario utilizar algoritmos adicionales para encontrar con mayor precisión el núcleo y tomar decisiones cuando se encuentran varios candidatos.. 7 [7], pág 97. 30.
(31) Figura 15 - En estas imágenes aparecen marcados los puntos que según el índice de Poincaré deberían ser considerados como candidatos a ser el núcleo de la huella.. Detección usando la pendiente. Un mecanismo propuesto en [8] y en [9] se basa también en el campo de direcciones pero no realiza verificaciones a nivel local. Suponiendo que en general el centro de cada uno de los arcos que compone las crestas está cercano al núcleo, se trazan líneas perpendiculares a las crestas en cada uno de los bloques. Esto equivale a tomar la dirección perpendicular a la calculada con el campo de direcciones y marcar cada uno de los bloques por los que pasa. Al finalizar el bloque que ha sido marcado más veces se asume que contiene el núcleo en su centro. Identificación del Núcleo. La integración entre los dos sistemas de detección del núcleo se realizó suponiendo que fuera siempre posible formar grupos de candidatos de Poincaré y seleccionar uno de ellos usando el punto de ayuda encontrado con el método de las pendientes. Se estudiaron diferentes métodos para realizar agrupamiento, pero ninguno fue satisfactorio. Algoritmos como "k-means" o el método de agrupamiento jerárquico, aunque proponen diferentes alternativas eficientes para encontrar los grupos, no pueden aprovechar la información que se tiene ni pueden asegurar que encuentren soluciones óptimas: la aplicación del algoritmo de Poincaré generalmente encuentra candidatos ubicados en grupos de 4, pero k-means no puede aprovechar esta información. Otro problema es que los puntos se encuentran todos en una cuadrícula establecida por los bloques, así que es muy fácil que un punto tenga a otros dos puntos exactamente a la misma distancia, creando así problemas puesto que se tienen que tomar decisiones sin tener mayor información. En este sentido el algoritmo de agrupación jerárquica tampoco funciona puesto que, aunque se podrían forzar los tamaños de los grupos, la probabilidad de que se formaran los grupos incorrectos sería muy alta. 31.
(32) En todo caso, cualquiera de los métodos propuestos corre el riesgo de llegar a un óptimo local y no global, haciendo que después el núcleo se fije en un punto intermedio entre dos grupos y no en el punto medio de uno de los grupos reales. El problema de los óptimos locales no se puede resolver fácilmente y la única solución vislumbrada sería introducir un elemento de aleatoreidad, haciendo que el sistema fuera no determinista. Debido a estos problemas, y teniendo en cuenta el número probable de candidatos por huella, se tomó la decisión de realizar una búsqueda exhaustiva de los posibles grupos, usando la hipótesis de que estos tendrían máximo 4 elementos y de que como máximo habría un número de grupos igual al techo de dividir el número de candidatos por 4. Esta alternativa, de fácil implementación, tiene la desventaja de que tiene una complejidad exponencial en el número de candidatos. Mientras que para 12 candidatos habría 531.441 (3^12) grupos (lo cual es calculable en un tiempo corto), para 16 candidatos el número de grupos posibles sería prohibitivo (4^16 4.294'967.296). Fue necesario incluir en el algoritmo decisiones radicales para tratar con problemas de este tamaño, pero teniendo en cuanta que los casos en los que estos problemas se presentan más es en aquellos donde las huellas pertenecen a la clase de Henry de huellas en espiral. En este caso es razonable suponer que los grupos de puntos encontrados se encuentran en sectores alrededor del núcleo, puesto que en varias partes se pueden cumplir las condiciones establecidas para el índice de Poincaré: el núcleo debería entonces encontrarse en la mitad de estos grupos.. 4.3 IDENTIFICACIÓN DE MINUCIAS La identificación de las minucias es una etapa muy importante para la autenticación, puesto que aquí es cuando se encuentran las características que serán utilizadas para comparar las huellas. Hay varias aproximaciones para encontrar las minucias de una huella y cada implementación define un conjunto de minucias que serán tenidas en cuenta. Generalmente las espuelas, puentes, islas y puntos son ignorados puesto que es muy fácil que el ruido de las imágenes cree falsas minucias de estos tipos; igualmente las bifurcaciones y terminaciones son tomadas como del mismo tipo puesto que unas son el negativo de las otras. En [5] se describe una implementación basada en redes neuronales para detectar las minucias. A partir de imágenes de minucias se entrenó una red para reconocer los bloques que las contuvieran. Sin embargo esta aproximación presenta algunos problemas puesto que es necesario entrenar la red con un número muy elevado de muestras clasificadas e implementar algún sistema que permita tener independencia de la rotación y grosor. En la implementación mencionada se presentaron problemas porque el conjunto de entrenamiento no fue lo suficientemente amplio, haciendo que fueran detectadas una gran cantidad de falsas minucias y que se ignoraran muchas minucias reales. Otras aproximaciones, como la implementada en esta tesis, se basan en el análisis de la imagen adelgazada. Para esto se filtra la imagen de forma que conserve su estructura pero haciendo que todas las líneas sean adelgazadas hasta llegar a un pixel de ancho. Luego, sobre esta estructura, se analizan los puntos donde posiblemente podría haber minucias en la imagen original. Sin embargo esta aproximación también tiene algunos problemas, por lo cual es necesario implementar un sistema que descarte las minucias que probablemente 32.
(33) sean falsas. En las siguientes secciones se presenta la explicación de estas tres etapas (adelgazamiento, detección de minucias y remoción de falsas minucias) de la forma en la que fueron implementadas. Hay que notar que la ubicación del núcleo es un factor muy importante para la ubicación de las minucias puesto que es el punto de referencia que sirve para establecer un eje de coordenadas. Al tener por lo menos un punto de referencia en común a todas las huellas, posteriormente el problema de alineamiento de las huellas se puede resolver más fácilmente. Lo ideal sería contar también con la posición del delta para tener un alineamiento absoluto, pero como ya se dijo esto en la mayoría de los casos no es posible. 4.3.1 Adelgazamiento Para realizar el adelgazamiento se utilizó la implementación hecha por Forero [5] del algoritmo de Stefanelli. No es la única implementación disponible, pero es muy rápida y produce resultados bastante buenos. Sin embargo tiene algunas debilidades que se hacen evidentes cuando hay zonas oscuras muy grandes con manchas claras en su interior, puesto que inevitablemente terminan convertidas en islas. 4.3.2 Detección de minucias Después de tener la imagen adelgazada hay que buscar las minucias que quedaron en el esqueleto. Según el algoritmo que se haya utilizado para adelgazar las terminaciones y bifurcaciones pueden presentarse de formas diferentes. Para esto se pueden caracterizar las minucias y después buscar todos los puntos que cumplen con estas condiciones. Un mecanismo bastante utilizado y muy eficiente es construir plantillas que corresponden a los posibles casos posibles para cada tipo de minucia. Generalmente estas plantillas son de 3 x 3 pixeles y están centradas en el punto que se quiere saber si es o no una minucia. Para poder realizar una búsqueda muy rápida de las minucias, en la implementación de esta tesis se generaron las plantillas que corresponden a los dos tipos de minucias aceptados y se les asignó un código que puede ser rápidamente calculado para cada una de las posiciones verificadas. Esto hace que para cada marca en la imagen se deba solamente calcular el código correspondiente y verificar que pertenezca a una de las listas de códigos asociados a minucias.. Figura 16 - Ejemplos de los códigos utilizados. 33.
(34) Figura 17 - Minucias detectadas (después de filtrar falsas minucias). 4.3.3 Remoción de Falsas Minucias El algoritmo presentado anteriormente para detectar las minucias realiza un excelente trabajo en el sentido de que encuentra un porcentaje muy alto de las minucias reales que hay en la huella. Sin embargo, debido a las características de los algoritmos de adelgazamiento y a los problemas en la calidad de las imágenes, también hay una gran cantidad de falsas minucias que son encontradas y que deben ser removidas para poder realizar la autenticación con suficiente precisión. Las posibles falsas minucias que se presentan pueden ser clasificadas, y para cada tipo es posible diseñar un filtro que ayude a removerlas, de forma que al final la mayoría de las que queden sean minucias reales de las que un especialista en dactiloscopía tendría presente en su análisis. Interrupciones. Uno de los problemas que se presenta con mucha frecuencia es que haya interrupciones en las crestas. Esto hace que en un sitio donde no debería haber minucias aparezcan dos 34.
Documento similar
Es importante mencionar, que en los últimos 5 años, China ha venido mostrando un gran avance en la industria textil y de la confección, ingresando en mercados como Europa,
A medida que las organizaciones evolucionan para responder a los cambios del ambiente tanto para sobrevivir como para crecer a partir de la innovación (Stacey, 1996), los
que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el
Para ello, trabajaremos con una colección de cartas redactadas desde allí, impresa en Évora en 1598 y otros documentos jesuitas: el Sumario de las cosas de Japón (1583),
Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun
The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,
El 17 de abril se celebraron las Jornadas de Orientación Profesional 2018 , dirigidas a los estudiantes de último curso de los Grados que se imparten en la Facultad así como a
Los días 23, 24 y 25 de marzo se celebraron las II Jornadas de Puertas Abiertas online, organizadas por los Vicerrectorados de Estudiantes y Relacio- nes Institucionales y con