Brian Jensen

Computer Vision (CSE 455), Winter 2012

Project 4: Eigenfaces

Experiment: Recognition

Methodology

My program creates an x amount of eigenfaces using cropped images of faces. It then matches a face to a specific user

In my experiment I varied the number of eigenfaces used to recognize all the images from 1 to 33 stepping by 2. I made the face file with non smiling images and I used that to try to recognize smiling faces. The graph below shows how well that worked.

Questions

When only using a few eigenfaces my program is not very good at matching faces When the number of eigenfaces gets to around 7, the number of matches seem to stabilize at around 21 and 22 and don't really change when more eigenfaces are used. The plot is shown below

Here is one false match using 33 eigenfaces It's not too surprising the computer messed this up. The two students have similar skin tone and both have glasses. The student who actually matched was second on the list of possible matches.

Here are the 10 eigenfaces and the average face from the following parameters
main --eigenfaces 10 25 25 list.txt eig10.face

Average Face

Eigen Faces

We get 10 faces that all appear to be faces, so it works!

Experiment: Find Faces

Methodology

We cropped the baby's face out of this bigger picture using these parameters
main --findface elf.tga eig10.face 0.45 0.55 0.01 crop 4 baby.tga

Here is a picture of my brother and I. My program correctly identified our faces. and cropped my face Here are my command line parameters:
main --findface christmas.tga eig10.face 0.45 0.55 0.01 mark 2 christmas_faces.tga

My first image I used the group neutral 2 photo, here are the commandline arguments:
main --findface "group/group_neutral (2).tga" eig10.face 0.45 0.75 0.05 mark 3 group2result.tga

My second image didn't work as well, it captured two out of five faces, I tried a bunch of different parameters but couldn't figure out how to correctly match the faces. Here are my commandline arguments:
main --findface superbowl.tga eig10.face 0.25 0.50 0.02 mark 5 superbowlresult.tga

Questions

My answer to question 1 is in each of the command line arguments above

I'm guessing the errors were because of the lighting and the angles of the faces. Also the faces were not all at the same distance from the camera, so the scaling was probably and issue as well.

Experiment: Verify Faces

Methodology

The next experiment concentrated on verifying a smiling face using a database of nonsmiling faces. My program performed pretty well.


Questions

I tried 1000, 10000, and 100000. 1000 and 10000 never matched anything, so i went higher. At 100000 it performed very very well.

Out of 33 people it did not match 3 users to themselves and incorrectly matched 5 users to other users. I used a threshold of 100000.