APP下载

基于Face R—CNN的人脸检测研究

2018-11-01张瑞国

电脑知识与技术 2018年19期
关键词:人脸检测卷积神经网络深度学习

张瑞国

摘要:Faster R-CNN是目标检测中最具有代表性和最成功的方法之一,并且在各种物体检测应用中变得越来越普遍。本文提出了一种基于Faster R-CNN的鲁棒性深度人脸检测方法。并且开发了一些新的技术,包括设计一个新的多任务损失函数,以及线上示例挖掘,还有多方面的多层次培训策略来提高Faster R-CNN的速度。所提出的方法非常适合于人脸检测,我们称之为Face R-CNN。并且对FDDB和WIDER FACE两种最具有挑战性的人脸检测数据集进行了实验,以此证明所提出方法相比于现有技术的优越性。

关键词:深度学习; 卷积神经网络; 人脸检测; 候选区域; 多尺度信息融合

中图分类号:TP301 文献标识码:A 文章编号:1009-3044(2018)19-0213-05

Abstract:Faster R-CNN is one of the most representative and successful methods for object detection,and has been becoming increasingly popular in various objection detection applications. In this report, we propose a robust deep face detection approach based on Faster R-CNN. In our approach, we exploit several new techniques including new multi-task loss function design, online hard example mining, and multi-scale training strategy to improve Faster R-CNN in multiple aspects. The proposed approach is well suited for face detection, so we call it Face R-CNN. Extensive experiments are conducted on two most popular and challenging face detection benchmarks, FDDB and WIDER FACE, to demonstrate the superiority of the proposed approach over state-of-the-arts.

Key words:Deep Learning; Convolution Network; face detection; candidate region; Multi-scale Information Fusion

1 人臉检测概述

人脸检测是计算机视觉和模式识别领域中关于面部应用中所面临的基本问题。但是,由于真实世界的人脸图像的显著变化,它仍然具有很大挑战性。图1就是一个典型的例子,其中的人脸图像表现出了由于遮挡,缩放,照明,姿势和表情而引起的大量变化。

人脸检测是目标检测中的一个特例。最近,基于区域的卷积神经网络[20,21,19,23]在物体检测方面取得了良好的表现。其表现最佳的是基于区域性的CNN检测。其中Fast R-CNN[19]和Faster R-CNN [23]是最受欢迎的两种方法。Fast R-CNN是根据感兴趣的区域来进行训练,这是由区域建议方法(如选择性搜索)而生成的[9]. Faster R-CNN 沿用了Fast R-CNN的基本框架,它是通过构建区域网络来对生成目标进行改进。Faster R-CNN由于有更快的速度和更高的效率,从而成为各种检测任务的主要框架[11,27,1]. 最近,许多基于Faster R-CNN的识别方法 [6,24,29,3]已被开发用于人脸检测任务,并展示出了良好的性能。

尽管基于Faster R-CNN的方法取得了很大进展[6,24,29,3],但这些方法仍然存在一些问题[6, 24, 29, 3], 其中的一个常见问题是他们使用softmax损失函数来监督Fast R-CNN模块中面部/非面部分类的深度特征学习(遵循Faster R-CNN的标准做法)。然而,已经表明,softmax损失函数只会改善人脸特征的类间变化,但不能改善人脸特征的类内变化。以往的研究表明,类间变化和类内变化对于学习CNN特征的判别力非常重要。为了减少内部的差异,同时扩大学习CNN特征的类间变化,我们通过在最初的多任务损失函数中增加一个新开发的称为中心丢失的损失函数[33]来改进Faster R-CNN框架。 通过增加中心损失函数,可以有效减少学习特征的类内变化,从而可以增强学习特征的判别力。

图1:我们展示了一个有关人脸检测的图像,它可以代表人脸在遮挡,比例,照度,姿态和表情方面的一些变化。

因此。 为了进一步提高检测精度,本研究还采用了在线硬示例挖掘(OHEM)技术[1]和多尺度训练策略。 这项工作的主要贡献总结如下:

1) 考虑到人脸检测的特殊性,提出了一种基于Faster R-CNN人脸检测方法,该方法通过集成中心丢失,在线示例挖掘和多尺度训练等多种新兴技术,实现人脸检测。

2) 所提出的方法不同于可用的基于Faster R-CNN的人脸检测方法。 首先,这是第一次尝试使用中心损失来减少人脸检测中的类内差异。 其次,在我们的方法中使用在线示例挖掘不同于其他方法。 通过适当设定正样品和负样品之间的比例,OHEM和中心损失函数的组合可以带来更好的性能。

