One of my EasyIV project’s featured function is face detect, but obviously it was only used to collect faces for further process, like face recognition, of some other application or system working along with EasyIV.
I’d say here, face recognition was also included in my plan for EasyIV.
However, after digged into it for sometime, I found it’s really a big problem to me. I tried several ways to implement the face recognition process, but all the results are sad, none of the can work precisely.
P.S. Lucky me, I didn’t bring this topic to my paper, otherwise I’ll be doomed in the coming Mid-term examination.
Here I share with you a simple test program I used to practice face recognition by using Eigenface.
- FaceDB: http://rg4.net/p/easyiv/FaceDB.7z (from BioID-FaceDatabase-V1.2)
- Test program: http://rg4.net/p/easyiv/RsFaceRecognizer.7z
- PGM viewer: http://rg4.net/p/easyiv/RsPGMViewer.7z
What is Eigenface?
Eigenfaces is the name given to a set of eigenvectors when they are used in the computer vision problem of human face recognition. The approach of using eigenfaces for recognition was developed by Sirovich and Kirby (1987) and used by Matthew Turk and Alex Pentland in face classification. The eigenvectors are derived from the covariance matrix of the probability distribution over the high-dimensional vector space of face images. The eigenfaces themselves form a basis set of all images used to construct the covariance matrix. This produces dimension reduction by allowing the smaller set of basis images to represent the original training images. Classification can be achieved by comparing how faces are represented by the basis set.