APP下载

结合多注意力机制和中间帧序列的微表情识别

2023-03-17李思诚周顺勇曾雅兰

无线电工程 2023年3期
关键词:峰值样本特征

李思诚, 周顺勇∗, 朱 豪, 曾雅兰, 刘 学

(1.四川轻化工大学 自动化与信息工程学院,四川 宜宾 644000;2.四川轻化工大学 人工智能四川省重点实验室,四川 宜宾 644005)

0 引言

微表情是当一个人经历某种情绪但试图隐藏时的一种短暂的、不自觉的面部运动。 正常的面部表情,也被称为宏表情,持续时间在1/2~4 s,涉及到大面积的面部运动[1]。 Matsumoto 等[2]认为微表情发生在面部小部分区域,持续时间通常为 1/25~1/5 s。 虽然微表情面部动作的简短和低幅度使得人眼甚至经验丰富的专家难以实时识别微表情。 但是与宏表情不同,人们很难掩饰自己的微表情。 因此,微表情在理解人类潜在情感方面发挥着至关重要的作用,为刑事审讯[3]、国家安全[4]、测谎[5-6]、心理疾病的临床诊断等各种应用提供了帮助。

微表情研究可分为微表情检测和微表情识别。微表情检测是在一段长视频帧序列中自动检测到微表情存在的开始帧至结束帧序列,并可使用视频关键帧提取技术检索到面部微表情运动幅度最大的Apex 帧位置。 微表情识别是将检测出的微表情视频序列自动分类为具体的情感类别。 本文主要研究微表情识别任务。

1978 年Ekman 等[7]研究并开发了面部动作编码系统(FACS) 和微表情训练工具(METT)[8]。FACS 将面部表情分解成肌肉运动的各个组成部分,称为动作单位(AU)。 AU 分析可以有效地解决表示不同个体表情的歧义问题,提高表情识别性能[9]。

另一方面,METT 有助于提高人工识别面部微表情的能力,为后续构建可靠的微表情数据集提供了帮助。 尽管如此,人工识别面部微表情的能力依然有限,准确判断的概率仅有47%[10]。 因此,利用计算机视觉技术设计一种行之有效的识别算法辅助人工识别显得愈加重要。

本文的主要贡献如下:

① 引入了2 种注意力机制模块,使得神经网络学习时更聚焦于面部的细微变化。

② 由于微表情发生时面部运动幅度较小,所以输入图像采用视频序列中面部运动幅度最大的峰值帧(Apex Frame)和前后4 帧组成的中间帧序列。

③ 本文在3 个自发微表情数据集中进行实验证明了此方法识别效果优于传统方法。

1 相关工作

1.1 传统方法

微表情识别研究初期特征提取主要采用手工提取特征,大致分为2 类:基于像素值的方法和基于特征区域变化的方法。

基于像素值的方法通过统计面部区域像素值获得微表情纹理特征,如基于局部二值模式(LBP)[11]的算法。 此后,Pfister 等[12]在LBP 算法基础上从二维扩展至三维空间提出了基于三维局部二值直方图(LBP-TOP)的算法,能够更好地处理并提取动态特征。 继LBP-TOP 后,Huang 等[13]提出了判别时空局部二值量化模式 (STCLQP)的算法,利用积分投影获得水平和垂直投影,再采用LBP 算法提取2 个投影上的运动特征。

基于特征区域变化的方法不会直接考虑像素值,而是聚焦于特征点或特征区域的变化。 目前主流的方法是提取面部运动光流特征,如Liu 等[14]于2015 年首次将光流引入至微表情识别领域,提出了一种主方向平均光流特征(MDMO),该方法不仅较已有方法有着更高的准确率而且更为简单。 光流法主要分析微表情序列起始帧到峰值帧在光流场中的变化,Patel 等[15]提出了利用局部时空区域中的光流积分获得的运动矢量并求出起始和偏移的帧编号来识别微表情。 Happy 等[16]提出了一种光流方向直方图模糊化(FHOFO),从视频流矢量方向构造合适的角度直方图,对时间模式进行编码,用于微表情的分类,为基于特征区域变化的识别方法融入了新的想法。

1.2 深度学习方法

