Está en la página 1de 12

IDENTIFICADOR BIOMÉTRICO WEB EN PLATAFORMA LIBRE BASADO EN SISTEMAS 1

INTELIGENTES

Identificador Biométrico Web En Plataforma


Libre Basado En Sistemas Inteligentes
Oscar E. Aguirre, Adrian E. Bello, Carlos A. Correa y Guiovanna P. Sabogal

mayoría de las grandes industrias, junto con las


Abstract— This article presents the results of the advances in herramientas que los soportan que son de un alto
the research done by the group EQUIS of the Universidad El
Bosque to build a web application to authenticate users remotely costo, este proyecto entrega una alternativa efectiva,
using biometric devices; starting by fingerprints, HSilver also eficiente y de buen nivel adquisitivo para las
pretends to be a testing platform for intelligent systems dedicated
to the storing and matching of biological identifiers; a behavior pequeñas empresas, ya que usa software libre para
oriented architecture is used to give such testing abilities. It uses reducir el valor de los licenciamientos.
RSA encryption for client-server messaging, artificial neuronal
networks and genetic algorithms for identification and matching,
all this over a JEE platform running in a Linux operating system, HSilver es un proyecto desarrollado para Linux
development in the University El Bosque. sobre J2EE, esta aplicación Web cuenta con
diferentes módulos, dentro de estos se encuentra la
Resumen — En este articulo se presentan los resultados de los
avances en la investigación liderada por el grupo de investigación captura de la huella con el dispositivo biométrico, el
EQUIS de la Universidad El Bosque que construye una refinamiento de imagen, el módulo de
aplicación Web para autenticar usuarios remotamente a través
de sistemas biométricos; HSilver pretende además ser una
comunicación cliente-servidor, el módulo de RSA y
plataforma de pruebas de sistemas inteligentes para el el módulo de Redes Neuronales y Algoritmos
almacenamiento y cotejo de identificadores biológicos por lo que Genéticos, siendo este el módulo que se encarga de
se plantea una arquitectura basada en comportamientos. Emplea
cifrado RSA para las transmisiones, Redes Neuronales el cotejo y la identificación, en este documento
Artificiales (ANN) en arquitectura MLP y algoritmos genéticos también se muestra el diseño de software que lo
para la identificación y cotejo, todo esto hecho en JEE sobre una
plataforma Linux desarrollado en la Facultad de Ingeniería de
integra y como se realiza el proceso desde el
Sistemas de la Universidad El Bosque. dispositivo para poder obtener la impresión de la
huella dactilar y cuál fue el proceso metodológico
para integrar cada una de estas partes para obtener
Index Terms—Artificial Neural Network (ANN), Genetic
Algorithms (GA),USB FingerPrint, Behaviors, Image Filter. como resultado final un desarrollo Web robusto que
permite realizar el proceso de inclusión y
Palabras Clave— Redes Neuronales Artificiales (RNA), Algoritmos verificación de huellas dactilares y a su vez la
Genéticos (GA), RSA, USB FingerPrint, Dactiloscopia, Behaviors,
Filtros de Imagen. capacidad de ser escalable y actualizable de forma
práctica para el desarrollador.
I. INTRODUCCIÓN
HSilver se encuentra dividido en dos partes, el
E ste articulo muestra el desarrollo del proyecto
presentado en la Universidad El Bosque en la cliente y el servidor, la parte del cliente es
Facultad de Ingeniería de Sistemas titulado controlada por un Applet que permite interactuar
“eficiencia y eficacia en el registro y validación de con el usuario, mientras que el servidor se encarga
huellas dactilares a través de un sistema inteligente de la persistencia de la información y los procesos
Gnu sobre plataforma Linux (Hsilver)”. que deba realizar la Red Neuronal, cada transacción
que deba ser enviada al servidor estará protegida
En la actualidad los sistemas de seguridad han por RSA.
tenido avances importantes, desde la dactiloscopia
clásica hasta el reconocimiento con dispositivos
biométricos, estos últimos son utilizados ya en la II. FUNCIONAMIENTO GENERAL
HSilver es una aplicación Web desarrollada en
J2EE para plataforma Linux orientada a
IDENTIFICADOR BIOMÉTRICO WEB EN PLATAFORMA LIBRE BASADO EN SISTEMAS 2
INTELIGENTES
comportamientos (Behaviors), el funcionamiento de
la aplicación es el siguiente (Ver Figura 1):

1) La aplicación envía una señal al servidor de


