APP下载

基于改进的Faster RCNN面部表情检测算法

2021-07-05伍锡如凌星雨

智能系统学报 2021年2期
关键词:特征提取卷积样本

伍锡如,凌星雨

(桂林电子科技大学 电子工程与自动化学院,广西 桂林 541004)

面部表情包含了丰富的信息,直接反映了人 们的心理特征,是表达情感的重要途径之一。面部表情检测可应用于人机交互、安防监视、医疗及认知科学等多个领域,是计算机视觉研究热点之一。面部表情的表达通常分为愤怒、厌恶、恐惧、开心、悲伤和惊讶6类[1-2]。面部表情检测任务的重点是从面部图像中提取面部表情特征,并使用经过训练的分类器识别不同的面部表情。传统的表情识别依赖手工提取特征,特征提取方法主要分为3类:基于外观的特征提取、基于几何的特征提取和基于运动的特征提取。常用的外观特征提取包括像素强度[3]、Gabor滤波[4]、局部二值模式LBP(local binary patterns)[5]及方向梯度直方图[6],其中Gabor特征提取计算成本高昂,而LBP具有良好性能,被广泛用于面部表情识别[7-8]。在基于几何的特征提取方法中,提取人眼、眉毛、嘴角等面部器官的位置和形状,形成能够代表人脸几何的特征向量[9-10]。基于运动的特征提取方法提取动态图像序列为运动特征,根据特征部位的运动变化对面部表情进行识别[11-12]。由于光照变化、遮挡等多种因素,表情识别仍具有挑战性[13],这些因素会影响识别精度,手工提取特征不适用于具有干扰的面部表情检测任务,深度学习的提出为这些问题提供了解决方案。

深度学习概念由Hinton在2006年提出[14-15],比传统的网络具有更强的特征表达能力和泛化能力,近几年在面部表情检测中得到大量应用。如Yang等[16]使用VGG16网络及DNN(deep neural networks)形成双通道对不同特征进行提取来完成表情识别。Wu等[17]使用遗传算法优化神经网络来进行表情识别任务。Salmam等[18]使用CNN(convolutional neural networks)提取外观特征,使用DNN提取几何特征点,合并为CNN-DNN模型进行表情识别任务。

在目标检测任务中,Girshick[19]提出的RCNN(Region-CNN)方法是目标检测中重要的参考方法,目标检测系列算法很多都借鉴了R-CNN的思路。R-CNN模型是将目标区域建议与CNN分类相结合,使用Selective Search算法在输入图像中提取2 000个候选区域,经过CNN网络进行特征提取,通过训练好的分类器来判断候选区域中是否含有目标,再使用回归器对候选框进行调整。Girshick等[20]结合SPP-net网络的思想对RCNN进行了改进,提出Fast R-CNN模型。相比R-CNN,Fast R-CNN对整幅图仅进行一次特征提取,再与候选框映射,避免候选框重复提取特征而浪费时间。Fast RCNN采用Softmax分类与边框回归一起进行训练,省去特征存储,提高空间和时间利用率,同时分类和回归任务也可以共享卷积特征。Ren等[21]提出用深度学习方法来进行区域建议即区域建议网络RPN(region proposal network),把RPN与Fast R-CNN结合,形成新的网络模型Faster RCNN,提高整体检测性能。

针对多目标复杂场景下的面部表情检测问题,本文创新性地引入Faster RCNN网络对面部表情进行识别及定位。根据表情检测特点在Faster RCNN网络框架基础上进行改进,使用密集连接网络代替原有特征提取模块,提取融合目标多层次特征,使特征更具表达力。采用Soft-NMS替换原有候选框合并策略,设计衰减函数提高目标框定位精度。采集制作真实环境下的表情数据集,通过训练最终实现野外环境下各表情的识别与定位,在精度上取得了很好的效果。

1 Faster RCNN网络结构

Faster RCNN是目前主流的二阶段检测网络,是由RPN和Fast RCNN合并而来,每一阶段的网络都可以输出检测类别与边框定位,以网络结构分析,Faster RCNN网络可以分为3个部分,基础特征提取网络、区域建议网络RPN和Fast RCNN检测网络,算法的具体步骤如下,算法框架如图1所示。

图 1 Faster RCNN网络结构Fig. 1 Faster RCNN architectures

1.1 特征提取网络

特征提取网络部分由卷积神经网络CNN构成,CNN基本结构包括卷积层、池化层、全连接层及softmax分类层。使用不同的CNN会对检测精度、检测时间等造成不同的影响。