3) 所提出的方法在WIDER FACE [25]和FDDB这两个公共领域的人脸检测数据集上获得优于现有技术的性能。

2 相关工作

过去二十年来,人脸检测因其应用日益广泛而得到普遍关注。早期的研究包括基于级联的方法[17,14,2,18]和基于可变形部件模型(DPM)的方法[13,22,30]。在2004年,Viola和Jones [17]提出了基于Haar-like特征的级联AdaBoost分类器用于人脸检测。之后,一些工作[14,2,18]通过使用更高级的特征和分类器来提高效率和质量[17]。除了基于级联的人脸检测方法外,DPM[22,30,13]提出使用可变形部分模型。DPM的方法是用一系列可变形部件来定义一张脸,并训练一个分类器来查找这些部件及其关系。基于深度学习的方法是目前人脸检测方面的一个主要进展。构建级联CNN以学习从粗到精策略的人脸检测器。最近,有几种方法[6,24,29,3]使用Faster R-CNN框架来改善人脸检测性能。 [16]比以前的方法显著提高了人脸检测性能。

图2:基于Faster R-CNN基本框架。 我们首先用预训练的卷积网络提取卷积特征。 然后,由RPN产生候选特征(结果),Fast R-CNN提炼结果。 我们将中心损耗作为辅助信号添加到Fast R-CNN的分类层上。 PRN和Fast R-CNN共享底层卷积功能。

在线示例挖掘的方法已被证明对物体检测任务有效。 在文献[1]中,作者提出了一个在线示例挖掘(OHEM)算法(使用Fast R-CNN框架进行训练)来提高对象检测性能。 [24,29,12]也使用示例挖掘算法来提高人臉检测的性能。

损失函数在深度卷积网络中也起着关键作用。 深度卷积网络中最广泛使用的损失函数是softmax损失函数。 然而,softmax损失函数关注于类间差异,而忽略了特征学习中的类内变化,这会影响分类精度。 为了增强学习特征的判别能力,最近在深度卷积网络中使用了对比损失[32,34]和三重损失[5]。 中心损失[33]是通过最小化样本与学习中心之间的距离来提出的。 中心损失高效,易于实施,并且可以很好地推广到其他视觉任务。 在这份报告中,我们将使用中心损失来改善人脸检测的性能。

3 基于R-CNN的人脸检测研究

由于Faster R-CNN框架在目标检测任务中获得了很大成功,我们可以将其用作设计人脸检测新模型的通用平台。考虑到人脸检测任务的具体属性,我们从多个方面改进了R-CNN框架。首先,基于新开发中心损失函数[33],我们在Fast R-CNN模型中设计了一个新的多任务损失函数,用于监督面部/非面部分类的有差异的深度学习特征。其次,在深度学习中,我们使用在线示例挖掘算法[1]生成样本(其中正样本与负样本的比率设置为1:1)以供后续处理。第三,我们使用多尺度训练策略来帮助提高检测性能。通过整合上述技术,所提出的方法非常适合于人脸检测任务,这得到了我们实验结果的验证。因此我们称之为Face R-CNN。 Face R-CNN的详细算法详述如下:

3.1 Faster R-CNN基本结构

我们使用Faster R-CNN框架[23]作为基础架构。如图2,它包含一个基本的卷积层,一个区域网络(RPN)模块和一个Fast R-CNN模块。在基本的卷积网络中,通过卷积层和最大池化层对输入图像进行处理,并生成卷积特征图。RPN模块在要识别图像中产生一组矩形方框,这些方框很可能包含面部结构,卷积特征图的顶部具有完全卷积网络builton。RPN的损耗层含有二元分类层和边界框回归层。然后将生成的区域图像输入到Fast R-CNN模块并作为感兴趣区域。用RoI池化层进行处理以提取固定长度的特征向量。将最终的输出是用于分类和回归这两个完全连接的层。在RPN阶段,分类和回归的学习应用是基于锚的方法。 也就是说,一组预定义的框我们将它称为锚,用作回归的框引用。

锚与框的大小与长宽相关,以便可以覆盖各种形状的边界框。 我们的框架和Faster R-CNN之间的主要区别在于Fast R-CNN模块。我们是根据新开发的中心损失函数设计了一个新的多任务丢失函数来监督特征学习,如下一节所述。

3.2 损失函数