que está ha sido iniciada y solicita una
llave pública RSA para encriptar cualquier
transacción.
Fig. 1. Ejemplo de comunicación entre el cliente y el servidor del proyecto
2) El servidor recibe la señal de inicio de HSilver.
sesión y envía una llave pública para el desarrollo basada en el estándar IEEE12207 ya que
cliente y genera una llave privada para las metodologías de desarrollo ágiles y clásicas
descifrar cualquier envío realizado por el establecen ciertas reglas que en el contexto de este
cliente. proyecto no aplicaban, ya que no se ajustaban a las
3) El cliente hace una solicitud al servidor necesidades de tiempo que requería el proyecto ni
para conocer si el dispositivo USB los miembros del equipo, además de generar
FingerPrint conectado al computador es entregables que no siempre se adaptaban a las
compatible con la aplicación. necesidades de un proyecto de grado.
4) El servidor responde si el dispositivo
conectado es el adecuado. La metodología de desarrollo planteada se conoce
5) El cliente realiza la captura de una huella como ECO26427, esta metodología está compuesta
dactilar, realiza un proceso de por reglas, artefactos, entregables y herramientas. A
refinamiento de imagen y la envía hacia el continuación se describe el proceso de
servidor. parametrización al lector.
6) El servidor toma la huella y realiza el
proceso de identificación de minucias A. Identificación de procesos y etapas
usando la red neuronal.
7) El servidor luego de identificar las Los procesos y etapas de la metodología de
minucias realiza el proceso de cotejo con desarrollo definen cada una de las actividades o
la base de datos para extraer la eventos que hacen parte del desarrollo del proyecto,
información de la persona que ingresa al estos se presentan en la tabla 1.
sistema y envía una respuesta de
confirmación al cliente con la validación
de acceso permitido o denegado.

Cada uno de los pasos anteriores se conocen


como comportamientos y cada uno de ellos fue
desarrollado como un módulo independiente
encargado de realizar tareas especificas, es decir, el
módulo de captura solo se encargara de capturar las
imágenes de las huellas dactilares y el módulo de
Red Neuronal solo se encarga de encontrar las
minucias de la huella y así con cada uno de los
módulos pertenecientes al proceso completo.

B. Reglas
III. METODOLOGÍA DE DESARROLLO
Estas se encuentran divididas en dos partes que
Para el proyecto se planteó una metodología de son:
IDENTIFICADOR BIOMÉTRICO WEB EN PLATAFORMA LIBRE BASADO EN SISTEMAS 3
INTELIGENTES
• Actas de seguimiento.

2. Entregables

Los entregables son todos aquellos productos


generados por el desarrollo del proyecto tales como:

• Documento impreso y en digital.


• Aplicación y archivos fuente.
• Articulo.
• Manual técnico y de usuario.

C. Artefactos.

Los artefactos son todos aquellos elementos de


soporte que pertenecen a la metodología de
desarrollo, estos son: repositorio de tareas, planes
de trabajo con sus respectivas tareas, gráficos que
representan el esfuerzo ejecutado durante el
desarrollo del proyecto y herramientas de respaldo
de información como lo son los repositorios.

Cada plan de trabajo con sus respectivas tareas


posee una estimación de tiempo dada por la
Tabla 1.Parámetros de la metodología de desarrollo ECO26427 duración del semestre en que se ejecuta dicho plan,
donde la cantidad de tiempo esperada en desarrollo
(Hde) se da por:
1. Desarrollo y seguimiento del Proyecto

En esta se establecen las actividades comunes (1)


durante el tiempo de desarrollo del proyecto así:
Donde (Shei) representa una variable entre 0 y
• Reuniones con el director de proyecto. 1 dada por el esfuerzo de cada estudiante en
• Reuniones con el equipo de estudiantes. desarrollo, Cr equivale a la cantidad de créditos
• Actividades individuales. correspondientes a la materia en la que se realiza el
o Documentación. plan de trabajo y Ep la cantidad de estudiantes
 Documento Principal. dentro del proyecto.
 Bibliografía.
 Documentos de Soporte. De igual forma se generó un cálculo para obtener
• Artículos. las horas de documentación para el proyecto,
• Libros. llámense documento principal, artefactos,
• Conferencias. cronogramas y demás, esté cálculo de horas
 Presentaciones esperadas en documentación (Hte) se da por:
 Desarrollo de Software
 Actualización de
repositorios
IDENTIFICADOR BIOMÉTRICO WEB EN PLATAFORMA LIBRE BASADO EN SISTEMAS 4
INTELIGENTES
REPOSITORIO DE TAREAS
DESARROLLO
Horas x Horas
Planes Horas Horas Hombre x Hombre
de trabajo Nombre Ejecutadas Esperadas Ejecutadas Esperadas