Faster RCNN常采用的特征提取网络有3个,分别是ZFNet、VGG-16、ResNet,其中1)ZFNet[22]是在AlexNet的基础上进行细节改动,减少卷积核数量及步长大小,保留更多的特征,从中也可推理出网络深度增加,网络特征提取性能越好,特征提取效果也越优秀;2)VGG-16[23]验证了卷积神经网络深度与性能之间的关系,通过反复堆叠3×3的卷积核与2×2的最大池化层而来。VGG-16网络结构简单,特征提取效果好,但是参数大,训练的特征数量多,对硬件要求高;3)ResNet[24]又称为残差网络,设计一种残差模块,解决网络深度增加时带来的梯度消失问题,实现单位映射之间的连接路线,能够提取目标更深层次的特征,实现很好的识别效果。

1.2 区域建议网络RPN

RPN用来提取候选区域,结构如图2。接收来自基础特征提取网络传入的卷积特征图,通过卷积核将每一个3×3的滑动窗口(sliding window)卷积成为256维的特征向量。对每一个滑动窗口通过1×1的卷积输出为两个全连接层,即边框分类层cls layer(box-classification layer)和边框回归层reg layer(box-regression layer)。cls layer输出属于前景和背景的概率,reg layer输出预测区域的中心点坐标:x,y和长宽:w,h4个参数。滑动窗口中心对应的感受野来判断是否存在目标,由于目标长宽大小不一,以16为基准窗口大小,通过(8,16,32)3种窗口尺度和(1∶2,1∶1,2∶1)3种长宽比生成k个anchor对特征图进行多尺度多点位采样。

图 2 RPN结构Fig. 2 Region proposal networks structure

RPN的损失函数定义为

式中:角标i表示anchor的索引;pi表示每一个anchor中对应k+1类(k个类别+1个背景)的概率分布;表示是否含有目标(有目标则为1,反之为0);为mini-batch大小(一般为256);Nreg为anchor数量;λ 为平衡权重,取值为1;ti是建议框坐标 {tx,ty,tw,th};是标记框的坐标,具体参数值如下:

x、xa、x*(y, w, h同理)分别表示建议框、anchor框和标定框的位置参数。

分类损失Lcls是目标和非目标的对数损失:

RPN通过损失函数对边框进行回归,并对检测器输出的预测框进行非极大值抑制方法合并,作为输入连接到Fast RCNN中。RPN产生的候选区域与特征提取网络输出的特征图相映射,ROI池化层对于不同大小的候选区域输入都能得到固定维度的输出,再通过cls layer和reg layer得到最终的结果。

2 改进的Faster RCNN

2.1 密集连接网络

采用更深的特征提取网络能够提取更深层次的语义信息,但是随着网络加深,参数不可避免地加大,这给网络优化和实验硬件带来一系列问题,在本文的面部表情检测算法中,单独制作出来的数据集样本数量少,网络训练容易造成过拟合,采用DenseNet密集连接网络作为特征提取网络可以解决上述问题。

DenseNet借鉴了ResNet的思想,与ResNet网络不同,是全新的网络结构。两种网络结构最直观的区别在于每一个网络模块的传递函数不同。

式(6)为ResNet网络传递函数,可以看出该网络第l层的输出是l-1层输出的非线性变化加l-1层的输出。而DenseNet一个网络模块第l层的输出是前面所有层输出的非线性变换集合,网络模块(Dense Block)如图3所示。

每一个Dense Block内的卷积都互相连接,H表示对每个输入使用Batch Norm、ReLU,用k维的3×3卷积核进行卷积,保证每个节点输出同样维度的特征图。k表示每一层卷积输出特征图的厚度,相比其他网络输出特征图厚度能够达到几百甚至上千,DenseNet整体厚度仅为32。因为网络中每个模块的密集连接能够有效利用浅层与深层特征,能够使网络高效而狭窄,并且大幅度减少网络复杂程度与计算量,连接节点Hl的参数如图4。

图 3 Dense Block结构Fig. 3 Dense Block architectures

图 4 节点 Hl 参数Fig. 4 Node Hl parameter

本文采用4个Dense Block网络121层作为特征提取网络,去除全连接层和分类层,再连接RPN及RoI池化层,完成目标识别与定位。4层D ense Block结构参数如表1所示。

表 1 DenseNet结构参数Table 1 DenseNet structure parameters

2.2 非极大值抑制

非极大值抑制NMS(non-maximum suppression)是检测流程中重要的组成部分,本质是搜索局部极大值,抑制非极大值元素。Faster RCNN会在图片中生成一系列检测框B={b1,b2,···,bN} 和对应的检测框得分集合Si,NMS算法将选出最大得分前的物体检测流程中的检测框M,与其余的检测框进行重叠度IoU(Intersection over Union)计算,如果计算结果大于设定阈值Nt则此检测框将被抑制。NMS算法公式如下:

式中IoU计算公式如下:

其中A、B为两个重叠的检测框:

