遮挡人脸检测方法研究进展

2020-07-06 13:34刘淇缘卢树华兰凌强
计算机工程与应用 2020年13期
关键词:人脸特征算法

刘淇缘,卢树华,兰凌强

中国人民公安大学 警务信息工程与网络安全学院,北京 102600

1 引言

人脸检测作为人像比对[1]、人脸属性识别[2]、面部行为分析[3]、视频人像追踪[4]等计算机视觉任务的基本步骤,在过去50余年的时间里,取得了长足发展。20世纪70 年代中期,人脸检测逐渐从目标检测中独立发展起来[5-6],但由于当时存在硬件设备发展滞后,特征提取算法不成熟,训练数据集不完备等技术瓶颈,检测算法在精度、速度方面表现不足。20世纪90年代开始,科学界对这一领域的关注度明显升高,诸多优质算法,如V-J人脸检测器(Viola-Jones Face Detector,V-J FD)[7]、混合因子分析(Mixture of Factor Analyzers,MFA)[8]、多视觉人脸检测器(Multi-View Face Detection,MVFD)[9]和特征描述符,如哈尔特征(Haar-like Features)[10-12]、局部二值特征(Local Binary Pattern,LBP)[13]、尺度不变特征变换(Scale-invariant Feature Transform,SIFT)[14]、方向梯度直方图(Histogram of Oriented Gradient,HOG)[15]等在这一时期设计提出,支持向量机(Support Vector Machine,SVM)[16]、提升算法(Boosting)[17]等经典机器学习方法也在这一时期发展并趋于完善。近十几年,新的面部特征描述子如加速稳健特征(Speeded Up Robust Features,SURF)[18]、积分通道特征(Integral Channel Features,ICF)[19]和优质模型如树结构模型(Mixture of Trees Model,MTM)[20]等用于人脸检测,取得了显著的进展,特别是深度学习技术[21-24]广泛应用于人脸检测领域,促使人检测准确率和速度不断提高,如Li 等人[25]提出的级联卷积神经网络(Cascade Convolutional Neural Network,C-CNN)在自然标注人脸数据集(Annotated Faces in the Wild,AFW)[20]上达到了98%的平均精度。但是,上述人脸检测算法大多是以受限条件下的图片为检测对象进行的,在面向现实场景的应用时,人脸检测仍然面临诸多挑战[26-28]:如光照变化、人群高密度、图像低分辨率、小人脸、姿态变化以及遮挡问题等,其检测准确率和实时性仍有待进一步提高。

人脸遮挡问题在现实生活中普遍存在,包括佩戴饰品或面具引起的实物遮挡,身体姿态变化引起的自遮挡,外界光照引起的光遮挡,以及几种遮挡类型同时出现的混合遮挡等。上述遮挡可由自然(光照、角度等)或人为(装饰、伪装等)原因引起,值得一提的是,有些不法(暴恐)分子通过各种手段遮挡或伪装人脸,给相关人员搜集线索、固定证据带来较大困难。遮挡人脸检测的难点在于由遮挡造成的特征缺失和噪声混叠等,不同遮挡情况对人脸检测算法造成不同程度的影响,导致误检甚至漏检,严重影响基于人脸检测相关应用的进行。近年来,随着受限条件下人脸检测算法趋于成熟,研究人员逐渐向遮挡条件下的人脸检测发起了挑战[29-30],并取得了显著的进展,为人脸检测和识别在现实场景下的应用奠定了良好的基础。本文聚焦于遮挡条件下的人脸检测方法研究进展,借鉴文献[31]的思想,将遮挡人脸检测算法根据特征设计与提取的方式不同分为基于手工设计特征的经典方法和基于深度学习的现代方法,具体方法体系如图1 所示。文章对比分析了不同算法的基本原理、性能评价以及存在的问题,探讨了未来可能的研究方向,期望能为遮挡人脸检测相关研究提供一定的参考。

2 基于手工设计特征的经典方法

特征提取是计算机视觉任务中的重要一环,特征可辨性对模型性能有直接影响。手工设计特征是特征提取的经典方法,设计者根据先验知识,参考人眼视觉特点来设计特征。基于手工设计特征的模型应用广泛,在人脸检测方面成果较多。近年来,随着人脸检测面向实景应用发展,有遮挡人脸检测逐渐成为活跃的研究课题[32-34]。本章仅就基于手工设计特征的遮挡人脸检测算法的研究进展进行论述,依据方法原理可将其分为两类:一类是基于Adaboost 的级联结构算法体系;另一类是基于DPM的模板匹配算法体系。以下主要从不同算法体系的实现原理、模型性能及存在的问题等方面进行总结分析(下文中表1为算法性能汇总)。

图1 遮挡人脸检测方法简图

2.1 基于Adaboost的级联结构算法