Revisión de
Modulos en
(2) Plan de Proyectos
trabajo 1 Existentes 80 96 26,7 32,0
Integración
Donde (Shei) representa una variable entre 0 de Modulos en
y 1 dada por esfuerzo de cada estudiante en Plan de Proyectos
trabajo 2 Existentes 70 96 23,3 32,0
desarrollo, Cr equivale a la cantidad de créditos Plan de Diseño y
trabajo 3 Arquitectura 197 168 65,7 56,0
correspondientes a la materia en la que se realiza el Desarrollo
plan de trabajo y Ep la cantidad de estudiantes Plan de Modulos
trabajo 4 Básicos 133 150 44,3 50,0
dentro del proyecto. Desarrollo
Plan de Modulos De
trabajo 5 Lógica 60 60 20,0 20,0
En la tabla 2 se presenta el tiempo de ejecución Plan de
del proyecto por cada integrante, también el trabajo 6 Integración 30 60 10,0 20,0
esfuerzo esperado en horas totales para cada plan de
trabajo, la cual genera la gráfica 2, que muestra la Horas Totales 570 630 190 210

relación entre el esfuerzo esperado y el esfuerzo


Horas
realizado, viendo como las horas ejecutadas se Totales en
acercan a las esperadas. Desarrollo
Esperadas 630
Horas
La metodología de desarrollo que se propuso, Totales en
Documentación
cumple con las recomendaciones establecidas por el Esperadas 426
estándar IEEE 12207, el cual permitió establecer los
parámetros, reglas, cronogramas, planes de trabajo Tabla 2 Repositorio de tareas HSilver con ECO26427.
y tareas a ejecutar durante el proyecto, enmarcando grado en la Universidad El Bosque, dando a su vez
las fronteras de la misma dentro del contexto como resultado exitoso el uso de la metodología
académico para la presentación de proyectos de para el proyecto HSilver.

IV. DESARROLLO DEL PROYECTO

La comunicación Cliente-Servidor está basada en


comportamientos, donde la comunicación de cliente
a servidor va siempre cifrada mediante RSA,
exceptuando el primer envío, que corresponde al
pedido de la llave pública al servidor, llave que
servirá para cifrar los demás envíos.

Un comportamiento define una funcionalidad


dentro del sistema, una interacción entre el cliente y
el servidor. Dentro de esta arquitectura, cada
Behavior del lado de cliente tiene su contraparte en
el servidor, llamado controlador de comportamiento
(Behavior Handler). Este controlador se encarga de
Fig. 2. Gráfica de esfuerzo total del proyecto HSilver. recoger la información transmitida dentro del
IDENTIFICADOR BIOMÉTRICO WEB EN PLATAFORMA LIBRE BASADO EN SISTEMAS 5
INTELIGENTES
Behavior, procesarla, y devolverla por el mismo
medio al servidor. C. ProcessBehavior

A. Behavior ProcessBuilder es la clase encargada de re-


direccionar los Behaviors hacia sus Handlers. Esta
El Behavior es la unidad elemental de clase obtiene el String que contiene el nombre del
comunicación que utiliza el sistema. En su forma BehaviorHandler, y lo instancia de manera
más básica, contiene un objeto y un string. El objeto dinámica. Mediante este proceso, el
contendrá la información que se trasladará envuelta ProcessBehavior no se entera del Behavior concreto
en el Behavior, ya sea desde el cliente hacia el que recibe, si no simplemente instancia su
servidor, o viceversa. controlador. Esto hace que no importe el número de
Behaviors, ProcessBehavior funciona de manera
El String contiene el nombre del BehaviorHandler transparente.
que se encargará de controlar este Behavior cuando
se encuentre en el servidor. Dependiendo del D. RSA (Rivest, Shamir y Adleman)
Behavior que sea, se pueden agregar más
parámetros que sean necesarios al momento de
hacer el envío al servidor.

B. BehaviorHandler

El BehaviorHandler, como se presenta en la


figura 3, es la contraparte del Behavior en la parte

Fig. 4. Diagrama de clases de comunicación encriptado en la aplicación de


Hsilver.

Todas las comunicaciones están cifradas mediante


RSA. La implementación de RSA se encuentra
repartida entre el cliente y el servidor, como se
ilustra en la Figura 4.

Tanto la parte de cliente como la de servidor,