上述传统手工提取特征的方法,虽然能够有效识别微表情,但是过程往往较为复杂,耗时长,而且需要专业的心理学家进行提取。 因此并不能在实际应用中发挥很好的作用。 与传统方法需要研究人员有着心理学方面的先验知识相比,利用神经网络自主学习物体的固有形状和外观特征能够得到更高层的语义信息。 近年来,越来越多的学者尝试将深度学习方法应用于微表情识别领域。

Patel 等[17]首次在微表情识别领域使用深度学习方法,挑选出有用的深度特征,剔除无关的深度特征用于识别。 Peng 等[18]提出了一种结合了从顶点帧学习的空间特征和从相邻帧学习的时间特征来识别微表情的新型峰值时间网络(ATNet)。 Liong等[19]介绍了一种新的特征描述符,该特征描述符将光流与CNN 相结合,从起始帧至顶点帧获得光流信息后,将光流特征送入Off-ApexNet 模型进行进一步的特征增强和表情分类。 继Off-ApexNet 后,Liong等[20]又设计了一种浅层三流三维卷积神经网络(Shallow Triple Stream Three-dimensional CNN,STSTNet),该网络模型更小,却能提取更具差异性的高级特征。 Xia 等[21]提出了一种新的基于深度递归卷积网络的微表情识别方法,捕捉了微表情序列的时空变形。 该模型由用于提取视觉特征的递归卷积层和用于识别的分类层组成,以端到端的方式进行优化,避免了手动特征设计。

综上所述,与传统方法相比,深度学习技术在微表情识别领域更为有效且效率更高。 但是由于目前公开的自发微表情数据集较少,仅使用峰值帧作为输入图像容易造成在训练集上测试正确度较高,在测试集上测试正确度较低。 本文在选择输入图像时观察到峰值帧前后几帧的差异十分轻微,为了避免过拟合现象,采用面部运动幅度最大的峰值帧(Apex Frame)和前后4 帧组成的中间帧序列作为输入图像。 此外,在特征提取时,为了使模型对面部细节的轻微变化更加敏感而在不同位置加入了多种注意力机制,以便有效得提取深层信息。

2 本文算法

2.1 整体结构

本文算法的整体结构流程可分为预处理、特征提取以及表情分类3 个部分。 特征提取使用Res-Net34 网络模型为基础,构建ECANet34-DA 网络模型,通过训练宏表情数据集Fer2013[22]得到先验知识,利用迁移学习应用到微表情识别领域,整体结构流程如图1 所示。

图1 整体结构流程Fig.1 Overall structure

2.2 预处理

2.2.1 人脸对齐及裁剪

在预处理阶段,首先需要找到微表情视频序列中峰值帧的位置索引值,SAMM 和CASME II 数据集已经由心理学家提前标定了峰值帧位置。 而SMIC数据集提供的是微表情的起始帧和结束帧位置索引值,本文使用了帧间差最大法[23]提取各微表情视频序列的关键帧作为SMIC 数据集的峰值帧。 其次,由于微表情的视频序列包含了较多的干扰信息,所以需要裁剪出关键人脸区域。 通过Dlib 库对人脸68 个关键点进行标定,然后基于这些标定点进行对齐,保持双眼标定点的连线水平进行矩形裁剪以剔除冗余的背景信息,裁剪结果如图2 所示。

图2 人脸裁剪Fig.2 Cropped image

2.2.2 中间帧序列

实验对比发现,峰值帧附近帧序列的表情变化差异极其微小,因此,构建由峰值帧及其前后4 帧组成的中间帧序列,以该中间帧序列作为输入图像,更好地解决数据量不足的问题,获得更好的检测效果。

2.3 特征提取

2.3.1 ECA 模块

Efficient Channel Attention(ECA)[24]模块是一种高效通道注意力模块,是SENet[25]的改进版,由于SENet 进行的降维操作将会影响对通道注意力的预测,且获取依赖关系效率不高,所以ECA 模块采用不降维的局部跨通道交互策略,能够有效降低模型复杂性的同时保持良好的性能。 ECA 模块的具体结构如图3 所示。

图3 ECA 模块具体结构Fig.3 ECA module

ECA 模块在SENet 的基础上舍弃了2 个全连接层,在对卷积块进行全局平均池化后的特征,直接使用一个自适应大小Kernel_Size 的1D 卷积进行学习,随后通过Sigmoid 函数固定输入特征层每一个通道的权值。 最后原特征层通过与获得的通道权值相乘得到χ~,使得模型在不增加复杂性的同时对各通道特征更有辨别能力。

