Está en la página 1de 82

AFISUA: UN SISTEMA DE CLASIFICACIÓN Y RECONOCIMIENTO DE

HUELLAS DACTILARES

Andrés Córdoba Melani

Carlos Enrique Diaz Maya

Universidad de los Andes

Facultad de Ingeniería

Departamento de Ingeniería de Sistemas y Computación

Bogotá D.C.

2005
AFISUA: UN SISTEMA DE CLASIFICACIÓN Y RECONOCIMIENTO DE
HUELLAS DACTILARES

Presentado por:

Andrés Córdoba Melani


Carlos Enrique Diaz Maya

Tesis para optar al título de:


Ingeniero de Sistemas y Computación

Asesor:
Rafael García Gómez

Universidad de los Andes

Facultad de Ingeniería

Departamento de Ingeniería de Sistemas y Computación

Bogotá D.C.

2005
AGRADECIMIENTOS

Agradecemos al profesor Rafael García por la colaboración prestada y por su


paciencia.

También agradecemos la profesora Marcela Hernández por su colaboración y


asesoría prestadas en el área de procesamiento de imágenes.

También agradecemos a nuestro compañero y amigo Alejandro Sotelo Arévalo, por


sus aportes acerca del proceso de limpieza de las imágenes.

i
RESUMEN

AFISUA: Un sistema de clasificación y reconocimiento de huellas dactilares

Presentado por Andrés Córdoba Melani y Carlos Enrique Diaz Maya

Asesor: Rafael A. García Gómez


Departamento de Ingeniería de Sistemas y Computación

Los sistemas de identificación de huellas dactilares (AFIS) permiten la búsqueda de


una huella dactilar en una base de datos. La respuesta esperada del sistema es el
conjunto de las k huellas más parecidas. Para poder realizar esto, el sistema debe
seguir las siguientes etapas:
1. Adquisición de la huella de entrada.
2. Preprocesamiento.
3. Extracción de Minucias y clasificación.
4. Búsqueda.
Después de adquirir la imagen, se procede a realizar la aplicación de filtros sobre
la misma para obtener una imagen de entrada para inic iar el proceso de extracción
de minucias. Una vez obtenida la información de las minucias para la huella de
entrada, se realiza la búsqueda en la base de datos de información de huellas
teniendo en cuenta un criterio de similitud, y posteriormente se encuentran las
huellas en la base de datos que maximizan tal criterio.
El éxito del proceso radica en la calidad de la imagen de entrada, ya que si
presenta suciedad o presenta problemas en la calidad de la muestra de la huella
tomada, el sistema arrojará resultados imprecisos en algunos de estos casos.

ii
TABLA DE CONTENIDO
Página
1. INTRODUCCION 1
1.1. DESCRIPCION DEL TRABAJO 1
1.1.1. Objetivos del trabajo 1
1.1.1.1. Objetivo general del trabajo 1
1.1.1.2. Objetivos específicos del trabajo 2
1.2. ALCANCE DEL TRABAJO 2
1.3. ORGANIZACIÓN DEL DOCUMENTO 2

2. HUELLAS DACTILARES 4
2.1. DEFINICION 4
2.2. CARACTERISTICAS VISIBLES DE LAS HUELLAS DACTILARES 4
2.2.1. Áreas Visibles 4
2.2.1.1. Valles 4
2.2.1.2. Surcos 5
2.2.2. Minucias 5
2.2.2.1. Características de las minucias 5
2.2.2.2. Tipos de minucias 6
2.2.3. Puntos singulares 7
2.3. CLASIFICACION DE LAS HUELLAS DACTILARES 8
2.3.1. Clasificación de acuerdo a las características de Galton 8
2.3.2. Clasificación según Henry 8
2.3.2.1. Arco 8
2.3.2.2. Arco Tendido 9
2.3.2.3. Ciclo a la izquierda 9
2.3.2.4. Ciclo a la derecha 10
2.3.2.5. Espiral 10
2.3.3. Puntos singulares 11
2.3.4. Conteo de surcos 11

3. SISTEMAS AUTOMATIZADOS DE IDENTIFICACIÓN DE HUELLAS


DACTILARES (AFIS) 12
3.1. DEFINICION 12
3.2. ESQUEMA DE FUNCIONAMIENTO DE UN AFIS 12
3.3. ETAPAS QUE SIGUE UN AFIS PARA IDENTIFICAR UNA HUELLA 15
3.4. FASES DE CONSTRUCCION DEL SISTEMA AFIS PROPUESTO

iii
UTILIZANDO REDES NEURONALES 16

4. ETAPA DE PREPROCESAMIENTO DE LA IMAGEN DE LA


HUELLA DACTILAR DE ENTRADA 18
4.1. DESCRIPICION DE LA FASE DE PREPROCESAMIENTO 18
4.2. DESCRIPCION DE FILTROS DE IMÁGENES UTILIZADOS Y
PROBADOS EN ESTA ETAPA 20
4.2.1. Filtro para la limpieza de la huella dactilar 20
4.2.1.1. Elección de la mascara inicial 21
4.2.1.1.1. Separación por píxeles 21
4.2.1.1.2. Separación por sectores 23
4.2.1.2. Selección de la huella en la máscara 26
4.2.2. Filtros de binarización de la huella dactilar 29
4.2.2.1. Binarización por el método de Umbralización Global 29
4.2.2.2. Binarización por el método de Umbralización Local 30
4.2.3. Filtro para el adelgazamiento de los surcos de la huella 30
4.3. RESULTADOS Y CONCLUSION DE LAS PRUEBAS DE
APLICACIÓN DE LOS FILTROS PROBADOS 32
4.3.1. Filtro de limpieza de Watson, Candela y Grother 32
4.3.2. Binarización por el método de umbralización global 36
4.3.3. Binarización por el método de umbralización local 38
4.3.4. Filtro de adelgazamiento de Stefanelli y Rosenfeld 41
4.3.5. Conclusiones 43

5. ETAPA DE EXTRACCION DE MINUCIAS DE LA HUELLA 45


5.1. DESCRIPCION DE LA ETAPA DE EXTRACCION DE MINUCIAS 45
5.2. EXTRACCION DE MINUCIAS UTILIZANDO REDES
NEURONALES 45
5.3. DESCRIPCIÓN DEL SISTEMA DE DETECCIÓN DE MINUCIAS
UTILIZADO 46
5.4. INFORMACIÓN DE SALIDA DEL SISTEMA DE DETECCIÓN DE
MINUCIAS 49
5.5. CONSIDERACIONES ACERCA DE LA EFICACIA DEL SISTEMA DE
DETECCIÓN DE MINUCIAS 49

6. ETAPA DE DISEÑO E IMPLEMENTACIÓN DEL SISTEMA


DE PERSISTENCIA Y BÚSQUEDA 50

iv
6.1. CRITERIOS DE SIMILITUD ENTRE HUELLAS 50
6.1.1. Definición del criterio de similitud entre huellas dactilares 50
6.1.2. Criterio de similitud utilizando la clasificación de las
huellas según Henry 50
6.1.3. Criterio de similitud entre huellas dactilares de acuerdo a
la información de las minucias 53
6.1.4. Criterio de similitud combinado 56
6.2. BÚSQUEDAS DE PROXIMIDAD EN ESPACIOS MÉTRICOS 57
6.2.1. Vecinos mas cercanos 57
6.2.2. k-Vecinos mas cercanos 58
6.2.3. Rango 58
6.3. MECANISMOS DE BUSQUEDA EN ESPACIOS MÉTRICOS 58
6.3.1. Búsqueda directa 59
6.3.2. Algoritmos de búsqueda basados por pivotes 59
6.3.3. Algoritmos de búsqueda basados por clústeres 60
6.3.4. Criterio del Radio Incremental 61
6.3.5. t-Spanners 61
6.3.5.1. Definición 61
6.3.5.2. Aplicaciones de los t-Spanners para la búsqueda en
espacios métricos 62
6.3.5.3. Implementación de un t-Spanner 62
6.3.5.3.1. Algoritmo Básico 62
6.3.5.3.2. Algoritmo Básico Optimizado de Paredes Moraleda 63
6.3.5.4. Búsqueda en un t-Spanner 64
6.4. PRUEBAS DEL SISTEMA DE PERSISTENCIA Y BÚSQUEDA 66

7. ASPECTOS QUE SE PODRÍAN MEJORAR EN EL FUTURO


DEL SISTEMA AFIS PROPUESTO 67

8. CONCLUSIONES 68

9. REFERENCIAS 72

v
GLOSARIO

Minucia espuria. Se dice de aquellas minucias que no se encuentran en la


imagen original pero que aparecen a causa del preprocesamiento y del
procesamiento.

Distal. Parte de un miembro que se encuentra más separado de su línea media.

Curvado. De forma curva.

AFIS. Siglas en inglés correspondientes a Sistema de Identificación de Huellas


Dactilares ( Automated Fingerprint Identification System).

Red Neuronal. Red Neuronal Artificial. Sistemas de procesamiento distribuido


paralelo. ([Barajas03], p. vii)

Binarización. Conversión de una imagen digital a colores o en escala de grises a


una imagen digital de dos colores, según algún criterio.

Umbral. Es el valor mínimos de una magnitud a partir de la cual se produce un


efecto determinado. ([RAE], término umbral)

Covarianza. Indicador estadístico que permite medir la relación entre dos


variables aleatorias.

Pivote. Punto de referencia alrededor del cual se realiza una acción.

Clúster. Agrupación de sectores o segmentos.

vi
1. INTRODUCCION

1.1. DESCRIPCION DEL TRABAJO

El trabajo consiste en diseñar, desarrollar y evaluar la construcción de un


sistema automatizado de identificación de huellas dactilares, implementado en el
lenguaje de programación Java versión 1.4. Las etapas que se desarrollan en el
trabajo son:
a. Preprocesamiento de una imagen de una huella dactilar. En esta etapa, se
utilizan algoritmos para limpieza de la imagen, centrado de la huella, filtrado
del ruido de la imagen, binarizac ión y adelgazamiento, se logra obtener
información relevante para el procesamiento que describe la huella dactilar.
b. Extracción de minucias. En esta etapa, se extraen de la imagen preprocesada
las minucias utilizando una red neuronal.
c. Sistema de búsqueda y persistencia. En esta etapa se realiza el diseño de un
índice que contendrá la información de las minucias para las huellas
dactilares. Posteriormente, se implementa el sistema de búsqueda el cual
encontrará en la base de datos las huellas dactilares que son similares (de
acuerdo a un criterio de similitud) a una huella dactilar de entrada.
d. Integración. Esta etapa consiste en integrar todas las etapas en una única
aplicación.

1.1.1. Objetivos del trabajo

1.1.1.1. Objetivo general del trabajo

Construir un sistema automatizado de identificación de huellas dactilares


utilizando conceptos de análisis y procesamiento de imágenes, bases de datos,
redes neuronales y reconocimiento de patrones.

1
1.1.1.2. Objetivos específicos del trabajo

• Obtener, a través de algoritmos de limpieza, binarización y


adelgazamiento, la información relevante para la descripción de una
huella dactilar.
• Implementar una red neuronal que permita el reconocimiento de las
minucias de una imagen de una huella dactilar.
• Diseñar un índice que contenga la información de las minucias de una
huella dactilar, y que permite buscar de manera eficiente una huella según
sus características.
• Implementar un sistema de búsqueda que, a partir de la imagen de una
huella dactilar de entrada, encuentre las huellas en la base de datos que
sean similares a la huella dactilar de entrada.

1.1. ALCANCE

Este trabajo pretende sentar las bases para desarrollar un sistema AFIS, por lo
tanto debe ser de utilidad para las personas que estén realizando
investigaciones en el área, debido a que se propone el diseño de uno de estos
sistemas, se exponen los resultados de las pruebas obtenidas durante el
desarrollo, y se incluyen aspectos que se pueden mejorar al sistema propuesto.
Este trabajo también está dirig ido en una parte para aquellas personas que
deseen comprender conceptos de búsqueda en espacios métricos, creación de
sistemas biométricos, análisis y procesamiento de imágenes. El sistema AFIS
propuesto permite ver la aplicación de los conceptos mencionados, lo que hace
que se genere una comprensión integral de ellos.

1.2. ORGANIZACIÓN DEL DOCUMENTO

El documento está organizado por capítulos, los cuales son:

• 2. Huellas Dactilares. En éste capítulo se describen las características de


una huella dactilar y su clasificación.
• 3 . Sistemas Automatizados de Identificación de Huellas Dactilares (AFIS).
En éste capítulo se define un AFIS y su funcionamiento. También, en

