reconocimiento de rostros por red neuronal

43
Ing. Karla Romero Dr. Hugo Banda Gamboa [email protected] 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

Upload: yeimy-quevedo

Post on 24-Oct-2014

54 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Reconocimiento de Rostros Por Red Neuronal

Ing. Karla RomeroDr. Hugo Banda Gamboa

[email protected]

Departamento de Informática y Ciencias de ComputaciónESCUELA POLITÉCNICA NACIONAL ‐ Quito

XVI Jornadas en Estadística e InformáticaESPOL – Guayaquil, 17 de Octubre 2007

Page 2: Reconocimiento de Rostros Por Red Neuronal

ContenidoIntroducciónMateriales y MétodosResultadosDiscusión y Conclusiones

(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 2

Page 3: Reconocimiento de Rostros Por Red Neuronal

(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 3

Page 4: Reconocimiento de Rostros Por Red Neuronal

La BiometríaTradicionalmente 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

Page 5: Reconocimiento de Rostros Por Red Neuronal

Tecnologías BiométricasIdentificación de huellas digitalesIdentificación de rostrosReconocimiento del iris del ojoGeometría de la manoAutenticación de la vozVerificación de firmas

(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 5

Page 6: Reconocimiento de Rostros Por Red Neuronal

Imágenes de RostrosImágenes en las que se han identificado y localizado rostros son esenciales en aplicaciones relacionadas con:

Interacción inteligente humano – computador, basada en visiónReconocimiento de rostrosSeguimiento de rostrosEstimación de posesReconocimiento de expresiones

(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 6

Page 7: Reconocimiento de Rostros Por Red Neuronal

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

Page 8: Reconocimiento de Rostros Por Red Neuronal

Factores Críticos en la Detección de Rostros

PosesComponentes estructuralesExpresiones facialesOclusiónOrientación de la imagenCondiciones de la captura de la imagen

(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 8

Page 9: Reconocimiento de Rostros Por Red Neuronal

Problemas Asociados a la Detección de Rostros

Localización de rostrosDetección de atributos facialesReconocimiento o identificación de rostrosAutenticación de rostrosReconocimiento de expresiones faciales

(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 9

Page 10: Reconocimiento de Rostros Por Red Neuronal

(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 10

Page 11: Reconocimiento de Rostros Por Red Neuronal

Técnicas para Detección de RostrosMé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

Page 12: Reconocimiento de Rostros Por Red Neuronal

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

Page 13: Reconocimiento de Rostros Por Red Neuronal

Adquisición de ImágenesDurante 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

Page 14: Reconocimiento de Rostros Por Red Neuronal

PreprocesamientoCon 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

Page 15: Reconocimiento de Rostros Por Red Neuronal

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

Page 16: Reconocimiento de Rostros Por Red Neuronal

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

Page 17: Reconocimiento de Rostros Por Red Neuronal

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

Page 18: Reconocimiento de Rostros Por Red Neuronal

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

Page 19: Reconocimiento de Rostros Por Red Neuronal

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

Page 20: Reconocimiento de Rostros Por Red Neuronal

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

Page 21: Reconocimiento de Rostros Por Red Neuronal

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

Page 22: Reconocimiento de Rostros Por Red Neuronal

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

Page 23: Reconocimiento de Rostros Por Red Neuronal

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

Page 24: Reconocimiento de Rostros Por Red Neuronal

Ejemplos de Rostros Detectados

(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 24

Page 25: Reconocimiento de Rostros Por Red Neuronal

Entrenamiento de la Red NeuronalUna 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

Page 26: Reconocimiento de Rostros Por Red Neuronal

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

Page 27: Reconocimiento de Rostros Por Red Neuronal

Verificación de la IdentidadEl 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

Page 28: Reconocimiento de Rostros Por Red Neuronal

ImplementaciónPara  la  implementación  de  la  solución  computacional  se  utilizaron las siguientes herramientas:

Matlab versión 7.0 como Front‐End (guide, toolboxesde 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

Page 29: Reconocimiento de Rostros Por Red Neuronal

(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 29

Page 30: Reconocimiento de Rostros Por Red Neuronal

EvaluaciónLuego 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

Page 31: Reconocimiento de Rostros Por Red Neuronal

Base de Rostros de InternetContiene 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

Page 32: Reconocimiento de Rostros Por Red Neuronal

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

Page 33: Reconocimiento de Rostros Por Red Neuronal

Base de Rostros PropiaEstá formada por 390 imágenes pertenecientes a 25personas 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

Page 34: Reconocimiento de Rostros Por Red Neuronal

Resultados Base de Rostros PropiaSe 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

Page 35: Reconocimiento de Rostros Por Red Neuronal

(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 35

Page 36: Reconocimiento de Rostros Por Red Neuronal

Sobre los ProcesosCualquier 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

Page 37: Reconocimiento de Rostros Por Red Neuronal

Acerca de la Red NeuronalActualmente 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

Page 38: Reconocimiento de Rostros Por Red Neuronal

Calidad de las ImágenesEl 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

Page 39: Reconocimiento de Rostros Por Red Neuronal

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 15segundos.

(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 39

Page 40: Reconocimiento de Rostros Por Red Neuronal

Usuarios Registrados e ImágenesEl 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

Page 41: Reconocimiento de Rostros Por Red Neuronal

(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 41

Page 42: Reconocimiento de Rostros Por Red Neuronal

Referencias1. 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

Page 43: Reconocimiento de Rostros Por Red Neuronal

¿Pueden pensar las máquinas? Es una pregunta tan mal formulada como si

preguntáramos ¿Pueden nadar los submarinos?

Edsger W. Dijkstra – 1970

GRACIASDr. Hugo A Banda

[email protected]

(c) Dr. Hugo A. Banda Gamboa - Octubre 2007 43