摘要:
微表情是一种不由思想控制的本能反应,它能揭示一个人的内心感受,在情感分析和测谎方面具有重要意义。然而,由于微表情表现为特定面部动作单元内的微妙面部变化,因此学习具有区分性和泛化性的特征对于微表情识别来说是一个挑战。
为了应对这一挑战,该论文提出了一种新的微表情识别框架,该框架同时集成了监督式的基于原型的记忆对比学习(Prototype-based Memory Contrastive Learning, PMCL)用于挖掘区分性特征,并添加了自表情重建(Self-expression Reconstruction, SER)作为辅助任务和正则化,以提高泛化能力。
具体来说,提出的SER模块通过从瓶颈层中随机丢弃的块状特征重建输入微表情,从而被强制作为正则化。这意味着模型不仅要学习识别微表情,还要学习如何从这些不完整的特征中重建出完整的微表情,这有助于提升模型的泛化能力。
而PMCL模块则通过全局比较从历史和当前训练实例中学习到的聚类代理,来增强类内紧凑性和类间可分性。这意味着模型会学习如何更好地将属于同一类的微表情聚集在一起,同时将不同类的微表情分开。
为了验证该方法的有效性,作者在三个基准数据集(SMIC、CASME II和SAMM)上进行了广泛的实验,并采用了复合数据库评估(Composite Database Evaluation, CDE)和单数据库评估(Single Database Evaluation, SDE)两种评估标准。实验结果表明,该方法在各种评估指标下都超越了其他最先进的方法,在复合数据集上实现了86.30%的总体未加权F1分数和88.30%的总体未加权平均召回率。
此外,消融研究(即消融实验,通过去除或替换模型的某些部分来评估其对整体性能的影响)也验证了SER在提高泛化能力和PMCL在提高区分性方面的有效性,特别是在从有限的微表情样本中学习特征表示时。
introduction
背景与动机
- 微表情与宏表情的区别:微表情是自发且无法抑制的,这使得它在分析真实情感(如测谎、心理诊断等)方面更为可靠。因此,自动微表情识别引起了广泛的研究兴趣。
- 现有研究的局限性:尽管微表情识别研究已经取得了一定的成果,并在基准数据集上达到了接近饱和的性能,但由于微表情的低强度和短暂性,从有限的标注样本中学习具有区分性和泛化性的特征仍然是一个挑战。
- 早期工作与深度学习的引入:早期研究倾向于手工设计特征(如局部二值模式、光流等),但这些方法可能因特征设计不当而导致性能下降。近年来,端到端的深度神经网络在各种计算机视觉任务中的成功为微表情识别提供了新的选择。然而,这些方法受到小规模训练数据的限制。
方法介绍
- 自表情重建作为正则化:本文提出将自表情重建作为辅助任务和正则化,以迫使特征编码器产生更通用的模式,既适用于微表情识别,也适用于微表情重建。自表情重建指的是从潜在的瓶颈特征中重建或恢复输入的表达式模板本身。
- 斑块状丢弃机制(PDM):为了克服自表情重建中的过拟合问题,本文引入了特别针对微表情识别的斑块状丢弃机制。该机制受到Dropout和掩码自编码器的启发,通过从部分面部区域推断和恢复表达式来减少模型对某些局部动作单元的过度依赖,从而提高模型的泛化能力。
- 视觉变换器(ViT)的应用:本文采用视觉变换器来建模面部区域之间的肌肉运动关系。ViT能够自动定位给定表达式中激活的动作单元对应的斑块。
- 基于原型的记忆对比学习(PMCL):本文将微表情识别视为度量学习问题,并引入了基于原型的记忆对比学习模块。PMCL存储历史微表情类原型,并在优化过程中以动量的方式进行动态调整和更新。它允许模型看到全局数据集信息,而不是每次迭代中的采样小批量,从而学习紧凑且具有区分性的微表情特征。
贡献总结
- 统一的微表情分类和自表情重建模型:该模型通过自表情重建作为强正则化,迫使微表情特征提取器产生通用的微表情模式,用于后续的微表情分类。
- 块状丢弃机制:这是一种简单但有效的方法,用于提高有限微表情数据上的泛化能力,同时适用于微表情分类和自表情重建。
- 引入监督的基于原型的记忆对比学习:这是首次将监督的基于原型的记忆对比学习引入微表情识别中,它使模型能够看到全局数据集信息,并学习紧凑且具有区分性的微表情特征。
- 实验验证:在三个公共数据集上进行了广泛的实验,结果证明了所提方法的有效性。
实验设计
- 数据集:使用了SMIC、CASME II和SAMM三个公共数据集。
- 评估协议:采用了复合数据库评估(CDE)和单数据库评估(SDE)两种评估标准。
- 实施细节:详细介绍了模型的实施细节,包括网络结构、训练策略等。
- 实验结果与分析:包括了在SDE和CDE协议下的实验结果和分析,验证了所提方法的有效性。
A. 微表情预处理(ME Pre-processing)
微表情表现为特定动作单元(AUs)内的时间运动,可以通过光流(Optical Flow, OF)来描述。然而,由于微表情的低强度,相邻帧之间的光流变化很细微。为了获得显著的运动信息,我们采用了Liong等人的方法,通过计算起始帧和顶点帧之间的位移来预处理微表情序列。具体来说,我们使用TV-L1算法计算起始帧和顶点帧之间的一阶位移作为原始的微表情特征,并形成包含光流水平分量、垂直分量和幅值的三通道光流模板图像。
B. 视觉变换器作为特征提取器(Vision Transformer as Feature Extractor)
考虑到微表情发生在特定面部区域的组合中,我们借鉴了强大的视觉变换器(ViT)来建模面部区域之间的微表情运动关系。我们构建了一个简单的微表情特征编码器,由三个交替的变换器层组成。每个层包括一个多头自注意力(Multi-head Self-Attention, MSA)块和一个多层感知器(Multi-Layer Perceptron, MLP)块。为了适应微表情,我们将光流模板图像分割成多个补丁,并将每个补丁投影到D维的补丁嵌入中。同时,我们添加了位置嵌入来保留每个补丁在原始图像中的位置信息,并初始化了一个类标记来总结其他标记的信息。
C. 自表达重建(Self-expression Reconstruction)
由于微表情样本有限,上述基于变换器的编码器容易过拟合。为了解决这个问题,我们引入了一个辅助的基于补丁丢弃机制(PDM)的微表情自表达重建任务作为正则化,以提高泛化能力。PDM借鉴了Dropout机制的思想,随机抑制某些补丁的表示。在实践中,我们在最后一层之前对补丁标记执行PDM,并设计了一个随机遮罩策略来确定要遮罩的补丁。然后,自表达重建任务从遮罩后的特征中重建微表情,而不是从完整的特征中重建。这有助于建立补丁之间的关系,并从相邻补丁中推断出缺失的补丁。通过自表达重建的强正则化,特征提取器倾向于产生更一般的运动语义,这有利于微表情识别的泛化。
D. 原型记忆对比学习(Prototype-based Memory Contrastive Learning)
微表情由于其低强度,容易被面部细节所干扰,这使得使用简单分类器难以区分。为了解决这个问题,我们引入了一个原型记忆对比学习(PMCL)模块来增强微表情特征的区分能力。PMCL巧妙地将上述PDM视为视图增强,并通过比较一个微表情样本的不同视图及其对应的存储历史中心(原型)来紧凑类语义。这种对比学习策略有助于在噪声分布下学习更具区分性和泛化性的微表情特征。PMCL通过迭代训练方式,在整个数据集上构建和更新原型,并使用字典记忆结构来存储微表情原型及其对应的类别。在训练过程中,我们首先训练没有PMCL模块的微表情框架,直到模型接近收敛。然后,使用PMCL进行微调,通过初始化记忆中的原型,并在每个小批量中动态调整这些原型。
E. 总体损失(Overall Loss)
对于微表情识别,我们添加了一个分类头,包括一个MLP和一个分类器,并使用交叉熵损失来强制模型产生具有区分性的微表情特征。总体损失是分类损失、重建损失和对比损失的加权和。在优化过程中,我们首先使用分类损失和重建损失预训练SRMCL(没有PMCL),直到收敛。然后,使用预训练的微表情特征初始化PMCL,并通过最小化总体损失来微调SRMCL。通过这种方式,SRMCL旨在生成具有代表性和区分性的微表情特征。