Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

93
Universidad de Colima Maestria en Ciencias Area Computación Sistema de Detección de Huella Digital Tesis que para obtener el grado de Maestro en Ciencias Presenta Luis Eduardo Morán López Asesor y/o Coasesores M.C. Ricardo Fuentes Covarrubias M.C. Gerardo Fuentes Covarrubias Coquimatlán, Col, 11 de Marzo de 2002

Transcript of Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Page 1: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Universidad de Colima

Maestria en Ciencias Area Computación

Sistema de Detección de Huella Digital

Tesis que para obtener el grado de

Maestro en Ciencias

Presenta

Luis Eduardo Morán López

Asesor y/o Coasesores

M.C. Ricardo Fuentes CovarrubiasM.C. Gerardo Fuentes Covarrubias

Coquimatlán, Col, 11 de Marzo de 2002

Page 2: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

UNIVERSIDAD DE COLIMAFACULTAD DE INGENIERÍA MECÁNICA Y ELÉCTRICA

EXPEDIENTE 412NUM. 87-0686

C. MORÁN LÓPEZ LUIS EDUARDOQUETZALCOATL No. 564,JARDINES DE LA VILLAVILLA DE ÁLVAREZ, COL.

Informo a usted que ha sido aprobado como tema de titulación paraobtener el grado de MAESTRO EN CIENCIAS ÁREA: COMPUTACION.

El solicitado por usted bajo el título :

“SISTEMA DE DETECCIÓN DE HUELLA DIGITAL”

Desarrollado bajo los siguientes puntos:

I .- INTRODUCCIÓNll .- HISTORIA DE LA HUELLA DIGITALIII .- OTROS SISTEMAS BIOMÉTRICOSI V .- MÉTODOS FINGERPRINT Y FINGERSCANV .- DISPOSITIVO DE RECONOCIMIENTO BASADO EN FINGERPRINTVI .- SISTEMA DESARROLLADO EN VISUAL BASIC VERSIÓN 6.0VII .- CONCLUSIONES Y ESTADO DEL ARTE

BIBLIOGRAFÍA

Al mismo tiempo, informo a usted que han sido designados comoasesores de titulación a los C.C. M.C. ANDRÉS GERARDO FUENTES COVARRUBIASy M.C. RICARDO FUENTES COVARRUBIAS.

En cada uno de los ejemplares de titulación que presente paraexamen, deberá aparecer en primer término copia del presente oficio.

2002

RRUBIAS

c.c.p. EXPEDIENTE ALUMNOAGFC/merv*

Km 9 Carretera Colima-coquimatlán, Colima, Colima, México, Cp 28400Tel. 01 (3) 316 1165, Ext. 51451, Ext. Fax 51454

Page 3: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

H. CONSEJO TECNICO DEL POSGRADODE LA FACULTAD DE INGENIERIA MECANICA Y ELECTRICAP R E S E N T E .

Por medio de este conducto informo que el C. MORÁNLÓPEZ LUIS EDUARDO

terminó su período de revisión de tesis:

“SISTEMA DE DETECCIÓN DE HUELLA DIGITAL”

Cuyo contenido es el siguiente :

I .- INTRODUCCIÓNII .- HISTORIA DE LA HUELLA DIGITALIII .- OTROS SISTEMAS BIOMÉTRICOSIV .- MÉTODOS FINGERPRINT Y FINGERSCANv .- DISPOSITIVO DE RECONOCIMIENTO BASADO EN FINGERPRINTVI .- SISTEMA DESARROLLADO EN VISUAL BASIC VERSIÓN 6.0VII .- CONCLUSIONES Y ESTADO DEL ARTE

BIBLIOGRAFÍA

El cual cumple con los requisitos necesarios para su aprobación, por

lo cual lo autorizo para su impresión.

COVARRUBIAS

c.c.p. EXPEDIENTEAGFC/merv*

Page 4: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

H. CONSEJO TECNICO DEL POSGRADODE LA FACULTAD DE INGENIERIA MECANICA Y ELECTRICAP R E S E N T E .

Por medio de este conducto informo que el C. MORÁNLÓPEZ LUIS EDUARDO

terminó su período de revisión de tesis:

“SISTEMA DE DETECCIÓN DE HUELLA DIGITAL”

Cuyo contenido es el siguiente :

I .- INTRODUCCIÓNII .- HISTORIA DE LA HUELLA DIGITALIII .- OTROS SISTEMAS BIOMÉTRICOSIV .- MÉTODOS FINGERPRINT Y FINGERSCANv .- DISPOSITIVO DE RECONOCIMIENTO BASADO EN FINGERPRINTVI .- SISTEMA DESARROLLADO EN VISUAL BASIC VERSIÓN 6.0VII .- CONCLUSIONES Y ESTADO DEL ARTE

BIBLIOGRAFÍA

El cual cumple con los requisitos necesarios para su aprobación, por

lo cual lo autorizo para su impresión.

A T E N T A M E N T ECoquimatlán, Col., 05 d rzo del año 2002

M.C. RICARDO FUEN COVARRUBIASASESOR DE TESIS

c.c.p. EXPEDIENTERFC/merv*

Magnolia A Castrejon Delgado
Page 5: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Exp.No.: 0065Fecha: 03-02-2001Acta No.: 15

C. LUIS EDUARDO MORAN LOPEZDomicilio: QUETZALCOATL NO. 564,Colonia: JARDINES DE LA VILLALocalidad: VILLA DE ÁLVAREZ, COLIMATeléfono: 0443123172021,332 30627

En cumplimiento al artículo: 13 y 14 del reglamento de titulación. al artículo 40, Inciso A delreglamento de estudios de Posgrado vigente y al artículo: 46 de las normas complementarias al reglamento dePosgrado, correspondientes al Posgrado de la Facultad de Ingeniería Mecánica y Eléctrica. Informamos austed que ha sido autorizado por este Consejo Técnico del Posgrado su tema de Tesispara obtener el grado de Maestro en Ciencias Área: Computación titulado: “SISTEMA DE DETECCIÓNDE HUELLA DIGITAL”para ser desarrollado bajo los siguientes puntos:

I .- INTRODUCCIÓNII .- HISTORIA DE LA HUELLA DIGITALIII .- OTROS SISTEMAS BIOMÉTRICOSI v ,- MÉTODOS FINGERPRINT Y FINGERSCANV .- DISPOSITIVO DE RECONOCIMIENTO BASADO EN FINGERPRINTV I .- SISTEMA DESARROLLADO EN VISUAL BASIC VERSIÓN 6.0VII .- CONCLUSIONES Y ESTADO DEL ARTE

BIBLIOGRAFÍA

Así mismo, hacemos de su conocimiento que de acuerdo con la línea deinvestigación en la cual se enmarca S U proyecto han sido autorizadoscomo asesores de tesis a los C.C. M.C. ANDRES GERARDO FUENTES COVARRUBIAS yM.C. RICARDO FUENTES COVARRUBIAS

A partir de la fecha de aprobación tendrá como plazo un año para presentar su examen de grado, encaso contrario tendrá usted derecho a una prórroga única de seis meses so pena de perder el registro de suproyecto.

Una vez concluidos los trámites de revisión de su documento de tesis e integrado su expediente detitulación deberá recoger el oficio que acompañará a el visto bueno de su asesor de tesis, los cualesencabezarán cada uno de los ejemplares de su tesis.

A t e n t a m e n t e

o de la Facultad de Ingeniería Me

M.C. RODOLFO GALLARDO ROSALES

Page 6: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Dedicatoria

Este trabajo se lo dedico de manera especial a mi esposa Bety y a mi futura hijaBelen, ya que ellas son mi nueva familia y mi aliento para superarme cada vez mas.

Page 7: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Agradecimientos

Mis mas sinceros agradecimientos para mis padres, que siempre me apoyan entodo lo que realizo y gracias al esfuerzo de ellos alcanze el grado profesional que hastahoy tengo. Tambien agradezco el apoyo de mis hemanos, que siempre estuvieron a milado para darme palabras de aliento

Page 8: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

INDICE

Pagina

Resumen en Español ........................................................................................................ 1

Resumen en Ingles ........................................................................................................... 2

1. - Introducción..................................................................................................................... 3

2. - Historia de la huella digital ............................................................................................. 7

3. -Otros sistemas biometricos ........................................................................................... 14

3.1. - Sistemas Biométrico ................................................................................................. 15

3.2. - Características de un Indicador Biométrico .............................................................. 16

3.3. - Características de un Sistema Biométrico para Identificación Personal .................. 17

3.4. - Arquitectura de un Sistema Biométrico para Identificación Personal ..................... 18

3.5. - Fase Operacional de un Sistema de Identificación Personal .................................... 21

3.6. - Exactitud en la Identificación ................................................................................... 22

3.7. - Sistemas Biométricos Actuales ................................................................................. 25

4. - Métodos FingerPrint y FingerScan ............................................................................ 28

4.1. – Huellas Dactilares .................................................................................................... 29

4.2. - Transformada de Hough ........................................................................................... 30

4.3. - Transformada de Hough Generalizada ..................................................................... 33

4.4. - Transformación de Vectores (Query y Template) .................................................... 34

4.5. - Nuevo Criterio de Resolución .................................................................................. 37

4.6. - Definiciones ............................................................................................................. 38

4.7. - Simulaciones ............................................................................................................ 40

4.8. - Herramientas Necesarias de Software ..................................................................... 42

4.8.1 Modulo de Tratamiento de la Huella ........................................................................ 42

4.8.2. - Módulo de Comparación de Huellas ..................................................................... 44

4.8.3. - Rendimiento ........................................................................................................... 45

4.8.4. - Tasas de error ........................................................................................................ 46

4.9 - Dispositivos de Reconocimiento de Huella Digital ................................................... 47

4.8.1. - Como Funciona ...................................................................................................... 47

5. - Dispositivo De Reconocimiento Basado en FingerPrint ........................................... 49

1

Page 9: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

6. - Sistema Desarrollado en Visual Basic Versión 6.0 .................................................... 52

6.1.- Algoritmos del Sistema .............................................................................................. 53

6.2.- Diagrama de flujo ....................................................................................................... 54

6.3.- Diagrama Jerarquico .................................................................................................. 55

6.4.- Base de Datos ............................................................................................................ 56

6.5.-Interfaces del Usuario y Descripción del Sistema ...................................................... 57

6.5.1.- Modulo Principal de Accesos ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 57

6.5.2.- Modulo de Registro y Verificación ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 59

6.5.3.- Modulo de Reportes,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 72

7. - Conclusiones y Estado del Arte ................................................................................... 77

Bibliografía ......................................................................................................................... 80

Glosario ............................................................................................................................... 82

2

Page 10: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Resumen

La necesidad de tener una forma de identificar al ser humano de manera única, ha

llevado al hombre a implementar una serie de métodos, desde lo que es el tatuaje, hasta

hoy en día en donde se han implementado métodos biométricos, utilizando diversos

dispositivos para la creación de patrones y generar el código biométrico que identificará al

individuo.

Es por eso, que se ha llevado a cabo este proyecto, utilizando uno de los métodos

biométricos de mas uso a lo largo de la historia, como lo es la huella dactilar, este sistema

utiliza un dispositivo, el cual captura la huella, y genera el código de identificación, que

corresponderá al código biométrico del individuo que sea escaneado. El sistema se ha

programado en el lenguaje Visual Basic 6.0, el cual presenta una forma fácil y rápida de

programar, el sistema de almacenamiento esta basado en bases de datos generadas en

Microsoft Access 2000.

3

Page 11: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Summary

The need of having a unique way to identify human beings has led mankind to

implement several different methods, ranging from tattoos, in its earliest form, to modern

biometric techniques.

That’s the reason for this project, using one of the most used biometric methods

throughout history fingerprint recognition . This system uses a capture device to generate a

biometric code, it has been programmed in Visual Basic 6.0 which is a very easy and quick

way to do. The storing system is based on Microsoft Access 2000 generated databases.

4

Page 12: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

CAPITULO I

INTRODUCCIÓN

5

Page 13: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

INTRODUCCIÓN

Históricamente, la identificación personal se ha basado en dispositivos especiales de

identificación (llaves, tarjetas) o en Palabras Claves y Números de Identificación Personal,

todos estos, pretenden ser únicos, y se emplean para verificar la actividad de su portador.

Aunque dichos instrumentos de identificación son susceptibles de violación, debido a su

facilidad de ser copiados, en el caso de los documentos, y a ser violada la confidencialidad en

el caso especifico de las claves y números de identificación.

