Face

FACE RECOGNITION USING EIGEN VECTORS

In this project we will make the program to identify the face or any image using MATLAB. In this there will be photographs in our database. Software will check the photo graph we want to check is in database or not. If not then it will display image is not in database. If yes then it will display , image is available in database. Previous mathematicians have theorized that certain cognitive processes, such as face recognition, can be emulated through the use of principal component analysis. we have attempted to use techniques of principal component analysis, more specifically, eigen-vector analysis, to develop a computer program capable of face recognition. Specifically, the goal of our project was to investigate a mathematical basis and model for face recognition using principal component analysis with eigenvectors, and then implement a working model in the form of a computer program.

The fundamental idea behind principal component analysis with eigenvectors has its basis in linear algebra. Put simply, if there are a series of multi-dimensional vectors representing objects which have similarities, it is possible to use a transformation matrix and eigenvectors to orient a space which requires fewer dimensions to accurately describe these multidimensional vectors. For instance, if in three dimensional space, there was a cloud of particles that lied in a two dimensional plane skewed from the axes (Fig 1), it would be possible to orient a new space with a new origin and new unit vectors such that the cloud which previously required a three dimensional representation could now easily be represented in only two dimensions.

 

Flow diagram

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Requirements:

winXP,Vista

MATLAB software 6.5

Construction

This section gives step-by-step instructions along with photos and formulas on how to recognize faces and implemented into Matlab. All the necessary files to complete this tutorial would be provided.

Steps

  1. The first step is to obtain a set S with M face images. In our example M = 25 as shown at the beginning of the tutorial. Each image is transformed into a vector of size N and placed into the set.
  1. After you have obtained your set, you will obtain the mean image Ψ
  1. Then you will find the difference Φ between the input image and the mean image
  1. Next we seek a set of M orthonormal vectors, un, which best describes the distribution of the data. The kth vector, uk, is chosen such that

is a maximum, subject to

Note: uk and λk are the eigenvectors and eigenvalues of the covariance matrix C

  1. We obtain the covariance matrix C in the following manner
  1. AT
  2. Once we have found the eigenvectors, vl, ul

These are the eigenfaces of our set of original images

 

Recognition Procedure

  1. A new face is transformed into its eigenface components. First we compare our input image with our mean image and multiply their difference with each eigenvector of the L matrix. Each value would represent a weight and would be saved on a vector Ω.

  

  1. We now determine which face class provides the best description for the input image. This is done by minimizing the Euclidean distance
  2. The input face is considered to belong to a class if εk is bellow an established threshold θε. Then the face image is considered to be a known face. If the difference is above the given threshold, but bellow a second threshold, the image can be determined as a unknown face. If the input image is above these two thresholds, the image is determined NOT to be a face.
  3. If the image is found to be an unknown face, you could decide whether or not you want to add the image to your training set for future recognitions. You would have to repeat steps 1 trough 7 to incorporate this new face image.