Está en la página 1de 28

República Bolivariana de Venezuela

Ministerio del Poder Popular para la Defensa


Universidad Nacional Experimental Politécnica de la Fuerza Armada
UNEFA-Núcleo Lara

SISTEMA DE IDENTIFICACIÓN MEDIANTE HUELLA DIGITAL USANDO REDES


NEURONALES PARA EL CONTROL DEL ACCESO A LA UNIVERSIDAD
POLITÉCNICA EXPERIMENTAL DE LA FUERZA ARMADA

Integrantes:
 Douglas Guevara
 Jose Quintero
 Gianfranco Rojas
 Jose Echeverria
Prof.: Edecio Freitez
Sección: 7D01IS

Noviembre, 2019
INTRODUCCIÓN

Los sistemas biométricos han sido durante los últimos años un tema de extensa investigación
fundamentado en actividades automatizadas relacionadas con la capacidad para establecer la
identidad de los individuos a través de características anatómicas. Un indicador que satisface estos
requisitos es la huella dactilar; se hace necesario el análisis y estudios tecnológicos de las huellas
digitales para la identificación y reconocimiento inequívoco de una persona, y así reducir la
posibilidad de cometer errores de falsa aceptación, que es cuando se acepta a alguien que no es; por
ejemplo, alguien podría clonar una credencial de identificación, o adueñarse de los números
confidenciales de una persona para hacer una transacción en perjuicio de su legítimo dueño, y hasta
falsificar su firma. En respuesta a situaciones como la anterior el proceso de autenticación digital de
huellas dactilares está siendo adaptado en diferentes campos ya que actualmente este sistema es una
herramienta muy poderosa para identificar personas. “En la actualidad las huellas dactilares
representan una de las tecnologías biométricas más maduras y son consideradas pruebas legítimas
de evidencia criminal en cualquier corte del mundo”.

Se estima que la probabilidad de que dos personas tengan las mismas huellas dactilares es
aproximadamente de 1 en 64.000 millones. Cuando se digitaliza una huella, los detalles relativos a
las líneas (curvatura, separación,…), así como la posición absoluta y relativa de las minucias
extraídas, son procesados mediante algoritmos que permiten obtener un índice numérico
correspondiente a dicha huella, el resultado es un diagnóstico certero en más del 99% de los casos.
Y se ha comprobado, a raíz de un estudio realizado por el Nacional Institute of Standards and
Technology (NIST) en 2004, que el grado de precisión aumenta a medida que se incrementa el
número de dedos cotejados.

Debido al creciente interés industrial por este ámbito tecnológico, y a los múltiples beneficios que
su uso aporta, en los últimos años se ha notado una preocupación creciente por las organizaciones
regulatorias respecto a elaborar estándares relativos al uso de técnicas biométricas en el ambiente
informático, no obstante ello, aún la estandarización continúa siendo deficiente.

En el siguiente documento se mostrará el reconocimiento de huellas dactilares como mecanismo


biometrico para la identificación y autorización en un sistema de control de acceso físico. Para ello
se hace apoyo en el uso de las redes neuronales artificiales, la cual se explicara en detalle mas
adelante, debido a su alta capacidad de aprendizaje, robustez y tolerancia a fallos.
DESCRIPCION DEL PROBLEMA

En el mundo actualmente se utiliza la biometría para distintos fines, pero principalmente son de gran
ayuda para la seguridad de establecimientos en los que diariamente se presentan altos flujos de
entrada y salida de personas. Los sistemas biométricos se dividen en tres diferentes tipos para ser
aplicados a un sistema de seguridad, el primero se denomina biometría estática la cual se compone
por detectar características físicas de las personas, como los ojos (iris, retina), la cara y las manos
(Geometría, huellas dactilares).

El segundo se denomina la biometría dinámica y sus características son de comportamiento, como


la voz, la firma y la dinámica de escritura, finalmente una tercera característica que combina la
biometría dinámica y estática, se denomina biometría multimodal. (Cesar Tolosa, Álvaro Giz,
2014).

Estos tres tipos pueden ser aplicados dependiendo de lo que se requiera, sin embargo, el más usado
y de mayor efectividad es la biometría estática, pero más específicamente la huella dactilar por ser
única y presenta menor rango de error.

En la Universidad Nacional Experimental Politécnica de La Fuerza Armada, el sistema de control


de acceso de entrada y salida de personas se realiza con la ayuda de la celaduría, donde ellos por
medio de rectificación de carnet o planilla validan la entrada y salida de los estudiantes de la
universidad. Sin embargo, existe ineficiencia e ineficacia en este método de seguridad ya que la
mayoría de veces este procedimiento solo se realiza en horas de la mañana (hora pico), luego por
ello se acumulan grandes cantidades de personas en la entrada de la institución y en efecto se
presenta demora debido a que la celaduría realizar su protocolo de seguridad. Además de esto hay
personas que por el afán de entrar no muestran su carnet y entran sin ningún tipo de validación. Otra
gran falla de este método de seguridad es que luego de la hora pico prácticamente se vuelve libre la
entrada y salida de peatones, de tal manera que cualquier persona que sea ajena a la institución puede
ingresar y salir de la universidad cualquier cantidad de veces.