Adaboost[35]是一种通过自适应模式调整样本权重,将训练得到的弱分类器组合为强分类器的提升算法。Viola-Jones(VJ)[7]作为基于Adaboost级联结构的经典算法,在人脸检测的发展历程中具有里程碑意义,VJ在保证精度的同时将速率提升了两个数量级,实时性方面的突破性进展使得人脸检测技术得以投入现实应用。VJ检测器采用类Haar 描述子描述人脸特征,为降低计算成本,提高效率,引入了积分图的方法,即取用一张与原图像等大的图片,其中每一点的像素值用原图中该点左上角的所有像素和表示,这样即可方便算出一个区域的像素值。随后采用Adaboost算法,先训练只能分辨一个特征的弱分类器,再根据训练结果增加错误分类样本的权重和分类正确的分类器的权重进行迭代,将训练好的分类器按权重线性相加达到提升分类性能的目的,最后将几个强分类器按复杂程度排序构成级联结构。由于Haar 特征的固有局限性,VJ 算法难以用于任意角度变化、遮挡等复杂场景的检测[36],但其在检测速率方面的大幅提升和在受限条件检测方面的突出表现,为后来基于Adaboost 的级联结构面向包含遮挡在内的现实场景检测发展奠定了基础。

此后一段时间,基于Adaboost的级联结构集中于正面人脸的遮挡问题上[37-39]。以改进Adaboost 检测器为例,Chen等[40]统计特征数据后发现,利用Haar特征训练的基于Adaboost 的人脸检测器学习到的特征集中在人眼周围,当眼部信息被遮挡时,级联检测器将无法作出正确判断,为解决部分遮挡人脸的检测问题,其在Ada-boost 的人脸检测器上作出改进:首先将样本切割成不重叠的图像补丁;为增强检测器对图像补丁的敏感度,通过计算补丁与眼部特征重合部分的占比,手工设置阈值,将弱分类器学到的特征映射到具体的图像补丁;再计算图像补丁权重,公式(1)为1 时即判定图像补丁与弱分类器的关系为高度相关,并通过公式(2)计算补丁权重,继而判断输入窗中是否包含人脸。

改进后的级联检测器在网上收集的包含各种遮挡人脸的数据集上进行实验,结果表明,改进后的人脸检测器较原检测器在遮挡检测方面性能大幅提升,也印证了图像补丁与弱分类器的映射可以很大程度上克服Haar特征对区域依赖性强的问题,不足之处在于这种检测器限定待测人脸角度并且由于当时缺乏专门的遮挡数据集和评测标准,模型没能在通用遮挡数据集上进行测试。

随着新的特征描述子和包含遮挡数据集的提出,基于Adaboost的检测算法在遮挡问题上取得了一些进展。Liao 等[41]根据韦伯分数提出标准像素差(Normalized Pixel Difference,NPD)图像特征,NPD通过计算像素相对差值得到,具有缩放不变性、特征有界性及原图重构性,该算法利用深度二叉树对模型进行训练,并用Adaboost筛选最具可辨性的特征级联成强分类器用于人脸检测,在FDDB上的检测结果优于同期相关的人脸检测器。该模型对遮挡人脸检测问题的有效性来源于NPD对全局像素的无差别关注,即通过加强面部信息可辨性处理遮挡问题,模型的高效性及NPD 特征的先进性对遮挡人脸检测的研究发挥了积极作用。高树静等[42]对Adaboost算法进一步优化,将浮点数转为定点数以减少运算成本,优化后的Adaboost算法在ZYNQ平台实现实时检测,结合感知哈希算法实现并行人像检测及跟踪。实验表明,这种改进方法极大地降低了实现成本。

在应用方面,手工设计特征结合Adaboost算法的优势在于检测高效性和正脸遮挡有效性,这些特点都与ATM 的现实环境相契合[43],Zhang 等[44]提出 Adaboost 结合皮肤颜色特征形成强分类器的方法处理ATM环境中的遮挡人脸检测,研究人员面向ATM犯罪问题,用高斯函数拟合头部轮廓构建势能函数用于头部检测,为进一步鉴定人脸是否被遮挡,用Adaboost算法级联肤色分类器和轮廓分类器,形成精度更高的强分类器。实验证明,级联后的强分类器遮挡检测性能更优,然而其受检测场景制约较大,应用于现实场景的实时检测仍有较大局限。

2.2 基于DPM的模板匹配算法

形变部件模型(DPM)[45]是基于手工设计特征的经典人脸方法中又一具有里程碑式意义的算法模型,该模型连续3年在PASCAL VOC挑战赛数据集上取得综合表现最优的结果[46-48]。在DPM的组成中,局部模型[49]概念极为重要,其独创性的将物体描述为一组部件,并用弹簧模拟各个部件之间的联系,如图2(a)所示,这就是著名的弹簧形变模型。2005 年,Felzenszwalb 等[50]将这一模型概念运用到图形结构算法(PS)中用于物体描述,PS算法找到最优匹配过程即为最小化L的过程:

