Eigenfaces

Overview

This is an implementation of the well known eigenface recognition scheme.
The input images, code, and output data is available here.

Results - mean face and components



Mean face


First 20 eigenfaces. These are the top 20 principal components found.

Results - plot of match rate

Plot of match success rate. The match rate levels off about ~89%, although it goes as high as 90% with some k.
This graph shows the match rate for k=1..100.



This graph shows the matches as k varies over 1..1024.

Results - Error images at k = 100

Incorrect faces with k = 100. Using 100 components results in a successiful matching of 90% of the images.
The 12 images that could not be matched are shown below.

Extra - images

Here are other images not from the face database. There are several new face images, a few semi-face images, and images that are clearly not faces.



The test images were converted to greyscale and scaled to 32x32.


These images were then projected into the face space with various k. The results can be seen below.




Extra - error analysis

This new set of images is not robustly handled with the current training set. The actual faces have interesting results. Bill Gates and Linus Torvalds generally have low error. Steve Jobs and Stallman consistantly have high error, likely due to the areas of high contrast in those images.
Some of the semi-face images have lower error than the real faces. The dollar portrait and the orange face often have very small distance. The lime cat and the first Mars face fall into the middle range of error. The second Mars image has very high error, perhaps caused by the high contrast.
The non-face images have both small and large error. The noise and the corn have very low distance. This may be caused by the relativly solid surfrace, with the patterns in corn finding similar matches in the face set. The flower, hamburger, and MG interior have large distance (as they should), while the leaf is neither high, nor low.

Due to the wide range of distances found for the real face images, it is difficult to select a threshold that selects mostly real faces. At k = 100, a threshold of 20 would seem to reject many of the none face images, while still including several of the face-like images. The distances for the database test images are shown below.


The distances for the new images are shown below.