De acuerdo al método de seguridad actual, se han presentado perdidas de elementos de la comunidad


y de la propia institución, por ello no es totalmente confiable por qué no se mantiene realmente un
control e inspección riguroso de las personas con sus datos personales en donde se permita
identificar hora de entrada y salida, así mismo validarlo por medio de un sistema que se encargue
de esto.

Es por esto que se decide crear un sistema biométrico basado en redes neuronales para el
reconocimiento de huellas dactilares y controlar el acceso a la universidad.
JUSTIFICACIÓN

La relevancia de este trabajo puede consolidarse en los siguientes aspectos:

1- Tecnológico: El proyecto contribuye a la mejora del sistema de seguridad de la Universidad


Nacional Experimental Politécnica De La Fuerza Armada, aplicando la huella digital como
método de seguridad para la identificación de personas.

2- Operativo: Permitirá contar con la información de cada usuario, para saber que personas
están dentro de la institución y su actividad dentro de la misma.

3- Social: Toda la comunidad que hace parte de la universidad libre sede bosque popular podrá
estar beneficiada con un servicio de seguridad utilizado a nivel mundial en los edificios de
empresas grandes e implementado por las mejores empresas de seguridad.

“La biometría es un método de reconocimiento de personas basado en las características


fisiológicas o de comportamiento, cada vez más útil para procesos relacionados con la
seguridad” (Pc world, Diciembre del 2011).

Es por esto que este proyecto se enfoca a este sistema ya que va ligado a los procesos que
tienen que ver con seguridad y vigilancia. Con base en lo anterior este trabajo busca apoyar
la seguridad dentro de las instalaciones de la Universidad Nacional Experimental Politécnica
De La Fuerza Armada.
DESCRIPCIÓN DETALLADA DE LA SOLUCIÓN

Para resolver la problemática antes mencionada, se hará uso del reconocimiento de huella dactilar
utilizando las redes neuronales artificiales como técnica de control de seguridad. Ésta técnica es de
muy alta fiabilidad debido al alcance que tienen las redes neuronales para el reconocimiento de
patrones. A continuación, se explicarán con detalles las técnicas, componentes y elementos que
conforman el sistema.

CARACTERÍSTICAS DE LAS HUELLAS DIGITALES

Las huellas digitales están constituidas por rugosidades que forman salientes y depresiones. Las
salientes se denominan crestas papilares y las depresiones surcos interpapilares”. En las crestasse
encuentran las glándulas sudoríparas. El sudor que éstas producen contiene aceite, que se retiene en
los surcos de la huella, de tal manera que cuando el dedo hace contacto con una superficie, queda
un residuo de ésta, lo cual produce un facsímil o negativo de la huella.

La huella digital es utilizada con éxito en todo el mundo para la identificación de personas por
diferentes organismos, esto se debe a los siguientes aspectos:

• Permanencia: No cambian sus características con el tiempo.

• Unicidad: Siempre difieren, son únicas e irrepetibles aún en gemelos.

•Universalidad: Todaslas personastiene huellas digitales.

• Cuantificación: La característica puede ser medida en forma cuantitativa.

CARACTERÍSTICASDE LAS HUELLAS DIGITALES

Las huellas digitales tienen características visibles que son: las crestas, los surcos, las minucias, el
núcleo y el delta.

• Surcos: Son la áreas de la huella digitales que se encuentran a cierto nivel de


profundidad.

• Crestas: Son la áreas de la huella digitales que se encuentran al nivel de la misma

 Minucias: Es el punto en el que termina una cresta o se bifurca en dos o más crestas. Se
define en términos de sus coordenadas (x, y) y el ángulo de orientación de la cresta.
La característica más interesante que presentan tanto las minucias como los puntos singulares núcleo
y delta es que son únicos para cada individuo y permanecen inalterados a través de su vida. A pesar
de la variedad de minucias, las más importantes son las terminaciones y bifurcaciones de crestas.
Esto último se debe a que las terminaciones de crestas representan aproximadamente el 60.6% de
todas las minucias en una huella y las bifurcaciones el 17.9%. Además, varias de las minucias menos
típicas pueden expresarse en función de las dos señaladas. A continuación, se presentan las minucias
frecuentemente consideradas.

- Una isla se presenta cuando se unen las dos ramas de dos bifurcaciones diferentes, ambas
bifurcaciones deben estar frente a frente.
- En una bifurcación la línea de la cresta se divide en varios segmentos de línea.
- La terminación es donde la línea de la cresta inicia o acaba.
- El punto es una línea de la cresta bastante corta que no esta conectada a ninguna otra línea de
cresta.

 Núcleo: Es el punto más alto de la cresta curvada más interior.


 Delta: Esla zona donde se unen tres flujos de crestas.

El Núcleo y el Delta suelen estar presente en la mayoría de huellas, por la tanto pueden ser
usados como puntos de referencia.

REGISTRO Y VERIFICACIÓN AUTOMATIZADA DE HUELLASDIGITALES