Todos estos inconvenientes, pueden ser desechado ya que el ser vivo en general,

refiriéndonos a plantas, animales y específicamente el ser humano, tiene características que lo

hacen único y no hay dos personas que sean iguales, estas características son: las huellas

dactilares, la voz, el rostro, e incluso el iris del ojo, entonces por analogía podemos decir que

nosotros llevamos nuestras propias palabras claves, tarjetas o números (NIP). ¿Por qué no

aprovechar estas características?. Es entonces cuando gente dedicada a la investigación se

formula esta misma pregunta hace algunos años, dándonos la bienvenida al nuevo mundo de la

Biometría, la cual consiste en la identificación o verificación de la identidad de forma

automática de un individuo, empleando sus características o reconocimientos biométricos.

Entre todas las técnicas de Reconocimiento Biométrico, la Identificación basada en

Huellas Dactilares es el método más antiguo, el cual ha sido usado en numerosas aplicaciones.

Una Huella esta formada por una serie de crestas y surcos localizados en la superficie

del dedo. La singularidad de una huella puede ser determinada por dos tipos de patrones: el

patrón de crestas y surcos, así como el de detalles.

Se dice que una huella dactilar es la representación de la morfología superficial de la

epidermis de un dedo. Posee un conjunto de líneas que en forma global, aparecen dispuestas

en forma paralela. Por estas y más características es que se Eligio este método para ser

examinado y puesto en practica sus algoritmos.

6

Page 14: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

El objetivo de esta investigación, es conocer el funcionamiento de algunos de los

algoritmos de reconocimiento dactilar y además el de utilizar alguno de los dispositivos que se

encuentran en el mercado, los cuales son muchos y muy variados, en cuanto a fabricantes y

modelos de estos scanners.

Para poder elegir el dispositivo adecuado que se vaya a utilizar, se deben tener en cuenta

algunos aspectos primordiales los cuales podrían ser:

§ Tipo de uso que se le va a dar al dispositivo, es decir si el uso va a ser frecuente, o

espontáneo.

§ Cantidad de registros a generar, esto es muy importante, ya que existen dispositivos los

cuales su capacidad de generación de códigos es limitados, por ejemplo hay algunos

que se utilizan para uso personal, como lo es en el acceso a una computadora personal,

o el acceso a ciertos servicios de Internet, por lo tanto su uso es muy restringido

§ Carga de trabajo, como por ejemplo el registro de la hora de entrada y la hora de salida

a una fabrica o cualquier lugar de trabajo, en este caso el la función que realizaría el

dispositivo, hablando de una fabrica de por lo menos 100 trabajadores, seria algo

pesado, y por lo tanto se tendría que utilizar un dispositivo para trabajo pesado y

además, que tuviera la capacidad de generar, una cantidad considerable de códigos.

Para la elección del dispositivo, que se utilizo en este proyecto no se tuvieron muchas

opciones, por lo que se adquirió el primero que se encontró en el mercado, el cual pertenece a

la empresa DigitalPersona, teniendo un desempeño regular.

Imagen del Scaner utilizadoEl scanner en cuestión, tiene muy buena apariencia ergonómica, funciona al presionar el

dedo sobre la superficie del mismo.

7

Page 15: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

En cuanto al sistema de diseño para el software de control y adquisición, se tiene un ocx,

el cual en conjunto con el driver se encarga de hacer funcionar al scanner, este ocx, se puede

utilizar tanto en Visual Basic 6.0, como en Delphi 5.0 y Builder C++.

Una vez teniendo estos elementos, se procedió a diseñar un pequeño sistema, para analizar

el software y hardware adquiridos. El lenguaje que se eligió fue Visual Basic 6.0, y el sistema

de almacenamiento son bases de datos de Microsoft Access.

El sistema que se desarrollo fue un programa para el registro de entradas y salidas de

trabajadores universitarios, por lo que se tomo en cuenta el reglamento y políticas de la

Universidad de Colima. Es por eso que una vez terminado la primera etapa, se puso a prueba

en la delegación regional 4, y solo se aplico a secretarias e intendentes. Esto con el fin de

verificar el funcionamiento y principales fallas del sistema.

8

Page 16: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

CAPITULO II

HISTORIA DE LA

HUELLA DIGITAL

9

Page 17: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

2.1 Historia de la huella digital

La autentificación de las personas ha sido siempre una de las prioridades del ser

humano, y a lo largo de la historia de la humanidad se han buscado métodos para llevarlo a

cabo, como por ejemplo:

• Un dibujo prehistórico de impresión de la mano fue descubierto en Nueva Escocia.

• En la antigua Babilonia, las huellas digitales fueron utilizadas en tablillas de arcilla

para realizar las transacciones de negocios.

• En la China antigua fueron encontradas impresiones del pulgar en sellos hechos con

arcilla, los cuales se utilizaban para la correspondencia entre gobernantes.

• En Persia en el siglo XIV, algunos papeles oficiales de gobierno, tenían impresiones de

huellas digitales, las cuales eran verificadas por un oficial de gobierno y un doctor para

que no hubiera dos iguales

• Marcello Malpighi – 1686. En 1686 Marcello Malpighi un profesor de anatomía de la

Universidad de Bologna notó en uno de sus tratados, la presencia de, cantos, espirales

y bucles en las huellas digitales. El no hizo ninguna mención de su valor como

herramienta de identificación, pero tiempo después una capa de piel de

aproximadamente 1.8 mm de grosor es llamada capa “Malpighi”

• John Evanglist Purkinji –1823. En 1823 John Evanglist Purkinji un profesor de

anatomía de la universidad de Breslau, publico su tesis discutiendo 9 patrones de

huella digital, pero también no hizo mención de esta como herramienta de

identificación personal.

10

Page 18: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

• Sir William Hershel – 1856. Fue el primer ingles que empezó a usar huellas digitales

en Julio de 1858, cuando Sir William Herschel , principal magistrado del distrito en

Jungipoor, India, uso huellas digitales para los contratos con los nativos. Solo como un

capricho y sin pensar en la identificación personal, Herschel tenía a Rajyadhar Konai,

hombre de negocios local, el cual puso una impresión de su mano en la parte trasera de

un contrato. La idea era simplemente para asustarlo, en caso de que él decidiera negar

su firma, se tenia una firma natural. Hersechel hizo un habito el requerir las

impresiones de la palma, mas adelante solo requirió la impresión del índice derecho y

los dedos medios, para cada contrato que hizo con la gente local. El hacer un contacto

mas personal con el papel era para ellos la creencia de que era más poderosa y

obligatoria que si solamente se firmara. Así es que el moderno sistema de huellas

digitales se fundamenta no en bases científicas si no que las bases fueron de

superstición. Conforme su colección de huellas digitales creció, Hersechel noto que las

impresiones entintadas podrían probar o refutar de hecho una identidad. Mientras que

su experiencia con huella digital era obviamente limitada, Sir Herschel tenia la

convicción propia de que las huellas digitales eran únicas al individuo, así como

permanentes a lo largo de la vida del individuo

• Dr. Henry Faulds – 1880. Durante el 1870's, el Dr. Henry Faulds, Cirujano-

Superintendente del hospital de Tsukiji en Tokio, Japón, tomó el estudio de " piel-

surcos " después de notar marcas de dedos en especimenes de cerámica prehistórica. El

Dr. Faulds no solamente reconoció la importancia de las huellas digitales como medios

de identificación, sino que también como medio de clasificación. En 1880 Faulds

remitió una explicación de su sistema de clasificación y de una muestra de las formas

que él había diseñado para las impresiones entintadas, a sir Charles Darwin. Darwin,

en edad avanzada y mala salud, informó al Dr. Faulds que él no podría ayudarlo, pero

prometido pasar los materiales a su primo, Francis Galton. También en 1880, el Dr.

Faulds publicó un artículo en el diario científico, " Nature " (naturaleza). Él habla de

las huellas digitales como medios de identificación personal, y el uso de la tinta de las

impresoras como método para obtener tales huellas digitales. También lo acreditan con

11

Page 19: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

la primera identificación de una huella digital grasienta a la izquierda en una botella del

alcohol.

• Gilbert Thompson – 1882. En 1882, Gilbert Thompson de la U.S. Geological Survey

in New México, utilizó sus propias huellas digitales en un documento para prevenir la

falsificación. . Éste es el primero uso conocido de huellas digitales en los Estados

Unidos.

• Mark Twain (Samuel L. Clemens) – 1883. En el libro de Twain " vida en el

Mississippi ", el uso de la identificación de la huella digital identificó a un asesino. En

el ultimo libro de Twain, " Pudd'n Head Wilson ", había un ensayo dramático de la

corte en la identificación de la huella digital.

• Sir Francis Galton – 1888. Sir Francis Galton, antropólogo británico y primo de

Charles Darwin, comenzó sus observaciones de huellas digitales como los medios de

identificación en el 1880. En 1892, él publicó su libro, "huellas digitales ",

estableciendo la individualidad y la permanencia de huellas digitales. El libro incluyó

el primer sistema de clasificación para las huellas digitales. El interés primario de

Galton en huellas digitales estaba como ayuda en la determinación de herencia y del

fondo racial. Mientras que él pronto descubrió que las huellas digitales no ofrecieron

ninguna pista firme a la inteligencia o a la historia genética de un individuo, él pudo

probar científicamente lo qué Herschel y Faulds ya habían sospechado: que las

huellas digitales no cambian en el transcurso de la vida de un individuo, y que no hay

dos huellas digitales exactamente iguales. Según sus cálculos, las probabilidades de

dos huellas digitales que sean iguales eran 1 en 64 mil millones. Galton identificó las

características por las cuales las huellas digitales pueden ser identificadas. Estas

mismas características (detalles) básicamente todavía están en uso hoy, y se refieren a

menudo como detalles de Galton.

12

Page 20: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

• Juan Vucetich.- En 1891, Juan Vucetich, funcionario de la policía de Argentina,

comenzó los primeros archivos de huella digital basados en tipos del modelo de

Galton Al principio, Vucetich incluyó el sistema de Bertillon con los archivos. En

1892, Juan Vucetich hizo la primera identificación criminal de huella digital. Él podía

identificar a una mujer por el nombre de Rojas, que había asesinado a sus dos hijos, y

cortado su propia garganta en un intento de culpar otra persona. Su impresión

sangrienta fue dejada en un poste de la puerta, probando su identidad como el asesino.

• 1901. Introducción de las huellas digitales para la identificación criminal en Inglaterra

y País de Gales, usando las observaciones de Galton y revisado por sir Edward Richard

Henry. Así comenzó el sistema de clasificación de Henry, usado hoy uniformemente

en todos los países de discurso ingleses.

• 1902 . Primer uso sistemático de huellas digitales en los ESTADOS UNIDOS por la

Comisión de Servicio Civil de Nueva York. El Dr. Henry P. DeForrest inicia la huella

dactilar de ESTADOS UNIDOS.

• 1903. El sistema estatal de prisiones de Nueva York inicia por vez primera el uso

sistemático de huella digital en ESTADOS UNIDOS, para criminales.

• 1904 . El uso de huellas digitales en la penitenciaria de federal de Leavenworth en

Kansas, y el departamento de policía en San Luis. Fue asistido por un sargento de la

policía de Scotland Yard quién había estado de guardia en la exposición de St. Louis

que guardaba la visualización británica.

• 1905 . En1905 el uso de las huellas digitales para el ejército de ESTADOS UNIDOS.

Dos años más tarde inicia la Marina y fue unida al siguiente año a la Marine Corp.,

durante los próximos 25 años más y más agencias de la aplicación de la ley se unen en

el uso de huellas digitales como medios de identificación personal. Muchas de estas

agencias comenzaron a enviar las copias de sus tarjetas de huella digital a la oficina

13

Page 21: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

nacional de identificación criminal, que fue establecida por la asociación internacional de

los jefes del policía. Era en 1918 en que Edmond Locard escribió que si 12 puntas

(detalles de Galton) estuvieran iguales entre dos huellas digitales, sería suficiente como

identificación positiva. Es aquí donde es generado el mínimo numero de puntas (12

puntas) necesarias para una identificación. Algunos países han fijado sus propios

estándares que incluyen un número mínimo de puntas, pero no en los Estados Unidos. En

1924, un acto del congreso estableció la división de identificación del FBI.. La oficina

nacional y el Leavenworth se consolidaron para formar el núcleo de los archivos de huella

digital del FBI. Antes de 1946, el FBI. había procesado 100 millones de tarjetas de huella

