文|三分观寰宇 编辑|三分观寰宇
感谢各位看官阅读,麻烦右上角点击一下“关注”,既方便您进行讨论与分享,又不会错过精彩内容。
基于CBAM-DSC网络的表情识别方法摘要:提出了一种表情识别方法,采用基于卷积注意力机制和深度可分离卷积CBAM-DSC网络,其目的是解决网络模型参数过于复杂等问题。该网络结合了传统卷积和深度可分离卷积,通过使用改进的Inception模块从多个分支提取特征信息,能够减少网络参数数量并提高运行效率。此外,网络还利用卷积注意力机制模块关注重要信息,以提取更精准的特征,进而更有效地进行分类。在RAF-DB数据集和CK+数据集上的仿真实验表明,网络模型CBAM-DSC具有较高的识别率,消融实验中相比传统CNN网络的参数量减少了6.4%,提升了计算性能。
引言
鉴于卷积神经网络在机器视觉领域表现出众,许多学者开始使用深度学习技术进行表情分类任务,提出了很多经典的卷积神经网络。然而,由于人脸表情数据受到人脸姿态和光照条件等因素的影响,导致一些模型在表情识别任务中表现一般。
近年来随着人脸表情识别领域的深入研究,提出了大量模型。文献[1]提出了使用ROI(regions ofinterest)区域二级投票机制提高模型在复杂环境下的应对表情识别问题的能力,但该方法的识别率提升幅度较小,整体识别率不够突出。而文献【2]提出的深度网络仅适用于部分小样本数据集,通过使用不同学习策略训练多个深度CNN(Convolutional Neural Network)来完成识别任务,但是该网络结构和连接方式过于复杂导致训练过程繁琐耗时。张等人[[4]提出的网络模型引入注意力机制和空洞卷积来提取人脸表情的多尺度特征信息,但空洞卷积对相似表情识别效果不好。程等人[[5]提出的改进型VGG-16网络解决了像素特征分布不均的问题,在黑暗条件下也有90%的准确率。
李等人[f61利用人脸分割网络分割出人脸图像中与表情识别相关的区域,利用深度可分离卷积构建两个基分类器,减少了非重要区域的影响,取得了很好的识别率。魏等人[f}l提出一种注意力机制的轻量级CND通道和卷积自编码器预训练通道的双通道模型,卷积自编码器对输入人脸表情进行无监督预处理,有效克服了单一神经网络模型提取表情特征困难,以及堆叠网络结构造成训练复杂的问题。亢等人[f81提出利用迁移学习在目标函数中构造一个基于log-Euc lidean距离的损失项来减少迁移学习中源域与目标域之间的相关性差异,并结合注意力机制进行人脸表情识别。韦等人[f91对戴口罩的人群进行人脸表情识别,利用Dlib的Face-Mask技术对FER2013数据集进行遮挡处理生成FERM数据集进行实验,取得不错的实验结果。
本文提出的CBAM-DSC(Convolutional BlockAttention Module-Depthwise Separable Convolution)网络,将深度可分离卷积与Inception模块相结合,在Inception模块前后分别使用卷积注意力机制使网络关注有效信息[ion1相关基本理论1.1注意力机制
卷积注意力机制[11} (Convolutional BlockAttention Module, CBAM)将空间和通道[12]结合在一起,将其融合进行多方位卷积[13][14],提取到更重要的信息,增强了网络提取有效信息的能力。图1为卷积注意力机制图。
CBAM通过最大池化和平均池化保留了卷积层的梯度和主要特征,重新赋值权值使得模型关注关键区域的重要特征,提取有效特征。该算法在通道维度上将提取到的特征合并在一起。合并后的特征图通过全连接层产生的通道权值矩阵巩E RcXxXw,如公式(1)所示。
F,一Ms(F)OF(‘)
空间注意力机制将通道注意力机制输出的结果在通道维度上进行压缩的算法,如公式(2)所示。可以利用该矩阵建立像素点之间的重要关系,突出重要的信息区域。
Fa一Ms(F})O F, (2)
其中:Ms(F)表示三维的通道压缩权值矩阵,Ms(F})表示空间压缩权值矩阵,"O”表示矩阵间乘操作。1.2深度可分离卷积
卷积神经网络相较于传统神经网络的优势在于网络中的权值可以共享,并在图像分类、图像处理等方面得到了广泛的应用且取得了较好的效果。卷积神经网络的卷积核在特征图上完成卷积操作,映射出的结果是在三个维度上,分别是通道维度核空间维度的宽和高,卷积操作是对深度核空间相关J陛的联合表达,在研究和优化中演化出多种卷积方式以应对不同问题。
深度可分离卷积[ls} (Depthwise SeparableConvolution, DSC)是对传统卷积的优化核改进,将传统卷积分成了点卷积(pointwise, pw)和深度卷积(depthwise, dw),其中深度卷积是逐通道卷积,点卷积也就是1X1卷积,将深度卷积提取的特征信息进行跨通道加权组合,实现升维或降维。深度可分离卷积相对传统卷积的优势在于卷积核的参数量减少,深度可分离卷积分离了通道维的信息和空间维度的信息,将两者分开提取,特征提取的效果同传统卷积的效果相当,如图2和图3所示。
2基于CBAM-DSC网络的表情识别方法Z.i特征提取模块
GoogleNet中提出的Inception模型解决了随着网络深度增加带来过拟合的问题,而且保证网络准确率提升尽可能使得模型的计算量降低。在提升网络性能的过程中,单纯的增加网络深度与通道数会造成模型参数量增大和计算量增大的问题。Inception结构使用1X1, 3X3, 5X5卷积在多尺度上进行特征提取,最后将各通道的输出结果按照在通道维度上进行融合作为Inception结构的输出,图4为Inception模块结构。
网络将Inception结构进行改进,加入卷积注意力机制,保留有效特征。在Inception结构首尾处,各添加一个卷积注意力模块,将通道1的5X5卷积替换为两个3X3卷积,深度的增加提高了非线性特征的表达能力,然后将3X3的传统卷积全部替换为3X3深度可分离卷积,在卷积层后加入BN层。2.2 CBAM-DSC算法流程
CBAM-D SC网络中的表情识别学习过程如算法1所示。其中t为迭代次数,初始值设为Oo算法1 CBAM-DSC算法输入:预处理后的人脸图像输出:表情类别1:t}t+1;2:将人脸图像进行2次卷积操作和1次最大池化后进入CBAM模块运算。3:经两个Inception模块的卷积操作和深度可分离卷积运算后调用CBAM模块。4:将特征向量传入全局平均池化进行融合降维。5:将结果与真实标鉴输入到损失函数中,L一艺log
e WT +b}..nw rW; x+。乙ej=1计算得到损失。6:f }x)一青争(x)计“反向传播误差,通过x=x-}7可(x)调整参数并更新x。7:输出表情类别。
其中步骤3假设输入为HxWxM,卷积核为KxK,数量为N,输出特征图尺寸与输入保持一致。则传统卷积计算量的计算如公式(3)所示。
Cv=K2xHxWxMxN (3)
深度可分离卷积独立的将特征图的每一个通道进行分组再将每组的通道对应进行卷积,卷积后的通道数与输入通道数相同,得到M组HxW大小的特征图,将其组合为HxWxM大小的卷积结果。计算量如公式(4)所示。
DC=耳xlx材xM+MxNxD;xD; (4)
两种方式的计算量比值如公式(5)所示。上斌呀一斌DCCvDk XxM+MxNx材xM x叮xN
1=—十
N
由式(5)可知,在卷积核尺寸为3X3的卷积层中,深度可分离卷积的计算量是传统卷积的1/9,优化计算效率,减少了CBAM-D SC网络的计算量。
网络在浅层特征使用传统卷积进行特征提取。使用结合了深度可分离卷积的Inception结构,通道1中使用了两个深度可分离卷积,通道2中使用了一个深度可分离卷积,并在Inception结构首尾添加了注意力机制。最后将全局平均池化替换传统的全连接层,减少参数量的同时防止过拟合,将输出的特征向量传入到SoftMax进行类别预测。该网络输入的图像尺寸是48X48X1o3实验结果与分析3.1实验环境
对于所提出的网络模型,实验是在Pytorch深度学习框架的GPU版本下完成的。RAF-DB和CK+两种数据集被用来进行模型的训练和验证,并对表现最佳的模型参数进行保存,以待进行测试。3.2数据集介绍
RAF-DB数据集由29672张真实世界的图像组成,多个注释器完成每张图片的标注,因此其呈现出了极大的样式差异。RAF-DB数据集部分表情图像如图5所示。
CK+数据集规模较小,只包含327张表情图片。CK+数据集部分表情图像如图6所示。
实验开始前对数据集进行处理,先将RAF-DB数据集中的正常表情类别与CK+数据集中的轻蔑类别移除,保留其中相同的6类表情,所选取RAF-DB数据集包含10000多张图片,将恐惧表情的图像进行增强处理,通过旋转角度操作添加图像数量。因为原始数据集中的图片大小和人脸位置的差异较大。因此,先对所有样本图片进行了人脸对齐和灰度化处理,将它们的大小都统一调整为48x48并对图像采用数据增强,包括水平镜像和旋转角度等处理。3.3分析与对比
将处理后的RAF-BD数据集分为训练集(13000张)和验证集(2000张)。在训练过程中,设置了epoch为150,每批训练64张图片,学习率为0.01。当迭代次数超过30时,学习率将每5轮下降5%。采用ReLU激活函数,并使用随机梯度下降优化网络参数,以防止过拟合。对于CK+数据集,使用交叉验证法将数据集分为4组训练集和1组验证集。实验设置epoch为60,采用ReLU激活函数。在验证集上选择损失最小的模型作为最终的训练模型,并使用测试数据对整个模型进行测试。
实验结果表明,CBAM-D SC网络模型在RAF-BD数据集的实验中,快乐类识别率较高,对悲伤类的识别率较低,模型的平均识别率为87.14%。在CK+数据集的实验,模型的平均识别率为97.58%。由此可以说明,通过添加卷积注意力机制可以提高表情识别的准确率。
表3为在RAF-BD数据集上进行消融实验,其中CND为在Inception模块中未使用深度可分离卷积和注意力机制的结果,CBAM-CNT是只添加注意力机制的结果,CBAM-D SC为本文网络。对三种不同的网络进行了训练时间、参数数量和识别结果的比较。
对CBAM-D SC网络模型在两个数据集上进行了混淆矩阵测试实验,并通过图7展示了实验结果。在混淆矩阵中,每行都代表真实类别,每列都代表预测类别。
在RAF-BD数据集上,提取到的特征相似度较高,导致各类表情之间存在一定程度的混淆,因此整体识别率较CK+数据集偏低。尽管Happy表情因其与其他表情特征较为独特而识别率最高,但Sad表情与其它表情存在相似特征,容易出现分类错误,因此Sad表情的识别率最低。
相比之下,在CK+数据集上,虽然各个表情也存在轻微混淆,但其特征较容易区分,因此整体识别率较高。类似于RAF-BD数据集,Happy和Fear表情混淆程度最低,因此在识别率上排名最靠前。Sad表情在CK+数据集上的混淆相对较小,因此整体识别率仍然比较高。
表4中展示了CBAM-DSC网络模型在这两个数据库上的准确率,同时也呈现了与其他模型的比较结果。在RAF-B D和CK+数据库上进行了对CBAM-DSC网络模型的准确率实验,并将其与经典的表情识别算法进行了比较。在RAF-BD和CK+比较实验中,在RAF-B D数据集使用的算法模型包括:MobileNetV2}16}, ShuffleNetV2}1}}, ShuffleNef}lB]和SqueeezeNeXt}19};参与CK+对比实验的算法模型有:Xception }20}、MRE-CNN}21}、Attention Net、Resnetl8+CBAM}23}, Xception+CBAMo
由实验结果可知,使用深度可分离卷积替代传统卷积并添加注意力机制后,CBAM-D SC模型在CK+数据集上获得了高达97.58%的平均识别率,在RAF-BD数据集上的识别率也相比其他模型提高了4%达到87.14%。此外,与其他模型相比,该模型在CK+数据集上的识别率也高出1%。因此,CBAM-DSC模型的识别效果有显著的提升,同时在减少参数和计算量的前提下保证了较高的识别率。
4结论
本文提出一种表情识别方法,使用卷积注意力机制,增强了网络提取有效信息的能力;深度可分离卷积分开提取通道维和空间维上的信息,提高了计算性能。试验结果表明,本文提出的基于CBAM-DSC网络的表情识别方法提高了准确率并降低了计算量。接下来的工作要继续扩大类间差距,使得在相似表情的识别上取得更好的效果。
本文暂时没有评论,来添加一个吧(●'◡'●)