式(3)中,L表示模型,I表示图像,通过一个无向图G=(V,E) 来描述面部图形结构,如图2(b)所示,V={v1,v2,…,vn}代表模型的个组件,E表示组件的连接,即当vi,vj相连时,有(vi,vj)∈E,li表示vi在图像中的对应位置,mi(li)则表示vi与li的不匹配程度,dij(li,lj)用来度量vi,vj与li,lj的形变程度。L最小时对应的I即为最优匹配。

图2 面部模型图

PS 模型采用树形弹簧结构模型解决形变问题,通过动态编码提高效率,是目标检测中的优质模型。不足之处在于在较难数据集上的性能易被特征袋、刚性模板等简单模型超越且检测速度较慢。问题是由于复杂模型通常含有大量隐藏信息,训练难度更大,为此,Felzenszwalb 在PS 模型框架中融合隐藏变量支持向量机(Latent Support Vector Machines,LSVM),采用一种难例挖掘方法,并用式(4)对样本x进行评分:

其中,β是模型参数向量,z是隐藏变量,是特征向量。针对PS算法检测速度慢的问题,文献[49]引入特征金字塔,将模型扩展成星型结构,并通过主成分分析在不产生明显信息丢失的情况下进行特征降维,以提高检测速度。经过这两方面改进,PS 模型演进成混合多尺度可变形部件模型(Mixture Multi-Scale DPM,MMS-DPM),检测精度和速度均有较大提升。但由于星型结构的引入,计算量仍很大,Felzenszwalb等人对星型结构进行级联判断,快速剔除无用配置,检测效率跃升20倍[51]。至此,基于DPM的目标检测框架基本完成,为后续基于形变模板的遮挡人脸检测奠定了基础。

2012 年,Zhu 和 Ramanan[20]针对现实环境中人脸因角度变化引起的自遮挡问题,提出可以同时用于人脸检测、姿势估计、标记估计的混合树模型MTM。该模型传承了PS 算法中树形结构和动态编码的思想,提出带有部件共享池V 的MTM,树形结构在获取全局弹性形变方面有突出优势,全局混合可捕获由于视点引起的拓扑变化,如图3所示。该模型寻找最佳匹配的过程可描述为式(5)中计算部件L的组态得分S(I,L,m)最大值的过程。

式(5)中,面部树形结构仍用无向图(V,E)表示,m表示增加的混合,即Tm=(Vm,Em),I表示图片,li=(xi,yi)是部件i的像素位置。式(6)表示在部件的像素位置上放置模板微调参数m后的外观表现总和,ϕ(I,li)表示在图片的li处提取的特征向量,式(7)表示部件L特定混合下的空间排列,dx=xi-xj,dy=yi-yj表示第部分对第j部分的位移,式中每一项都可表示一对部件间引入的空间约束的弹簧,(a,b,c,d)表示弹簧的静止位置和刚度,最后一项∂m是与视点混合m相关的标量偏置,S的最大取值即对应最佳匹配。实验结果表明,MTM的性能优于数10亿数据训练出的商用算法Google Picasa and face.com。遮挡人脸检测是从对自然环境下人脸检测的关注中发展起来的,MTM模型将DPM用于现实场景检测并关注到了自遮挡问题,为基于模板匹配的遮挡人脸检测算法的发展奠定了基础。

基于部件的模型处理遮挡的通用方法是用部件特征得分与固定阈值比较[52],然而设置阈值的标准难以确定。针对这一问题,Ghiasi 等[53]提出一种可以明确模拟部件遮挡的级联形变部件模型(Hierarchical deformable Part Model,HPM)。HPM 的结构如图 4 所示,与DPM和MTM 模型不同的地方在于其添加了不包含“根过滤器”的部件节点以及使用混合模型模拟遮挡模式,即每个部件采用一组形状状态和遮挡状态来表示。

HPM的树形结构得分函数为:

式(8)中,l、s、o分别表示面部部件和关键点的假设位置,形状和遮挡,Φ表示在位置li处编码的局部外观得分,Ψ是二次变形罚分,成对参数bij编码共现的特定遮挡模式和形状偏差。外观得分计算过程为:

由于外观模型仅与模型中的叶节点有关,所以式(9)仅对叶节点进行相加。其中,是使式(9)线性参数化的权重,如果第i个关键点未被遮挡,则外观特征Φ由在位li处提取的HOG 特征给出,否则该特征被设置为0。Ψ可线性参数化的表示为:

式(10)实际上是根据关键点j相对于其父部件i的位移对关键点的得分,ωij为标准的二次弹簧。实验结果表明,HPM 在定位遮挡人脸关键点方面性能优越。如图5所示,图(a)是用Zhu等的MTM模型定位遮挡人脸,不仅模型扭曲,未被遮挡的部分也因遮挡而定位不准;图(b)则是用HPM 定位相同图片的表现结果,可见HPM对遮挡进行显式建模的方式能明显改善扭曲定位并准确预测遮挡部位的关键点,然而部件节点的加入和动态建模的方法也大大增加了模型的计算量,严重影响实时性。

