基于级联卷积网络的由粗到精的大量人脸特征点定位

                   基于级联卷积网络的由粗到精的大量人脸特征点定位

摘要:我们使用一种由粗到精的级联卷积网络展现了一种新的方法定位大量的人脸特征点。由于以下两个优势,深度卷积神经网络(DCNN)已经被成功地用于人脸特征点定位:1)在人脸点中几何约束被隐含使用;2)可以利用大量的训练样本。然而,在大量人脸特征点定位的任务中,大量的人脸特征点(超过50点)需要定位在统一的系统中,在结构设计和传统卷积网络的训练过程中造成了很大的困难。在这篇论文中,我们设计了一个以由粗到精的方式处理问题的四级级联卷积网络。在我们的系统中,每一个网络层都被训练到局部提取一个由先前网络层产生的人脸特征点的子集。另外,每一层都预测了明确的几何约束(一个特定的人脸部分的位置和旋转角度)修正当前网络层的输入。由粗到精级联和几何优化的组合使我们的系统可以去定位大量的人脸特征点(68点)精确的在300万张人脸特征点定位完成挑战。
1.介绍
在人脸识别和人脸分析系统中人脸特征点定位扮演了关键的角色。最近在陈先生的论文中展示了,如果准确人脸特征点可以被使用,那么简单特征点就可以在人脸识别中实现主导作用。出于这个原因,过去几年,人脸特征点定位问题吸引了广泛的兴趣。通常,在人脸图像中有三个主要方法定位人脸特征点:第一种展示了基于局部区域分类器的滑动窗口搜索,偶尔会遇到局部特征不明确或讹误的问题。除此之外,吸收全部上下文信息到局部搜索框架很困难;第二种方法是著名的主动形状模型和主动外观模型框架。这些方法对于全部人脸外观适合一种普遍的模型和因此对于局部问题是健壮的。然而,为了评估生成模型的参数,需要昂贵的迭代步骤。
最近,一种基于显式回归方法的新框架已经提出。在这个框架中,特征点定位的问题被直接考虑为一种回归任务,和一种整体回归从原始输入像素被用于计算特征点坐标。与上述提及的方法相比较,由于全局上下文信息在开始时被吸收,这个框架更健壮和稳定;由于没有迭代适应步骤和需要的滑动窗口搜索也更有效。代替的是被使用的随机类,Sun使用了更强大的深度神经网络在回归框架中和实现了最先进水平。
然而,人脸特征点定位仍然是一个非常有挑战的问题。这个挑战来自于由姿势,光照,表情等等带来的巨大人脸外观差异。当大量的标志点被需要时这个任务甚至更有挑战。一方面,单个模型通常不适合大量点的性质,尤其是每一个定位困难的点,变化显著。例如,有丰富的局部上下文用于帮助每一个眼角的检测,同时决定在面颊上点的确切位置在某些情形不同平凡甚至是对于人类眼睛。另一方面,对每一个面部点使用个人系统以计算时间的形式是有问题的,随着特征点数目的增加计算负担成比例的增长。然而,大量的点是一把双刃剑:关于特征点内部结构相关位置的有效的信息成为现实。如果系统充分的探索它们,面部组件整体安排的几何约束和组件内部点的相互作用提供了改善准确和鲁棒性的希望。
为了应对这个挑战,我们小心的设计了一个可以处理由粗到精的大量人脸特征点定位任务的多层级联卷积网络。我们的贡献有三点:1)不像使用级联网络预测稀少脸部特征点(5点),我们验证了对于大量人脸特征点定位问题的卷积神经网络有效性;2)我们设计了一个由粗到精的级联网络传播网络复杂度和训练传统卷积网络的负担;3)我们展示明确的几何约束(评估脸部组件的位置/旋转和修正每一个网络层的输入)可以显著地改善系统的准确性和鲁棒性。大量的实验表明我们的系统是精确的和健壮的。
2.综述
图2给出了我们的多层脸部标志点定位系统的简短插图。我们使用内部点表示眼睛,眉毛,嘴巴和鼻子的51点,和轮廓点表示其他17个在轮廓上的点。在第一层中,两个神经网络被训练去评估独立的内部点和轮廓点边界框(x-y坐标的最大和最小值)。估计区域被系统的各自剩余部分填满。
内部点 对于内部51个点,另外三层卷积神经网络被训练。然后获得内部点边界框,51个内部特征点的初始化估计由第二层产生。基于初始化估计的结果,6个脸部组件的局部区域(也就是,眉毛,眼镜,嘴巴和鼻子)被计算。然后第三层被训练为提纯每一个独立脸部组件的特征点。最后每一个组件的旋转角度被评估然后改正到垂直方向,旋转的补丁被第四层预测最后结果的网络填充。
轮廓点 一个更简单的级联网络用于轮廓点定位。由于边界轮廓覆盖了脸颊,第二层使裁减不正的图片作为输入和计算来自原始像素的轮廓点的协调器。由于时间限制第三和第四层网络不被使用,我们留下了更深层网络更多探索的工作。
3.由粗到精的深度级联卷积神经网络
我们框架的中心思想是由粗到精。每一层网络提取了前层计算区域特征点的子集。在第一层,人脸被分为两个部分:内部和轮廓。第二层之后,内部人脸组件被更深层的分开。另外,我们不会更深的训练每一个人脸特征点的个人网络,所以系统的测试时间是可以接受的。由粗到精的框架存在多重益处。
3.1.损失函数的分离
通过不同特征点定位的困难不平衡。尤其,由于以下两个原因轮廓点比内部点更困难的多。第一,脸部图片提供了更少的局部性质信息轮廓点相比较内部特征点,但是来自靠近这些点背景的不相关信息更显著。另外,对于这些点地面真实性本身存在更多噪点,因为准确点位置的定义更模棱两可。这些因素导致了在两部分训练错误的重度不平衡,因此如果68个点被一起训练L2损失函数将被轮廓点主导。所以训练两个独立子系统给整个系统机会学习内部点细节结构而不是致力于更多的它的容量去适合“困难”轮廓点。支持我们的结论的实验根据被获取。
在内部点之间,脸部组件的相对困难仍然不适应。正如第五部分展示的那样,眉毛显著的更困难同时系统眼睛的预测更准确。
3.2.多重几何约束
定位任务被分解为多阶段和点或组件之间的相互影响在每一个阶段都被考虑。在第一层,与人脸姿势紧密相连的人脸轮廓相对位置被计算。在更高层,更多细节信息被一步一步显露。在第二层网络学习人脸组件的相对位置,他的知识借助边界去成功层处理识别组件形状的任务。自从全局信息被考虑在第二层,第三层网络可能被局部错误造成最终预测的漂移。有趣的是,我们发现第三层网络可能给出明智的输出即使输入存在随机噪声(参见图3)。
3.3.修正输入图像
边界框携带位置信息和一群点的范围到下一层。因此边界内部的图像通常以转化和比例的形式结合在一起。与之相对,由脸部检测返回的矩形与满意程度相距甚远。在一些案例中,它包含了太多不相关的背景信息混淆了神经网络。此外,脸部不总是在矩形的中心,这使系统的定位工作更加复杂。
DCNN通常被认为足够的强大,可以去处理输入图像中很大的差异,但是单个神经网络的容量仍然受它大小的限制。考虑到先验知识的不足,网络将其能力很大的一部分致力于寻找脸部位置。为了解决这个问题,分而治之的策略被采用,将任务分割为两个步骤:第一寻找总体位置,然后计算内部区域的相对位置。对于整个脸部,第一步由没有包含内部结构点细节结构的监督信号的第一层神经网络执行,剩余的任务交给成功层。用这种方式,负担被平摊到了不同层,只需要中等大小的网络就可以很好的执行。
这个想法在第三层和第四层更深入的推广,方位通过图像补丁的旋转被典型化。由于在先前层预测了一个健壮的旋转角度失败造成的结果是严重的,所以只在第三层之后考虑旋转。实验结果表明第四层给出了一个执行的收获不像先前层那么显著,但是不能完全忽略。
4.实现细节
深度卷积神经网络 我们使用深度卷积神经网络作为系统的基本建设模块。网络使原始像素作为输入和展示在预期点坐标的线性回归。图4是深度结构的示例。三层卷积在输入节点之后被堆起来。每一层卷积运用了几个滤波器到每一个多通道输入图像和输出响应。输入t-th卷积层成为It,然后根据下列公式计算输出:
I代表卷积层的输入,F和B是可调整的参数。根据标准的例子,切线高度和完全价值函数被运用到滤波响应使这个系统非线性。
非重叠池化区域的最大池化算法被使用卷积后:
在寻找准确像素层定位任务中使用最大池化层看上去是不自然的。然而,这些层在整个系统的健壮性被这些层级导致弥补在池化操作的信息损失仍然被简单采用,整个形状和特征点的相对位置比在输入图像中的像素水平细节更重要。在卷积层之后是非分享卷积层。滤波器运用的不是相同的通过不同位置,所以本层是本地能容纳的而不是卷积。
最终预测由一或两个完全连接层级产生。参数可以调整到最小化L2损失:
网络大小 我们深度卷积神经网络的结构是由工作激发。表1给出了网络结构的总结。我们在系统的不同部分使用三种网络。在第二层被使用网络中,由于它的输入覆盖了整个脸部的范围所以N1有更高的分辨率。
训练 神经网络被手动调整高度参数随机梯度训练。为了避免过度,图像被细微相似转换随机改变(旋转,转化和衡量)在填充至网络之前。这一步创造虚拟无限的训练样本数量和保持训练错误接近我们证明的错误。同时,我们轻击图像对于右眼重新使用左眼的模型,和对于右眉毛使用左眉毛的模型。
图像处理 图像补丁从零平均值和单元变化被正规化,然后一个切线高度函数被使用,因此像素值落在了[-1,1]区间范围内。当收获在边界内部的图像时,边界被从10%扩大到20%。更多的上下文信息被扩大,他允许系统在边界评估步骤承受小失败。在第四层,旋转角度从在脸部组件的两个角度点位置开始被计算。
5.试验
我们在由300-Faces在野外挑战包含了3837张图片数据集上开展我们的试验。图片和注释来自AFW,LFPW,HELEN,和IBUG[6,1,12,7,8]。500张图片的子集作为我们随机选择的验证集:两个性能评价模型被用在验证集上:第一是在预测的特征点位置和由内部视觉距离规范化的全局真实之间的平均距离
其中M是特征点的数量,p是预测值,g是全局真实,l和r是左眼角和右眼角的位置。第二是计划相对正常距离百分点的累积错误弯曲。
5.1.我们方法的验证
定位68个特征点的困难程度变化显著。图5展示了对于不同脸部组件的验证错误。在轮廓点表现出明显的错误。我们想法的动机是从内部点分离出轮廓点。
将轮廓点从内部点中分割开来对于我们的执行是必要的。我们开展一个三个网络训练的实验。他们其中更大的一个,一起预测了68个点。另外两个分别学习了轮廓点和内部点,计算数量的总和涉及到两个网络的训练和测试与大网络匹配。为了评估其他影响因素,网络的输入区域从全局真值被计算。图6展示了在内部点分割改善了的表现而轮廓点表现是不差的。
在我们系统中,面部检测给的矩形不会直接使用去计算网络的由实际脸部特征点产生的输入区域。相反,第二层图像根据第一层的预测被收获。如果脸部检测的边缘被直接代替,表现将更加恶化。表2列出了在不同环境下验证错误的实现。他表明在由第一层评估边界的内部点性能有所改善。
为了从数量上调查第三和第四层的影响,我们在每一层网络计算实现的验证错误。训练对于每一个组件分离的网络使第三层网络改善14%的性能。性能收获仍然由第四层在旋转修正时获得。
5.2.与其他方法相比较
图7是我们系统在野外挑战300张人脸的结果。我们的结果比AAM基线要好的多。我们也在验证集上和其他系统的性能进行比较。由于这些检测产生了不同的人脸特征点集合,我们仅仅展示了当和它们比较时相同特征点的相对改善。表3列出了结果。我们的系统胜过这些公共可购得或商业的特征点检测系统。
图8给我们从验证集中带来了一些例子。我们系统可以处理在姿势和光照条件上包含巨大不同的图像。他可以预测面部形状甚至存在扭曲。尽管成功了,更好的改善机会仍然存在,尤其在眉毛或面部轮廓点。
6.总结
我们提出了一个新的自动人脸特征点定位系统。在我们的方法中,四级深度卷积神经网络被细致设计为由粗到精的级联网络。为了验证我们结构的有效性,我们展示了我们的系统在300万张人脸特征点定位挑战中可以实现良好的性能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值