2
este capít ulo se presentan los pasos para construir el sistema AFIS
propuesto en el trabajo.
• 4 . Etapa de preprocesamiento de la imagen de una huella dactilar de
entrada. En éste capítulo, se describen los pasos de manera detallada
para obtener el esqueleto de una imagen de una huella dactilar, y
además, se muestran los resultados de las pruebas obtenidas durante la
construcción de ésta etapa del sistema.
• 5 . Etapa de extracción de minucias de la huella dactilar. En éste capít ulo,
se describe el proceso detallado de extracción de las minucias de la
huella dactilar utilizando una implementación de una red neuronal. Al
final del capítulo, se muestran los resultados de las pruebas obtenidas
durante la construcción de ésta etapa del sistema. Paralelamente, se
está desarrollando un trabajo que trata los temas de éste capít ulo, el
cual servirá como base (véase [Forero04]) .
• 6 . Etapa de diseño e implementación e implementación del sistema de
persistencia y búsqueda. En éste capítulo, se describen los procesos de
construcción del sistema de persistencia del sistema AFIS y de
implementación del sistema de búsqueda, con el respectivo proceso de
pruebas y sus resultados.
• 7. Aspectos que se podrían mejorar en el futuro del sistema AFIS
propuesto.
• 8. Conclusiones. Con base a los resultados obtenidos durante las etapas
de desarrollo, se realiza un balance de los resultados. También se
analizan los aspectos que se pudieron haber mejorado durante la
realización del sistema (que es diferente al capítulo 7 que son los
aspectos a mejorar el sistema en el futuro).
• 9. Referencias.

3
2. HUELLAS DACTILARES

2.1. DEFINICION

Una huella dactilar se define generalmente como el conjunto de líneas visibles que
se forman en la piel que cubre la zona donde se encuentran las falanges distales
1
de los dedos .

Este conjunto de líneas visibles se clasifican en dos tipos: los valles y los surcos.

En las líneas de los surcos se presentan ciertas configuraciones que se repiten con
cierta regularidad en todas las huellas, estas características son llamadas minucias.

2.2. CARACTERISTICAS VISIBLES DE LAS HUELLAS DACTILARES

Las huellas dactilares tienen características visib les a simple vista, las cuales son:
las áreas visibles, las minucias, el núcleo y el delta.

2.2.1. Áreas visibles2

Las áreas visib les en una huella dactilar se clasifican en dos: los valles y los
surcos.

2.2.1.1. Valles

Los valles son las áreas pertenecientes a la huella dactilar que se encuentran a
cierto nivel de profundidad. En la impresión de la huella dactilar, los valles
corresponden a las áreas de color blanco.

Terminología de la anatomía de la mano obtenida de ([UVHS04])


1
2
Fuente: ([LP], p. 4)

4
2.2.1.2. Surcos

Los surcos son aquellas áreas pertenecientes a la huella que se encuentran en


la superficie de la misma. En una imagen obtenida en papel blanco y tinta
negra de una huella dactilar, los valles corresponden a las áreas de la huella
dactilar de color negro.

Valle

Surco

F igura N o. 2.1. V alles y surcos3

2.2.2. Minucias4

Las minucias se pueden definir como formaciones características de una línea de


surco, en un pequeño sector.

2.2.2.1. Características de las minucias

Cada minucia se caracteriza con un tipo, una ubicación, y una orientación.

3
Fuente: ([NIST02], imagen f0000001)
4
Fuente: ([JHHLT99], cap. 1)

5
2.2.2.2. Tipos de minucias

Existen diversas tipificaciones de minucias, una de las más antiguas


tipificaciones de las minucias en una huella dactilar fue propuesta por Sir
5
Francis Galton en el año 1892 .
Existen dos minucias que son consideradas las principales, puesto que a partir
de ellas se pueden formar las otras, estas son la terminación, y la bifurcación.
A continuación describimos las minucias mas frecuentemente consideradas.

Bifurcación C ruzamiento
Terminación

Isla P uente E spuela

P unto
F igura N o. 2.2. Tipos de minucias. F uentes: ([N IS T02]), ([JH H LT99], p. 6)

- En una bifurcación, la línea de surco se divide en varios segmentos de línea.


O visto en sentido contrario, se unen varias líneas de surcos para formar
una sola línea.
- La terminación es el punto donde la línea de surco inicia o acaba.
- En un puente, hay una conexión entre dos líneas de surcos.
- En una espuela, hay una protuberancia en una línea de surco.

5
Fuente: ([JHHLT99], p. 2)

6
- El punto es una línea de surco bastante corta, que no está conectada a
ninguna otra línea de surco.
- En el cruzamiento, dos líneas de surcos se cruzan.
- Una isla se presenta cuando se unen las dos ramas de dos bifurcaciones
diferentes, para que esto suceda ambas bifurcaciones deben estar
orientadas frente a frente (con una diferencia de ángulo entre sus
orientaciones cercano o igual a π radianes).

2.2.3. Puntos singulares

Existen en las huellas dactilares formaciones características de los surcos, que


no son minucias puesto que su ubicación depende de un amplio sector de la
huella.

Comúnmente se habla de dos tipos de puntos singulares, el núcleo y el delta.

Las huellas dactilares pueden tener uno o dos deltas, o ninguno.

La ubicación del núcleo puede ser difusa en algunas huellas.

Como el núcleo y el delta suelen estar presente en la mayoría de huellas pueden


ser usados como puntos de referencia ([JPHP00], Sección 1).

N úcleo

Delta

F igura N o. 2.3. P untos singulares6

6
Imagen obtenida de la base de datos NIST-14 ([NIST02]). Imagen: f0000001

7
El núcleo de la huella dactilar es el punto más alto del surco curvado más
7
interior ([SM92] ), mientras que el delta de una huella dactilar es la zona donde
se unen 3 flujos de surcos ([SM92] 8).

2.2. CLASIFICACION DE LAS HUELLAS DACTILARES

Las huellas dactilares se pueden clasificar de múltiples formas, de acuerdo a las


necesidades que se requiera satisfacer. Las clasificaciones que son comúnmente
9
usadas son :

2.3.1. Clasificación de acuerdo a las características de Galton

Este tipo de clasificación se basa en la cantidad de las minucias de cada tipo


(mencionadas en la sección anterior) encontradas en la huella dactilar.

2.3.2. Clasificación según Henry

Este tipo de clasificación se basa en la forma que las líneas de surcos de la huella
dactilar que rodean el núcleo de la misma. De acuerdo a este tipo de clasificación,
las huellas se agrupan en:

2.3.2.1. Arco

Una huella es de la clase arco cuando las líneas de los surcos cercanas al
centro de la misma forman arcos o campanas. Normalmente este tipo de
huellas no tienen un núcleo definido.

7
Citado por Barajas en ([Barajas03], p. 44 (Edición Impresa))
8
Citado por Barajas en ([Barajas03], p. 44 (Edición Impresa))
9
Fuente: ([JHHLT99], cap. 2)

8
F igura 2.9. A rco. F uente: ([JH H LT99], p. 6)

2.2.2.2. Arco tendido

Una huella es de la clase arco tendido cuando las líneas de los surcos cercanas
al centro de la misma forman arcos o campanas y cuando se tenga por lo
menos una línea de surco cercana al centro cuyo ángulo formado entre el pico
(zona donde se eleva mas la línea del surco) y el piso sea elevado (mayor que
10
45º ).

F igura N o. 2.10. A rco Tendido. F uente: ([JH H LT99], p. 6)

2.3.2.3. Ciclo a la izquierda

Una huella es de la clase ciclo a la izquierda cuando:

• Posee un núcleo definido.


• Las líneas de los surcos que rodean el núcleo (que inician y terminan en el
mismo lugar normalmente) forman ciclos que se recorren en sentido
antihorario.

10
Fuente: ([Barajas03], p. 20 (Edición impresa))

9
F igura N o. 2.11. C iclo a la izquierda. F uente: ([JH H LT99], p. 6)

2.3.2.4. Ciclo a la derecha

Una huella es de la clase ciclo a la derecha cuando:

• Posee un núcleo definido


• Las líneas de los surcos que rodean el núcleo (que inician y terminan en el
mismo lugar normalmente) forman ciclos que se recorren en sentido horario.

F igura N o. 2.12. C iclo a la derecha. F uente: ([JH H LT99], p 6)

2.3.2.5. Espiral

Una huella es de la clase espiral cuando:

• Posee un núcleo definido


• Las líneas de los surcos que rodean el núcleo forman una espiral.

10
F igura N o. 2.13. C iclo a la derecha. F uente: ([JH H LT99], p 6)

También se pueden clasificar las huellas dactilares de acuerdo a los siguientes


11
parámetros :

2.3.3. Puntos singulares12

Se identifica la posición del núcleo, la cantidad de deltas y su ubicación.

2.3.4. Conteo de surcos13

Se clasifican las huellas de acuerdo a la cantidad de surcos que intersecan con la


línea trazada entre el núcleo y el delta más cercano.

Otro sistema de clasificación que también es utilizado es el que utiliza el FBI. Esta
institución ideó un sistema de clasificac ión para las huellas dactilares que toma en
14
cuenta los siguientes parámetros :

• El dedo en el que se toma la huella dactilar. (como clasificación primaria)


• Clasificación según Henry. (como clasificación secundaria)
• Conteo de ciclos (si la huella es espiral según la anterior clasificación) o por
cantidad de surcos (como clasificación subsecundaria).

11
Fuente: ([JHHLT99], cap. 3)
Fuente: ([JHHLT99], p. 113)
12

F uente: ([JHHLT99], p. 115)


13
14
F uente: ([JHHLT99], pp. 116-117)

11
3. SISTEMAS AUTOMATIZADOS DE IDENTIFICACIÓN DE
HUELLAS DACTILARES (AFIS)

3.1 DEFINICION

Un Sistema Automatizado de Identificación de Huellas Dactilares (AFIS) es aquel


que permite buscar, con base a las características de una huella dactilar obtenida,
en una base de datos de características de huellas dactilares para encontrar un
subconjunto de huellas con el que comparte la mayor cantidad de características
posible.

El propósito de un AFIS es obtener, a partir de una huella dactilar, la identidad de


su propietario. Esto se logra buscando entre un conjunto de huellas previamente
almacenadas, aquellas que sean más “parecidas” a la huella dada.

La calidad de las huellas dactilares de entrada puede ser baja, debido a que por lo
general, no son obtenidas en condiciones controladas, por ejemplo, si la huella
dactilar de entrada fue obtenida de una escena de un crimen (ya que normalmente
se obtiene sólo un fragmento de la misma), o si la huella obtenida estaba grasosa,
o la superficie sobre la que fue dejada es irregular.

3.2 ESQUEMA DE FUNCIONAMIENTO DE UN AFIS

Un AFIS esta constituido principalmente por ([JP01], Sección 3):

• Sistema de adquisición de datos: La huella d igital a ser analizada es


capturada.
• Sistema de extracción de características: Se obtiene una representación de
la huella a partir de la imagen.
• Sistema de toma de decisiones: Se compara la representación de la huella
con las representaciones almacenadas en el sistema. La comparación de las
representaciones, suele arrojar un puntaje o distancia, que se usa para
seleccionar los más parecidos.

Un AFIS debe tener en cuenta los siguientes aspectos ([JH96], Sección 1):

12
• Adquisición de la huella
• Verificación de la huella
• Identificación de la huella
• Clasificación de la huella: asignar a una huella dada una de las categorías
pre-especificadas.

El esquema de funcionamiento de un Sistema de Identificación de Huellas


Dactilares por el que hemos optado, es el siguiente:

13
1. Adquisición de las huellas

2. Preprocesamiento

3.1. Clasificación 3.2. Detección de Minucias

4. Codificación

Base de datos de
información de 5. Comparación
huellas

6. Lista de huellas
Candidatas

7. Selección de la huella
(Búsqueda forense)

8. Coincidencia

F igura 3.1. E squema de un sistema A F IS . ([JH H LT99], P g. 10)

14
Inicialmente, se realiza el proceso de adquisición de las huellas dactilares, que
consiste en obtener una representación digital de la impresión de la huella, esto se
logra mediante dispositivos digitalizadores (escáneres, por ejemplo).

A continuación, el sistema realiza el preprocesamiento de la imagen de la huella, lo


que genera una imagen segmentada, la imagen segmentada va a servir de entrada
para los procesos de clasificación y detección de minucias. Una vez realizado este
proceso, se inicia el de clasificación de la huella y se procede a la detección de las
minucias.

Los datos obtenidos serán el índice de búsqueda en la base de datos de huellas,


donde se buscarán una cantidad N de huellas que tengan información similar o
igual a la insertada en el índice. Una vez hecho esto, se muestran los N resultados
similares y el usuario selecciona uno de estos resultados.

La explicación de cada una de estas fases se encuentra en la siguiente sección.

3.3 ETAPAS QUE SIGUE UN SISTEMA AFIS PARA IDENTIFICAR UNA


