导读
微表情识别是情感计算中最具挑战性的课题之一。它的目的是识别人类难以在短时间内(0.25到0.5秒)感知到的微小面部运动。然而,针对视觉问题,现有方法中的标准 BERT 只能从完整的图像或视频中学习,该架构不能准确地检测面部微表情的细节。
本文提出了一种新的面部微表情识别方法— Micron-BERT(µ-BERT)。该方法基于两个关键思想,首先,采用对角微注意力(DMA)来检测两帧之间的微小差异。其次,引入新的感兴趣区域(PoI)模块,以定位和突出微表情感兴趣区域,并同时减少噪声背景和干扰。通过将这些组件结合到端到端的深度网络中,提出的 µ-BERT 在各种微表情任务中显著优于以前的所有工作。
本文将对 μ-BERT 进行解读,团队还提供了预训练的 Micron-BERT 模型,未来还将开放完整的训练模型。μ-BERT可以在大规模未标记数据集(高达8百万张图像)上训练,并在未见过的面部微表情数据集上实现高精度的效果。要在微表情数据库上微调 Micron-BERT,请参考:https://github.com/uark-cviu/Micron-BERT/blob/main/micron_bert.py
基本概念
面部表情是针对给定刺激的有意识反应的复杂混合物。它们涉及到经验、行为和生理元素。
一般来说,面部表情问题可以分为两大类,宏表情(macro-expression),和微表情(micro-expression)。
两者之间的主要区别是面部表情强度和持续时间:持续时间小于0.5秒的表情,通常称为微表情(转瞬即逝);与之相对的,持续时间稍长的表情,在1s~5s之间,称为宏表情。能够持续5s~10S的宏表情非常罕见,但若真出现了,必然表示情绪相当强烈,可能伴有声音,比如笑、哭、咆哮等。
由于微表情很难通过人眼观察,通常来说,捕捉所需的视频帧需要一个每秒200帧/秒(FPS)的高速摄像机。
动机
BERT在视觉问题的局限性
首先,在视觉问题中,BERT的局限性主要在于其分词步骤。在自然语言处理领域,一个标记(token)通常对应一个单词。但在视觉问题中,许多图像或图像块可以共享相同的标记,只要它们具有相同的内容。这种多对一的映射关系会导致BERT在视觉问题中的应用受到限制。此外,标准BERT在视觉问题中只能从完整的图像或视频中学习,无法准确检测面部微表情的细节。因此,需要针对视觉问题进行改进,以更好地适应视觉任务的特点。
其次,标记器DALLE不够健壮,无法将类似的上下文映射到标记上。He 等人 [9] 提出了一种利用BERT框架的蒙面自动编码器(MAE)。它不是对图像进行标记,而是通过随机蒙版策略消除图像的块,并将这些蒙版块的上下文重建为原始内容。虽然这种方法可以避免使用标记化器,但它只考虑图像中的上下文。因此,它不适用于微表达,这需要理解来自连续视频帧的语义信息。因此,本文提出了µ-BERT来解决这些局限性。
本文贡献
本文提出一种新的微表情识别方法Micron-BERT(μ-BERT)。该方法基于两个关键思想:
-
采用对角微注意力(Diagonal Micro Attention,DMA)来检测两个连续视频帧之间的人的面部表情的微小差异。该组件试图理解连续视频帧的语义信息,解决标记器 DALLE 无法将类似的上下文映射到标记上的问题。
-
引入新的感兴趣区域(Patch of Interest,PoI)模块,以定位和突出微表情感兴趣区域,并同时减少噪声背景和干扰。该组件试图学习图像的关键局部特征,以扩展 BERT 在微表情识别问题中的应用。
通过将这些组件结合到端到端的深度网络中,提出的 μ-BERT 实现了 SOTA 结果,在各种微表情任务中显著优于以前的所有工作。
相关工作
在计算机视觉领域,对ME的研究可以分为两个主要任务:spotting 和recognition。即微表情定位(Micro-Expression Spotting,MES)和微表情识别(Micro-Expression Recognition,MER)两类。
-
微表情定位:确定微表情在视频中的位置 -
微表情识别:确定检测到的微表情的情感类别
对于微表情定位,Li等人[16]采用了空间通道注意力网络来检测微表情动作单元。Tran等人[39]试图通过SMIC-E数据库和评估协议进行标准化。MESNet [43]引入了一种基于CNN的方法,包括(2+1)D卷积网络、剪辑建议和分类器。
对于微表情识别,Ling等人[11]提出了一种学习面部图形表示的新方法,使得这些微小的运动能够被观察到。Kumar和Bhanu [31]利用了地标点和它们的光流块(optical flow patch)之间的联系,并实现了对CASME II和SAMM(SOTA)的方法的改进。
本文方法
1. 将原始图像 It∈RHxWxC划分为若干个不重叠的块
其中,H、W、C分别为通道的高度、宽度和数量
2. µ-Encoder
每个块pi被投影到一个维数为d的隐藏向量(latent vector)中,表示为,一个图像可以表示为:
我们把µ-Encoder看作由一系列连续的块的组成,记为 ε,每个块包含多层多头注意(MHA)和多层感知器(MLP),在输入MHA和MLP之前,进行层归一化(Layer Norm,LN):
其中,Le是 ε 中的块的数量。给定Zt,输出隐藏向量 Pt 的表示
Eqn.(4)表示将图像It表示为Zt,经过Encoder编码为隐藏向量 ε(Zt)
3. µ-Decoder
本文所提出的自编码器是对称的设计。这意味着解码器部分(表示为 D)与编码器 Ε 具有相似的结构。给定一个潜在向量Pt,解码信号 Qt 表示为:
添加一个线性层来将 Qt 插值到一个中间信号 yt
4. Blockwise Swapping 块交换
-
随机交换两帧之间的部分块,得到一个新的特征It/s
-
让模型能注意到变化,解码器能够将It/s重构回It
具体来说,Blockwise Swapping将两帧图像分成若干个块,然后随机交换这些块,从而生成一组新的图像对。这些新的图像对包含了原始图像中的微小运动信息,可以用来训练模型以更好地识别微表情。通过Blockwise Swapping,模型可以学习到更多的局部特征,从而提高对微表情的识别准确性。
5. 对角微注意力(DMA)
DMA通过计算两帧图像之间的光流向量,得到面部微小运动的信息。然后,它将这些向量用于注意力机制中,以帮助模型更好地关注面部微小运动的变化。通过DMA,模型可以学习到连续视频帧之间更多的微小运动变化,从而提高对微表情的识别准确性。
6. Patch of Interest (POI)
理想情况下,我们希望图 4 中交换的黄色块位于面部中心处,而不是那些背景部分。因此,本文引入感兴趣块(POI)来自动探索突出区域,而忽略图像中的背景斑块。
Agreement loss 通过比较两帧图像之间的上下文特征,来确定它们之间的相似性:
POI 可以从编码器 E 的最后一个注意层的注意图 A 中提取出来。我们衡量:
其中
权重越高表示这个块包含的上下文信息越多,与面部相关性越高
7. 损失函数
损失函数为:
其中,Lr 利用均方误差(MSE)函数将解码器 y‘t 的输出重建为原始图像 It:
Lagg 为上下文协议损失,MSE 也被用于加强的上下文特征的相似性。
实验
实验结果
提出的µ-BERT与之前的方法和基线相比有了显著的改进。表格1-4是所提方法在四个数据集上达到了SOTA结果。
消融实验
-
三种自监督方法(MoCo V3、BEIT和MAE)在 CASME 上进行微调前经过预训练,得到了更好的结果。
-
仅使用 Blockwise Swapping 的方法比 MAE 在性能方面提高了2个百分点,Blockwise Swapping 的作用:
-
强制模型学习图像内部的局部上下文特征 -
帮助网络识别两帧之间的微小差异
-
-
从表 6 可以看出 DMA 和 POI 组件都具有更大的贡献
-
DMA 通过关注不同帧之间的微小差异,告诉网络应该关注哪些图块。 -
POI 被设计为一个过滤器,它只允许属于该图像的面部块通过,只保留微表情相关的特征。与MB2相比,高达6%的改善表明了POI在µ-BERT的微表情任务中的重要作用。
-
结论
-
本文探索了如何用 BERT 预训练来学习面部微小的变化,提出了μ-BERT。
-
提出了一个对角注意力模块 DMA 来学习帧间的动作变化。
-
提出感兴趣块模块POI引导模型关注关键图块,忽略背景的噪声敏感性。
局限性
不同光照条件下的鲁棒性:本文已经证明 POI 模块对于消除背景影响的有效性,但是有的背景噪声对光照十分敏感。当没有动作发生,且图片受到光照的影响,这些噪声因素也可能作为微差异特征,这些微差异特征与任务无关。未来工作是探索在不同的照明条件下的健壮性。
版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。