Matthew Kerner's Face Recognition Project

In this project, I build a program to automatically recognize faces that it had been trained on. Click on one of these links for writeups of each section of the project:

Recognizing Faces

Finding Faces in an Image

Extra Credit

1) Speedup

I implemented the eigenvector discovery speedup described here. I verified that this works properly by comparing results with both the slow version and the fast version.

2) Morphing

I implemented the logic to morph 2 images into a composite image based on the weighted combination of their face-space coefficients. This logic was used to generate this image sequence (with audio):

3) Using color cues in face identification

I added code to the project to generate color histograms for the face images we were given. These histograms were generated in the form of .csv files, which I then examined in Excel. Here were the results:

After examining these histograms, I concluded that there are certain pixel ranges that show up in most if not all faces. I added logic to require at least one pixel whose channel intensities matched those passed on the command line in every candidate region. Those without any such pixel were excluded from consideration. This worked well for eliminating bogus areas of the group images that I used for finding faces automatically. You can see the results of the color cue logic in the detailed writeups linked to above.