HUELLA

Las etapas que sigue un sistema AFIS para la identificación de una huella dactilar
son:

1. Se realiza el proceso de adquisición de la huella, en el que se obtiene la


huella digital de entrada y se aplica el proceso de digitalización. Al finalizar
este proceso, se obtiene una imagen digitalizada de la huella a identificar.
2. Se realiza el preprocesamiento de la imagen digital, que consiste en
remover las zonas “sucias” que impiden la fácil obtención de las
características de la imagen, luego se realiza la b inarizac ión y finalmente, el
adelgazamiento de las líneas de los surcos en la imagen (se disminuye el
grosor de estas líneas a un píxel).
3. Se realizan los procesos de clasificación (3.1) y detección de minucias (3.2),
que consisten en identificar el tipo de la huella (de acuerdo a la clasificación
que se haya escogido), y en identificar las minucias que contenga la huella
(de las cuales se extrae su ubicación, orientación y tipo de minucia).
Además, se extrae información adicional de la huella, como por ejemplo, la
distancia del núcleo al delta de la huella dactilar.

15
4. Se realiza el proceso de codificación, que consiste en organizar la
información extraída de la imagen de la huella dactilar de tal forma que
permita realizar la búsqueda de las huellas similares en la base de datos.
5. Se realiza el proceso de comparación, donde se buscan aquellas huellas en
la base de datos cuyas características son similares a las de la huella de
entrada.
6. Se muestra en un listado las huellas similares.
7. El usuario selecciona la huella que considere mas parecida a la original.
8. Se muestra la información completa de la huella seleccionada (como p. ej.
Información de la persona a la que pertenece).

3.4 FASES DE CONSTRUCCION DEL SISTEMA AFIS PROPUESTO


UTILIZANDO REDES NEURONALES

El sistema AFIS propuesto sigue 3 etapas en su construcción, las cuales son:

1. Preprocesamiento de la imagen de la huella dactilar de entrada.


2. Extracción de minucias de la huella dactilar.
3. Diseño e implementación del sistema de persistencia y búsqueda

En la Etapa 1, se realizan las siguientes acciones:

1. Extracción y Limpieza de la huella: En la limpieza de la huella, se separa la


imagen de la huella de los demás elementos de la imagen que puedan interferir
cuando se vayan a extraer las características, como por ejemplo, rótulos,
cuadros, letras y números.
2. Binarización: En la etapa de binarizac ión, se procede a realizar la conversión de
la imagen (que está en escala de grises o a color) a una imagen en blanco y
negro, para facilitar el proceso de extracción de minucias y de adelgazamiento.
3. Adelgazamiento: En la etapa de adelgazamiento, se reduce el grosor de las
líneas de los valles, de tal forma que el grosor de las líneas quede de un valor
mínimo preestablecido.

En la Etapa 2, se procede a realizar la extracción de las minucias de la imagen y se


clasifica la huella de acuerdo a los tipos de Henry. Con base a esta información, se
construye el índice, que servirá para la búsqueda dentro de la base de datos de
huellas.

16
En la Etapa 3, se procede a realizar la búsqueda de las huellas dactilares que sean
similares a la huella dactilar de entrada (tanto en cantidad y posición de minucias y
que pertenezcan como en la clasificación según Henry) en la base de datos de
huellas, y posteriormente se muestran en un listado.

Para simular la etapa adquisición de las imágenes de las huellas dactilares, se


utilizará la base de datos de huellas NIST-14 del Departamento Federal de
Investigación de Estados Unidos (FBI). ([NIST02])

17
4. ETAPA DE PREPROCESAMIENTO DE LA IMAGEN DE LA
HUELLA DACTILAR DE ENTRADA

4.1 DESCRIPCION DE LA FASE DE PREPROCESAMIENTO

La fase de preprocesamiento consiste en preparar la imagen de una huella dactilar


para que se puedan realizar con mayor facilidad el proceso de extracción de
minucias.

Esta preparación requiere la aplicación de algunos filtros sobre la imagen de


entrada, los cuales son:

1. Filtros para limpieza de la imagen. El objetivo que cumplen estos son el de


remover aquellos elementos dentro la imagen que son externos a la huella
dactilar que se encuentra impresa.
2. Filtros para binarización de la imagen. El objetivo que cumplen estos es el de
realizar la conversión de la imagen obtenida (que normalmente se encuentra
a escala de grises) en una imagen a blanco y negro.
3. Filtros para adelgazamiento de la imagen: El objetivo que cumplen estos es
disminuir el grosor de los surcos de la huella hasta un píxel.

Una vez aplicados estos filtros, la imagen se encuentra lista para realizar la
extracción de sus minucias.

Estos filtros en su mayoría logran su objetivo, pero hay condiciones en las cuales
estos filtros podrían no ser efectivos o podrían agregar información que afectaría
de manera considerable la extracción de sus minucias. Ejemplos en los cuales no
son tan efectivos los filtros son:

1. Huella dactilar grasosa.


2. Huella dactilar reseca.
3. Huella con ruido en sus límites. Cuando dentro de la imagen, la huella dactilar
tiene en alguno de sus extremos ruido (como por ejemplo, números o letras
anotados o partículas grandes de polvo), algunos filtros de limpieza
interpretan este ruido como parte de la huella, lo cual hace que se generen
en estas zonas minucias falsas o información inconsistente que dificulta el
proceso de extracción de minucias.

18
La figura que se muestra a continuación muestra con claridad el proceso de
preprocesamiento de una imagen de una huella dactilar:

Limpieza

Binarización

Adelgazamiento

Figura 4.1. Preprocesamiento de la imagen. Todas estas imagines son producto de aplicar los
procesos a la imagen original obtenida de ([NIST02], imagen s0000001)

El sistema AFIS propuesto realiza en el siguiente orden la aplicación de los filtros:

1. Filtros de Limpieza
2. Filtros de Binarización

19
3. Filtros de Adelgazamiento
A continuación se realizará la descripción y el funcionamiento de los filtros de
limpieza, binarización y adelgazamiento probados.

4.2 DESCRIPCIÓN DE LOS FILTROS DE IMÁGENES UTILIZADOS Y


PROBADOS

4.2.1. Filtro para la limpieza de la huella dactilar

Este filtro tiene como propósito eliminar ruido e información irrelevante que se
encuentre presente dentro de la imagen, tales como el efecto sal y p imienta o la
presencia de elementos extraños en la imagen de la huella dactilar como por
ejemplo los rótulos que se encuentran cercanos a la huella.

El filtro para la limp ieza de la huella que fue probado fue el método que ha sido
propuesto por Watson, Candela y Grother en ([WCG94]).

Este filtro tiene como propósito principal la eliminación de las áreas que no son
correspondientes a la huella.

En el caso particular de las imágenes de la base de datos NIST-14 ([NIST02]), se


encuentran zonas que pueden afectar el proceso de extracción de minucias.
Estas zonas son:

1. Zonas donde se colocan dígitos escritos a mano. Estas zonas afectan la


obtención de las minucias debido a que normalmente se encuentran estos
dígitos cerca o encima de la esquina superior derecha de la zona
perteneciente a la huella dactilar.
2. Zonas donde se encuentran bordes rectos: Estas zonas normalmente
aparecen cerca de los límites de la imagen. Estas zonas son irrelevantes
para su análisis, por lo tanto, deben eliminarse de la imagen.
3. Zona donde se especifica el tipo de dedo perteneciente a la huella dig ital.
En todas las imágenes de la base de datos se encuentra este rótulo cerca
de la esquina inferior izquierda de la imagen. En algunas de éstas, el rótulo
se encuentra encima de la parte inferior izquierda de la zona perteneciente
a la huella dactilar, lo cual añade ruido en este sector.

20
Imagen 4.2: Imagen original del N IS T14 con las zonas descritas. O btenida de ([N IS T02], imagen
s0000008)

Los métodos que se utilizan para la aplicación del filtro probado se dividen en 3:

1. Elección de la mascara inicial.


2. Operaciones sobre la mascara.
3. Aplicación de la mascara a la imagen.

4.2.1.1 Elección de la mascara inicial

La separación se puede hacer por píxeles, donde cada píxel es clasificado como
fondo/huella o por sectores donde esta misma clasificación se aplica a sectores
de píxeles y no a píxeles individuales. En esta instancia se diferencian los
sectores de la imagen que bajo algún criterio pertenecen a la huella.

4.2.1.1.1 Separación por píxeles

Los métodos en la sección 4.2.1.2 trabajan sobre mapas por sectores. El


propósito de los filtros de esta sección es eliminar parte del ruido, para que
las etapas posteriores trabajen sobre una imagen mas limpia.

A. Umbral promedio

Son considerados como píxeles de la huella aquellos cuya intensidad sea


inferior a la de todos los píxeles de la imagen.

21
Imagen 4.3. Imagen 4.2 tras la aplicación del filtro
de separación por píxeles.

Se observa que desaparecen algunos márgenes y algunos píxeles en los


valles.

B. Umbral recursivo ([GW02])

Se estima una intensidad de píxel aproximada, esta fue estimada en 230.


Este valor fue determinado estudiando la distribución de intensidades en las
imágenes. Este nivel de intensidad será el umbral.

Luego, se calcula el promedio de los píxeles mayores al umbral, y de los


menores o iguales a este. De estos dos valores se calcula el promedio, y
este es el nuevo umbral.

El proceso se repite hasta que el cambio del umbral sea mínimo.

Imagen 4.4. H istograma de la imagen con


Imagen 4.3. Imagen 4.2 tras la aplicación del filtro umbral elegido
de separación por píxeles.

22
Son considerados de la imagen, aquellos píxeles cuya intensidad es inferior
al umbral.

Este filtro elimina más información que el del umbral promedio, sin perder
información de la huella.

4.2.1.1.2 Separación por sectores

Un sector es un subconjunto de puntos de la imagen, en particular usaremos


sectores cuadrados. En este tipo de separación, la pertenencia a la huella, se
determina para el sector y no para cada píxel individual. Se pueden tomar
diferentes tamaños de ventanas.

Sea Px, y el punto en las coordenadas x, y de la imagen.

Sea Si , j el punto en las coordenadas x, y de la imagen.

Entonces Px , y ∈ S i , j ≡ ( x ∈ [in, in + ( n − 1) ]) ∧ ( y ∈ [ jn , jn + ( n − 1) ])

Cada sector comprende áreas de n*n de la imagen original. (Excepto en los


bordes).

I ( Px , y ) es la intensidad de la imagen en el punto Px, y .

Los datos de un sector para determinar si es aceptado o no son:

A. Por promedio
( + Px , y | Px, y ∈ S i , j : I (Px, y ))
promedio( S i, j ) =
S i, j

B. Por mínimo
min imo( S i, j ) = ( s | (∀Px , y | Px, y ∈ Si , j : s ≤ I ( Px , y )) ∧ (∃Px, y | Px ,y ∈ S i, j : s = I ( Px, y )))

C. Por máximo

23
max imo( Si , j ) = (s | (∀Px , y | Px, y ∈ S i , j : s ≥ I ( Px , y )) ∧ (∃Px, y | Px, y ∈ Si , j : s = I (Px, y )))

Estos datos que describen al sector se comparan luego con algún criterio de
aceptación, algunos criterios de aceptación posibles son:

• Umbral fijo determinado empíricamente. (establecido en 235, pues este


daba los mejores resultados según las pruebas realizadas).
• Promedio global.
• Mediana global.
• Valor determinado mediante el algoritmo de umbral iterativo.

Puesto que se están buscando los sectores de la imagen que bajo algún
criterio son más oscuros que el fondo entonces el criterio de aceptación de un
sector tiene la siguiente forma.

aceptacion ( S i, j ) = caracteris tica _ local ( S i, j ) < caracteris tica _ global

Entonces existen tres características del sector posibles, y cuatro


características globales, por lo tanto se tienen 12 criterios de aceptación
posibles.

24
C aracterística Local
P romedio M áximo M ínimo M ediana
G lobal P romedio.

M ediana.

Umbral
iterativ o.

U mbral fijo.

F igura 4.5. C aracterísticas globales

Los criterios que rechazan una parte significativa de la huella son:

• Aquellos que usan como característica local el máximo.


• Aquellos que usan como característica global el promedio.

Los criterios que incluyen parte significativa del fondo son los que usan como
característica local el mínimo.

Los criterios que dan buenos resultados son:

• El umbral fijo como criterio global: Este da buenos resultados con el


promedio o la mediana como criterio local.
• El umbral iterativo como criterio global: Da buenos resultados con la
mediana como criterio local.

25
Los resultados que dan los criterios considerados buenos a pesar de ser
diferentes entre si son iguales para el filtrado al que se someterán
posteriormente, por tanto se usará el de umbral fijo como criterio global y el
promedio como criterio local, pues de los tres, es el algoritmo mas eficiente.

