人脸对齐之ESR(Explicit Shape Regression)

 

人脸特征点的定位基本有2个思路,一个是基于形状约束的方法,例如ASM,AAM等,另一个就是基于回归的方法,例如ERT(Ensemble of Regression Trees,dlib中就是实现的该方法),LBF(就是大家熟知的3000fps)。

         这里要讲的ESR也是一种基于回归的方法。

         ESR(ExplicitShape Regression)该方法出自2012的cvpr,是微软亚洲研究院(MSRA)孙剑组曹旭东的作品。

         该文章主要提出了3个方法,

(1)2层级联的boost回归(two-level boosted regression)

该方法最早是P Dollar大神在CVPR2010中Cascaded pose regression这篇论文中提出。作者这里的2层boost回归,第一层有10级,第二层有500级,这样分层的好处,比单独使用一个5000级而只有1层的效果要好很多。其中,第一层中的特征维度不固定,第二层中中的特征维度固定。

(2)基于形状索引的特征(shape-indexed features)

该形状索引特征,计算回归的位置和真实位置之间的像素差,类似于中心差分算梯度,从而得到最终特征向量,并且该特征向量采用了局部坐标系,相比全局坐标系具有更好的鲁棒性。

(3)基于相关系数的特征选择方法(correlation-based feature selection method)

这里,需要从之前提取的400*400个特征中选择出最右代表性的前f个。简单的说,就是计算所有特征向量的相关系数,取前f个系数最高的作为最终的输出特征向量。

 

实验效果:

人脸检测使用的opencv的检测方法,所以不要纠结最下面的那个错误。模型为作者提供的29landmark。本人将程序修改为直接读取图片,opencv检测人脸,ESR进行对齐,并做了相关OpenMP。下面的时间为一个人脸框的对齐时间。

人脸对齐之ESR(Explicit Shape Regression)_第1张图片

 

官方程序链接:https://github.com/soundsilence/FaceAlignment

本人修改的程序:http://download.csdn.net/detail/qq_14845119/9729730

 

你可能感兴趣的:(人脸关键点检测&对齐)