cvpr2015的face Alignment 文章笔记

来源:互联网 发布:启明星bsc软件 编辑:程序博客网 时间:2024/06/05 18:06

原文地址:http://blog.csdn.net/wuyoy520/article/details/47776243

最近开始看face alignment 相关的东西。人脸关键点对齐(我觉得叫人脸关键点定位也挺好)对人脸识别,人脸矫正,表情分析等都有很好的帮助。cvpr14的有两篇论文的检测方法效率很高,很不错。cvpr15感觉好像没有那么追求速度了,但是效果貌似比cvpr14更好。 下面先说说cvpr14我主看的论文再写cvpr15的。附code 链接。

1. cvpr14

【LBF算法】Face Alignment at 3000 FPS via Regressing Local Binary Features.

有牛人改编的C++代码。https://github.com/yulequan/face-alignment-in-3000fps
matlab代码https://github.com/jwyang/face-alignment  ,这些代码不一定完全实现了论文所说的效果,但是都可用



L为landmark个数,每个关键点对应一个feature mapping。,t代表stage.每个stage里,先用ensemble trees学习出每个关键点的feature mapping ,然后根据计算出所有的关键点的LBF特征,连接成为一维特征向量,结合 target shape increments  ,用linear regression学习出线性投影 。

———2015.09.16补充-start—-

试用了几个大神提供的源码版本,感觉效果不行啊,仔细研究论文折腾下效果还是不太好,,,,唉,不过论文里面那个遍历参数确定特征点对所在区域半径那个没有弄,看论文好像影响还是很大的。。。但是遍历参数太耗时间了,就没有折腾。。
这段期间试用了下下文的ERT算法,自己训练的模型,感觉效果很不错。

———2015.09.16补充-end—-

【ERT算法】One Millisecond Face Alignment with an Ensemble of Regression Trees.

文章有提供dlib c++ library.试用效果很好啊。 http://www.nada.kth.se/~vahidk/face_ert.html

不过是依靠dlib库的,dlib库感觉和OpenCV同性质的库,个人感觉代码写的很乱,看不懂,,,不过试用效果不错,我用了opencv的harr检测器检测摄像头采集图像里面的脸,然后用dlib的shape predictor 去检测关键点,效果感觉很好,而且速度也很快。

不过再试用训练的时候卡在dlib配置上了,读PNG和JPEG出问题了,http://dlib.NET/compile.html说要把一个external文件夹源码加入project,我没搞定。。。


———2015.09.16补充-start—-

根据上面说的方法可以调通了训练程序,我用iBUG 300W 大约三千多张图训练出的模型大小为60+M,效果感觉和原作者提供的90+M的模型大小比较接近了,而且检测速度有提升(难道是因为模型小)。感觉是个很好方法,就是依靠dlib库有点麻烦,原代码不好懂。

———2015.09.16补充-end—-

2. cvpr15

整理了下今年cvpr的face alignment论文,列表如下,不一定全

[1] Zhu, Shizhan, et al. "Face Alignment by Coarse-to-Fine Shape Searching.Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015.(有MATLAB源码)

[2] Lee, Donghoon, Hyunsin Park, and Chang D. Yoo. "Face Alignment using Cascade Gaussian Process Regression Trees." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015.

[3] Tzimiropoulos, Georgios. "Project-out cascaded regression with an application to face alignment.Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015. (有MATLAB代码,核心部分为mexw64文件)

[4] Zulqarnain Gilani, Syed, Faisal Shafait, and Ajmal Mian. "Shape-Based Automatic Detection of a Large Number of 3D Facial Landmarks."Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015.

【PO-CR算法】Project-Out Cascaded Regression with an application to Face Alignment.

有Matlab代码 :http://www.cs.nott.ac.uk/~yzt/   核心部分提供的是.mexw64文件,试用了下,效果很不错。
单幅图循环1000次检测,花费时间为:Elapsed time is 267.831012 seconds. 平均每帧需采用267.83ms, 调用mexw64,在MATLAB下,不知效率如何对比。。。
检测图片示例如下所示,感觉在脸部检测框不是特别准确的时候依然能很准确的检测出关键点位置,赞。

 

【CFSS算法】Face Alignment by Coarse-to-Fine Shape Searching

http://mmlab.ie.cuhk.edu.hk/projects/CFSS.html
有提供MATLAB代码 https://github.com/zhusz/CVPR15-CFSS
看readme文件里面需要补充数据,,,额,代码比较多, 好像有libsvm和sift.
readme 文件里面说训练至少需要20G的内存,,,惊呆了。。。 
"Training typically requests at least 20 GB of memory (based on the default parameters settings)."
有他们训练好的model下载。 http://mmlab.ie.cuhk.edu.hk/projects/CFSS/model.tar.gz


希望多多交流~~