En relación al tamaño de los sectores, si el tamaño es muy pequeño, se


obtienen mapas que aceptan gran cantidad de ruido, si por el contrario si el
tamaño es relativamente grande, se descartan partes significativas de la
frontera de la huella, a través de experimentación se determino que 16
arrojaba un mapa que descartaba parte significativa del fondo sin quitar
segmentos con información relevante de la huella.

F igura 4.6 M apas obtenidos con tamaño de sector 2, 4, 8, 16 y 32 respectiv amente.

4.2.1.2. Selección de la huella en la mascara.

La mascara obtenida en la sección anterior, aun contiene la parte más


significativa del ruido (constituido por la escritura y los márgenes) de la imagen
original. Esta sección se ocupa de eliminar este ruido de la mascara. Existe
también parte del ruido que esta dentro del sector de la imagen donde se
encuentra la huella. Esta sección se ocupa de remover del mapa los sectores
ajenos a la huella. Existen varios enfoques:

26
A. Por erosión ([WCG94])

Se obtienen mascaras comparando el promedio de sectores locales contra


umbrales fijos entre el mínimo global y el máximo global (cubriendo todo el
rango de valores posibles en la imagen), la mascara elegida es aquella que
tenga menor numero de transiciones y en la cual el numero de píxeles negros
(seleccionados), este entre ciertos limites predefinidos, esto para evit ar
obtener mascaras triviales (p.e. con un umbral muy alto que seleccionara
gran parte del fondo y el numero de transiciones será bajo). El número de
transiciones es el número de cambios entre negro y blanco en barridos por
columnas y por filas de la imagen.

El mapa obtenido se erosiona de la siguiente manera: Se vuelve blanco cada


píxel que tenga uno o más vecinos blancos, se repite este proceso 3 veces.

Sobre este mapa, se conserva el conjunto de píxeles negros conexos con


mayor número de elementos.

En la siguiente imagen, se puede observar la aplicación de este filtro:

F igura 4.7. Imagen O riginal – Imagen filtrada

B. Por morfología.

En los mapas obtenidos, el ruido suele tener forma de líneas tanto curvas
como rectas, pero en todo caso mucho más delgadas que el conjunto de
puntos que corresponden a la huella.

En la imagen siguiente se aprecia claramente que la cantidad de puntos


negros en la vecindad de un punto que pertenece a la huella es mucho más

27
alta que la cantidad de puntos en la vecindad de los márgenes o la escritura
que hay en la imagen.

Se preservan los puntos negros del mapa en cuya vecindad (cuadrada) el


número de puntos negros sobrepase cierto umbral preestablecido.

Este umbral depende de la relación entre el tamaño de la ventana y la


curvatura de el objeto (la huella en este caso).

Si se elige un umbral muy grande, la selección abarcará un sector muy


reducido alrededor del centro de la huella, perdiéndose información
potencialmente útil. Si por el contrario, se elige un umbral muy pequeño, se
preservarán demasiados píxeles que no pertenecen a la huella o pertenecen a
su periferia.

En todo caso el umbral debe ser cercano e inferior a 50%, para obtener
formas convexas.

El umbral se determino en 40% tras varias pruebas, al observar que con este
valor se obtenían las selecciones más relevantes.

F igura 4.8. Los cuadrados grises delimitan la v ecindad de un punto.

En los mapas obtenidos, se vuelven negros los píxeles que eran previamente
negros, y en cuya vecindad (cuadrado con lado v centrado en el punto) la
proporción de píxeles negros supera cierto umbral.

28
F igura 4.9. S ector que se conserv a de la imagen

Se conservan de este mapa, los conjuntos de píxeles negros conexos cuyo


tamaño supere cierto umbral.

4.2.2. Filtros de binarización de la huella dactilar

Estos filtros tienen como objetivo principal limitar el espacio de colores que utiliza
una imagen de entrada (que se encuentra en escala de grises o a color) a dos
colores, los cuales son el blanco y el negro. En el caso particular de las imágenes
de la base de datos NIST-14 ([NIST02]), éstas se encuentran en escala de grises,
lo cual implicó que los filtros probados funcionan únicamente para imágenes de
este tipo.
Los filtros probados realizan de manera apropiada la limitación del espacio de
colores para el caso de una imagen de una huella dactilar que no se encuentre
grasosa. Si la huella dactilar obtenida estaba grasosa, algunos de estos filtros
eliminan gran parte de los surcos, lo cual hace que se produzca una pérdida de
información en estos sectores.

Los filtros probados son los que se muestran a continuación:


15
4.2.2.1. Binarización por el método de Umbralización Global

Este método consiste en calcular un valor de umbral sobre toda la imagen. Una
vez obtenido el umbral, se cambian los colores de cada píxel de la siguiente
forma:
• Aquellos píxeles cuyo nivel de intensidad de color sean menores o iguales
que el valor de umbral, se dibujan con el color blanco.
• Aquellos píxeles cuyo nivel de intensidad de color sean mayores que el valor
de umbral, se dibujan con el color negro.

15
Citado en ([JHHLT99], p. 159)

29
El ajuste del valor del umbral debe hacerse de acuerdo a las condiciones en las
que se encuentre la imagen. Si la imagen fue obtenida de una huella grasosa,
un valor bajo de umbral lograría mejorar la visibilidad de los surcos, mientras
que en huellas que no los son un valor más alto del umbral logra aumentar la
nitidez de los surcos.
El caso para el cual el valor de umbral se obtiene un result ado apropiado para
la mayoría de las imágenes es el valor de intensidad promedio de los colores de
la imagen.

En el sistema AFIS propuesto, estos filtros se aplican posteriormente a los


filtros de limpieza de la imagen.
16
4.2.2.2. Binarización por el método de Umbralización Local

Este método consiste en calcular un valor de umbral sobre el vecindario al cual


pertenece un píxel perteneciente a la imagen. El vecindario se define sobre
bloques cuadrados de cierto tamaño cuyo centro del bloque sea el píxel a
cambiar de color. En este caso, se obtiene el umbral calculando el promedio de
intensidad de color dentro del bloque en el que se encuentre explorando. Una
vez obtenido el umbral, se cambian los colores del píxel central de la siguiente
forma:
• Aquellos píxeles cuyo nivel de intensidad de color sean menor que el valor
de umbral, se dibujan con el color blanco.
• Aquellos píxeles cuyo nivel de intensidad de color sean mayores que el valor
de umbral, se dibujan con el color negro.

El tamaño de los bloques utilizados para realizar las pruebas fueron de 8x8,
16x16, 32x32 y 64x64. Estos valores se escogieron inicialmente debido a que
con estos tamaños de bloques se obtienen resultados favorables.

4.2.3. Filtro para el adelgazamiento de los surcos de la huella

Este filtro tiene como propósito principal reducir el grosor de las líneas de los
surcos a un valor mínimo preestablecido. Esto se hace para facilitar en parte el
proceso de obtención de las minucias en la medida de que ya se puede extraer la
información que es estrictamente necesaria de la huella, y que además, el grosor
de los surcos no contribuye al reconocimiento.

16
Citado en ([JHHLT99], p. 159)

30
El filtro de adelgazamiento probado se basa en el que plantearon Stefanelli y
Rosenfeld (1971) en ([SR71]). Este filtro permite encontrar la línea medial de la
imagen.

Los pasos que sigue el algoritmo que implementa este filtro son:

• Definir los puntos oscuros de la imagen y los puntos de contorno.

Los puntos oscuros de la imagen corresponden a los surcos y se denominarán


VERDADEROS (representado por 1), los otros puntos son los FALSOS
(representado por 0).

Los puntos de contorno son aquellos que pueden pertenecer al borde del
surco. Se definen como los ilustra la figura:

X X X X 0 X X X X X X X
X 1 X X 1 X 0 1 X X 1 0
X 0 X X X X X X X X X X
a) b) c) d)
F igura 4.10. Definición de los puntos de contorno, las equis(X) representan v alores que son indiferentes.

Los puntos finales son aquellos que podrían pertenecer a la línea medial de
la imagen. Se definen como los ilustra la figura:

X X X 0 X X Y 0 X Y Y 0
0 1 0 Y 1 X Y 1 X Y 1 X
Y Y Y Y Y 0 Y 0 X 0 X X

X X X X X 0 X 1 0 X 0 X
X 1 0 X 1 1 0 1 X 1 1 X
0 1 X X 0 X X X X 0 X X

X X X X X X X 0 1 1 0 X
0 1 X X 1 0 X 1 0 0 1 X
1 0 X X 0 1 X X X X X X

F igura 4.11. Definición de puntos finales al menos una x y una y debe ser 1.

31
La imagen de salida es una imagen en blanco y negro con las mismas
dimensiones que la imagen de entrada.

Posteriormente, se realizan los siguientes pasos:

1. Se eliminan los píxeles que sean verdaderos y no sean finales y sean de


contorno según la condición de la figura 4.10, a.
2. Se eliminan los píxeles que sean verdaderos y no sean finales y sean de
contorno según la condición de la figura 4.10, b.
3. Se eliminan los píxeles que sean verdaderos y no sean finales y sean de
contorno según la condición de la figura 4.10, c.
4. Se eliminan los píxeles que sean verdaderos y no sean finales y sean de
contorno según la condición de la figura 4.10, d.
5. Los 4 primeros pasos se repiten hasta que todos los puntos verdaderos
en la imagen de salida sean puntos finales.

4.3. RESULTADOS Y CONCLUSION DE LAS PRUEBAS DE APLICACIÓN


DE LOS FILTROS PROBADOS

Cada tipo de filtro fue probado para distintas imágenes de huellas con
características particulares.
Las pruebas correspondientes para cada uno de los filtros probados se muestran a
continuación:

4.3.1. Filtro de limpieza de Watson, Candela y Grother ([WCG94])

Para la prueba de este filtro, se extrajo una muestra inicial de 81 imágenes de la


base de datos NIST-14 ([NIST02]); para las cuales se obtuvieron los siguientes
resultados:

Para todas las imágenes se logró la eliminac ión de todas las zonas donde se
encuentran los bordes rectos de la imagen y la eliminación de las zonas en
blanco no pertenecientes a la huella dactilar. También se eliminaron aquellos
números cercanos a los bordes rectos de la imagen.

32
En aquellas imágenes donde la zona de la huella dactilar no estaba cercana a
caracteres tipográficos o trazos manuscritos el filtro fue efectivo. Algunas de las
imágenes con el filtrado exitoso se muestran a continuación:

F igura N o. 4.12. Imagen O riginal (s0000001) F igura N o. 4.13. Imagen Resultante


Base de Datos N IS T-14 ([N IS T02]) F iltro de Limpieza ([WC G 94]) A plicado

F igura N o. 4.14. Imagen O riginal (f0000001) F igura N o. 4.15. Imagen Resultante


Base de Datos N IS T-14 ([N IS T02]) F iltro de Limpieza ([WC G 94]) A plicado

33
F igura N o. 4.16. Imagen O riginal (s0000003) F igura N o. 4.17. Imagen Resultante
Base de Datos N IS T-14 ([N IS T02]) F iltro de Limpieza ([WC G 94]) A plicado

En aquellas imágenes donde el filtro no fue del todo eficaz tenían como
característica predominante la existencia de algunas marcas tipográficas o
manuscritas que se encontraban encima o muy cercanas al área de la huella
dactilar. Algunas de estas imágenes se muestran a continuación:

F igura N o. 4.18. Imagen O riginal (f0000099) F igura N o. 4.19. Imagen Resultante


Base de Datos N IS T-14 ([N IS T02]) F iltro de Limpieza ([WC G 94]) A plicado

34
F igura N o. 4.20. Imagen O riginal (f0000006) F igura N o. 4.21. Imagen Resultante
Base de Datos N IS T-14 ([N IS T02]) F iltro de Limpieza ([WC G 94]) A plicado

F igura N o. 4.22. Imagen O riginal (s0000006) F igura N o. 4.23. Imagen Resultante


Base de Datos N IS T-14 ([N IS T02]) F iltro de Limpieza ([WC G 94]) A plicado

Las áreas que se encuentran señaladas con el óvalo de color rojo muestran
claramente el ruido que no se pudo eliminar de la huella dactilar debido a su
cercanía con la misma.

35
4.3.2. Binarización por el método de umbralización global

Para probar el filtro, se utilizaron como imágenes de prueba las imágenes de


salida de la prueba del filtro de limpieza. El valor de umbral seleccionado para
todas las imágenes es el promedio de intensidad de gris de la imagen.

Algunas de las imágenes a las cuales se les aplicó el filtro se muestran a


continuación:

