基于3D的大姿态人脸对齐方法FaceAlignmentAcrossLargePoses:A3DSolution作者:Xiangyuzhu,ChineseAcademyofSciences等CONTENTS01背景及相关概念03结论02算法核心思想及实验验证04阅读论文的思考05参考资料什么是人脸对齐(alignment)?人脸对齐,即面部特征点定位,在人脸上找出需要的特征点的位置,比如鼻子左侧,鼻孔下侧,瞳孔位置,上嘴唇下侧等等点的位置。下图中白色点的位置。定位了这些点的位置就可以进行下一步的的检测(detection)或识别(identification)。相关背景基于2D的最小二乘法:通过最小化训练图像(inputimage)和形变模型(morphablemodel)的均方误差来获得特征点位置。对于偏转角度小45度的中小姿态应用良好,但计算代价比较大。基于CNN(卷积神经网络):大多数应用CNN的方法,计算性能获得了提高,但仅检测较少的标注点(landmarks),限制了对面部形状的描述能力。大姿态下的人脸校准的相关文献仍然比较少,多视角2D方法(multi-viewframework)如TSPM和CDM利用不同角度人脸上的标注点来获得数据,计算代价(cost)比较高。其他基于3D的大姿态方法如3DMM要每张图片1min的计算代价,效率比较低。现有对齐方法及局限性本文需要解决的问题:1、极端姿态下(如侧脸,偏转角度为90),一些特征点变了不可见。2、不同姿态下的人脸表观(expressions)(仰头、大笑)也存在巨大差异,这些问题都导致大姿态下面部特征点定位任务极具挑战性相关背景侧脸yaw45°不同表观3D密集人脸对齐(3DDFA):首先利用PNCC方法建立3D模型,然后用级联的卷积神经网络(cascadedCNN)系统去匹配模型。它通过估计模型参数能找到所有的顶点(Vertexes),所以是dense。cascadedCNN:CNN通常分为卷积层、池化层、全连接层等几个部分。卷积层:通过局部感知和参数共享的方法降低参数数量,识别并提取输入数据的特征。相关概念下图中,不同颜色表明不同的卷积核。每个卷积核都会将图像生成为另一幅图像。比如两个卷积核就可以将生成两幅图像,这两幅图像可以看做是一张图像的不同的通道,又可以作为下一层卷积层的输入。相关概念下图展示的是四个通道上的卷积操作,有两个卷积核,生成两个通道,四个通道上每个通道对应一个卷积核,只看w1,那么在w1的某位置(i,j)处的值,是由四个通道上(i,j)处的卷积结果相加然后再取激活函数值得到的。相关概念池化层:将卷积得到的特征进行聚合,得到区域上某个特定特征的平均值或最大值,这种聚合操作就叫做池化。经过多层卷积和池化,获得较多局部特征,然后再经过全连接层就可以获得全局图像特征。相关概念PNCC:投影归一化坐标码(ProjectedNormalizedCoordinateCode),首先将3D人脸的坐标归一化,则每个点的坐标就称为NCC,对经过投影的NCC利用Z-buffer着色就得到了PNCC.相关概念算法输入为100x100的RGB图像和PNCC(ProjectedNormalizedCoordinateCode)特征,PNCC特征的计算与当前形状相关,可以反映当前形状的信息;算法的输出为3D人脸形状模型参数;使用卷积神经网络拟合从输入到输出的映射函数,网络包含4个卷积层,3个pooling层和2个全连接层。通过级联多个卷积神经网络直至在训练集上收敛,PNCC特征会根据当前预测的人脸形状更新,并作为下一级卷积神经网络的输入;3DDFA算法核心思想此外,卷积神经网络的损失函数(WPDC方法)也做了精心的设计。引入权重W,反映的是错误估计模型参数所产生的误差,形状变化会产生较大的Δp值,从而产生较大的W,网络就会优先拟合重要的形状参数,如尺度、旋转和平移;当人脸形状接近groundtruth时,形状参数的W会比较小,此时再考虑拟合其他形状参数。经过3次以上迭代之后,发现这种WPDC方法比其他方法的误差显著要小。3DDFA算法核心思想此外,卷积神经网络的损失函数也做了精心的设计,通过引入权重,让网络优先拟合重要的形状参数,如尺度、旋转和平移;当人脸形状接近groundtruth时,再考虑拟合其他形状参数;由于参数化形状模型会限制人脸形状变形的能力,作者在使用3DDFA拟合之后,抽取HOG特征作为输入,使用线性回归来进一步提升2D特征点的定位精度。3DDFA算法核心思想训练3DDFA模型,需要大量的多姿态人脸样本。为此,作者基于已有的数据集如300W,利用3D信息虚拟生成不同姿态下的人脸图像,核心思想为:先预测人脸图像的深度信息,通过3D旋转来生成不同姿态下的人脸图像,如下图所示:(a)为原始图像,(b,c,d)为生成的虚拟样本,偏角依次增加20°,30°和40°。实验验证实验验证基于300W的性能测试,可以发现3DDFA在各个偏角区间的NME值相对其他方法都减小了,特别是在【60,90】大偏角区间内具有很大优势。结论文章基于CNN方法提出了一种比较好的解决3D大姿态下人脸校准的方法。匹配误差显著减小,解决了侧面人脸校准问题。同时提出了一种新的很好配合CNN方法使用的3DMM人脸建模方法。阅读思考1、效率问题。文章着重考虑了误差,对时间代价只有简单论述,没有验证。文章提到在硬件条件:3.40GHZCPU、GTXTITANBLACKGPU下PNCC要花费17.49ms,CNN要花费7.75ms。3D建模的时间代价会比较高。不考虑旋转的情况下,是否可以投影到2D平面进行建模?2、标注点问题。文章提出要尽可能多选标注点来提取特征,在具体应用时误差要求不高的情况下,可以减少标注降低计算复杂度。参考资料[1]栀子花对Stanford深度学习研究团队的深度学习教程的翻译[2]雪姬技术向:一文读懂卷积神经网络[3]人脸识别之人脸对齐--定义及作用[4]张雨石卷积神经网络THANKYOU!