基于注意特征融合和联合损失的表情识别网络

2023-12-15 08:37张建红郁舒兰凌禹杭
无线电工程 2023年12期
关键词:人脸准确率卷积

赵 扬,张建红,郁舒兰*,凌禹杭

(1.南京林业大学 机械电子工程学院,江苏 南京 210037;2.南京审计大学 智芯人智慧心理实验室,江苏 南京 210037)

0 引言

人类一般会通过面部表情来进行情感表达,研究[1]发现,在日常交流中,大约55%的信息是由人脸传达出来的,38%来源于表达者的声调变化,由此可见,人脸表情在信息交流中起到了巨大作用。随着互联网、大数据技术的不断更新,通过机器识别人脸情绪在智慧医疗、在线教育、智能测谎、人机交互和疲劳检测[2]等领域发挥着巨大的作用。

传统的人脸表情识别方法采用的是手工特征,主要方法有方向梯度直方图(Histogram of Oriented Gradient, HOG)、Gabor小波变换和局部二值模式(Local Binary Patterns, LBP)等。例如Mahmood等[3]通过采用Radon变换和Gabor小波变换以及鲁棒分类器来提高识别精度,传统方法虽然可以有效解决少量数据的表情识别问题,但是由于其提取特征过程需要人工进行参与且不能提取到网络深层特征,不能满足庞大数据的需求。

随着深度学习技术在计算机视觉领域发展迅速,研究者们开始使用卷积神经网络(CNN)对人脸表情识别进行研究。张波等[4]提出了基于通道注意力机制的人脸表情识别方法,模型可以对基本表情进行识别,同时设计了机器人对不同表情时的交互语音和动作,实现了人机交互。Zhao等[5]提出了一种置信学习的应用方法,引入了2个超参数来调整面部表情数据集的噪声,在不同噪声比的数据集上验证了动态噪声检测的有效性。Verma等[6]提出了一个具有视觉和面部标识分支的网络,视觉分支负责图像序列的输入,面部标识分支研究轨迹运动,考虑面部动作带来的特征变化影响,该方法在CK+数据集上取得了很好的性能。Wu等[7]基于LeNet-5网络,选择最大池化和平均池化,在完整提取图像特征的同时又有效减少参数量,提高了识别的准确性。Wang等[8]提出了AM-softmax函数,引入角度间距,加入余弦余量,使得模型学习到的特征在特征空间的决策边缘最大化,从而减少表情的类内距离,提升分类效果。李思诚等[9]提出了一种改进的ECANet34-DA网络,有效提取到了类间差异极小的微表情特征。闫河等[10]为了解决卷积降维后主干网络丢失部分特征信息的问题,引入Ghost模块和可分离卷积,保留更多的原始信息,增强主干网络的提取能力,取得了较高的识别准确率。

以上方法虽然都实现了对人脸表情识别精度的提升,但是其复杂的网络结构也带来了更大的参数量和计算数,同时人脸不同表情类间差异小,类内差异大,使得模型难以充分提取人脸特征,造成识别准确率偏低。为了解决上述问题,本文提出了基于注意力特征融合与联合损失函数的表情识别方法,使用AFF特征融合模块融合不同尺度的特征信息并以此构建网络块结构,融合深浅层图像特征信息,提高模型准确率,同时使用联合损失函数对网络进行优化训练,在保证网络轻量的同时,实现了更准确的人脸表情识别。

1 相关网络

1.1 Xception网络

Xception网络[11]是由谷歌团队在2017年提出的模型,该模型是对Inception V3网络的改进,核心思想是使用深度可分离卷积来替换原来的inception结构,以此来实现CNN中的跨通道相关性和空间相关性的完全解耦操作。模型结构如图1所示。

图1 Xception结构Fig.1 Xception structure

