• No se han encontrado resultados

Reconocimento y clasificación de minucias en huellas dactilares usando redes neuronales

N/A
N/A
Protected

Academic year: 2020

Share "Reconocimento y clasificación de minucias en huellas dactilares usando redes neuronales"

Copied!
42
0
0

Texto completo

(1)RECONOCIMIENTO Y CLASIFICACIÓN DE MINUCIAS EN HUELLAS DACTILARES USANDO REDES NEURONALES. CAMILO ANDRÉS FORERO VELANDIA Código: 199811467. Proyecto de grado para optar por el título de: Ingeniero de Sistemas. Asesor: Ing. RAFAEL ARMANDO GARCÍA. UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERÍA DEPARTAMENTO DE SISTEMAS Y COMPUTACIÓN BOGOTÁ D. C. 2004.

(2) Tabla de contenidos. INTRODUCCIÓN. 3. PREPROCESAMI ENTO DE LA HUELLA DACTILAR. 6. 1.. Selección y formato de las huellas dactilares. 7. 2.. Limpieza de la huella dactilar. 7. 2.1. Segmentación inicial de la huella dactilar. 2.2. Localización del núcleo y delta de la huella dactilar. 8 14. 2.2.1. Cálculo del campo de orientación. 14. 2.2.2. Estimación del núcleo y delta. 16. Binarización de la huella dactilar. 19. 2.3.1. Filtrado de la imagen dactilar. 19. 2.3.2. Binarización de la imagen. 22. 2.3.3. Adelgazamiento de la imagen. 22. 2.3. Sistema de reconocimiento de minucias. 24. 1. Análisis de componentes principales. 26. 2. Implementación, estructura y entrenamiento de la red neuronal. 27. 3. Reconocimiento de minucias. 32. 3.1 Resultados de experimentación. 34. Conclusiones. 38. Referencias Bibliográficas. 40. 2.

(3) INTRODUCCIÓN Los sistemas biométricos han sido durante los últimos años un tema de extensa investigación, fundamentado en la descripción de nuevas herramientas y estudios que ayuden a la correcta identificación de individuos y al adecuado manejo de la información que cada uno de los sistemas requiere. La identificación de individuos, basados en la huella dactilar, se ha convertido en una de las tecnologías biométricas más importantes y que ha generado una brecha de investigación recientemente (Jain Anil, Hong Lin, Pankanti Sarta and Bolle Ruud. (1997)). La huella dactilar se ha convertido en uno de los identificadores de mayor éxito frente a otras tecnologías biométricas existentes, por su alta fidelidad para establecer una correcta identificación de las personas. Los sistemas biométricos, que establecen su base en el análisis de huellas dactilares, pueden ser clasificados en dos grupos: Sistemas Automáticos de Autenticación con Huellas Dactilares, conocidos como AFAS (Automátic Fingerprint Authentication System) y los. Sistemas. Automáticos de. Identificación con Huellas Dactilares, conocidos como AFIS (Automatic Fingerprint Identification System). Cada uno de los sistemas requiere procesar información relacionada con la huella, derivada en la identificación de características intrínsecas de las mismas.. Las huellas dactilares describen patrones de crestas y valles, las cuales conforman el grupo de características de la huella. Este grupo puede ser, a su vez dividido en dos subgrupos: las singularidades y las discontinuidades o minucias.. 3.

(4) El subgrupo de las singularidades (Srinivasar V. S. & Murthy N. N. (1992).) están representadas por el núcleo, definido como el punto más alto del surco curveado que se encuentre más al interior de la huella y el delta definido como el punto donde tres flujos de surcos se encuentran, como se muestra en la figura.. Singularidades en la huella dactilar.. El subgrupo de minucias está representado por los rasgos asociados a las crestas de cada una de las huellas, en cuanto a su forma y dirección. Para cada una de las minucias se define su tipo, posición y orientación, lo que hacen que sean utilizadas como método de autenticación fiable, por sistemas de reconocimiento dactilar. Los tipos de minucias puede ser observado en la figura.. 4.

(5) Principales tipos de minucias reconocibles en la huella.. Este trabajo pretende realizar un reconocimiento de algunos de los tipos de minucias, basados en reconocimiento de patrones que estos tipos de minucias puedan describir, usando redes neuronales para el proceso de reconocimiento, la extracción y clasificación. Este proceso de identificación, es acompañado de un trabajo previo de preprocesamiento de la huella, con el objetivo de alcanzar la mejor calidad posible, derivando en una mejor clasificación de las minucias y una adecuada comparación en sistemas de identificación posteriores.. 5.

(6) PREPROCESAMIENTO DE LA HUELLA DACTILAR Las diversas metodologías de reconocimiento y clasificación de diferentes tipos de minucias, enunciadas anteriormente, exigen un procesamiento previo de la imagen asociada a la huella dactilar. Por lo general estos algoritmos emplean tiempos grandes de procesamiento, lo que hace que se busque equilibrios entre el tiempo que se utiliza y la calidad de procesamiento.. Los Sistemas Automáticos de Identificación de Huellas Dactilares, conocidos como AFIS (Automatic Fingerprint Identification System), extraen un vector de información intrínseca a la huella, para luego ser indexada y almacenada, por lo general en una base de datos. Este procedimiento se realiza una vez, para cada una de las huellas analizadas, es decir, el preprocesamiento de la imagen y el tiempo que se emplea para este, solo se hace una vez, lo que implica que se pueda enfatizar en los algoritmos que este proceso necesite. La información intrínseca a la huella, se sustenta en el reconocimiento de las características que la puedan identificar de forma univoca. Esta información está basada en las minucias que pertenecen a la huella dactilar, pero que su éxito en el reconocimiento de estas, por un sistema de identificación se fundamenta en la calidad que presente la huella dactilar, debido a que pequeñas distorsiones en la imagen pueden llegar a realizar una clasificación y posterior comparación entre huellas, de forma errónea. Es por esto, que un adecuado preprocesamiento se convierte en la base del reconocimiento de las minucias y por ende el adecuado funcionamiento de las redes neuronales, en su clasificación posterior.. 6.