36
F igura N o. 4.13. Imagen de E ntrada
F igura N o. 4.24. Imagen Resultante
F iltro de Limpieza ([WC G 94]) A plicado
F iltro de Binarización por umbralización global
aplicado

F igura N o. 4.17. Imagen de E ntrada


F igura N o. 4.25. Imagen Resultante
F iltro de Limpieza ([WC G 94]) A plicado
F iltro de Binarización por umbralización global
aplicado

F igura N o. 4.23. Imagen de E ntrada


37 F igura N o. 4.26. Imagen Resultante
F iltro de Binarización por umbralización global
F iltro de Limpieza ([WC G 94]) A plicado
aplicado
Como se ve en todas las imágenes de la tabla, la mayoría de los surcos se tornan
más nítidos cuando se aplica el filtro.

En algunas de las imágenes probadas se elimina definitivamente parte del ruido


externo de la huella, pero se pierde información en algunas zonas de la huella,
especialmente en las zonas de color gris oscuro de la huella donde aumenta el
grosor de los surcos (debido posiblemente a que la huella se encontraba grasosa
en el momento de la obtención). Este hecho hace que se junten algunos de los
surcos al momento de hacer la binarizac ión. El efecto se ve claramente en la
imagen 4.17 cuando se le aplica el filtro.

También existe pérdida de información en las zonas de la huella dactilar que


están con un color de gris mas claro con respecto al segmento restante de la
huella, ya que estos colores normalmente no superan al valor de umbral y por lo
tanto, desaparecen estos sectores de la huella.

El filtro se comporta muy bien cuando en la zona de la huella se intenta


mantener una tonalidad de gris uniforme, como lo sucedido con la binarizac ión
de la imagen 4.13.

4.3.3. Binarización por el método de umbralización local

Para probar el filtro, se utilizaron como imágenes de prueba las imágenes de


salida de la prueba del filtro de limpieza.

El proceso de umbralización local fue realizado considerando vecindarios en


bloques de tamaño 4x4, 8x8, 16x16, 32x32 y 64x64, siendo el último tamaño de
bloque en el cual se obtuvieron los mejores resultados.

Algunas de las imágenes a las cuales el filtro fue aplicado se muestran a


continuación:

38
F igura N o. 4.13. Imagen de E ntrada F igura N o. 4.27.Imagen Resultante
F iltro de Limpieza ([WC G 94]) A plicado F iltro de Binarización por umbralización local 64x64
aplicado

F igura N o. 4.17. Imagen de E ntrada F igura N o. 4.28.Imagen Resultante


F iltro de Limpieza ([WC G 94]) A plicado F iltro de Binarización por umbralización local 64x64
aplicado

F igura N o. 4.23. Imagen de E ntrada 39 F igura N o. 4.29. Imagen Resultante


F iltro de Limpieza ([WC G 94]) A plicado F iltro de Binarización por umbralización local 64x64
aplicado
Comparando con la binarización global, mejora notablemente la nitidez de las
líneas de los surcos especialmente en las zonas más oscuras, debido a que el
vecindario que se toma en cuenta en la mayoría de los casos tiene una tonalidad
de gris similar al p íxel a convertir, por lo tanto, se logran resultados mas precisos.

Pero si el tamaño del bloque a considerar es muy pequeño, se forman “burbujas”


dentro de las líneas de los surcos, lo cual d ificulta el proceso de adelgazamiento.
Otro problema que genera es que a veces corta las líneas de los surcos, lo que
hace que se generen minucias falsas. Un ejemplo de esto se ve en la sigu iente
imagen, a la cual le fue aplicado el filtro considerando una máscara de 4x4.

40
F igura N o. 4.30. Imagen Resultante
F iltro de Binarización por umbralización local 4x4 aplicado

4.3.4. Filtro de adelgazamiento de Stefanelli y Rosenfeld ([SR71])

Las imágenes con las cuales se probó el filtro fueron las imágenes de salida del
filtro de binarización por umbralización local (véase sección 4.3.2).

41
Las imágenes con el filtro aplicado se muestran a continuación:

42
F igura N o. 4.27. Imagen de E ntrada F igura N o. 4.31. Imagen Resultante
F iltro de Binarización por umbralización local F iltro de adelgazamiento aplicado
64x64 aplicado

F igura N o. 4.28: Imagen de E ntrada


F iltro de Binarización por umbralización local F igura N o. 4.32. Imagen Resultante
64x64 aplicado F iltro de adelgazamiento aplicado

F igura N o. 4.29. Imagen de E ntrada 43 F igura N o. 4.33. Imagen Resultante


F iltro de Binarización por umbralización local
F iltro de adelgazamiento aplicado
64x64 aplicado
Como se ve en las 3 imágenes, el filtro de adelgazamiento logra reducir el grosor
de todas las líneas de los surcos de manera efectiva. La eficacia del filtro
depende exclusivamente de la calidad de la imagen de entrada.

El problema del filtro radica en que hay ocasiones en las cuales el filtro empieza
a conectar algunos surcos, generando bifurcaciones falsas, como por ejemplo, en
las zonas donde no se ven claramente las divisiones entre surcos, que
normalmente son zonas que en la imagen original estaban de color gris oscuro y
que en el proceso de binarización terminaron conectándose algunas líneas de
surcos.

En algunas imágenes el filtro genera puentes falsos, especialmente en los


sectores donde existen minucias del tipo punto.

4.3.5. Conclusiones

De acuerdo a los resultados de las pruebas de los filtros, se ve claramente que


los filtros son efectivos en algunos casos y que para los mismos existen
condiciones para los cuales no son efectivos.
Aunque los filtros no funcionen adecuadamente en todos los casos, logran
obtener una imagen final con datos lo suficientemente confiables para iniciar el
proceso de extracción de minucias.

Existen filtros y algoritmos con los cuales se obtienen resultados mas


satisfactorios, pero dado el alcance de este trabajo, no se implementaron ya que
el preprocesamiento no es el único objetivo del mismo.

44
5. ETAPA DE EXTRACCION DE MINUCIAS DE LA HUELLA
DACTILAR

5.1. DESCRIPCION DE LA ETAPA DE EXTRACCION DE MINUCIAS

La etapa de extracción de minucias busca identificar y extraer la información de las


minucias presentes en la huella dactilar.

En la etapa de extracción de minucias, se realizan los siguientes pasos:

1. Búsqueda: Se procede a realizar la búsqueda de las minucias en la huella


dactilar.
2. Identificación: Una vez encontrada una minucia, se procede a identificar sus
tipos, y se extraen sus coordenadas y su orientación con respecto a un
punto de referencia común.

Existen diferentes métodos para realizar la extracción de minucias, siendo el de


mayor relevancia para este trabajo el método de extracción de minucias utilizando
redes neuronales, que se explicará a continuación.

5.2. EXTRACCION DE MINUCIAS UTILIZANDO REDES NEURONALES

De acuerdo con ([JHHLT99]), la extracción de minucias basado en redes


17
neuronales se compone principalmente de los siguientes pasos :

Paso 1: Realizar el proceso de normalización del mapa de direcciones de la imagen


de entrada. En este proceso el mapa se orienta con respecto a un punto central
(preferiblemente el núcleo o el centro de la huella dependiendo del caso) y se
escala de acuerdo a la densidad de las líneas de surcos. Normalmente la imagen
de entrada tiene que estar limpia, binarizada, y en algunos casos, adelgazada.

Paso 2: Representar la imagen orientada y escalada en un vector.

17
Véase ([JHHLT99], pp. 180-186)

45
Paso 3: Se divide el vector en pedazos iguales de cierto tamaño. Este proceso se le
conoce con el nombre de teselación.

Paso 4: Se pasan los bloques a una red neuronal clasificadora, en la que se utilizan
mas que todo los perceptrones multicapa. Normalmente, estas redes tienen una
arquitectura de tres niveles, es decir, que poseen tres capas de neuronas: La capa
de entrada, la capa oculta o intermedia y la capa de salida.
En el caso de la mayoría de las redes neuronales utilizadas para la extracción de
minucias, el número de neuronas de salida depende del tipo de minucias que se
van a identificar. La salida proveniente de estas neuronas determina si en el
bloque explorado corresponde a una minucia.

Adicionalmente, algunos sistemas de detección de minucias hacen uso de la


posición del núcleo y del delta para establecer un marco de referencia consistente
entre distintas tomas de una misma huella. El sistema de detección de minucias
que se va a utilizar para la imp lementación de esta etapa utiliza uno de tales
sistemas de referencia, y será descrito en la siguiente sección.

5.3. DESCRIPCIÓN DEL SISTEMA DE DETECCIÓN DE MINUC IAS


UTILIZADO

El sistema de detección de minucias utilizado en este trabajo corresponde a la


implementación del sistema de detección de minucias realizada por Forero (véase
[Forero04]).

Este sistema requiere la aplicación de los siguientes pasos previos sobre la imagen
de la huella dactilar:

1. Haber realizado un proceso de limpieza sobre la imagen de la huella dactilar de


tal forma que se elimine gran parte de los elementos no pertenecientes al
sector perteneciente a la huella dactilar.
2. Haber realizado un proceso de binarizac ión de la imagen de la huella dactilar
después de haber realizado el proceso de limpieza.

Debido a que en este sistema se trabaja sobre la imagen binarizada de la huella


dactilar, no se requiere de la aplicación de un filtro de adelgazamiento.

46
Una vez se encuentre preparada la imagen de la huella dactilar, se procede a rotar
la imagen de la huella dactilar de al forma que quede centrada.

Este sistema realiza los siguientes pasos correspondientes al proceso de detección


de minucias:

1. Ubicación del núcleo y del delta.


2. Selección del área de interés.
3. Partición en bloques del área de interés e identificación de la minucia.

Estos pasos son explicados a continuación.

A. Ubicación del núcleo y del delta

La ubicación de las coordenadas del núcleo y del delta se realiza a través de:

1. Cálculo del mapa de direcciones de la imagen. Para poder calcular el mapa


de direcciones, se obtiene para cada píxel las gradientes Gx y Gy.
Obteniendo estos valores, se puede determinar el ángulo de orientación de
cada píxel, y por lo tanto, se puede determinar también la orientación
promedio de un bloque o segmento de la imagen. ([Forero04], pp. 15-16)
2. Se suaviza el campo de direcciones.
3. Se estima el índice de Poincare sobre bloques de la imagen, el cual indica
el cambio
18
aproximado de la curvatura sobre la vecindad de un bloque.
([ZHY] ).
4. Con base al resultado del valor de Poincare calculado en todos los bloques
se puede determinar si se encontró posibles núcleos (valor del índice de 0.5
para un núcleo y de 1 para más de un núcleo) o delt as en el bloques (-0.5).
([Forero04], pp. 17-18)
5. Se consideran únicamente los bloques en los cuales se encontró el núcleo
más interior a la huella y en los que se encontró el delt a más cercano al
núcleo seleccionado. ([Forero04], pp. 17-18)

En el caso de las huellas cuya clase de Henry es Arco o Arco Tendido, es


diferente, ya que normalmente estas huellas no poseen núcleo y delta. Como
resultado de ello, los valores del índice de Poincare determinan la ausencia de los
mismos.

18
Citado por Forero en: ([Forero04], p. 17)

47
“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, se toma como núcleo. El delta
corresponde a valores negativos o cercanos a cero.” ([Forero04], p. 18)

B. Selección del área de interés

Se escoge un sector cuadrado en la imagen binarizada que cubra por lo menos el


núcleo y no se salga de los límites pertenecientes a la huella dactilar. Una vez
escogido este, se representa en una matriz. El sector debe encontrarse centrado
en las coordenadas del núcleo. ([Forero04], p. 32)

C. Partición en bloques del área de interés e identificación de la minucia

Ya una vez obtenida el área de interés, se procede a extraer bloques de tamaño


20x20 píxeles empezando desde la esquina superior del área, con
desplazamientos de 5 píxeles en direcciones vertical y horizontal, y se realiza la
transformación de cada bloque a un vector de 400 posiciones. Cada vector es
insertado como entrada de la red neuronal clasificadora, la cual responde si
encontró las minucias bifurcación o terminación o ninguna de las anteriores.
([Forero04], p. 33)

Con respecto a los bloques de 20x20, en [Forero04] se asume que la minucia


puede estar centrada en el bloque, por esta razón, cuando se encuentra en un
bloque una minucia, se determinan las coordenadas polares de la misma con
respecto a la recta formada por la distancia entre el delta y el núcleo, teniendo
en cuenta que se conocen las coordenadas del centro del bloque y las del núcleo
y del delta.

Para establecer la orientación, se calcula la dirección promedio de la tangente


19
(por medio del cálculo de las gradientes) sobre todo el bloque. ([DR93] ). Este
ángulo de orientación se mide con respecto al eje definido por la distancia entre
el núcleo y el delta ([Forero04], p. 33).