Se crea un modelo computarizado de la huella, un vector de información intrínseca de la huella,
para luego ser indexada y almacenada por lo general en una base de datos, que puede ser
contrastada frente a otra presentada ya sea en persona, o a través de una fracción de huella
levantada en algún lugar, o bien, tomada de una tarjeta decadactilar. Para ello se utiliza un
algoritmo que permite asociar la huella que se desea identificar, con otras de similares
características, almacenadas en la base de datos.

REDES NEURONALES ARTIFICIALES


Inspiradas en el sistema nervioso biológico, la tecnología de las redes neuronales artificiales esta
siendo utilizada para solucionar una gran variedad de problemas científicos,
económico/comerciales y de ingeniería. Laras redes neuronales son ideales para esa clase de
problemas porque como sus compañeras biológicas, una red neuronal artificial puede aprender
y luego ser entrenada para encontrar soluciones, reconocer patrones, clasificar datos y hacer
previsión de eventos futuros.

En contraste a las aproximaciones clásicas en campos como la estadística y la teoría de control,


las redes neuronales no requieren un modelo explicito o la toma limitada de normalidad o
linealidad. Las redes neuronales son una herramienta muy poderosa en aplicaciones en donde el
análisis formal debería ser extremadamente difícil, o hasta imposible, como el reconocimiento
de patrones e identificación de sistemas no lineales y control.

El comportamiento de una red neuronal es definido por la forma en que sus elementos
computacionales individuales están conectados entre si, y por el ancho de esas conexiones o
pesos. Los pesos son automáticamente ajustados por el entrenamiento de la red de acuerdo con
una regla especifica de aprendizaje hasta que esta llegue al nivel de error deseado.

COMPARACION DE LAS NEURONAS BIOLOGICAS CON LAS ARTIFICIALES

La estructura de las redes neuronales artificiales se basa vagamente en la estructura del cerebro.

Una neurona biológica como la que se muestra en la imagen es el bloque fundamental de


construcción del sistema nervioso. Esta es una célula similar a otras del cuerpo con ciertas
especializaciones.
Una neurona esta compuesta de 3 partes fundamentales que son: cuerpo, dentritas y axón. Las
dendritas reciben señales de otras células en puntos de conexión llamadas sinapsis, de donde las
señales pasan al cuerpo de la celula, para ser esencialmente promediadas con otras señales. Si
este promedio e un determinado tiempo es suficientemente grande, la celula es excitada,
mandando un pulso a través del axón a otras células. No obstante esta simplicidad en su
operación las neuronas realizan la mayoría de las actividades cerebrales. Internamente existe un
complicado sistema electroquímico de comunicación y control.
El modelo de una neurona artificial es una imitación del proceso de una neurona biológica, puede
también semejarse a un sumador hecho con un amplificador operacional tal como se ve en la
imagen.

CARACTERISTICAS DE LAS REDES NEURONALES ARTIFICIALES

Debido a su constitución y a sus fundamentos, las RNA presentan un gran número de características
semejantes a las del cerebro. Por ejemplo, son capaces de aprender de la experiencia, de generalizar
de casos anteriores a nuevos casos, de abstraer características esenciales a partir de entradas que
representan información irrelevante, etc. Esto hace que ofrezcan numerosas ventajas y que este tipo
de tecnología se esté aplicando en múltiples áreas. Estas ventajas incluyen:

 Aprendizaje Adaptativo.
Es una de las características más atractivas de las redes neuronales, es la capacidad de
aprender a realizar tareas basadas en un entrenamiento o una experiencia inicial.

En el proceso de aprendizaje, los enlaces ponderados de las neuronas se ajustan de manera que se
obtengan unos resultados específicos. Una RNA no necesita un algoritmo para resolver un
problema, ya que ella puede generar su propia distribución de los pesos de los enlaces mediante el
aprendizaje. También existen redes que continúan aprendiendo a lo largo de su vida, después de
completado el periodo inicial de entrenamiento.

La función del diseñador es únicamente la obtención de la arquitectura apropiada. No es problema


del diseñador el cómo la red aprenderá a discriminar; sin embargo, si es necesario que desarrolle un
buen algoritmo de aprendizaje que proporcione la capacidad de discriminar de la red mediante un
entrenamiento con patrones.

 Autoorganización.
Las redes neuronales usan su capacidad de aprendizaje adaptativo para organizar la
información que reciben durante el aprendizaje y/o la operación. Una RNA puede crear su
propia organización o representación de la información que recibe mediante una etapa de
aprendizaje. Esta autoorganización provoca la facultad de las redes neuronales de responder
apropiadamente cuando se les presentan datos o situaciones a los que no habían sido
expuestas anteriormente.

 Tolerancia a Fallos.
Comparados con los sistemas computacionales tradicionales, los cuales pierden su
funcionalidad en cuanto sufren un pequeño error de memoria, en las redes neuronales, si se
produce un fallo en un pequeño número de neuronas, el comportamiento del sistema se ve
influenciado, sin embargo, no sufre una caída repentina.

Hay dos aspectos distintos respecto a la tolerancia a fallos: primero, las redes pueden aprender a
reconocer patrones con ruido, distorsionados, o con información incompleta. Segundo pueden seguir
realizando su función (con cierta degradación) aunque se destruya parte de la red.