(7) 1. Selección y formato de las huellas dactilares Las imágenes seleccionadas para realizar pruebas de procesamiento y posterior entrenamiento de las redes neuronales, provienen de la base de datos NIST-14, la cual es administrada por el Instituto Nacional de Estándares y Tecnología de Estados Unidos, NIST (National Institute of Standards and Technology). Las huellas dactilares fueron seleccionadas de forma aleatoria, del segundo volumen de la base de datos. Esta muestra se considera apta para realizar desarrollo y pruebas de sistemas de clasificación y búsqueda automática en huellas dactilares, debido a su aproximación en la distribución natural de las diferentes clases según el Centro Nacional de 1 Información para el Crimen, NCIC (National Crime Information Center) .. El segundo volumen de la base de datos NIST-14 cuenta con 13500 imágenes de huellas dactilares, clasificadas según las clases descritas por el NCIC dadas por el FBI. Cada una de las imágenes tiene dimensiones de 832 x 768 píxeles y han sido escaneadas a una resolución de 19.7 píxeles por mm en una escala de grises de 8 bits. Las imágenes seleccionadas tienen niveles de calidad variables, es decir, presentan objetos ajenos a la huella dactilar, como son firmas, impresiones de letras, líneas o marcaciones, las cuales hacen que sea necesaria una previa limpieza de la imagen para obtener el aislamiento de la huella.. 2. Limpieza de la huella dactilar Cada una de las imágenes contenidas en la base de datos del NIST-14 presentan diferentes niveles de calidad, asociado a la presencia de objetos 1. NIST Special Database 14. NIST Mated Fingerprint Card Pairs 2 (MFCP2). NIST Scientific and Technical Databases. NIST National Institute of Standards and Tachnology http://www.nist.gov/srd/nistsd14.htm. 7.

(8) ajenos a la huella dactilar y a la aparición de manchas borrosas al interior de la huella. Este aspecto hace necesario realizar un procesamiento inicial de la imagen, en el cual se aísla la huella dactilar y posteriormente se busca realizar un realce en la diferenciación de las crestas y valles, haciendo que las manchas borrosas sean minimizadas y se puedan identificar la mayor cantidad de características. Este proceso se inicia con la extracción y orientación de la huella dactilar de la imagen original. Se asume que la imagen original solo contiene una huella, siendo el objeto más grande dentro de la imagen y existen una clara diferenciación entre el fondo de la imagen y el color de la huella.. Imagen original de la huella dactilar.. 2.1 Segmentación inicial de la huella dactilar El proceso de segmentación de la imagen, se inicia con la asociación de una imagen binaria 104 x 96 píxeles, donde cada uno de los píxeles representa un bloque de 8 x 8 en la imagen original, es decir, cada píxel de la imagen asociada indica si el correspondiente bloque en la imagen original pertenece a la huella o no. Este procedimiento se basa en el algoritmo propuesto por. 8.

(9) Watson C. I. Candela g. T. & Grother P. J. (1994), donde ellos determinan los bloques que pertenecen al fondo y los que hacen parte de la huella dactilar por medio de iteraciones sobre cada uno de los bloques. El algoritmo propone calcular el valor mínimo y máximo de píxel (en la escala de grises) en toda la imagen así como el valor mínimo de píxel en cada uno de los bloques. A continuación se calcula el valor del umbral para la imagen actual, de acuerdo a la siguiente formula. umb ral = minimo_glob al + f * (maximo_glob al – minimo_glob al) donde f es un valor que varía en el intervalo [0, 1]. Se debe asignar el valor de “verdadero” a cada píxel de la imagen binaria asociada, cuyo valor de píxel mínimo asociado al bloque sea menor o igual que el valor del umbral. Los píxeles que sean marcados como verdaderos en la imagen binaria asociada, indican los bloques que hacen parte de la huella dactilar. Seguido a esto, se cuentan el número de transiciones entre píxeles verdaderos y falsos, en direcciones vertical y horizontal. Esta medida nos da información acerca del número huecos en la imagen asociada. El anterior procedimiento se realiza para diferentes valores de f en el intervalo antes señalado y se busca el valor de f, que minimice el número de transiciones de píxeles verdaderos a falsos sobre la imagen binaria asociada. En los experimentos realizados en este trabajo, se implemento la rutina con valores superiores a 0.4 con incrementos de 0.1 hasta llegar a 0.8. Valores de f inferiores a 0.4, representa un incremento de “huecos” en las zonas asociadas a la huella dactilar. Por el contrario, valores superiores a 0.8, la imagen asociada tendería a establecer zonas pertenecientes a la huella dactilar, cuando en realidad pertenecen al fondo de la imagen. El valor óptimo de f se estima de forma experimental, teniendo en cuenta establecer límites inferior y superior para el número de transiciones entre valores. 9.

(10) verdaderos y falsos, debido a que pueden presentarse pocas transiciones, indicando una imagen binaria asociada en la que no se pueda diferenciar la huella dactilar con el fondo. Los resultados de la imagen binaria asociada se pueden observar en la siguiente figura. Imagen donde se aíslan los sectores que no pertenecen al fondo. Las imágenes de huellas dactilares, dependiendo de su nivel de calidad pueden presentar objetos ajenos a la huella, que son asumidos como parte de la huella, de tal manera que forman pequeñas islas en la imagen binaria asociada. Se asume que la isla de píxeles verdaderos más grande, corresponde a la huella dactilar y esta es reconocida utilizando el método de etiquetamiento por componentes para imágenes binarias descrito por Ritter G. & Wilson J. (2000).. 10.

(11) Imagen binaria asociada resultado de la implementación del método de etiquetamiento. El paso siguiente cosiste en centrar la imagen de la huella dactilar, pero antes se debe realizar un proceso de erosión a la imagen para obtener un grupo de píxeles verdaderos compacto, es decir, sin huecos, lo cual podría afectar algunos cálculos en las siguientes etapas del preprocesamiento. El proceso de centrado de la imagen se realiza por medio del cálculo del centroide de la isla de píxeles actual. Las coordenadas del centroide de una imagen I con dimensiones m x n, son:. x =. m. n. x =1 m. y =1 n. ∑ ∑. xI ( x , y ) y =. ∑ ∑ I (x , y ) x =1. y =1. m. n. x =1 m. y =1 n. ∑ ∑. yI ( x , y ). ∑ ∑ I (x , y ) x= 1. y =1. donde x e y son las coordenadas de la imagen binaria y I(x,y) es el valor correspondiente (1 o 0 son los valores asumidos para representar valores verdaderos y falsos). El resultado de la traslación a las nuevas coordenadas, se muestra en la figura.. 11.

