1 介绍


       本文所述方法为SDM在人脸对齐上的应用(Supvised Descent Method)。SDM本是一种求函数逼近的方法,可以用于最小二乘求解。SDM并非一种人脸对齐方法,只是作者在提出新的人脸对齐方法中运用了自己的最小二乘方法。


      人脸对齐,又叫做人脸特征点定位,需要先人工指定点的具有规律的位置,然后在输入的人脸上按照特征点分布规律把点标记出来。



2 人脸对齐的应用


      目前做机器视觉的公司都会进行人脸技术研发, 而人脸对齐则是一个非常火的研发方向,我们知道在人的脸上能做各种事,化妆,戴眼镜,带美瞳,贴纸。现在所有的美图软件,都会有贴纸,还有美肤。一些人脸识别也会基于人脸对齐后的结果提取特征。



3 方法介绍


       SDM 人脸对齐的核心内容很简单,就是特征到偏移量的映射:


                                          Ix = R


I 是特征,x是映射矩阵,R是偏移量。SDM人脸对齐方法训练的目的就是得到映射矩阵x,步骤如下:


      1)归一化样本,使样本的尺度统一;


      2)计算均值人脸;


      3)将均值人脸,作为估计人脸放在样本上,使均值中心和原始人脸形状中心对齐;


      4)计算基于每一个均值人脸的标记点的特征,sift,surf或者hog,切记不要基于灰度值的相互特征;


      5)将所有点的特征串在一起,形成样本特征,所有样本特征形成矩阵I;


      6)计算估计人脸和真实人脸之间的偏移量,并形成矩阵R;


      7)解线性方程Ix=R, matlab中可用x = I \ R,lapack中可用函数dgelsd。


估计形状加上预测偏移量就是结果,在实际情况中,共需要训练多层,二层以后需要使用上一层对齐的结果作为估计形状。



      实际在运用过程中可能会遇到各种问题,总结下来有以下几点:


      1)速度太慢,尤其是使用sift,surf特征;


      2)无效,基于灰度值类的特征由于在标记点周围的小窗口内,灰度值基本一致,变化不大,这也是人脸的一个显著特征;


      3)效果有待提高,hog特征有效的解决上述问题,但是始终不理想,尤其是,水平大角度偏转。



4 结果介绍


        训练使用的数据是afw,helen,ibug,lfpw四个数据库,通过旋转,调节对比度,加噪声等方式扩充样本至10W。总共训练4层,采用自己改善过后的hog特征,一张人脸的对齐速度在3.3GHz CPU上单核是1ms,可多核提速,模型大小2M左右,并成功运用到人脸标记点追踪上,追踪可以解决大角度偏转,大部分90度偏转也是有效的。演示视频: http://v.youku.com/v_show/id_XMTY1NzQ4MDQ2MA==.html?from=y1.7-2

参考文献


Supervised   Descent   Method  and its Applications to Face Alignment