Skip to content

biotrump/FaceForest

Repository files navigation

// Author: Mathias Dantone, BIWI, ETH Zurich
// Email: mdantone@vision.ee.ethz.ch
 

// THE SOFTWARE COMES "AS IS", WITH NO WARRANTIES. THIS MEANS NO 
// EXPRESS, IMPLIED OR STATUTORY WARRANTY, INCLUDING WITHOUT 
// LIMITATION, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A 
// PARTICULAR PURPOSE, ANY WARRANTY AGAINST INTERFERENCE WITH YOUR 
// ENJOYMENT OF THE SOFTWARE OR ANY WARRANTY OF TITLE OR 
// NON-INFRINGEMENT. THERE IS NO WARRANTY THAT THIS SOFTWARE WILL 
// FULFILL ANY OF YOUR PARTICULAR PURPOSES OR NEEDS. ALSO, YOU MUST 
// PASS THIS DISCLAIMER ON WHENEVER YOU DISTRIBUTE THE SOFTWARE OR 
// DERIVATIVE WORKS.

// When using this software, please acknowledge the effort that 
// went into development by referencing the paper:
//
// Dantone M, Fanelli G, Gall J. and Van Gool L., 
// Real Time Facial Feature Detection using Conditional Regression Forest, 
IEEE Conference on Computer Vision and Pattern Recognition (CVPR'12), 2012.

// Note that this is not the original software that was used for 
// the paper mentioned above. It is a re-implementation with different features.


This package contains the source code for training and evaluation of the 
Conditional Regression Forest.

Additional to the source code you can find pretrained trees for head pose estimation
and also for facial feature detection. 


___ BUILDING 
This framework needs the open source computer vision library OpenCV and boost.

1) set the path to OpenCV and Boost the Makefile
2) make all (compiling the source code)
3) make clear

Tested with the following version of the third party lib:
- OpenCV 2.3.X
- Boost 1.47.0 + Boost 1.46.1

Known problems:
- The boost library can be build in different ways. 
  Sometimes the boost shared libs have the ending '-mt' and sometimes they don't.
  Please fix the makefile according to your version of boost.

Tested on the following operation system:
- MacOS 10.7.4
- ubuntu 12.04 LTS
- Debian 2.30.2


___ DEMO APPLICATION
Running the demo application using the pretrained trees is easy.
Just run the application 'FaceForest':
./FaceForest 0 data/config_ffd.txt data/config_headpose.txt data/haarcascade_frontalface_alt.xml

you need to set 4 flags: 
 - mode (0==training, 1==evaluate)
 - path to ffd config file
 - path to headpose config file
 - path to face cascade