3.2.1 中心损失函数

这是一种新开发的损失函数,并且在人脸识别任务中得到了良好的验证。 中心损失函数的基本思想是鼓励网络学习最小化类内差异的区分特征,同时扩大类间变化。

中心损失函数的公式如下:

其中[x]表示输入特征向量,[cyi]表示[yi]th中心。 这些中心在每次迭代时都会根据最小批次进行更新,因此可以轻松地使用标准SGD进行培训。 对于人脸检测任务,只有两个中心分别代表面部和非面部。 我们的目的是最大限度地减少类内变化。

有一点需要注意的是,中心损失函数应该与softmax损失函数一起优化[33]。 已经表明,中心损失函数在减少类内变化方面非常有效,softmax损失函数在最大化学习特征的类间变化方面具有某些优点。 因此,使用中心损失函数和softmax损失函数的组合来对特征进行判别是非常合理的。

3.2.2 多任务损失函数

在RPN阶段,我们将多任务损失函数最小化。损失函数是分类损失与回归损失的组合。 分类损失是背景/前景类别上的softmax损失。回归损失我们采用的是SmoothL1损失。

对于Fast R-CNN阶段,我们根据之前介绍的中心损失函数设计了一个多任务损失。 我们对分类任务使用中心损失函数和softmax损失函数来进行的联合监督,对边界框回归任务使用SmoothL1损失。

整个损失函数被表达为:

公式中,[p]是所选区域中是否为人脸的预测概率。如果是人脸,则[p*]是1,如果不是,则为0。[t]是表示预测边界框的4个参数化坐标的矢量,并且[t*]是真实值的坐标。SmoothL1损失用于回归。 超参数[λ],[μ]控制三项损失之间的权重。

3.3 在线示例挖掘

在线示例挖掘(OHEM)是一种简单而有效的自举技术。其核心思想是找出那些未能正确预测出的人脸图像并将它们提供给网络。

图3:WIDER FACE验证集和测试集上的回归曲线。所有这些方法都使用相同的Scenario-Int标准[25]。我们的方法(Face R-CNN)通过验证和测试集中的三个子集(简单,中等和困难)始终获得优于先前方法的优越性能,从而在这一具有挑战性的环境中设置了新的最新技术基准。

为了加强判别力,我们再次进行尝试。 由于损失函数可以展现出当前的网络表现,我们会根据其损失函数对生成的建议进行排序,并将N个表现最差的示例展示出来。

标准OHEM可能会遇到数据不平衡的问题,因为选定的正样本中可能包含大量的负样本(反之亦然)。我们注意到,在使用中心损失函数的学习过程中保持正面和负面训练样本的平衡非常重要。为此,我们将OHEM分别应用于正样本和负样本,并在小微量批次中将正样本和负样本的比例设置为1:1。在训练期间,OHEM以交替的方式进行在线SGD训练。 对于SGD迭代,OHEM通过执行当前网络的正向传递完成。 然后在下一次迭代中将所选的示例馈送到网络。

3.4 多尺度训练

我们没有在FasterR-CNN框架中对所有训练图像使用固定比例,而是在训练过程中通过将原始图像调整为不同大小来为每幅图像设计一个多尺度表示。 通过这种方式,学习模型更适合于低分辨率的人脸。 在测试过程中,相应地执行多尺度测試,并将不同尺度下的图像合并为最终输出。

4 实验

我们对WIDER FACE [25]和FDDB [28]这两个公共领域的人脸检测数据集进行了大量的实验。WIDER FACE数据集在32,203幅图像中总共收集了393,703张贴有标签的人脸,其中50%用于测试,40%用于训练,10%用于验证。这是公有领域中最具挑战性的人脸检测数据集。 FDDB是另一个众所周知的人脸检测数据集。 它包含2,845张图像中的5,171张标签面。 图5展示了WIDER FACE和FDDB的一些例子。

4.1 具体实施细节

我们使用VGG19和ImageNet预先训练好的模型来进行训练。在RPN阶段,锚点跨越多个比例和长宽比。当IoU比率大于等于0.7时,我们将其定义为正样本,低于0.3时,定义为负样本。在Fast R-CNN阶段,我们定义IoU比率高于0.5为正样本,IoU比率在0.1和0.5之间的负样本。我们使用softmax损失函数和中心损失函数来共同监督学习。