La razón por la cual las redes neuronales son tolerantes a fallos es que tienen su información
distribuida en las conexiones entre neuronas, existiendo cierto grado de redundancia en ese tipo de
almacenamiento, a diferencia de la mayoría de los ordenadores algorítmicos y sistemas de
recuperación de datos que almacenan cada pieza de información en un estado único, localizado y
direccionable.

 Operación en Tiempo Real.


Los computadores neuronales pueden ser realizados en paralelo, y se diseñan y fabrican
máquinas con hardware especial para obtener esta capacidad.

 Fácil Inserción Dentro de la Tecnología Existente.


Debido a que una red puede ser rápidamente entrenada, comprobada, verificada y trasladada
a una implementación hardware de bajo costo (Ej. Microcontroladores), es fácil insertar
RNA para aplicaciones específicas dentro de sistemas existentes (Ej. LVDQ). De esta
manera, las redes neuronales se pueden utilizar para mejorar sistemas de forma incremental,
y cada paso puede ser evaluado antes de llevar a cabo un desarrollo más amplio.
ARQUITECTURAS Y APRENDIZAJES TIPICOS DE LAS RNAs

Las RNAs tienen asociada una estructura, formada por muchos procesadores simples llamados
nodos o neuronas, conectados por medio de canales de comunicación o conexiones. Cada una de
ellas tiene una cantidad de memoria local, operando solamente con sus datos locales y sobre las
entradas que recibe a través de esas conexiones. Las RNAs llevan asociadas algún tipo de regla de
aprendizaje o entrenamiento particular por lo cual esas conexiones son ajustadas acorde a los
ejemplos proporcionados. En otras palabras, las RNAs aprenden a partir de ejemplos, y muestran
alguna capacidad para generalizar más allá de esos datos mostrados.

Arquitecturas. La implementación de las RNAs puede plantearse siguiendo dos vías: el de la


simulación software para aplicaciones sencillas, donde el tiempo de decisión sea razonable, y el de
la implementación hardware, para aplicaciones que precisen alta velocidad de decisión (respuesta
en tiempo real). La formulación de los algoritmos de aprendizaje en forma matricial facilita ambas
prácticas. Existen 4 bases estructurales para las RNAs, siendo estas el origen en la implementación
de redes más complejas.
Redes progresivas Monocapa

Una RNA formada por sucesivas capas tendrá como forma más simple una capa de nodos de entrada
y otra de nodos de salida.

Redes progresivas Multicapas


Una RNA multicapa consiste de la extensión de la monocapa en una estructura con tantas capas
ocultas como se requiera. Encontramos en esta arquitectura dos variantes: las RNAs totalmente
conectadas, y las parcialmente conectadas donde, dentro de éstas últimas, tenemos el caso de las
RNAs localmente conectadas. Este subgrupo se caracteriza porque no todas las unidades de la capa
oculta están conectadas a todas las unidades de entrada.

Aprendizaje Supervisado
También se llama aprendizaje activo o formulación basada en la aproximación, y se caracteriza
primordialmente por disponer de un maestro capaz de proveer a la RNA de una salida deseada con el fin
de calcular una señal de error que sirva a la red para emular al maestro.

Aprendizaje Auto-Organizado o No Supervisado

En este tipo de aprendizaje la red puede considerarse autónoma, determinando características


generales de los datos presentados y aprendiendo a reflejar esas propiedades en las salidas
correspondientes. Lo que en realidad son estas propiedades, y que la red puede aprender a reconocer,
dependerá del modelo neuronal concreto así como del método de aprendizaje utilizado
MODELOS DE REDES NEURONALES.

Modelo del Perceptrón


Este modelo de red simple, seria un modelo reducido del modelo del Perceptrón, desarrollado por
Rosenblatt entre 1958 y 1962, a partir de los modelos de red de McCullough-Pitts. En el modelo del
Perceptrón (figura 25) los detectores están conectados con neuronas de la capa de entrada; estas
neuronas se activan (1) cuando se activa el detector correspondiente. Cada neurona de la capa de
entrada está conectada con diferentes neuronas de la capa de detección de características. Y cada
neurona de esta capa estaría conectada a su vez con diferentes neuronas de la capa de salidas del
Perceptrón.
Esquema de un modelo Pérceptron

La regla de aprendizaje usada para entrenar la red es una versión simplificada de la regla de
aprendizaje del Perceptrón.
El modelo simple de red neuronal (al igual que el modelo del Perceptrón en el que se basa), presenta
bastantes limitaciones en las tareas que pueden llegar a aprender. Así, por ejemplo, el modelo seria
incapaz de aprender a realizar la operación XOR (O exclusivo): no puede ser entrenado con éxito
para que la neurona 3 se active si las neuronas 1 o 2 están activas, pero no las dos a la vez.

Para realizar este tipo de tareas "complejas" es preciso una red neuronal que contenga más de una
capa de pesos sinápticos ajustables. Para ello, se añaden capas ocultas de neuronas entre la capa de
entradas y la capa de salidas.

