结合深度神经网络的网络监控系统微表情识别
2023-08-10罗予东李振坤
罗予东 李振坤
1(嘉应学院计算机学院 广东 梅州 514015) 2(广东工业大学计算机学院 广东 广州 510006)
0 引 言
近红外光(Near Infrared,NIR)[1]是介于可见光和中红外光的电磁波,近红外成像技术能够在光照条件差的环境下拍摄目标的图像,在安防监控、无人机以及虚拟现实等领域[2-3]具有广阔的应用前景。在安防监控以及协助公安部门执法的过程中,可见光视频数据目前依然处于主要的地位,而利用近红外光能够弥补弱光或黑暗环境下有效监控数据缺失的问题,因而跨模态的识别技术在安防监控领域具有极大的应用价值[4]。但由于可见光模态和近红外模态之间的数据分布存在巨大的差异,近红外模态的数据量也远少于可见光模态,导致跨模态训练过程极易发生过拟合[5]的问题。
许多研究人员对不同模态间数据分布差异大的问题进行了深入的研究,通常先利用SIFT或LBP等技术提取特征,再将不同模态的特征投影到一个公共空间内,由此缩小模态间的分布差异。文献[6]通过Harris算法对SIFT特征点进行过滤,获得图像的兴趣点,把选取的区域作为LBP特征提取的输入图像,通过两种特征的混合处理提高系统的总体性能。文献[7]使用纹理特征融合表示图像的底层语义特征,使用感兴趣区域的形态学描述表示图像的高层语义信息,设计了新的相似性度量方法计算图像两个模态间的相似度,最后利用多核学习方法学习特征融合的权值。文献[6-7]从不同方面融合了多个模态的特征,虽然性能比单模态特征有所提高,但是受限于特征描述子的表示能力[8],这类方法的性能[9]目前已经陷入了瓶颈。
随着人工智能技术的发展,研究人员利用神经网络强大的非线性学习能力提取更加丰富的特征集,再次促进了跨模态融合技术的发展[10-11]。其中运用神经网络与多模态融合技术处理表情识别问题,获得了显著的提升效果。文献[12]利用多模态深度神经网络解决建筑固废对象识别问题,把RGB图像和深度图送入神经网络进行高维特征学习,再通过最小化能量函数来寻找目标识别的全局最优解。文献[13]深入分析了多模态面部表情识别问题,通过多模态融合方法将手工定制特征和深度学习特征结合起来,结果显示多模态特征融合的情感识别性能明显好于单模态特征。虽然结合深度学习和多模态融合技术能够明显提升表情识别的准确率,但现有技术[14-15]大多将深度特征、直方图特征及纹理特征等投影到同一个公共空间中,再实现特征的跨模态融合,这类方法扩大了特征空间,计算复杂度较高。
安防监控应用场景中存在两个难题:① 可见光视频数据占据主要部分,而近红外光视频数据占据较小的部分,属于不平衡数据处理问题。采用上文的公共特征空间技术不仅增加了空间维度,而且会提高可见光目标识别的误检率[16]。② 基于直方图的动态表情识别算法对环境变化和空间变形等因素具有较好的鲁棒性,但特征的判别性较弱。为了解决第①个难题,设计了跨模态监督的深度神经网络特征融合方法,将可见光视频数据送入深度神经网络进行训练,利用近红外光数据对训练程序进行监督,达到迁移学习的目的。为了解决第②个难题,将判别能力强的卷积神经网络特征与鲁棒的直方图特征结合,利用CNN提取目标空间特征,再将CNN特征表示为直方图,同时利用直方图和卷积神经网络两者的优势,设计了新的表情识别算法。
1 安防监控的表情识别系统
1.1 应用场景介绍
一个智慧城市系统[16]的组成部分通常包括智能家居、智能交通、智能购物、智能医疗、无线网络、云服务器等,图1所示是一个简化的智慧城市系统框架。物联网及智能设备将采集的数据传到边缘计算模块进行处理,然后边缘计算模块把结果发送至云服务器进行处理和决策,云服务器将决策结果发送至公安机关、企事业单位等机构,这些机构采取相应的措施。假设一个可疑人员进入视频监控区域,摄像头经过5G网络将视频发送至边缘计算模块进行预处理,边缘计算模块将数据发送至云服务器端,云服务器的虚拟机提取人脸的生物学特征,检测该人员的危险程度,最终把结果告知公安机关。
图1 智慧城市的简单框架
图2所示是监控系统微表情自动识别的流程框图。首先,提取视频帧的卷积特征,通过卷积特征对人体进行追踪;然后,通过跨模态融合技术学习人脸特征;最终,通过CNN分类器识别人脸的表情。
图2 监控系统微表情自动识别的流程框图
1.2 基于卷积特征直方图的特征提取
设F为目标的特征向量,设H与W分别为向量高度与宽度,C为通道数量。基于CBoF(Bag of Features)模型[17]建立特征的视觉直方图,CBoF把图像特征描述符量化成视觉词,最终生成视觉词的直方图。首先提取M个码字的集合B,然后把特征集F的特征向量fij与B中的每个码字bm比较,通过相似性度量生成H×W的隶属向量G。采用欧氏距离计算相似性:
将所有计算的隶属度向量聚集成一个直方图表示q∈RM。直方图q的数学式定义为:
图3所示是提取CNN特征直方图的流程。将原特征集的每个特征向量与码字的每个特征向量比较,再计算新的隶属度值,所有的隶属度经过加权调和计算产生最终的直方图表示。
图3 提取CNN特征直方图的流程
1.3 基于卷积特征直方图的目标追踪
CBoF技术提取特征的性能较好,但其中欧氏距离的计算速度较慢,LBoF[18]模块采用内积运算能够提高计算效率,因此本文将CBoF和LBoF两个模块结合,提高神经网络的训练速度。LBoF的隶属度计算式为:
式中:“·”表示内积运算,“|·|”表示取绝对值运算。通过式(2)将所有的隶属度聚合成直方图表示,再增加一个卷积层实现式(3)的运算,卷积层的激活函数为取绝对值函数,通过神经连接计算所有节点的加权调和值,该网络结构能够加快BoF的训练速度。
在目标识别与跟踪问题中,空间信息包含了重要的价值,但式(2)所产生的直方图忽略了空间信息。为此设计了滑动窗口机制来提取多个直方图表示,通过聚合多个隶属度值来增加空间信息。设滑动窗口的大小为p×p,一个滑动步长为1,设多维直方图的表示为Q,Q的每个元素为:
式中:k=1,2,…,Hq,l=1,2,…,Wq。在CNN中加入一个平均池化层实现多维直方图的计算。
假设目标前景区域为T,采用式(4)计算出目标模型Q,Q的空间维度依赖于目标区域大小及CNN的下采样率。图4所示是本文多维直方图提取的简单示意图,首先设置一个大面积的搜索区域S,然后将搜索区域S的每个直方图与目标区域的直方图比较。
(a) 目标直方图
采用巴氏距离[19]比较直方图:
式中:p和q为两个直方图。通过式(5)计算出目标区域的相似性图S,对多维直方图取平均值,将结果作为搜索区域的统一直方图值,选择其中相似性最高的空间位置作为目标在搜索区域内的定位。
2 跨模态深度神经网络设计
2.1 跨模态监督问题
利用近红外光模态[4]提升可见光模态的微表情识别性能,通过迁移学习技术学习可见光域V和近红外光域T的特征,再把V和T组合成统一的表示。假设学习映射函数G(V)=Rdv和H(T)=Rdt分别最大化特征集fv和ft的判别力,其中fv和dv分别为可见光域的特征向量和特征维度,ft和dt分别为近红外光域的特征向量和特征维度。然后学习一个映射函数生成统一的表示fk=K(fv,ft),其中K(·)为映射函数。
上述多模态特征融合模型需要多个模态的数据,但在安防监控问题中,有时仅能获得一个模态的数据,例如:夜晚仅能拍摄近红外光的数据,无法拍摄可见光的数据。因此对多模态融合进行了修改,跨模态学习的目标是学习一个新的映射函数K(·),且K(·)依赖于T,函数K(·)的输入为V,在训练过程中学习T对K(·)的影响关系。
2.2 基于神经网络实现跨模态监督
设计了编码器-解码器结构的深度神经网络学习变换函数K,网络的输入是可见光图像,在可见光域特征fk之后级联一个解码器来加入近红外光域的监督数据T。跨模态监督学习能够学习两个模态间的相关性,增加一个神经网络来识别面部的微表情。
每个微表情分别训练一个网络结构,假设第i个面部表情的判别网络为AUi,那么可得pi=AUi(fk),pi表示第i个面部行为的出现概率。设Dec表示解码网络,经过跨模态监督学习获得重建的近红外光图像T′=Dec(fk)。因为fk=K(V),所以面部行为识别的概率为pi=AUi(K(V)),分类损失和近红外光图像重建损失两者在监督学习过程中存在冲突性,且分类损失的监督强度明显大于跨模态的相关性。为了解决该问题,直接将判别网络连接到解码器的输出,判别网络预测的概率变为:
pi=AUi(T′)=AUi(D(K(V)))
(6)
式中:D()表示解码函数。
2.3 迁移学习思想的实现
将第i种微表情的二元交叉熵损失函数记为Li(AUi(
T′)),通过求偏导计算编码器的梯度:
随之可获得以下的编码器公式:
AUi(T′)=wi·z(T′)
(8)
式中:z(T′)表示T′的正则化特征表示,wi为类向量。直接通过梯度下降法计算类向量wi和特征z(T′)间距离的极值,如果T属于第i个类,那么T与wi的距离必大于0,z(T′)与wi的距离也必大于0。假设T与T′存在以下关系:
T′=T+δ
(9)
式中:参数θK的更新梯度与近红外光图T成比例关系。如果重建的热图T′与T的差异较大,那么式(10)不成立,从而导致梯度快速消失。
根据式(10)的结论,网络的训练目标是最小化δ,即最小化近红外光图像的重建误差,再结合近红外光图分类器对编码器-解码器网络进行微调。模型仅训练一次热图分类器,然后利用该分类器对编码器-解码器网络进行监督训练。训练后的编码器网络K学习了可见光图像和近红外光图之间的相关性,同时也学习了近红外光图的判别特征。
2.4 重建损失函数定义
通常通过最小化重建图T′和原图T间像素的均方误差MSE来优化近红外光图的重建,MSE的计算式为:
式(11)对所有的像素的重建误差进行了平均化处理,每个像素对网络模型参数的贡献相等。如果重建误差大的像素数量较少,网络模型则可能过早发生收敛。因此,如下选出一部分误差大的像素来引导训练:
式中:N是用于计算重建损失的像素数量,函数rank(lp,L)计算了元素lp在向量L中的排名。γ()为指示函数,如果条件满足,那么γ()=1,否则γ()=0。通过指定N个差异最大的像素来引导网络模型的训练,从而避免发生过早收敛,提高网络模型的准确性。
2.5 迁移学习微调神经网络
训练后的编码器K提取可见光图像的潜在表示fk,然后采用迁移学习的思想对编码器的参数进行微调。假设目标数据集N不包含近红外光图,增加编码器K和解码器Dv,通过反向映射从近红外光图重建可见光图像。图5所示是编码器、解码器微调训练的流程,根据可见光图像的重建损失学习目标数据集N的潜在表示。
图5 基于迁移学习的微调训练流程
3 微表情识别系统设计
图6所示是微表情识别的网络结构,主要分为特征提取和特征增强两个阶段。首先训练一个CNN分类器,同时采用近红外光图的人脸图像训练另一个CNN分类器。然后将近红外光模态的信息迁移到可见光模态,在保持搜索空间的前提下提升可见光模态的特征性能。
图6 跨模态监督表示学习的训练流程
图7所示是多模态特征融合系统的总体结构。
图7 多模态特征融合系统的总体结构
设每个输入模态为xi,对应的特征为:
vi=f(xi;θi)
(13)
式中:vi∈Rdi,f表示特征提取,θi为模态xi的相关参数。定义一个函数g(.;ε)将所有模态的特征转化成公共表示l,l的数学式定义为:
l=g(v1,v2,…,vk;ε)
(14)
式中:j=1,2,…,M,σ表示sigmoid非线性变换。
然后为每个特征向量vi建立变换向量:
4 实验与结果分析
4.1 实验环境与实验数据集
在MATLAB R2018b平台上编程实现本文算法,实验环境为一台PC机,硬件配置为Intel(R) Core(TM) i5-8400处理器,2.80 GHz主频,16 GB内存。操作系统为Windows 10。
实验包括两个部分,第1部分测试人脸追踪的性能,第2部分测试微表情识别的性能。采用公开的目标追踪数据集TempleColor128完成人脸追踪的实验。该数据集包含不同场景下共128组视频序列,选出9组人脸追踪数据集完成人脸追踪实验,即Trellis、FaceOcc1、David、Face_ce2、Girl、Iceskater、Micheal_ce、Skating_ce2、Sunshade,如图8所示。该数据集共有光照变化(IV)、平面外旋转(OPR)、尺度变化(SV)、目标遮挡(OCC)、变形(DEF)、运动模糊(MB)、低分辨率(LR)、离开视野(OOV)八个属性,能够全面地测试算法的鲁棒性。
(a) Trellis (b) FaceOcc1 (c) David
然后采用公开的多模态微表情数据集(Multi-modal Spontaneous Emotion,MMSE)[20]完成微表情识别的实验。该数据集由可见光视频数据和近红外光视频数据组成,由140个人物对象在镜头前完成10个指定任务,每个视频帧标注了49个面部标志点。筛选出100 000个可见光视频和50 000个对应的近红外光视频,将可见光数据与近红外光数据设为2∶1,测试算法在不平衡数据下的性能。数据集选出12个出现频率最高的面部微表情,即轻松(relaxed)、惊讶(surprised)、悲伤(sad)、高兴(happy)、痛苦(pain)、恶心(disgusted)、尴尬(embarrassed)、紧张(nervous)、害怕(scared)、生气(angry)、沮丧(frustrated)、惊吓(startled)。图9(a)、(b)、(c)分别为可见光图像的尴尬、高兴、轻松三个表情的实例,图9(d)、(e)、(f)分别为近红外图像的高兴、惊讶、轻松三个表情的实例。
(a) 尴尬表情 (b) 高兴表情(c) 轻松表情
4.2 神经网络的训练方法
4.2.1特征提取网络的训练
采用DenseNet-121[21]提取卷积网络的特征,采用二值交叉熵计算网络损失:
BCE(s,t)=-log(st)
(20)
式中:如果标记t为正(前景区域),那么st=s;如果标记t为负(背景区域),那么st=1-s。
图10(a)、(b)和(c)分别是RGB图、近红外热图以及重建的近红外热图实例。经过跨模态监督学习获得重建的近红外光图像T′=Dec(fk),可看出重建过程存在明显的损失,但是损失较小。
(a) RGB图 (b) 近红外热图 (c) 重建的热图图10 近红外热图重建实例
4.2.2跨模态监督网络的训练
如图11所示,微表情识别也采用DenseNet-121的网络结构,网络深度为100,随机初始化权重,DenseNet输出层为12个神经元,每个单元对应一个微表情。输入图像大小统一缩放成150×150个像素,采用mini-batch随机梯度下降法训练网络,学习率为0.01,计算每个微表情的二值交叉熵损失作为代价函数。考虑数据集不平衡的特点,为每个分类的损失值分配一个相应的权值。图11所示是提取图像特征的网络结构,随之采用2.3节、2.4节的方法微调神经网络,然后基于2.5节的方法利用近红外数据对神经网络进行监督训练。
图11 DenseNet-121的网络结构
4.3 结果分析
4.3.1人脸追踪实验
为了综合评价本文人脸追踪算法ConHis的性能,选择基于卷积神经网络的目标追踪算法MODCNN[22]、基于直方图的人脸识别算法HDHOG[23]及基于卷积神经网络和亲和力度量的人脸识别算法CNNMTT[24]。MODCNN是一种采用CNN卷积特征的人脸识别算法,通过该算法观察ConHis将卷积特征与直方图特征相结合的思想是否有效。HDHOG是一种基于HOG(Histograms of Oriented Gradients)直方图的目标追踪算法,该算法采用有向梯度直方图提取兴趣点的特征,具有较好的鲁棒性。CNNMTT是一种结合CNN网络和分类器的目标追踪算法,该算法通过二值分类器提取前景区域,再通过CNN提取前景区域的特征,由此提高卷积特征的鲁棒性。
采用精度曲线和成功率曲线两个指标评价目标追踪的综合性能,两个指标需要计算中心位置误差和总覆盖率:中心位置误差定义为目标位置与真实位置间的平均欧氏距离,覆盖率定义为目标区域和真实区域的交集除以两者的并集。精度曲线的阈值设为20个像素,成功率曲线的阈值设为0.4。
图12所示分别为4个目标追踪算法的精度曲线与成功率曲线,图12(a)中ConHis的AUC(Area Under roc Curve)得分分别为0.684、0.633、0.542和0.557,图12(b)中ConHis的AUC得分分别为0.488、0.417、0.387和0.393。本文的ConHis算法的精度和成功率均获得了最佳的结果,优于另一个基于CNN的追踪算法CNNMTT,由此证明将卷积神经网络特征和直方图特征结合,能够增强目标追踪的性能。
(a) 精度曲线
表1所示为4个目标追踪算法对于8个属性的平均精度值。ConHis算法在IV、OPR、SV、OCC、DEF、MB六个属性上均获得了最佳的精度值,但在低分辨率(LR)属性上略低于MODCNN和HDHOG两个方法,在低分辨率情况下卷积特征的判别效果下降,后期经过直方图处理后导致判别性进一步下降,因此在低分辨率情况下,HonHis和CNNMTT的性能均差于基于单一特征的算法。此外ConHis在离开视野(OOV)属性上也低于CNNMTT方法,CNNMTT在第一步利用二值分类器识别前景区域,因此能够有效处理目标离开视野的情况。
表1 目标追踪算法对于8个属性的平均精度值
4.3.2微表情识别实验
为了综合评价本文微表情识别的性能,选择基于深度神经网络的微表情识别模型EAC-Net[25]、基于CNN和双向长短期记忆网络的微表情识别模型CNN&BLSTM-RNN[26],另外也采用可见光数据和近红外光数据单独训练DenseNet-121模型,由此观察本文多模态特征融合算法的效果。EAC-Net[25]通过E-net和C-net分别训练不同模态的特征,最终将两个模型的结果通过加权调和的方法进行融合。CNN&BLSTM-RNN[26]采用CNN提取视频数据的特征,利用表情的连续性特点,通过BLISTM对下一帧的人脸位置进行预测,从而提升人脸识别的准确率。采用F1-score指数评价微表情识别的综合性能,实验采用5折交叉检验完成实验并统计实验结果。
图13所示是微表情识别算法对12个微表情识别的F1-score值,表2是所有模型识别12种微表情的平均F1-score值。CNN&BLSTM-RNN是一种基于可见光视频的微表情识别算法,其性能优于可见光DenseNet-121模型,可看出该模型通过BLISTM预测下一帧的人脸位置,有效地提升了微表情的识别性能。但CNN&BLSTM-RNN的性能差于EAC-Net模型,可看出通过融合多模态的特征能够有效提升微表情的识别性能。本文算法则取得了最佳的识别结果,可看出本文跨模态监督训练的方法优于多模态直接融合的方法,由此也佐证了本文的思想。
表2 微表情识别算法的F1-score平均值
(a) 第1组
5 结 语
为了满足智慧城市建设过程中智能安防监控系统的需要,结合深度神经网络技术提出了新的智能监控系统微表情识别算法。设计了跨模态监督的深度神经网络特征融合方法,将可见光视频数据送入深度神经网络进行训练,利用近红外光数据对训练程序进行监督,提高了对人脸微表情识别的性能。安防监控系统每时每刻拍摄新的视频数据,因此需要不断地重新训练深度神经网络,而训练神经网络需要极大的开销。未来将关注于神经网络增量训练的研究,提高算法的实际应用价值。