digital en archivos manualmente mantenidos; y antes de 1971, 200 millones de tarjetas.

Con la introducción de la tecnología de AFIS, los archivos fueron divididos en archivos

criminales automatizados y archivos civiles manualmente mantenidos. Muchos de los

archivos manuales fueron duplicados, aunque, los expedientes representan realmente en

parte mas o menos de 25 a 30 millones de criminales, y un número desconocido de

individuos en los archivos civiles. En 1999, el FBI planea usar tarjetas de papel de huella

digital (por lo menos para las huellas digitales nuevas de civiles que llegan) dentro de su

sitio integrado nuevo de AFIS (IAFIS) en Clarksburg, WV. IAFIS tendrá inicialmente

expedientes automatizados individuales de huella digital para aproximadamente 33

millones de criminales. Las viejas tarjetas de papel de huella digital para los archivos

civiles todavía se mantienen manualmente en un recurso del almacén (espacio alquilado

del centro de compras) en Fairmont, WV. Desde la guerra del Golfo, la mayoría de las

tarjetas militares de alistamiento de huella digital recibidas se han clasificado solamente

alfabéticamente por nombre... la esperanza del FBI de clasificar algún día estas tarjetas

que pueden tener valor para la identificación de desconocidos muertos (o amnésico)

(cuando no se sabe ninguna lista de passenger/victim de un vuelo, de un etc.).

14

Page 22: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

2.2 Porqué Identificación de la Huella digital?

Las huellas digitales ofrecen medios infalibles de la identificación personal. Ésa es la

explicación esencial para que suplante a otros métodos de identificación de los criminales

renuentes admitir detenciones anteriores. Otras características personales cambian -las huellas

digitales no. En civilizaciones anteriores, de igual manera fueron utilizadas formas de marcar

al criminal para de las cuáles eran. Privar al ladrón de la mano. Los Romanos emplearon la

aguja para tatuar e identificar y para prevenir la deserción de soldados mercenarios. Más

recientemente, se utilizaron medios visuales, como es el empleo de la cámara fotográfica, para

identificar a los delincuentes. La fotografía aminoró la carga en memoria pero no era la

respuesta al problema criminal de la identificación. Ya que podría haber un cambio personal

de los aspectos.

15

Page 23: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

CAPITULO III

OTROS SISTEMAS

BIOMETRICOS

DE IDENTIFICACIÓN

16

Page 24: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

3.1 Sistemas Biométricos

Entenderemos por sistema biométrico a un sistema automatizado que realiza labores de

biometría. Es decir, un sistema que fundamenta sus decisiones de reconocimiento mediante

una característica personal que puede ser reconocida o verificada de manera automatizada.

Entonces, entenderemos por Biometría como la ciencia que analiza y mide, ciertas

características biológicas particulares, las cuales utiliza para generar un identificador, el cual

será único para el individuo.

En esta sección son descritas algunas de las características más importantes de estos

sistemas.

Un Sistema Biométrico por definición, es un sistema automático capaz de:

• Obtener la muestra biométrica del usuario final.

• Extraer los datos de la muestra.

• Comparar los datos obtenidos con los existentes en la base de datos.

• Decidir la correspondencia de datos.

• Indicar el resultado de la verificación.

La evolución tan vertiginosa de la tecnología ha llevado a estos sistemas desde el plano

de la ciencia-ficción a la realidad. Tanto así que podemos encontrar sistemas que procesan las

siguientes variables biométricas:

• Reconocimiento de Rostro.

• Reconocimiento de la Voz.

17

Page 25: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

• Patrón del Iris.

• Huellas Dactilares.

• Mapa de la Retina.

• Olor Corporal

• Forma del Oído

• Forma de la Mano

• Geometría de los dedos

• Forma de la Cabeza

• Mapa de Venas de la Mano

3.2 Características de un Indicador Biométrico

Un indicador biométrico es alguna característica con la cual se puede realizar

biometría.

Cualquiera que sea el indicador, debe cumplir los siguientes requerimientos:

1. Universalidad: cualquier persona posee esa característica;

2. Unicidad: la existencia de dos personas con una característica idéntica tiene una

probabilidad muy pequeña;

3. Permanencia: la característica no cambia en el tiempo; y

4. Cuantificación: la característica puede ser medida en forma cuantitativa.

18

Page 26: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Los requerimientos anteriores sirven como criterio para descartar o aprobar a alguna

característica como indicador biométrico. Luego de seleccionar algún indicador que satisfaga

los requerimientos antes señalados, es necesario imponer restricciones prácticas sobre el

sistema que tendrá como misión recibir y procesar a estos indicadores. En la siguiente sección

se presentan estas restricciones.

3.3 Características de un Sistema Biométrico para Identificación Personal

Las características básicas que un sistema biométrico para identificación personal son

expresarse mediante las restricciones que deben ser satisfechas. Ellas apuntan, básicamente, a

la obtención de un sistema biométrico con utilidad práctica. Las restricciones antes señaladas

apuntan a que el sistema considere:

El desempeño, que se refiere a la exactitud, la rapidez y la robustez alcanzada en la

identificación, además de los recursos invertidos y el efecto de factores ambientales y/u

operacionales. El objetivo de esta restricción es comprobar si el sistema posee una exactitud y

rapidez aceptable con un requerimiento de recursos razonable.

La aceptabilidad, que indica el grado en que la gente está dispuesta a aceptar un

sistema biométrico en su vida diaria. Es claro que el sistema no debe representar peligro

alguno para los usuarios y debe inspirar "confianza" a los mismos. Factores psicológicos

pueden afectar esta última característica. Por ejemplo, el reconocimiento de una retina, que

requiere un contacto cercano de la persona con el dispositivo de reconocimiento, puede

desconcertar a ciertos individuos debido al hecho de tener su ojo sin protección frente a un

"aparato". Sin embargo, las características anteriores están subordinadas a la aplicación

específica. En efecto, para algunas aplicaciones el efecto psicológico de utilizar un sistema

basado en el reconocimiento de características oculares será positivo, debido a que este

método es eficaz implicando mayor seguridad.

19

Page 27: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

La fiabilidad, que refleja cuán difícil es burlar al sistema. El sistema biométrico debe

reconocer características de una persona viva, pues es posible crear dedos de látex,

grabaciones digitales de voz prótesis de ojos, etc. Algunos sistemas incorporan métodos para

determinar si la característica bajo estudio corresponde o no a la de una persona viva.

Los métodos empleados son ingeniosos y usualmente más simples de lo que uno podría

imaginar. Por ejemplo, un sistema basado en el reconocimiento del iris revisa patrones

característicos en las manchas de éste, un sistema infrarrojo para chequear las venas de la

mano, que detecta flujos de sangre caliente y lectores de ultrasonido para huellas dactilares,

que revisan estructuras subcutáneas de los dedos.

3.4 Arquitectura de un Sistema Biométrico para Identificación Personal

Los Dispositivos Biométricos poseen tres Componentes Básicos:

El primero se encarga de la adquisición análoga o digital de algún indicador biométrico

de una persona, como por ejemplo, la adquisición de la imagen de una huella dactilar mediante

un escáner.

El segundo maneja la compresión, procesamiento, almacenamiento y comparación de

los datos adquiridos (Ver Ejemplo de la figura 3.), Con los datos almacenados.

El tercer componente establece una interfaz con aplicaciones ubicadas en el mismo u

otro sistema. La arquitectura típica de un sistema biométrico se presenta en la figura 8.

Esta puede entenderse conceptualmente como dos módulos:

Módulo de inscripción (enrollment module) y

Módulo de identificación (identification module).

20

Page 28: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

El módulo de inscripción se encarga de adquirir y almacenar la información

proveniente del indicador biométrico con el objeto de poder contrastar a ésta con la

proporcionada en ingresos posteriores al sistema. Las labores ejecutadas por el módulo de

inscripción son posibles gracias a la acción del lector biométrico y del extractor de

características.

El primero se encarga de adquirir datos relativos al indicador biométrico elegido y

entregar una representación en formato digital de éste. El segundo extrae, a partir de la salida

del lector, características representativas del indicador. El conjunto de características anterior,

que será almacenado en una base de datos central u otro medio como una tarjeta magnética,

recibirá el nombre de template (Plantillas).

En otras palabras un template es la información representativa del indicador biométrico

que se encuentra almacenada y que será utilizada en las labores de identificación al ser

comparada con la información proveniente del indicador biométrico en el punto de acceso.

El módulo de identificación (figura 1) es el responsable del reconocimiento de

individuos, por ejemplo en una aplicación de control de acceso.

21

Page 29: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Figura 1. - Arquitectura de un Sistema Biométrico para identificación personal.

El proceso de identificación comienza cuando el lector biométrico captura la

característica del individuo a ser identificado y la convierte a formato digital, para que a

continuación el extractor de características produzca una representación compacta con el

mismo formato de los templates.

La representación resultante se denomina Query y es enviada al comparador de

características que confronta a éste con uno o varios templates para establecer la identidad.

El conjunto de procesos realizados por el módulo de inscripción recibe el nombre de

fase de inscripción, mientras que los procesos realizados por el módulo de identificación

reciben la denominación de fase operacional.

A continuación se entregan detalles de esta última.

22

Page 30: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

3.5 Fase Operacional de un Sistema de Identificación Personal

Un sistema biométrico en su fase operacional puede operar en dos modos:

Modo de verificación, o

Modo de identificación

Un sistema biométrico operando en el modo de verificación comprueba la identidad de

algún individuo comparando la característica sólo con los templates del individuo.

Por ejemplo, si una persona ingresa su nombre de usuario entonces no será necesario

revisar toda la base de datos buscando él template que más se asemeje al de él, sino que

bastará con comparar la información de entrada sólo con él template que está asociado al

usuario.

Esto conduce a una comparación uno a uno para determinar si la identidad reclamada

por el individuo es verdadera o no. De manera más sencilla el modo de verificación responde a

la pregunta: ¿eres tú quién dices ser?.

Un sistema biométrico operando en el modo de identificación descubre a un individuo

mediante una búsqueda exhaustiva en la base de base de datos con los templates.

Esto conduce a una comparación del tipo uno-a-muchos para establecer la identidad del

individuo. En términos sencillos el sistema responde la pregunta: ¿quién eres tú?.

Generalmente es más difícil diseñar un sistema de identificación que uno de verificación.

En ambos casos es importante la exactitud de la respuesta. Sin embargo, para un

sistema de identificación la rapidez también es un factor crítico.

23

Page 31: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Un sistema de identificación necesita explorar toda la base de datos donde se

almacenan los templates, a diferencia de un sistema verificador.

De la discusión anterior resulta obvio notar que la exigencia sobre el extractor y el

comparador de características es mucho mayor en el primer caso.

3.6 Exactitud en la Identificación

Medidas de desempeño

La información provista por los templates permite particionar su base de datos de

acuerdo a la presencia o no de ciertos patrones particulares para cada indicador biométrico.

Las "clases" así generadas permiten reducir el rango de búsqueda de algún template en la base

de datos. Sin embargo, los templates pertenecientes a una misma clase también presentarán

diferencias conocidas como variaciones intraclase.

Las variaciones intraclase implican que la identidad de una persona puede ser establecida

sólo con un cierto nivel de confianza. Una decisión tomada por un sistema biométrico

distingue "personal autorizado" o "impostor". Para cada tipo de decisión, existen dos posibles

salidas, verdadero o falso.

Por lo tanto existe un total de cuatro posibles respuestas del sistema:

1. Una persona autorizada es aceptada,

2. Una persona autorizada es rechazada,

3. Un impostor es rechazado,

4. Un impostor es aceptado.

24

Page 32: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Las salidas números 1 y 3 son correctos, mientras que los números 2 y 4 no lo son. El

grado de confidencia asociado a las diferentes decisiones puede ser caracterizado por la

distribución estadística del número de personas autorizadas e impostores. En efecto, las

estadísticas anteriores se utilizan para establecer dos tasas de errores:

1. Tasa de falsa aceptación (FAR: False Acceptance Rate), que se define como la

frecuencia relativa con que un impostor es aceptado como un individuo autorizado,

2. Tasa de falso rechazo (FRR: False Rejection Rate), definida como la frecuencia

relativa con que un individuo autorizado es rechazado como un impostor.

La FAR y la FRR son funciones del grado de seguridad deseado. En efecto, usualmente

el resultado del proceso de identificación o verificación será un número real normalizado en el

intervalo [0, 1], que indicará el "grado de parentesco" o correlación entre la característica