BACK-PROPAGATION
El método de back-propagation (o entrenamiento hacia atrás) es un sistema automático de
entrenamiento de redes neuronales con capas ocultas, perfeccionado en la década de los 80. En este
tipo de redes, el problema a la hora de entrenarlas estriba en que sólo conocemos la salida de la red
y la entrada, de forma que no se pueden ajustar los pesos sinápticos asociados a las neuronas de las
capas ocultas, ya que no podemos inferir a partir del estado de la capa de salida como tiene que ser
el estado de las capas ocultas.

El sistema de entrenamiento mediante back-propagation consiste en:


 Empezar con unos pesos sinápticos cualquiera (generalmente elegidos al azar).
 Introducir unos datos de entrada (en la capa de entradas) elegidos al azar entre los datos de
entrada que se van a usar para el entrenamiento.
 Dejar que la red genere un vector de datos de salida (propagación hacia delante).
 Comparar la salida generada por al red con la salida deseada.
 La diferencia obtenida entre la salida generada y la deseada (denominada error) se usa para
ajustar los pesos sinápticos de las neuronas de la capa de salidas.
 El error se propaga hacia atrás (back-propagation), hacia la capa de neuronas anterior, y se
usa para ajustar los pesos sinápticos en esta capa.
 Se continua propagando el error hacia atrás y ajustando los pesos hasta que se alcance la
capa de entradas.

Este proceso se repetirá con los diferentes datos de entrenamiento.

RECONOCIMIENTO DE PATRONES UTILIZANDO RNAs

El proceso de reconocimiento de patrones tiene que ver con la actividad de identificar un patrón en
alguna clase determinada (clasificación supervisada) o asignar un patrón a una clase no definida
(clasificación no supervisada, agrupamiento o clustering), teniendo en cuenta las particularidades
del patrón que son comunes a los miembros de una misma clase. Un patrón puede definirse como
una entidad a la que se le puede dar un nombre y que está representada por un conjunto de
propiedades medidas y las relaciones entre ellas (vector de características). Por ejemplo, un patrón
puede ser una señal sonora y su vector de características el conjunto de coeficientes espectrales
extraídos de ella (espectrograma). Otro ejemplo podría ser una imagen de la huella dactilar de un
dedo de la cual se extrae el vector de características formado por un conjunto de valores numéricos
calculados a partir de la misma. El reconocimiento automático, descripción, clasificación y
agrupamiento de patrones son actividades importantes en una gran variedad de disciplinas
científicas, como biología , sicología, medicina, inteligencia artificial, etc. Es decir, que el
reconocimiento de patrones consiste en la categorización de datos de entrada en clases identificadas,
por medio de la extracción de características significativas o atributos de los datos extraídos de un
medio ambiente que contiene detalles irrelevantes. Matemáticamente hablando, la clasificación
consiste en la partición del espacio n-dimensional definido por las características de un objeto, en
varias regiones, donde cada región corresponde a una clase. Se denomina clase a la categoría
determinada por algunos atributos comunes a sus miembros, los cuales representan los patrones.
Las características de un patrón se representan en un vector de características que puede estar
formado por números binarios o valores reales.

Fases del diseño de un sistema reconocedor de patrones. El diseño de un sistema de reconocimiento


de patrones se desarrolla normalmente en 3 fases fundamentales que son:

La representación de los datos de entrada, realizada por un transductor.


La extracción de características, donde extraen los datos entregados por el transductor a una matriz
que pueda procesar la red neuronal. La determinación del proceso de decisión óptimo y estimación
de parámetros, realizado por el reconocedor.

El dominio del problema, gobierna la elección de las diferentes alternativas en cada paso: tipos de
sensores, técnicas de preprocesamiento, modelo de toma de decisiones etc.

 Transductor

En esta etapa se toma información del patrón y la transforma a señales analógicas, que a su vez son
convertidas a su forma digital. En la mayoría de los sistemas los esquemas de representación de
patrones son desarrollados por los diseñadores.

La RNA lleva a cabo, en esencia, el proceso de clasificación. Sin embargo, las redes neuronales
tienen la propiedad de construir una representación interna de los patrones (extracción de
características), aunque difícilmente visible. Por esta razón, algunos investigadores alimentan a la
red con los datos en bruto (o con un preproceso mínimo, como normalización) y esperan que la
propia red extraiga (aprenda) una representación a partir de ellos. En cualquier caso, una
representación adecuada de los datos facilita el proceso de toma de decisión y mejora las tasas de
generalización. Sin embargo, el diseño de una buena representación exige un conocimiento
profundo de la naturaleza del problema, lo cual no siempre es posible.

Una buena representación de patrones debe cumplir, al menos, los siguientes requisitos:
1. Tasa de compresión de datos alta.

2. Buena capacidad discriminatoria.

3. Invariancia frente a transformaciones de los datos.

4. Robustez frente al ruido.

 Extractor de características

Mide propiedades importantes que representan al objeto. Su propósito es reducir la cantidad de datos
obtenidos del transductor sin perder información esencial. El resultado de tales medidas se llama
vector de características. Por un lado, se le extrae algunas medidas numéricas de los datos en bruto
de los patrones (representación inicial). Por otro lado, forma un conjunto de características (de
dimensión n) partiendo de los datos de entrada (de dimensión m>n).

