Escolar Documentos
Profissional Documentos
Cultura Documentos
14 de septiembre de 2009
Samanez G., D. J.
Reconocimiento de Rostros
1 2
Reconocimiento de Rostros
Eigenfaces Red Neuronal de Base Radial tico Algoritmo Gene
Propuesta
Proceso de Entrenamiento Proceso de Reconocimiento Diagramas Recursos
Resultados
Samanez G., D. J. Reconocimiento de Rostros
Problema
n Definicio Dadas unas imagenes est aticas o en video de una escena, identicar una o m as personas en la escena usando una base de datos de rostros.
Samanez G., D. J.
Reconocimiento de Rostros
Reconocimiento de Rostros
n Descripcio En una secuencia de video se debe detectar las regiones con m as probabilidad de contener rostros, y luego, comparar el rostro contra un conjunto de rostros(dataset) conocidos con el n de reconocer el rostro y clasicarlo en la clase adecuada.
Samanez G., D. J.
Reconocimiento de Rostros
Reconocimiento de Rostros
Problemas Los problemas que se encuentran asociadas al reconocimiento de rostros son: Tama no del rostro. N umero de rostros. Tipo de imagen/video. Iluminaci on. Cabello(puede cubrir el rostro).
Samanez G., D. J.
Reconocimiento de Rostros
Objetivos General
Samanez G., D. J.
Reconocimiento de Rostros
Estudiar una t ecnica de extracci on de caracter sticas. Estudiar una t ecnica para reconocimiento de rostros basada en redes neuronales. Estudiar una t ecnica de optimizaci on(algoritmos gen eticos) para la arquitectura de la red neuronal. Implementar la aplicaci on para el reconocimiento de rostros en video.
Samanez G., D. J.
Reconocimiento de Rostros
Samanez G., D. J.
Reconocimiento de Rostros
Propuesta
Samanez G., D. J.
Reconocimiento de Rostros
Propuesta
Detecci on de Rostros
Clasicador basado en Filtros Haar y Adaboost
Reconocimiento de Rostros
Eigenfaces (PCA) Red Neuronal de Base Radial y Algoritmo Gen etico
Samanez G., D. J.
Reconocimiento de Rostros
1 2
Reconocimiento de Rostros
Eigenfaces Red Neuronal de Base Radial tico Algoritmo Gene
Propuesta
Proceso de Entrenamiento Proceso de Reconocimiento Diagramas Recursos
Resultados
Samanez G., D. J. Reconocimiento de Rostros
n Descripcio
La t ecnica para detecci on de rostros propuesta en [6] consiste en tres etapas: Calculo de Imagen Integral Extracci on de Caracter sticas con Filtros Base Haar Clasicaci on con AdaBoost
Samanez G., D. J.
Reconocimiento de Rostros
Imagen Integral I
Samanez G., D. J.
Reconocimiento de Rostros
Imagen Integral II
ii (x , y ) =
x x , y y
i (x , y )
Donde ii (x , y ) es la imagen integral y i (x , y ) la imagen original. El c alculo de la imagen integral se realiza aplicando las siguientes funciones recursivas a cada pixel de la imagen original, seg un [6] luego del c alculo de la imagen integral, cualquier suma de una regi on rectangular se puede realizar con 4 referencias a un arreglo(O (1)).
Samanez G., D. J.
Reconocimiento de Rostros
Filtros Haar
n Descripcio El procedimiento de detecci on de objetos(rostros) se basa en el valor de features(caracter sticas) sencillas. Estas caracter sticas codican la existencia de contrastes entre regiones en una imagen, as un conjunto de caracter sticas pueden ser usadas para codicar los contrastes encontrados en los rostros.
Samanez G., D. J.
Reconocimiento de Rostros
Filtros Haar
La propuesta original de los autores consideran 3 tipos caracter sticas: two-rectangle feature: Su valor se calcula con la diferencia entre la suma de los p xeles dentro de las dos regiones rectangulares. three-rectangle feature: Su valor se calcula con la suma de los p xeles dentro de las dos regiones rectangulares exteriores y la substracci on de los p xeles de la regi on interior. four-rectangle feature: Su valor se calcula con la diferencia entre las diagonales de los pares de rect angulos.
Samanez G., D. J.
Reconocimiento de Rostros
Filtros Haar I
Figura: Haar-like features en OpenCV[2]: El detector de objetos en OpenCV esta basado en la propuesta de Viola y considera m as tipos de caracter sticas(mejorado por Lienhart).
Samanez G., D. J.
Reconocimiento de Rostros
Filtros Haar II
hi ,k = wi ,k ,1 RectSumi ,k ,black +gray + wi ,k ,2 RectSumi ,gray Los pesos se deben compensar: wi ,k ,1 Areai ,k ,black +gray + wi ,k ,2 Areai ,k ,gray = 0
Samanez G., D. J.
Reconocimiento de Rostros
f (x ) =
t =1
t ht (x )
Adaboost - Algoritmo I
1 2 3 4
Representamos las im agenes y su clase con (xi , yi ). Dadas: (x1 , y1 ), . . . , (xm , ym ); xi X , yi {1, 1} Inicializamos los pesos W1 (i ) = 1/m Iteramos por t = 1, . . . , T :
1
errt = min
i =1
2
Calculamos t =
Samanez G., D. J.
Adaboost - Algoritmo II
3
H (x ) = sign(
t =1
t ht (x ))
Samanez G., D. J.
Reconocimiento de Rostros
1 2
Reconocimiento de Rostros
Eigenfaces Red Neuronal de Base Radial tico Algoritmo Gene
Propuesta
Proceso de Entrenamiento Proceso de Reconocimiento Diagramas Recursos
Resultados
Samanez G., D. J. Reconocimiento de Rostros
n Definicio En t erminos matem aticos, se desea encontrar los componentes principales de la distribuci on de rostros, o los autovectores de la matriz de covarianza de un conjunto de im agenes de rostros, considerando que una imagen es un punto o vector en un espacio dimensional muy alto. Los autovectores son ordenados, cada uno representando una diferente cantidad de variaci on entre los rostros.[5] El principio b asico de Eigenfaces esta en la extracci on de caracter sticas, su enfoque es capturar la variaci on en un conjunto de im agenes de rostros en lugar de basarse en otras caracter sticas del rostro como lo hacen otras t ecnicas.
Samanez G., D. J.
Reconocimiento de Rostros
Etapas I
La t ecnica para reconocimiento de rostros propuesta en [5] consiste en dos etapas:
1
C alculo del espacio de rostros utilizando An alisis de Componentes Principales en el conjunto de im agenes de entrenamiento, proyecci on de cada imagen en el espacio calculado y la creaci on de clases de clasicaci on.
Conseguir un conjunto de im agenes de rostros(conjunto de entrenamiento). Calcular los componentes principales del conjunto de entrenamiento, guardando solo M de ellos correspondientes a los autovectores m as altos. Estos M componentes principales denen el espacio de rostros. Al ir aumentando m as rostros, los componentes pueden ser actualizados o recalculados.
Samanez G., D. J. Reconocimiento de Rostros
Etapas II
Calcular la distribuci on correspondiente a cada individuo, proyectando la imagen de su rostro en el espacio de rostros.
2
Proyecci on de nuevas im agenes en el espacio de rostros para la comparaci on con cada clase en el sistema y su posterior clasicaci on.
Calcular un conjunto de pesos de la imagen de entrada al proyectarla en cada uno de los componentes principales. Determinar si la imagen es un rostro vericando su cercan a con el espacio de rostros. Si es un rostro, clasicar el patr on de pesos como conocido o desconocido. Actualizar los componentes principales y patrones de pesos.
Samanez G., D. J.
Reconocimiento de Rostros
Tenemos un conjunto de rostros I1 , I2 , . . . , IM . Cada Ii es una matriz N N . Representamos cada matriz Ii como vector i . Cada i es un vector N 2 1. Calculamos el promedio del conjunto de vectores i . = 1 M
M
i
i =1
Samanez G., D. J.
Reconocimiento de Rostros
Calculamos los autovectores ui de C = AAT . El c alculo de autovectores para la matriz AAT no es pr actico debido a su tama no N 2 N 2 , pero en [5] se demuestra que los autovectores vi de AT A (M M ) est an relacionados a los de AAT por: ui = Avi
Luego del c alculo de autovectores solo conservamos los autovectores correspondientes a los K autovalores m as altos.
Samanez G., D. J.
Reconocimiento de Rostros
Dada una imagen desconocida (N 2 1) Normalizamos : = Proyectamos la imagen normalizada en el espacio caracter stico.
K
=
i =1
wi ui (wi = uiT )
Iteramos sobre la base de datos de im agenes de entrenamiento proyectadas y calculamos las distancias(distancia euclidiana) er = min r Encontramos la clase r que produzca la menor distancia er y clasicamos la imagen en esa clase.
Samanez G., D. J.
Reconocimiento de Rostros
Limitaciones I
En [10] se listan las desventajas de usar Eigenfaces: Variante por traslaci on de imagen, si una imagen es volteada no ser a reconocida Variante por escalamiento de imagen, si se cambia el tama no de la imagen ser a dif cil su reconocimiento. Variante por fondo de la imagen, si se quiere reconocer una imagen con fondo diferente, ser a dif cil su reconocimiento. Variante por iluminaci on de la imagen, si la intensidad de la luz cambia, el rostro no ser a reconocido acertadamente. En [12] se reconoce el mejor, real y peor escenario para Eigenfaces:
Samanez G., D. J. Reconocimiento de Rostros
Limitaciones II
Mejor: Cuando las puntos(proyecciones de las im agenes) que pertenecen a una misma persona estan muy juntos. Clusters bien denidos. Real: Cuando existe leve sobreposici on de los clusters. Peor: Cuando la variaci on entre puntos de la misma persona son m as grandes que con una persona diferente.
Samanez G., D. J.
Reconocimiento de Rostros
1 2
Reconocimiento de Rostros
Eigenfaces Red Neuronal de Base Radial tico Algoritmo Gene
Propuesta
Proceso de Entrenamiento Proceso de Reconocimiento Diagramas Recursos
Resultados
Samanez G., D. J. Reconocimiento de Rostros
Funciones Radiales I
n Descripcio Su principal caracter stica es que su respuesta decae (o incrementa) proporcionalmente con la distancia a un punto central. Un ejemplo es la Funci on Gaussiana: h(x ) = e
(x c )2 r2
Samanez G., D. J.
Reconocimiento de Rostros
Funciones Radiales II
Samanez G., D. J.
Reconocimiento de Rostros
Arquitectura I
La gura muestra una Red Neuronal de Base Radial. Las curvas con forma de campana en los nodos intermedios indican que cada uno contiene una funci on de base radial que esta centrado en un vector en el espacio caracter stico. No existen pesos entre los nodos de entrada y los nodos intermedios. El vector de entrada es enviado a cada nodo de la capa escondida, donde se evalua de la siguiente manera: ym = fm (x ) = e
x cm 2 2 2
Arquitectura II
Samanez G., D. J.
Reconocimiento de Rostros
Arquitectura III
Los valores {ym } son las salidas de las funciones de base radial y son multiplicados por los pesos que son representados por las l neas entre la capa escondida y la capa de salida: zj = (1/M )
m=1,M
umj ym
Samanez G., D. J.
Reconocimiento de Rostros
Entrenamiento
n Descripcio El entrenamiento de la red neuronal tiene dos etapas, entrenamiento de la capa escondida, que consiste en calcular los centros, amplitudes y el n umero de centros, y entrenamiento de los pesos entre la capa escondida y la capa de salida. Para la primera etapa se utilizan como centros a todas las entradas del entrenamiento(rostros de entrenamiento preprocesados), y las amplitudes se calculan como el promedio de las distancias hacia los otros centros. En la segunda etapa se realiza un entrenamiento tipo perceptron que tiene como objetivo reconocer todas las entradas de entrenamiento.
Samanez G., D. J.
Reconocimiento de Rostros
1 2
Reconocimiento de Rostros
Eigenfaces Red Neuronal de Base Radial tico Algoritmo Gene
Propuesta
Proceso de Entrenamiento Proceso de Reconocimiento Diagramas Recursos
Resultados
Samanez G., D. J. Reconocimiento de Rostros
Elementos
Una poblaci on de cromosomas. La selecci on esta denida por la aptitud. El cruzamiento produce descendencia. La mutaci on aleatoria produce descendencia.
Samanez G., D. J.
Reconocimiento de Rostros
Algoritmo I
1
Comenzamos generando una poblaci on de n cromosomas(k bit ) (soluciones candidatas al problema). Calculamos la aptitud f (x ) para cada cromosoma x de la poblaci on. Repetimos los siguientes pasos hasta crear n descendientes.
1
Seleccionamos un par de cromosomas(padres) de la poblaci on actual, la probabilidad de selecci on aumenta en funci on a la aptitud. La selecci on puede escoger m as de una vez al mismo cromosoma para ser padre. Con la probabilidad pc (tasa de cruzamiento), se cruzan los dos cromosomas en un punto aleatoriamente escogido, para formar nuevos cromosomas(descendencia). Si el cruzamiento no se lleva a cabo, la descendencia es una copia exacta de los cromosomas padres.
Samanez G., D. J. Reconocimiento de Rostros
Algoritmo II
Con la probabilidad pm (tasa de mutaci on), se mutan los dos cromosomas(descendencia) y el resultado se ingresa a la nueva poblaci on.
4 5
Samanez G., D. J.
Reconocimiento de Rostros
n I Descripcio
El presente trabajo propone un modelo h brido(redes neuronales y algoritmos gen eticos) para el reconocimiento de rostros en video; este problema lo dividiremos en dos etapas, la etapa de detecci on de rostros y la de reconocimiento o identicaci on de rostros. En la etapa de detecci on de rostros se utilizara un Clasicador en Cascada con Filtros Haar, el siguiente paso en la aplicaci on es la extracci on de caracter sticas, para esto se utilizar a Eigenfaces(PCA), luego en la etapa de reconocimiento de rostros, se utilizara como clasicador al sistema h brido propuesto, donde la red neuronal ser a la encargada del proceso de clasicaci on propiamente dicho y el algoritmo gen etico se encargar a de la optimizaci on de la arquitectura[?] de la red neuronal.
Samanez G., D. J. Reconocimiento de Rostros
n II Descripcio
Para su implementaci on se utilizar a la librer a OpenCV. Esta librer a nos permite reproducci on y manipulaci on de im agenes y video, adem as, tiene entrenado un clasicador(detector) de rostros el cual ser a usado en la primera etapa(Filtros Haar).
Samanez G., D. J.
Reconocimiento de Rostros
n III Descripcio
Figura: Modelo H brido: Donde las conexiones entre la capa de entrada y oculta son optimizadas por el algoritmo gen etico
Samanez G., D. J.
Reconocimiento de Rostros
Samanez G., D. J.
Reconocimiento de Rostros
Diagrama de Componentes
Samanez G., D. J.
Reconocimiento de Rostros
Samanez G., D. J.
Reconocimiento de Rostros
Samanez G., D. J.
Reconocimiento de Rostros
Diagrama de Clases
Samanez G., D. J.
Reconocimiento de Rostros
Hardware
Computador Personal: PC Athlon K-7 AMD 750 MHz Memoria RAM: 371 MB Tarjeta de Video: S3 Trio 3D/2X 8 MB
Software
Sistema Operativo: Slackware 12.2 32-bit Librerias: OpenCV 1.1 Lenguaje de Programaci on: C++ Editores de Video: MEncoder 4.2.4, FFmpeg 0.5 Reproductor de Video: Mplayer Editor: Vim
Samanez G., D. J.
Reconocimiento de Rostros
1 2
Reconocimiento de Rostros
Eigenfaces Red Neuronal de Base Radial tico Algoritmo Gene
Propuesta
Proceso de Entrenamiento Proceso de Reconocimiento Diagramas Recursos
Resultados
Samanez G., D. J. Reconocimiento de Rostros
Video(6 individuos) I
Samanez G., D. J.
Reconocimiento de Rostros
Video(6 individuos) II
Samanez G., D. J.
Reconocimiento de Rostros
Video(4 individuos) I
Samanez G., D. J.
Reconocimiento de Rostros
Video(4 individuos) II
Samanez G., D. J.
Reconocimiento de Rostros
Referencias I
Radial Basis Function Neural Network Tutorial Pisarevsky, V. OpenCV Object Detection: Theory and Practice Bradski, G., Kaebler, A. Learning OpenCV: Computer Vision with the OpenCV Library Turk, Matthew A., Pentland, Alex P. Face Recognition Using Eigenfaces Turk, Matthew A., Pentland, Alex P. Eigenfaces for Recognition Viola, P., Jones, M. Robust Real-Time Face Detection Viola, P., Jones, M. Rapid Object Detection using a Boosted Cascade of Simple Features
Samanez G., D. J. Reconocimiento de Rostros
Referencias II
Guevara, M., Echeverry, J., Ardila, W. Detecci on de Rostros en Im agenes Digitales usando Clasicadores en Cascada Freund, Y., Schapire, R. A decision-theoretic generalization of on-line learning and an application to boosting Face Recognition using OpenCV http://opencv.willowgarage.com/wiki/ FaceRecognition[ ultimo acceso Mar 2009] Hewitt, R. Seeing with OpenCV, Part 2: Finding Faces in Images http://www.cognotics.com/opencv/servo 2007 series/ part 2/index.html[ ultimo acceso Mar 2009]
Samanez G., D. J. Reconocimiento de Rostros
Referencias III
Hewitt, R. Seeing with OpenCV, Part 4: Face Recognition with Eigenface http://www.cognotics.com/opencv/servo 2007 series/ part 4/index.html[ ultimo acceso Mar 2009]
Samanez G., D. J.
Reconocimiento de Rostros