A neural network formulation for Cascaded Pose Regression (CPR) applied to Face Alignment. Implement the algorithm in [2] which is almost the same with [1], where the parameters are jointly tuned for the whole CPR algorithmic pipeline. See e.g., [3] for original CPR based face alignment.
- Install the Matlab DAG network by following the instruction therein.
- Run the
setup_path.mto add path. Note that you need modify the code before running to specify the path of the required third party toolbox. - Run the
mex\make.mto compile the mex file. Basically it calls the nvcc compiler in the CUDA toolkit to compile the*.cucode for the mex file.
tf_*.m and tfw_*.m: transformer for the Graph Transformer Network (GTN), a.k.a. DAG netowrk. In this project we view the whole network as a transformer that composites many sub-transformers
convdag_bpcpr.m: a thin wrapper of the whole network, managing training, testing, etc.
peek.m: the observer (a Design Pattern) for convdag_bpcpr.m, managing model saving, training loss plotting on the fly, etc.
mex: C and CUDA C code
util: helper functions
cache: pre-computed data
script: scripts for training
chk_rst: scripts for results inspection
[1]. Baoguang Shi, Xiang Bai, Wenyu Liu, Jingdong Wang, "Deep Regression for Face Alignment", arXiv:1409.5230, 2014
[2]. Peng Sun, James K. Min, Guanglei Xiong. Globally Tuned Cascade Pose Regression via Back Propagation with Application in 2D Face Pose Estimation and Heart Segmentation in 3D CT Images, http://arxiv.org/abs/1503.08843, 2015
[3]. Ren, Shaoqing, Cao, Xudong, Wei, Yichen, and Sun, Jian. Face alignment at 3000 fps via regressing local binary features. CVPR 2014