site search  
 
 

ILLUMINATION-TOLERANCE

 
 
 








[+QUICK INFO+]
TEAM MEMBERS :   Kenny Teng
Jeremy Ng
Chee Kiat Ng
Paul Li
ASSIGNMENT :   Determine which face recognition algorithm is the most illumination-tolerant. The algorithms to be investigated are Global Principal Component Analysis, Individual Principal Component Analysis, Fisherface, 3D Linear Subspace, Support Vector Machine, MACE, UMACE, OTSDF and MACH Correlation Filters.
SPECIFICATIONS :   The system will be written using Matlab.
PAPER :   For more details, download the paper [pdf]
   
If you thought my project was helpful to you,


[+OVERVIEW+]


For the purpose of investigation, the CMU PIE face database has been used. The database has no background illumination which render it more difficult for the face recognition algorithms to yield accurate recognition rates. Below is an example of one class of the PIE database. The latter consists of 65 classes (persons) with 21 faces each.

The training set for each algorithm will consist of 3 faces. Those training images have been selected due to the fact that there is almost uniform illumination on all of them. The reason is to try to make the training set unbiased for all the different algorithms. Those images are image number 7, 10 and 19, as shown below.

Global Principal Component Analysis

Principal Component Analysis (PCA), also known as Karhunen Loeve Transform or Hotelling Transform, is a very popular recognition tool. It is often used when comparing new pattern recognition algorithm.

In PCA, we perform dimension reduction by calculating the projections onto a set of eigenvectors, v of the covariance matrix S = E(x - µ)(x - µ) T where x are the training images and µ is the mean of these images.

Perform dimensionality reduction.

3 training images from every class.

Use 8 eigenfaces to perform reconstruction.

Use Euclidean distance to find the nearest neighbor.

Label the test image with the closest neighbor’s class.

Individual Principal Component Analysis

Individual PCA is a variant of PCA where the difference is we build a subspace for each class using the images from that class. To perform classification on incoming test images, we measure the reconstruction error between the test image and the reconstructed image from each subspace. Then we label the test image with the subspaces that yielded the smallest reconstruction error.
Fisherface

Fisher Linear Discriminant Analysis (FLDA) is a popular tool for multi-class pattern recognition as it takes advantage of the class scatter to make classification more reliable. The way FLDA works is that it is a cascading of transformations of Principal Component Analysis (PCA) and Linear Discriminant Analysis (LDA). PCA is used for dimensionality reduction while LDA maximizes the ratio of discriminant of the projected between-class scatter matrix, SB, to the determinant of the within-class scatter matrix, SW.

To apply FLDA on the PIE database, we perform PCA to reduce the dimension to N-c, where N is the total number of training images and c is the number of classes; thus in this case 130. We then perform LDA in the reduced space and compute the c-1 projections. Euclidean distance is then used as a nearest neighbor classifier. Below is the ROC curve for FLDA performed on the entire PIE database.
3D Linear Subspace

Linear subspace method is a very popular method that has been widely used to provide tolerance to illumination variations. This algorithm is based on the assumption that faces can be modeled as Lambertian surfaces that adhere to the Lamberts cosine law.
Basically, this model allow us to estimate a three dimensional illumination subspace for a class by using three or more training faces that are linearly independent with different illumination variations but under a fixed pose. This can be solved by finding the three eigenvectors corresponding to the three largest eigenvalues of the outer product matrix HHT where H is a d x n matrix whose columns represent the n training images in vectorized form.

During the training stage, a set of three dimensional linear subspaces is constructed for each class. In the testing stage, given a test image, t the reconstruction error is calculated with respect to each class. Test image, t is then labeled with the class that gives the smallest reconstruction error.
Support Vector Machines (SVM)

SVMs are a set of related supervised learning methods used for both classification and regression. The goal of SVM is to produce a model which predicts target value of data instances in the testing set. Often time, these data instances need to be transformed to higher dimension space to enable better classification.
Due to the complexity of writing our own SVM classifier, we use a C++ SVM toolbox called SVMTorch which is developed by IDIAP Research Institute. SVMTorch is a great tool that allows us to choose the different types of kernels and to tweak the parameters in them.

Prior to applying the SVM onto the training images, we perform dimension reduction using PCA. We tested these reduced dimension data using various kernels and parameters and ended up with an optimal solution.
Minimum Average Correlation Energy (MACE)

The main idea of MACE filter was to synthesize a filter using a set of training images that would produce correlation output that reduces the correlation values at locations other than the origin and this value at the origin is constrained to a specific peak value. Therefore, when the filter is correlated with a testing image that is an authentic, the filter will exhibit sharp correlation peaks. A close form solution for the MACE filter is as follows:
where X is a complex matrix, with the ith column containing the 2-D Fourier transform of the ith training image lexicographically re-ordered into a column vector, u is a pre-specified value and D is the average power spectrum of the training images.
Unconstrained MACE (UMACE)

UMACE filter is a variant of the original MACE filter where the difference is that we only maximize the average correlation values at the origin instead of constraining them. The close form solution for UMACE is:
 
where D was as defined earlier and m is the Fourier transform of the average training image.
Optimal Tradeoff Synthetic Discriminant Function Filter (OTSDF)

In order to be noise tolerant and discriminative at the same time, we have the following optimal trade-off filter:

where

C is a diagonal matrix whose diagonal elements, C(k,k) represent the noise power spectral density at frequency k and a is the tradeoff between noise tolerance and discrimination.
The combined ROC curve for all the face recognition algorithms have been plotted as rate of authentic v/s rate of imposter. Below if the plot.

Preprocessing

We decided to apply a simple preprocessing on the whole PIE database to see whether the different algorithms would yield better results. The preprocessing was performed as follows:

- Compute the Natural Log of the input images as preprocessing.
- The range of value of each image would be between 0 and 5.54 for the range (0, 255)

A log plot is shown below with the conversion of the range (0, 255) into the logarithmic space.

Here is an example of a face that has undergone logarithmic preprocessing.
The intensity of the preprocessed image is almost ‘evenly distributed’ across the image. On the right is an instance of a class that has been entirely preprocessed using a logarithmic transformation.
The recognition rates of all the face recognition algorithms have been tabulated as follows:
Method Original (%) Preprocessed (%)
GPCA 21.3 23.4
IPCA 51.8 56.6
Fisherface 72.2 90.1
3D Linear Subspace 50.9 58.1
MACE/UMACE 94.9 96.1
OTSDF 51.2 74.1
MACH 47.6 64.5
Conclusion

MACE is the dominant illumination-tolerant method used in face verification, with a recognition rate of 94.9% (normal) and 96.1% (preprocessed). Download the paper for this project below.


Paper


:: Site Map :: Contact :: Projects
©2007 Kenny Teng. All rights reserved