2.3.2 DA 模块

Dual-Attention(DA)模块是一种参考CBAM[26]机制的结合了双重注意力的机制的轻量级卷积注意力模块,在CBAM 基础上加入了从输入特征层与注意力输出特征层相加的残差连接(Residual Connection),相比ECA 模块只关注通道特征能更好地处理空间特征。 DA 包含SAM 和CAM 两个子模块,具体结构如图4 所示。

图4 DA 模块具体结构Fig.4 Structure of DA module

SAM 子模块将输入的特征图F分别经过全局最大池化和全局平均池化后,再分别输入多层感知机(MLP)。 然后融合二者输出的结果,经Sigmoid函数激活,得到SAM 特征图Ms(F)。

CAM 子模块先在空间维度上,对特征图F′=F×Ms(F)进行2 种池化,然后对2 张特征图进行融合,再对其结果进行一次一维卷积处理,经过Sigmoid函数激活得到CAM 特征图Mc(F′),最终输出F″=F′×Mc(F′)+F。

2.3.3 ECANet34-DA 网络

本文用到的基本网络是34 层ResNet 模型。ResNet 网络由He 等[27]提出,其核心是使用残差块(Residual Block),将前面某一层的输出直接跳过多层与后面数据层相加。 网络结构参考了VGG19 网络[28],但在其基础上加入了2 种不同的残差块结构,如图5 所示。

图5 2 种残差块结构Fig.5 Two structures of residual block

根据ResNet 网络层数的使用不同的结构,18,34 层为图5(a),50,101,152 层为图5(b)。 ECANet34-DA 在ResNet34 的ResBlock 中加入了ECA模块及DA 模块,其结构如图6 所示。

图6 ECANet34-DA 结构Fig.6 ECANet34-DA structure

2.4 表情分类

完成表情分类工作的方法是在神经网络末层加入Softmax 回归进行样本分类。 当样本输入至Softmax 层后,神经元会对该样本进行预测并输出一个属于当前类别的概率值。 最终,各样本概率值最大的类别即为表情分类结果。

3 实验

3.1 数据集与数据处理

3.1.1 数据集

本文使用到微表情的自发数据集共3 种:SMICHS[29],CASME II[30]和SAMM[31]数据集。 SMIC-HS数据集是全球首个公开发布的自发式微表情数据集,由芬兰奥卢大学的赵国英团队收集。 CASME II数据集是中科院心理研究所傅小兰团队收集,受试者全部来自亚洲。 SAMM 数据集是英国曼彻斯特大学Moi Hoon Yap 团队于2018 年收集,该数据集受试者男女比例1 ∶1,包括13 个种族,19~57 岁。 3 个数据集具体信息如表1 所示。

表1 常用数据集的具体信息Tab.1 Common datasets

由于SMIC-HS 和SAMM 样本数据不足,所以在CASME II 数据集上进行了多情绪类别实验。CASME II 包括“厌恶”“高兴”“其他”“压抑”“悲伤”“恐惧”和“惊讶”7 类微表情。 而恐惧和悲伤样本十分稀少,因此在多类别实验时,保留其余5 类。

3.1.2 数据集融合

为了使3 个数据集能够融合使用以增加实验数据,按SMIC-HS 的情绪三分类(消极、积极、惊讶)对CASME II 和SAMM 数据做了重新划分以便统一样本标签。 具体操作为:“厌恶”“愤怒”“压抑”“轻蔑”“悲伤”“恐惧”样本归为“消极”样本;“高兴”样本归为“积极”样本;“惊讶”样本保持不变;“其他”样本无法归类故不使用。 新划分数据集的具体信息如表2 所示。

表2 新划分数据集的具体信息Tab.2 Newly divided datasets

3.2 实验设置

本实验的操作系统为Windows 11,处理器为AMD Ryzen 7-5800H,CPU 主 频3. 20 GHz,GPU 为NVDIA GeForce RTX3060,显存12 GB。 实验使用Python 3.9. 12,Pytorch1. 10. 0 框架搭建神经网络。预训练使用Fer2013 宏表情数据集,为提取微表情特征提供先验知识。 通过留一交叉验证 (Leaveone-subject-out Cross-validation,LOSOCV) 法验证微表情识别效果。 为解决微表情数据样本类别分布不平衡的问题,损失函数使用Focal Loss 函数,定义为:

