Neural Networks for Face and Expression Recognition

Assignment is due in class on April 30, 2008. This assigment should be done in teams of 2 people. Turn in a written report clearly summarizing what you tried to do, the decisions you made, and the results obtained. Include appropriate tables and graphs.

A neural network learning algorithm called Backpropagation is among the most effective approaches to machine learning when the data includes complex sensory input such as images. It is a generalization of the single neuron learning algorithm we discussed in class to multi-layer neural networks.

This web page provides an implementation of the Backpropagation algorithm. It also includes a dataset containing over 600 face images.

Documentation

This documentation is in the form of a homework assignment (available in pdf and latex) that provides a step-by-step introduction to the code and data, and simple instructions on how to run it.

Code

The code directory contains the source code for the neural network Backpropagation algorithm described in Chapter 4 of the book Machine Learning by Tom Mitchell. It is written in C. It is known to compile and work under Linux, and probably will compile and work under Windows and Mac OS X, possibly needing minor modifications for the declarations. If you find bugs or other problems with code, please email me and the other students in the class.

Data

The face images directory contains the face image data described in Chapter 4 of Machine Learning. It is stored in PGM format. You can download a compressed tar file of all the images. See the documentation above for a full description of the images. The trainset directory contains the specifications of training and test sets referred to in the documentation above.


This assignment is adapted from one created by Prof. Tom Mitchell (CMU). Jeff Shufelt wrote the initial implementation of the software. The original URL is http://www.cs.cmu.edu/afs/cs.cmu.edu/usr/mitchell/ftp/faces.html.