Capítulo 3. Técnicas de detección y reconocimiento de rostros
3.1 Eigenfaces
Una de las técnicas más populares para tratar el problema de reconocimiento de rostros es la de Eigenfaces. Ésta surgió a partir de la idea de Sirovich y Kirby (1987) y Kirby y Sirovich (1990) de utilizar el PCA para la representación de rostros de manera económica. Ellos lo emplearon, en principio, para la compresión de información aprovechando que es un método de reducción de dimensiones. PCA es un método estadístico que transforma linealmente un conjunto de datos a otros, llamados componentes principales. Cada componente contiene la varianza de los datos originales; el primer componente contiene la máxima varianza, el segundo contiene la segunda máxima varianza y así sucesivamente. Posteriormente, Turk y Pentland (1991) propusieron su uso para el reconocimiento de rostros, dando origen a la técnica de Eigenfaces.
Supóngase que se tienen M imágenes de rostros de tamaño J × J, pertenecientes a distintos individuos, a los que nos referiremos como clases, disponibles para entrenar un sistema de reconocimiento. Sea , , … , N el conjunto de imágenes de rostros de entrenamiento en su versión vector (calculado de manera lexicográfica), donde ∈ ℝ y
= J × J. De aquí se esperaría que un rostro, tratándolo como un punto, esté bien representado en este espacio ℝ (altamente dimensional si se considera, por ejemplo, N = 256); es decir que todos los rostros del mismo individuo, o clase, estén aglomerados para que, con una técnica de clasificación, se puedan separar de aquellos de otras clases. Se
puede entonces definir la matriz ∈ × H que agrupa al conjunto de rostros de entrenamiento en sus columnas. Ahora, sea
= H L 1 ,
N Q
(41)
la media del conjunto de imágenes de entrenamiento y sea = − , el rostro i centrado, es decir, el vector que indica por cuánto difiere el rostro de la media. El objetivo es obtener un conjunto de vectores que mejor describan la distribución de los datos, en este caso, de los rostros en el espacio completo de imágenes. Estos vectores son los conocidos eigenvectores asociados a los eigenvalores de la matriz de covarianza de las imágenes de rostros de entrenamiento centrados, definida como
=M L 1
Q
= . (42)
La idea básica de esta técnica de reconocimiento de rostros es, en la etapa de entrenamiento, calcular los eigenvectores del conjunto de imágenes de entrenamiento, los cuales caracterizan la variación entre las imágenes de rostros y son llamados eigenfaces porque al visualizarlos tienen apariencia semejante a un rostro fantasmal. Dado que la matriz ∈ × , se trata de determinar = J eigenvectores y eigenvalores, lo cual se vuelve un problema intratable considerando los tamaños típicos de las imágenes (si
J = 256, entonces se tendría una matriz de 65536 × 65536). Sin embargo se pueden calcular los eigenvalores y eigenvectores de la matriz COV al encontrar primero los eigenvalores y eigenvectores de una matriz H × H. Sea = , considérese
= λ, (43)
donde son los eigenvectores de L. Multiplicando ambos lados de (43) por se obtiene:
= λ ,
() = λ (),
(44)
por lo que = son los eigenvectores de COV y, por lo tanto, son éstos los eigenfaces con los que, mediante una combinación lineal, se pueden representar todos los rostros de entrenamiento considerados.
Figura 5. Rostros y eigenfaces. (a) Conjunto de imágenes de rostros de entrenamiento. (b) Primeros 29 eigenfaces correspondientes a los eigenvectores calculados de la matriz de covarianza del conjunto de entrenamiento.
Se toman sólo los mejores K eigenvectores, que corresponden a los K eigenvalores más grandes, después de ordenarlos, los cuales proveen la información más útil para caracterizar la variación entre las imágenes. De esta manera se obtiene una matriz de proyección = -, , … , / con la que se puede obtener una representación de las imágenes de entrenamiento en un espacio de menor dimensión. Es decir, se hace una proyección de cada rostro del conjunto de entrenamiento al espacio de eigenfaces, obteniendo un conjunto de pesos que se almacenan para su uso en la etapa de reconocimiento. De hecho, cada rostro del conjunto de entrenamiento se puede aproximar usando sólo los mejores K eigenfaces. Los pesos de proyección se obtienen con:
= . (45)
En la etapa de reconocimiento, el sistema se alimenta de una imagen de rostro a reconocer que se proyecta al espacio de eigenfaces, obteniendo una serie de pesos, de la misma manera que las imágenes de entrenamiento, previamente centrada con la media del conjunto de entrenamiento, con la ecuación (45). Para realizar la clasificación, el sistema luego compara los pesos del rostro de entrada al sistema con cada uno de aquellos
calculados y almacenados previamente en la etapa de entrenamiento, determinando si se trata de un rostro conocido o desconocido por medio de algún clasificador.
En este proyecto se utiliza el clasificador de vecinos cercanos con la distancia euclidiana o norma L2 cuadrada, definida por:
¡(, ) = ‖ − ‖ = ∑ ( − ), (46)
para dos vectores y .
Figura 6. Proyección de un rostro al subespacio de eigenfaces. (a) Media del conjunto de entrenamiento. (b) Respresentación del rostro enmarcado mediante la combinación lineal de eigenfaces. (c) Imágenes de rostros de
prueba.
La Figura 6 muestra la media del conjunto de entrenamiento de la Figura 5(a), un conjunto de imágenes de prueba y la representación del rostro de prueba enmarcado, mediante la combinación lineal de los eigenfaces calculados de la Figura 5(b). La gran ventaja de esta técnica es que provee una solución práctica del problema de reconocimiento de rostros. Por otro lado, su desempeño es influenciado por el fondo presente en las imágenes.