(12) Imagen de la huella dactilar centrada sin rotar A continuación se realiza la orientación de la huella, basada en la orientación de los bordes. Este procedimiento encuentra los bordes superior, derecho e izquierdo en la imagen binaria asociada. Se identifican las coordenadas de cada una de las transiciones de píxeles falsos a verdaderos en las direcciones horizontal y vertical. Teniendo las coordenadas de cada una de las transiciones, se utiliza un algoritmo similar a la regresión lineal, llamado, evaluación de eigenvectores (Jorge Mario Barajas. (2003)). Este cálculo consiste en encontrar el valor promedio en cada dimensión x e y, para el conjunto de puntos que conforman cada uno de los bordes. Estos valores son calculados, de acuerdo a las siguientes formulas. 1 N. x=. ∑x. ∀x∈C. y =. i. 1 N. ∑ y. ∀y∈C. i. luego, se realiza estandarización de cada uno de los puntos pertenecientes al conjunto C _. *. x =x −x i. _. *. y =y −y. i. i. i. seguido a esto, se calcula el valor λ (el menor eigenvalor) y la pendiente m para cada uno de los bordes. 12.

(13) λ. (a + c) − = m. (a + c) − 4ac + 4b 2 2. =. 2. −b (λ − a). donde. a = ∑x b = ∑x y c = ∑ y *2. i. i. i. *2 i. Dada la pendiente de cada uno de los bordes, se encuentra el ángulo de orientación, por medio del cálculo de su arcotangente. Cada uno de los ángulos se debe encontrar dentro del intervalo [0, π), los cuales son promediados para calcular el ángulo θ de rotación de la imagen. θ. = π − promedio_ angulos 2. Al realizar la rotación, algunos de los píxeles en la imagen original quedaran en blanco al interior de la huella dactilar, por lo cual debe ser realizado un proceso de erosión, donde el nuevo valor de cada uno de los píxeles vacíos, es el promedio de los 8 píxeles de su correspondiente vecindad. Sobre la imagen binaria asociada, se realiza un proceso de recorte de bordes, donde cada uno de los bordes involucra un número mínimo de píxeles verdaderos, el cual debe ser múltiplo de 2, con el fin de ser compatible con algoritmos que más adelante son utilizados. La imagen final se observa en la figura. 13.

(14) Imagen final recortada por sus bordes.. 2.2 Localización del núcleo y delta de la huella dactilar. La localización del núcleo y delta de la huella dactilar, hace necesaria la estimación del campo de orientación asociado a la huella, descrito por los surcos y valles de la misma. A continuación, el cálculo del índice de Poincaré, estima la localización del núcleo y delta. 2.2.1 Cálculo del campo de orientación. El campo de orientación o mapa de direcciones asociado a la huella, establece una representación de la dirección de los surcos y valles, las cuales pueden ser vistas como texturas orientadas, tal como lo establece Rao, A. R. (1990). La orientación de las crestas, puede ser utilizado para encontrar el núcleo y delta, basados en los cambios de dirección que se registren.. La estimación del campo de direcciones, se inicia con el cálculo de los gradientes Gx y Gy para cada píxel. Existen varios métodos de estimación para encontrar el valor de los gradientes, con diferentes complejidades. Los experimentos realizados en este trabajo, fueron usados los operadores de. 14.

(15) Sobel por su simplicidad algorítmica, tal como se explican en González R. & Woods R. (1993) p. 134. El ángulo de orientación asociado a cada píxel, está dado por. ⎛Gy⎞ ⎟⎟ ⎝ Gx⎠. α ( x, y ) = arctan ⎜⎜. donde el ángulo resultante varía dentro del intervalo [0, π), con el objetivo de evitar anular los ángulos cuando se calculan promedios de los ángulos. Cada uno de los ángulos α calculados anteriormente, son perpendiculares a las crestas, por lo cual, se debe adicionar π/2, teniendo en cuenta que el resultado final debe variar dentro del intervalo [0, π). Para efectos de minimizar la carga computacional, se calcula la dirección media para una vecindad o bloque de píxeles. Las imágenes contenidas en la base de datos NIST-14, el promedio del tamaño de una cresta es de 8 píxeles, lo que conduce a que un valor adecuado para el tamaño del bloque debe ser de 16 píxeles, lo que incluye un valle y una cresta en promedio (Qinzhi Zhang, Kai Huang and Hong Yan). El cálculo del promedio angular de la orientación para cada uno de los bloques está dado por. θ ( x, y) *. ⎛. 1 = arctan ⎜ 2 ⎜. ⎝. ∑. ( i , j )∈W. ∑. ( i, j)∈W. sin 2α ( x, y ) ⎞ ⎟ cos 2α ( x, y) ⎟ ⎠. donde W es el bloque de píxeles de tamaño 16 x 16 píxeles. El objetivo de calcular el seno y coseno del doble del ángulo, es evitar, la anulación de algunos de los ángulos al interior de cada uno de los bloques (Wilson C., Candela G. & Watson C. (1994)). El resultado de este promedio puede llegar a ser ruidoso en algunos de los sectores de la huella dactilar, debido a la presencia de manchas o cicatrices. 15.

(16) que afecten la dirección de las crestas, por lo cual es aconsejable hacer una suavización del campo direccional, realizando un promedio de los bloques que hacen parte de la vecindad, para cada uno de estos. El campo direccional resultante se muestra a continuación. Imagen de la huella dactilar con el campo direccional sobrepuesto. 2.2.2 Estimación del núcleo y delta. La estimación de las coordenadas del núcleo y delta se vuelve crucial en el proceso de reconocimiento de minucias, debido a que la posición de cada una de las minucias es dada relativamente a la posición del núcleo ydelta de la huella. Basados en el campo de direcciones suavizado, la estimación de las posiciones del núcleo y delta, se determina por medio del cálculo del índice de Poincaré, centrado en cada uno de los bloques. Este índice establece una estimación del cambio en la curvatura sobre la vecindad de un bloque, por. 16.

