Neural Networks for Face Recognition

Companion to Chapter 4 of the textbook Machine Learning.
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. This web page provides an implementation of the Backpropagation algorithm described in Chapter 4 of the textbook Machine Learning. It also includes the dataset discussed in Section 4.7 of the book, containing over 600 face images.

Documentation

This documentation is in the form of a homework assignment (available in postscript or 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. (thanks to Jeff Shufelt for the initial implementation.)

Data

The face images directory contains the face image data described in Chapter 4 of the textbook. It is stored in PGM format. You can download a compressed tar file of all the images (only ~10.5MB!), or a compressed tar file of only the one-quarter size images (~0.5MB - most students used only these images in order to save computation time). 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.

Visitors from outside CMU are invited to use this material free of charge for any educational purpose, provided attribution is given in any lectures or publications that make use of this material.

( another nice source of face images and code)