APP下载

人脸检测算法的优化

2019-06-14龚格格郭湘南

计算机技术与发展 2019年6期
关键词:级联人脸卷积

龚格格,吴 珊,郭湘南

(1.武汉邮电科学研究院,湖北 武汉 430000;2.武汉烽视威科技有限公司,湖北 武汉 430000)

0 引 言

人脸检测是人脸识别的基础,然而,人脸的巨大视觉变化在现实应用中给这些任务带来了巨大的挑战。十多年前,Viola和Jones[1]提出的cascade face detector采用Haar-Like feature和AdaBoost对cascade classifier进行训练,具有良好的实时效率,然而该人脸检测算法由于采用人工设计,对光照变化的鲁棒性并不是很好,对头部姿态比较大的人脸检出率非常低。相当多的工作表明[2-4],该算法在应对大量视觉影响的人脸图片检测时性能急剧下降。基于此,文中提出了一种快速级联卷积神经网络模型,以提高算法性能。

1 候选框生成算法

候选框是人脸检测网络的基础。检测任务与分类任务并不相同,检测任务需首先对单个样本进行分类并生成候选框,其后对所生成候选框的区域进行分类,而分类任务是直接对单个样本进行分类。

2 Faster RCNN人脸检测网络框架

考虑到区域候选框是检测网络最大的瓶颈,该系统中Faster RCNN使用RPN(region proposal network)来有效解决计算候选框耗时的问题。

Faster RCNN[5]采用RPN生成候选框,RPN的结构属于深度卷积神经网络[6-8]。通过将候选框送入Faster RCNN[9]中进行分类,产生检测结果。Faster RCNN的网络结构如图1所示,整个Faster RCNN网络由两部分组成,分别为RPN和Faster RCNN系统。其中RPN称为全卷积网络[7],将单张图像作为输入数据。卷积层1至ReLU5是ZF(Zeilerhe和Fergus模型)通用结构[8]中包含的部分。ZF包含了多个不同层,其中激活函数采用了ReLU,以此来提高网络检测的性能。归一化层采用LRN策略(local response normalization,局部响应归一化层),对数据进行归一化操作。由图可知网络层为RPN的核心层。网络层包含了推荐层1、候选框回归层、1×1卷积层、候选框概率层等。

图1 Faster RCNN网络框架

图1(b)是Faster RCNN的详细网络结构,利用单张图像作为输入数据,其中候选框位置与输入的候选框的坐标相同。卷积1至ReLU5同RPN一样,池化层5到随机失活6和softmax损失函数即为ZF结构的完整模型。

2.1 Faster RCNN训练与测试

通过对每个锚进行二分类(是目标或者不是)来训练RPN。若锚与真实框有最高的交并比或者锚与任意真实框的交并比大于0.7,则作为正样本,将交并比小于0.3的锚作为负样本,其余的均直接丢弃。

在Faster RCNN中,将一个锚i的损失函数定义为:

SmoothL1(x)=0.5x2(|x|<1)

SmoothL1(x)=|x|-0.5(x<-1或x>1)

选取的四个坐标参数为:

tx=(x-xa)/wa,ty=(y-ya)/ha,tw=log(w/wa),th=log(h/ha)

其中,x,xa,x*分别代表候选框、锚、真实框。此方法实现bounding box回归。

RPN由一个全卷积网络实现,使用SGD(stochastic gradient descent)算法[9]进行端到端的训练。训练时采用与图像中心采样策略[6]一致的方式来训练网络。实际中通过对每张图片随机采样512个锚使得正负锚的比例为1∶1,最后对采样后的锚计算小批的损失函数。

所有层权重的初始化均采用零均值方差为0.02的高斯分布。将所有被初始化后的层在CelebA人脸检测[10]上进行初始化预训练,与练习实验[11]中的操作相同。采用5 000个CelebA的图像用0.001的学习率进行训练。采用0.7的动量和0.003的权重,整个网络通过Caffe[12]实现。

在训练RPN网络时由于对候选框欠缺考虑,所以联合优化将成为一个重点。该系统中采用四部训练算法来完成RPN和检测网络共享卷积层的优化算法。第一步,训练RPN。RPN用CelebA预训练模型进行初始化并且端到端地微调候选框任务;第二步,用已经生成的候选框训练Faster RCNN并检测网络;第三步,用检测初始化RPN,固定共享的卷积层,指微调RPN中的其他层;最后,固定共享的卷积层,并微调全连接层。

由于生成的候选框有很大部分重叠,该系统采用NMS(non-maximum suppression)[13]算法来减小冗余。在NMS中固定交并比阈值为0.7,这样将会筛选出大概3 500个候选框。NMS在大幅度减少候选框数量的情况下对最后的检测精度并无影响。NMS之后,将前N个候选框输入到检测网络。

2.2 联合人脸检测和对齐的网络框架

该系统通过对联合人脸检测和对齐的网络进一步研究,找出人脸检测性能较高的原因,并将其与Faster RCNN进行相关对比,从不同框架结构出发,结合自身的优势提出有利于人脸检测的优化模型。

联合人脸检测和对齐的网络框架如图2所示。

(a)候选框网络示意

(b)精炼网络示意

(c)输出网络示意

由网络框架图可看出,此网络包括三个阶段。第一阶段为候选框网络,即快速产生候选框窗口。第二阶段为精炼网络,即优化产生的候选框网络。第三阶段为输出网络,优化输出结果,并将面部关键点位置输出。与多任务的学习框架相比,此算法的性能得到了显著性的提高。