biométrica proporcionada por el usuario y la(s) almacenada(s) en la base de datos. Si, por

ejemplo, para el ingreso a un recinto se exige un valor alto para el grado de parentesco (un

valor cercano a 1), entonces pocos impostores serán aceptados como personal autorizado y

muchas personas autorizadas serán rechazadas.

Por otro lado, si el grado de parentesco requerido para permitir el acceso al recinto es

pequeño, una fracción pequeña del personal autorizado será rechazada, mientras que un

número mayor de impostores será aceptado.

El ejemplo anterior muestra que la FAR y la FRR están íntimamente relacionadas, de

hecho son duales una de la otra: una FRR pequeña usualmente entrega una FAR alta, y

viceversa, como muestra la figura 2.El grado de seguridad deseado se define mediante el

umbral de aceptación u, un número real perteneciente al intervalo [0,1] que indica el mínimo

grado de parentesco permitido para autorizar el acceso del individuo.

25

Page 33: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Figura 2. - Gráfica típica de la tasa de falso rechazo (FRR) y la de falsa aceptación

(FAR) como funciones del umbral de aceptación u para un sistema biométrico.

La FRR es una función estrictamente creciente y la FAR una estrictamente decreciente

en U. La FAR y la FRR al ser modeladas como función del umbral de aceptación tienen por

dominio al intervalo real [0,1], que es además su recorrido, puesto que representan frecuencias

relativas. La figura 2 muestra una gráfica típica de la FRR y la FAR como funciones de U. En

esta figura puede apreciarse un umbral de aceptación particular, denotado por u*, donde la

FRR y la FAR toman el mismo valor. Este valor recibe el nombre de tasa de error de

intersección (cross-over error rate) y puede ser utilizado como medida única para caracterizar

el grado de seguridad de un sistema biométrico. En la práctica, sin embargo, es usual expresar

los requerimientos de desempeño del sistema, tanto para verificación como para

identificación, mediante la FAR. Usualmente se elige un umbral de aceptación por debajo de

u* con el objeto de reducir la FAR, en forma insignificante en relación del aumento de la

FRR.

26

Page 34: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

3.7 Sistemas Biométricos Actuales

En la actualidad existen sistemas biométricos que basan su acción en el reconocimiento de

diversas características, como puede apreciarse en la figura 3. Las técnicas biométricas más

conocidas son nueve y están basadas en los siguientes indicadores biométricos:

1. Rostro,

2. Termograma del rostro,

3. Huellas dactilares,

4. Geometría de la mano,

5. Venas de las manos,

6. Iris,

7. Patrones de la retina,

8. Voz,

9. Firma.

27

Page 35: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

a) b) c) d)

e) f) g) h) i)

Figura 3. Técnicas biométricas actuales: (a) Rostro, (b) Termograma Facial, (c)

Huella dactilar, (d) Geometría de la mano, (e) Venas de la mano, (f) Iris, (g) Patrones de la

retina, (h) Voz e (i) Firma.

Cada una de las técnicas anteriores posee ventajas y desventajas comparativas, las

cuales deben tenerse en consideración al momento de decidir que técnica utilizar para una

aplicación específica. En particular deben considerarse las diferencias entre los métodos

anatómicos y los de comportamiento. Una huella dactilar, salvo daño físico, es la misma día a

día, a diferencia de una firma que puede ser influenciada tanto por factores controlables como

por psicológicos no intencionales.

También las máquinas que miden características físicas tienden a ser más grandes y

costosas que las que detectan comportamientos. Debido a diferencias como las señaladas, no

existe un único sistema biométrico que sea capaz de satisfacer todas las necesidades. Una

compañía puede incluso decidir el uso de distintas técnicas en distintos ámbitos. Más aún,

existen esquemas que utilizan de manera integrada más de una característica para la

identificación.

28

Page 36: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Se integran el Reconocimiento de Rostros y Huellas Dactilares. La razón es que el

Reconocimiento de Rostros es rápido pero no extremadamente confiable, mientras que la

Identificación mediante Huellas Dactilares es confiable pero no eficiente en consultas a bases

de datos. Lo anterior sugiere el utilizar el reconocimiento de rostros para particionar la base de

datos. Luego de esto comienza la identificación de la huella. Los resultados alcanzados por el

sistema conjunto son mejores que los obtenidos por sus partes por separado.

En efecto, las limitaciones de las alternativas por separado son soslayadas, logrando

además respuestas exactas con un tiempo de proceso adecuado. En la figura 4 se presenta un

esquema de división de las características biométricas.

Figura 4.- División de las características biométricas para identificación personal.

29

Page 37: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

CAPITULO IV

METODOS FINGERPRINT

Y FINGERSCAN

DE IDENTIFICACIÓN

30

Page 38: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

4.1 Huellas Dactilares

Una huella dactilar es la representación de la morfología superficial de la epidermis de

un dedo. Posee un conjunto de líneas que, en forma global, aparecen dispuestas en forma

paralela (colinas o ridge lines y furrows). Sin embargo estas líneas se interceptan y a veces

terminan en forma abrupta. Los puntos donde las colinas terminan o se bifurcan se conocen

técnicamente como detalles. Otros puntos singulares de una huella dactilar son aquellos donde

la curvatura de las colinas es máxima.

Esos puntos reciben el nombre de centros y deltas. La característica más interesante

que presentan tanto las detalles como los puntos singulares centros y deltas son únicos para

cada individuo y permanecen inalterados a través de su vida.

A pesar de esta variedad de detalles (18 tipos distintos de detalles han sido

enumerados) las más importantes son las terminaciones y bifurcaciones de colinas. Esto

último se debe a que las terminaciones de colinas representan aproximadamente el 60.6% de

todas las detalles en una huella y las bifurcaciones el 17.9%. Además varias de los detalles

menos típicas pueden expresarse en función de las dos señaladas. Naturalmente, para poder

identificar a una persona mediante los detalles de su huella es necesario poder representar a

estas últimas para poder compararlas.

La representación estándar consiste en asignar a cada minucia su posición espacial (x,

y) y su dirección q, que es tomada con respecto al eje x en el sentido contrario a los punteros

del reloj. Esta representación se muestra en la figura 5 para una minucia de término y una de

bifurcación de colinas.

31

Page 39: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Figura 5.- Representación de detalles en términos de su posición y dirección

Para reconocer una Huella Dactilar se procede desde una escala gruesa a una fina. En

primer lugar se clasifica a la huella, es decir, se asigna a una clase previamente determinada de

acuerdo a la estructura global de las colinas. El objetivo de esta etapa es establecer una

partición en la base de datos con huellas. En general la distribución de las huellas en las

distintas clases es no uniforme, esto obliga a subclasificar a la huella en estudio, es decir,

generar un nuevo conjunto de clases a partir de las ya definidas. Luego se procede a la

comparación a escala fina. Este proceso recibe el nombre de matching. El proceso consiste en

comprobar si el conjunto de detalles de una huella coincide con el de otra.

4.2 Transformada de Hough

Consideremos el siguiente problema: para una imagen con n puntos de interés se desea

encontrar subconjuntos de esos puntos que residan sobre líneas rectas. Este problema que a

simple vista parece ser sencillo, presenta una complejidad computacional elevada al utilizar

una técnica de "fuerza bruta".

Una de éstas soluciones consiste en encontrar todas las líneas determinadas por cada

par de puntos en la imagen y luego encontrar todos los subconjuntos de puntos que se

encuentran cerca de esas líneas. La complejidad de este algoritmo es O(n3), lo que representa

un costo elevado.

32

Page 40: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Hough notó lo siguiente: para un punto con coordenadas (xi , yi) el conjunto de rectas

que pasan por él satisfacen que yi = m xi + c, donde m es la pendiente de la recta y c su

coeficiente de posición. Este conjunto de rectas es infinito, pues sólo basta variar m y c. La

relación anterior puede escribirse en el espacio de parámetros como c = -xi m + yi, es decir,

una recta con pendiente -xi y coeficiente de posición yi. Si se considera otro punto con

coordenadas (xj, yj) por donde pasan rectas, se tendrá que su representación en el espacio de

parámetros interceptará a la de (xi, yi) en un punto con coordenadas (m', c'), que corresponden

a la pendiente y el coeficiente de posición, respectivamente, de una recta que pasa por (xi, yi) y

(xj, yj).

De lo anterior se desprende que los puntos del espacio de coordenadas pertenecientes a

una misma recta se interceptarán todos en un único punto del espacio de parámetros. Si fuese

posible contar el número de "intersecciones" en un punto con coordenadas (m', c') del espacio

de parámetros entonces se tendría el número de puntos del espacio de coordenadas que

pertenecen a una recta con pendiente m' y coeficiente de posición c'. Esta idea es la que sirve

de base al proceso denominado Transformada de Hough. El primer paso consiste en la

discretización del espacio de parámetros en un número finito de celdas para valores discretos

tanto de m como de c.

El rango en donde se hace esta discretización está dado por los valores mínimo y

máximo esperados para las pendientes y los coeficientes de posición. El espacio de parámetros

discretizado en celdas puede representarse mediante un arreglo A, denominado arreglo

acumulador. La componente A(i, j) del arreglo acumulador representa a la celda asociada a la

pendiente mi Î (mmín, mmax) y el coeficiente de posición cj ∈∈ (cmín, cmax). Como se notó

anteriormente, es de interés contar el número de "intersecciones" de las rectas en el espacio de

parámetros asociadas a los puntos del espacio de coordenadas.

Para ello se propone el siguiente procedimiento: en primer lugar, todas las

componentes de A se hacen nulas. Luego, se toma un punto (xk , yk) perteneciente al espacio

de coordenadas y para cada uno de los mi se calcula la versión discreta de c = -xk mi + yk, es

33

Page 41: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

decir, cj. Se sabe entonces que por el punto del espacio de parámetros con coordenadas (mi,cj)

pasa al menos la recta asociada al punto del espacio de coordenadas (xk ,yk). Esto último se

traduce en que A(i,j) se incrementa en una unidad, indicando que un punto del espacio de

coordenadas genera una recta que pasa por el punto del espacio de parámetros con

coordenadas (mi,cj). Este algoritmo se aplica a todos los puntos del espacio de coordenadas.

Finalmente, el número de puntos del espacio de coordenadas que se encuentran sobre una

recta con pendiente mi y coeficiente de posición cj será A(i,j) si este último es mayor que 1.

Notemos que la complejidad de cálculo de esta estrategia es Mxn, donde n es el

número de puntos a revisar y M es el número de niveles de cuantización del rango (mmín,

mmax).

Si el número de niveles de cuantización para m permanece menor a n2 entonces la

transformada de Hough será más eficiente que el método de "fuerza bruta" propuesto.

Es bien sabido que para aplicaciones prácticas la ecuación cartesiana de una línea recta

no es de utilidad. Si la recta presenta una pendiente elevada entonces el número de niveles de

cuantización será elevado y hará que una representación discreta del espacio de parámetros no

sea adecuada.

Además, el coeficiente de posición tampoco está acotado. Una parametrización

adecuada de la ecuación de una recta en este contexto, será aquella que posea dos parámetros

diferentes con rangos de variación finitos. Para el caso de líneas es usual tomar la

representación normal de una recta, es decir aquella en que se utilizan coordenadas polares. El

procedimiento en esta representación es completamente análogo: el espacio de parámetros se

particionan y se acumula evidencia para los parámetros ρ y θ en el arreglo acumulador al

mover, por ejemplo, el parámetro θ.

34

Page 42: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

4.3 Transformada de Hough Generalizada

La primera generalización de la transformada de Hough está asociada a la creación de

un método que permita el reconocimiento de formas geométricas más complejas que la de una

línea, por ejemplo circunferencias y elipses. Una conclusión interesante es que la dimensión

del arreglo acumulador es igual al número de grados de libertad del problema. El

procedimiento anterior puede generalizarse aún más con el objeto de encontrar

transformaciones generales entre conjuntos de puntos.

En efecto, la transformada de Hough puede extenderse a formas no analíticas y a

formas compuestas. En este contexto global se estudia el siguiente problema: la resolución de

un sistema de ecuaciones que presenta un conjunto de soluciones a priori desconocidas.

Para encontrar estas soluciones se utiliza la THG donde el espacio de parámetros es

ahora el espacio de soluciones. Es en este espacio donde se acumulará evidencia y se espera

que, en la vecindad de una solución, el valor del arreglo acumulador sea "grande". Esto da

lugar a la formación de clusters o clases solución. Para formalizar estos conceptos definamos