在RPN阶段,我们采用非最大抑制(NMS)。将NMS的IoU设置为0.7。接着,制定了总共2000个目标,然后使用OHEM方法处理这些目标以选择可作为Fast R-CNN训练的样本。RPN的最小批量大小为256,Fast R-CNN的最小批量大小为128。这就是我们在工作中采用的联合训练的方法。

我们进行大规模多尺度的训练,并且将输入图像调整为多个不同的尺度。在测试阶段,也进行多尺度测试,并在训练阶段使用相同的图像尺度进行训练。

4.2 基准比较

4.2.1 WIDER FACE数据集

WIDER FACE有三个子集(简单,中等和困难)用于根据不同难度级别进行评估。遵循(Scenario-Int)设定的标准,我们在WIDER FACE训练集上训练模型,并对WIDER FACE的验证集和测试集进行评估实验。如图3所示,在WIDER FACE的验证集合和测试集中,所提出的Face R-CNN始终在三个子集中获得第一名,在WIDER FACE上。显着优于现有结果[16,3,12,2,26,25]。

4.2.2 FDDB数据集

FDDB是应用比较广泛的人脸检测数据集 [28],其中规定了两种评估协议,分别用于10倍的交叉验证和无限制训练。我们的实验严格遵循无限制训练(使用FDDB以外的数据进行训练)。

在文献[16]中,我们使用WIDER FACE的训练集来训练我们的模型(在图4中表示为Model-A),并与FDDB上最近公布的顶级方法[16,12,4,31,15]进行比较。所有这些方法都使用[28]中定义的无限制训练协议(使用FDDB以外的数据进行训练)。如图4,根据训练结果我们绘制出了这些方法的离散ROC曲线和连续ROC曲线,从中我们可以看出,我们的方法始终能够实现离散ROC曲线和连续ROC曲线方面的最新性能。而且,我们的离散ROC曲线优于(高于)以前的最佳曲线[16]。尽管我们的连续ROC曲线低于最佳曲线[31],但我们的离散ROC曲线远高于最佳曲线[31]。此外,我们对训练集进行放大(通过增加一个收集的数据集进行人脸检测),并训练我们的人脸检测数据(表示为模型-B)。模型-B的离散和连续ROC曲线也绘制在图4中。不出所料,我们提出的Face R-CNN的性能可以进一步提高。而且,在2000个目标中,我们获得了98.74%的离散ROC曲线的准确率,这是FDDB上所有已发表方法中最新的技术。

5 结论

在这份技术报告中,我们提出了一个强大的人脸检测模型,称为Face R-CNN,它集成了几项新开发的技术,包括新的多任务丢失函数设计,在线示例挖掘和多尺度训练。 并对所提出的方法进行了验证。

结果显示我们有更好的WIDER FACE面部数据集和FDDB数据集。实验结果表明我们的方法优于现有技术。

参考文献:

[1] A.Shrivastava,A.Gupta,and R.Girshick.Training Region-based Object Detectors with Online Hard Example Mining.In IEEE Conference on Computer Vision and Pattern Recognition(CVPR),2016.

[2] B.Yang,J.Yan,Z.Lei,and S.Z.Li.Aggregate channel features for multi-view face detection.In IJCB,

2014.

[3] C.Zhu,Y.Zheng,K.Luu,and M.Savvides.CMS-RCNN:Contextual multi-scale region-based cnn for

unconstrained face detection.arXiv preprint arXiv:1606.05413,2014.

[4] E.Ohn-Bar and M.Trivedi.To Boost or Not to Boost?On the Limits of Boosted Trees for Object Detection.In International Conference on Pattern Recognition(ICPR),2016.

[5] F.Schroff,D.Kalenichenko,and J.Philbin.Facenet:A unified embedding for face recognition and clustering.In IEEE Conference on Computer Vision and Pattern Recognition(CVPR),2015.

[6] H.Jiang and E.Learned-Miller.Face detection with the Faster R-CNN.arXiv preprint arXiv:1606.03473,2016.

[7] H.Li,Z.Lin,X.Shen,J.Brandt,and G.Hua.A convolutional neural network cascade for face detection.In IEEE Conference on Computer Vision and Pattern Recognition(CVPR),2015.

[8] H.Qin,J.Yan,X.Li,andX.Hu.Joint training of cascaded cnn for face detection.In IEEE Conference on Computer Vision and Pattern Recognition(CVPR),2016.

[9] J.Uijlings,K.van de Sande,T.Gevers,and A.Smeulders.Selective search for object recognition.International Journal of Computer Vision(IJCV),2013.