Fig. 3. Diagrama de clases de comportamientos en la aplicación de HSilver.
trabajan en la implementación que tiene java para la
encriptación. Esta implementación, se empaqueta en
del servidor. Cuando un Behavior llega en forma de
una clase, llamada EncryptedObject, el cual
un request, se extrae el nombre de su controlador, y
contiene los bytes después de ser encriptados.
este se instancia con en Behavior como parámetro.
V. MÓDULO DE CAPTURA
Luego el BehaviorHandler se encarga de realizar
todas las operaciones que requiera el Behavior, para
El módulo de captura se encarga de capturar la
poder entregarle el resultado y devolverlo hacia el
huella desde un dispositivo USB. Para esto integran
cliente.
varios componentes que hacen posible el proceso,
IDENTIFICADOR BIOMÉTRICO WEB EN PLATAFORMA LIBRE BASADO EN SISTEMAS 6
INTELIGENTES
instancias del dispositivo conectado en el equipo conectados tiene la misma identificación única
creadas por un Factory, encargado de “fabricar” (VID y PID del dispositivo USB) que alguno de los
instancias de dispositivos dependiendo del ya registrados en la base de datos. Si esto sucede,
dispositivo conectado, además de artefactos de algún dispositivo soportado está conectado en el
diseño de software que permiten una extensión del equipo cliente, y el nombre del dispositivo se
sistema sin alterar su funcionamiento. retorna al applet.

El módulo de captura es instanciado por el inicio 3) Instanciación


del applet. El applet, genera un dispositivo
dinámicamente, a partir del sistema operativo y de El cliente recibe el nombre del dispositivo a
la lista de dispositivos conectados al equipo, por utilizar, nombre que corresponde al de una clase
medio de un patrón de diseño Factory, esto para existente en el lado del cliente. Este se encarga de
tener una instancia del dispositivo que se encargará instanciar el dispositivo de manera dinámica, por lo
de leer la huella. que éste sistema es transparente al número de
dispositivos que se manejen, mientras estos
extiendan a la clase abstracta y tengan un registro
A. FACTORY
en la base de datos.

Un diagrama de clases simplificado se presenta en


la figura 6, en donde se ilustra el uso del factory, y
cómo en realidad es independiente de la cantidad de
dispositivos.

Una vez realizada la instanciación del dispositivo,

Fig. 5. Factory de captura de la aplicación Hsilver.

La manera en la que el factory instancia el


dispositivo se ilustra en la figura 5, cada una de las
3 secciones se explican a continuación.

1) Identificación

En el proceso de identificación, el lado del cliente


verifica el sistema operativo desde donde se está
ejecutando, y la lista de dispositivos conectados, ya
que es dependiendo de esta información que se
busca el dispositivo correcto. Una vez se tiene esta
información, se envía al servidor para la siguiente Fig. 6. Diagrama de clases de Factory en HSilver.
fase.
está listo para capturar huellas. Mediante la
activación de un botón en el applet, que envía la
2) Validación en la Base de Datos
información al dispositivo para comenzar la
captura.
El servidor recibe una lista de dispositivos
conectados, y un sistema operativo. Teniendo esta
información, hace una búsqueda en la base de datos, B. Proceso de Captura
para verificar si alguno de los dispositivos
IDENTIFICADOR BIOMÉTRICO WEB EN PLATAFORMA LIBRE BASADO EN SISTEMAS 7
INTELIGENTES
Actualmente en el sistema se utilizan dos tipos de Esta trama se encarga de cerrar el dispositivo,
fingerprints si se catalogan por su forma de lectura. tanto para liberar los puertos en el bus USB como
para dejar el dispositivo listo para más pedidos.
El primero recibe una señal de lectura para
comenzar a capturar, mientras que el segundo Mediante este proceso, las clases que representan
comienza a enviar información conforme se pasa el un dispositivo deben obtener la huella, y deben
dedo. tratarla de tal manera que se pueda visualizar como
una imagen analizable.
Para poder empatar los procedimientos, se decidió
manejar ambos con una primera activación. Por lo
VI. MODULO DE TRATAMIENTO DE IMAGEN

Este módulo toma la imagen capturada y la


manipula de tal forma que el trabajo posterior en
ella sea más simple y requiera menor tiempo
computacional al trabajar con valores booleanos.
Este tratamiento está dividido por fases.
Fig. 7. Proceso de captura en HSilver.

que no se recibe información del segundo al menos A. BINARIZACION


