Shree K. Nayar, Hiroshi Murase, and Sameer A. Nene
I. Introduction
There are many methods trying to recognize faces. Template matching is one of the simplest method but it is not stable and sensitive to noise. Neural Net and Eigenface methods are the better way to try to recognize faces after some faces in the database have been trained. In this work, I implemented Eigenface method.
Eigenfaces uses an information theory approach of coding and decoding face images. It gives insight into the information content of face images, emphasizing the significant local and global features. Those features might not be related to our notion of face features such as eyes, nose, and mouth.
II. Eigenfaces for recognition
This method tries to find the principal component of the distribution of faces, or the eigenvectors of the covariance matrix of the set of face images. These eigenvectors can be considered as a set of features which together characterize the variation between face images. By referring to a well-known theory in pattern recognition, we know that each of the images in the training set can be represented exactly in terms of a linear combination of the eigenfaces. If we use only some eigenvectors that have the largest eigenvalues, we can approximate and represent the most significant variation within the image set. Therefore the best M' eigenfaces span an M'- dimensional subspace - "face space" - of all possible images.
To compute eigenspaces, (assume N is the number of pixels in each image and M is the total
number of images in the training set)
1) compute the average face C from M images
2) create a matrix P =
3) define the covariance matrix
4) Q is N x N matrix, and it is computationally expensive to compute eigenvectors. So we find
the eigenvectors of the smaller matrix . Note that is an M x M matrix and
Note that
is an M x M matrix and therefore much smaller than Q when the number of images iin P is smaller that the number of pixels in each image. Using singular value decomposition (SVD), it can be shown that the M largest eigenvalues and the corresponding eigenvectors of Q can be determined from the M eigenvalues and eigenvectors of
as:
II. Recognition Step
Once we obtain the M eigenvectors, we select only K < M eigenvectors which have the largest
eigenvalues. To recognize the new image, we subtract the average image C from it and find the
inner prodect of the result with each of the K eigenvectors. The result is a point in eigenspace:
. To simplify the matching step, I use the simple
matching scheme by project all faces in the traing database to the eigenspace and then compute
the distance between the point of the new face (query face) and each point in the faces training,
and find the minimum distance among them.
II. Experiment and Result
I trained using the face database that have 15 front-viewed, non-smiling faces. And I have tested on 15 faces front-viewed, smiling faces of the same group of people. And they can be recognized. Also, one interesting point for using eigenfaces method is that some images which are not complete can still be reconstructed and recognized in eigenspaces. Some examples will be shown in the demo day.
II. Some Result Images
Written by
Rawesak Tanawongsuwan
(Tee+)
Computer Science
tee@cc.gatech.edu
1280 West PeachTree St. Apt 3201
Atlanta, GA 30309
(404) 853-1682