1. 引言
随着计算机视觉技术的飞速发展,人类社会经历了翻天覆地的变革。计算机视觉实质是一种利用计算机处理图像的技术,科学家们通过该技术来实现模拟人类感知过程。到目前为止,它涵盖了图像处理、图像分割、目标检测、图像分类等多个视觉任务,其中图像分类是计算机视觉领域十分基础且重要的任务。人脸表情识别是特定的图像分类任务,其旨在将人脸图像分配到不同的表情类别。
人脸表情识别领域源远流长,而二十世纪七十年代是一个关键时间点,两位著名学者Paul Ekman和Wallace V. Friesen在该领域做出了卓越贡献[1]。Paul Ekman是一位著名的心理学家,他在研究中提出了微表情的概念,即短暂持续时间的微小表情。他的研究成果深刻影响了后来的人脸表情识别领域,并被广泛应用于情绪识别、谎言检测等领域。后来Friesen与Ekman合作开发了一种用于记录和分析面部表情的系统,其为后续的人脸表情识别研究奠定了基础。
随着时间的推移,人脸表情识别领域受到越来越多的研究人员关注,其发展速度也日益加快。过去很长一段时间内,该领域主要以传统的机器学习方式来进行研究,然而传统方法[2]-[7]非常依赖于人工特征工程,表情分类识别的效果是否优异很大程度上取决于手工特征提取的效果如何。并且传统的方法局限性相对较大,面对线性小数据集,例如实验室制作的数据集,模型的预测效果尚可,但是面对非线性大数据集,效果就不太理想了。因此,FER要想在真实场景数据集上提高性能依然不是一件容易的事,这受限于人脸图像数据集的各种问题,例如身份信息干扰问题,包括且不限于人脸遮挡,阴影变化,角度变化,种族以及肤色等各种差异。简单来说,这些身份信息问题导致现有模型的泛化能力较差,并使得模型性能难以有较大的突破。此外,人脸表情数据集的特性导致了同一类别表情与不同类别表情之间的差异受到身份信息极大的干扰,这使得类内差异以及类间相似问题成为了提升模型分类能力的关键阻碍。为此,本文提出了一个基于特征融合与多注意力机制的方法,该方法通过金字塔融合结构整合不同尺度特征的语义信息来捕捉人脸的细微差异,同时使用多注意力机制来动态捕捉人脸特征的关键信息,最后还通过分解映射模块来消除融合过程中的冗余信息,精细提取最关键的表情分类信息并最大化抑制无用的身份信息,从而大幅提升模型的泛化能力。
我们所提出方法贡献如下:
1) 提出了一种基于特征融合与多注意力机制的新型框架,该框架可以最大程度融合不同尺度表情语义信息,同时尽可能地聚焦关键表情特征并抑制身份信息,然后使用分解映射来进一步剔除特征间的冗余信息尤其是身份信息,极大地提高了模型的泛化与分类能力。
2) 我们所提方法在多个真实场景数据集上达到了优异的结果。例如,所提方法在RAF-DB数据集上的准确率为92.18%,在AffectNet 7分类上为66.91%,在AffectNet 8分类上为63.42%。
2. 相关工作
2.1. 深度学习
深度学习的根源可以追溯到20世纪80年代,当时提出了多层感知器(MLP)和反向传播算法。这些早期模型虽然有理论基础,但由于计算能力和数据量的限制,未能得到广泛应用。进入21世纪后,深度学习经历了迅猛的发展。这得益于互联网的普及和海量数据的诞生为深度学习模型提供了丰富的信息源。2012年,AlexNet在ImageNet [8]竞赛中取得显著成功,标志着深度学习在计算机视觉领域的突破。此后,卷积神经网络(CNN)成为处理图像和视频方向的热门方法。2015年,Kaiming He等人提出了ResNet架构,其引入了残差块的概念,极大地推动了深度学习的发展。
如今,深度学习有着诸多潜力无穷的方向,吸引着众多学者进行研究,例如自监督学习,可解释性学习,边缘计算学习等。此外,深度学习领域不断涌现出许多创新算法和架构,例如卷积神经网络(CNN)、循环神经网络(RNN)、变换器(Transformer [9])、生成预训练变换器(GPT [10])以及视觉变换器(ViT [11])等。这些先进的算法在图像处理、自然语言处理和语音识别等多个领域取得了突破性进展,推动了深度学习技术的广泛应用和深入研究。
2.2. 人脸表情识别
最近,深度学习的快速发展推动了人脸表情识别(FER)的显著进展。深度学习能够自动从原始图像中学习和提取有用的特征,无需人工设计精细特征,这使得模型可以捕捉到复杂且多变的情感特征。此外,深度学习网络(如卷积神经网络)通过多层结构逐渐提取低级到高级的特征,能够更全面地理解面部表情的不同层次。当遇到各自复杂变化,如不同的光照、遮挡、姿态变化等时,表现出相对不错的鲁棒性,能够在野外数据集中保持较高的识别准确率。
近几年来,国内外诸多学者在人脸表情识别领域解决了各种各样的问题,极大地推动了该领域的上限,为该领域在更广泛的场景应用上提供了坚实的技术支撑。SCN [12]提出抑制不确定标签对网络训练的负面影响,防止模型对某些面部图像的过拟合。PSR [13]则通过超分辨率金字塔方法解决野外图像中的姿态、方向和输入分辨率等实际问题。此外,类别间相似性和类别内变化的挑战仍然是FER性能中的重大难题。DACL [14]通过自适应选择一组重要的特征元素,从而增强模型区分不同面部表情的能力。MA-Net [15]提出了一个全局多尺度以及局部注意力网络来提取判别特征。QOT [16]利用四元数运算替代ViT中的原始运算,通过正交分解来过滤无用信息,从而剔除特征间的冗余信息。TransFER [17]通过对局部特征关系的感知,捕捉局部特征之间的信息变化。这一能力有助于避免模型对关键特征信息的僵化固定,尤其是在姿态变化和遮挡的情况下。
3. 方法
3.1. 框架概述
我们提出了一种框架如图1所示,目的是为了解决FER中关于身份信息干扰以及类内差异与类间相似问题。具体来说,我们将FER数据集输入骨干网络(IR-50)来提取四个不同尺度大小的输出特征,记为
Figure 1. Overall framework diagram of the proposed method
图1. 所提出方法的总体框架图
,
。基于骨干网络提取的特征,我们使用金字塔融合模块(Pyramid Fusion)来融合不同层次特征的语义信息,进一步捕捉人脸特征信息上的细微差异。随后,将融合得到的特征输入多注意力模块(Multi-Attention)中进行关键信息提取,该模块包含两个不同的注意力神经网络,分别是CBAM (Convolutional Block Attention Module)以及No-local (No-local Neural Networks)。其中CBAM由通道注意力模块和空间注意力模块构成,目的是为了增强对卷积神经网络的局部信息提取能力;与之相对应的No-local是为了对模型引入非局部操作来增强模型对全局信息的感知能力。通过多注意力模块可以提升对全局与非全局信息的感知能力,强化模型提取特征时的注意力能力,从而获得具有辨别性的融合特征
。最后,我们将融合特征
通过分解映射模块(Decomposition Mapping),目的是为了进一步提出特征间的冗余信息,尤其是身份干扰信息,从而使得模型的最终输出特征具有高辨别性以及泛化能力。
接下来,我们将详细介绍金字塔融合模块,多注意力模块以及分解映射模块。
3.2. 金字塔融合
该模块融合骨干网络不同尺度的特征,能够有效捕捉图像中的细节和全局信息,且当处理复杂真实人脸数据时,融合多尺度特征有助于模型更好地理解不同对象的关系和上下文。该模块核心思想是将特征从粗到细逐层提取,保留了丰富的上下文信息,通过逐级融合,使得信息能够在不同尺度之间有效流动,从而减少信息损失。
具体来说,该模块将骨干网络输出的不同尺度特征
进行融合,
。公式如下:
(3.1)
其中
代表不同的卷积函数,用于将特征的通道与尺度进行缩小,
。
总的来说,经过多尺度特征融合得到的特征
使得模型对不同大小、不同形状的人脸数据更加鲁棒。并且通过融合多层次的信息,模型能够更好地泛化,降低过拟合的风险。此外,通过结合低层次的细节特征和高层次的语义特征,使得输出特征包含更加丰富的人脸语义信息。
3.3. 多注意力
多注意力模块主要由CBAM模块以及No-local模块构成。下面将分别详细介绍CBAM,No-local实现原理以及多注意力模块的实现过程。
1) CBAM模块的主要构成为通道注意力模块以及空间注意力模块。
具体来说,输入特征图进入CBAM模块后,首先会保留残差,当输入特征图通过通道注意力模块后,将其输出与先前保留的残差进行相乘以便获得通道注意力特征。随后,再将通道注意力特征保留残差,然后让其通过空间注意力模块,同理使其输出特征与残差进行相乘,最终获得CBAM模块的输出特征。因此,CBAM模块实现过程可以如图2所示。
Figure 2. The overall schematic diagram of the CBAM attention module is mainly composed of the channel attention module and the spatial attention module
图2. CBAM注意力模块总体示意图主要根据通道注意力模块以及空间注意力模块组成
其中通道注意力模块通过最大池化和平均池化操作处理输入特征图,然后通过全连接层计算通道注意力权重,用于加权每个通道,突出重要的特征。此外,空间通道注意力模块同样通过最大池化和平均池化操作处理输入特征图,然后通过卷积层和激活函数计算空间注意力权重,用于加权每个像素,突出重要的空间位置。因此,通道注意力模块以及空间注意力模块实现过程如图3所示。
Figure 3. Schematic diagram of the principles of the channel attention module and the spatial attention module
图3. 通道注意力模块以及空间注意力模块原理示意图
综上所述,CBAM注意力模块通过引入注意力机制,动态地调整特征图的重要性,提高特征表示的质量。它可以根据输入特征图的内容,自适应地选择关注的特征区域,抑制不重要的部分。这种特性帮助模型可以快速聚焦人脸关键特征信息,协助不同局部块之间的信息感知,从而动态突出特征图的重要区域。
2) No-local模块通过引入非局部操作,显著提升了模型对全局信息的感知能力。
简单来说,该模块通过计算特征图中每对位置之间的相似性,生成一个相似性矩阵,以了解哪些位置之间的关系更紧密。然后,将相似性矩阵进行归一化处理,得到每对位置的权重,强调重要位置的信息。接着,对输入特征图中的每个位置,使用计算得到的权重对所有位置的特征进行加权求和,从而生成新的特征表示。具体来说,将输入特征图保留一个残差,然后分别通过三个不同的1 × 1卷积函数(α, β, γ)。随后,α和β卷积函数的输出特征进行reshape调整形状,二者进行相乘并通过softmax函数得到一个新的输出,然后将其与γ卷积函数的输出进行相乘,得到精细计算后的特征。最终,将精细计算的特征通过θ卷积函数调整通道大小,因此得以与原输入特征保留的残差相加,从而得到该模块的输出特征。最终,结合加权后的特征,输出一个新的特征图。No-local注意力模块实现过程可如图4所示。
Figure 4. Schematic diagram of the principles of the No-local attention module
图4. No-local注意力模块原理示意图
综上所述,No-Local注意力模块是通过计算特征点之间的相似性,动态地为每个特征点分配权重,从而捕捉特征图中远程像素之间的依赖关系。因此,该模块在多注意模块中起到关注全局信息的作用,有助于模型增强全局上下文信息,提高对复杂场景的理解能力。
3) 多注意力模块可以高效融合CBAM模块以及No-local模块,从而提升模型对全局与非全局信息的感知能力。具体公式如下:
(3.2)
3.4. 分解映射
经过多注意力模块后的融合特征,其已经可以动态捕捉关键的人脸信息,但是此时特征图上依然存留一些身份干扰信息,以及冗余的叠加人脸信息。我们将融合特征进行正交分解映射,具体来说,对当前融合特征
分别进行三次单独的卷积过程,这样便可以得到三组相对独立的子特征,这一步骤是为了分别压缩特征,只保留直接学习到的关键信息,从而间接性地剔除相关身份冗余信息。最后,将这三组子特征进行通道拼接,完成信息融合。具体公式如下:
(3.3)
其中
代表只改变通道大小的降维卷积函数,
。
综上所述,最后模型的输出特征
进行全连接分类,从而实现高水平的人脸表情识别。
4. 实验
4.1. 数据集
1) RAF-DB [18]:RAF-DB数据集是一个大规模的人脸表情数据库,有315名工作人员(大学生和教职员工)。它提供了29,672张收集的真实世界面部图像,这些图像具体分为单标签(7种基本情绪)和双标签(12种混合情绪)子集。在实验中,我们采用单标签子集(幸福、惊喜、悲伤、愤怒、厌恶、恐惧、中立)专门设计FER任务包含15,339张面部表情图像(12,271张用于训练,其余用于测试)。
2) AffectNet [19]:AffectNet数据集是人脸表情识别领域中最大的公开数据集,其使用六种不同的语言和1250个与情感相关的关键字,在三个主要搜索引擎上收集了100多万张人脸图像。该数据集主要被分为两部分子集:一部分为手动标记,另一部分为自动标记。我们仅使用手动标记的数据集来进行相关实验,该部分子集最初分为10个表情类别。具体来说,AffectNet (7个类别集合)由280 K个训练图像和3500个验证图像组成,而AffectNet (8个类别集合)由283 K个训练图像和4000个验证图像组成。我们主要展示验证集上关于七分类和八分类的结果。
4.2. 实验细节
我们采用在Ms-Celeb-1M [20]数据集上进行预训练过的骨干网络IR-50 [21]。在RAF-DB数据集上,我们设置batch大小为36,学习率为4e−5,优化器使用Adan [22]。在AffectNet数据集上,我们设置batch大小为32,学习率为2e−6,优化器同样使用Adan,并且在该数据集上我们没有采取额外的预处理(人脸对齐以及裁剪)。我们对FER数据集的增强策略采取随机水平翻转以及随机擦除,此外规定输入数据图像大小调整至112即可。我们所提出的方法进行的所有实验均在单张NVIDIA RTX 3080Ti上完成的,并且采取准确度(Accuracy)作为评价指标。
4.3. 方法比较
Table 1. Comparison results of the proposed and existing methods on different datasets
表1. 所提出方法在不同数据集上与先进方法的比较
Methods |
Venue |
RAF-DB |
AffectNet 7cls |
AffectNet 8cls |
RAN [23] |
TIP 2020 |
86.90 |
- |
59.50 |
SCN [12] |
CVPR 2020 |
87.03 |
- |
60.23 |
DACL [14] |
WACV 2021 |
87.78 |
65.20 |
- |
KTN [24] |
TIP 2021 |
88.07 |
63.97 |
- |
VTFF [25] |
TAC 2023 |
88.14 |
61.85 |
- |
MA-Net [15] |
TIP 2021 |
88.40 |
64.53 |
60.29 |
Face2Exp [26] |
CVPR 2022 |
88.54 |
64.23 |
60.17 |
DUME [27] |
CVPR 2021 |
89.42 |
|
63.11 |
FDRL [28] |
CVPR 2021 |
89.47 |
- |
- |
DAN [29] |
arXiv 2021 |
89.70 |
65.69 |
62.09 |
EAC [30] |
ECCV 2022 |
89.99 |
65.32 |
- |
DNFER [31] |
MTA 2024 |
90.41 |
65.22 |
61.67 |
ARM [32] |
arXiv 2021 |
90.42 |
65.20 |
61.33 |
TransFER [17] |
ICCV 2021 |
90.91 |
66.23 |
- |
Ours |
- |
92.18 |
66.91 |
63.42 |
我们提出的方法在RAF-DB以及AffectNet数据集上与诸多优秀方法进行比较,如表1所示,可见我们的方法性能取得优异的结果,在RAF-DB数据集上达到了92.18%,在AffectNet数据集7分类以及8分类分别取得了66.91%以及63.42%。具体来说,我们的方法在RAF-DB数据集上,相比较TransFER提升了1.27个百分点,比DNFER提升了1.77个百分点,比EAC提升了2.19个百分点,比FDRL提升了2.71个百分点,比KTN提升了4.11个百分点,比SCN提升了5.15个百分点。而在AffectNet数据集上,基于7分类,相比较TransFER,DNFER,EAC,DAN,Face2Exp,DACL等方法,我们所提方法分别提升了0.68,1.69,1.59,1.22,2.68,1.71个百分点;基于8分类,相比较DUME,ARM,DNFER,DAN等方法,我们所提出方法分别提升了0.31,2.09,1.75,1.33个百分点。这是因为我们所提的方法可以有效捕捉表情的各种细微差异,充分理解人脸的全局与局部信息,并且聚焦关键人脸信息。
4.4. 消融实验
Table 2. Ablation experiments of the method on the RAF-DB and AffectNet datasets
表2. 方法在RAF-DB以及AffectNet数据集上的消融实验
Methods |
RAF-DB |
AffectNet (7 cls) |
Ours |
92.18 |
66.91 |
w/o金字塔融合 |
91.74 |
66.23 |
w/o多注意力 |
91.57 |
66.46 |
w/o分解映射 |
91.68 |
66.37 |
由表2可知,当我们方法分别单独剔除一些模块后,在RAF-DB以及AffectNet数据集上的效果均有所下降。具体来说,当模型去除金字塔融合模块后,模型在RAF-DB数据集上性能下降0.44个百分点,在AffectNet 7分类上性能下降了0.68个百分点;当模型不使用多注意力模块后,即不对高维特征进行处理,模型在RAF-DB数据集上性能下降0.61个百分点,在AffectNet 7分类上性能下降了0.45个百分点;当模型不使用分解映射模块后,模型在RAF-DB数据集上性能下降0.50个百分点,在AffectNet 7分类上性能下降了0.54个百分点。
4.5. 混淆矩阵
Figure 5. Confusion matrixes of our methods on RAF-DB and AffectNet dataset
图5. 我们方法在RAF-DB和AffectNet数据集上的混淆矩阵
我们所提方法在RAF-DB,AffectNet数据集上关于各个类别的实际精度如图5所示。在RAF-DB数据集上,所提出方法在快乐这一单表情上已经达到了97.30%,而在中立表情上也达到了93.68%。在AffectNet数据集上,所提出方法在较少类别上也取得了优异的成绩,例如恐惧,愤怒等类别。
5. 总结
本文提出了一种基于特征融合与多注意力机制的人脸表情识别方法。该方法首先采用金字塔结构整合骨干网络提取的多层语义特征。然后,通过多注意力模块来强化模型全局与局部的学习能力,自适应地捕捉关键的人脸信息。最后,使用正交分解映射对融合特征进行分解,进一步去除特征间的冗余信息,尤其是身份干扰信息,从而获得具有高辨别性以及良好泛化能力的表情特征。这一方法在多个真实场景条件下的数据集上表现了优越的性能,极大缓解了FER领域中遇到的类内差异、类间相似性以及身份信息干扰等问题。未来,我们将在更多数据集上进行相关实验,并且探讨该方法的进一步提升方案。
基金项目
这项工作部分得到了中央高校基本科研业务费的资助,编号:JZ2024HGTG0308。