Residente de obra y sus funciones que realiza .pdf
Reconocimiento de rostros utilizando una red neuronal
1. Ing. Karla Romero
Dr. Hugo Banda Gamboa
hbanda@ieee.org
Departamento de Informática y Ciencias de Computación
ESCUELA POLITÉCNICA NACIONAL - Quito
XVI Jornadas en Estadística e Informática
ESPOL – Guayaquil, 17 de Octubre 2007
2. Contenido Introducción
Materiales y Métodos
Resultados
Discusión y Conclusiones
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 2
4. La Biometría
Tradicionalmente la seguridad física ha sido el
espacio para las aplicaciones de la biometría.
Usualmente se consideran tres niveles de
identificación y verificación. Estos niveles deben
responder la pregunta: ¿Es ésta persona la que dice
que es?, utilizando tres factores:
Algo que la persona conoce;
Algo que la persona tiene; y,
Algo que la persona es.
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 4
5. Tecnologías Biométricas
Identificación de huellas digitales
Identificación de rostros
Reconocimiento del iris del ojo
Geometría de la mano
Autenticación de la voz
Verificación de firmas
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 5
6. Imágenes de Rostros
Imágenes en las que se han identificado y localizado
rostros son esenciales en aplicaciones relacionadas
con:
Interacción inteligente humano – computador, basada
en visión
Reconocimiento de rostros
Seguimiento de rostros
Estimación de poses
Reconocimiento de
expresiones
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 6
7. Detección de Rostros
Dada una imagen, el objetivo
de la detección de rostros es
determinar la existencia o
ausencia de algún rostro en la
escena; y, si existe, retornar la
ubicación y las áreas en las
que localizó un rostro.
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 7
8. Factores Críticos en la Detección de
Rostros
Poses
Componentes estructurales
Expresiones faciales
Oclusión
Orientación de la imagen
Condiciones de la captura de
la imagen
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 8
9. Problemas Asociados a la
Detección de Rostros
Localización de rostros
Detección de atributos faciales
Reconocimiento o identificación de
rostros
Autenticación de rostros
Reconocimiento de expresiones faciales
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 9
11. Técnicas para Detección de Rostros
Métodos basados en conocimiento (Localización de
rostros)
Algoritmos basados en atributos invariantes
(Localización de rostros)
Métodos de coincidencia de plantilla (Localización y
detección de rostros)
Métodos basados en apariencia (Detección de rostros)
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 11
12. Proceso de Enrolamiento
Preprocesamiento
Procesamiento
Red Neuronal
(Entrenamiento)
Base de Datos
(Eigenfaces)
VisualizaciónAdquisición de Imagen
Durante el
enrolamiento se
generan los
vectores de
características o
patrones de
referencia que
permitirán identificar
a los diferentes
usuarios.
Extracción de
Atributos
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 12
13. Adquisición de Imágenes
Durante el enrolamiento se recopila un conjunto de
imágenes que representan a los usuarios (conjunto de
entrenamiento).
Por cada usuario puede existir una o varias imágenes,
si son varias imágenes éstas deben ser lo más diferente
posible entre sí para lograr una mejor generalización.
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 13
14. Preprocesamiento
Con el objetivo de normalizar las imágenes en cuanto a
iluminación, orientación del rostro, tamaño del rostro,
eliminación de ruido, etc. Se aplican algoritmos para:
Modificación del histograma.
Aplicación de filtros eliminadores de ruido.
Algoritmos de detección de bordes.
Transformaciones geométricas o espaciales.
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 14
15. Procesamiento (1)
Localización de áreas del color de la piel utilizando
reglas de decisión en el espacio RGB normalizado [1].
Una vez localizadas dichas áreas, se somete a la imagen
a operaciones morfológicas básicas para remover
elementos que por su tamaño no pueden ser rostros y
también para mantener las posibles áreas del rostro
concatenadas.
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 15
16. Procesamiento (2)
Después de segmentar la imagen empleando la
información de color (localización de áreas del color de
la piel) se la transforma a escala de grises y en esa
nueva imagen se aplica la transformada de Hough
para la detección de elipses.
Debido a que esta técnica es computacionalmente
costosa se la aplica bajo ciertas restricciones, además
se emplea la imagen en escala de grises re-escalada a
la cuarta parte. La transformada de Hough trabaja
sólo con píxeles de borde por lo que antes de utilizarla
se debe realizar la detección de bordes. Para esta tarea
se seleccionó el filtro de Sobel.
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 16
17. Procesamiento (3)
Para cada elipse resultante se realiza lo siguiente:
1. Los parámetros de la elipse (coordenadas del centro y longitud de los
semi-ejes) son re-escalados con referencia al tamaño original de la
imagen en escala de grises.
2. Se extrae de esta imagen el área que abarca la elipse y se la trata como una
nueva imagen.
3. Para la nueva imagen se detecta el área de los ojos, el área de la boca, se
realiza la validación geométrica del triángulo ojos-boca .
4. Si la puntuación obtenida por el triángulo es mayor a un valor umbral se
normaliza la imagen en cuanto a orientación del rostro y luego se extrae
el área del rostro como una nueva imagen.
5. Se ajusta la intensidad de la imagen del rostro.
6. Se proyecta esta imagen en el espacio de rostros (PCA) y se calcula la
distancia entre la proyección y la imagen para confirmar si es un rostro.
7. Si la distancia es menor a un valor umbral el proceso de localización del
rostro finaliza, caso contrario se repiten los pasos 1-7 con la siguiente
elipse hasta encontrar un rostro o utilizar todas las elipses en cuyo caso se
concluye que la imagen no contiene un rostro humano.
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 17
18. Procesamiento (4)
Detección del área de los ojos. Se localizan las
posibles áreas de los ojos con ayuda de los espacios de
color HSV y RG normalizado.
Se obtienen los posibles candidatos a ojos combinando
con la operación lógica AND las imágenes resultantes
en los dos espacios de color en una sola imagen.
Además, se realizan operaciones morfológicas básicas
para conectar áreas cercanas.
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 18
19. Procesamiento (5)
Detectar el área de la boca. Para obtener los candidatos
para el área de la boca se emplea el mapa propuesto en la
técnica localización de atributos faciales.
El mapa original es sometido a operaciones morfológicas
básicas, mejora del contraste y umbralización con el
objetivo de obtener mejores resultados.
Una vez obtenido el mapa se realiza un análisis de
componentes conectados. Para cada componente se analiza
su ubicación en la imagen, la relación entre el alto y ancho
de éste, y la relación entre su área y el área de la imagen.
Sólo los componentes que alcancen los valores umbrales
preestablecidos para estas relaciones se mantienen como
posibles candidatos, el resto de componentes se eliminan.
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 19
20. Procesamiento (6)
Validación de los triángulos ojos-boca formados
por los candidatos. Cada pareja de candidatos a ojos
forma un triángulo con cada candidato para el área de
la boca (los vértices del triángulo están formados por
los centroides de los candidatos).
Primero se valida que el vértice asociado al candidato a
área de la boca se encuentre ubicado bajo los otros dos
vértices, no al mismo nivel ni sobre éstos. También se
valida que los vértices formen un triángulo, que el
triángulo sea agudo (pero que ninguno de sus ángulos
sea menor a pi/7) y que su área no sea demasiado
grande o muy pequeña con relación al área de la
imagen.
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 20
21. Procesamiento (7)
Para la extracción y normalización del rostro se
deben ejecutar las siguientes tareas:
Extraer el área del posible rostro. Se selecciona el
triángulo con el mayor puntaje siempre y cuando
sobrepase un valor umbral.
Ajustar la intensidad de la imagen normalizada del
rostro.
Verificar si la imagen realmente representa a un rostro.
Todo el proceso de localización antes descrito puede dar
resultados incorrectos bajo ciertas circunstancias, por
ejemplo si en la imagen existen objetos elípticos con un
color similar al color de la piel, la localización podría dar
como resultado uno de estos objetos.
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 21
22. Extracción de Atributos (1)
Tiene como objetivo reducir la dimensionalidad de los
datos de entrada (imágenes) mediante la extracción de
información discriminatoria.
Para la extracción de características existen técnicas
como por ejemplo: Principal Component Analysis
(PCA), transformada de Fourier, transformada
Discreta Coseno, Wavelets, etc.
En cuanto a la selección de atributos existen técnicas
heurísticas, selección mediante algoritmos genéticos,
búsqueda exhaustiva, búsquedas secuenciales, entre
otras.
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 22
23. Extracción de Atributos (2)
La imagen obtenida como resultado del procesamiento
se encuentra normalizada en cuanto a orientación y a
iluminación. Luego de esto se la normaliza en cuanto a
tamaño (92x92) para extraer sus atributos más
relevantes.
La técnica seleccionada para la extracción de
características es eigenfaces que se basa en PCA.
Cada imagen de un rostro tendrá asociado un vector de
características, el tamaño de este vector dependerá del
número de eigenvectores seleccionados para formar
el espacio de rostros.
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 23
24. Ejemplos de Rostros Detectados
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 24
25. Entrenamiento de la Red Neuronal
Una vez que se cuenta con el conjunto de vectores de
características que representan al conjunto de
imágenes de entrenamiento se crea una red neuronal
de tipo Radial Basis Function y se la entrena con
dichos vectores.
Para este tipo de red se debe definir previo a su
entrenamiento el ancho más adecuado de la
gaussiana para lograr una buena generalización a
partir del conjunto de vectores proporcionados.
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 25
26. Proceso de Verificación
Preprocesamiento
Procesamiento
Red Neuronal
(Verificación)
Base de Datos
(Eigenfaces)
VisualizaciónAdquisición de Imagen
Para la verificación de
una identidad debe
existir un conjunto de
imágenes de rostros
que constituyan el
espacio de rostros,
además la red
neuronal debe estar
creada y entrenada
para esta tarea.
Extracción de
Atributos
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 26
27. Verificación de la Identidad
El vector de características asociado a una nueva
imagen es extraído y presentado como entrada a la red
RBF, ésta analiza el vector y presenta sus resultados.
Finalmente se selecciona la salida (resultado) con
mayor valor y si supera un umbral se busca la
identidad asociada a dicha salida, se compara esta
identidad con la proporcionada junto con la imagen
analizada y se valida si son iguales o no.
De esta manera concluye el proceso de verificación de
una identidad.
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 27
28. Implementación
Para la implementación de la solución
computacional se utilizaron las siguientes
herramientas:
Matlab versión 7.0 como Front-End (guide, toolboxes de
procesamiento de imágenes y de redes neuronales)
Microsoft Visual Basic 6.0 para el desarrollo de un
componente de despliegue requerido para autenticar a
los usuarios con perfil de Administrador; y,
Microsoft Access 2000 como Back-End.
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 28
30. Evaluación
Luego de las pruebas de unidad, de integración y
pruebas globales de la solución computacional; la
evaluación de la aplicación se llevó a cabo en dos fases:
En la primera fase se evaluó el subsistema para la
localización de un rostro en una imagen dada; y,
En la segunda fase se evaluó el proceso de verificación de
una identidad partiendo de la imagen del rostro
proporcionada por el subsistema de localización.
Para el efecto, se conformó una base de imágenes de
rostros propia y se utilizaron imágenes de bases
disponibles en el Internet.
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 30
31. Base de Rostros de Internet
Contiene imágenes de 114 personas, 7 imágenes por
cada persona, con diferentes expresiones faciales.
El formato de las imágenes es jpeg y tienen una
resolución de 640x480 píxeles.
Las personas que conforman esta base en su mayoría
son hombres (alrededor del 90%) que oscilan entre los
18 años (aunque existen personas de mayor edad).
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 31
32. Resultados Base de Rostros Internet
Para la evaluación del subsistema de localización se empleó
154 imágenes pertenecientes a la base de rostros disponible a
través de Internet. Este subconjunto de imágenes corresponde a
las primeras 52 personas que forman parte de dicha base de
rostros.
El subsistema encontró correctamente 146 rostros (uno por cada
imagen presentada), es decir realizó una correcta localización
en el 95% del total de las imágenes.
Del porcentaje restante, el 1% se refiere a localizaciones erróneas,
lo que significa que si bien el subsistema localizó el área del
rostro falló en la localización del área de los ojos o de la boca; el
4% final se refiere a imágenes en las que el subsistema no
localizó un rostro.
El tiempo promedio de localización de un rostro para este
subconjunto de imágenes está alrededor de los 15 segundos.
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 32
33. Base de Rostros Propia
Está formada por 390 imágenes pertenecientes a 25
personas que colaboraron para la elaboración de esta base
de rostros, siendo el 88% mujeres y el 12% hombres. Las
edades de quienes conforman este grupo se encuentran en
el rango de 20 a 50 años, existiendo una prevalencia de
personas cuya edad oscila entre 20 a 38 años.
Las imágenes fueron almacenadas en formato de mapa de
bits (bmp), con dimensiones 320x240.
Todas las imágenes contienen el rostro de una sola persona,
presentan fondos poco complejos, el área del rostro es
claramente visible, presentan pequeñas variaciones con
relación a la distancia entre una persona y la cámara, leves
variaciones en el grado de inclinación del rostro, cambios
de estilos de peinado, uso de lentes y variaciones en
expresiones faciales.
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 33
34. Resultados Base de Rostros Propia
Se utilizó un total de 390 imágenes de las cuales en 379
(más del 97%) fue localizado correctamente el rostro
presente en las mismas y en 11 imágenes (cerca del 3%)
falló la localización de los rostros o existió una
localización incorrecta.
El tiempo promedio empleado para la localización de
rostros en estas imágenes fue de 3.7 segundos
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 34
36. Sobre los Procesos
Cualquier solución está orientada a las necesidades del
usuario final, sin embargo existen procesos intermedios,
para alcanzar satisfacer dichas necesidades, que no tienen
relevancia para los usuarios.
En el caso de la presente solución computacional las tareas
relacionadas con la localización de rostros son internas y
no se encuentran visibles para el usuario final, por lo que la
forma cómo se realizan dichas tareas depende de
cuestiones de diseño, de optimización y de otros factores
que deben ser considerados por quien desarrolla una
solución de este tipo.
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 36
37. Acerca de la Red Neuronal
Actualmente no existe una arquitectura de red
neuronal que sea adecuada para una tarea específica
como es el caso de la verificación de rostros,
considerando diversas condiciones de iluminación,
rotación, apariencia, expresiones faciales, etc. Por tal
razón, la selección de una u otra arquitectura no deja
de ser un problema de prueba y error, donde se invierte
gran cantidad de tiempo probando diferentes
arquitecturas y formas de entrenamiento.
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 37
38. Calidad de las Imágenes
El mayor problema encontrado en el desarrollo de esta
solución es el contar con un área para la adquisición de
imágenes, en la que las condiciones de iluminación
sean adecuadas de forma constante para así obtener
una base de rostros completamente homogénea.
Como se comprobó durante la fase de evaluación, la
variación en iluminación es un factor decisivo en los
resultados de la verificación de identidades.
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 38
39. Comparación de Tiempo de
Localización de Rostros
Al comparar los promedios de los tiempos requeridos para
la localización de rostros en las imágenes de la base
FENIXVR y en las imágenes de la base disponible a través
de Internet, se puede notar que el tamaño de las imágenes
impacta directamente en la cantidad de tiempo requerido
para llevar a cabo la tarea de localización.
Mientras en imágenes de tamaño 320x240 el tiempo
promedio está alrededor de 3.7 segundos, en imágenes de
tamaño superior (el cuádruple del tamaño, en este caso)
640x480, el tiempo promedio está alrededor de los 15
segundos.
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 39
40. Usuarios Registrados e Imágenes
El número de usuarios registrados y el número de
imágenes por cada usuario también constituye un
factor que influye en los resultados de la verificación
de identidad.
A un mayor número de usuarios registrados, existe una
mayor probabilidad que la red neuronal cometa más
errores en la verificación, en tanto que a un mayor
número de imágenes por usuarios (imágenes lo más
diferente posible entre sí) se mejoran las condiciones
para que la red realice una mejor tarea de verificación.
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 40
42. Referencias
1. Thilak Kumar, S; Raja, Kumar; Ramakrishnan, A.G. Eye
detection using color cues and projection functions. IEEE ICIP.
Department of Electrical Engineering, Indian Institute of
Science. Bangalore. 2002.
2. HSU, Rein-Lien; ABDEL-MOTTALEB, Mohamed; ANIL, K.
Jain. Face detection in color images. Dep. of computer science
& Engineering, Michigan State University. 2002
3. Gutierrez González, L.
http://www.udlap.mx/~tesis/msp/gutierrez_g_l/
Reconocimiento de rostros utilizando redes neuronales. 2000
4. Gonzalez, R. C.; Woods, R. E. Tratamiento Digital de Imágenes.
Editorial Addison-Wesley. Washington - EUA. 1996.
5. Anil, K. Jain; Mao, J.; Mohiuddin, K. Artificial Neural
Networks: A Tutorial. IEEE Computer. Vol. 29. Nº 3. pp.31-44.
1996.
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 42
43. ¿Pueden pensar las máquinas? Es una
pregunta tan mal formulada como si
preguntáramos
¿Pueden nadar los submarinos?
Edsger W. Dijkstra – 1970
GRACIAS
Dr. Hugo A Banda
hbanda@ieee.org
(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 43