Fisherfaces
# Fisherfaces

El Fisherface es un método que se encarga del reconocimiento de caras, teniendo en cuenta como se refleja la luz y las expresiones faciales. Este algoritmo maximiza la relación entre la distribución de las clases y la distribución intra-clases. Fisherface clasifica y reduce la dimensión de las caras utilizando el método Discriminante Lineal de Fisher(FLD) y PCA (conocido como Eigenfaces). Este método crea una proyección lineal que maximiza las diferentes imágenes de caras proyectadas.

## Cálculo de los Fisherfaces

Para calcular los Fisherfaces se define la matriz de distribución entre clases ($S_{B}$) y la matriz de distribución intra_clases ($S_{W}$). $u_{i}$ es la imagen resultante de $X_{i}$ (conjunto de N imágenes) y $N_{i}$ es el número de imágenes de $X_{i}$.

$S_{B}=\sum _{i=1}^{c}N_{i}(u_{i}-u)(u_{i}-u)^{T}$

$S_{W}=\sum _{i=1}^{c}\sum _{x_{k}\in {\mbox{X}}}N_{i}(x_{k}-u_{i})(x_{k}-u)^{T}$

$W_{opt}$ es una matriz ortonormal que maximiza la relación de la matriz de distribución entre clases de imágenes proyectadas y las futuras proyecciones que habrá dentro de este mismo determinante.

$W_{opt}=\arg \max _{w}{|W^{T}S_{B}W| \over |W^{T}S_{W}W|}$

$=[W_{1}W_{2}\ddots W_{m}]$

La siguiente matriz, tiene c-1 valores propios diferentes de cero. Por lo tanto, el límite superior de m es c-1 (c es el número de clases).

$S_{B}w_{i}=S_{W}w_{i}Y_{i}$

En cuanto al reconocimiento de caras la matriz $S_{W}$ es N-c (donde N es el número de imágenes de entrenamiento). Por lo tanto, se puede escoger una matriz W en la que la distribución intra-clases de las imágenes proyectadas pueda ser cero. Utilizando el método PCA se reduce la dimensión del espacio de características a N-c. Seguidamente aplicamos la técnica FLD, que reduce la dimensión a c-1.

$W_{pca}^{T}=W_{fld}^{T}W_{pca}^{T}$

$W_{pca}^{T}=\arg \max _{w}|W^{T}S_{T}W|$

$W_{fld}=\arg \max _{w}{|W^{T}W_{pca}^{T}S_{B}W_{pca}W| \over |W^{T}W_{pca}^{T}S_{W}W_{pca}W|}$

## Ventajas de FLD sobre PCA

Delante de un problema de clasificación, el método FLD es mejor. Estos métodos han sido utilizados para proyectar las muestras en un espacio de una dimensión. El método PCA proyecta las muestras de tal manera que las clases no puedan ser separables linealmente. Por lo tanto, el método FLD consigue más dispersión entre clases.

## Experimentos

En este apartado se describen y se comparan los experimentos realizados con los dos métodos principales del reconocimiento de caras: Eigenfaces y Fisherfaces. La clasificación de las imágenes se ha realizado utilizando la técnica del vecino más cercano (KNN) y la distancia euclidea.

### Iluminación

Se capturan varias imágenes de una misma cara variando la iluminación en esta.

En el experimento de comparar algoritmos en función del número de características se evalúa la tasa de reconocimiento obtenida de las diferentes características. Este procedimiento se debe realizar n veces para asegurar su resultado.

El resultado muestra que Fisherfaces es mejor que Eigenfaces porque cogiendo pocas características de la imagen se obtienen resultados de más del 90%. Un resultado muy superior al máximo reconocimiento que hace Eigenfaces.

En el experimento de variar el parámetro k del KNN se evalúa la tasa de reconocimiento obtenida de las diferentes características cogiendo diferentes valores de k.

El resultado muestra que seleccionando pocas características los algoritmos no varían mucho. En cambio, el método Eigenfaces presenta una proyección inferior con valores más elevados de k al seleccionar más características.

### Posición de la cara

Se capturan diversas imágenes de una misma cara variando la posición de esta. La Iluminación de la cara es la misma.

En el experimento se evalúa la tasa de reconocimiento de diferentes características utilizando una validación cruzada de diez particiones.

El resultado muestra que el método de Fisherfaces es mejor. El resultado de Eigenfaces, en cambio, es una tasa de reconocimiento por encima del 90%. Por lo tanto, como más elevado sea el número de características seleccionado, los dos algoritmos obtienen resultados similares.

En el experimento de variar el parámetro k de la técnica de clasificación KNN se evalúa la tasa de reconocimiento obtenida de las diferentes características seleccionadas cogiendo diferentes valores de k y utilizando una validación cruzada de diez particiones.

El resultado de ir cambiando el valor de k muestra que como más elevado sea éste peor serán los resultados finales de los métodos Fisherfaces y Eigenfaces.