19
Citado por Forero en: ([Forero04], p. 33)

48
5.4. INFORMAC IÓN DE SALIDA DEL SISTEMA DE DETECCIÓN DE
MINUCIAS

La información de salida ofrecida por el sistema de detección de minucias de


[Forero04] es la siguiente:

1. Ubicación en la imagen (x,y) del núcleo y del delta. Esto es para poder
determinar el eje que marca la distancia entre el núcleo y el delta.
2. Coordenadas polares de ubicación de la huella dactilar. Estas coordenadas se
toman con base al eje definido entre la distancia del delta al núcleo.
3. Ángulo de de orientación de la minucia, medido con respecto al eje definido por
la distancia en línea recta entre el delta y el núcleo de la huella.

5.5. CONSIDERACIONES ACERCA DE LA EFICAC IA DEL SISTEMA DE


DETECCIÓN DE MINUCIAS

La eficacia del sistema de detección de minucias implementado por [Forero04] va


ligada con la calidad de la imagen después de los procesos de limpieza y
binarización. Si la imagen proveniente de la realizac ión de estos procesos se ve
desquebrajada (huella reseca) o se perdió información de algunos surcos (debido a
huella grasosa o la presencia de ruido encima de la huella), el sistema detectará
una cantidad considerable de minucias falsas.

Otra consideración a tener en cuenta es que el sistema de detección no detecta


algunas de las minucias que se encuentren a ciertos grados de orientación.

49
6. ETAPA DE DISEÑO E IMPLEMENTACIÓN DEL SISTEMA DE
PERSISTENCIA Y BÚSQUEDA

6.1. CRITERIOS DE SIMILITUD ENTRE HUELLAS DACTILARES

Para poder realizar la comparación entre una huella dactilar y otra, es necesario
establecer un criterio de similitud. Un criterio de similitud permite establecer los
elementos o propiedades de un objeto que comparte con respecto a uno o más
objetos sujetos de comparación.

El criterio de similitud es importante para tener en cuenta ya que si no se


selecciona un criterio adecuado, entonces se pueden producir resultados
imprecisos cuando se vayan a realizar las comparaciones entre objetos.

Los criterios de similitud entre huellas dactilares que se van a tener en cuenta
tienen que ver con dos aspectos referentes a las características o clasificación de
las huellas dactilares:

• Clasificación de Henry
• Información de las minucias

6.1.1. Criterio de similitud utilizando la clasificación de las huellas según Henry

El criterio de similitud para las huellas dactilares se define con respecto a las
clases de Henry. Una huella pertenece a la misma clase de Henry a la cual
pertenece otra huella dactilar siempre y cuando cumpla las propiedades típicas
de una huella de esa clase.

La clasificación utilizada pretende agrupar las huellas dactilares por clase de


Henry, para poder limitar el espacio de búsqueda de una huella dactilar. Sin
embargo, no importa tanto que se realice la clasificación en función de un criterio
externo (como las clases de Henry) sino que:

• La clasificación sea consistente, es decir, que al realizar tomas diferentes de


una huella, siempre sean clasificadas en la misma clase.

50
• La distribución de las huellas en las distintas clases sea tan uniforme como
sea posible, para que la reducción del tamaño sea más notable.

El propósito de la clasificación es reducir el número de huellas sobre las que


se busca de manera detallada. En vez de buscar en un gran conjunto de N
elementos, se busca en uno de c conjuntos de tamaño menor.

Sea U el conjunto de todas las huellas almacenadas en el sistema.

Sea N el número de huellas en el sistema. N = U

Sea c el número de clases de la clasificación en cuestión.

Sea Si el conjunto de todas las huellas de la clase i almacenadas en el


c
sistema para 0 ≤ i < c . ( Υ1 S i =U )

Sea Pk la probabilidad de ocurrencia de la clase k en la población. Para


0≤ k < c

Sea p k la probabilidad de ocurrencia de la clase k en los registros del sistema.


S
Para 1 ≤ k ≤ c . ( p k = k )
U

A medida que N crece, la probabilidad de ocurrencia de cada una de las


clases en el sistema ( p k ) tendera a su probabilidad de ocurrencia en la
población ( Pk ). Es decir p k ≈ Pk para 1 ≤ k ≤ c , esta era una suposición útil
para mas adelante.

Cuando se quiere buscar una huella de la población en el sistema, con la


clasificación, tal búsqueda se reduce a x elementos donde x es una variable
⎧ p1 N Con _ probabilidad _ P1

aleatoria, así: x = ⎨ ... ...
⎪ p N Con _ probabilidad _ P
⎩ c c

51
c c c
Entonces E ( x ) = ∑ Pk Np k = N ∑ Pk p k ≈ N ∑ pk2 haciendo uso del supuesto
k =1 k =1 k =1
c
E ( x ) = N ∑ pi2
i=1

Como pi < 1 por tratarse de una función de probabilidad, entonces pi2 ≤ pi ,


c c c c
luego ∑ pi2 ≤ ∑ pi , y por tanto E ( x ) = N ∑ pi2 ≤ N ∑ p i = N que es
i=1 i =1 i=1 i =1

equivalente a E ( x ) ≤ N , por lo que se espera tratar un grupo de menor


tamaño.

La clasificación optima (que diera los grupos en promedio mas pequeños)


para un numero dado de clases, debería cumplir que las huellas estuvieran
distribuidas uniformemente, entre las clases, es decir que la cantidad
esperada de huellas dactilares pertenecientes a una clase sea igual a la
cantidad esperada de huellas dactilares pertenecientes a cualquier otra clase
existente dentro del espacio de huellas dactilares.

Es decir p i = p y por lo tanto p = 1 / C , E u ( x) = NCp 2 = N / C

En el caso en el que la distribución de las huellas dactilares entre las clases


existentes fuera arbitraria, la probabilidad de que una huella dactilar
pertenezca a una clase podría representarse como:

p i = p + αi

donde p es el de una distribución uniforme y α i un valor de desvío. Entonces,


la suma de las probabilidades asociadas a todas las clases debe ser igual a 1,
por lo tanto:

c c c c c

∑ ( p + α i ) = ∑ p + ∑ αi = Cp + ∑ α i = 1 + ∑ α i = 1
i=1 i= 1 i =1 i =1 i =1

Debido a esto, la suma de los valores de desviación posibles debe ser igual a
0:

52
c
( ∑ αi = 0 )
i=1

Con esta información, se puede simplificar la expresión que determina la


cantidad esperada de huellas pertenecientes a una clase de la siguiente
manera:

c c c c c
E ( x ) = N ∑ ( p + α i ) 2 = N ∑ ( p 2 + 2 pα i + α i ) = N ∑ p 2 + N ∑ 2 pα i + N ∑α i
2 2

i=1 i=1 i=1 i =1 i=1


c c c c
= NCp 2 + 2 Np∑ α i + N ∑ α i = NCp 2 + N ∑ α i = Eu ( x) + N ∑ α i
2 2 2

i =1 i=1 i= 1 i= 1

Esta cantidad esperada nos indica el promedio de la cantidad de huellas que


se requerirán explorar para realizar algún tipo de búsqueda en el espacio de
las huellas. E u (x) es el valor esperado si la distribución fuera uniforme.
Simplificando:

c c
E ( x ) = Eu ( x) + N ∑ α i y E u ( x) + N ∑ α i ≥ E u ( x )
2 2

i= 1 i =1

Es decir, la distribución uniforme es la óptima para un número dado de clases.


c c

∑α i ; ∑1 p pueden ser usados como indicadores de utilidad de una


2 2
i
i= 1 i=

clasificación particular.

6.1.2. Criterio de similitud entre huellas dactilares de acuerdo a la información


de las minucias

Para establecer un criterio de similitud para las huellas dactilares utilizando la


información de las minucias es definiendo o utilizando una función de distancia
que permita medir de alguna forma un factor de similitud entre una huella y
otra.

Una función de distancia d: X × X Æ R debe cumplir con las siguientes


propiedades:20

20
Fuente: ([CNB01], p. 278 (Edición Impresa))

53
• Positividad: (∀x|y∈X, d(x,y)≥0)
• Simetría: (∀x|y∈X, d(x,y)=d(y,x))
• Reflexividad: (∀x∈X|d(x,x)=0)

Para poder establecer una adecuada función de distancia, toca tener en cuenta
los datos que se pueden extraer de las minucias.

Los datos que se pueden extraer de las minucias utilizando el sistema de


detección de minucias implementado por Forero (véase Capítulo 5 ó [Forero
04]) son:

a. Tipo de Minucia: Los tipos de minucia que el sistema reconoce son las
bifurcaciones y las terminaciones.
b. Coordenadas de la Minucia. Estas coordenadas se encuentran representadas
bajo el sistema de coordenadas polar. Entonces, es necesario adaptar la
función de distancia de tal forma que se consideren comparaciones en
coordenadas polares.
c. Orientación de la minucia en grados.

Antes de definir la función de distancia para establecer este criterio, vale


aclarar que se utilizará una adaptación de un operador de coincidencia por
puntaje definida por Conti, Pilato, Vitabile y Sorbillo en ([CPVS02]). En el
trabajo realizado por ellos, se define un operador de coincidencia por puntaje y
una función de puntaje, descritos de la siguiente forma:

V ∴U j
F (U j ) =
V ∪U j

Siendo el operador ∴ definido de esta forma:

k i ∈ (V ∴U j ) ⇔ { X − X i ≤ TX ; Y − Yi ≤ TY ; θ − θ i ≤ Tθ }

X y Y son los valores de las coordenadas rectangulares de la minucia y θ el


ángulo de orientación de la misma. Las coordenadas sub-i pertenecen a las
coordenadas de la minucia para el otro conjunto.

54
La función ∴ se puede interpretar como la cantidad de minucias comunes entre
dos huellas cuyo valor absoluto entre las diferencias de coordenadas ‘x’, ‘y’ y el
ángulo de orientación θ sean menores o iguales a unos valores máximos de
umbral. Estos valores de tolerancia para cada una de las coordenadas y la
orientación se ajustan de acuerdo a la confiabilidad de los datos de las
minucias obtenidas. Es posible que dos huellas tomadas del mismo dedo
obtenidas en diferentes momentos puedan causar en algunos casos (debido al
preprocesamiento y las condiciones de obtención de la huella) un leve
corrimiento de las coordenadas de ubicación, por esta razón toca considerar
estos valores.

Esta función de puntaje entre dos huellas se puede interpretar como la


cantidad de minucias comunes dividido entre la cardinalidad de la unión de los
conjuntos de minucias pertenecientes a las huellas que se están comparando.
Los valores que puede tomar esta función están entre 0 y 1, siendo 1 cuando
las huellas comparadas son similares en su totalidad.

Una vez se ha definido esta función de puntaje, se procede a realizar su


correspondiente adaptación para que pueda ser considerada como una función
de distancia. Las razones por las cuales la función de puntaje especificada no
es de distancia son:

• Una función de distancia debe tener valor 0 cuando los objetos a comparar
son iguales entre sí y tiene valor 1 cuando son completamente diferentes,
es decir, entre menor sea el valor de la función de distancia, los objetos
comparados tienen mayor grado de similitud.
• No se cumple la propiedad de simetría, debido a que el volumen de
minucias encontradas para dos tomas diferentes de una misma huella
pueden ser diferentes.

Para adaptar esta función para que sea una función de distancia, se puede
especificar la siguiente función de distancia en términos de la función de
puntaje:

Fd(Uj) = 1 – F(Uj)

Se debe tener en cuenta que los valores de la función de puntaje F(Uj) se


encuentran entre los valores 0 y 1. Por esta razón, se asegura que la función Fd

55
se encuentra también acotada entre los valores 0 y 1, pero con la diferencia de
que se está cumpliendo la condición de que a menores valores de esta función
se indica una mayor similitud entre los objetos que se están comparando.

Pero, para que la función de distancia definida pueda cumplir la propiedad de


simetría se considera el término del denominador de la función de puntaje
definida en ([CPVS02]) como la cardinalidad del conjunto de minucias
(pertenecientes a una de las huellas que se está comparando) que tenga la
mayor cantidad de minucias.

Para considerar las coordenadas polares de la minucia en vez de coordenadas


rectangulares, la función ∴se expresaría de la siguiente forma:

k i ∈ (V∆ U j ) ⇔ { R − Ri ≤ TR ; φ − φ i ≤ Tφ ; θ − θ i ≤ Tθ ; I = I i }

siendo R y φ las coordenadas polares de las minucias. TR y Tφ son los valores


de tolerancia.

6.1.3. El criterio de similitud combinado

El criterio de similitud combinado en este caso es el resultado de la mezcla de


los dos criterios anteriormente descritos.

Además, también se tomará en cuenta el tipo de minucia al momento de


establece la comparación.