que se haya pedido. Por lo demás, ambos siguen el
proceso descrito en la Figura 7. En esta fase del proceso se toma la imagen en
escala de grises y se convierte en una imagen a
blanco y negro, varios métodos se probaron, entre
• Primera trama ellos el algoritmo de Sobel y el de Scharr [13] y
redes neuronales pero el ahorro en tiempo que
En esta primera trama de envío de bytes, se avisa representa este proceso previo se perdía. Es en esta
al dispositivo que se utilizará pronto, y que esté listo parte del proceso donde más riesgos se corren ya
para recibir pedidos. que es en el primer filtrado donde más se perturba la
pureza de la imagen.
• Segunda trama

En esta trama, se le pide al dispositivo que realice B. ESQUELETIZACION


la lectura de la huella. Para este proceso se le envía
al dispositivo uno o más flujos de bytes, que le Una vez la imagen está binarizada, se debe
avisan al dispositivo que debe comenzar la lectura. proceder a reducir los surcos a 1 pixel de grosor
[15].
• Tercera trama
El resultado de estos dos procesos entrega una
Dependiendo del tipo de dispositivo, este retorna imagen limpia, con surcos bien definidos y de un
una o más series de bytes, arreglados de una manera pixel de grosor.
particular para cada dispositivo. Es trabajo de la
clase que extiende del dispositivo tratarlo y
convertirlo a una imagen legible por el resto del VII. MÓDULO DE IDENTIFICACIÓN DE MINUCIAS
sistema.
El proceso de identificación de minucias[16] se
• Cuarta trama hace por medio de una Red Neuronal Artificial
(RNA) de topología perceptrón multicapas que
IDENTIFICADOR BIOMÉTRICO WEB EN PLATAFORMA LIBRE BASADO EN SISTEMAS 8
INTELIGENTES
recibe 9 pixeles binarizados en forma de una matriz 6) Las minucias encontradas no pueden tener
de 3 x 3 y determina la probabilidad que el centro una distancia menor a 6 pixeles, y estar por
tenga una minucia, bien sea una terminación o una lo menos a 12 pixeles del centro.
bifurcación. Para mayor información sobre la
topología, el entrenamiento y el funcionamiento de 7) Se siguen buscando las minucias posteriores,
las RNA [1]. pero solo se usan las cercanas al centro para
identificación.
Para el proceso de entrenamiento se encontró que
tener más de cinco neuronas en la capa oculta 8) El resultado será un conjunto de triángulos
adyacentes cada uno con el centro como uno
resulta redundante y llega más rápidamente al
de los vértices y los otros dos compartiendo
entrenamiento excesivo.
cada uno con sus vecinos.
Con estas observaciones se determinó que tener Es importante notar que al momento de almacenar
Cuatro neuronas ocultas era suficiente para el un nuevo usuario, se toman tres lecturas, y en estas
proceso requerido, se emplearon 60 patrones de se deben formar polígonos característicos similares.
entrenamiento y 60 patrones de validación entre Para identificar dicha similitud, se usan los
bifurcaciones, terminaciones y patrones no- algoritmos genéticos de cotejo.
minucias.
VIII. MÓDULO DE COTEJO
Este proceso permite identificar minucias
rápidamente en un punto, ahora, el proceso de Para el cotejo de huellas se usa el polígono
búsqueda de minucias en toda la extensión de la generado por el proceso de identificación de
huella se hace de la siguiente forma: minucias, este se somete a algoritmos genéticos
para generar mutaciones que sobrepasen
1) Se determina un centro de masa de la huella,
deformaciones generadas en el proceso de captura y
entendida la masa como el área que genera
es la distancia entre las minucias cotejadas y las
una sombra sobre la impresión generada
reales las que dan, no solo un valor de adaptación,
(Sombra).
sino además la probabilidad de que el cotejo sea
2) Se arranca del centro de masa a buscar en el real.
sentido de las manecillas del reloj
incrementando los desplazamientos en un Dentro del proceso se probaron varias formas de
pixel cada dos cambios de sentido. cotejo y la mezcla de varias:

3) Una vez se encuentra la primera minucia, se • Conteo de surcos entre minucias


divide la huella restante radialmente en seis • Ángulos que conforman los triángulos
partes, cada una de estas, conserva la característicos
sombra de su huella predecesora. • Distancia entre minucias.

4) En las porciones divididas se van analizando El proceso que prueba mayor éxito es usar los tres
sus puntos en el orden de distancia al centro ítems en conjunción, pero dando mayor peso de
de la huella ascendentemente. “fitness” a los ángulos que a los conteos de surcos y
a estos que a las distancias.
5) Cada búsqueda se realiza en un hilo
independiente de ejecución. Aunque alguna literatura propone cierto ángulo
de giro como factor de mutación, el empleo de
ángulos entre las minucias permite garantizar que el
ángulo es irrelevante para el cotejo.
IDENTIFICADOR BIOMÉTRICO WEB EN PLATAFORMA LIBRE BASADO EN SISTEMAS 9
INTELIGENTES