从式(7)中可以看出NMS算法会将与检测框M相邻并大于阈值的检测框归零,如果一个待检测目标在重叠区域出现,NMS算法则会导致该目标检测失败,降低检测模型的准确率。

针对这个问题,本文使用Soft-NMS算法替代传统的NMS算法。在该算法中,相邻检测框基于重叠部分的大小设置一个衰减函数而非将其分数置为零,保证相邻目标能够准确识别。Soft-NMS公示表示如下:

本文改进Faster RCNN检测算法的前端特征提取网络及末端回归器,用于完成真实环境下面部表情检测,算法流程如下所示:

算法 改进Faster RCNN流程

1)输入图像A,调整图像尺寸,输出为规定尺寸M×N的图B;

2)B作为特征提取模块的输入,通过DenseNet得到多层次融合特征图C;

3)C作为区域建议(RPN)的输入,采用滑动窗口的方法得到300个proposals:D。RPN使用边框回归改变生成的anchors,使之更加接近标记框;

4)C与D作为感兴区域(RoI)的输入,得到建议框与特征图之间的映射图E。

5)把E分别输出到分类器与回归器两个分支中。分类器采用Softmax对E进行分类识别,回归器采用边框回归Soft-NMS进一步纠正边框,最终 分类目标并定位。

3 实验

3.1 数据集制作及处理

为验证所提出Faster RCNN面部表情检测算法的有效性,本文独自采集愤怒、厌恶、恐惧、开心、悲伤和惊讶6类表情数据集,共4 152张图片。

为保证检测模型能够完成日常生活情况下的面部表情检测,数据具有不同的光照强度、不同的人物位姿、复杂的背景及多个目标,包含不同肤色、年龄、种族等,并对数据中50%的数据集采取镜像扩充,50%数据集采取平移扩充,通过LabelImg软件对数据进行标注,如图5所示。扩充后的数据集为8 304张图片,其中90%作为训练集,10%作为测试集,数据集数量分布如表2所示。

图 5 数据扩充及标注Fig. 5 Data expansion and labeling

表 2 数据参数Table 2 Data parameters

从测试数据集中挑选出困难样本用于对比改进算法在复杂背景下的准确率。其中困难样本的选取范围为图片中检测目标多于4个,面部有光照影响,面部遮挡及侧面情况。困难样本测试数据如表3所示。在困难样本中,部分图像具备多个困难属性,下文介绍。图像存在多个人物表情且存在属于黑夜拍摄,该图像既属于多目标类别样本也属于光照影响样本。

考虑算法在不同环境下的有效性,本文添加日本女性面部表情JAFFE(Japanese Female Facial Expressions)数据集[25]进行对照实验。JAFFE数据由10名女性的7种表情构成,包括6种基本情绪和一种中性情绪,总共213副图像,原始图像为256像素×256像素大小,数据都已经进行过裁剪和调整,人物面部居中,仅有少量光照差别,是一个质量较高的面部表情数据集。试验选取数据集 中6类相关表情进行验证。

3.2 实验参数及评价指标

由于DenseNet在传输过程中需要融合当前阶段所有特征图,对显存要求巨大,因此采用密集连接网络的高效内存实现方法。提出两个预先分配的共享内存存储位置,存放用来连接的共享特征图。在正向传递期间,将所有中间输出分配给这些存储器块;在反向传递期间,根据需要即时重新计算更新传递函数。采用这种策略使得DenseNet在增加较少的计算开销下能够在单块显卡中工作。

实验基于Tensorflow框架,采用I76 700处理器,内存为32G,显卡GeForce RTX2080Ti,显存为11G进行训练。实验数据由个人采集,有生活照、剧照等不同场景下的人物表情,并由LabelImg软件进行人工标注。

总数据训练迭代10万次,批大小Batchs为64,初始学习率设置为0.001,并且在训练时期总数的75%后设置为0.000 1。

评价指标为平均精度AP(Average-Precision),是Precision-recall(P-R)曲线所围成的面积。在PR曲线中,P表示精确率,R表示召回率,计算如下式:

式中:TP(True positives)为正确样本被识别为正样本的数量;FP(False positives)为负样本被错误识别为正样本的数量;FN为正样本被错误识别为负样本的数量。AP值表示单个类别的识别准确率,越高表示网络模型性能越好。mAP(mean Average-Preision)表示所有类别总体识别准确率,与AP值之间的关系如式(12)所示。

3.3 结果比较及分析

分别用ResNet和DenseNet作为特征提取网络进行训练,使用测试集对网络模型进行测试,得到每类表情的AP值如表4所示,困难样本的检测对比结果如表5所示。

表 4 不同网络模型的测试结果Table 4 Test results of different network models

表 5 困难样本测试结果Table 5 Test results of difficult sample