La función de distancia que toma en cuenta tanto la clasificación de Henry


como la información de las minucias se puede establecer de la siguiente forma:

Si CHV ≠ CHUj:

Fd (U j ) = 1

De lo contrario,
V∆U j
Fd (U j ) =
V ∪U j
Siendo:

56
k i ∈ (V∆ U j ) ⇔ { R − Ri ≤ TR ; φ − φ i ≤ Tφ ; θ − θ i ≤ Tθ ; I = I i }

La última condición estipulada en la versión modificada de la función ∴ es que


el tipo de minucia que esta siendo explorada (I) coincida con el tipo de minucia
explorado perteneciente al otro conjunto (Ii). El término CHV se refiere a la clase
de Henry perteneciente al conjunto de minucias V, y CHUj es la clase de Henry
perteneciente al conjunto de minucias Uj.

Este criterio de similitud combinado es el que se tendrá en cuenta para la


implementación del sistema de búsqueda.

6.2. BÚSQUEDAS DE PROXIMIDAD EN ESPACIOS MÉTRICOS

Un espacio métrico es un conjunto de objetos sobre el cual hay definida una


función de distancia. Sobre un espacio métrico, se pueden realizar operaciones
como las búsquedas por proximidad.
21
Las búsquedas de proximidad de mayor uso en un espacio métrico son :

• Vecinos más cercanos


• k-Vecinos más cercanos
• Rango

6.2.1. Vecinos más cercanos

En este tipo de consulta, se buscan los objetos cuya distancia al objeto de


búsqueda sea la menor. ([CNB01], p. 279 (Edición Impresa))

NN (q ) = {x : M | (∀y : M | d (x , q) ≤ d ( y , q))}

siendo d : M × M → ℜ + la función de distancia del espacio métrico, y q el objeto


de búsqueda.

21
Fuente: ([CNB01], p. 279 (Edición Impresa))

57
6.2.2. k-Vecinos más cercanos

En este tipo de consult a, se buscan los k objetos cuya distancia al objeto de


búsqueda sea menor que la distancia de cualquier elemento del conjunto.
([CNB01], p. 279 (Edición Impresa))

6.2.3. Búsqueda por rango

En este tipo de consulta, se buscan los objetos cuya distancia al objeto de


búsqueda sea menor que cierto valor preestablecido. ([CNB01], p. 279 (Edición
Impresa))

query (q, r) d = {x : M | d ( x , q) ≤ r}

siendo r el rango de la búsqueda y q el objeto de búsqueda.

6.3. MECANISMOS DE BÚSQUEDA EN ESPACIOS MÉTRICOS

Una vez definido el criterio de similitud, se procede a seleccionar un mecanismo de


búsqueda para su posterior implementación.

El problema de la búsqueda en espacios métricos ha sido tratado de diversas


formas, dependiendo del tamaño del espacio de búsqueda y el tipo de búsqueda a
realizar.

En este caso particular, se está tratando el problema la búsqueda en el espacio de


huellas dactilares y el problema de la consulta por vecindario de los k-elementos
cercanos.

El problema principal al realizar este tipo de búsquedas radica en que el espacio de


huellas dactilares en un sistema AFIS puede resultar siendo muy grande, y debido
a ello, el hecho de hacer una búsqueda por similitud implica realizar un número
muy grande de comparaciones, lo cual se traduce en una demora sustancial en el
tiempo de demora de la consulta si no se emplean métodos o mecanismos para
acotar de alguna forma el espacio total de huellas dactilares a un grupo específico
que posee algunas propiedades comunes con la huella dactilar de entrada de la
búsqueda.

58
Algunos de los métodos o algoritmos para poder realizar la búsqueda en las
huellas dactilares se muestran a continuación, haciendo mayor énfasis en los t-
Spanners.

6.3.1. Búsqueda directa

En la búsqueda directa, se compara el objeto a consultar contra todos y cada


uno de los objetos pertenecientes al espacio métrico. Este método de búsqueda
funciona para los tres tipos de búsquedas (vecinos cercanos, k-vecinos cercanos
y por rango). Este tipo de búsqueda es ideal para espacios de búsqueda
pequeños, por su simplicidad y facilidad en implementación.

El problema de este método de búsqueda radica principalmente en el tiempo de


demora en la consulta cuando el tamaño del espacio de huellas es grande. Esto
hace que sea un método descartado para implementar en un sistema AFIS
robusto.

En el caso específico de las huellas dactilares, se puede mejorar el tiempo de


respuesta en la búsqueda, estableciendo una forma de clasificación de las huellas
dactilares pertenecientes al espacio métrico de tal forma de que sólo se realice la
búsqueda en el espacio métrico correspondiente a la clase perteneciente de la
huella a buscar. Una clasificación sobre las huellas dactilares que permite
separar el espacio métrico de todas las huellas y se puede utilizar es la
clasificación según Henry.

6.3.2. Algoritmos de búsqueda basados por pivotes22

Los algoritmos de búsqueda basados por pivotes normalmente realizan los


siguientes pasos para realizar la búsqueda de una huella:

1. Se tiene un subconjunto reducido de elementos pertenecientes al espacio de


objetos { p1, p2 ,..., pn } , y se calcularán las distancias entre el elemento de
búsqueda q y cada uno de los elementos pertenecientes al subconjunto.
Además, se tiene la información de la distancia entre cada uno de los

22
Fuente: ([Paredes02], p. 7 (Edición Impresa))

59
elementos pertenecientes al conjunto y cada uno de los elementos del
subconjunto { p1, p2 ,..., pn }. Inicialmente, el espacio de búsqueda abarca todo
el conjunto de elementos.
2. Se eliminan del espacio de búsqueda todos aquellos elementos u
pertenecientes al conjunto de elementos que no cumplen la condición:
d ( pi , q) − d (u, pi ) > r , donde r es el valor que indica el radio máximo de
búsqueda.
3. Se repite el proceso 2 varias veces hasta que no se eliminen más elementos
dentro del espacio de búsqueda. Dentro del espacio de búsqueda resultante
se encuentra el(los) objeto(s) mas cercanos al elemento que se está
buscando.

Estos algoritmos normalmente funcionan para realizar búsquedas por rango, pero
han surgido varios criterios adicionales sobre la búsqueda que permiten que
estos algoritmos soporten las búsquedas de los vecinos cercanos y de los k-
vecinos cercanos. ([CNB01], p. 291 (Edición Impresa))

El criterio de radio incremental (véase sección 6.3.4) permite realizar esta


extensión.

6.3.3. Algoritmos de búsqueda basados en clústeres23

Los algoritmos de búsqueda basados en clústeres normalmente dividen el


espacio de búsqueda por sectores de manera recursiva. Inicialmente, se divide el
espacio en bloques grandes, para los cuales se tiene un punto representativo
(centroide) e información requerida para descartar el bloque. Después de esto,
se divide recursivamente en bloques más pequeños. Para buscar, se halla la
distancia entre el punto representativo del bloque explorado y el objeto de
búsqueda y se decide si se descarta el bloque. Si es descartado, se continuará
buscando de manera recursiva en los bloques no explorados.

También estos algoritmos normalmente funcionan para realizar búsquedas por


rango, pero han surgido varios criterios adicionales sobre la búsqueda que
permiten que estos algoritmos soporten las búsquedas de los vecinos cercanos y
de los k-vecinos cercanos. ([CNB01], p. 291 (Edición Impresa))

23
Fuente: ([Paredes02], p. 8 (Edición Impresa))

60
El criterio de radio incremental (véase sección 6.3.4) permite realizar esta
extensión.

6.3.4. Criterio del Radio Incremental 24

Este criterio de búsqueda consiste en buscar un elemento partiendo de un radio


inicial igual a:

r = a iε

donde a > 1 y el valor de i es igual a 0 inic ialmente. Posteriormente, se va


incrementando iterativamente el valor de i hasta que por lo menos se cubran la
cantidad k de objetos que se encuentran dentro del radio.

Teniendo en cuenta este criterio, se pueden adaptar algunos algoritmos de


búsquedas por rango para poder realizar búsquedas de k-vecinos más cercanos.
([CNB01], p.291 (Edición Impresa))

6.3.5. t-Spanners

6.3.5.1. Definición

Un t-Spanner es un grafo que se deriva de un grafo de origen que contiene


vértices y arcos. En un t-Spanner se pueden determinar los caminos más cortos
entre todos los pares de vértices. Este grafo tiene como propiedades las
siguientes:

• El conjunto de vértices del t-Spanner es el mismo conjunto de vértices del


grafo original. ([Paredes02], p. 16)
• El conjunto de arcos del t-Spanner es un subconjunto de arcos del grafo
original. ([Paredes02], p. 16)
• El máximo valor del costo del camino entre cualquier par de vértices en el t-
Spanner es t veces la distancia del camino mínimo obtenido en el grafo
original (condición de t-Spanner). ([Paredes02], p. 16)

24
Fuente: ([CNB01], p.292 (Edición Impresa))

61
6.3.5.2. Aplicaciones de los t-Spanners para la búsqueda en espacios métricos

Si se tiene un espacio métrico, se puede construir un espacio métrico G(V,A) de


tal forma que los vértices (V) correspondan a los objetos pertenecientes al
espacio métrico y el conjunto los arcos (A) corresponda a las |V|((|V|-1)/2)
distancias entre los objetos. ([Paredes02], p. 20)

A partir de este grafo se puede construir un t-Spanner, de tal forma que sea un
grafo G’(V,A), el cual tenga la cantidad mínima de arcos para reducir la
memoria utilizada para su almacenamiento, y aproxime las distancias entre
objetos con un error de estimación t. ([Paredes02], p. 20)

6.3.5.3. Implementación de un t-Spanner

Existen varios algoritmos que implementan t-Spanners, pero algunos son


versiones mejoradas del algoritmo básico.
Las implementaciones que se mostrarán a continuación son el algoritmo básico
y el algoritmo básico optimizado de Paredes (véase [Paredes02]).

25
6.3.5.3.1. Algoritmo Básico

El algoritmo básico para la implementación de un t-Spanner es el siguiente:

Se parte de un grafo inicial sin arcos de tal forma que solo se tengan los
vértices, y las distancias entre un vértice y otro se definen en una matriz de la
siguiente forma:

• Se asigna el valor de 0 a la distancia entre mismos vértices.


• Se asigna el valor de infinito (∞) a la distancia entre diferentes vértices.

Luego, se procede a insertar los arcos de tal forma que se cumplan la


condicion de t-Spanner.

Los arcos se revisan de acuerdo al costo de cada a de manera ascendente, y


se inserta sólamente un arco al t-Spanner si inicialmente no esta cumpliendo

25
Fuente: ([Paredes02] pp. 22-23 (Edición Impresa))

62
las condiciones de t-Spanner. Una vez realizada la inserción, se actualizan
todas las estimaciones de distancia.

Para poder implementar este algoritmo, se utilizan dos matrices de


adyacencia: Una que sirve para almacenar el cálculo de las distancias reales
entre los objetos y otra matriz que sirve para almacenar las d istancias
estimadas por el t-Spanner.

26
6.3.5.3.2. Algoritmo Básico Optimizado de Paredes ([Paredes02])

El problema principal que se presenta a la hora de implementar un t-Spanner


en términos de eficiencia radica en el alto consumo de recursos de memoria y
procesamiento, por esta razón toca que considerar alternativas para disminu ir
el consumo de recursos de sistema.

La modificación que Paredes propone para el algoritmo básico es evit ar la


actualización de todas las distancias a la hora de insertar un arco, de tal
forma de que se actualicen únicamente las distancias entre los nodos
afectados.

Esta modificación consiste en la adic ión de 3 conjuntos: El conjunto ok que


contiene los nodos a los cuales ya se les ha actualizado las estimaciones de
camino mínimo hacia el arco que se ha insertado; el conjunto check, donde
se encuentran los nodos adyacentes a los que se encuentran en el conjunto
ok (son los nodos que se actualizan en la iteración actual) y el conjunto adya,
donde se encuentran los nodos adyacentes a check que actualizan alguna
estimación de distancia. Es decir, estos son los nodos que se van a actualizar
en la siguiente iteración. ([Paredes02], p. 30 (Edición Impresa))

“Sólo se [realiza la propagación] de cálculos cuando el arco insertado mejora


la estimación de distancia a alguno de los vértices que forman el arco”
([Paredes02], p. 30 (Edición Impresa)).

Cuando se inserta el arco, se verifica si actualiza la estimación de las


distancias entre cada vértice perteneciente a check y cada uno de los vértices

26
Fuente: ([Paredes02] pp. 29-32 (Edición Impresa))

63
involucrados en el arco insertado. Si se actualiza, entonces se procede a
propagar los cálculos. ([Paredes02], p. 30 (Edición Impresa)).