(17) medio del promedio en los cambios de orientación (Qinzhi Zhang, Kai Huang and Hong Yan). Para imágenes digitales, un valor de 1 en el índice de Poincaré indica la presencia de doble núcleo, un valor de 0.5 un solo núcleo y -0.5 advierte la presencia de un delta. El índice de Poincaré para un punto (x, y), es definido como. Poincare ( x, y ). −1 1 Np = ∆( k ) 2π ∑ k= 0. donde. ∆k. ⎧ ⎪ δ (k ) ⎪⎪ = ⎨ π + δ ( k) ⎪ ⎪π + δ (k ) ⎪⎩. δ(k) =θ(x. if | δ (k ) |< ifδ (k ) ≤ −. 2. π. 2 de lo contrario. ,y. (k+1) modN p. π. ) −θ(x ,x ). (k +1) modN p. k. k. y los puntos pertenecientes a la vecindad se recorren en contra de las manecillas del reloj, desde 0 hasta N p – 1. Los experimentos realizados en e este trabajo, fueron hechos con un valor Np = 4. El cálculo del índice para cada uno de los bloques, puede estimar varios grupos de bloques validos para ser considerados como coordenadas del núcleo. Para descartarlos, se empieza por eliminar los posibles núcleos que se encuentren en una misma vecindad de bloques y tan solo dejando uno. Si al finalizar este proceso, siguen habiendo dos o más posibles núcleos, se escoge el que se encuentre más al interior de la huella. Para la selección del delta, si se halla más de un delta, se escoge el que se encuentre más cerca. 17.

(18) al núcleo que se ha seleccionado previamente. La selección del núcleo y delta se muestra en la figura. Imagen dactilar donde el núcleo y delta son indicados. Durante este proceso, se debe contemplar la posibilidad en la que el índice, no calcule la posición del núcleo y delta, como es el caso de las huellas dactilares pertenecientes a la clase Arco, en las que no se define núcleo y delta. En este caso, se toman submatrices de bloques centralizadas en un bloque (i, j), para las cuales se calcula la matriz de covarianza. El bloque (i, j) que registre el mayor valor de covarianza negativa para los valores de las orientaciones y que se encuentre más cercano al centro de la imagen, es asumido como el núcleo. El delta corresponde a valores negativos o cercanos a cero.. 18.

(19) 2.3 Binarización de la huella dactilar La binarización de la imagen, es el proceso por el cual se obtiene una imagen binaria (valores de 0 o 255 en la escala de grises) a partir de una imagen en la escala de grises, donde todos los valores de gris cuyo nivel este por debajo de un valor de umbral son transformados a 0 y aquellos valores que superen el umbral son transformados a 255. Este proceso, se convierte en parte fundamental en la extracción de minucias, debido a que los valores que se obtengan, son las entradas que se tomaran para el entrenamiento de la red neuronal y en ellos van representadas la descripción de la huella con sus respectivas crestas y valles. Cualquier ruido que se obtenga durante el proceso de binarización, afecta el desempeño de la red en el reconocimiento de minucias.. 2.3.1 Filtrado de la imagen dactilar Partiendo de la imagen obtenida en el proceso de limpieza de la huella dactilar, se considera la aplicación de una serie de filtros, denominados en la literatura como filtros de Gabor en diferentes direcciones (Salil Prabhakar. (2001)). Estos filtros, son funciones de ondas orientadas en una dirección θ determinada. La forma general de los filtros está dada por la ecuación. ⎧⎪ −1 ⎡ x*2 y*2 ⎤⎫⎪ G( x, y; f ,θ ) = exp⎨ ⎢ 2 + 2 ⎥⎬ cos(2πf x*) ⎪⎩ 2 ⎣ δ x δ y ⎦⎪⎭ donde *. =. xsen θ + y cos θ. *. =. x cos θ − ysen θ. x y. 19.

(20) donde f es la frecuencia senosoidal en la dirección θ, δx y δy son constantes relacionadas con la densidad de la campana de Gauss sobre los ejes x e y. Las características espaciales del filtro de Gabor se muestran en la figura. Filtro de Gabor con θ = 0°. Filtro de Gabor con θ = 90°. El filtro de Gabor se aplica, realizando la convolución sobre la imagen en diferentes direcciones θ, de tal forma que se aíslen las crestas y se hagan notorias las diferencias con respecto a los valles. La aplicación de los filtros de Gabor en 4 direcciones distintas, asegura que se capturen las principales características de la huella para encontrar sus singularidades, pero se necesitan de un mínimo de 8 direcciones, para reconocer las minucias intrínsecas a la huella (Salil Prabhakar. (2001)). Durante los experimentos realizados, se aplicó filtros de Gabor en las direcciones 0°, 22.5°, 45°, 67.5°,. 20.

(21) 90°, 112.5°, 135°, 157.5°, con f = 0.1 (frecuencia de 1 cresta por cada 10 píxeles) y vecindades de 11 x 11 píxeles. Lo anterior se resume en la ecuación de convolución que se muestra. 5 ' = ( x , y ) I min( ∑. 5. ∑ I (x + s, y + t)G(s, t; f , θ );255). s =−5 t =−5. donde I’(x, y) es el píxel (x, y) de la imagen resultante. El resultado de la aplicación de los filtros de Gabor, son mostrados en la figura. Imagen con filtros de Gabor aplicados en 8 direcciones.. La aplicación de filtros de Gabor sobre la imagen, hacen clara diferenciación de los surcos son respecto a los valles en la huella dactilar, sin embargo, esta clase de filtros es sensible a las manchas producidas por la presión de los dedos cuando se tomaron, ocasionando que sean tratados por los filtros como líneas adicionales, como se observa en la parte superior de la huella mostrada en la figura anterior.. 21.

(22) 2.3.2 Binarización de la imagen A partir de la imagen, resultado de la aplicación de los filtros de Gabor, se realiza un proceso de binarización, donde el valor del umbral se calculó de forma local, es decir, en bloques de dimensiones 32 x 32 píxeles. El resultado de la binarización de observa en la siguiente figura. Imagen binarizada.. 2.3.3 Adelgazamiento de la imagen Partiendo de la imagen binarizada, ésta es sometida a un algoritmo de adelgazamiento, basado en el algoritmo de Stefannelli (R. Stefanelli and A. Rosenfeld. (1971)), el cual realiza una reducción iterativa de los contornos y figuras dentro de la imagen, hasta alcanzar un grosor de un píxel. Los resultados del adelgazamiento se muestran en la siguiente figura. 22.

(23) Imagen de la huella dactilar después de un proceso de adelgazamiento. El análisis posterior de la imagen, revela que en algunas zonas, el proceso de adelgazamiento mantiene un buen nivel de calidad en la descripción de las diferentes minucias, sin embargo, durante este proceso, en algunas zonas se presentan pequeñas perturbaciones, las cuales podrían ser entendidas por nuestro sistema de identificación como minucias. Gracias al análisis anterior se toma la decisión de experimentar con las huellas binarizadas, sin realizar el proceso de adelgazamiento.. 23.

