Awesome
Face Detection with End-to-End Integration of a ConvNet and a 3D Model
Reproducing all experimental results in the paper
Yunzhu Li, Benyuan Sun, Tianfu Wu and Yizhou Wang, "Face Detection with End-to-End Integration of a ConvNet and a 3D Model", ECCV 2016 (https://arxiv.org/abs/1606.00850)
The code is mainly written by Y.Z. Li (leo.liyunzhu@pku.edu.cn) and B.Y. Sun (sunbenyuan@pku.edu.cn). Please feel free to report issues to him.
The code is based on the mxnet package (https://github.com/dmlc/mxnet/).
If you find the code is useful in your projects, please consider to cite the paper,
@inproceedings{FaceDetection-ConvNet-3D, author = {Yunzhu Li and Benyuan Sun and Tianfu Wu and Yizhou Wang}, title = {Face Detection with End-to-End Integration of a ConvNet and a 3D Model}, booktitle = {ECCV}, year = {2016} }
Compile
Please refer to https://github.com/dmlc/mxnet/ on how to compile
Prepare training data
Download AFLW datset and generate a list for the training data in the form of: ID file_path width height resize_factor number_of_faces [a list of information of each faces]
The information of different faces should be seperated by space and in the form: x y width height(of bounding box) x y width height(of projected bounding box) number_of_keypoints [keypoint_name keypoint_x keypoint_y projected_keypoint_x projected_keypoint_y](for every keypoint) ellipse_x ellipse_y ellipse_radius ellipse_minoraxes ellipse_majoraxes [9 parameters of scale * rotation matrix] [3 translation parameters]
Note: projected information is not used now, so it can be replaces by any number
training procedure
- run Path_To_The_Code/ALFW/vgg16_rpn.py
- To finetune on FDDB dataset, run Path_To_The_Code/ALFW/fddb_finetune.py
prediction procedure
AFW: run Path_To_The_Code/afw_predict.py FDDB: run Path_To_The_Code/predict_final.py