[10] J.Yu,Y.Jiang,Z.Wang,Z.Cao,and T.Huang.Unitbox:An advanced object detection network.In ACM MM,2016.

[11] K.He,G.Gkioxari,P.Dollr,and R.Girshick.Mask R-CNN.arXiv preprint arXiv:1703.06870,2017.

[12] K.Zhang,Z.Zhang,Z.Li and Y.Qiao.Joint Face Detection and Alignment using Multi-task Cascaded Convolutional Networks.IEEE Signal Processing Letters,2016.

[13] M.Mathias,R.Benenson,M.Pedersoli,and L.Van Gool.Face detection without bells and whistles.In European Conference on Computer Vision(ECCV),2014.

[14] M.Pham,Y.Gao,V.Hoang,and T.Cham.Fast polygonal integration and its application in extend-ing haarlike features to improve object detection.In IEEE Conference on Computer Vision and PatternRecognition(CVPR),2010.

[15] Open source code and models.MXNet.https://github.com/tornadomeet/mxnet-face#

face-detection/,2016.

[16] P.Hu and D.Ramanan.Finding Tiny Faces.In IEEE Conference on Computer Vision and Pattern Recognition(CVPR),2017.

[17] P.Viola and M.J.Jones.Robust real-time face detection.IJCV,2004.

[18] Q.Zhu,M.-C.Yeh,K.-T.Cheng, and S.Avidan.Fast human detection using a cascade of histograms of oriented gradients.In IEEE Conference on Computer Vision and Pattern Recognition(CVPR),2006.

[19] R.Girshick and J.P.N.Fotheringham-Smythe and G.Gamow.Fast R-CNN.In IEEE International Conference on Computer Vision(ICCV),2015.

[20] R.Girshick,J.Donahue,T.Darrell,and J.Malik.Rich feature hierarchies for accurate object detection and semantic segmentation.In IEEE Conference on Computer Vision and Pattern Recognition (CVPR),2014.

[21] R. Girshick,J.Donahue,T.Darrell,and J.Malik.Region-based convolutional networks for accurate object detection and segmentation.TPAMI,2015.

[22] R.Ranjan,V.M.Patel,and R.Chellappa.A deep pyramid deformable part model for face detection.CoRR,2015.

[23] S. Ren, K. He, R. Girshick, and J. Sun. Faster R-CNN: Towards real-time object detection with region proposal networks. In Advances in neural information processing systems, 2015.

[24] S. Wan, Z. Chen, T. Zhang, B. Zhang, and K. Wong. Bootstrapping face detection with hard negative examples. arXiv preprint arXiv:1608.02236, 2016.

[25] S. Yang, P. Luo, C.-C. Loy, and X. Tang. Wider face: A face detection benchmark. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016.

[26] S. Yang, P. Luo, C. C. Loy, X. Tang. From Facial Parts Responses to Face Detection: A Deep Learning Approach. In IEEE International Conference on Computer Vision (ICCV), 2015.

[27] T. Lin, P. Dollr, R. Girshick, K. He, B. Hariharan, and S. Belongie. Feature Pyramid Networks for Object Detection. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017.

[28] V. Jain and E. Learned-Miller. FDDB: A benchmark for face detection in unconstrained settings. Technical Report UMCS-2010-009, 2010.

[29] X. Sun, P. Wu, and S. Hoi. Face Detection using Deep Learning: An Improved Faster RCNN Approach.arXiv preprint arXiv:1701.08289, 2016.

[30] X. Zhu and D. Ramanan. Face detection, pose estimation, and landmark localization in the wild. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2012.

[31] Y. Li, B. Sun, T. Wu, and Y. Wang. Face Detection with End-to-End Integration of a ConvNet and a 3D Model. In European Conference on Computer Vision (ECCV), 2016.

[32] Y. Sun, X. Wang, and X. Tang. Deep learning face representation by joint identification-verification. In Advances in Neural Information Processing Systems, 2014.

[33] Y. Wen, K. Zhang, Z. Li, and Y. Qiao. A Discriminative Feature Learning Approach for Deep Face Recognition. In European Conference on Computer Vision (ECCV), 2016.

[34] Y. Wen, Z. Li, and Y. Qiao. Latent factor guided convolutional neural networks for age-invariant face recognition. In IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2016.

猜你喜欢

人脸检测卷积神经网络深度学习
基于深度卷积神经网络的物体识别算法
基于人脸特征定位的SNS网站应用组件研究与设计
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望