(24) Sistema de reconocimiento de minucias Orientación y posicionamiento de las minucias La identificación de las diferentes minucias en una huella dactilar, está descrita por tres características principales: el tipo, la posición y la orientación. Los experimentos realizados en este trabajo, solo contemplaron dos tipos de minucias: bifurcaciones y terminaciones, las cuales fueron ilustradas previamente.. La posición de la minucia es descrita en coordenadas polares, donde el radio corresponde a la distancia con respecto al núcleo en línea recta y el ángulo se refiere al formado con respecto a la recta entre el núcleo y el delta, como se muestra en la figura. Posicionamiento de la minucia con respecto al núcleo. 24.

(25) La orientación de la minucia se establece como el ángulo obtenido entre la dirección del surco y la recta establecida entre el núcleo y el delta (Lin Hong, Yifei Wan, Anil Jain). Los ángulos representativos para cada una de las minucias se aprecian en la siguiente figura. Orientación de la minucia. Selección de las muestras para el entrenamiento, validación y prueba.. El proceso de entrenamiento de una red neuronal exige la selección de muestras, discriminadas en tres grupos: entrenamiento, validación y prueba. Cada una de estas muestras está compuesta por minucias de tipo terminación y bifurcación, al mismo tiempo muestras que no contenían ninguna de las minucias enumeradas. Cada una de las muestras seleccionadas, fue centrada dentro de un cuadrante de 20 x 20 píxeles. El grupo de muestra correspondiente al entrenamiento debe ser representativo, en cuanto a las diferentes formas que puede tomar cada tipo de minucia considerado. Como se puede ver, las terminaciones pueden ser vistas como bifurcaciones cuando la imagen es negada, por lo cual se tomó la determinación de concentrarse en una muestra de entrenamiento con bifurcaciones y no bifurcaciones. La figura muestra la inversión de la imagen, donde las terminaciones son vistas como bifurcaciones. 25.

(26) Terminaciones vistas como bifurcaciones después de la inversión. La muestra de entrenamiento fue generada de forma artificial, de tal forma que fueron contemplados todas las posibles posiciones, con diferentes grados de rotación y diferentes ángulos de apertura para el caso de las minucias de tipo bifurcación. Cada cuadrante fue convertido en un vector de 400 posiciones (cuadrante 20 x 20), siendo recorrido por filas. El tamaño de la muestra de entrenamiento contemplada, es de 1891.. Las muestras de validación y prueba, fueron seleccionadas de huellas dactilares contenidas en la base de datos NIST-14. El tamaño de estas muestras es de 300, para cada una. 1 Análisis de componentes principales. Cada uno de los cuadrantes fue transformado en vectores de 400 dimensiones, lo que supone un vector de entrada para la red neuronal demasiado grande. Se hace necesario implementar un método que reduzca el tamaño del vector, pero que a su vez mantenga la mayor cantidad de información del mismo. La metodología de análisis de componentes principales, elimina la información redundante del vector, donde a su vez reduce la dimensionalidad del vector. El análisis de componentes principales, los datos son ortogonalizados para que no exista autocorrelación entre los mismos, luego son calculadas las componentes que representan la variabilidad de los datos. Estas. 26.

(27) componentes son ordenadas, de tal forma que las primeras representen la mayor variabilidad. Este procedimiento se realiza, con la normalización inicial de los vectores de la muestra, luego son multiplicados por una matriz cuyas filas contienen a los vectores propios de la matriz de covarianza de los datos de entrada. Esta matriz es llamada la matriz de transformación. La matriz de transformación, es una matriz W ∈ ℜ m x n, donde m < n, tal que, un vector x ∈ ℜ. n x1. normalizado (media 0) multiplicado por la matriz W,. genere un vector y ∈ ℜ m x 1 que contiene un porcentaje de la variabilidad del vector original. A través de la matriz W, los datos de entrada son proyectados de es espacio vectorial original n-dimensional a un espacio vectorial mdimensional (Dillon William R. & Goldstein Matthew (1984)), el cual es apropiado como vector de entrada para la red neuronal.. Para los trabajos de entrenamiento de este trabajo, se tomó un 98% de variabilidad del vector original y como consecuencia se obtuvo una matriz W. ∈ℜ. 15 x 400. , la cual es multiplicada por los vectores asociados a cada una de. las muestras generando vectores y ∈ ℜ 15 x 1, los cuales son utilizados como vector de entrada a la red neuronal. Esta matriz de transformación se convierte en parte intrínseca de la red neuronal. 2 Implementación, estructura y entrenamiento de la red neuronal. La red neuronal se implementó por medio de un perceptrón multicapa que se entrenó con el algoritmo de aprendizaje Backpropagation. El número de capas y neuronas en cada una de estas se obtuvo de forma experimental. Inicialmente se consideró una capa oculta que posteriormente se aumentaría a dos, junto con una capa de salida. El vector de entrada o capa de entrada contiene 15 entradas, correspondientes al vector obtenido después de haberse aplicado la transformación con la matriz W. La capa de salida, está. 27.

(28) compuesta por dos salidas, la primera hace referencia a bifurcación y la segunda a no bifurcación. El número de neuronas en las capas ocultas fue hallado experimentalmente, comenzando con 16 neuronas e incrementando en 16 hasta alcanzar un número total de 96 neuronas. Las funciones de activación utilizadas fueron la función tangente hiperbólica en las capas ocultas y la función logarítmica en la capa de salida. La estrategia de aprendizaje y convergencia de la red fue 2 basada en el mecanismo de optimización Levenberg-Marquardt .. Los resultados obtenidos en la sesión de entrenamiento de la red neuronal con una sola capa oculta, se resumen en la siguiente tabla, donde se muestra el error obtenido en la clasificación sobre la muestra de prueba. Los datos subrayados, corresponden a las sesiones de entrenamiento cuya suma del error cuadrado en clasificación, estuvo por debajo de 10. 16. 32. 48. 64. 80. 96. 50. 28.3 24. 41.3 28.3 44.6 23.6. 250. 29. 31. 500. 33.6 27.3 25. 27. -3. 33.3 29.6 40.3 37. 24. 1000 24.6 20.6 29.3 20.6 29. 48 31.3. Error en la clasificación sobre la muestra de prueba (%). Número de corridas vs. número de neuronas en la capa oculta.. Como se puede observar, en la primera sesión de entrenamiento, los menores valores de error (20.6 en la suma cuadrática del error), se encontraron cuando la capa oculta contenía 32 y 64 neuronas, pero estas sesiones fueron detenidas, por el incremento del error medido en la 2. MATHLAB 7.0, Neural Network Toolbox. Función trainlm.. 28.

