Tuesday, April 23, 2013

Week 6 and 7 - My Individual Milestone Research

What I hope to research into and learn more about:

  • The difference between facial recognition and facial detection
  • The different types of approaches to facial recognition
  • Which one I have chosen and why
The difference between facial recognition and facial detection

Face detection: 
Face detection is a computer vision technology that determines the locations and sizes of human faces in arbitrary (digital) images. It detects facial features and ignores anything else such as buildings, trees and bodies. Face detection can be regarded as a specific case of object-class detection. In object-class detection, the task is to find the locations and sizes of all objects in a digital image that belongs to a given class.

Face Recognition:
Face recognition is a biometric identification by scanning a person's face and matching it against a library of known faces. 

The different approaches to recognise a face:

PCA Principal Components Analysis
PCA, commonly referred to as the use of eigenfaces, is the technique pioneered by Kirby and Sirivich in 1988.  With PCA, the probe and gallery images must be the same size and must first be normalized to line up the eyes and mouth of the subjects within the images. The PCA approach is then used to reduce the dimension of the data by means of data compression basics and reveals the most effective low dimensional structure of facial patterns.  This reduction in dimensions removes information that is not useful and precisely decomposes the face structure into orthogonal (uncorrelated) components known as eigenfaces. Each face image may be represented as a weighted sum (feature vector) of the eigenfaces, which are stored in a 1D array. A probe image is compared against a gallery image by measuring the distance between their respective feature vectors. The PCA approach typically requires the full frontal face to be presented each time; otherwise the image results in poor performance. The primary advantage of this technique is that it can reduce the data needed to identify the individual to 1/1000th of the data presented.


Figure 1: Standard Eigenfaces: Feature vectors are derived using eigenfaces.

MIT Media Laboratory Vision and Modeling Group, “Photobook/Eigenfaces Demo”  25 April 2013  <http://vismod.media.mit.edu/vismod/demos/facerec/basic.html>.

LDA: Linear Discriminant Analysis 
LDA is a statistical approach for classifying samples of unknown classes based on training samples with known classes. (Figure 2) This technique aims to maximize between-class (i.e., across users) variance and minimize within-class (i.e., within user) variance. In Figure 2 where each block represents a class, there are large variances between classes, but little variance within classes. 


Figure 2: Example of Six Classes Using LDA
Juwei Lu, “Boosting Linear Discriminant Analysis for Facial Recognition,” 2002. 

EBGM:  Elastic Bunch Graph Matching
EBGM relies on the concept that real face images have many non- linear characteristics that are not addressed by the linear analysis methods discussed earlier, such as variations in illumination (outdoor lighting vs. indoor fluorescents), pose (standing straight vs. leaning over) and expression (smile vs. frown). 


Figure 3: Elastic Bunch Map Graphing.
Laurenz Wiskott, “Face Recognition by Elastic Bunch Graph Matching, ” <http://www.neuroinformatik.ruhr-uni- bochum.de/ini/VDM/research/computerVision/graphMatching/ide ntification/faceRecognition/contents.html>

References:
  1. L. Sirovich and M. Kirby, "A Low-Dimensional Procedure for the Characterization of Human Faces," J. Optical Soc. Am. A, 1987, Vol. 4, No.3, 519-524.  
  2. M. A. Turk and A. P. Pentland, "Face Recognition Using Eigenfaces," Proc. IEEE, 1991, 586-591.  
  3. D. Bolme, R. Beveridge, M. Teixeira, and B. Draper, “The CSU Face Identification Evaluation System: Its Purpose, Features and Structure,” International Conference on Vision Systems, Graz, Austria, April 1-3, 2003. (Springer-Verlag) 304-311. 
  4. “Eigenface Recognition” <http://et.wcu.edu/aidc/BioWebPages/eigenfaces.htm>.
Which one I have chosen and why:

I have chosen to use PCA - Principal Component Analysis using Eigenfaces. The reason i chose this method is because it's a good place for a beginner like me to begin. This method allows me to load the classes and call their functions so I won't need to code the algorithm.

After I chose to go with PCA using Eigenfaces I watched the youtube videos below to gain a deeper understanding behind PCA.

What is PCA:

How PCA Recognises Faces - Algorithm in Simple Steps 1 of 3
http://www.youtube.com/watch?feature=player_embedded&v=n3sDhHH5tFg

How PCA Recognises Faces - Algorithm in Simple Steps 2 of 3

How PCA Recognises Faces - Algorithm in Simple Steps 3 of 3

No comments:

Post a Comment