在参考了Github和Github 的源码,学习了很多,现将一些资料在整理如下:
以下内容为转载的:详细参考http://wangcaiyong.com/2015/08/14/sdm/
我们下载了Github上的代码,并仔细阅读了其中的细节。
最后我们对源代码做了一些修正(新代码已上传到Github),主要包括:
- 修复了代码运行中出现的一些bug。
- 添加了一些函数,使代码更简洁
- 训练阶段我们采用了分批处理,优化了内存
- 参考论文《Extended Supervised Descent Method for Robust Face Alignment》,优化了源程序
- 在测试阶段,我们使用了逆的缩放和平移变换将得到的aligned_shape
- 转换为原始图片的特征点true_shape
- 添加了详细的注释,使之更容易明白。
Vlfeat library: http://www.vlfeat.org/
提供了hog/sift特征函数,程序默认使用hog特征,如果要使用sift特征,你可以使用xx_sift.m提供的接口(见commom/desc/xx_sift.m).如果使用Vlfeat的sift,你需要修改程序。因为程序默认的sift接口为xx_sift.mlibLinear: http://www.csie.ntu.edu.tw/~cjlin/liblinear/
mexopencv: https://github.com/kyamagu/mexopencv
使用其提供的人脸检测程序(不过程序中我们一般以ground_truth的特征点的包围盒替代,更准确)
Datasets in use:
[300-W] http://ibug.doc.ic.ac.uk/resources/facial-point-annotations/
该数据集仅提供了68个特征点的数据,也就是w300类型的数据
新增函数列表
- /common/cropImage/cropImage.m
- /common/desc/xx_sift.m
- /common/flip/flipImage.m
- /common/io/write_w300_shape.m
- /source/train/learn_single_regressor2.m