
Information (June 15, 2012)
===========

This is an implementation of the joint face detection, pose estimation and landmark localization algorithm described in [1]. It includes pre-trained face models. Much of the detection code is built on top of part-based model implementation of [2]. The training code implements a quadratic program (QP) solver described in [3].

In the training code, we use the positive samples from MultiPIE dataset (available at www.multipie.org) and the negative images from the INRIAPerson dataset [4] (included in the package). 

Acknowledgements: We graciously thank the authors of the previous code releases and image benchmarks for making them publicly available.

References
==========

[1] X. Zhu, D. Ramanan. Face Detection, Pose Estimation and Landmark Localization in the Wild. CVPR 2012.

[2] P. Felzenszwalb, R. Girshick, D. McAllester. Discriminatively Trained Deformable Part Models. http://people.cs.uchicago.edu/~pff/latent.

[3] D. Ramanan. Dual Coordinate Descent Solvers for Large Structured Prediction Problems. UCI Technical Report, to appear.

[4] N. Dalal, B. Triggs. Histograms of Oriented Gradients for Human Detection. CVPR 2005.


Using the detection code
========================

1. Move to the code-basic directory
2. Start matlab
3. Run the 'compile' script to compile the helper functions.
   (you may need to edit compile.m to use a different convolution 
    routine depending on your system.)
4. Run 'demo' to see an example of the code run on sample images.
5. By default, the code uses the threshold of -0.65. You can change 
   it at line 20 in demo.m

Using the learning code
=======================

1. Move to the code-full directory
2. Start matlab
3. Run the 'compile' script to compile the helper functions.
   (you may need to edit compile.m to use a different convolution 
    routine depending on your system)
4. Specify the locations of the MultiPIE dataset and the annotation 
   files at line 12 and 14 in multipie_data.m
5. Run 'multipie_main' to see an example of the complete system, 
   including training and benchmark evaluation.