el siguiente problema: sean p ecuaciones en n variables representadas por el vector = (x1, x2, .

. , xn), cada una con la forma:

(1)

Cada una de las p ecuaciones corresponde a una de j clases solución desconocida a

priori. El problema es determinar el número de clases solución j y la solución para cada una de

estas clases, con k = 1, 2, …, j. Es importante destacar que típicamente j << p y que no existe

restricción sobre fi de ser lineal o que el sistema sea linealmente independiente.

35

Page 43: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

La solución a este problema consiste en encontrar zonas de acumulación o clusters de

posibles soluciones y considerar aquellos clusters más grandes como representantes de las

soluciones más probables. Obviamente la resolución de cada ecuación por sí sola no es

posible.

Tampoco es práctico seleccionar de entre las p ecuaciones todos los posibles

subconjuntos y calcular, donde sea posible, las soluciones, debido al elevado número de

posibilidades de partición del conjunto de ecuaciones en c conjuntos no vacíos ( ~ cp / c!).

En este sentido la THG entrega un marco conceptual y práctico al problema de la

resolución.

4.4 Transformación de Vectores (Query y Template)

El problema del matching entre vectores de características asociados a los conjuntos de

detalles de dos huellas dactilares tiene, como primera tarea, la determinación de la

transformación (rotación, traslación, escalamiento) entre ambas.

Esta transformación debe considerar incluso que, para dos vectores de características

de una misma huella dactilar pueden existir diferencias entre éstas: la desaparición de algunas

detalles, la variación de la posición y orientación local de algunas de éstas debido al ruido que

introduce el sensor, y a las deformaciones elásticas que presenta la piel. Esta transformación

es, a priori desconocida. De esta manera la THG provee un método para la obtención de esta

transformación.

Debido a que en aplicaciones civiles las imágenes query y template serán escaneadas

por el mismo sensor, no será necesario considerar en el análisis escalamiento entre los

vectores de características. Sea (qx, qy) y b las coordenadas de posición y la orientación local

de una minucia perteneciente al vector de características query. Sean, (tx, ty) y a la posición y

orientación asociadas a una minucia perteneciente al vector de características template. La

36

Page 44: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

transformación más general posible a priori, entre ambos conjuntos considerará en forma

explícita rotaciones y traslaciones, por lo que tendrá la forma:

(2)

Donde θ es igual a (ββ -a), y (∆∆x, ∆∆y) es una traslación arbitraria. El ángulo q indica la

rotación necesaria para que la orientación de la minucia template coincida con la de la minucia

Query.

La transformación definida por (2) posee tres grados de libertad, esto último indica que

el arreglo acumulador A., para la búsqueda de la transformación será de dimensión tres, a

saber: uno para la cuantización del ángulo θ, y dos para el desplazamiento en el eje x y en el

eje y.

Notemos que el problema planteado con (2) es análogo al presentado en (1). El cluster

del espacio de parámetros que interesa rescatar es aquel que representa la transformación

existente entre los vectores template y query.

Se postula que los parámetros que definen a éste corresponden a los índices asociados

al máximo valor del arreglo acumulador. De la discusión anterior resulta evidente que la

estrategia para encontrar los parámetros de la transformación (2) será aplicar la THG.

Sea Q el vector de características Query con dimensión dimQ y T el vector template

con dimensión dimT.

Sea además Q[i] la i-ésima minucia del vector Q, y T[i] la i-ésima minucia del vector

T. Notemos que el problema (2) puede "separarse" en dos etapas: En primer lugar es posible

37

Page 45: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

obtener el ángulo de la rotación θ entre los vectores de características y luego, a partir de éste,

el vector de desplazamiento (∆∆x, ∆∆y).

Esto último reduce el costo computacional que involucra el cálculo de una THG 3D al

de una THG 1D más una THG 2D. Además, Es importante notar que el rango al que pertenece

un ángulo de rotación entre dos huellas y, por ende, entre dos vectores de características está

acotado, sea éste Dq.

A continuación se presenta un diagrama en bloques del proceso de cálculo de la THG

propuesto, para la definición del ángulo de rotación. El caso 2D es análogo. En primer lugar se

restan las orientaciones locales de los detalles query y template. Mediante la consulta ¿δδ ∈∈ ∆∆θθ

? Se eliminan todas las posibilidades no factibles, lo cual se traduce en una nueva mejora en la

eficiencia del algoritmo.

El proceso de cuantización entrega la componente del arreglo acumulador en donde se

recopilará evidencia. El algoritmo continúa acumulando evidencia hasta que todas las

comparaciones entre detalles han sido consideradas. En ese instante se procede a buscar los

máximos del arreglo acumulador A y a tomar una decisión con respecto a cuál es el mejor

parámetro para la transformación.

38

Page 46: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Inicializar A[K]

i=0, j=0

¿i< dimQ?

i= i+1

Búsqueda deMáximos

Criterio deResolución

αβδ ].[][ iTjQ −=

Ki=Cuantizar )/( θδ ∆

j = i+1

No

Si

No Si

?¿ θδ ∆∈

No

Si

AcumularEvidencia

¿i< dimT?

Figura 6.- Algoritmo Propuesto

4.5 Nuevo Criterio de Resolución

El algoritmo presentado en acumula evidencia incrementando al arreglo acumulador en

una única posición k en cada iteración. El criterio de resolución para determinar la

transformación está basado en encontrar la posición donde se encuentra el máximo del arreglo

acumulador. Como se mostrará más adelante esta estrategia sólo funciona bien en ausencia de

ruido. En el mismo trabajo se menciona la posibilidad de incrementar, además de la posición

ganadora k, a las vecinas inmediatas de ésta.

39

Page 47: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

En este trabajo se estudian tres posibilidades de acumular evidencia: la primera es la ya

mencionada y presente, en la segunda se incrementa el arreglo acumulador en su posición

ganadora k y en las asociadas a sus vecinos k-1 y k+1 en el mismo monto (se incrementa en 1

el arreglo acumulador), la tercera y última incrementa en dos al arreglo en la posición

ganadora y en uno a los vecinos inmediatos. El criterio de decisión para esta última es idéntico

al del primer caso: el máximo absoluto es el ganador. Para las tres estrategias anteriores se

buscarán los valores y las posiciones de los seis mayores máximos locales asociados a la

transformación que busca la rotación entre los vectores de características. Además, para la

segunda estrategia se presenta un nuevo criterio de decisión. Las definiciones básicas para la

comprensión de este nuevo criterio se presentan a continuación.

4.6 Definiciones

Sea I el arreglo de índices que contiene las posiciones de los máximos relativos del

arreglo acumulador A(k). Definamos los siguientes operadores (en negritas):

Max_Vecinos(I): Retorna un arreglo con el índice de la posición del valor máximo de

A y la de todos los vecinos consecutivos de éste en el arreglo I, en orden creciente. En caso de

que existan dos arreglos, retorna el de mayor dimensión y si aún persiste ambigüedad se elige

cualquiera de ambos.

Iguales_Max(I): Retorna un arreglo con índices de I que tienen el valor máximo de A.

Vecinos_Max(I): Toma todos los índices vecinos inmediatos presentes en I y los

retorna como un arreglo. En caso de existir más de una solución retorna la asociada al

máximo.

A continuación se define una función de membresía:

Cerca( I1, I2): indica si los índices del conjunto I2 están "cerca" de los del I2.

40

Page 48: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Definamos además los siguientes conjuntos de índices:

I1 = Max_Vecinos( I )

I2 = Vecinos_Max( I ∩ I1c) = Vecinos_Max( I / I1)

I3 = Iguales_Max( I )

Como ejemplo, suponga que el vector de índices con los seis mayores máximos del

arreglo acumulador A es I = [ 0, 4, -1, 5, -43, 1] y las componentes de A asociadas a esos

índices son: A|I = [16, 16, 15, 15, 14, 13], entonces:

I1 = Max_Vecinos( I ) =[ -1, 0, 1]

I2 = Vecinos_Max( I ∩ I1c) =[ 4, 5]

I3 = Iguales_Max( I ) =[ 0, 4]

A partir de estas definiciones se pueden construir reglas para decidir cuál será el

parámetro que define a la transformación:

41

Page 49: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

4.7 Simulaciones

A continuación se presentan los resultados de las simulaciones realizadas para estudiar

el desempeño de este nuevo criterio de resolución. Se crearon vectores de características en

forma artificial, para ello se generaron posiciones y orientaciones para las detalles con

distribuciones aleatorias.

Para cada uno de estos vectores de características se crean versiones rotadas a partir de

los mismos, se extraen en forma aleatoria algunas de los detalles, se agrega asimismo a las

orientaciones locales de los detalles, ruido con distribución normal con media cero y varianza

variable. Además de esto, se crearon versiones con combinaciones de las anteriores, como por

ejemplo, versiones rotadas, con menos detalles y con ruido aditivo en la orientación local.

También se ha estudiado el efecto de los niveles de cuantización tanto en el espacio de

coordenadas como en el espacio de parámetros y la posibilidad de utilizar lógica difusa para

tomar decisiones.

Los resultados obtenidos son los siguientes:

Caso ideal (rotación pura, extracción pura, y combinaciones de éstas): Las tres

estrategias entregan los mismos resultados. Recordar que la primera y la última sólo

consideran el máximo absoluto.

Caso con ruido en la orientación de los detalles: Para este caso, independiente de si se

incluye o no rotación y extracción de detalles, el desempeño de la primera estrategia y el de la

tercera es pobre. Sin embargo el desempeño alcanzado por la segunda estrategia está por

encima de las otras.

42

Page 50: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

De la tabla 1 es posible notar que el algoritmo propuesto entrega el valor -3º como

respuesta, siendo que el valor correcto es 0º. Si bien los algoritmos 2 y 3 entregan en su

primera componente el valor correcto hay que considerar que los valores máximos de A no

presentan una variación alta, lo que se esperaría para el caso 3. Al aplicar las reglas para el

caso 2 se obtiene que I1 =[-2, -1, 0, 1, 2], I2 =[-4], e I3 =[0]. Por lo tanto la regla gatillada es la

número 1. Esto implica que el valor es 0º. Puede parecer que el algoritmo 3 es superior al 2

debido a que, en este caso, para obtener el resultado del 2 se tuvo que llevar a cabo más

cálculos para obtener el mismo resultado.

Tabla 1. Acumulación de evidencia por los tres algoritmos. Caso sólo ruido aditivo, s = 4.5º

Tabla 2. Acumulación de evidencia por los tres algoritmos. Caso rotación en 17º y ruido

aditivo, s = 6º

La tabla 2 presenta un caso más exigente donde tanto el algoritmo 1 como el 3 entregan

resultados incorrectos (-6º, para 17º). Sin embargo, veamos el desempeño del algoritmo 2. En

este caso, I1 =[12] (puede ser también I1 =[16]), I2 =[ -14, 16, 22, 36, 38], e I3 =[ 12, 16].

Notamos que la regla gatillada es, en este caso, la número 2. Esto implica que el valor

43

Page 51: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

resultante es 14º. Este resultado, si bien no coincide con el valor correcto de 17º muestra la

superioridad del algoritmo 2.

4.8 Herramientas Necesarias de Software

4.8.1 Modulo de Tratamiento de la Huella

Almacenamiento de la huella.

El formato BITMAP de Windows se utiliza como formato de 'entrada' para las

imágenes (huellas) a procesar, por su facilidad y compatibilidad en intercambiar imágenes

entre aplicaciones. El origen de la imagen BITMAP es indiferente (escáner, archivo, cámara).

Filtrado de la imagen.

Esta etapa del proceso consiste en deshacerse de todas las zonas indeseables dentro de

la imagen de la huella, llamadas 'zonas de ruidos', dejando únicamente las zonas con un

máximo de información fiable sobre la huella.

Esta función detecta también la ausencia de huella o un nivel demasiado alto de ruido

(escáner sucio o defectuoso), o una mala posición del dedo. Si fuese necesario, el software

devolvería el control al sistema, con un código de error y mensajes correspondientes.

Evaluación de la calidad de la huella.

Un factor de calidad es calculado para ayudarnos a establecer un criterio de fiabilidad

de la "firma" de la huella.

No hay un nivel mínimo pre-fijado de calidad para declarar una huella como aceptable

o no. Una mala imagen de huella puede ser procesada normalmente sin provocar un falso

44

Page 52: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

rechazo o falsa aceptación, aunque es obvio que existe una correlación entre una huella de

mala calidad y la probabilidad de obtener un falso rechazo.

Adelgazamiento de la huella.

En la imagen binarizada de la huella (en blanco y negro) las líneas son claramente

visibles pero de anchura irregular.

Para rápidamente detectar las terminaciones y bifurcaciones de las líneas, es necesario

obtener una imagen de la huella más esquemática, en la cual todas las líneas sean de misma

anchura (1 pixel).

Extracción de detalles.

Este es el proceso final que completa la obtención de la "firma" de la huella. De una

imagen de huella previamente procesada, extraemos, aplicando diferentes algoritmos, una

estructura de datos, la "firma", con las siguientes características:

Ocupación de memoria pequeña, típicamente entre 500 y 800 bytes dependiendo de la

huella. Incluso tenemos la posibilidad de establecer procesos de búsqueda y de comparación

rápidas.

La firma que resulta, caracterizando la huella, esta basada en una cantidad suficiente de

terminaciones y de bifurcaciones (detalles) fiables de las líneas de la huella. Por cantidad

suficiente, nos referimos a un número mínimo de detalles necesarias para proceder a

comparaciones eficaces entre huellas. Nuestra experiencia sitúa este mínimo a 15 detalles.

Por detalles fiables, nos referimos a esas no generadas por ruidos durante la sesión de

escanéo o por alteraciones temporales de la huella en sí (cortes, desgaste, etc...).

45

Page 53: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Con un número pequeño de detalles (15 o 20) correctamente localizados, es posible

identificar a una huella entre miles. Cada minucia ocupa 16 bytes sin ser compactada o

comprimida. Esto explica que el tamaño de cada archivo "firma" ocupa por ejemplo 240

bytes para una huella de 15 detalles y 1600 bytes para una huella de 100 detalles, (+ 56

bytes de información). Si el archivo final de detalles es creado utilizando un proceso de

compresión (parte del SDK), podemos obtener un archivo de hasta 40% más pequeño en

tamaño, e incluso menos si este archivo es tratado con un programa clásico de compresión (del

mercado).

Después del proceso de extracción de detalles, se detectan una media de 80 detalles,

dependiendo del escáner utilizado (calidad de la imagen capturada) y de la huella. Después de

aplicar unos filtros y otros procesos a la imagen de la huella, todas las detalles identificadas

como falsas o sospechosas son descartadas, dejando un 40% de detalles 'reales'. El sistema nos

deja con una número de detalles más bajo que el inicial, pero lejos de ser insuficiente. Esto

solo resulta en un sistema más fiable, ya que las falsas detalles podrían afectar al resultado.

4.8.2 Módulo de Comparación de Huellas

El sistema de verificación esta basado en la comparación de dos grupos de detalles,

correspondientes a las dos huellas a comparar. Para determinar si estos dos grupos de detalles,

extraídos de dos distintas imágenes de huellas, corresponden al mismo dedo, es necesario

adoptar un sistema de comparación insensible a translaciones, rotaciones y deformaciones que

directamente afectarían las huellas a comparar.

De estos dos grupos de detalles, el sistema es capaz de dar un índice (similitud de

correspondencias) cuyos valores pueden ser:

• 0 % si las huellas no tienen nada en común.

46

Page 54: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

• 100 % si las huellas son idénticas. En este caso las huellas serían de una misma

imagen.

• Dos grupos de detalles extraídas de una misma huella, pero de diferente imágenes,

nunca darán 100% de similitud debido a las diferencias existentes al momento de

capturar las dos imágenes (pequeñas deformaciones o desplazamientos del dedo en el

escáner). Darán, sin embargo, un alto nivel de similitud.

Una vez el índice es conocido, la decisión a tomar, de si las huellas pertenecen a un

mismo dedo, es solamente estadística. Para ayudarnos a validar el resultado de una

comparación entre dos "firmas", tenemos que definir el 'umbral de aceptación'.

4.8.3 Rendimiento

El objetivo de todo sistema de identificación es el de establecer un método automático

para determinar si la imagen de dos huellas son equivalentes o no. Por 'huellas imagen', nos

referimos a dos huellas procedentes del mismo dedo de la misma persona, pero tomadas en

distintos momentos y circunstancias.

Los métodos y algoritmos empleados por los sistemas de reconocimiento no son

infalibles; están sometidos a tasas de error que son, sin embargo, conocidas y controlables.

Comportamiento.

Para dos imágenes diferentes de huella, el sistema calcula un valor que indica el nivel

de similitud (de 0 a 100). El valor 100 se obtiene solo en el caso de comparar una imagen

contra si misma (misma imagen), y, al contrario, el sistema devuelve un valor 0 si las huellas

no tienen nada en común.

Dependiendo de la similitud devuelta por el sistema de comparación (0 a 100), se

decide si las huellas pertenecen al mismo dedo o no, comparando este valor con el valor del

47

Page 55: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

umbral. El umbral corresponde al valor de similitud a partir del cuál consideramos que las dos

huellas pertenecen al mismo dedo.

Equivalente = SI, si la Similitud >= Umbral.

Equivalente = NO, si la Similitud < Umbral.

Incrementado el umbral también aumentamos la probabilidad de falso rechazo, y se

disminuye la falsa aceptación. El valor apropiado del umbral se debería calcular de forma

estadística entre una gran población con características similares de las de los usuarios del

sistema o entre ellos mismos. Incluso se podría elegir un umbral dinámico para cada

comparación realizada, en función de múltiples variables, como puede ser el tipo de personas

que utilicen el sistema, o utilizando, como índice, los "propios resultados estadísticos" del

sistema.

4.8.4 Tasas de error:

Nos podemos encontrar en una de las dos situaciones siguientes, después de haber

determinado la tasa de equivalencia entre dos huellas.

Falsa aceptación (F.A.): Huellas no son equivalentes (del mismo dedo), pero han sido

consideradas como tal por el sistema.

Falso rechazo (F.R.): Huellas son equivalentes, pero no han sido reconocidas como tál

por el sistema.

Estos dos errores difieren por sus causas y frecuencias, y también por la seriedad de sus

consecuencias.

48

Page 56: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Un resultado F.R. traería la molestia de volver a realizar una nueva captura y una

nueva comparación: otra sesión de acceso tendría lugar. Una resultado F.A. facilitaría el

acceso a al gestión o lugar protegido.

Ejemplo de valores típicos* observados en la mayoría de las aplicaciones:

T.F.A. : 0,0001 % (Tasa de Falsa Aceptación)

T.F.R.: <1 % (Tasa de Falso Rechazo)

4.9 Dispositivos de Reconocimiento de Huella Digital

1) TouchSafe Personal

