COS 429 - Computer Vision |
Spring 2004 |
Course home | Outline and lecture notes | Assignments |
Implement a system for recognizing faces using PCA. You might find it interesting to read the Turk and Pentland paper on eigenfaces. This assignment is a bit more open-ended than the previous ones, but at a minimum your system should do the following:
You will have to account for the differences in position of the face in each image (a simple way might be to define a standard window size, and center it around a point the user clicks on - save the results so you don't have to do this more than once). Randomly separate the data into training and test data, and see how well you can recognize people.
There are two databases for you to test on. The first is a collection of faces from researchers at Yale (15 people, 11 poses each - available as zip or tar.gz). There is also a cleaned up version of this database with some shadows erased (avaliable as zip or tar.gz - thanks to Benedict Brown).
The second is a group of pictures of the people in this class (available as zip). If you find additional databases you wish to experiment with, you can of course do that as well.
Answer the following questions, for the Yale database:
proj_subspace (image)and
image - proj_subspace (image)
Always remember to subtract the average face and, when reconstructing images based on the first k principal components, add the average back in at the end.
You are not expected to implement SVD from scratch - use the Matlab svd function, or any SVD or eigenvalue code you find.
This assignment is due Thursday, April 1. Please see the general notes on submitting your assignments, as well as the late policy and the collaboration policy.
Please submit: