CSE P576 Project 4: EigenFaces

Liam McGrath

 

Recognition

 

Eigenfaces 1 – 10:

 

 

 

Average face:

 

 

With 10 Eigenvectors, my program recognized 19/32 faces correctly, ~60%.

 

 

Here is how varying the # of Eigenvectors affected the results:

# eigenfaces

# correct

1

7

4

16

8

18

12

18

16

20

20

20

24

20

28

20

32

20

 

 

 

(Note that the scale of the x-axis is not consistent)

 

16 might be the ideal # of Eigencvectors here, because I was not able to get any better results with more.  With 4 or 8 Eigenvectors, the results were not a whole lot worse.

 

I’m not sure why I got 19 correct with 10 eigenvectors and only 18 correct with 12 eigenvectors.  Does that make any sense?  Human error when recording results?

 

Here are the two mistakes that were made with 12 eigenvectors, but not 16 eigenvectors:

 

 

 

 

 

They are actually pretty reasonable mistakes!  I can definately see a resemblance.  The heads are tilted the same way.  It seems to be sensitive to that. The darker portions of the hair and eyebrows are similar.

 

Finding

 

My program found W’s face!:

 

 

Using the suggested scaling parameters.  I used the suggested technique for calculating error without getting fooled by low testure areas.

 

Not much luck finding cheney with the same scaling, even with 5 tries:

 

 

I widened the range of the scaling to .15 through .85 and it seems to be even more fooled by the low texture areas:

 

 

 

My app was really slow on larger pictures, so I cut down the group photo before I ran it.  Didn’t really work though:

 

 

 

The scale was .25 to .55.

 

I think I need to work on a different way of calculating error.