6.3.5.4. Búsqueda en un t-Spanner

Para realizar la búsqueda sobre un t-Spanner, se puede utilizar el algoritmo de


búsqueda utilizando pivotes AESA (Approximating and Eliminating Search
Algorithm).

AESA es un algoritmo de búsqueda basado por pivotes planteado por Vidal en


27
([Vidal86]). El algoritmo requiere del cálculo previo de una matriz donde
están las n(n-1)/2 distancias entre todos los elementos pertenecientes al
espacio métrico. Una vez la matriz esté calculada, se puede realizar la
búsqueda de un elemento en el espacio métrico. Este proceso es realizado de
la siguiente forma:

1. Se selecciona un elemento p perteneciente al espacio métrico al azar


(selección del pivote).

2. Se calcula la distancia entre el elemento p y el elemento q a buscar. Este


valor será expresado como rp.

r p = d ( pi , q)

3. Se elimina del espacio de búsqueda todo aquel elemento u que no cumpla


con la siguiente condición:

r p − r ≤ d (u , p) ≤ r p + r

Siendo r el radio de cobertura.

4. Se selecciona otro elemento p perteneciente al espacio métrico al azar, y


se realizan los pasos 2 y 3.

27
Fuente de la descripción del algoritmo A ESA : ([CNB01], pp. 290-291 (Edición Impresa))

64
5. Se repite el paso 4 hasta que no existan elementos candidatos a ser
seleccionados para realizar el paso 4.

En algunos casos, en la implementación de la búsqueda en AESA se establecen


criterios de selección de los pivotes en vez de seleccionar los valores al azar.

Para que AESA pueda ser aplicado a un t-Spanner, toca tener en cuenta estos
dos aspectos:

1. La condición de exclusión sería:

Sea p ∈ U y d pq = d ( p, q ) ,

⎧ d t − Spanner ( p, u ) ≥ d pq − r
d (u , q ) ⇒ ⎨ d ( p, q )
⎩ d t − Spanner ( p, u ) ≤ t ⋅ (d pq + r )

([Paredes02], p. 47 (Edición Impresa))

2. Toca establecer un criterio de selección de los pivotes. Debido a que se


tiene una t-estimación de las distancias, se define el valor αt, el cual sería:

2 / t +1
αt =
3
Por lo tanto, el criterio de selección de pivotes sería:

k +1
sumLB' (u ) = ∑ d ( p i , q − d t − Spanner ( p i , u ) ⋅ α t
i =0

Luego, el pivote pk ← arg min u∈candidatos {sumLB ' (u )}

([Paredes02], p. 47 (Edición Impresa))

65
6.4. PRUEBAS DEL SISTEMA DE PERSISTENCIA Y BÚSQUEDA

Recordemos que la métrica que se decidió utilizar fue la estipulada en el criterio de


similitud combinado, la cual se muestra a continuación:

Si CHV ≠ CHUj:
Fd(Uj) = 1;

De lo contrario,
Fd(Uj) ≡ 1 - (V ∆ Uj / V ∪ Uj)

Siendo:

ki ∈(V∆U j ) ⇔ { R − Ri ≤ TR ; φ − φi ≤ Tφ ; θ − θ i ≤ Tθ ; I = Ii }

Inicialmente se probó el método de búsqueda directa. Se probaron varios valores


de tolerancia (se asumió Tφ = Tθ ).

Se probaron los siguientes valores de TR : 25, 50 y 100.

π π π
Y se probaron los siguientes valores de Tφ y Tθ .
16 8 4

Se generaron versiones deformadas de algunas huellas, estas se


suministraron al sistema como la huella de búsqueda y se obtuvieron las
siguientes conclusiones:
• Entre más holgados los umbrales, más uniformes se vuelven las
distancias entre las huellas.
• Parece que entre mas holgados los umbrales la versión deformada
de la huella se encuentra a menor distancia de la huella orig inal,
pero esto podría ser un efecto del punto anterior, y no estar
relacionado con el hecho de que se trate de la misma huella.
• El cambio del umbral radial, parece causar más efecto en la tabla
de las distancias.

66
7. ASPECTOS QUE SE PODRÍAN MEJORAR EN EL FUTURO
DEL SISTEMA AFIS PROPUESTO

1. Se aconseja crear un marco unificado que permita realizar la alteración de las


huellas para emular tomas que se podrían dar en el uso real de un AFIS. Estas
tomas serían deformaciones sobre la imagen original. Las deformaciones que
se contemplarían serian las siguientes:

• Translaciones
• Rotaciones
• Creación de distorsiones sobre las líneas de los surcos
• Adición de “cicatrices”

2. En lo posible, se podrían contemplar algoritmos de llenado de poros (que


pueden aparecer al momento de la obtención de la huella dactilar).

3. Se puede investigar de manera mas profunda acerca de métodos más


eficientes de búsqueda en espacios métricos.

4. Ensayar más criterios de similitud que utilicen otras funciones de distancia.

5. Establecer un criterio de rechazo para las huellas que:

• Tengan un número muy reducido de minucias detectadas.


• Estén compuestas en gran medida por sectores de baja calidad.

6. Establecer un postprocesamiento que descarte minucias espurias. El trabajo de


Trenkle (véase [Trenkle]) plantea una solución para este problema, descartando
áreas de la huella que no aportarán información de la huella.

7. Considerar algoritmos de reconstrucción de la estructura de surcos, como por


ejemplo el propuesto por Domeniconi (véase [Domeniconi]).

67
8. CONCLUSIONES

Los siguientes diagramas representan el trabajo realizado:

1. Preprocesamiento

F igura 8.1. P reprocesamiento

68
2. Procesamiento

0 1 2 3 … n1

0 1 2 3 … na
Red

Neuronal
0 1 2 3 … nm

F igura 8.2. P rocesamiento

69
3. Búsqueda

2
BD
Info. Huellas

F igura 8.3. Búsqueda

La limpieza de la imagen de la huella dig ital es un proceso altamente confiable. En


la b inarizac ión en algunos casos, se pierden sectores importantes de la huella,
sería posib le mejorar este punto explorando filtros que tengan en cuenta otras
características locales, como la varianza. La mayoría de los errores (falsos positivos)
en la detección de minucias tienen su origen en el proceso de adelgazamiento, que
tiene ciertos comportamientos indeseables que hacen aparecer en el esqueleto de

70
la huella formac iones semejantes a minucias, que son percibidas por el algoritmo
de detección. Estas falsas minucias también suelen aparecer en los sectores de
mala calidad de las huellas, se podría considerar la posib ilidad de descartar las
huellas con una alta tasa de sectores de baja calidad, o en huellas más limp ias no
tomar información de estos sectores.

En cuanto a la clasificación se podría pensar en clasificaciones externas al sistema


que permitirían seguir reduciendo el espacio de búsqueda, como por ejemplo
numero del dedo dentro de la mano.

Se hizo evidente durante el desarrollo de este trabajo la necesidad de establecer


un proceso que emule las deformaciones que se observan naturalmente entre las
distintas tomas de una misma huella, para la realización de pruebas de las
métricas dentro de unos límites claros.

La métrica probada dio resultados satisfactorios, pero se puede explorar más a


fondo su comportamiento al variar los parámetros. Existen otras métricas más
refinadas con mayor costo computacional, estas podrían ser exploradas hasta
encontrar un punto óptimo de desempeño computacional contrastado contra la
resistencia de la métrica a alteraciones entre distintas tomas de la huella dactilar.

Se decidió un mecanismo de búsqueda directa a pesar de que se implementó un t-


Spanner. Se podría utilizar alguna de las estructuras para búsquedas en espacios
métricos mencionadas en el capítulo 6.

71
REFERENCIAS Y BIBLIOGRAFIA

[Barajas03] Barajas, Mario (2003). “Clasificación de huellas dactilares con


redes neuronales”. Tesis de pregrado. Departamento de
Ingeniería de Sistemas y Computación, Universidad de los
Andes, Bogotá, Colombia.

[CNB01] Chávez, Edgar; Navarro, Gonzalo; Baeza-Yates, Ricardo (2001).


“Search In Metric Spaces”. ACM Computing Surveys, Vol. 33, No.
3, Pags. 273-321

[CPVS02] Conti, Vicenzo; Pilato, Giovanni; Vitabile, Salvatore; Sorbello,


Filippo (2002). “Verification of Ink-on-paper Fingerprints by
Using Image Processing Techniques and a New Matching
Operator”. Pg. 6

[Domeniconi] Domeniconi, Carlotta. “Direct Gray Scale Ridge Reconstruction in


Fingerprint Images”.

[DR93] 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

[Forero04] Forero, Camilo (2004). Reconocimiento y clasificación de


minucias en huellas dactilares. Tesis de pregrado. Universidad
de los Andes, Bogotá, Colombia.

[GW02] Rafael C. González, Richard E. Woods. (2002), Digital image


processing. Upper-Saddle River, NJ: Prentice Hall.

[JHHLT99] Jain, L. C.; Halic i, U.; Hayash i, I.; Lee S. B. & Tsutsui S. (1999).
“Intelligent Biometric Techniques in Fingerprint and Face
Recognition”. 1ra ed. The CRC Press International Series on
Computational Intelligence.

72
[JH96] Jain A. & Hong L. (1996). “On-line Fingerprint Verification” .
Recuperado el día 24 de Mayo de 2004 de:
http://citeseer.ist.psu.edu/jain96line.html

[JP01] Jain, A.; Pankanti, S. (2001). “Automated fingerprint


identification and imaging systems”. Recuperado el día 8 de
Noviembre de 2004 de: http://citeseer.ist.psu.edu/453622.html

[JPHP00] Jain, Anil K.; Prabhakar, Salil; Hong, Lin & Pankanti, Sharath
(2000). "Filterbank-based Fingerprint Matching”. Recuperado el
día 2 de Septiembre de:
http://www.cse.msu.edu/publications/tech/TR/MSU-CSE-99-
33.ps.Z

[LP] Lennard, Christopher J. & Patterson, Trevor. ”Fingerprint


history”. p. 2; p. 4. Disponible en:The Thin Blue Line Web Site .
Recuperado el día 7 de noviembre de 2004 de:
http://www.policensw.com/info/fingerprints/finger02.html (p.2),
http://www.policensw.com/info/fingerprints/finger04.html(p.4)

[NIST02] NIST Special Database 14, Version 2. Mated Fingerprint Card


Pairs 2, WSQ Compressed Fingerprint Images. Produced by
Image Group, Sponsored by: Federal Bureau of Investigation,
Canada, April 2002.

[Paredes02] Paredes Moraleda, Rodrigo Andrés (2002). “Uso de t-Spanners


para Búsqueda en Espacios Métricos”. Tesis de pregrado y
maestría. Departamento de Ciencias de la Computación,
Universidad de Chile. Recuperado el día 9 de Diciembre de 2004
de:
http://www.dcc.uchile.cl/~raparede/papers/2002tspEM.ps.gz

73
[RAE] Real Academia Española. Diccionario de la lengua española.
XXII edición. Recuperado el día 23 de Febrero de 2005 de:
http://buscon.rae.es/diccionario/drae.htm

[SM92] Srinivassan, V.S. & Murthy, N.N. (1992). “Detection of


singularity points in fingerprint images”, Pattern recognit ion. pp.
139-153

[SR71] Stefannelli, R. & Rosenfeld, A. (1971), “Some Paralle l Thinning


Algorithms for Digital Pictures”. Journal of the ACM, Volume 18,
Issue 2 (April 1971). Págs. 255-264. ISSN:0004-5411.
Recuperado el día 7 de Agosto de 2004 de:
http://portal.acm.org/citation.cfm?id=321646

[Trenkle] Trenkle, John M. (Año desconocido). “Region of interest


detection for Fingerprint Classification”. Recuperado el dia 22 de
Mayo de 2004 de: http://citeseer.ist.psu.edu/453883.html

[Vidal86] Vidal, E. (1986). “An algorithm for finding nearest neighbors in


(approximately) constant average time”. Pattern Recognition
Letters (PRL’96). 4: pp.145–157.

[UVHS04] Autor desconocido (2004). ”Anatomía de la mano”. University of


Virginia, Health System. Recuperado el día 4 de Febrero de
2005 de:
http://www.healthsystem.virginia.edu/UVAHealth/adult_plassurg
_sp/anatomy.cfm

[WCG94] C.I. Watson., G. T. Candela. y P.J. Grother (1994). Comparison


of FFT Filtering Methods for Neural Network Classification.
Technical Report NISTIR 5493, September 1994.

[ZHY] Zhang, Qinzhi; Huang, Kai & Yan, Hong (Año desconocido).
“Fingerprint Classification Based on Extraction and Analysis of
Singularities and Pseudoridges. School of Electrical and
Information Engineering. University of Sydney.

74

También podría gustarte