图3 视点变化引起的拓扑变化

图4 HPM结构模型图

图5 HPM与MTM检测结果对比图

Ghiasi等[54]为应对数据集中经常出现的图片低分辨率问题,在HPM 的基础上做了进一步的模型拓展和实验扩展,在HPM 基础上提出一个多分辨率变体模型(M-R HPM)。高分辨率模型仅在原模型基础上改变胞元大小为(3,3),低分辨率模型则将面部分为7个部件,并选用(7,7)的胞元大小。实验拓展方面,在HPM基础上改进参数,将原本的每个训练样例生成的4个合成遮挡样例扩充为8个,为验证M-R HPM模型的性能,分别在FDDB和自制含遮挡面部数据集UCI-OFD上与其他优质算法进行多方面比较,结果显示,M-R HPM 在遮挡子集里有明显的性能优势。

为进一步提升检测速度,Yan等[55]在级联DPM的基础上进行了三步改进,引入判别低秩根滤波器降低根分数计算成本,引入邻阈感知级联降低部件的计算成本,引入矩阵索引降低HOG特征生成的计算成本。实验表明,该算法保证精度的同时,速度较MTM提升了2个数量级。

DPM 融合了弹簧形变模型,对人脸角度、姿态变化较为鲁棒,HOG 特征本身具有的光照不变性使基于DPM 的算法体系对光照变化不敏感,而DPM 在通过滑窗检测时构建尺度金字塔,解决尺度变化问题,故该算法体系具备一定的处理人脸角度、姿态、光照及尺度变化等复杂场景的能力。此外,基于DPM 的算法体系还关注到了自然场景下的人脸检测问题,对检测环境的限制要求较低,且表现出在遮挡定位方面的优越性能,然而复杂的计算使其检测速度仍然较慢,难以实时应用。

表1 展现了基于Adaboost 和基于DPM 两种遮挡人脸检测算法体系的性能:

在检测速度方面,基于Adaboost的算法体系更具优势,在检测一张FDDB 图片时,基于ZYNQ 平台的Adaboost算法的检测速度较MTM提升了2个数量级,即使是最快的DPM 算法,速度仍稍逊于基于Adaboost 的算法体系。

在应对复杂场景方面,相较基于Adaboost的算法体系,形变部件模型的优势得以体现,基于DPM的算法体系针对遮挡人脸检测问题提出优化模型并在专门的遮挡人脸数据集上进行评测,给出更为直观的量化结果。在适用环境方面,基于Adaboost的算法体系优势在场景相对简单的单个正面遮挡人脸检测方面,如ATM环境、海关出入境卡口等,基于DPM 的算法体系适合于人流较为密集、人脸角度姿态变化更为丰富且实时性需求不高的环境。

表1 基于手工设计特征的经典算法性能汇总

3 基于深度学习的遮挡人脸检测方法

深度神经网路的发展[56-57]促使深度学习成为实现人工智能的重要技术方法,现已成功地应用于诸多领域,如自然语言处理、自动驾驶和生物特征识别等[58-59],其在计算机视觉领域表现十分突出[60-64],在处理遮挡人脸检测这一难点问题上也取得了较好结果,相关方法汇总如表2 所示。基于深度学习检测遮挡人脸的研究可归为三方面的工作:(1)加强未被遮挡的面部信息可辨性;(2)模仿人眼视觉机制,结合面部以外信息进行辅助检测;(3)完善人脸数据库,提高模型性能,这里着重从上述方面进行总结分析。

4 基于深度学习的遮挡人脸检测方法

4.1 充分挖掘未遮挡面部信息检测遮挡人脸

Faceness-Net[65]是较早按属性提取面部特征用于遮挡人脸检测的代表,该模型从人脸属性的角度解决遮挡人脸检测的问题,先用属性感知网络提取面部属性特征,各属性特征图联合形成面部特征用于候选区域的提取;随后利用面部空间结构唯一性为候选区域评分并排序,大量误报窗在此步骤被剔除;最后训练一个多任务的CNN 来同时完成人脸二分类和边界框回顾。Faceness-Net对遮挡的鲁棒得益于面部属性特征分类提取,从而实现当某部分被遮挡时,其他部分仍可被精确定位。大量实验表明,Faceness-Net性能优越,既保证了运行速率,又在提出人脸候选窗、召回率、平均精度等方面优于参与比较的其他先进算法,这印证了面部属性分析对遮挡人脸的检测具正向加成作用,然而这种方法也存在一定的局限性,实际应用中,许多遮挡人脸图像本身也属于低分辨率图像,遮挡面积较大或图片质量不高时会对面部评分带来困难。

