Gruppal ile Tatile Çıkın
Face Recognition
Research M.Sc Thesis
Guess Who ?
Face Recoginition Using Eigenfaces
M.Sc Thesis, 1996

My M.Sc Thesis was on face recognition. After studying the two fundamental appoaches to a general face recognition problem, I have decided to move on with the Eigenfaces Approach, which is based on Principal Component Analysis.

It is possible to try to classify faces by using the information extracted from individual components of a face such as eyes, lips, etc and the interrelations with them. Recognition rate depends on how well the extractor can locate those individual features. If for example someone is wearing dark glasses it can not extract features related to eyes.

On the contrary, Eigenfaces Approach is a principal component analysis method, in which a small set of characteristic pictures are used to describe the variation between face images.

Goal is to find out the eigenvectors (eigenfaces) of the covariance matrix of the distribution, spanned by a training set of face images. Later, every face image is represented by a linear combination of these eigenvectors. Evaluation of these eigenvectors are quite difficult for typical image sizes but, an approximation can be made.

Recognition is performed by projecting a new image into the subspace spanned by the eigenfaces and then classifying the face by comparing its position in face space with the positions of known individuals.

Eigenfaces Approach is superior to feature based recognizers in its simplicity, speed, invariance to noise and indivual facial features.

Workflow of the Recognition Process in Eigenfaces Approach

  • Form a face library that consists of the face images of known individuals.

  • Choose a training set that includes a number of images (M) for each person with some variation in expression and in the lighting.

  • Calculate the M x M matrix L, find its eigenvectors and eigenvalues, and choose the M' eigenvectors with the highest associated eigenvalues.

  • Combine the normalized training set of images to produce M' eigenfaces.

  • Store these eigenfaces for later use.

  • For each member in the face library, compute and store a feature vector.

  • Choose a threshold e that defines the maximum allowable distance from any face class. Optionally choose a threshold f that defines the maximum allowable distance from face space.

  • For each new face image to be identified, calculate its feature vector and compare it with the stored feature vectors of the face library members.

  • If the comparison satisfies the threshold for at least one member, then classify this face image as "known", otherwise a miss has occured and classify it as "unknown" and add this member to the face library with its featurevector.

  • Click to Enlarge...

    Inorder to practice the Eigenfaces Approach, I have developed FACEPRO - a face recognition engine - based on the IMPRO image processing platform that I have previously developed for my B.Sc thesis.

    FACEPRO operates on 128 x 128 HIPS formatted face images. Since eigenfaces are kept in floating point numbers (this makes 64 KB for per image) I have chosen that resolution for convenience and speed. If image size is not 128 x 128, FACEPRO normalizes the image to that resolution automatically.

    During my tests, I have seen that FACEPRO worked quite speedily on a moderate PC. Recognitions were almost done in real time.

    FACEPRO runs on MS-DOS and comes with an installer together with sample HIPS formatted face files obtained from the Media Lab of MIT.

    If you are interested in installing and evaluating it yourself, then drop me a line at so that I can e-mail you the executables.

  • Face Recognition Using EigenFaces - Complete (EN)
  • (798 KB, PDF)
  • Face Recognition Using EigenFaces - Abstract (TR)
  • (168 KB, PDF)
  • Introduction to Pattern and Face Recognition (EN)
  • (282 KB, PDF)
  • Face Recognition Vendor Test 2002
  • Back to Research

  • Home
    Content on
    this page is: