APP下载

多级联卷积神经网络人脸检测

2018-09-13

关键词:级联边框人脸

(五邑大学信息工程学院,广东江门529020)

人脸检测是人脸识别的重要步骤之一.在复杂环境下,人脸检测会因为很多外部因素影响检测的准确性,如人脸姿态变化、光照改变和遮挡等.将人脸检测应用于实际中,需要解决人脸拍摄角度、光照变化以及低分辨率图像的问题.

近年来,深度学习方法,特别是卷积神经网络(Convolutional Neural Network,CNN)在计算机视觉中取得了显著的成功.与常规机器视觉方法相比,CNN具有良好的特征提取和表达能力,并在很多领域取得了卓越的成果.常规人脸检测方法大多采用模板匹配或基于肤色的方法,这些方法相对而言速度较快,但准确性较低同时适用范围窄,不能较好地应用于复杂环境[1-2].一种平面旋转人脸检测方法,速度比较快,但主要用于解决头部姿态因转动导致检测不理想的问题[3].Viola和Jones[4]提出 Haar-Like与AdaBoost级联方法,与此前提出的其他AdaBoost人脸检测方法相比,该算法的人脸检测速度有较大提升,但在复杂环境下人脸检测能力不足.很多研究者提出了不同的卷积神经网络级联模型,它们的优点在于能提取更多有利的特征,使模型的二分类(人脸/非人脸)获得更精确的结果.文献[5]提出基于概率受限玻尔兹曼机的级联神经结构,采用层次学习方式提取更深层次特征来提高人脸检测的准确性,该方法在人脸出现较小偏转时检测效果较好,但在低分辨率图像下人脸检测结果欠佳.Li等[6]提出的级联卷积神经网络,由6个卷积神经网络组成,其中3个用于提取特征并进行二分类,判别是否是人脸,另外3个网络则用于校准和选择最终候选窗,用多个网络处理多任务在时间消耗上有所减少,但网络结构简单提取有效特征少,所以人脸检测的准确率偏低.文献[7]提出多任务级联卷积神经网络的人脸检测与对齐(Multi-task Cascaded Convolutional Networks,MTCNN)方法,在 Li等人提出的方法上予以改进,改进后网络结构的检测速度有较大提升,该网络层数浅,所以人脸检测速率较快但准确率略显不足.Jiang等[8]提出的faster R-CNN与Xudong等[9]提出的改进型faster R-CNN,均使用大型单个卷积神经网络,在准确率上都有所提升但计算消耗却非常大.Chen Y等[10]提出使用卷积神经网络进行高光谱图像分类的正则化提取方法,通过增加网络的深度从光谱图像中提取深度特征,适用于图像分类和检测.该方法采用深度网络,同时网络结构复杂,所以人脸检测耗时较长.

本文采用级联卷积神经网络结构的人脸检测方法,该方法从人脸检测的准确性以及检测速度两个方向进行研究.

1 多级联卷积神经网络的人脸检测模型

多级联卷积神经网络由3组简单的卷积神经网络组成,其优势在于能逐层筛选候选窗口,较大程度上提高人脸候选窗口的准确性.多个网络对人脸区域进行预测,对多个预测结果求平均值,使人脸检测结果更具有说服力.

1.1 卷积神经网络

CNN由一个输入层、一个输出层和多个隐藏层组成.隐藏层通常由卷积层、池化层以及全连接层组成[11],简单的CNN结构如图1所示.CNN中,层与层之间不是全连接形式,利用层间局部空间相关性将相邻每一层的神经元节点只与他相近的上层神经元节点连接,即局部连接.池化层采用一种非线性采样法,将卷积层提取的特征使用最大(或平均)池化采样对特征向量降维.池化层可以有效降低特征向量维度,从而简化计算减少计算量.

图1 卷积神经网络简单结构

经CNN网络提取特征之后需要使用分类器,然后得到最终结果.softmax[12]是深度学习中最常用的分类器之一,它将大大减小运算量,其公式为

其中,数组V表示特征向量,Vi为数组V中第i个元素.该算法只需要计算第i个元素的指数次方与所有元素和的指数次方的比值就可以出分类结果.这种计算简单的分类方法,非常适用于深度学习.

1.2 多级联卷积神经网络框架

多卷积神经网优点在于,可以对提取的候选窗口逐层筛选,能更准确定位人脸候选窗口.多个网络对人脸区域进行预测,这将有效提取人脸检测的准确性.本文提出的多级联卷积神经网络由 3组CNN网络组成,采用深度网络提高更多有效特征,以提高人脸检测的准确性.

1.2.1 图像预处理

在训练网络之前需要对图像进行预处理,根据每一个 CNN对输入图像大小的要求,将图像处理成所需要的尺寸,如图2所示.网络训练所需要的数据来自WIDER FACE数据库[13].

图2 原图与重构之后图像金字塔

1.2.2 级联卷积神经网络训练过程

本文提出级联结构如图3所示.在训练过程中,首先将训练样本输入到 12-卷积神经网络中,提取大量候选窗口.因为候选窗口中存在着大量非人脸窗口,此时使用NMS方法删除大量非人脸窗口.然后使用边框回归方法,对剩余候选窗口进行校准,使预测窗口更接近真实窗口.然后将未删除的窗口输入 24-卷积神经网络,执行上一步操作输出人脸预测结果与未删除的人脸候选框图.将剩余的候选窗口输入到48-卷积神经网络中,进一步筛选候选窗口与优化网络,使人脸预测更准确.经过多数据对网络进行迭代训练,优化网络结构使人脸预测结果更准确,同时提高人脸区域候选窗口的准确性.图3为多级联卷积神经网络结构框图,可以根据3个卷积神经网络进行划分.

图3 多级联卷积神经网络结构框图

本文提出的级联CNN模型由3组CNN组成,其结构如图4所示.每组CNN输入训练数据大小不同,图像大小分别是1212×、2424×和4848×.图4-a中网络共6层用于特征提取,然后将提取到的特征进行二分类(人脸/非人脸)和边框回归校准候选人脸窗口.图4-b的结构功能与图4-a相似,输入图片为2424×,网络深度明显深于图4-a的网络.图4-c网络功能与前两个网络类似,但是在最后加上特征点定位,进一步加强人脸候选框的准确性.

图4 多级联卷积神经网络总框架

在训练网络之前需要对数据进行处理,本文3个网络所需要训练数据来自WIDER FACE数据库.图4-a,4-b卷积神经网络训练集数据由人脸区域、部分人脸区域和非人脸区域组成,图4-c网络的训练集除了以上3部分还加上标有人脸特征点的数据集,该部分数据在CelebA[14]数据集上采集.

第1步:训练图4-a网络,将处理好的数据输入12-卷积神经网络.该网络主要用于获取人脸区域的候选窗口和边框回归向量.先使用非极大值抑制[6](NMS)方法删除大量候选窗口,然后使用边框回归算法,对剩余候选窗口进行校准.

第2步:在第1步训练网络之后的数据中,还存在着大量的候选窗口,所以将第一步未删除的候选窗口与图4-b需要训练的数据一起作为训练数据.第 1步提取到候选窗口中包含有大量非人脸区域以及人脸区域中高度重叠部分,此网络将会进一步筛选候选窗口,使用 NMS删除大部分非人脸区域窗口,使用边框回归校准候选窗口,以及合并第一阶段未完全合并的重叠区域.

第3步:图4-c为最后一层卷积神经网络,最后一个网络使用的训练数据不仅有正负样本,还有特征点定位的人脸数据集,训练时还包括第2步中处理之后的数据.48-卷积神经网络训练过程与第二网络大致相同,也用于训练候选窗口的筛选,使用边框回归方法使最终的人脸窗口更接近真实值,最终的候选窗口包含5个人脸特征点定位后的人脸区域.

多级联卷积神经网络模型主要训练人脸分类和边框回归两个任务,下面具体分析这两个任务:

1)人脸分类:输入的每一个样本都存在着人脸和非人脸区域,人脸区域的划分可以作为二分类问题,对每一个训练样本xi使用交叉熵函数计算,即

其中,Li表示预测人脸与真实人脸之间的相似度,用于优化网络,提高人脸区域预测的准确度,Pi表示样本xi为人脸的概率,取值从CNN网络获得;yi表示标签的人脸数据取值为0或1,0表示非人脸,1表示人脸.

2)边框回归:在进行边框回归训练之前,使用 NMS方法删除大量非人脸区域的候选窗口.然后使用边框回归方法,计算剩余窗口与标记窗口之间的偏移量,对剩余侯选窗口进行校准,让待定的窗口更接近真实窗口(标签),对每一个候选窗口都采用四维向量 (x1,y1,x2,y2)表示,分别表示窗口的左上角坐标,以及矩形宽和高,计算样本xi中每一个候选窗口与有标签窗口之间偏移时,采用欧几里德损失函数,即

在提取的大量候选窗口中,采用NMS方法删除大量非人脸窗口.对于输入样本,如何准确定位到人脸区域是人脸检测中一个重要部分.可使用的方法有滑动窗口和选择性搜索,无论是以上哪种方法都将会产生大量重叠部分,由这两种方法得到的结果并非最终想要得到的结果.针对该问题有多种解决方法,但本文采用的是非极大值抑制,最先选择得分最高的人脸候选窗口,其结果由网络提供,然后计算其他窗口与该窗口重叠度(Intersection over Union,IoU),计算公式为

其中,IoU表示两个边框的重叠度,SA∩B表示得分最高窗口与测试窗口重叠部分的面积(交集),SA∪B表示两个窗口面积的并集,假设真实窗口坐标 (x1,y1,x2,y2),测试窗口坐标,当测试窗口左上角坐标位于真实窗口中的时候,SA∩B计算公式为

其中,SA表示真实人脸区域候选框的面积,SB表示测试窗口面积.由此计算出边框重叠度.如果IoU计算值大于0.65,将判断该人脸候选区域为正样本;大于0.4小于0.65,判断该人脸候选区域为部分样本;小于0.4,判断该人脸候选区域为负样本.如果判定为负样本将会删除该窗口,剩余候选窗口将会传入下一网络进一步筛选.

1.3 人脸检测过程

人脸检测过程见图3.首先将测试样本输入到 12-卷积神经网络中,提取大量候选窗口.因为候选窗口中存在着大量非人脸窗口,此时使用NMS方法删除大量非人脸窗口,当计算IoU值小于0.4,则删除该候选窗口,如果计算结果大于0.4,则将该窗口保留.将未删除的人脸窗口使用边框回归方法,使预测窗口更接近真实窗口.经交叉熵函数优化后的网络,得到的人脸预测结果更准确.将未删除的窗口输入24-卷积神经网络,执行上一步操作.因为24-卷积神经网络的网路层数更深,所以人脸预测值更准确,同时进一步筛选人脸候选窗口.48-卷积神经网络对人脸候选窗口进行最后一次筛选,输出最终的人脸候选窗口,以及人脸区域预测结果.对 3组网络人脸预测结果进行累加求平均值,作为最终的人脸检测结果.

2 实验结果与分析

训练级联网络模型所需的数据在WIDER FACE数据集[13]和Celeba数据集[14]上采集,得到的模型在Face Detection Data Set and Benchmark(FDDB)[15]公开人脸检测数据库上测试.WDER FACE数据集包含有32203幅,其中人脸有393703张,在该数据库中还标记了所有人脸的框图.FDDB数据集中的2845幅图像中包含有5171张人脸.

2.1 训练数据集的处理

