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.