与mobilenet不同的是,Xception网络是先进行1×1卷积然后再进行3×3卷积操作,为了保证数据不被破坏,去掉了ReLU层。通过上述操作实现了网络参数量和复杂度的显著下降,同时为了解决网络退化的问题,加快模型的收敛效果,加入残差连接结构,最终的模型结构如图2所示。但是该网络存在计算过程零散、执行效率不高的问题。本文将使用Xception模型来进行对比实验。

1.2 DenseNet网络

稠密网络(DenseNet)[12]模型是清华大学黄高团队在2018年提出的卷积模型,核心思想是建立前后相邻卷积层的密集连接,与残差思想“短路连接”相加不同,它是将CNN采集得到的特征在通道维度上进行堆叠,实现特征的重用,有效避免了随着网络的加深带来的梯度消失问题。稠密网络的部分结构如图3所示。在稠密网络中,前层信息可以传入后层,且在深度方向上进行拼接,极大地避免了信息的破坏,有效地解决了神经网络反向传播过程中带来的梯度消失问题。

图3 稠密结构示意Fig.3 Schematic diagram of dense structure

网络整体结构主要是由稠密块和过渡层两部分组成,其中稠密块负责对提取到的特征进行密集重用,保证信息在卷积层之间相互传递,过渡层则用来调整多个稠密块提取到的特征,降低特征图的维度,减少模型的参数。稠密网络的亮点在于每个卷积层都与前面所有层进行了连接,加强了网络层之间的信息流动,相较于残差网络,模型有着更少的参数量和更高的准确率。稠密网络的输入输出关系表达式如式(1)所示:

xL=HL([x0,x1,…,xL-1]),

(1)

式中:xL-1为模型上一层的输出,xL为当前层的输出,HL为一个非线性变换。模型将前L-1层的输出在通道维度上进行拼接,优化了模型内部的信息流动。本文借鉴稠密网络的密集连接思想,构建神经网络深浅层特征融合,增强模型特征提取能力。

2 模型结构设计

2.1 AFF注意特征融合网络

特征融合是指将来自不同卷积层或分支的特征信息进行融合,以使得模型可以提取到更加丰富的特征。一般采用的操作是线性求和与通道维度拼接,但是会造成参数量的增加,而且在融合不同尺度时会带来新的问题。对于人脸表情识别任务来说,希望模型能更多地关注嘴巴、眼睛等关键部位信息,忽略掉无关的特征,提升模型的感知能力。为此,引入注意力特征融合模块增强模型提取能力。图4为AFF[13]特征网络结构图。

图4 AFF特征网络结构Fig.4 Structure diagram of AFF feature network

对于输入的2个特征X、Y(Y是感受野更大的特征)先做相加操作进行初步特征融合,随后送入2个分支,通过全局平均池化操作来提取全局特征注意力,使用点卷积(Point-wise)来提取局部特征的注意力信息,随后再做相加操作进行全局和局部特征综合,最后通过Sigmoid激活函数进行X、Y的加权平均计算。通过训练,使得网络可以自动确定权重大小,筛选出有效的人脸特征信息。

2.2 SAF网络块结构

对于CNN参数量过大,难以满足嵌入式等移动端设备应用的问题。研究人员提出了使用深度可分离卷积代替普通卷积进行特征提取。深度可分离卷积如图5所示,与传统卷积不同,它是对输入图像的空间信息和通道信息分别进行操作,可以有效减少模型计算量和推理时间。

图5 深度可分离卷积Fig.5 Depthwise separable convolution

本文提出的SAF网络块结构如图6所示,在传统卷积结构基础上进行改进。首先,将卷积层替换成深度可分离卷积,减少模型参数量,然后将ReLU激活函数替换成Mish激活函数,提升模型训练的稳定性和精确性,最后在模块中引入AFF注意特征融合模块,实现网络自适应分配权重,提取人脸有效特征信息,同时加入残差结构来减轻模型训练带来的梯度消失问题。

图6 SAF网络块结构Fig.6 SAF network block structure

2.3 联合损失函数