Esta es, en la mayoría de los casos, la etapa más compleja e importante en el diseño de un
reconocedor de patrones, ya que de la extracción de las características relevantes del elemento que
se desea reconocer depende la efectividad del reconocimiento de la red neuronal.

Un ejemplo claro se da en un sistema de reconocimiento de figuras, donde el transductor es una


cámara digital, se requiere de un robusto preprocesamiento que incluye, filtrado de ruido, ajuste de
histograma de intensidades, selección de contorno, detección de bordes, etc y finalmente un
algoritmo que permita convertir la matriz de la imagen resultante en un vector con características
únicas y representativas de la imagen extraída.
 Reconocedor

Esta es la etapa final del diseño de un sistema de reconocimiento de patrones, ya que la salida de la
red neuronal determina la clasificación del elemento que le fue introducido (imagen de un rostro,
huella digital, patrones de voz) y a pesar de que existen ciertas técnicas para la escogencia de la
arquitectura de la red a trabajar y el algoritmo de entrenamiento, estos dependen en gran medida de
la aplicación a trabajar.

Las principales características que determinan la efectividad de reconocimiento de la red neuronal


se mencionan a continuación:
Set de entrenamiento: Debe ser un set significativo, con características representativas de todos los
elementos. Nos se debe exceder en el numero de muestras porque se puede incurrir en el error de
memorizar la red neuronal impidiendo su capacidad de generalizar y extrapolar algunos datos, ni
trabajar con un set muy reducido porque la red incurriría en una alta generalización y le impediría
diferenciar elementos.
Arquitectura de la red neuronal: El numero de neuronas de la capa de entrada esta directamente
relacionada con el tamaño de la matriz de salida en la etapa de preprocesamiento, las capas ocultas
y el numero de neuronas en ellas depende netamente de los criterios del diseñador, y por ultimo la
capa de salida corresponde al numero de elementos entre los cuales la red neuronal debe diferenciar.
Algoritmo de entrenamiento: Existen decenas de algoritmos de entrenamiento que se han
desarrollado a lo largo de los últimos años, y la escogencia del mismo depende exclusivamente de
la aplicación que se va a trabajar. Esta determina la velocidad de convergencia que se requiere y el
comportamiento que se requiere de la misma.

SISTEMA DE CONTROL DE ACCESO A TRAVES DE LAS HUELLAS DACTILARES A LA


UNIVERSIDAD NACIONAL EXPERIMENTAL POLITECNICA DE LA FUERZA ARMADA
USANDO REDES NEURONALES

Se propone un sistema de control de acceso a la universidad haciendo uso de un sistema de


autentificación biométrica de huella dactilar que permita habilitar o negar la entrada a un
determinado lugar dependiendo de la persona que haga solicitud.
En la figura se muestra el diagrama de bloques del sistema de control de acceso que se propone. Es
un sistema de control que utiliza el reconocimiento de la huella dactilar. La persona deberá colocar
su dedo en el sensor de huella dactilar. Luego estas señales se someten a un procesamiento digital
haciendo uso del sistema de redes neuronales artificiales para ser comparadas con las de la base de
datos. Si la persona es reconocida, ósea la huella coincide con alguna registrada, el equipo dispara
un mensaje, este será positivo o negativo dependiendo de la respuesta del sistema de
reconocimiento. En ese mismo momento se registra la fecha, la hora y el numero de identificaicon
de la persona que ingreso.
La base de deatos debe ser almacenada en un computador con suficiente capacidad de memoria que
permita almacenar una gran cantidad de usuarios y que además repsonda con rapidez a la búsqueda
que se hace inicialmente con la clave del usuario.

ETAPA DE ADQUISICION

Se realizo la selección de un scanner de huellas digitales tomando en cuanta las siguientes


características:
 Desempeño
 Aceptabilidad
 Fiabilidad
 Soporte de software
 Interfase de datos
 Requerimientos de hardware
 Precio

ETAPA DE EXTRACCION DE CARACTERISTICAS

Cuando las huellas dactilares son adquiridas por el sensor, son convertidas a un formato de imagen
compatible con el software que estamos empleando para su procesamiento, sin embargo en muchos
casos las condiciones de la imagen no son las óptimas para la extracción de sus características
(minucias), es necesario un proceso previo de restauración y ajuste de la imagen.
Ecualización del Histograma: Las transformaciones de las escalas de grises pueden incrementar
significativamente la visibilidad de una imagen, el problema es que requiere de un gran trabajo de
ensayo y error. La ecualización del histograma es una manera de automatizar el procedimiento La
ecualización del histograma usa el propio histograma como la curva de ajuste de contraste,
eliminando así la supervisión humana, de esta forma, la transformación de la salida se obtiene
mediante la integración y la normalización del histograma, en lugar de una curva generada
manualmente. Como resultado, obtenemos un alto contraste en aquellos valores que tienen mayor
número de píxeles.

En las imágenes que se muestran a continuación se aprecia la mejora en la imagen al realizar una
ecualización automática del histograma de intensidades.