Wang 等[66]通过整合 one-shot RetinaNet[67]和 anchorlevel attention 提出的人脸注意力网络(Face Attention Network,FAN)也是通过加强未遮挡部分的面部特征来实现遮挡人脸检测的。Retina Net由特征金字塔网络[68]和ResNet 结合而成,具有丰富的语义信息,FAN 在其5个检测层的每一层中的像素范围里参照标准人脸为anchor配有1∶1.5的宽高比。FAN的创新性在于设计了锚级注意力网络,并使传统的特征图与锚点图的乘法操作变更为指数操作,从而增强面部特征可辨性同时抑制面部以外的信息。注意力机制多用于语意分析,图像描述等领域,FAN的成功使注意力机制作用于困难人脸检测成为可能。

Zhu等[69]提出一种遮挡自适应深层网络(Occlusionadaptive Deep Networks,ODN)来实现遮挡人脸检测。ODN由三个模块组成:几何感知模块、蒸馏模块和低秩学习模块。图片经过残差模块生成的特征图同时输入到几何感知模块和蒸馏模块,分别获得几何信息和清晰的特征表示,蒸馏模块可以在估计面部外观和形状之间关系的过程中自动学习并推断出高级特征中每个位置的遮挡概率,遮挡概率充当高级特征的自适应权重,以减少遮挡的影响并获得清晰的特征表示。由于清晰的特征表示缺乏语义特征,无法表示整体面孔,为了获得详尽而完整的特征表示,这两部分信息又作为低秩学习模块的输入,通过人脸特征间关系恢复丢失的特征。经过实验验证,ODN性能优越,并对遮挡和极端姿势鲁棒。

人脸检测器对具有强分辨性的特征子块具有强依赖性,当这些部分被遮挡时,人脸常会被漏检,而另外一些不具有区分性的子部甚至会在正训练集上产生负中值响应。Opitz 等[70]针对这一现象为CNNs 提出一个可强化弱分辨力特征的损失层Grid loss,不同于以往的损失函数直接对整张图片计算损失的做法,Grid loss将人脸特征图分成若干网格,将每一格的损失与整张图的损失加和作为最终损失,强化了每一格的特征可辨性,进而训练CNNs 检测遮挡人脸。损失函数强化了特征图中每一个小网格的识别特性,即使遮挡住的部位是传统检测器所依托的强可辨性部位,仍能通过检测其他部位解决。实验验证运用Grid loss 构建的检测器可以大幅度提升对遮挡人脸的检测效果,并且Grid loss能起到正则化作用,在小样本训练时有更好的表现,可用于实时检测。值得注意的是Grid loss专为检测遮挡人脸设计,且不产生额外的时间代价,可与多种优秀的遮挡人脸检测框架结合,训练出更优质的模型,但其也存在难以应对大的姿态变化的缺陷。

4.2 利用复合信息检测遮挡人脸

由于大面积遮挡会使面部信息丢失较多,有限的特征会给检测带来困难,研究人员指出面部以外的信息用于辅助检测对提高模型性能非常重要。Zhu等人[71]指出只根据面部特征信息检测遮挡人脸的方法难以处理大面积遮挡问题,为此提出参考人眼视觉机制的基于语境的多尺度区域卷积神经网络(Contextual Multi-Scale Region-based CNN,CMS-RCNN),即面部和身体同时被检测到并符合特定的空间关系时才判定人脸存在。此方法的关键步骤在于如何融合好提取到的身体信息和面部信息,身体信息和面部信息的融合采用后期融合策略融合成一个长特征向量,使得网络能参考更多的语义信息。对比实验验证了融合身体信息后可以更好地应对遮挡这一类困难情况,CMS-RCNN 与包含Faceness-Net在内的其他4种先进算法进行了实验比较。实验结果表明,CMS-RCNN 无论在简单情况还是困难情况,都较其他算法有极为突出的优势,且测试数据集难度越高,系统表现越好,因此CMS-RCNN是R-CNN家族中更接近人眼检测的网络架构。PyramidBox 引入了一个语境敏感结构(Context-sensitive Prediction Module,CPM)[72]将语境信息整合到目标人脸周围,并增加预测网络容量从而提高对遮挡人脸的检测准确性。双射人脸检测器(Dual Shot Face Detection,DSFD)[73]在PyramidBox的特征金字塔网络(Feature Pyramid Networks,FPN)中结合感受野模块(Receptive Field Block,RFB)[74]提出性能更鲁棒的特征增强模块(Feature Enhance Module,FEM),同时改进了锚框设计和损失函数。这种多角度的改进很大程度上消除了遮挡和尺寸带来的检测障碍,并使DSFD 成为当时的最优算法,在Wider-Face和FDDB评测标准上都取得最优结果,多角度融合的改进策略可以有针对性地让经过验证的有效模块发挥作用,提升模型性能,然而这种多角度优化也可能在一定程度上增加计算时间。

