Skip to content

jwyang/face-alignment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 

Repository files navigation

Face alignment in 3000 FPS

This project is built by reproducing (at least partially) the face alignment algorithm in the CVPR 2014 paper:

Face Alignment at 3000 FPS via Regressing Local Binary Features. Shaoqing Ren, Xudong Cao, Yichen Wei, Jian Sun; The IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2014, pp. 1685-1692

How to run the codes?

(1) First of all, we need prepare datasets, such as afw, lfpw, helen, ibug, etc. All these can be downloaded freely from http://ibug.doc.ic.ac.uk/resources/facial-point-annotations.

(2) For training, run train_model.m with appropriate dataset name. Before that, define dbnames as {'Dataset_a', 'Dataset_b', ..., } for input.

(3) For testing, run test_model.m with dataset name dbnames and pre-trained model as input.

Dependencies

(1) liblinear: http://www.csie.ntu.edu.tw/~cjlin/liblinear/.

Learned Model

Off-the-shelf model can be downloaded here: http://pan.baidu.com/s/1i325Rbn, whose performance is analogy to the lbf_fast model evaluated in the original paper.

Q&A

Q_1: How to get the file Path_Images.txt?

A_1: It can be obtained by run bat file in the root folder of a dataset, the code is simply "dir /b/s/p/w *.jpg>Path_Images.txt".

Q_2: What is Ts_bbox.mat?

A_2: This problem is solved in recent version. Ts_bbox is a transformation matrix to adapt bounding boxes obtained from face detector to the boxes suitable for the face alignment algorithm.

Q_3: How to define the input variable dbnames in train_model and test_model functions?

A_3: It is formed as a cell array {'dbname_1' 'dbname_2' ... 'dbname_N'}. For example, if we use the images in afw for trainig, we then define it as {'afw'}.

Q_4: Why does an error occur when initializing parallel computing?

A_4: It may be caused by Matlab version. For Matlab 2014, it will be okay. For earlier version, please use the following commands:

if params.isparallel

 if matlabpool('size') <= 0

     matlabpool('open','local',4);

 else

     disp('Already initialized');

 end

end

Q_5: Some function correspondences from Matlab 2014 to older version

A_5: fitgeotrans -> cp2tform, transformPointsForward -> tformfwd

About

Face alignment in 3000 FPS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages