Project 4: Eigenfaces by Robert Carroll

CSE 455

 

 

Principal Component Analysis

 

Eigenfaces:

                                                           

 

Average:

 

 

Face Recognition

 


In general recognition worked better with more eigenfaces, but beyond a certain point there seemed to be little improvement.

 

Here are some examples of the false matches.

 

  matched to  instead of

 

 matched to  instead of

 

Usually the false matches seemed to show similar features and/or be oriented similarly.

The real match was always close to the top of the list.

 

Face Detection

 

Face Detection worked well for most images, but got false positives on certain textures. To help prevent this I added a skin detection factor to the error computation. It works by looking at the relative distances between each of the RGB channel values, and comparing these differences to those from a pre-computed average skin tone. The average skin color was found by finding the average color in the non-smiling sequence. My motivation for looking that the differences was that this may be more invariant to intensity than comparing the color channels themselves. The skin detection seemed to help in some cases, but also seemed to dominate the error in some other cases causing false matches.

 

To determine the correct scale I just manually determined approximately what the size box the faces fit in and then found how many times larger that was the 25 pixels (the window size). I then just stepped in an interval of .10 to .15 on either side of this. Stepping in increments of .01 or .02 seemed to work well.

 

Results:

 

Detection on this image was only successful with the skin detection (and was the motivation for doing it).

 

 

 

 

 

Skin detection caused problems on the last two examples, so these were made without using it.

 

Morphing:

 

 

Here is a sequence of morphing between two face projected onto the face subspace. This is done by traversing the difference vector between the two face vectors (i.e. taking weighted averages of the two).