(中国科学技术大学 信息科学技术学院,合肥 230027)
人脸关键点对于理解和分析人脸面部行为至关重要,人脸关键点定位的优劣能够直接影响人脸识别[1]、表情分析[2]或头部姿态估计[3]等应用的最终性能。人脸关键点跟踪是计算机视觉领域一个重要且富有挑战性的课题。随着300-VW挑战的推动以及300-VW数据集[4-6]的开放,人脸关键点跟踪问题受到了越来越多的关注。
当前,人脸关键点定位方法大致可分为3类:即基于主动外观模型(Active Appearance Model,AAM)[7]的方法、基于约束局部模型(Constrained Local Model,CLM)[8]方法和级联回归方法[9]。后者在精度和速度两方面都表现出比前两者更好的性能,因而受到广泛关注。然而,级联回归方法的主要局限性在于其具有初始化依赖性,即初始化的优劣将对模型的定位精度产生重要影响。此外,利用深度学习的人脸关键点定位方法[10]尽管获得了很高的精度,但由于所需计算资源过高,难以改变为实时的人脸关键点跟踪方法。
近几年,一些人脸关键点跟踪方法相继被提出。文献[11]在多视角AAM框架下,通过随机森林和线性判别分析对跟踪的人脸实时更新精确的姿态信息,但该方法泛化能力不佳,跟踪速度慢。文献[12]提出一种在线参考外观模型,利用增量学习在线更新AAM的纹理模型和参考模型,在无需训练集的情况下实现人脸关键点跟踪,但该方法跟踪精度不高,鲁棒性较差。文献[13]将基于树的可变形部件模型(Deformable Part Model,DPM)人脸关键点检测器进行调整,逐帧应用静态人脸关键点检测器,使用卡尔曼滤波器获取稳定的人脸框并补偿可能存在的人脸检测器失败,但该方法没有利用视频序列的帧间相关性,跟踪鲁棒性较差,速度慢。文献[14]提出形状扩充回归方法,为不同人脸形状自动选择回归函数。该方法也没有充分考虑视频序列的帧间相关性。文献[15]利用多视角级联形状回归降低形状回归模型构造过程中的形状变化。该方法不能较好地处理复杂场景下的人脸关键点跟踪。文献[16]通过多步级联回归方法获得了较稳定的人脸关键点跟踪。然而,该方法过于庞大的模型限制了该方法的实际应用。
本文在上述研究的基础上,对回归局部二值特征(Local Binary Features,LBF)[17]算法进行扩展,为处理初始化敏感问题,利用显著关键点选择更鲁棒的初始形状,提出一种鲁棒的人脸关键点实时跟踪方法。
Dollar等人[9]在2010年提出级联姿态回归(Cascaded Pose Regression,CPR)用于二维目标姿态估计。由于级联回归方法具有快速精确的特点,之后被广泛用于预测人脸形状。例如,文献[18]提出显示形状回归(Explicit Shape Regression,ESR)算法,文献[17]利用回归LBF获得了快速精确的人脸关键点定位。
级联形状回归的主要思想是:通过叠加的方式将一系列的回归器组合起来,近似初始形状与真实形状之间复杂的非线性映射。级联形状回归是一种迭代的回归方法,以级联的方式构建L个关键点的形状回归,其第k-1级回归的输出被用于第k级回归的输入,每一级的回归器依赖当前估计形状提取图像特征,可表示如下:
Sk=Sk-1+rk(Φk(I,Sk-1))
(1)
级联回归预测人脸关键点形状可进一步简化为:
SK=RK(I,S0)
(2)
其中,RK代表一个K级的级联回归器,该回归器由一组弱回归器rk(k=1,2,…,K)构成,将图像I和初始形状S0输入该回归器,最终得到估计形状SK。由式(2)不难看出,初始形状的选择对于级联回归方法的最终结果至关重要。
(3)
(4)
用于静态图像的人脸关键点检测算法往往利用平均形状或多个随机形状进行初始化,若直接将之用于人脸关键点跟踪,则忽视了视频图像序列相邻帧之间的相关性,将导致人脸关键点跟踪出现严重抖动、鲁棒性差、速度慢等问题。
在之前的人脸关键点跟踪中[14,21],通常直接将前一帧的人脸形状直接作为当前帧的初始形状,这并不能保证能够为当前帧提供一个好的初始化。在通常的回归方法中,形状约束信息被显式地[14]或隐式地[17-18]嵌入在模型中,即关键点位置彼此相关,因此,有些特征较少、难以准确检测的关键点(如人脸轮廓、眉毛和鼻梁上的关键点)将会促使整个初始形状很快偏移,进而导致人脸关键点跟踪恶化。
利用相似变换最小化人脸形状与平均形状之间的L2距离,对人脸形状对齐到平均形状进行规格化:
(5)
注意到在人工标注大量关键点时,往往是先将一些判别特征明显的关键点(如眼角、嘴角、鼻尖)标注出来,而面部轮廓、鼻梁、眉毛处的关键点由于较难标注,通常需要参考之前已经确定的点再进行标注,即使所要标注的是在具有挑战性场景下的人脸图片,这些较难标注的点也可以利用之前标注好的点进行大致推断,这实际上是一种简单有效的关键点标注策略。
本文选择如图1所示位于眼角、嘴角、鼻尖的7个关键点作为显著关键点(用较粗圆点表示),这7个关键点具有明显的特征,相对于人脸框的相对形状也比较鲁棒,且能粗略地代表整个人脸的位置。
显著关键点具有更强的判别特征以及易于跟踪的特点,而金字塔Lucas-Kanade(LK)光流算法[22]对具有显著局部外观的特征点能进行相对稳定可靠的跟踪,因此,本文利用金字塔的LK算法跟踪7个显著关键点,利用这些关键点约束初始形状,进而为68个人脸关键点的跟踪提供更鲁棒的初始形状。
从前一帧的估计形状提取显著关键点的形状,即:
Spre7=Spre68∘P68→7
(6)
其中,P68→7表示从前一帧的68个关键点位置中提取由7个显著关键点位置组成的子集合。
通过最小化式(7)求相似变换矩阵MS7:
(7)
其中,P68→7表示从68个关键点平均形状中提取7个显著关键点的子平均形状。
68个人脸关键点初始形状的选择过程如算法1所示。
算法1基于显著关键点的初始形状选择
输入前一帧68个人脸关键点组成的形状Spre68
输出当前帧68个人脸关键点的初始形状S0
1.从前一帧的估计形状提取出显著关键点的形状,即:Spre7=Spre68∘P68→7。
3.利用式(7)得到MS7。
在对许多开源人脸检测器(如OpenCV中的Viola-Jones人脸检测器、Dlib人脸检测器等)进行测试之后,综合考虑速度和准确率,本文选择文献[23]开发的人脸检测库作为本文方法的人脸检测器。
当前性能较好的人脸检测器在保持较低假正率的条件下,只能获得大约75%~80%的真正率[4]。由于假正等人脸检测器失败情况的存在,对于无约束环境下的视频,几乎不可能为所有帧都提供正确的人脸框,因此有必要减轻对人脸检测器的过度依赖。由于大多数的人脸检测器检测速度不够快,其检测速度在有挑战性的环境下(如大姿态、遮挡、不良光照条件等)很难实现实时。逐帧利用人脸检测器将很难实现实时的人脸关键点跟踪,因此,为了保证效率,借助人脸跟踪是有必要的。
由于本文所提方法可以获得比较稳定的人脸形状,因此本文利用得到的人脸形状粗略估计人脸框的位置,将估计得到的人脸框用作下一帧的人脸框,这将显著降低人脸检测所占用的时间,进而提高人脸关键点跟踪算法的速度,同时也减少了对人脸检测器的过度依赖。由于严重遮挡和场景边界等因素仍然会存在人脸关键点跟踪失败的情况,为避免因不良的人脸框估计而导致的的误差累积,受文献[20]提出的智能初始化启发,本文应用一种人脸检测器重启机制,若当前帧与前一帧形状变化超过预先设定的阈值时,将会触发人脸检测器(在特殊情况下,若人脸检测器重启后未能返回一个结果,假定1阶马尔科夫依赖,利用最近返回的人脸框作为当前帧的人脸框)。
本文人脸关键点跟踪方法的一般过程描述如算法2所示。
算法2人脸关键点跟踪方法
输入图像I,人脸框B,模型RK,前一帧的估计形状Spre68
输出当前帧的估计形状Scur68
1.if B由人脸检测器检测得到
3.else #利用前一帧人脸形状估计当前帧的人脸框
4. 利用算法1得到初始形状S0
5. 当前帧的估计形状:Scur68=RK(I,S0)
3.1.1 实验环境
本文方法基于VS2013编译环境实现,实验测试平台为Intel(R) Core(TM) i5-6200U CPU@2.30 GHz,8 GB RAM,操作系统为Windows 10 企业版64位。
3.1.2 数据集
为训练模型,本文使用300-W数据集中AFW、HELEN和LFPW的训练集,以及从300-VW数据集的训练视频中取出的10%的帧用于模型训练,共计12 645帧。通过对每一帧训练图像随机选择多个初始形状实现训练集扩充,进而提高模型泛化能力。
实验所用测试集为300-VW测试集。300-VW测试集共包含64个测试视频,被300-VW挑战的组织者划分为3个不同的场景。场景1包括31个在受控条件下记录的视频,场景2包含19个在严重照明变化的条件下记录的视频,场景3包括14个在完全无约束的场景下捕获的视频。
上文所提到的数据集均对68个人脸关键点进行了标注。
3.1.3 评估方法
(8)
其中,n表示所要计算误差的关键点个数,douter表示利用真实形状计算的2个外眼角之间的欧几里得距离,被用来归一化误差以使误差结果与人脸实际大小或摄像机变焦等因素无关。误差结果以累积误差分布(Cumulative Error Distribution,CED)曲线和曲线下面积(Area Under Curve,AUC)的形式进行概括汇总。
如图2所示为本文方法与其他几种对比方法在3种不同的场景下,归一化误差在0.08以内的累积误差曲线(49个人脸关键点不包含面部轮廓上的点,是68个关键点的子集)。Chehra[24]人脸关键点跟踪器是300-VW挑战的基线(Baseline)方法,该方法只跟踪49个人脸关键点。本文对比方法的原始实验数据均来自对应原作者。从图2可直观地看出,本文方法在3种场景下均明显优于基线方法以及文献[13-14]方法,3种场景下均有90%以上的测试帧归一化误差小于0.08。对于文献[15-16]方法,将在下文全部68个关键点上通过计算AUC值进行定量比较。
图2 49个人脸关键点累积误差分布曲线对比
本文方法在小于某些特定误差阈值下的归一化平均误差(49个人脸关键点)如表1所示。
表1 不同误差阈值下本文方法归一化平均误差1 %
从表1可知,本文方法在场景1测试集93.55%的测试帧上获得了3.04%的平均误差,在场景2测试集95.55%的测试帧上获得了3.51%的平均误差。值得注意的是,本文方法在难度最大的场景3测试集93.57%的测试帧上获得了3.65%的平均误差,表明本文人脸关键点跟踪方法在无约束环境下仍较为鲁棒。
由图3和表2可以看出,对于68个人脸关键点,不难得到类似于49个关键点的实验分析结果,此处不再赘述。值得注意的是,68个人脸关键点的实验结果比49个人脸关键点的实验结果稍差,这是因为68个关键点所包含的面部轮廓上的点相对来说难度比较大。
图3 68个人脸关键点累积误差分布曲线对比
表2 不同误差阈值下本文方法归一化平均误差2 %
文献[15]在场景1中获得结果最好,文献[16]在场景2和场景3获得结果最好。为与之比较,对于68个关键点,分别计算3种方法归一化误差直到0.08为止的AUC值,如表3所示,其中加粗数据表示较优结果。可以看出,本文方法在场景3,即完全无约束环境下获得了比文献[15-16]更好的结果,在场景1和场景2获得了与两者可比较的实验结果。
表3 归一化误差到0.08为止的AUC值
利用3.1.1节所述实验环境,使用C++单线程编程实现,本文人脸关键点跟踪方法的速度达到30+f/s,能够用于大多数人脸相关的实时应用。
本文利用显著点约束初始化对局部二值特征算法进行扩展,提出一种简单有效的人脸关键点跟踪方法。该方法在300-VW数据集的3种测试场景下性能均明显优于基线方法,且在无约束环境下仍较为鲁棒。下一步将研究人脸检测器重启后不能返回人脸框时的处理方法,以及同时跟踪多人的人脸关键点跟踪方法。
[1] WAGNER A,WRIGHT J,GANESH A,et al.Toward a practical face recognition system:robust alignment and illumination by sparse representation[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2012,34(2):372-386.
[2] ZENG Z,PANTIC M,ROISMAN G I,et al.A Survey of affect recognition methods:audio,visual,and spontaneous expressions[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2009,31(1):39-58.
[3] MURPHY C E,TRIVEDI M M.Head pose estimation in computer vision:a survey[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2009,31(4):607-626.
[4] CHRYSOS G G,ANTONAKOS E,ZAFEIRIOU S,et al.Offline deformable face tracking in arbitrary videos[C]//Proceedings of IEEE International Conference on Computer Vision Workshops.Washington D.C.,USA:IEEE Press,2015:1-9.
[5] SHEN J,ZAFEIRIOU S,CHRSOS G G,et al.The first facial landmark tracking in-the-wild challenge:benchmark and results[C]//Proceedings of IEEE International Con-ference on Computer Vision Workshop.Washington D.C.,USA:IEEE Press,2015:1003-1011.
[6] TZIMIROPOULOS G.Project-out cascaded regression with an application to face alignment[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C.,USA:IEEE Press,2015:3659-3667.
[7] COOTES T F,EDWARDS G J,TAYLOR C J.Active appearance models[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2001,23(6):681-685.
[8] CRISTINACCE D,COOTES T F.Feature detection and tracking with constrained local models[C]//Proceedings of BMVC’06.London,UK:[s.n.],2006:929-938.
[9] DOLLAR P,WELINDER P,PERONA P.Cascaded pose regression[C]//Proceedings of 2010 IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C.,USA:IEEE Press,2010:1078-1085.
[10] PENG X,FERIS R S,WANG X,et al.A recurrent encoder-decoder network for sequential face alignment[C]//Proceedings of European Conference on Computer Vision.Berlin,Germany:Springer,2016:38-56.
[11] 黄 琛,丁晓青,方 驰.一种鲁棒高效的人脸特征点跟踪方法[J].自动化学报,2012,38(5):788-796.
[12] 郭修宵,陈 莹.非约束环境下人脸特征点的稳定跟踪[J].计算机辅助设计与图形学学报,2014,26(7):1135-1142.
[13] URICAR M,FRANC V,HLAVAC V.Facial landmark tracking by tree-based deformable part model based detector[C]//Proceedings of IEEE International Conference on Computer Vision Workshops.Washington D.C.,USA:IEEE Press,2015:10-17.
[14] WU Y,JI Q.Shape augmented regression method for face alignment[C]//Proceedings of IEEE International Conference on Computer Vision Workshops.Washington D.C.,USA:IEEE Press,2015:26-32.
[15] YANG J,DENG J,ZHANG K,et al.Facial shape tracking via spatio-temporal cascade shape regression[C]//Proceedings of IEEE International Conference on Computer Vision Workshops.Washington D.C.,USA:IEEE Press,2015:41-49.
[16] XIAO Shengtao,YAN Shuicheng,Kassim A A.Facial landmark detection via progressive initialization[C]//Proceedings of IEEE International Conference on Computer Vision Workshops.Washington D.C.,USA:IEEE Press,2015:33-40.
[17] REN S,CAO X,WEI Y,et al.Face alignment at 3 000 f/s via regressing local binary features[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C.,USA:IEEE Press,2014:1685-1692.
[18] CAO X,WEI Y,WEN F,et al.Face alignment by explicit shape regression[J].International Journal of Computer Vision,2014,107(2):177-190.
[19] BREIMAN L.Random forests[J].Machine Learning,2001,45(1):5-32.
[20] BURGOS-ARTIZZU X P,PERONA P,DOLLAR P.Robust face landmark estimation under occlusion[C]//Proceedings of IEEE International Conference on Computer Vision.Washington D.C.,USA:IEEE Press,2013:1513-1520.
[21] XIONG X.Supervised descent method and its applications to face alignment[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C.,USA:IEEE Press,2013:532-539.
[22] BOUGUET J Y.Pyramidal implementation of the Lucas Kanade feature tracker description of the algorithm[J].Opencv Documents,1999,22(2):363-381.
[23] Libfacedetection[EB/OL].[2014-02-15].https://github.com/ShiqiYu/libfacedetection.
[24] ASTHANA A,ZAFEIRIOU S,CHENG S,et al.Incremental face alignment in the wild[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C.,USA:IEEE Press,2014:1859-1866.