El concepto de distancia se deforma fácilmente


entre varios dispositivos de captura, así que el
empleo del conteo de surcos entre minucias
garantiza las deformaciones por cambio de
dispositivo.

En los cromosomas se representan con las 6


minucias que no son el centro de la huella, si un Fig. 8. Tramas del modulo de captura en HSilver.
cromosoma no fue encontrado en el sextante, se
representa con una sucesión de ceros, la ubicación
IX. PRUEBAS
se da relativamente en 20 bits, 10 por cada eje,
desde + 511 hasta -512, después de esta se guardan A. Modulo de Captura
en 5 bits la distancia en surcos al centro. Es decir,
que cada huella se puede representar como 150 bits, Los estudios realizados sobre los dispositivos
es un poco grande, pero la ventaja es que el espectro generan tramas de datos para crear los drivers de
de mutación no es tan grande, dado que eso los dispositivos, en la figura 8 se presentan los datos
deformaría demasiado la huella, la deformación a enviar al dispositivo para recibir la huella.
consiste en empezar a mover las huellas hasta más o
menos 4 pixeles en ambas direcciones, más o menos
un surco, eso implica hasta 128 generaciones, en los B. Modulo de Tratamiento de Imagen
casos de una identificación negativa.
Este modulo tiene como ancestro el proyecto
Es comprensible que se consideren los espectros
"Implementación De Un Prototipo De Software
de análisis demasiado grandes (los desfases
Libre Para Registrar Y Validar Huellas Digitales",
representan una imagen de 1024 x 1024 pixeles)
desarrollado por Juan Carlos Santamaría Olivares,
pero se entiende que el proceso de comparación no
en el año 2007, este fue estudiado y analizado, el
se ve afectado en mayor medida por la reducción de
cual brindo información sobre el tratamiento de
un par de órdenes de magnitud, y si garantiza una
imágenes realizados sobre huellas dactilares, pero
mayor expansibilidad al futuro.
este capturaba imágenes desde un scanner y luego
eran analizadas, dado que este proyecto no obtiene
La función de fitness evalúa según el factor de
imágenes desde este tipo de dispositivo sino desde
mutación de las generaciones siguientes respecto a
la huella búsqueda, y se usa la misma respecto a la
mejor adaptada a la huella original para determinar
el factor de correspondencia con la mayor
candidata.

Al hacer el almacenamiento para cotejo se hace


un pequeño GA con las dos primeras huellas para
determinar si la tercera tiene una adaptación Fig. 9. Proceso de refinamiento de imagen.
adecuada a las otras dos, si esto no supera el
un USB Fingerprint se encontró que el filtrado de la
umbral, se acepta como tercera huella del sujeto.
imagen en algunas fases generaba perdidas, por lo
tanto se realizo una mejora representativa sobre este
filtrado con la implementación de algoritmos de
búsqueda de bordes(Sobel) para la binarización y el
algoritmo de Zhang-Suen para la esqueletización,
IDENTIFICADOR BIOMÉTRICO WEB EN PLATAFORMA LIBRE BASADO EN SISTEMAS 10
INTELIGENTES
garantizando una calidad de imagen optima para el Tiempo
Cantidad
paso por el modulo de obtención de minucias, el Permitió promedio de
Usuario de
resultado se puede apreciar en la figura 9. Acceso procesamiento
Intentos
(s)
6 3 No 0,574
7 4 No 0,553
C. Modulo de Obtención de Minucias 8 5 No 0,566
9 6 No 0,571
Dentro de este modulo se diseño y se implemento 10 4 No 0,566
una red neuronal que genera un conjunto de Tabla. 4. identificación negativa con población de 5 usuarios GA en HSilver.