训练网络模型时,由于不同的网络输入图像尺寸不同,所以需要将图像进行预处理.每一组网络输入的数据集包含有正负样本和部分人脸样本,同时也输入有人脸特征点标签的正样本.整个级联网络分阶段训练,首先从WIDER FACE数据集中采集12×12大小的人脸、部分人脸图像和非人脸图像,然后将采集到的所有图片都传入到第一组网络进行训练.然后以同样的方式采集24×24的图像,但是图像中每一类图像中正脸、部分人脸、非人脸比率为 1 :1:3,最后一组训练数据除了正负样本之外还有人脸特征点标签的人脸图,然后将提取到的图像分别作为第2组和第3组网络的训练数据.

2.2 不同方法的比较

为更直观体现出本文方法的优势,对比了 CMS-RCNN[16]、CascadCNN[17]、Joint Cascade[6]、MTCNN[7]和 DP2MFD[19]五种人脸检测方法.实验结果都基于 FDDB数据集取得,从图5的实验结果可以看出,本文方法在数据集上的测试结果为96.30%,明显高于CMS-RCNN与Joint Cascade等其他方法,与 MTCNN方法相比也具有一定优势.本文方法与其他几种人脸检测方法的测试结果对比如表1所示.

图5 基于FDDB数据集的测试结果

表1 多种方法测试结果对比

表1列举当下一些人脸检测准确率较高的方法,其中本文提出的方法准确率最高达到 96.30%.文献[6]采用 6组卷积神经网络,其中 3组神经网络是浅层卷积神经网络,进行简单二分类(人脸/非人脸),另外 3组用于校准候选边框,该方法神经网络层较浅,提取特征少、分布处理任务多,所以准确率低于本文提出的方法.文献[7]采用分步执行不同的任务,该方法在时间消耗和准确上较文献[6]都有很大提升.本文方法比文献[7]的网络更深,能提取更多有利特征,所以在准确性上优于该方法.文献[16]采用大型单一神经网络,该方法的优势在于低分辨率下人脸检测准确高,然而该网络结构复杂、计算消耗大.本文方法优势在于能提取更多的有效特征,候选窗口定位准确.实验结果表明本文提出的方法,无论是人脸检测的准确性,还是候选窗口的快速定位都有不错的效果.

2.3 实际检验效果

本节主要探讨实际环境下的检测效果,如图6所示.在测试的四张样本中,图6-a显示正脸和侧脸的检测效果,图6-b显示极端光照和低分辨率下人脸的检测效果,图6-c当人脸偏转角度较大情况下人脸检测效果,图6-d显示部分遮挡和强光照下人脸检测效果.以上结论表明,本文提出方法在无约束环境下具有良好的鲁棒性.

图6 数据集FDDB中单样本检测结果显示图

2.4 运行效率

本文方法不仅准确率高,而且可以快速检测和校准.在提取特征时所使用的网络结构比较简单,以减少时间消耗,提取特征使用 3*3的卷积核尽可能减少参数量.提取特征后并行处理执行特征点定位、人脸分类以及边框回归操作,用于提高整体的效率.本实验测试使用的设备为英伟达GTX980,在处理视频时速度为45 fps,同等情况下 MTCNN[7]方法处理视频的速度为63 fps,该 CNN网络因为层数浅,所以在处理速度上有较大优势.

3 结论

在复杂环境下提高人脸检测的准确性,是人脸检测面临的主要挑战.为解决该问题,本文提出一种多级联CNN模型的人脸检测方法,在复杂环境下具有良好的鲁棒性.通过CNN网络提取更多有效特征,提高了人脸分类的准确率.采用级联结构定位人脸区域候选窗口,多网络层层筛选可以有效提高候选窗口定位的准确性.如何降低低分辨率成像以及极端拍摄角度下人脸检测的漏检现象,是下一阶段的研究方向.

猜你喜欢

级联边框人脸
铀浓缩厂级联系统核安全分析
有特点的人脸
一起学画人脸
富集中间组分同位素的级联
—— “T”级联
三国漫——人脸解锁
用Lightroom添加宝丽来边框
给照片制作专业级的边框
外出玩
摆脱边框的束缚优派
基于级联MUSIC的面阵中的二维DOA估计算法