式中,p为模型预测属于类别y=i的概率;α为类别i的权重因子;()γ为调制系数,γ≥0。

评价指标包括:未加权F1 得分 (Unweighted F1-score,UF1)、系统平衡精度(Unweighted Average Recall,UAR)和准确率 (Accuracy)。

UF1 得分因为其可以不受各样本类别数量差异影响,所以在处理多情绪类别问题上是一个很好的评估标准:

式中,C为微表情总类别数;F1i为类i的F1 指数;TP,FP,FN分别为真阳性、假阳性、假阴性。

UAR 又叫做未加权平均召回率,这是一种较加权平均召回率更合理的评估标准:

式中,Acc为准确率;Acci为类i的准确率;TN为真阴性。

3.3 实验结果及分析

3.3.1 CASME II 上的多类表情实验

多类表情实验选用CASME II 数据集中“厌恶”“高兴”“其他”“压抑”“惊讶”5 类微表情。 采用LOSOCV 法作为验证方法,即每一轮实验中预留一位受试者的表情作为测试集,这样可以避免训练集和测试集中人脸样本混合造成的测试结果不准确。

本文方法与其他主流方法的识别效果对比如表3所示,选取UF1 和Accuracy 两个指标。 通过对比可以发现,本文方法在多类识别率上有着不错的提升,在CASME II 数据集的5 类微表情识别上,较最优主流算法TSCNN-II 的UF1 提升了1. 26%, 准确率提升了4.47%。

表3 多类表情识别与其他算法效果对比Tab.3 Comparison of multi-class expression recognition and other algorithms

3.3.2 新划分数据集上的3 类表情实验

以SMIC-HS 数据集划分为基准,重新划分了CASME II 和SAMM 数据集,归为“消极”“积极”“惊讶”三类。 在相同实验条件下,与其余做3 类识别的文献中的主流方法对比结果如表4 所示。

表4 3 类表情识别与其他算法效果对比Tab.4 Comparison of the effects of three types of expression recognition and other algorithms

由表4 可以看出,本文所提出的算法在3 类别微表情识别上依然有着不错的效果,在SMIC-HS 数据集上识别效果最佳:UF1 提升了2. 56%,UAR 提升了2. 09%;在CASME II 和SAMM 数据集上也有着不错的效果。 因此该算法与主流算法相比较依然有不错的竞争力。

3.4 消融实验

为了验证ECANet34-DA 网络的提取微弱特征的有效性,在CASME II 的5 类别微表情数据集上进行消融实验,实验方法设计如表5 所示。

表5 5 种消融实验方法Tab.5 Ablation experiments

消融实验的结果如图7 所示。 由图7 可以看出,在ResNet34 网络模型中融入ECA 和DA 模块后,有效地提高了网络模型的精度。 此外,使用中间帧序列作为特征输入相较于使用峰值帧,不仅有效解决了因训练数据太少导致的过拟合现象,还在一定程度上提高了识别效果。

图7 消融实验结果对比Fig.7 Comparison of the results of ablation experiments

4 结束语

本文提出了一种结合多注意力机制和中间帧序列的微表情识别算法,构建了一种更加注重微表情的微弱运动变化的ECANet34-DA 网络模型。 使用改进的ResNet34 网络模型,引入ECA 模块及DA 模块专注于提取不同情绪下面部细微差异特征。 在提取出峰值帧索引值后,选取其附近8 帧序列组成的中间帧序列用作输入图像,缓解了因数据量不足造成的过拟合现象,同时扩充了数据集。 实验结果表明,该方法对于微表情的识别效果显著,较其余主流算法有着不错的竞争力。 未来研究将聚焦于融合多数据集的特征提取,解决跨数据集微表情识别困难等问题。

猜你喜欢

峰值样本特征
“四单”联动打造适龄儿童队前教育峰值体验
用样本估计总体复习点拨
如何表达“特征”
不忠诚的四个特征
推动医改的“直销样本”
抓住特征巧观察
随机微分方程的样本Lyapunov二次型估计
宽占空比峰值电流型准PWM/PFM混合控制
基于峰值反馈的电流型PFM控制方法
村企共赢的样本