Programming Assignment 1

CSE 253, UCSD

Winter 2008

Due: Wednesday, January 31, Midnight
**********************************************************************


SUMMARY:

This programming assignment is to implement a face classifier using Bayes' rule and simple Gaussian density estimators.

I will give you some preprocessed images from Paul Ekman's Pictures Of  Facial Affect (POFA) Dataset. They are here.
Your job is to classify them by identity (one classifier) and emotion (another classifier). Also, I would like you to play around with the following parameters/ideas:
  1. you should first apply PCA to the faces to reduce their dimensionality. Here is a tutorial on applying PCA to the images. There may be different numbers of PC's that are better or worse for different problems. Each classifier you produce should result in a graph showing on the x axis, the number of principal components you used, and on the y axis, the percent correct results of 14-fold cross validation (for emotions) or 6-fold cross validation (on identities).
  2. There are some perl scripts that work on the images - note that they don't do much (because, it seems, the commands they use are gone!), however, one of them contains the emotion labels for each image. The images that begin with capital letters like "AD30" are morphs between the six basic emotions. These might be interesting to test your classifier on. See Dailey, Matthew N., Cottrell, Garrison W., Padgett, Curtis, and Ralph Adolphs (2002) EMPATH: A neural network that categorizes facial expressions. Journal of Cognitive Neuroscience 14(8):1158-1173 for why this might be interesting.
  3. You should also try random projections into a subspace. Can you find some directions that perform as well or better than PCA?
  4. You should try a Gaussian with a full covariance matrix (I believe you will find it poorly estimated...), or a diagonal covariance matrix (with equal variances for each class).
  5. Write up your results in NIPS format. Your paper should describe the problem, the algorithm, the results, and then have a discussion of the results, including if you think you have any bugs. What did you learn from this? Finally, for team projects, I would like a paragraph from each team member stating what they did on the project.