表2 基于深度学习的遮挡人脸检测算法汇总表

Ge 等[75]提出的局部线性嵌入式卷积神经网络(Locally Liner Embedding CNN,LLE-CNN)也是从探索面部以外区域的信息来实现遮挡人脸检测的。检测流程如图6所示,输入的图片先经Proposal Module提取面部候选框,并用噪声描述符表示;随后在Embedding module中,经由大量图片构成的人脸字典和非人脸字典训练出的最近邻来细化描述符,由遮挡造成的遮挡面部信息在这一步得以补全;最后,Verification Module同时给出分类和回归的结果。经过大量的实验,LLE-CNN在遮挡数据集上MAFA上的表现中比次优算法AP值提高了15.6%,并在12种遮挡程度、类型,面部朝向下均优于其他6种方法。

2018 年,Chen 等[76]提出对抗性遮挡感知人脸检测器(Adversarial Occlusion-aware Face Detector,AOFD),利用深层对抗网络来模拟现实场景中的遮挡面部特征,并用生成的面部样本训练检测器,同时利用上下文信息在实现遮挡人脸检测的同时完成遮挡区域分割,为后续基于面部特征的相关任务提供帮助;AOFD在MAFA上结果与 FA-Net 和 LLE-CNN 进行比较,AP 分别提高了3.6%和31.3%,显示出AOFD在遮挡人脸检测方面的优越性能。Zhang等[77]提出一种基于上下文信息的生成对抗网络(Contextual based Generative Adversarial Network,C-GAN),充分利用面部周围信息训练GAN,以提高检测器性能,进而完成人脸检测。GAN 包含一个生成模型G和一个鉴别模型D,生成器生成样本供鉴别器鉴别,鉴别结果再反馈给生成器用于性能优化,G 和D在博弈的过程中交替优化。生成网络包含上采样子网和优化子网,低分辨率图像通过上采样子网输出高分辨率图像,优化子网完善高分辨率图像;鉴别网络的分类子网完成人脸-非人脸,真实图像-虚假图像的鉴别,回归子网用于完善较难人脸的边框检测,通过多种类别的实验,消融验证了C-GAN对遮挡人脸,小人脸这类难点问题的有效性。GAN在应对姿态变化方面上有突出优势,结合语境信息对抗生成更适宜复杂场景的人脸检测模型,但同时GAN也存在训练难度大、模型设计困难的问题。

需要特别指出的是,目前,诸多算法在遮挡人脸检测方面的表现被用作评价其应对困难场景能力的指标之一,这些算法并不专门针对遮挡情况提出,但经WiderFace复杂数据集测试,具有检测遮挡人脸的能力,从这些算法中可以提取对遮挡人脸检测有益的参考。SSH[78]在每个预测模块上通过滤波器对上下文信息建模,并消融验证明了上下文模块的加入使其在Wider-Face数据集上的测试精度平均提高了0.5%。选择性细化网络(Selective Refinement Network,SRN)[79]在浅层特征映射上通过选择性两部分类器(Selective Twostep Classification,STC)进行锚框分类,在深层特征上通过选择性两步回归器(Selective Two-step Regression,STR)进行锚框调整,加入感受野增强模块(Receptive Field Enhancement,RFE),使用1×k,k×1 的卷积层提供多种矩形感受野来融合上下文信息以达到优化检测性能的目的,SRN 在WiderFace 上的性能超越了PyramidBox。

图6 LLE-CNN框架图

值得一提的是在SRN算法上进一步优化得到的改进选择性细化网络(Improved Selective Refinement Network,ISRN)[80]和在PyramidBox 上通过对既有模块改进提出的平衡数据锚采样(Balanced Data Anchor Sampling),密集上下文模块(Dense Context Module)和多任务训练(Multi-task Training)得到PyramidBox++[81]。这两个算法都是当前最顶尖的检测算法,ISRN 在世界最大合照上检测到900张人脸,PyramidBox++的检测结果是916 张,这两个算法都充分利用了既有优质算法,发挥模块最佳效能,针对算法中的薄弱环节逐个有针对性的优化,进行整体检测性能的提升,如PyramidBox++中的BDAS 数据增强模块是SSD[82]采样模块与数据锚采样(Data-Anchor-Sampling,DAS)的结合,ISRN 在数据增强方面则是在SRN的基础上融合了DAS模块。这种薄弱环节的融合改进使算法在不损失速度的情况下提高了应对复杂人脸的检测精度。

基于深度学习的人脸检测方法通过设计网络框架自动学习图片特征,在充分挖掘未遮挡部分检测遮挡人脸的算法中,专注于面部特征,对姿态变化和局部遮挡有较好的处理能力,然而也因对面部区域的依赖性,性能受图像分辨率影响较大;在利用复合信息检测遮挡人脸的算法中,神经网络模拟人眼视觉机制,身体特征的加入使其对姿态、角度、尺寸、遮挡的检测性能更优。