2) TouchNet for Oracle (para bases de datos),

1) TouchSafe Personal

§ Provee el más alto nivel de seguridad de datos en un tamaño compacto.

§ Dos modelos: desktop o de mano.

§ Su tamaño compacto lo hace ideal para viajes de ejecutivos.

§ Completamente portable y transportable entre computadoras.

§ Simple de usar, con un rápido y fácil acceso para usuarios autorizados.

2) TouchNet for Oracle (para bases de datos),

Este ofrece el mas seguro acceso a bases de datos y muy sencillo de operar

4.9.1 Como Funciona:

49

Page 57: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Cada usuario autorizado debe enrolarse en el sistema, mediante un procedimiento muy

sencillo y rápido, creándose en ese momento una caracterización matemática de la huella

digital, llamada patrón biométrico (template). Este patrón se almacena para cada uno de los

usuarios del sistema en un servidor, para ser consultado y comparado cada vez que el usuario

intente acceder al sistema protegido.

Durante la verificación, que se produce ante la solicitud de acceso, el individuo debe

presentar su huella para ser comparada con el patrón almacenado durante el enrolado y su

huella debe coincidir con este patrón para que el acceso pueda ser otorgado.

En la actualidad hay infinidades de dispositivos para control de acceso lógico (S. O, B.

D, Internet, etc.), control de acceso para puestas, comandos y controles, programas nacionales

de identificación de personas, AUTENTIFICACIÓN, Seguridad en acceso en Base de Datos

Criticas.

50

Page 58: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

CAPITULO V

DISPOSITIVO DE

RECONOCIMIENTO

51

BASADO EN

FINGERPRINT

Page 59: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Dispositivo U Are U de DigitalPersona

El dispositivo usado en este proyecto fue desarrollado a la compañía DigitalPersona, la

cual se dedica exclusivamente a producir dispositivos para reconocimiento biométrico,

exclusivamente de huella digita. Entre los diversos productos que ofrece se encuentran:

v Sistemas Software-Hardware ya diseñados para un uso exclusivo, como lo es para el

control de accesos a una red, control de uso de dispositivos, etc.

v Sistema para diseño de aplicaciones con el dispositivo de huella digital, el cual incluye

el dispositivo hardware para conexión por USB, y el driver, así como el ocx para el

diseño de sistemas en lenguajes visuales.

En este caso del dispositivo usado para el proyecto es el mostrado en la figura 7 siguiente

52

Page 60: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Figura 7 .-Dispositivo usado para el proyecto

El funcionamiento interno del dispositivo no es el objetivo de este proyecto, razon por

lo cual se omite su descripción; centrandonos en el uso del mismo solamente.

La forma en que se captura la imagen para posteriormente vectorizarla y generar su

código, se genera internamente en conjunción con el driver del dispositivo, la captura se

realiza al presionar el dedo sobre la parte sensible y una vez detectada la presión sobre el se

realiza el escaneo.

Una vez realizada la operación completa se genera un código de 901 caracteres que

Sera de hoy en adelante el código para el reconocimiento de la huella digital que se capturó.

Estos 901 caracteres representan la interpretación de todos y cada uno de los elementos

que integran a la huella digital capturada, que la representan diversos elementos los cuales

están dispuestos en forma única en cada ser humano

53

Figura 8.- Elementos de una huella digital

Page 61: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Una vez obtenido este código, se puede almacenar en una base de datos para su

posterior uso para la identificación de personas. La forma en que se realiza la captura de dicho

código es como sigue: para obtener un código que sea real, se deben tomar cuatro muestras de

la huella dactilar, de estas cuatro muestras se obtiene un código que es el mas aproximado

posible al de la huella escaneada. Una vez obtenido dicho código, solo resta hacer la

verificación y para esto solo se toma la muestra a comparar contra el código capturado. Se

hace la observación que para realizar el escaneo de la huella, el dedo debe estar alineado

correctamente en el escáner.

54

Page 62: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

VISUAL BASIC VERSION

6.0

6.1 Algoritmos Del Sistema

Para el desarrollo de este sistema, se partió de una base de datos ya existente, con los

datos personales de todos los trabajadores, a partir de esta, se creo una nueva con las

modificaciones pertinentes, agregándole los campos que almacenaran el código generado por

el dispositivo de reconocimiento.

Modulo de registro

1.- Buscar al trabajador por su clave

2.- Capturar las cuatro muestras de su huella dactilar

3.- Verificar que la imagen tenga una calidad excelente

5.- Almacenar los datos.

55

DESARROLLADO EN

SISTEMA

CAPITULO VI

Page 63: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Modulo de Verificación

1.- Capturar una muestra de la huella

2.- Buscar el código en la base de datos

3.- Extraer de la base de datos, los horarios de entrada y salida del trabajador

4.- Comparar la hora de chequeo, con la hora del sistema, si el campo de entrada no tiene

datos y la hora de chequeo es menor o igual a la que el trabajador tiene registrada, se

almacena como hora de entrada. Caso contrario, se realiza una operación aritmética, para

obtener el retraso del trabajador, y si este retraso excede del tiempo de tolerancia, se coloca

la leyenda FALTA en los campos destinados a hora de entrada y hora de salida.

5.- Si la hora de chequeo es mayor que la de entrada, y el campo de entrada contiene datos; se

verifica la hora de salida que el trabajador tiene registrada, si esta es mayor a la que se capturo,

no se registra la hora de salida, porque aun no es hora de salida del trabajador.

56

Page 64: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

3

FIN

Existe elRegistro

No

Si

FIN

CapturarHuella

Cont=Cont+1

Cont=4

Cont=1

Si

No Base de Datos

Base de Datos

Existe elRegistro

No

Datos de laPersona

57

Inicio

Seleccionde modulo

Seleccion1=Registro2=Checar3=Salir

1 2CapturarHuella

6.2 Diagrama de Flujo

Magnolia A Castrejon Delgado
Page 65: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

6.3 Diagrama Jerárquico

Modulo de Selección

Modulo deRegistro

Modulo deReportes

Modulo deVerificación

58

Page 66: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

6.4 Base de Datos