传统的SoftMax损失函数仅仅保证了类别间可分,并没有考虑类内的差异性。而对于人脸表情识别任务来说,不同人做同一个表情的差别比同一个人做不同表情的差别大得多,为了获取更好的分类效果,需要缩小数据类内距离,增大类间距离。

因此本文引入L-SoftMax和中心损失函数二者联合训练模型,提高模型的判别能力。其中L-SoftMax公式如下:

(2)

式中:

(3)

xi表示第i个样本,Wyi表示W的第yi列,θyi表示Wyi和xi之间的夹角,m控制分类边界,其值越大分类界限越大。L-SoftMax损失函数建立了更为严格的分类边界,有效加大了类间距离。

中心损失函数[14]可以用来减少类内差异,使得相同表情数据更加紧凑,有利于分类效果的提高。其计算公式如下:

(4)

式中:m表示样本个数,xi表示第i个样本数据,cyi表示特征中心。每次输入m张图片,中心损失函数会减小每个样本特征与中心特征的距离。对于每次特征中心的变化量可由下式得到:

(5)

最终的联合损失函数如下:

L=Li+λLc,

(6)

式中:λ为权重系数,本文取值0.001。

2.4 表情识别模型

本文设计的基于注意特征融合与联合损失的卷积网络模型结构如图7所示。主要是由9个SAF模块堆叠而成。输入图像首先经过一个卷积核大小为3×3的卷积层提取浅层特征信息,随后依次经过9个SAF模块,进一步提取人脸表情信息。同时为了避免网络过长带来的信息丢失的问题,本文分别使用卷积层和池化层来充分提取浅层网络的特征信息,并将浅层信息与深层信息进行融合以提升模型的判别效果。所提的网络结构及详细参数如表1所示。

图7 网络模型结构Fig.7 Network model structure

表1 模型参数Tab.1 Model parameters

3 实验与结果分析

3.1 数据集选取及实验环境

本次选取RAF-DB、CK+和Fer2013数据集对模型进行测试。RAF-DB数据集是一个大规模的人脸表情数据集,不同于实验室采集的数据,它是研究人员从互联网采集的包含不同种族、性别和年龄等多样化的数据集,共包括12 271张训练集和3 068张测试集,可分为惊奇、厌恶、高兴、悲伤、生气、中性和害怕共7种基本表情,部分示例如图8所示。数据库中的图像已经对头部姿态、光照条件等外部影响进行过处理。CK+数据集是在实验室拍摄的数据集,共分为愤怒、恶心、恐惧、高兴、中性、惊讶、轻蔑和悲伤共8种基本情绪,包含了981张图像数据。Fer2013数据集有7个表情分类标签,共包含28 709张训练图像和3 589张测试图像,与CK+数据集不同的是,Fer2013数据集存在大量遮挡人脸照片,对模型分类结果会有一定的影响。在进行模型训练前,需要分别对数据集进行预处理操作,依次将数据集输入人脸检测算法MTCNN裁剪人脸照片并将图片缩放至48 pixel×48 pixel。本文实验使用机器的操作系统为Windows 10,实验环境Python3.8,使用Pytorch神经网络框架,硬件平台为CPU Intel(R) Xeon(R) Silver 4110 CPU @ 2.10 GHz,内存16 GB,显卡为RTX 2080Ti 11 GB。优化器部分选择了Adam,在训练初期将初始学习率设定为0.001,在模型训练30轮之后,将学习率逐步衰减使得模型逼近最优点,衰减参数设置为0.98,本次实验将模型的训练轮数设置为250,批次大小为16。在进行模型训练过程中,由于CK+数据集过少,直接将其输入模型容易造成过拟合现象,因此在实验前对图片进行裁剪、翻转和添加噪声等数据增强技术将数据集扩充为原来的10倍,最终得到9 810张人脸照片,随后将扩充之后得到的人脸数据再送入模型中进行训练。

