William Pitts
Computer Vision (CSE 455), Winter 2012
Project 4: Eigenfaces
Objectives
In this project, we treated faces as vectors and did a PCA to make eigenfaces, which we then used for face matching, reconstruction, and location.
Challenges
The biggest challenge in this project was getting face detection to work, which is still only kind of does. The face matching and reconstruction were quite easy, but face finding... man.
Lessons Learned
It might be a wise idea to go to office hours when stuck. I started the assignment early, put over twenty hours into it, and still didn't finish.
The project is structured as follows:
Average Face
Eigenfaces
Findings
Questions
It seems that more eigenfaces tends to correspond with more matches, at a rate that seems logarithmic. Going from 1 to 3 was an incredible jump, but the rate slows down incredibly quickly.
Here are some failed matches at ten eigenfaces:
and
and
They seem reasonably similar to each other, so I think that this isn't really that bad of a matching failure.
Questions
For the picture of myself, I used a min of 0.1, a max of 0.3, and a step of 0.01. For the group picture that was provided, I used a min of 0.8, a max of 1.2, and a step of 0.01. For the group picture I was in, I used a min of 0.2, a max of 0.5, and a step of 0.01.
I got LOTS of both false positives and false negatives. The program kind of found my face, but not really that well. With the photo of my frieds and I, it found no faces. It did manage to find a face in the group shot, but it also found a guy's crotch... I've checked, and my program tends to really like areas that either have a high variance (because I divide by variance, as is suggested in the assignment) or areas that tend to just be a texture that can kind of look like a face if you squint just right, giving it a close MSE to the mean face. I've done projections, and some actual faces are definitely further than some blankish areas are.
Elf
...oops. My algorithm seems to really prefer blank areas, despite multiplying by the distance to the mean.
Me
...better. Seems to also really like complex areas, perhaps due to dividing by variance?
Group 1
It found a face! And a crotch!
Group 2
Sigh. Looks like it found everything but a face.
Findings
Questions
I tried every MSE between 2500 and 500,000, with a step of 2500. As for which worked best, that depends on your definition of best. The true positives overtake the false negatives at an MSE of 45,000, while the false positives overtake the true negatives at about 32,000. The attached graph shows it more clearly.
Once again, the question of "best MSE" is an unanswerable one until we know exactly what we're looking for. But the attached graph does have a wide selection of values at different MSEs.