(29) clasificación de la muestra de validación, es decir, se presentó un sobreentrenamiento de la red. Las figuras ilustran las situaciones antes descritas.. Sesión de entrenamiento. Anulación por sobreentrenamiento. 1000 corridas y 32 neuronas en la capa oculta. Sesión de entrenamiento. Anulación por sobreentrenamiento. 1000 corridas y 64 neuronas en la capa oculta. 29.

(30) Teniendo en cuenta solo los entrenamientos que no desarrollaron problemas de sobreentrenamiento, se selecciono la configuración de la red (datos de los pesos en cada una de las capas) que menor error se obtuvo en la clasificación, es decir, la configuración obtenida de 48 neuronas en la capa oculta entrenada con 1000 corridas. Esta configuración se incorpora al sistema de reconocimiento de minucias y es aplicada sobre la imagen filtrada y binarizada. La figura muestra la sesión de entrenamiento.. Sesión de entrenamiento. Se alcanzo un error de 0.000214736. 1000 corridas y 48 neuronas en la capa oculta. La segunda sesión de entrenamientos incorporó una segunda capa oculta en la red neuronal, con el animo de dar mayor flexibilidad en la clasificación. Cada una de las capas de la red inicia con 16 neuronas, para luego ser aumentada en 16, hasta llegar a 48. Este incremento es independientes en cada una de las capas. Las siguientes tablas muestran el nivel del error de clasificación sobre la muestra de prueba, para diferente número de corridas. 30.

(31) 16. 32. 48. 16. 32. 16. 43.3. 40. 26. 32. 23. 23. 48. 31. 40.6. 16. 43.6. 20.6 28.3. 35.3. 32. 26.6. 26.6 31. 23.3. 48. 31.3. 40. Error en la clasificación sobre la. muestra de prueba (%). 250 corridas.. Neuronas capa oculta 1 vs. capa oculta 2. 32. 48. 16. 26.3. 27.6. 33.6. 32. 27.3. 20. 48. 28.3. 26.3. 41.3. Error en la clasificación sobre la. muestra de prueba (%). 50 corridas.. 16. 48. Neuronas capa oculta 1 vs. capa oculta 2. 16. 32. 48. 16. 40. 25. 38. 38.6. 32. 29.3. 26. 48. 38. 48. 29.6. 41.3 48. Error en la clasificación sobre la. Error en la clasificación sobre la. muestra de prueba (%). 500 corridas.. muestra de prueba (%). 1000 corridas.. Neuronas capa oculta 1 vs. capa oculta 2. Neuronas capa oculta 1 vs. capa oculta 2. 16. 32. 48. 16. 29. 42. 27. 32. 29. 26. 31. 48. 38.6. 27.3. 42.6. Error en la clasificación sobre la muestra de prueba (%). 1500 corridas. Neuronas capa oculta 1 vs. capa oculta 2. Los valores subrayados señalan los resultados, cuyos entrenamientos alcanzaron valores de error menores a 10-3. Al igual que los entrenamientos con una sola capa oculta, se seleccionó la configuración que represente el menor porcentaje de error en la clasificación de aquellos resultados que. 31.

(32) registraron comportamientos de sobreentrenamiento. En este caso, se incorporó al sistema de reconocimiento de minucias la configuración alcanzada con 32 neuronas en cada capa oculta, cuando se entreno la red con 50 corridas. El comportamiento de su entrenamiento se muestra en la figura. Sesión de entrenamiento. Se alcanzo un error de 0.000165476. 50 corridas, 32 neuronas en la primera capa oculta y 32 neuronas en la segunda capa oculta.. 3 Reconocimiento de minucias. El proceso de reconocimiento de minucias se realiza basados en la posición del núcleo, debido a que la posición de las minucias detectadas, es dada con respecto a este. En la imagen binarizada de la huella dactilar, se selecciona el cuadrante más grande, centrado en las coordenadas del núcleo, de tal forma que todo punto dentro del cuadrante, sea un píxel perteneciente a la huella dactilar.. 32.

(33) El cuadrante se empieza a recorrer desde la esquina superior izquierda, con desplazamientos de 5 píxeles en direcciones vertical y horizontal, tomando cuadrantes de 20 x 20 píxeles, los cuales son traducidos a vectores de 400 posiciones, para ser introducidos y procesados por la red neuronal. Se asume que la posición de la minucia, se encuentra centrada en el cuadrante seleccionado. Como se había mencionado antes, las coordenadas de la minucia, están dadas por. ρ. =. (x − x ) + ( y − y ). θ. = arc⎜. m. 2. m. m. 2. N. m. ⎛ y −y ⎞ + ⎟ θ − ⎝x x ⎠ m. N. m. N. N. N. donde ρm es la distancia del centro de la minucia al centro de la huella, θmes el ángulo que forma el radio de la minucia con la recta que une el núcleo con el delta, (xm,ym) son las coordenadas del centro del cuadrado que se está analizando, (xN,yN) son las coordenadas del núcleo de la huella y θN es el ángulo que se forma entre la recta que une el núcleo con el delta con respecto a la horizontal. La orientación de la minucia, hace una aproximación, por medio del cálculo de los gradientes para el cuadrante que se analiza, es decir, se calcula la dirección de la tangente que indica la dirección de cada uno de las crestas, y luego se hace un promedio (Donahue M. J. and Rokhlin. S. I. (1993)). Este ángulo es dado con respecto a la recta que une el núcleo con el delta. Como se había mencionado antes, en el proceso de entrenamiento solo se realizaron experimentos para el reconocimiento de minucias de tipo bifurcación. Es por esto, que la imagen binarizada es procesada inicialmente. 33.