(a)生气

(b)厌恶

(c)害怕

(d)开心

(e)中性

(f)悲伤

(g)惊奇

3.2 实验结果与分析

分别在RAF-DB、CK+以及Fer2013人脸表情数据集上进行训练,设置epoch为250次,学习率为0.001,16张图片为一个batch。得到模型在验证集上的准确率分别为83.7%和96.5%。同时为了验证AFF算法的优越性,不加任何网络的模型作为基础网络,在其中分别嵌入SE、CBAM、ECA、AFF注意机制,使用CK+数据集进行对比实验。实验结果如表2所示。由表2可以看出,嵌入AFF特征融合网络的识别准确率最高。

表2 注意力模型对比结果

模型在RAF-DB验证集上的混淆矩阵如图9所示。从图中可以看出,高兴和生气等表情具有更好的识别效果,由于在数据集中高兴和生气拥有更明显的面部特征,而对于伤心、惊讶和害怕的识别率相对较低,其中害怕的识别准确率最低,原因是害怕的表情中会带有皱眉、嘴巴张开等明显的特征,但惊讶也会有这类特征表现,导致模型难以区分,同时数据集中各类表情数量不平衡导致模型训练不充分也是识别率低的原因之一。

图9 RAF-DB验证集识别结果混淆矩阵Fig.9 Confusion matrix of RAF-DB validation set recognition results

3.3 消融实验

为了验证本文所提方法的有效性,本文对添加的AFF特征融合注意力、联合损失以及深浅层特征融合的有效性进行了验证。消融实验结果如表3所示,其中,不加任何网络的基础模型记为Basic;AFF表示加入了注意特征融合模块。将各个模块进行对比实验,结果表明,AFF特征融合注意力、联合损失以及深浅层特征融合3个模块都可以有效提升模型的识别准确率,将三者融合加入到网络模型中将得到最好的准确率。对比基础模型,所构建的网络模型在RAF-DB数据集上提升了2.2%,在CK+数据集上提升了3.1%,从而验证了所提网络模型的有效性。

表3 消融实验

3.4 其他算法对比

为了验证本文算法的先进性,在所用数据集上同国内外的方法进行对比实验,对比结果如表4所示。可以看出本文所提算法在RAF-DB、CK+和Fer2013数据集上的准确率分别达到了83.7%、96.5%和70.3%,相较于其他算法而言有着更好的准确率,表明本文所提模型可以有效提取人脸表情特征,获得更好的分类效果。

表4 准确率对比

为了验证本文模型的轻量化改进效果,将表4中的部分模型参数大小与本文模型进行对比,对比结果如表5所示。由表5可知,本文模型的参数量仅有5.26 MB,小于其他模型,同时在RAF-DB数据集上准确率仅仅比表4中的最高准确率CASC低0.72%,参数量却减少了70%,这表明本文模型较好地满足了人脸表情识别模型的轻量化和准确率的要求。

表5 模型参数量对比

4 结束语

本文提出了一种注意力特征融合机制与联合损失的人脸表情识别网络。特征融合模块使得网络可以自适应分配权重大小,自动学习到表情变化丰富区域的特征信息,提升判别准确率;图像深浅层信息融合可以增加网络对图像的语义表征能力,而使用联合损失函数进行训练则可以进一步加大类间距离,进一步提高识别效果。最终实验结果表明,本文所提网络不仅可以有效提高人脸表情识别的准确率,同时模型参数量小于其他网络,较好地实现了人脸表情识别模型的准确率和轻量化的平衡。下一步考虑将所提模型部署到NAO机器人端,并设计机器人的交互动作行为,实现人机情感交互。

猜你喜欢
人脸准确率卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
有特点的人脸
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
从滤波器理解卷积
三国漫——人脸解锁
高速公路车牌识别标识站准确率验证法
基于傅里叶域卷积表示的目标跟踪算法
马面部与人脸相似度惊人