从检测结果可以看出,采用ResNet的Faster RCNN在各类表情检测中mAP达到78%以上,部分检测结果如图6所示。图6(a)中目标特征明显,光照充足,模型能够达到很好的检测结果,图6(b)中脸部特征有部分遮挡,且含有不同表情类型,检测效果令人满意,而图6(c)中存在漏检情况,可以看出使用ResNet具有一定的检测能力,但依旧存在一些漏检和误检情况。这是因为数据量过小,ResNet无法充分训练,在复杂情况下鲁棒性不高。

图 6 ResNet-Faster RCNN检测效果Fig. 6 ResNet-Faster RCNN detection result

从表4可以看出采用DenseNet-121作为特征提取网络mAP能够达到83%,相比ResNet提高5%。其中在开心、悲伤、惊讶这3类表情中,模型检测结果提高较多,因为这3类表情的测试集存在多目标、有遮挡及复杂背景的样本,DenseNet能够提取目标更多的特征,达到更好的效果。采用Soft-NMS对检测框进行改进,准确率分别在开心、悲伤、惊讶3类存在多目标样本的数据集中提高了一个百分点,说明Soft-NMS在多目标及目标重叠情况下能够避免检测框重复度高于阈值导致的候选框归零的错误,达到更好的检测效果。通过表5则可以看出,改进的检测网络在困难样本中相比原版具有更高的鲁棒性,其中在多目标、遮挡及侧面3类样本中提高较为明显。采用改进Faster RCNN算法与原始Faster RCNN在多目标复杂背景下的效果对比如图7。

图 7 原始网络与改进网络对比Fig. 7 Comparison of accuracy with different backbone

图7中选取多目标、多位姿及黑夜情况下的样本进行检测,第1行为原始网络检测结果,第2行为改进网络的检测结果。结果表明,原始网络在复杂情况下普遍存在漏检情况。图7(b)中原始网络出现错误检测,表情类型应为悲伤,而检测结果为恐惧。图7(c)中出现漏检,并且检测框并未准确包含面部目标。对比可以看出采用DenseNet及Soft-NMS改进的Faster RCNN在检测结果上优于原始的Faster RCNN,能够检测到更多的目标表情,并在相邻目标距离过近的情况下准确地框选出独立个体。在背景复杂及多目标情况下改进的Faster RCNN性能提高更为明显。

考虑制作的数据集具有相似的环境特性,试验加入JAFFE数据集来验证网络模型在不同环境下的检测性能。试验将已训练好的网络模型在JAFFE数据中测试,用来比较原版网络与改进网络在新数据集中的泛化性。将JAFFE数据的50%纳入训练集作为第3组对照实验,对比数据集对实验结果造成的影响,对比结果如图8所示。

图 8 原始网络与改进网络对比Fig. 8 Comparison of test results

由于JAFFE数据集为单目标高质量数据集,光照影响小、背景单一,与原数据集差异较大,因此算法的提高不如在原数据集中明显,但依旧可以看出改进算法较原始算法具有一定优势。将50%数据集加入训练集后,算法模型在JAFFE数据集中性能有明显提高,部分检测结果如图9所示,可以看出数据集对算法具有较大影响。如果进一步扩充数据集的多样性,算法的鲁棒性将进一步提高。

图 9 JAFFE数据集检测结果Fig. 9 Test results of JAFFE dataset

通过一系列实验对比,可以看出改进的Faster RCNN算法在面部表情检测任务中具有较高的检测精度,同时在不同环境中具备良好的鲁棒性,提高了算法的应用范围,更有实际应用价值。

4 结束语

针对传统表情检测算法对于环境光线不同、背景多样及位姿角度变化等情况下无法发挥有效作用的问题,提出深度学习表情检测算法,以Faster RCNN为基础改进,使用密集连接网络作为特征提取模块,每个模块的密集连接能够有效利用浅层与深层特征,提高网络对面部表情检测的准确率,采用Soft-NMS替换原有的NMS算法,优化候选框合并策略,使候选框更加精确。制作真实环境下的表情数据集,并进行扩充,提高训练模型的鲁棒性。本文提出的检测算法能够实现日常生活中的多目标面部表情检测,在黑夜、部分遮挡、佩戴饰品等复杂情况下取得较好的精度,达到了良好的检测效果。

猜你喜欢

特征提取卷积样本
基于3D-Winograd的快速卷积算法设计及FPGA实现
用样本估计总体复习点拨
从滤波器理解卷积
基于Daubechies(dbN)的飞行器音频特征提取
推动医改的“直销样本”
基于傅里叶域卷积表示的目标跟踪算法
Bagging RCSP脑电特征提取算法
随机微分方程的样本Lyapunov二次型估计
村企共赢的样本
基于MED和循环域解调的多故障特征提取