(34) para el reconocimiento de bifurcaciones, para luego ser invertida y ser procesada por la red neuronal, para la identificación de terminaciones, como se había explicado antes.. 3.1 Resultados de experimentación Se realizaron experimentos de clasificación, siguiendo el procedimiento antes descrito, sobre un conjunto de 15 huellas dactilares. Inicialmente se implemento la red neuronal con una capa oculta de 48 neuronas, 15 entradas en la capa de entrada y dos salidas. Para cada una de las huellas seleccionadas, se realizó un conteo de minucias de tipo bifurcación y terminación de forma manual, luego se sometió el grupo de huellas al análisis por medio de la red neuronal y se efectuó el conteo de las minucias reconocidas bien clasificadas, las mal clasificadas y las que omitió la red neuronal. En la figura se muestra el resultado del reconocimiento de minucias. Los resultados del conteo se muestran en la tabla.. 34.

(35) Minucias encontradas por la red neuronal. Cuadrados ilustran las bifurcaciones y triángulos las terminaciones. Huella. Número. Número. Número. Número. Número. Número. Número. Número. Termina-. Bifurca-. Terminac.. Bifurcac.. Terminac.. Bifurcac.. Falsos. ciones. ciones. Identificadas. Identificadas. Errorneas. Erroneas. Positivos. 1. 5. 15. 3 (60%). 11 (73.3%). 1 (20%). 0 (0%). 117. 2. 7. 12. 4 (57.1%). 10 (83.3%). 0 (0%). 0 (0%). 112. 3. 4. 13. 3 (75%). 9 (69.2%). 1 (25%). 0 (0%). 96. 4. 6. 11. 4 (66.6%). 9 (81.8%). 5. 6. 13. 3 (50%). 8 (61.5%). 0 (0%). 1 (7.6%). 86. 6. 10. 4. 7 (70%). 4 (100%). 0 (0%). 0 (0%). 76. 7. 4. 9. 3 (75%). 7 (77.7%). 1 (25%). 1 (11.1%). 91. 8. 5. 11. 2 (40%). 8 (72.7%). 0 (0%). 0 (0%). 103. 9. 5. 8. 3 (60%). 7 (87.5%). 0 (0%). 0 (0%). 85. 10. 6. 12. 3 (50%). 9 (75%). 2 (33.3%). 0 (0%). 136. 11. 6. 13. 4 (66.6%). 11 (84.6%). 0 (0%). 0 (0%). 129. 12. 3. 8. 2 (66.6%). 8 (100%). 0 (0%). 1 (12.5%). 115. 13. 7. 8. 4 (57.1%). 7 (87.5). 0 (0%). 0 (0%). 97. 35. 1 (16.6%) 1 (9.09%). 132.

(36) 14. 8. 11. 5 (62.5%). 10 (90.9%). 0 (0%). 2 (18.1%). 142. 15. 5. 13. 4 (80%). 11 (84.6%). 1 (20%). 1 (7.6%). 72. Tabla de resultados. Experimentación con una capa oculta en la red neuronal. Los resultados mostrados en la anterior tabla, hablan de un significativo número de falsos positivos (105.9 en promedio por imagen), los cuales son identificaciones de minucias hechas por la red neuronal, pero que en realidad no son ningún tipo de minucia. También se muestra un número pequeño de minucias de los tipos de bifurcación y terminación mal clasificados por la red neuronal (en promedio 9.32% para las terminaciones y 4.39% para las bifurcaciones), los cuales pueden ser significativos si consideramos el número de pequeño de minucias en algunas de las huellas. La red neuronal mostró en promedio, un 62.43% de eficacia en la clasificación de terminaciones y un 81.97% de eficacia con respecto a las bifurcaciones, los cuales pueden ser aceptables con respecto a otros trabajos realizados (Maio, D. and Maltoni Davide (1997)). En la segunda sesión de experimentación, se implemento una red neuronal con dos capas ocultas de 36 neuronas en cada una, un capa de entrada con 15 entradas y 2 salidas. Al igual que la anterior sesión, se tomó el mismo grupo de huellas dactilares y se analizaron a cada una de ellas. Los resultados de la experimentación se muestran en la tabla. Huella. Número. Número. Número. Termina-. Bifurca-. ciones. ciones. 1. 5. 15. 2. 7. 3. Número. Número. Número. Terminac.. Bifurcac.. Terminac.. Bifurcac.. Falsos. Identificadas. Identificadas. Errorneas. Erroneas. Positivos. 3 (60%). 12 (80%). 0 (0%). 0 (0%). 106. 12. 5 (71.4%). 9 (75%). 0 (0%). 1 (8.33%). 103. 4. 13. 3 (75%). 12 (92.3%). 0 (0%). 0 (0%). 91. 4. 6. 11. 3 (50%). 10 (90.9%) 1 (16.6%). 0 (0%). 128. 5. 6. 13. 0 (0%). 1 (7.69%). 89. 6. 10. 4. 0 (0%). 0 (0%). 84. 4 (66.6%) 10 (76.9%) 8 (80%). 3 (75%). 36. Número. Número.

(37) 7. 4. 9. 4 (100%). 7 (77.7%). 1 (25%). 0 (0%). 91. 8. 5. 11. 3 (60%). 8 (72.7%). 0 (0%). 0 (0%). 101. 9. 5. 8. 3 (60%). 6 (75%). 1 (20%). 1 (12.5%). 92. 10. 6. 12. 4 (66.6%) 11 (91.6%) 1 (16.6%). 0 (0%). 121. 11. 6. 13. 4 (66.6%) 10 (76.9%). 0 (0%). 0 (0%). 118. 12. 3. 8. 2 (66.6%) 7 (87.5%). 0 (0%). 0 (0%). 132. 13. 7. 8. 5 (62.5%) 7 (87.5%). 0 (0%). 0 (0%). 113. 14. 8. 11. 5 (62.5%) 10 (90.9%). 0 (0%). 1 (9.09%). 129. 15. 5. 13. 1 (20%). 0 (0%). 68. 4 (80%). 12 (92.3%). Tabla de resultados. Experimentación con dos capas ocultas en la red neuronal. Al igual que las pruebas realizadas con la red neuronal de una capa oculta, los nuevos resultados siguen arrojando un gran número de falsos positivos (104.4 en promedio por imagen), sin presentar alguna mejora en la reducción de estos con respecto al número que se obtuvo antes, en cada una de la huellas. Existió un aumento en el porcentaje de reconocimiento correcto de minucias, incrementándose en 6.09% para terminaciones y de 0.84% para bifurcaciones. Al mismo tiempo se identifica una pequeña reducción en el porcentaje de clasificación errónea, pasando de 9.32% que se tenía antes a un 6.54% en el caso de terminaciones y de 4.39% a un 2.5% para las bifurcaciones, que se tuvieron con la nueva configuración de la red, el cual es significativo comparado el número de minucias que se tiene.. 37.

