Source code for our ECCV16 paper, Face Detection with End-to-End Integration of a ConvNet and a 3D Model
Switch branches/tags
Nothing to show
Clone or download
Latest commit f9251c4 Aug 21, 2016
Permalink
Failed to load latest commit information.
AFLW First commit Aug 20, 2016
R-package First commit Aug 20, 2016
amalgamation First commit Aug 20, 2016
cmake First commit Aug 20, 2016
dmlc-core First commit Aug 20, 2016
doc First commit Aug 20, 2016
docs First commit Aug 20, 2016
example First commit Aug 20, 2016
include/mxnet First commit Aug 20, 2016
make First commit Aug 20, 2016
matlab First commit Aug 20, 2016
mshadow First commit Aug 20, 2016
plugin First commit Aug 20, 2016
ps-lite First commit Aug 20, 2016
python First commit Aug 20, 2016
scala-package First commit Aug 20, 2016
src First commit Aug 20, 2016
tests First commit Aug 20, 2016
tools First commit Aug 20, 2016
CHANGES.md First commit Aug 20, 2016
CMakeLists.txt First commit Aug 20, 2016
CONTRIBUTORS.md First commit Aug 20, 2016
LICENSE First commit Aug 20, 2016
Makefile First commit Aug 20, 2016
README-mxnet-original.md First commit Aug 20, 2016
README.md First commit Aug 20, 2016
appveyor.yml First commit Aug 20, 2016
readthedocs.yml First commit Aug 20, 2016

README.md

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

  1. run Path_To_The_Code/ALFW/vgg16_rpn.py
  2. 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