| [+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
|