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:
- 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).
- 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.
- You should also try random projections into a subspace. Can you
find some directions that perform as well or better than PCA?
- 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).
- 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.