Este documento presenta el primer avance del proyecto de reconocimiento de huellas digitales. Se describen las interfaces de entrada y salida implementadas, así como los primeros pasos de la red neuronal para la clasificación de huellas. El equipo se dividió en pares, cada uno encargado de una parte. Se explican brevemente las distintas fases de la red neuronal y las contribuciones individuales del equipo.
1. Reconocimiento de Huellas Digitales
Primer avance
Project Vote
Redes Neuronales
Carmen – Daniel
Adán - Sergio
2. Reconocimiento de Huellas Digitales
• En esta primera entrega presentaremos el
avance correspondiente a las interfaces de
entrada y salida de nuestro proyecto, así como la
base (básica) de la red neuronal que utilizaremos
para el procesamiento y clasificación de las
huellas para su posterior identificación.
3. Distribución del trabajo realizado
• Para una mejor organización dividimos el
equipo en pares siendo un par encargado de la
implementación de la red y el otro par encargado
de la implementación de la interfaz de entrada y
salida (aún así cada par estuvo al pendiente del
trabajo hecho por los otros)
5. Interfaz de entrada
-Después de que el programa lee una huella digital se pasa una
representación de la foto a un archivo en código binario que sería
la entrada a la red neuronal para que vaya aprendiendo sobre
cómo identificar una persona, gracias a las
características de cada huella digital.
-Esto se logra mediante las especificaciones de cada huella como lo
son sus crestas y valles y su tipos y clasificaciones.
8. Red Neuronal
• El avance realizado de la red neuronal
corresponde a la implementación básica de la
misma de la forma:
9. Red neuronal
• En general consiste en un arreglo de entradas aleatorias
a las que se les asigna un peso también de carácter
aleatorio para posteriormente obtener el la sumatoria de
los productos de estos mismos y comparar esta última
con otros parámetros y así que aprenda a cómo clasificar
entre dos salidas posibles 0 ó 1.
• Es un avance pequeño pero se trata de la base que nos
servirá para posteriormente conectar con nuestras
interfaces de entrada y salida y así lograr el
reconocimiento de personas por medio de su huella
digital.
10. Red neuronal
• La red se implementó en 4 fases. Siendo la fase 1
y 3 implementadas por Adán Silva, y las fases 2 y
4 implementadas por Carmen Suárez.
11. Red neuronal, fase 1
La fase 1, consiste en la obtención de la sumatoria
de productos de entradas vs pesos, y la
comparación de ésta con el valor del umbral para
saber si la salida es 0 ó 1. Pide también al usuario
una salida esperada que compara con la obtenida
por la fórmula si son diferentes crea un nuevo
vector de pesos con la fórmula del aprendizaje.
13. Red neuronal, fase 2
En la fase 2, las entradas ya son aleatorias (pues
en la 1 eran pedidas al usuario) dejando sólo al
usuario la elección de la salida esperada, al
comparar ésta última con la obtenida decide si
estuvo bien o necesita hacer un ajuste, cuando
hace este ajuste satisfactoriamente termina la
ejecución.
15. Red neuronal, fase 3
En esta fase el cambio más significativo es que ya
no se inmiscuye al usuario en la ejecución, todo se
realiza de forma «automática». La salida
esperada es decidida por el mismo programa
dependiendo de la comparación con la obtenida
realiza o no el ajuste.
17. Red neuronal, fase 4
Por último en la fase 4, sólo quedó agregar que el
usuario decidiera el número de veces que quiere
que la red neuronal haga las pruebas, así como un
contador que indiqué cuántas veces acertó a la
salida esperada y cuántas veces necesitó de
realizar un ajuste en los pesos.
19. Interfaz de salida
Se realizó un ejemplo del sistema para el encontrar una persona dentro de los
archivos que ya se tienen. Primeramente se ingresa una huella digital que sería
solicitando el acceso de una persona para el sistema de votaciones, después se
procesa esa lectura de imagen para que se represente de forma binaria. Luego al
entrar a la red neuronal deberá de ser capaz de clasificar los tipos de huellas que
existen y su rápida identificación.
-Para fines prácticos, se comprara un archivo con 2 registros que se tienen para ver
si la lectura del solicitante es igual a la de los registros, en caso de ser igual el acceso
al sistema seria concedido, por lo contrario se negara el acceso al sistema de
votaciones.
22. Aportaciones (Investigación, código,
mejoramiento, propuestas)
• Daniel Martínez: Link a blog
-Investigación sobre las huellas digitales y sus características principales
-Investigación sobre el mejoramiento en la calidad de huellas digitales
-Diagrama del sistema
-Recolección de BD de imágenes para entrenar neurona
-Implementación de entrada del sistema (imagen a binario)
-Implementación de salida del sistema (coincidencia de personas)
Sergio Hernández: Link a blog
- Investigación sobre cómo diferenciar las huellas digitales.
- Pre procesamiento: Se realizó el pre procesamiento (pasar la imagen de la
huella digital a binario), y se mejoró ya que el recorrido pixel * pixel de la
imagen lo hacia de una forma errónea, además que no acertaba en algunos
píxeles el color blanco.
- Pos procesamiento: Resultado.
23. • Carmen Suarez: Link a blog
- Investigación sobre huellas digitales y como podrían representarse como
entradas para la neurona
- Diagrama de arquitectura de neurona
- Programación de neurona: implementar n número de iteraciones con
sumatoria de producto de pesos y entradas, se añadió la tasa de aprendizaje
y se implementó que si la salida esperada difiere de la salida obtenida se
realiza un cambio en los pesos.
- Investigación de como implementarlo con las entradas reales.
Adán Cuellar: Link a blog
-Programación de neurona: base de la neurona generando entradas y pesos
aleatorios, comparaciones y decisiones de cuándo es requerido el
entrenamiento.
-Diseñando un modelo de procesamiento en el que convirtiera las imágenes
de las huellas digitales de nuestra base de datos en una combinación binaria
que después pudiéramos usar como entradas para alimentar nuestra red
neuronal.
• -Propuse el uso de un software llamado Leaves Recognition para observar el
comportamiento de dicho proceso de procesamiento – entrenamiento –
reconocimiento de patrones con una red neuronal ya hecha para así tratar
de nosotros acoplar o complementar la nuestra.
24. Ligas a aportaciones individuales de
código
• Adán:
• Fase1: http://pastebin.com/Lb9C24kZ
• Fase3: http://pastebin.com/4t1P0DnR
• Carmen:
• Fase2: http://pastebin.com/RLMpjKyW
• Fase4: http://pastebin.com/dG5CAS8j
• Daniel:
• Entrada 1:http://pastebin.com/UAdhsDF3
• Entrada 2:http://pastebin.com/kCXmKj6d
• Salida:http://pastebin.com/VyKT0ie4
• Sergio: Entrada y salida: Blog