表2 综合比对了基于深度学习的遮挡人脸检测算法的性能:

在检测速度方面,基于深度学习的算法体系虽仍较基于Adaboost的算法体系存在一些差距,但深度神经网络和GPU的运用已使该部分算法的检测速度整体得到较大提升。

在应对复杂场景的处理方面,基于深度学习的遮挡人脸检测算法在WiderFace Val_hard 子集和MAFA 上的AP突破90%,在FDDB上突破99%,说明了基于深度学习的遮挡人脸检测算法在处理背景复杂、姿态多变的自然场景人脸检测问题方面具有卓越性能。

在适用环境方面,基于深度学习的遮挡人脸检测算法因检测准确率高和抗干扰能力强的综合优势,适用于人流密集、姿态不受限的现场场景人流检测。

4.3 遮挡人脸检测数据集

数据集及评价标准对模型性能的提升和量化评估具有极为重要的作用,就遮挡面部的检测问题而言,一个数据完备,标注清楚的遮挡面部数据集是提升模型性能的有效方法。网络上开源的通用人脸数据集较多[83-85],然而针对遮挡人脸问题设计的数据集较为缺乏,目前可较好地用于训练和测评遮挡人脸检测器的开源数据集有 FDDB[86]、AFW、AFLW、300W、Wider Face[87]、MAFA[75]和COFW(Caltech Occluded Faces in the Wild)[88],汇总结果如表3所示。

其中,FDDB、AFW、AFLW 和300W 是自然场景下的人脸数据集,由于数据成像场景丰富,适用于遮挡人脸检测问题,WiderFace、MAFA、COFW 则专门标注了人脸的遮挡属性。

FDDB 数据集及评价标准自2010 年公布以来被广泛使用。数据是由雅虎新闻网站上收集到的2 845张图片组成,包含了大量遮挡、低分辨率、异常姿态等情况。FDDB 与大部分数据集不同之处在于其采用的是更贴合面部轮廓的椭圆形标注,根据椭圆中心位置、长轴短轴长度以及人脸方向确定椭圆框具体位置,并提供单独评分(Discrete Score,DS)和连续评分(Continuous Score,CS)两种评分方式,不同算法的分值通过ROC曲线直观比较。

表3 遮挡人脸数据集汇总表

AFW是早期为测评模型在自然场景下检测能力而提出的数据集,标注了矩形边界框,6个关键点及3种姿态变化,由于数据量较小,仅有205张图片,故多被直接用作测试集。

AFLW 同时标注了椭圆框、矩形框和21 个特征点,其中椭圆框的标注方法与FDDB相同,AFLW数据集包含21 997张图片,其中男女比例3∶2,人像外表和成像环境变化较大,数据丰富,标注清晰,对人脸属性分析、人脸检测和识别等领域的研究具有推进作用。

300W则是用半监督的方式统一标注AFW、Helen、IBUG 等多个数据集的图像,特征点为68 个,由于数据来源多样,故而对受检模型的泛化能力具有较好的评估性。

WiderFace 数据集包含 32 203 张图片和 393 703 个标注人脸,10倍于当时最大的人脸检测数据集,大量变化的标签脸在外观、比例、姿势和遮挡等方面具有较高的复杂度和丰富度,使其成为目前开源数据集中检测难度最大,数据丰富度最高的数据集之一。WiderFace 中158 989被选为训练子集,39 496为验证子集,其余为测试子集,其中验证集和测试集又根据检测的难易程度分为简单、中等、困难3个等级以供分类测试。

COFW 是较早设计的遮挡检测数据集,规模较小,设计初衷是为了检测遮挡下的面部标志点定位,包含1 852 张含遮挡的注释人脸。其中训练集包含1 345 张不包含遮挡的图片,测试集包含507 张包含遮挡的图片,平均遮挡率约23%,经过Grid loss[68]中的二次统计,其中329 张图片被遮挡的点位超过30%,属重度遮挡,剩余的178张则是轻微遮挡。

MAFA是专门针对遮挡(蒙面)人脸构建的数据集,包含从网上搜集来的30 811张图片,每张图片至少包含一张遮挡面,这一点是通用人脸数据集所不具备的。数据集手动标注6种属性,分别是人脸位置、眼镜位置、遮挡位置、面孔朝向(左,中,右,左前,右前)、遮挡程度(强,中,弱)和遮挡类型(简单面具:纯色人造遮挡物,复杂面具:复杂纹路的人造遮挡物,人体遮挡及混合遮挡),该数据集对更为复杂的遮挡人脸检测数据集构建以及深度学习模型训练和优化具有较好的参考意义。

5 总结与展望

5.1 总结

遮挡人脸检测是人脸识别、面部属性分析、视频人像追踪等计算机视觉任务面向现实场景应用难以回避的问题,受到较多关注,研究人员利用基于手工设计特征和深度学习的方法对遮挡人脸检测开展了深入的探索,并取得了显著进展。但是相比于一般人脸检测方法在通用数据集上的优异表现,有遮挡人脸检测算法在专门数据集上的准确率和效率尚存在一定不足。

