人脸对齐SDM原理----Supervised Descent Method and its Applications to Face Alignment

  最近组里研究了SDM算法在人脸对齐中的应用,是CMU的论文《Supervised Descent Method and its Applications to Face Alignment》。因为思路简洁巧妙有效,两年下来引用率就有283+了,以后估计1k+,这么有影响力的文章是要学习学习。网上有了相关的原理介绍,例如:http://www.thinkface.cn/thread-2913-1-1.html,自己看了有所了解,但不能真正理解原理思路,还是直接看论文为妥。

1、问题

  最小二乘问题中,用牛顿法求解是常用的办法,但用在求解计算机视觉的问题的时候,会遇到一些问题,比如1)、Hessian矩阵最优在局部最优的时候才是正定的,其他地方可能就不是正定的了,这就意味着求解出来的梯度方向未必是下降的方向;2)、牛顿法要求目标函数是二次可微的,但实际中未必就一定能达到要求的了;3)、Hessian矩阵会特别的大,比如人脸对其中有66个特征点,每个特征点有128维度,那么展成的向量就能达到66x128= 8448,从而Hessian矩阵就能达到8448x8448,如此大维度的逆矩阵求解,是计算量特别大的(O(p^3)次的操作和O(p^2)的存储空间)。因此避免掉Hessian矩阵的计算,Hessian不正定问题,大存储空间和计算量,寻找这样一种方法是这篇论文要解决的问题。

2、原理

  

3、实验结果

a、真实结果和拟合结果比较图:

SDM接近于真实的标记结果,拟合结果很好。(红色的为Ground True,绿色的为SDM拟合结果)

b、SDM 和 Netown的迭代收敛比较图:

牛顿迭代法出现迭代失败的情况,而SDM均可以迭代至收敛。

c、LFPW数据集合的效果比较图:

对灰度,戴眼镜,侧脸和遮挡都有很好的拟合效果。

d、指定跟踪算法和SDM比较图:

指定跟踪器会出现过拟合的现象,而SDM表现则相当的稳定

4、参考资料

[1].http://www.thinkface.cn/thread-2913-1-1.html

[2].Supervised Descent Method and its Applications to Face Alignment.pdf

  

时间: 2024-08-05 18:42:12

人脸对齐SDM原理----Supervised Descent Method and its Applications to Face Alignment的相关文章

Supervised Descent Method Face Alignment 代码下载 和 算法研究 之一

1 主要内容: Supervised Descent Method and its Applications to Face Alignment算法研究. 2代码彩蛋:我问了好久,xxiong好心人发给我的,希望能对你们学习有帮助: 低调下载: http://humansensing.cs.cmu.edu/xxiong/mexintraface1.3.1%28release%29.zip. 注意杜绝一切商业用途,如果需要商业用途,请联系作者本人!! 3本文分为几个部分: (1)解决什么问题 (2

人脸检测与人脸对齐指标

人脸检测指标: 召回率(Recall):正确检测到的人脸数量与测试数据集所有人脸数量之比.反映了检测器可以正确找到多少人脸. 精确度(Precision):在所有输出的人脸中,正确的人脸所占的比例.反映了检测器结果的可靠程度. 稳定度(Stability):当人脸在图片中的位置和大小发生变化时,输出的人脸位置和大小也需要相对于真实人脸保持不变,一般用标注的位置和检测到的位置的重合度来衡量. 人脸对齐指标: 平均相对误差(Mean Squared Error):各个检测到的基准点与实际基准的距离的

实现多行文字对齐的原理

多行文字对齐的现象 之前已经实现过多行文字对齐的方法,实现方法详见:多行文字对齐的实现方法,多行文字兼容IE6的关键就是一个空标签<i></i>, 下面我们来看一看不加i标签之前IE6下显示的效果: 而chrome下的效果: 加下i标签后,IE6下的显示效果: 可见在现代浏览器中,对于有没有i标签是没有影响的,为什么加上这个标签之后,IE6就可以实现多行文字对齐了呢? 多行文字对齐的原理 在盒子模型中,父盒子line-height的高度是由子盒子中高度最高的那个盒子决定的,在本例中

人脸对齐

方案一:利用2个眼睛的中心位置辅助人脸对齐和归一化 (1)人脸检测 – Adaboost (2)人眼检测 –Adaboost (3)人眼中心位置确定,角度归一(即旋转人脸至水平位置)(旋转)        2眼之间的距离固定到某一个数值(缩放)        计算源图像中两眼之间的水平间距d1,已知要固定的两眼之间水平间距值d2,放缩比率ratio=d2/d1;根据ratio放缩图像. (4)人脸裁剪和尺度归一         三庭五眼准则        这个方案的缺点是眼睛检测存在误检,误检的

人脸对齐--One Millisecond Face Alignment with an Ensemble of Regression Trees

One Millisecond Face Alignment with an Ensemble of Regression Trees CVPR2014 http://www.csc.kth.se/~vahidk/face_ert.html https://github.com/suzuichi/OneMillisecondFaceAlignment 本文也是使用级联回归器来做人脸特征对齐的.速度快,效果不错,Dlib 实现了代码,可以测试 站在巨人的肩膀上可以看得更远.这里我们借鉴了前人的两个

人脸识别系统原理

写这篇文章,并不是要挑战学术泰斗,更不是要在这里炫耀和说教知识.只是前不久有个朋友问我能不能搞人脸识别,我说回来试试.想不到这里头的东西还挺多,不是三两天就能做完的.就在这里把我的实现思路写出来,以表心迹. 图像识别,一直是计算机领域研究的热门,随着大数据的兴起,更是让图像识别中的特殊分支人脸识别如鱼得水,使得运算和样本数据不再成为系统的掣肘.那么具体来说,一个现代人脸识别系统(例如face++)是如何实现的呢? 这里我不敢妄自猜测,我仅提供我自己的实现方法,拿出来与大家一起学习和探讨: 1.首

成员变量对齐的原理

我花了一个上午,看了一些资料,总算把这个问题搞明白了.下面我以一些例子说明结构体成员变量的对齐问题. 对于 struct s1 { char a; long int d; double c; }; 这个结构体的大小是16.编译器默认的一般是8字节对齐.a的大小是1,它就按1字节对齐(因为比指定的8 小),存诸在0偏移的地方:b大小为4,它就按4字节对齐(因为比指定的8小),存在偏移4——7的位置,c大小为8,存在8——15的位置.这样3个成员共占用了16个字节.由于该结构最大成员c大小为8,所以

caffe 多标签 人脸对齐训练

1. 数据处理,包括数据增强.人脸区域裁剪以及归一化 2.caffe 多标签配置 更改D:\caffe-master\src\caffe\proto 里 caffe.proto 文件 message Datum { optional int32 channels = 1; optional int32 height = 2; optional int32 width = 3; // the actual image data, in bytes optional bytes data = 4;

浅谈动态人脸识别技术原理

人脸辨认,是依据人的脸部特征信息进行身份辨认的一种生物辨认技能.用摄像机或摄像头收集含有人脸的图画或视频流,并主动在图画中检测和跟踪人脸,进而对检测到的人脸进行脸部的一系列相关技能,一般也叫做人像辨认.面部辨认. 人脸辨认体系的研讨始于20世纪60年代,80年代后跟着计算机技能和光学成像技能的开展得到提高,而真实进入初级的运用阶段则在90年后期,并且以美国.德国和日本的技能完成为主:人脸辨认体系成功的关键在于是否具有顶级的中心算法,并使辨认成果具有实用化的辨认率和辨认速度:"人脸辨认体系&quo