给定一个图像,依据图像的不同尺度,来构建一个图像金字塔,其中三个级联框架的输入分为如下三个阶段:

第一阶段:利用全卷积网络,即P-Net来获取候选人脸窗口。然后利用估计的边界框回归向量对候选对象进行校准。在此之后,使用非最大抑制(NMS)将高度重叠的候选项进行合并。

第二阶段:将所有候选对象输入到精炼网络(R-Net),通过精准排除大量的错误候选对象,利用边界框回归进行校准,并进行NMS去除重叠窗体。

第三阶段:这一阶段类似于第二阶段,只是在去除重叠候选窗口的同时,显示五个人脸关键点定位。

2.3 人脸检测和对齐的联合训练

由图2可知,联合人脸检测和对齐的网络主要包含3个部分:人脸/非人脸分类器、边界框回归、人脸关键点定位。

2.4 实验结果与对比分析

在检测和分类问题上有很多评价指标。其中召回率和准确率则是检测、分类、识别问题的两个重要评价指标。召回率:在所有样本中检测出相关样本的概率;准确率:在系统所检出的样本中,真正相关的概率。一个好的检测系统希望准确率和召回率都尽可能高,一般情况下准确率和召回率呈负相关。为了有效地评价系统的检测能力,这里引入AP(平均精度)来对系统的检测能力进行衡量。

采用的数据集为WIDER FACE[14]数据集。根据人脸检测的难易程度,WIDER FACE将数据集分为简单、中等、困难三个级别,以此来检验测试效果,如表1所示。

表1 不同网络模型的人脸检测结果

根据在WIDER FACE数据集上的结果可知,联合人脸检测和对齐的级联卷积神经网络检测效果好于Faster RCNN。

3 快速级联卷积神经网络结构

Faster RCNN在具有挑战性的WIDER FACE数据集上测试时,由于图像包含更多较小、遮挡和不完整的对象,导致性能下降很多。基于现阶段存在的问题,文中提出了一种基于RPN方法的快速级联卷积神经网络,来解决如遮挡、光照、大的姿态变化等问题。首先,该系统的突出之处在于将多尺度区域候选网络和上下文多尺度神经网络引入到快速级联卷积神经网络,且支持同时观察多尺度特征,对人脸候选区域进行推断。然后,通过计算置信度得分和边界框回归,人脸检测系统能够在给定的人脸图像中通过对这些生成的候选框的置信分数进行阈值化来决定检测结果。

3.1 快速级联卷积神经网络模型

快速级联卷积神经网络框架如图3所示。卷积层1至卷积层5具有与RPN同样的结构。系统通过采用RoI池化层来进行下采样,方便连接组合,沿通道进行L2归一化来连接组合,然后通过1×1的卷积层进行单层特征值的融合,卷积后的特征图上的候选框采用与RPN相同的方法。最后将产生的候选框进行bounding box回归,同时将人脸的候选框映射至卷积层3至卷积层5,卷积层3至5用来产生候选框。从整体网络看,由于共享卷积层1至5,实现了只需一次计算就可以更新所有参数的目的,节约了时间成本,提高了效率。此外,该系统采用多个层的特征图进行连接组合分别来实现联合人脸检测和对齐神经网络的三个阶段。

由于在Faster RCNN中采用的区域候选框特征均是通过单个深层卷积特征图产生的,因此存在很难检测到小面孔的问题。为解决此问题,文中采用多个卷积层特征的组合,有助于获得微小面部的信息。同时,由于面部检测需要定位面部以及确认面部信息,该系统将具有定位能力的低级特征和具有语义信息的高级特征融合在一起[15]。

图3 快速级联卷积神经网络框架

3.2 身体上下文信息的整合

对于人脸检测,由于各种挑战使得脸部被遮挡,在这种情况下,Faceness[12]考虑通过对面部部分响应的空间结构和排列进行评分来找到面部,但当面部部分由于遮挡而缺失时,人脸检测将变得难以执行。先前的研究表明[14],利用上下文可以达到减少整体误差的目的[16],同时上下文推理也是物体识别难题的关键部分,基于此在该系统设计中参考身体上下文信息。

3.3 L2归一化

由于特征来自不同层的特征图,因此可能会有不同的尺度和数值范围,采用L2归一化保证来自每个层的特征值大致保持在相同的范围。

4 结束语

为了避免人脸的巨大视觉变化,如遮挡、光照、大的姿态变化问题,基于人脸检测的一些瓶颈问题做了相关研究。基于现有深度卷积神经网络模型,并对其进一步的试验、分析、改进,提出了一种快速级联卷积神经网络模型。通过研究Faster RCNN和多级联联合人脸检测的卷积神经网络模型分析,抽取出适合于人脸检测的候选框与检测网络模型,采用级联卷积神经网络卷积共享策略,简化神经网络和检测网络的训练和测试,节约了算法所需要的时间[13]。同时,由于卷积层的共享,实现了级联卷积神经网络端到端的优化,对于较小的人脸区域采用候选框网络和RoI检测网络共享卷积层进行处理,激活函数使用Leaky ReLU,从而提高了神经网络的性能。

猜你喜欢

级联人脸卷积
铀浓缩厂级联系统核安全分析
基于3D-Winograd的快速卷积算法设计及FPGA实现
有特点的人脸
一种并行不对称空洞卷积模块①
一起学画人脸
玻璃窗上的人脸
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
长得象人脸的十种动物
整体级联式增压空气冷却器的进气模块