En MATLAB este procedimiento es llevado a cabo con el comando histeq del toolbox de
procesamiento de imágenes. Los comandos utilizados fueron los siguientes:
%Adquisicion de la Imagen

[X,MAP]=bmpread('dedo');

X2=ind2gray(X,MAP);

subplot(2,2,1)

imshow(X2)

title('Imagen Original')

subplot(2,2,2)

imhist(X2)

title('Histograma Original')

% Ajuste del Histograma

X3=histeq(X2)

subplot(2,2,3)

imshow(X3)

title('Imagen Ajustada')

subplot(2,2,4)

imhist(X3)

title('Histograma Ajustado'
Ajuste del Histograma de la imagen

Imagen Original Histograma Original

6000

4000

2000

0 0.2 0.4 0.6 0.8 1

Imagen Ajustada Histograma Ajustado

6000

4000

2000

0 0.2 0.4 0.6 0.8 1


0
Transformada de Fourier. Se divide la imagen en bloques de 32x32 y se aplica la transformada
rápida de fourier, posteriormente se aplica la transformada inversa a la convolución de la
transformada con su magnitud elevada a un factor n. En MATLAB este proceso es llevado a cabo
empleando los comandos fft2, conv y ifft2 del Toolbox de procesamiento de señales.

La Transformada de Fourier es calculada de acuerdo a:

La imagen mejorada g(x,y) en cada bloque es obtenida por:

Donde F(u,v) es la Transformada de Fourier de un bloque de 32x32 píxeles y F-1 es la Transformada


Inversa de Fourier obtenida de acuerdo a:

Los resultados se visualizan en las imágenes que se muestran a continuación.

Mejora de imágenes usando la transformada FFT


Imagen Original Imagen Ajustada con FFT

Umbralización y Segmentación. Posterior a las mejoras realizadas procedemos a extraer solo la


información que nos interesa, para ello realizamos la umbralización de la imagen (conversión a
color blanco y negro) eliminando así las sombreas y otros factores que pueden dificultar el proceso
de extracción de características.
En MATLAB este procedimiento se lleva a cabo empleando los comandos graythresh e im2bw.

Los resultados obtenidos se muestran a continuación:

Imagen Umbralizada Imagen Segmentada

Imagen Umbralizada Metodo Canny

Extracción de Patrones. Los patrones (minucias) son extraídas de una huella dactilar usando un
algoritmo de extracción de minucias. Cada patrón es caracterizado por su ubicación y la orientación
en el surco en el cual reside. El algoritmo que se ha escogido para el presente diseño recibe el nombre
de transformada de Hough.
Extracción de características a partir de la plantilla de minucias

La transformada de Hough es una técnica utilizada para aislar características de forma particular
dentro de una imagen. La idea básica es encontrar curvas que puedan ser parametrizadas como líneas
rectas, polinomios y círculos. Se puede analíticamente describir un segmento de línea en varias
formas. Sin embargo una ecuación conveniente para describir un conjunto de líneas es la notación
paramétrica o normal:

Donde p es la longitud de una normal desde el origen hasta la línea y 0 es el ángulo de p con respecto
al eje x.

Para realizar la comparación entre plantillas de minucias, el algoritmo realiza 2 principales


procedimientos:
Computa los parámetros de transformación dx, dy, dh y s, donde dx y dy son traslaciones a lo largo
de los ejes x y y, respectivamente, h es el ángulo de rotación, y s es el factor de escala.
Alinea los 2 sets de puntos de minucias con los parámetros estimados y cuenta los pares que
concuerdan.

ETAPA DE RECONOCIMIENTO

Con base en las experiencias obtenidas en anteriores proyectos realizados en la CUTB en


reconocimiento de patrones, el tipo de red neuronal seleccionada es de tipo FeedForward
Backpropagation, debido a su robustez, flexibilidad, y facilidad de aprendizaje.
Número de Capas. En la capa de entrada se tienen el número de neuronas equivalentes al tamaño de
la matriz de salida del algoritmo de extracción de minucias.

En la capa oculta se tiene 1 capa con un total de 75% de las neuronas empleadas en la capa de
entrada
En la capa de salida solo se tiene una neurona que se activara en caso de que la huella presentada y
la almacenada concuerden.

Función de Activación: Para todas las capas, la función de activación será de tipo Logsig, esta
función toma los valores de entrada, los cuales pueden oscilar entre +/- infinito, y restringe la salida
a valores entre cero y uno, de acuerdo a la expresión

Esta función es comúnmente empleada en redes multicapas, como la Backpropagation, en parte


porque la función logsig es diferenciable.
Función de Entrenamiento: Se emplea el algoritmo de entrenamiento Levenberg
Marquardt, éste algoritmo es una modificación del método de Newton, el que fue diseñado
para minimizar funciones que sean la suma de los cuadrados de otras funciones no lineales;
es por ello que el algoritmo de Levenberg - Marquardt, tiene un excelente desempeño en el
entrenamiento de redes neuronales donde el rendimiento de la red esté determinado por el
error medio cuadrático.
Es el algoritmo más rápido para redes Backpropagation; tiene la desventaja de requerir de un
set de entrenamiento lo más estándar posible, pues de otra forma solo aproximará
correctamente valores que se encuentren dentro de los patrones de aprendizaje.
Esta función se implementa en MATLAB mediante el comando trainlm del Toolbox de
Redes Neuronales Artificiales.

Función de Aprendizaje: La función de aprendizaje de pesos y bias que se va a emplear es


la de gradiente descendiente con momento, ésta calcula los cambios en los pesos para una
neurona dada con base en su entrada P y error E, el peso (o bias) W, la tasa de aprendizaje
LR y la constante de momento MC, conforme la ecuación de gradiente descendiente con
momento:
dW = MC * dWprev + (1 - MC )* LR * gw
Esta función se implementa en MATLAB mediante el comando Learngdm del Toolbox de
Redes Neuronales Artificiales.

Función de desempeño. La función de desempeño que será empleada es la función MSE, esta
mide el desempeño de la red acorde con la media de los errores cuadrados. La función toma
de uno a tres argumentos, E – matriz o arreglo de vectores de error. X – Vector de los valores
de todos los pesos y los bias. PP – Parámetros de rendimiento. Y entrega el error cuadrado
medio.
OBJETIVOS DEL DISEÑO DE LA PROPUESTA

El presente proyecto pretende difundir la aplicación de la biometría en nuestro medio;


demostrar la importancia que tiene hoy en día en el mundo de sistemas de reconocimiento,
autenticación y validación automática de personas, y comprobar la utilidad que representan
los sistemas biométricos para aplicaciones específicas. El proyecto se basa en la detección
de los patrones inherentes y presentes en las huellas dactilares por ser una de las
características más particulares e individuales del ser humano, y por tanto de amplia
aplicación en sistemas biométricos. Teniendo en cuenta lo precitado, en el transcurso del
proyecto se diseñó y desarrollo un “Prototipo de software” que tiene como fundamento la
aplicación de una de las áreas de la Inteligencia Artificial como son las Redes Neuronales
Artificiales, que nos permiten encontrarlos patrones que identifican una muestra de entrada
de una determinada huella dactilar a través de la implementación de uno de sus algoritmos
como es el Algoritmo de Kohonen. Con fines de aplicar las técnicas de la inteligencia
artificial para el reconocimiento e identificación biométrico, se toma una muestra en forma
de imagen de una huella dactilar para obtener los patrones a través de un procesamiento y
tratamiento de imagen, donde se buscará la optimización de la muestra, la eliminación de los
posibles ruidos que pudieran estar presentes en la muestra y seguidamente poner en
funcionamiento el algoritmo de la red neuronal para luego comparar la muestra de entrada
con el témplate de la base de datos, en la que se encuentran los patrones de determinadas
huellas, y de esta forma examinar el grado de parentesco que puedan tener ambas muestras,
con la finalidad de discernir si pertenece o no a determinada persona, y completar así con la
validación de la identificación.
DESCRIPCIÓN DEL ESQUEMA GENERAL A SEGUIR PARA LA PRESENTACIÓN
DE LA PROPUESTA
MÓDULOS DEL SISTEMA
La biometría se clasifica en varios módulos, estos realizan una actividad específica para
completar la identificación de cada individuo.

MODULOS DEL RECONOCIMIENTO POR HUELLA DACTILAR


Módulo de escaneo: aquí se requiere un lector de huellas o imágenes para obtener las
características del individuo.
Módulo de extracción de características: aquí la calidad de la información obtenida por el
lector es evaluada. Con ayuda de algún algoritmo se puede determinar si esa obtención es
suficientemente clara para la extracción y clasificación de los patrones de cada huella.
Módulo de bases de datos: aquí se almacenan los datos obtenidos luego de la evaluación
del algoritmo, estos datos pueden ser supervisados por una maquina o por una persona
dependiendo del programa de software. Esta base de datos puede contener varias
características, por ejemplo, el identificados (huella), nombre, cedula, etc. En el identificador
se guarda un vector de números que funciona como referencia única para cada persona.
Módulo de toma de decisiones: Aquí las características obtenidas de un objeto o individuo
son comparadas con los datos que están almacenados en la base de datos, si el mapa coincide
entonces se puede identificar la persona.
MÓDULOS ESPECÍFICOS DEL SISTEMA
1-Registros para nuevos usuarios: en este módulo se lleva a cabo el registro de usuarios
administrativos y estudiantes para poder permitirles el acceso a las instalaciones de la
universidad.
Datos a registrar.
Estudiantes: cedula, escaneo de huella, nombres, apellidos, matrícula universitaria, carrera
y semestre cursante.
Administrativo: cedula, escaneo de huella, nombres, apellidos, cargo o área de trabajo.
2-Registro de sesiones para administradores: este módulo permite el registro de nuevos
administradores para el control y manejo del sistema.
3-Modificacion de datos de usuarios: permite la modificación de los datos personales de
usuarios administrativos y estudiantes previamente registrados.
4-Eliminar usuario: el modulo permite eliminar los usuarios registrados en el sistema.
5-Consultar usuario: muestra la existencia en sistema de los usuarios ya registrados
mediante el número de identificación o la huella dactilar.

También podría gustarte