reconocimiento de rostros con redes neuronales

15
“RECONOCIMIENTO DE ROSTROS CON REDES NEURONALES”

Upload: fredy51

Post on 28-Oct-2015

27 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Reconocimiento de Rostros Con Redes Neuronales

“RECONOCIMIENTO DE ROSTROS CON

REDES NEURONALES”

Page 2: Reconocimiento de Rostros Con Redes Neuronales

SÍNTESIS El trabajo aborda el reconocimiento de

rostros usando redes neuronales de retropropagación.

La red es implementada en Matlab.

Es entrenada con 5 imágenes (fotos) distintas pertenecientes a varios individuos.

La prueba, realizada con otro set de 5 fotos de los mismos individuos, entrega una precisión de 90% para la identificación.

Page 3: Reconocimiento de Rostros Con Redes Neuronales

INTRODUCCIÓNEl tema de Reconocimiento de Rostros ha

cobrado gran importancia en el contexto actual, en lo que respecta a medidas de seguridad (aeropuertos).

El trabajo aborda el reconocimiento de rostros usando Redes Neuronales de Retropropagación

La red es implementada en Matlab.

En la actualidad los estudios en esta materia siguen 2 métodos: Estadístico (probabilidades) y Conexionista (reconocimiento de patrones).

Page 4: Reconocimiento de Rostros Con Redes Neuronales

Otros sistemas de reconocimiento: Pentland (1994) y Malsburg (1995), se basan en propiedades de las imágenes.

Reconocer rostros se ha asociado tradicionalmente al reconocimiento de imágenes, lo cual es un enfoque netamente perceptual y no cognitivo.

En este trabajo se adopta que: LA AFIRMACIÓN ANTERIOR ES ERRÓNEA, EL RECONOCIMIENTO DE ROSTROS ES UNA ACTIVIDAD PERCEPTUAL Y COGNITIVA, que difiere de sobremanera del reconocimiento de objetos.

Ejemplo: LOS NIÑOS APRENDEN A DISTINGUIR ROSTROS ANTES QUE OBJETOS.

Page 5: Reconocimiento de Rostros Con Redes Neuronales

PROBLEMA Implementar una Red Neuronal de

Retropropagación para Reconocimiento de Rostros.

Los datos son un set de conjunto fotos, 10 fotos de 40 individuos. En formato pgm y la imagen en 256 niveles de gris, como una matriz de 92x112 bytes.

Características de las imágenes: tomadas sobre un fondo homogéneo obscuro, rotación máxima de 20° y la máxima variación de escala es de 10%. La diversidad también considera tomos con y sin anteojos y cambios en el peinado.

Page 6: Reconocimiento de Rostros Con Redes Neuronales

Datos Entrenamiento: Las primeras 5 fotos de cada uno de los individuos.

Datos Prueba: La prueba consistió en presentar a la red, las 5 fotos restantes de cada uno de los individuos.

A cada muestra le corresponde un código con un número de posibilidades igual a: 13189120=5x92x112x256

PRECAUCIÓN:

PUEDE QUE LA RED NO PASE LA ETAPA DE ENTRENAMIENTO, DEBIDO A LA GRAN CANTIDAD DE POSIBILIDADES ES MUY DIFÍCIL QUE LA RED PUEDA ASOCIAR UNÍVOCAMENTE A LA MUESTRA CON UN INDIVIDUO.

Page 7: Reconocimiento de Rostros Con Redes Neuronales

SOLUCIÓN:

DOTAR A LA RED DE UN NÚMERO SUFICIENTEMENTE GRANDE DE PESOS, DE MODO QUE MEMORICE EL ESPACIO MUESTRAL Y COMPLETE ASÍ SU ETAPA DE ENTRENAMIENTO.

Aquí se puede llegar a una situación de SOBRE-ENTRENAMIENTO; la red carece de la capacidad de generalización, al procesar el espacio de prueba entrega respuestas erróneas.

Page 8: Reconocimiento de Rostros Con Redes Neuronales

Funcionamiento del Reconocimiento de Patrones

Page 9: Reconocimiento de Rostros Con Redes Neuronales

MODELOPara modelar el proceso se postula una característica

cuantitativa que tiene 2 parámetros:

k: corresponde al número de individuos.

m: número de fotos de cada uno de ellos.

Se plantea una arquitectura con 2 capas ocultas. La capa de INPUT tiene 10304 nodos, la 1a Capa Oculta tiene 2x(k+2) neuronas; la 2da Capa Oculta tiene (k+m) neuronas. La capa OUTPUT tiene k neuronas.

Las funciones de activación de las capas ocultas son tanh (tangente hiperbólica).

Page 10: Reconocimiento de Rostros Con Redes Neuronales

Los resultados de ésta asociación de datos, proporciona una medida de “confusión”, situación análoga al proceso de reconocimiento de rostros en los seres humanos, dado que los rostros presentan características comunes entre sí.

Los datos fueron normalizados, esto es: media nula y varianza unitaria.

El script de Matlab, con el cual se realizó el trabajo, se muestra a continuación:

Page 11: Reconocimiento de Rostros Con Redes Neuronales
Page 12: Reconocimiento de Rostros Con Redes Neuronales

El proceso hasta la etapa de fin del entrenamiento tardó alrededor de 6 minutos.

Prueba: Los datos se almacenaron en 2 matrices. La matriz A, con los datos de entrenamiento; y la matriz B, con los datos de prueba. Finalmente se calculó la matriz (B-A), matriz que mide el grado de confusión en la identificación.

Análisis de Resultados: En la figura siguiente, se muestra la gráfica de la matriz (B-A). Los “spikes” (con un valor máximo de 0.5), INDICAN ALGÚN GRADO DE CONFUSIÓN DE LA RED.

Page 13: Reconocimiento de Rostros Con Redes Neuronales

Despliegue de la matriz (B-A)

0

50

100

150

200

0

10

20

30

40-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

Page 14: Reconocimiento de Rostros Con Redes Neuronales

CONCLUSIÓNLos principios de diseño de la red dieron

excelentes resultados en reconocimiento de rostros, tanto en tiempo como en fidelidad de identificación.

El SOBRE-APRENDIZAJE NO se produjo, debido a que el procedimiento de prueba involucró imágenes distintas a las del entrenamiento.

La NORMALIZACIÓN de los datos probó ser un método muy eficiente. Sin este procedimiento, la convergencia no se alcanza en menos de 100 épocas.

Page 15: Reconocimiento de Rostros Con Redes Neuronales

A partir del punto anterior, se puede decir, que es imprescindible pre-procesar los datos para su mejor análisis.

La extracción de características relevantes desde las imágenes, es realizada en forma satisfactoria por la red.

El flujo neto de señales debe ser REDUCIDO, al igual como lo es en seres humanos.