All data for this project are available from the links in the Downloads section below.
You are a training corpus of facial images. You must learn the first K Eigen faces from the corpus. Set K = 10 initially. Mean and variance normalize the images before computing Eigenfaces.
You are given a second training set of facial images. Express each image as a linear combination of the Eigen faces. i.e., express each face F as
F = wF,1E1 + wF,2E2 + wF,3E3 + ... + wF,KEK
where Ei is the ith Eigen face and wF,i is the weight of the ith Eigen face, when composing face F. wF,i can, of course, be computed as the dot product of w and Ei
Represent each face by the set of weights for the Eigen faces, i.e. F → {wF,1, wF,2, wF,3, ..., wF,K}
You are also given a collection of non-face images in the dataset. Represent each of these images too as linear combinations of the Eigen faces, i.e. express each non-face image NF as
NF = wNF,1E1 + wNF,2E2 + wNF,3E3 + ... + wNF,KEK
As before, the weights wNF,i can be computed as dot products. Represent each of the non-face images by the set of weights i.e. NF → {wNF,1, wNF,2, ... , wNF,K}.
The set of weights for the Eigen faces are the features representing all the face and non-face images.
From the set of face and non-face images represented by the Eigenface weights, learn and Adaboost classifier to classify faces vs. non-faces.
You are given a fourth set which is a collection of face and non-face images. Use the adaboost classifier to classify these images.
The classifier you have learned will be for the same size of images that were used in the training data (64 x 64). Scale the classifier by scaling the Eigenfaces to other sizes (32 x 32, 48 x 48, 96 x 96, 128x 128).
Scan the group photographs used for part 1 of this problem to detect faces using each of the five resulting classifiers.
You can adjust the tradeoff between missing faces and false alarms by comparing the margin (H(x)) of the Adaboost classifier to a threshold other than 0.
Download the face and non-face training and test data sets from here.
Download the group photos in which you must detect faces are here, here, here and here.
Problem 2 is due on Oct 29, 2009. What to submit:
1. a brief write-up of what you did
2. Classification output on the second set of images
3. The segments that your detector found to be faces. You may either copy those segments into individual files into a folder, or mark them on the group photograph. Make sure we can understand which part(s) of the image was detected as a face.
3. You do not need to submit code. However, we might ask you for the code at a later point, so try to document the code well.
How to submit:
Put the above in a zipfile and name it "MLSP-HW2-Prob3-FirstnameLastname.zip".
Send the zip file by email to Sourish (sourishc@cs.cmu.edu) with "MLSP HW 2 Problem 2 Submission" as the subject line.
You may include any other information if necessary in a "Readme.txt" in the zip file that you submit. Do not put important information in the body of the email.