(38) Conclusiones En el presente trabajo, el proceso de reconocimiento de minucias se dividió en dos etapas principalmente. La primera consistió en la limpieza, mejora y aislamiento de la huella dactilar y la segunda en la implementación de un sistema que pudiera reconocer y extraer las minucias que caracterizaban a la huella dactilar.. Durante la primera etapa, el proceso de mejoramiento se baso en la implementación de filtros que ayudaran a diferenciar las crestas de los valles, sin embargo en huellas de mala calidad, estos filtros son perjudiciales, ya que toman las pequeñas alteraciones (manchas grasosas u objetos extraños) y las incorporan a la huella como características propias de esta. Estas alteraciones hacen que la binarización de la huella sea alterada y por lo tanto las entradas a la red neuronal y los resultados son erróneos. Es por esto que el tratamiento de preprocesamiento de la imagen se convierte en etapa crucial para el reconocimiento de las minucias, debido a que las pequeñas alteraciones ajenas a la huella, son tomadas como ruido por la red neuronal y son adaptadas por esta para ser clasificadas como minucias, cuando en realidad no lo son. En la segunda etapa, se entrenaron e implementaron diferentes configuraciones de redes para el reconocimiento de minucias, Se pudo mostrar, que las redes advierten de un gran poder de clasificación, partiendo de la binarización de la huella dactilar, sin la necesidad de realizar un adelgazamiento previo, el cual puede ser convertido en una ventaja con respecto a otros sistemas que si lo exigen y que incorpora tiempo adicional. 38.

(39) de procesamiento. Se mostró que el reconocimiento de minucias alcanzó porcentajes de error bajos en la clasificación de cada uno de los tipos de minucias analizados, cercanos a 6.54% y 2.5% para terminaciones y bifurcaciones respectivamente.. El proceso de clasificación, también mostró errores en el reconocimiento de zonas de la huellas que no son minucias, al ser clasificadas como tal, siendo crítica esta clasificación en las áreas donde la huella presenta deficiencias en la calidad de la imagen, convirtiéndose en una falencia en el proceso de reconocimiento, ya que no se estaría en condiciones de realizar procesos de comparación entre huellas por medio del reconocimiento de sus minucias. Es por lo anterior, que el preprocesamiento es crucial para tener un buen sistema de reconocimiento de minucias basados en redes neuronales.. En trabajos posteriores, se debe tener en cuenta, que los resultados obtenidos en la clasificación de las minucias positivas son buenos, donde los resultados de los falsos positivos y las minucias no identificadas, pueden ser utilizados para un proceso de reentrenamiento, donde se incorpore a la red las nuevas formas de no minucias que en el proceso de construcción de minucias y entrenamiento no se tuvieron en cuenta. Esto puede incrementar el poder de identificación de la red, en sus porcentajes de clasificación y reconocimiento de las minucias.. 39.

(40) Referencias Bibliográficas. Barajas Jorge Mario. (2003). Clasificación de huellas dactilares con redes neuronales. Ingeniería de Sistemas y Computación. Universidad de los Andes. Demuth Howard. Beale Mark. (2004) Neural Network Toolbox. For use with MATLAB. User’s Guide. Version 4. The Mathworks Inc. Recuperado el 8 de. Septiembre. de. 2004, de. http://www.mathworks.com/access. /helpdesk/help/toolbox/nnet/. Dillon William R. & Goldstein Matthew (1984). Multivariate Analysis: Methods and Applications. Wiley Series in Probability and Statistics.. Donahue M. J. and Rokhlin. S. I. (1993). On the Use of Level Curves in Image Análisis. Image Understanding, Vol. 57, no. 2, pp. 185 – 203 González R. & Woods R. (1993). Digital Image Processing. Addison-Wesley, Reading, MA. Jain Anil K., Prabhakar Salil, Hong Lin and Pankanti Sarta. FingerCode: A filterbank for fingerprint representation and matching. Department of Computer Science and Engineering. Michigan State University, East Lansing.. 40.

(41) Jain Anil, Hong Lin, Pankanti Sarta and Bolle Ruud. (1997). An Identity Authentication System Using Fingerprints. Department of Computer Science. Michigan State University. Exploratory Computer Vision Group IBM T. J. Watson Research Center.. Lin Hong, Yifei Wan, Anil Jain. Fingerprint Image Enhancement: Algorithm and Performance Evaluation. Pattern Recognition and Image Processing Laboratory. Departement of Computer Science. Michigan State University. Maio, D. and Maltoni Davide (1997). Direct Gray-Scale Minutiae Detection In Fingerprints. IEEE Transactions on pattern analysis and machina intelligence. Vol. 19 No. 1 January 1997.. Prabhakar Salil. (2001). Fingerprint Clasification and Matching Using a Filterbank. Michigan State University. Doctoral Thesis. Computer Science & Engineering.. Qinzhi Zhang, Kai Huang and Hong Yan. Fingerprint Classification Based on Extraction and Analysis of Singularities and Pseudoridges. School of Electrical and Information Engineering. University of Sydney. Rao, A. R. (1990). A Taxonomy for Texture Description and Identification. Springer-Verlag.. Ritter G. & Wilson J. (2000) Handbook of Computer Vision Algorithms in Image. Algebra CRC Press.. 41.

(42) Stefanelli R. and A. Rosenfeld. (1971). Some Parallel Thinning Algorithms for Digital Pictures. Journal of the Association for Computing Machinery, 18, pp. 255 – 264.. Srinivasar V. S. & Murthy N. N. (1992). Detection of Singularity Points in Fingerprints Images. Pattern Recognition, 25, pp. 139 – 153. Watson C. I. Candela g. T. & Grother P. J. (1994). Comparison of FFT Fingerprint Filtering Methods for Neural Network Classification. U. S. Department of Commerce. Technology Administration. National Institute of Standards and Technology. Advanced Systems Division. Wilson C., Candela G. & Watson C. (1994). Neural Network Fingerprint Classification. National Institute of Standards. and Technology.. Advanced Systems Division. Image Recognition Group.. 42.

(43)

Referencias

Documento similar