El sistema de almacenamiento, que se utiliza para el sistema, se genero con elMicrosoft Access 2000, consta de 2 tablas, las cuales se relacionan entre si por medio delcampo que representa la clave del trabajador. Las tablas tiene el siguiente diseño :

***Tabla Ent_SalNombre del Campo Tipo de DatosCLAVE_MAESTRO TextoFECHA TextoHORA_ENTRADA Fecha/HoraHORA_SALIDA Fecha/HoraRETARDO TextoADELANTO Texto

***Tabla RegistroNombre del Campo Tipo de DatosCLAVE TextoNOMBRE TextoTIPO_TRABAJADOR TextoFECHA_INGRESO Fecha/HoraUBICACION TextoAF_IMSS TextoCURP TextoHORA_ENTRADA Fecha/HoraHORA_SALIDA Fecha/HoraCODIGO1 MemoCODIGO2 MemoCODIGO3 Memo

59

Page 67: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

6.5 Interfaces de Usuario y Descripción del Sistema

El sistema consta de 3 módulos principales, los cuales son:

v Modulo principal o de accesos

v Modulo de registro

v Modulo de Verificación

6.5.1 Modulo Principal de Accesos

En este modulo se tiene el menú de inicio a través del cual se ira a cualquiera de los otros

módulos, el modulo se ve de la siguiente manera (Figura 9):

Figura 9 .- Pantalla principal del sistema

60

Page 68: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Al iniciar el sistema, se tienen tres opciones, las cuales se accesan por medio de

botones, en este modulo solamente se tiene el acceso a los modulos principales del sistema,

por lo cual aqui solo existen declaración de algunas variables de entorno.

Private Sub Form_Load()

ShockwaveFlash1.Movie = App.Path + "\huella.swf"

End Sub

Private Sub Image3_Click()

Decision = 2

Captura.Show 1

End Sub

Private Sub Image4_Click()

Decision = 1

Impresora.Show 1

End Sub

Private Sub Image5_Click()

Close All

Unload Me

End Sub

Private Sub ShockwaveFlash1_OnReadyStateChange(newState As Long)

End Sub

61

Page 69: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

6.5.2 Modulo de Registro y Verificación

En estos modulo se lleva a cabo la captura de la huella digital, así como su

verificación, el control para realizar una cosa u otra se lleva a cabo por medio de

programación, como se ilustra a continuación esta se realiza a través del ocx proporcionado

por el fabricante, dicho modulo se ve de la siguiente manera (Figura 10) y consta de las

siguientes líneas de código básicas:

Figura 10 .- Modulo de Registro y Verificación

62

Page 70: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

En esta subrutina se realiza la búsqueda de la persona previamente capturados sus datos

generales se localiza y se procede a la captura de la huella digital:

Private Sub Combo1_Click()

Cadena = "Nombre='" & Trim(Combo1.Text) & "'"

With Tarjeta

.FindFirst Cadena

If .NoMatch Then

Else

On Error GoTo 0 ' Desactiva la detección de errores.

On Error Resume Next ' Retarda detección de errores.

Cadena2 = App.Path + "\" + Trim(.Fields(0)) + ".jpg"

Image1.Picture = LoadPicture(Cadena2)

If Err.Number = 53 Then

Image1.Picture = LoadPicture("c:\Delegacion\mientras.jpg")

End If

Resume

End If

End With

End Sub

En este botón se realiza la activación del dispositivo para la captura de una huella, para

esto se utiliza el método. CrearUsuario, con esto el dispositivo queda listo para tomar cuatro

muestras de la huella.

Private Sub Command1_Click()

If Combo1.Text = "" Then

Label8.Caption = "Introduce el NOMBRE"

Else

Lector_Huella.TerminaVerificacion

Lector_Huella.CrearUsuario

End If

End Sub

63

Page 71: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Uno de los puntos que se deben tener en cuenta al programar el dispositivo, es que una vez

terminada ya sea una captura o una verificación, siempre se debe de poner en estado de

desconexión, ya que de lo contrario cuando se quiera utilizar de nuevo no funcionara de

manera correcta, el método empleado es. Desconecta, este lo realizamos en este Bot. que es el

de salir.

Private Sub Command2_Click()

Lector_Huella.TerminaVerificacion

Lector_Huella.Desconecta

Unload Me

End Sub

En la subrutina principal, es decir la de activación de la forma, se realiza la inicialización

de variables, así como la forma en que va a operar dicho modulo, esto es ya sea como registro

o como verificación, esto lo realizamos por medio de la variable llamada Decision, la cual si

toma el valor de 1 entonces se llevara a cabo una verificación y si toma valor de 2 se llevara a

cabo un registro

Private Sub Form_Activate()

Set db = OpenDatabase(App.Path + "\Lector3.mdb")

Set Tarjeta = db.OpenRecordset("Registro", dbOpenDynaset)

Set Tarjeta2 = db.OpenRecordset("ENT_SAL", dbOpenDynaset)

Data1.RecordsetType = 1

Text1.Text = ""

Lector_Huella.Conecta

If Decision = 1 Then

Command1.Enabled = False

Command4.Enabled = False

Command3.Enabled = False

Text2.Enabled = False

Text3.Enabled = False

64

Page 72: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Text4.Enabled = False

Text5.Enabled = False

Text6.Enabled = True

Text7.Enabled = True

Text8.Enabled = True

Text9.Enabled = True

Combo1.Enabled = True

Combo2.Enabled = False

Combo3.Enabled = False

Lector_Huella.Verifica

If Decision = 2 Then

Command1.Enabled = True

' Lector_Huella.CrearUsuario

End If

With Tarjeta

cuantos = 0

.MoveFirst

Do While Not .EOF

Combo1.AddItem .Fields(1), cuantos

.MoveNext

cuantos = cuantos + 1

Loop

End With

Shape1.FillColor = &H8000&

Shape2.FillColor = &H8000&

Shape3.FillColor = &H8000&

Shape4.FillColor = &H8000&

End Sub

65

Page 73: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Cuando se lleva a cabo una captura o una verificación, siempre se debe estar alerta por si

sucede algún evento que pueda generar errores al momento de la obtención del código, si esto

llega a suceder, se tiene que repetir el muestreo, los eventos mas relevantes son los siguientes:

Imagen Muy Borrosa, Imagen Muy Brillante, Imagen Muy Obscura, Huella no Centrada,

todos estos eventos los regresa el ocx, por medio de eventos de Visual Basic. El código es el

siguiente:

Prívate Sub Lector_Huella_ImagenMuyBorrosa()

Shape2.FillColor = &HFF&

End Sub

Private Sub Lector_Huella_ImagenMuyBrillante()

Shape3.FillColor = &HFF&

End Sub

Private Sub Lector_Huella_ImagenMuyObscura()

Shape4.FillColor = &HFF&

End Sub

Private Sub Lector_Huella_NoCentrado()

Shape1.FillColor = &HFF&

End Sub

Conforme se toman las muestras para la creación de un nuevo registro de huella digital, se

va incrementando un contador del numero de muestras, este contador lo podemos manipular

desde el evento llamado _PreRegistro, el cual regresa un valor de tipo entero llamado

NumHuellas, si llegara a suceder alguno de los eventos anteriores mencionados, que podrían

generar un código no confiable, entonces el contador no se incrementa, generando con esto la

repetición de la muestra que fallo.

66

Page 74: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Private Sub Lector_Huella_PreRegistro(ByVal aNumHuellas As Integer)

Shape1.FillColor = &H8000&

Shape2.FillColor = &H8000&

Shape3.FillColor = &H8000&

Shape4.FillColor = &H8000&

Label3.Caption = Str(aNumHuellas)

End Sub

Una vez tomadas las cuatro muestras y generado el nuevo código de la huella digital

capturada, se activa el evento llamado Huella_Registered, el cual retornara el código en el

parámetro de tipo String llamado Value, una vez obtenido no resta mas que almacenarlo con

los respectivos datos y foto del individuo registrado.

Private Sub Lector_Huella_Registered(ByVal aValue As String)

Dim codigo As Variant

Dim cad As String

codigo = aValue

Text1.Text = aValue

cad = "Nombre='" & Combo1.Text + "'"

With Tarjeta

.FindFirst cad

If .NoMatch Then

.AddNew

.Fields(0) = Text2.Text

.Fields(1) = Combo1.Text

.Fields(2) = Combo2.Text

.Fields(3) = Text3.Text

.Fields(4) = Combo3.Text

.Fields(5) = Text4.Text

.Fields(6) = Text5.Text

67

Page 75: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

.Fields(7) = Text7.Text

.Fields(8) = Text6.Text

.Fields(9) = Mid(codigo, 1, 300)

.Fields(10) = Mid(codigo, 301, 600)

.Fields(11) = Mid(codigo, 601, 900)

Else

.Edit

.Fields(9) = Mid(codigo, 1, 300)

.Fields(10) = Mid(codigo, 301, 600)

.Fields(11) = Mid(codigo, 601, 900)

End If

.Update

End With

End Sub

Si llegara a suceder algún error al momento de realizar un registro, este se reflejaría

inmediatamente en el evento llamado Huella_RegistroFallo, el cual se activaría sin retornar

ningún valor, pero en el cual nosotros podríamos poner algún tipo de bandera para saber

cuando se genera este evento.

Private Sub Lector_Huella_RegistroFallo()

Print "REGISTRO FALLO"

End Sub

Una vez realizada la verificación y si esta se realizo en forma correcta, es decir si no

sucedió ningún evento que genere algún problema, entonces, se activa el evento llamado

Huella_TerminaVerificacion, al igual que el anterior evento no regresa ningún valor pero se

puede emplear alguna bandera para indicar que todo salió correcto.

Private Sub Lector_Huella_TerminaVerificacion()

Label8.Caption = "Siguiente Registro"

End Sub

68

Page 76: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

En esta sección del código, se busca por un registro ya dado de alta, al realizar el escaneo

de una huella, el evento llamado Huella_Verificado(ByVal a Value As String), retorna el

valor del código de la huella capturada, el cual se encuentra en el parámetro tipo String,

llamado Value, el cual es el código a comparar contra la base de datos.

La comparación de los códigos se realiza con la instrucción. Concuerdan(Dato1, Dato2),

la cual tiene dos parámetros, estos parámetros son los códigos a comparar, donde uno de ellos

es el código que tenemos almacenado en la base de datos y el otro el que se escaneo con el

dispositivo. Si la comparación es positiva regresa un valor de TRUE, lo cual indica que la

función es de tipo booleana. Para el caso de la aplicación desarrollada para esta tesis consiste

en checar la entrada y salida de trabajadores de una institución, por lo cual una vez capturada

la huella a buscar se realiza la verificación en toda la base de datos que ya cuenta con los datos

trabajadores. La búsqueda se realiza con SQL

Private Sub Lector_Huella_Verificado(ByVal aValue As String)

Dim val1, val2 As Variant

Dim cadena3, Cadena4, Cadena5, Cadena6 As String

Dim ClaveT As String

Dim Hora_Ent, Hora_Sal As Date

Dim Hora, Minutos, Segundos, Hora1, Minutos1, Segundos1 As Integer

Text1.Text = ""

Shape1.FillColor = &H8000&

Shape2.FillColor = &H8000&

Shape3.FillColor = &H8000&

Shape4.FillColor = &H8000&

Data1.Recordset.MoveFirst

Do While Not Data1.Recordset.EOF

If Not IsNull(Data1.Recordset(9)) And Not IsNull(Data1.Recordset(10)) And Not

IsNull(Data1.Recordset(11)) Then

Text1.Text = Data1.Recordset(9) + Data1.Recordset(10) + Data1.Recordset(11)

End If

69

Page 77: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

If Data1.Recordset.EOF Then

Exit Do

End If

If Lector_Huella.Concuerdan(Text1.Text, aValue) Then

Label8.Caption = "Registro Encontrado"

If IsNull(Data1.Recordset(1)) Then

Combo1.Text = " "

Else

Combo1.Text = Data1.Recordset(1)

End If

If IsNull(Data1.Recordset(0)) Then

Text2.Text = " "

Else

Text2.Text = Data1.Recordset(0)

End If

If IsNull(Data1.Recordset(3)) Then

Text3.Text = " "

Else

Text3.Text = Data1.Recordset(3)

End If

If IsNull(Data1.Recordset(5)) Then

Text4.Text = " "

Else

Text4.Text = Data1.Recordset(5)

End If

If IsNull(Data1.Recordset(6)) Then

Text5.Text = " "

Else

Text5.Text = Data1.Recordset(6)