Tiempo
Cantidad
Identificación promedio de
Usuario de
Positiva procesamiento
Intentos
(s)
1 1 Si 1,185
2 2 Si 0,490
Fig. 10. Proceso de detección de minucias. 3 1 Si 0,465
triángulos adyacentes cada uno con el centro como 4 3 Si 1,129
5 1 Si 0,088
uno de los vértices y los otros dos compartiendo
6 3 Si 0,961
cada uno con sus vecinos, los cuales permiten
7 2 Si 0,665
entrenar la RNA para así identificar al usuario que
8 1 Si 0,470
pertenece al sistema en el módulo de cotejo, este
9 3 Si 1,020
proceso de detección se realiza con un 98% de 10 4 Si 0,529
precisión sobre las minucias obtenidas, uno de los Tabla. 3. identificación positiva con población de 20 usuarios. GA en HSilver.
resultados se puede apreciar en la figura 10.
Como se observa en la información consignada el
riesgo de falsos positivos es nulo. Los tiempos de
procesamiento indican un comportamiento lineal,
pero se notó que son altamente dependientes de la
D. Modulo de Cotejo
calidad de la imagen. En una cantidad significativa
(60%) se requiere más de una lectura para obtener
Al hacer las pruebas de procesamiento del
una identificación positiva, esto se le atribuye de
módulo de cotejo se obtuvieron los resultados que
nuevo a la calidad de la imagen capturada.
se muestran de la tabla 3 a la 6.
X. CONCLUSIONES
Tiempo
Cantidad
Identificación promedio de
Usuario de La formulación de la metodología de desarrollo
Positiva procesamiento
Intentos permitió llevar a cabo tareas y acciones de
(s)
1 2 Si 0,454 desarrollo y documentación de forma sencilla, clara
2 1 Si 0,085 y eficaz, a su vez se realizó un análisis sobre
3 1 Si 0,293 algunas metodologías agiles que permitieron
4 3 Si 0,542 establecer las pautas para la elaboración de los
5 4 Si 0,475 artefactos a usar durante el desarrollo del proyecto
Tabla. 3. identificación positiva con población de 5 usuarios GA en HSilver. como se ilustra en la figura 11.
IDENTIFICADOR BIOMÉTRICO WEB EN PLATAFORMA LIBRE BASADO EN SISTEMAS 11
INTELIGENTES
tener que hacer cerca de 35 comparaciones por pixel
analizado.

Ampliar el espectro de la RNA de identificación


de minucias mas allá de 3 x 3 pixeles, aunque
representa un ahorro en las iteraciones de búsqueda,
hace la identificación mucho más costosa no solo en
los procesos sino además incrementando la
incertidumbre dado el crecimiento exponencial de
Fig. 11. Evaluación metodologías de desarrollo en HSilver.
las entradas.

De parte del Algoritmo Genético (GA) se


La evaluación realizada sobre las metodologías de concluye que es mucho más genérico que la RNA
desarrollo, sirvió para conocer los artefactos que para los procesos de cotejo, dado que para usar éstas
estas usan y establecer las que usaría la metodología últimas se requiere un reentrenamiento cada vez que
ECO26427, dando un resultado exitoso en la se agrega o elimina algún usuario, mientras que en
implementación de la misma, sustentando este éxito el GA se controla como se hace el cruce y la
la conclusión satisfactoria del proyecto HSilver y el mutación, la cual en este caso genera “familias” de
seguimiento de las recomendaciones del estándar huellas para un usuario, y además usando la función
IEEE 12207 y el modelo de proyecto de grado de la de adaptación o fitness se puede establecer el factor
Universidad El Bosque. de correspondencia con las huellas obtenidas.

Es posible entonces desarrollar una aplicación


distribuida que sea eficiente y eficaz al momento de REFERENCIAS
verificar y validar huellas dactilares. Esto debido a
la eficiencia y eficacia de cada uno de los módulos
[1] BONIFACIO, M, y A. MOLINA. Redes Neuronales y Sistemas
desarrollados: Borrosos. Mexico: Alfaomega Ra-Ma, 2007.

[2] Compaq, Hewlett-Packard, NEC, Intel, Lucent, Microsoft, Philips.


El módulo de captura permite capturar huellas Universal Serial Bus. U.S.A, 2000.
dependiendo del dispositivo, teniendo un driver
[3] CONTI, V. et al. Fingerprint Registration Using Specialized Genetic
implícito, lo que permite seguir añadiendo Algorithms. Serbia & Montenegro, 2005.
dispositivos sin alterar el resto del sistema. El [4] CÓRDOBA, A. et al. «AFISUA: Un Sistema de Clasificación y
módulo de comunicación permite transparencia Reconocimienteo de Huellas Dactilares.» Trabajo de pregrado en Ingeniería
de Sistemas, Colombia, Bogotá D.C., 2005.
gracias a los Behaviors, haciendo cualquier envío
transparente y escalable. De igual manera el módulo [5] «Cybernetics, Proceedings of the Fourth International Conference on
Machine Learning and.» A HIDDEN MARKOV MODEL FINGERPRINT
de cotejo y validación funciona independiente al MATCHING APPROACH. China, 2005.
resto del sistema, por lo que es igualmente
[6] DEITEL, H. et al. Como programar en C++. Mexico: PEARSON /
transparente al resto del sistema. Prentice Hall, 2003.