表4综合比对了文中的三类算法体系的性能,可以看出,基于手工设计特征的两类经典算法在性能上尚存一定缺陷,基于Adaboost的算法级联弱分类器形成检测性能更优的强分类器,优点在于检测速度较快,实时性强,对硬件设备要求低,然而受手工设计特征灵活性不高和可靠性差的影响,对检测场景和待检人脸角度有较高要求。基于DPM的算法体系在发展过程中依次提出了克服模型训练难度大,检测速度慢,计算复杂度高,阈值标准难以确定,图像分辨率低等一系列问题的方案,逐步提高检测效率、精度及对遮挡的鲁棒性能,不足之处则在于基于局部模型的算法体系提取的均是图片的HOG特征,HOG特征本身存在抗噪声能力差,描述子生成时间冗长等局限,优化后的模型算法计算复杂度仍然较高,算法模型难以用于实时检测。

基于深度学习的遮挡人脸检测算法近年来被大量提出并取得较大进展,深度卷积神经网络框架用于提取目标图像深层次特征和语义信息,实现特征的非线性表达和描述,结合数据增强、锚框设计和损失函数设计等模块,实现充分挖掘未被遮挡的面部信息和结合上下文信息加强感受野辅助检测,提高算法的抗干扰能力,在复杂场景检测和检测实时性方面都有较好的表现。其不足之处在于训练难度较大,算力要求较高。

数据集对于模型训练和优化非常重要,特别是对深度学习模型的应用和泛化,起着必要的基础作用。相对于常规的人脸检测数据集,专门用于遮挡人脸检测的大规模数据集仍然较少,可能是因为数据收集困难,标注费时费力,导致用于遮挡人脸检测的数据集还很不完备,数据量少。而现实环境下,人脸面临遮挡、伪装甚至混合遮挡的情况并不少见,干扰背景也更为复杂,故构建数据量大,姿势、光照、遮挡、尺寸等复杂变化的标注和属性准确描述的数据集尚需进一步研究。

表4 各算法体系性能汇总

5.2 展望

遮挡人脸检测在面向现实场景的实时应用时,对模型鲁棒性及检测速度、精度都有较高要求,基于手工设计特征的经典方法应注重提升算法的抗干扰能力,提高模型应对维度变化时的稳定性和检测时效性问题。

基于Adaboost 的算法重在提高特征灵活性及稳健型,在手工设计特征时可参考3D 人脸特点设计[89]更贴合面部的特征以应对维度变化,基于DPM 的算法模型应注重降低模型计算复杂度应对实时性问题,可通过结合深度神经网络和应用GPU 来降低时间成本。此外,开发设计新型算法应对各种遮挡及复杂场景等特征损失或噪声干扰的鲁棒性问题也值得关注。

基于深度学习的遮挡人脸检测算法中,深度卷积神经网络框架用于图像特征提取和噪声抑制,准确率和鲁棒性较好,但是目前基础框架训练难度大,对硬件设备性能依赖性较强的问题仍然存在,故应加强对基础框架的创新及优化,包括设计轻量型网路架构。在这一点上,罗明柱等[90]微调AlexNet 使其突破图片尺寸限制和张等[91]设计轻量级网络的做法值得借鉴。加强对GAN、注意力机制和信息融合等方面的探索,在保证检测精度的同时降低模型训练难度,如GAN 在应对姿态变化和杂乱背景方面有突出优势,然而其设计还不成熟,易在训练时出现学习崩溃和模型不可控的问题,应加强对网络性能的探索,使其更易量化地判断模型的优劣,注意力机制则具有参数少,模型简单,容易训练的特点,易与其他网络层融合提高局部特征可辨性和抑制噪声[94];充分利用图像信息,注重面部属性信息的同时参考人眼视觉机制,融合语境信息进行检测,以提高检测准确率。

众所周知,数据集对模型训练意义重大,构建用于遮挡人脸检测的专门数据集和评测标准以优化深度模型的训练,提高模型的精确度、鲁棒性和实时性也是未来的重要工作之一。但是包含遮挡等复杂场景的数据集不可能包含所有场景,数据量也不可能过大,故未来半监督、无监督或迁移学习方法在遮挡人脸检测领域值得重点研究。

综上所述,相信随着人工智能的快速发展,面向现实场景的遮挡人脸检测一定可以实现高精度实时应用。

猜你喜欢
人脸特征算法
根据方程特征选解法
有特点的人脸
一起学画人脸
基于MapReduce的改进Eclat算法
Travellng thg World Full—time for Rree
不忠诚的四个特征
进位加法的两种算法
三国漫——人脸解锁
抓住特征巧观察
一种改进的整周模糊度去相关算法