End If

70

Page 78: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

If insole(Data1.Recordset(2)) Then

Combo2.Text = " "

Else

Combo2.Text = Data1.Recordset(2)

End If

If IsNull(Data1.Recordset(4)) Then

Combo3.Text = " "

Else

Combo3.Text = Data1.Recordset(4)

End If

If IsNull(Data1.Recordset(7)) Then

Text7.Text = " "

Else

Text7.Text = Data1.Recordset(7)

End If

If IsNull(Data1.Recordset(8)) Then

Text6.Text = " "

Else

Text6.Text = Data1.Recordset(8)

End If

Text8.Text = Time()

On Error GoTo 0 ' Desactiva la detección de errores.

On Error Resume Next ' Retarda detección de errores.

cadena3 = App.Path + "\" + Trim(Data1.Recordset(0)) + ".jpg"

ClaveT = Data1.Recordset(0)

Hora_Ent = Data1.Recordset(7)

Hora_Sal = Data1.Recordset(8)

Image1.Picture = LoadPicture(cadena3)

If Err.Number = 53 Then

Image1.Picture = LoadPicture("c:\Delegacion\mientras.jpg")

71

Page 79: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

End If

Resume

Data1.Recordset.MoveLast

Exit Do

End If

Data1.Recordset.MoveNext

Loop

If Lector_Huella.Concuerdan(Text1.Text, aValue) = False Then

Label8.Caption = "Registro Incorrecto Intente de Nuevo"

MsgBox ("Registro No Encontrado")

Combo1.Text = ""

End If

If Lector_Huella.Concuerdan(Text1.Text, aValue) = True Then

With Tarjeta2

If Time() >= Hora_Sal Then

Cadena6 = " "

Cadena6 = "Clave_Maestro='" & Trim(ClaveT) & "' and Fecha='" &

Format(Date, "Long Date") & "'"

.FindFirst Cadena6

If .NoMatch Then

.AddNew

.Fields(0) = ClaveT

.Fields(1) = Format(Date, "Long Date")

.Fields(2) = Time()

.Fields(3) = Time()

.Fields(4) = "FALTA"

.Fields(5) = "FALTA"

.Update

Else

If .Fields(4) = "FALTA" Then

72

Page 80: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

.Edit

.Fields(3) = Time()

.Fields(5) = "FALTA"

.Update

Else

.Edit

.Fields(3) = Time()

.Update

End If

End If

Else

Cadena6 = "Clave_Maestro='" & Trim(ClaveT) & "' and Fecha='" & Format(Date,

"Long Date") & "'"

.FindFirst Cadena6

If .NoMatch Then

.AddNew

.Fields(0) = ClaveT

.Fields(1) = Format(Date, "Long Date")

.Fields(2) = Time()

Hora = Hour(Hora_Ent)

Minutos = Minute(Hora_Ent)

Segundos = Second(Hora_Ent)

Hora1 = Hour(.Fields(2))

Minutos1 = Minute(.Fields(2))

Segundos1 = Second(.Fields(2))

Hora1 = Hora1 - Hora

Minutos1 = Minutos1 - Minutos

Segundos1 = Segundos1 - Segundos

If Hora1 < 1 Then

If Minutos1 > 30 Then

73

Page 81: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Cadena4 = "FALTA"

Else

Cadena4 = Str(Hora1) + ":" + Str(Minutos1) + ":" + Str(Segundos1)

End If

Else

Cadena4 = "FALTA"

End If

.Fields(4) = Cadena4

.Update

Else

Label8.Caption = "ENTRADA REGISTRADA"

MsgBox (" CONTINUAR")

Label8.Caption = " "

End If

End If

End With

End If

Lector_Huella.Verifica

End Sub

74

Page 82: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

6.5.3 Modulo de Reportes

El reporteador se pensó de tal manera de que se tuviera un multireporte, es decir que en

un solo modulo se pudieran armar los reportes que fueran necesarios para el usuario, sin

necesidad de tener una cantidad definida de reportes.

Los datos posibles, para armar un reporte serian : la fecha o fechas de las cuales se

quiere el reporte, así como también, si el reporte va a ser total, individual o se elige

manualmente a los trabajadores a reportear (Figura 11).

Figura 11.- Vista del reporteador del sistema

75

Page 83: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Las consultas que se necesitan para generar el reporte, se generan con SQL, esto nos

facilita el filtraje de la información, y se manipula mejor la base de datos y sus relaciones.

Private Function BuscarEnBase(Optional ByVal sBusqueda As String = "") As Long

Dim sSQL As String

Dim l As Integer

On Local Error Resume Next

If Len(sBusqueda) Then

sSQL = "SELECT * FROM ENT_SAL WHERE " & sBusqueda

Print sSQL

Set db = OpenDatabase(App.Path + "\Lector3.mdb")

Set RsBuscar = db.OpenRecordset(sSQL, dbOpenSnapshot)

Data1.RecordsetType = 1

Data1.Refresh

End If

RsBuscar.MoveLast

l = RsBuscar.RecordCount

RsBuscar.MoveFirst

If RsBuscar.EOF Then

Print "Hola"

End If

End Function

Private Sub Command1_Click()

Dim i As Integer

If Check1.Value = 1 Then

If List2.ListCount = 1 Then

MsgBox ("No se puede Agregar mas de un Registro")

Else

List2.AddItem List1.List(List1.ListIndex)

76

Page 84: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

End If

End If

If Check2.Value = 1 Then

For i = 0 To List1.ListCount - 1

List2.AddItem List1.List(i), i

Next i

End If

If Check3.Value = 1 Then

List2.AddItem List1.List(List1.ListIndex)

End If

End Sub

Private Sub Command2_Click()

If List2.ListCount >= 1 Then

List2.RemoveItem (List2.ListIndex)

End If

End Sub

Private Sub Command3_Click()

Dim SQL_Busqueda As String

Dim Fecha1, Fecha2 As Date

Dim i As Integer

SQL_Busqueda = ""

CadAnd = " "

If Text1 <> "" Then

SQL_Busqueda = "Fecha =" + Format(Text1.Text, "Long Date")

End If

If Text2 <> "" Then

SQL_Busqueda = SQL_Busqueda + " and Fecha <=" + Text2.Text

End If

77

Page 85: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

If (Text1 <> "" Or Text2.Text <> "") And List2.ListCount() > 0 Then

SQL_Busqueda = SQL_Busqueda + " and "

End If

For i = 0 To List2.ListCount - 1

SQL_Busqueda = SQL_Busqueda + "CLAVE_MAESTRO = " + "'" + List2.List(i) + "'"

If i <> List2.ListCount - 1 Then

SQL_Busqueda = SQL_Busqueda + " or "

End If

Next i

BuscarEnBase (SQL_Busqueda)

End Sub

Private Sub Command4_Click()

Unload Me

End Sub

Private Sub Form_Activate()

Dim Entrada, SQLCad1, SQLCad2 As String

Set db = OpenDatabase(App.Path + "\Lector3.mdb")

Set Tarjeta = db.OpenRecordset("Registro", dbOpenDynaset)

Data1.RecordsetType = 1

Text2.Enabled = False

Label2.Enabled = False

Tarjeta.MoveLast

With Tarjeta

cuantos = 0

.MoveFirst

78

Page 86: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Do While Not .EOF

If IsNull(.Fields(0)) Then

Entrada = "xxxxxx"

Else

Entrada = .Fields(0)

End If

List1.AddItem Entrada, cuantos

.MoveNext

cuantos = cuantos + 1

Loop

End With

End Sub

79

Page 87: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

CAPITULO VII

CONCLUSIONES

80

Page 88: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Conclusiones

Las conclusiones a las que se llegaron después de realizar la programación del

dispositivo son muchas y muy variadas. Entre ellas se encuentran ventajas y desventajas del

dispositivo en particular, ya que el método de identificación por huella digital es excelente, el

dispositivo al que hace referencia el diseño tiene varias fallas, muchas o la mayoría de estas

son con respecto al driver y al ocx., por ejemplo:

v Al instalar el dispositivo en la computadora, el programa de instalación dice no

detectarlo aunque Windows lo detecte (con el nombre y modelo), el inconveniente es

que si el software de instalación no lo detecta no se instalara ni el driver ni el Ocx. Por

lo que se concluye que aún existen errores en la versión del instalador, ya que según

los distribuidores esta era una versión modificada y corregida.

v Una vez que se realiza la instalación, ya no tiene dificultad la programación del mismo,

todo se hace de manera sencilla, aunque no se cuenta con algún manual del Ocx, los

eventos del mismo, indican las acciones que realizan, y la manera en que retornan los

valores, lo anterior fue necesario inferirlo. Por lo que se concluye que, el uso de este

tipo de tecnología es muy fácil de realizar, ya que los dispositivos cuentan con

software que hace las operaciones de forma transparente al usuario.

v La falla mayor que se detectó es que si se realiza la captura en una computadora y una

vez terminada la aplicación, se instala el dispositivo en otra computadora y se traslada

la base de datos a esta nueva computadora, el dispositivo ya no reconoce los códigos

generados por el mismo, y se tiene que proceder a generar nuevamente los códigos,

esta falla generó una gran perdida de tiempo al momento de la puesta en marcha del

sistema. La conclusión a la que se llega es de que el sistema de validación que tiene el

81

Page 89: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Ocx, debe de estar de alguna manera relacionada con el hardware o el software de la pc en

la que se instale.

v Otra falla muy grave del dispositivo es el tiempo en que dure activo, ya que si se

emplea por un largo tiempo, este empieza a generar inestabilidad en el sistema y el

sistema operativo se colapsa, teniendo que reiniciar el sistema. Lo cual generó muchos

problemas, ya que el sistema desarrollado pretendía registrar, la hora de entrada y de

salida de un trabajador, lo cual fue muy difícil. Por lo que se concluye que este

dispositivo no es para uso rudo, es decir es mas bien para uso personal, mas no

colectivo.

v Este sistema duró aproximadamente un mes a prueba, y al final se retiró, al comprobar

que el dispositivo no era capaz de soportar demasiado tiempo funcionando, por lo que

generaba muchos errores y conflictos con el sistema

82

Page 90: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

BIBLIOGRAFIA

83

Page 91: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Bibliografía

v Buxton Bernard y Roberto Cipolla (eds). (1996).

Computer vision ECCV´96.

4th European conference on computer vision. Vol I. Cambridge, UK: Springer.

v Jan – Olof Eklundh (ed). (1994).

Computer vision ECCV´94.

3th European conference on computer vision. Vol I. Stockholm, Sweden: Springer

v J. R. Parker. (1994). Practical vision using C. U. S. A.: John Wiley & Sons , Inc.O.

Faugeras (ed), (1990). Computer vision ECCV´90.

1th European conference on computer vision. Vol I. Antibes, France: Springer - Verlag.

v K. Mitra Sanjit. (1999).

Digital Signal Processing Laboratory Using MatLab. U. S. A.: 1999).

Mc Graw Hill.

v Maraval Gomez – Allende Darío. (1993).

Reconocimiento de formas y visión artificial. U. S. A.:

Addison – Wesley Iberoamérica.

v M. Brown Christopher y Terzopoulos Demetri (1994). Real –Time Computer Vision.

Great Britain: Cambridge University Press.

v http://puertalogica.koolhost.com/material/PerfifericENTR/Reconocim/biib1.htm

v http://www.westcorp.com.ar/producto/biometric/huella/huella.html

v http://www.fingerprint.de/news/pressemitteilungen.asp?lang=eng

v http://www.iec.csic.es/criptonomicon*articulos/expertos73.html

84

Page 92: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

GLOSARIO

85

Page 93: Sistema de Deteccion de Huella Digital Luis Eduardo Moran Lopez

Reconocimiento de Huella Digital

Glosario

v FingerPrint.- Huella digital

v USB.- Tecnología reciente de bus serial para computadoras IBM y compatibles

v OCX.- Un objeto que se expone a otras aplicaciones o herramientas de programación

mediante interfaces de Automatización.

v Biometría.- La biometría analiza y mide ciertas características unívocas de un

individuo para crear un identificador biométrico el cual puede ser almacenado en una

base de datos y recuperado para su comparación con un ejemplo vivo con las mismas

características.

v Query .- Consulta, Pregunta, averiguación.

v Templates .- Plantillas

v Bitmap.- Mapa de bits, formato utilizado para representar imágenes.

v Driver .- Software utilizado en el sistema operativo Windows para crear la interfaz de

control de algún dispositivo hardware conectado a la computadora.

86