[7] FERNÁNDEZ, G. et al. JAVA 2. España: Mc Graw Hill, 2005.


Todos los módulos interactuando de una manera FRANCO, S. INVESTIGACIÓN EN PROGRAMACIÓN DEL PUERTO
USB UTILIZANDO JAVA COMO HERRAMIENTA DE DESARROLLO
desacoplada prueban la extensibilidad de este EN AMBIENTE LINUX. Trabajo de grado para optar a título de Ingeniero de
proyecto, siendo el mismo una propuesta de Sistemas, Bogotá D.C.: Universidad El Bosque, 2008.
arquitectura para próximos desarrollos. [8] H.K. Lam, Z. Hou, W.Y. Yau, T.P. Chen, and J. Li. A Systematic
Topological Method for. Hanoi, Vietnam, 17–20 de December de 2008.

El empleo de las RNA para el proceso de [9] HONGL, L. et al. Fingerprint Enhancement. Michigan, 1996.
identificación de minucias permite no tener que [10] LAKHMI, C. et al. Fusion of Neural Networks, Fuzzy Systems and
documentar todas las formas de minucia posibles y Genetic Algorithms: Industrial Applications. California, 1998.
IDENTIFICADOR BIOMÉTRICO WEB EN PLATAFORMA LIBRE BASADO EN SISTEMAS 12
INTELIGENTES
[11] MEDANASI, S. et al. Active Learning System for Object. Malibu
Canyon Road, Malibu, 2004.

[12] NILSSON, N. ARTIFICIAL INTELLIGENCE: A new synthesis.


Morgan Kaufmann Publishers Inc. San Francisco, USA, 2002.

[13] SANTAMARÍA, J. IMPLEMENTACIÓN DE UN PROTOTIPO DE


SOFTWARE LIBRE PARA REGISTRAR Y VALIDAR HUELLAS
DIGITALES. Trabajo para optar al título de pregrado de Ingeniero de
Sistemas, Colombia, Bogotá D.C.: Universidad El Bosque, 2007.

[14] SILBERSCHATZ, A. et al. FUNDAMENTOS DE BASES DE


DATOS. España: Mc Graw Hill, 2002.

[15] STRÖM, J. Minutiae Extraction from Fingerprint with Neural Network


and Minutiae based Fingerprint Verification. Tesis de Maestría, Blekinge
Tekniska Högskola , 2005.

[16] U.S. Congress, Office of Technology Assessment. «The FBI


Fingerprint Identification.» Washington,D.C., 1991.

[17] XUEJUN, T. et al. Fingerprint matching by genetic algorithms.


California, 2005.

Oscar E. Aguirre Ingeniero de Sistemas de la


Universidad El Bosque-2010, Técnico Industrial del
Instituto Técnico Central La Salle-2003, Especialista en
Fundición-2004, Inyección de Plásticos y Electro
Erosionado-2004. Actualmente ingeniero de desarrollo
de ITAC IT Aplications Consulting, 2010 Ingeniero de
desarrollo en Tech Infotronics, 2009 Ingeniero de
Sistemas en FERRARO S.A, Miembro del Grupo de
Investigación EQUIS de la Universidad El Bosque.
oscaraguirre@unbosque.edu.co

Adrian E. Bello Ingeniero de Sistemas de la


Universidad El Bosque-2011, Actualmente ingeniero de
desarrollo de NEOTEC, ingeniero de desarrollo ECAS
S.A 2010, Miembro del Grupo de Investigación EQUIS
de la Universidad El Bosque.
adrianbello@unbosque.edu.co

Carlos A. Correa Ingeniero de Sistemas de la


Universidad El Bosque-2010, Actualmente Ingeniero
especialista de operaciones de mercadeo en
Nettingsolutions Inc, para Autodesk Inc. Desde Enero
de 2010, Miembro del Grupo de Investigación EQUIS
de la Universidad El Bosque.
carloscorrea@unbosque.edu.co

Guiovanna P. Sabogal Alfaro. Ingeniera electrónica,


especialista en teleinformática de la Universidad
Distrital Francisco José de Caldas, MSc(c)
Telecomunicaciones Universidad Nacional de
Colombia. Docente y Directora del Equipo de
Investigación en Software de la Facultad de Ingeniería
de Sistemas, Universidad El Bosque.
guiovannasabogal@unbosque.eu.co

También podría gustarte