CVPR2023|Micron-BERT: 基于BERT的人脸微表情识别

66a4646471c6749088709c0a928ec195.png

导读

9e1c1eda7cd1d2b08a22a980929b3651.jpeg

微表情识别是情感计算中最具挑战性的课题之一。它的目的是识别人类难以在短时间内(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

05b022943b89bc224951d7c4b961079e.png

基本概念

面部表情是针对给定刺激的有意识反应的复杂混合物。它们涉及到经验、行为和生理元素。

一般来说,面部表情问题可以分为两大类,宏表情(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)的方法的改进。

本文方法

c77a3797d4201548d6dad7e4d44245af.png

1. 将原始图像 It∈RHxWxC划分为若干个不重叠的块

48c35e53498ea1f3c096e6879bca5cca.png

其中,H、W、C分别为通道的高度、宽度和数量

2. µ-Encoder

每个块pi被投影到一个维数为d的隐藏向量(latent vector)中,表示为0d08f995674c4b3fea3f7202d63ba90f.png,一个图像可以表示为:

58763f418c176cba40fbe0451ff0f001.png

我们把µ-Encoder看作由一系列连续的块的组成,记为 ε,每个块包含多层多头注意(MHA)和多层感知器(MLP),在输入MHA和MLP之前,进行层归一化(Layer Norm,LN):

d4e5a891ca07bf1c6d3e4f1063fb5436.png

其中,Le是 ε 中的块的数量。给定Zt,输出隐藏向量 Pt 的表示

ca381b553c6aea47a540497507258427.png

Eqn.(4)表示将图像It表示为Zt,经过Encoder编码为隐藏向量  ε(Zt)

3. µ-Decoder

本文所提出的自编码器是对称的设计。这意味着解码器部分(表示为 D)与编码器 Ε 具有相似的结构。给定一个潜在向量Pt,解码信号 Qt 表示为:

b18c04f161798e47f4a2a73b004e8141.png

添加一个线性层来将 Qt 插值到一个中间信号 yt

69048314c99cc636fb517ce872d8aa8d.png

4. Blockwise Swapping 块交换

fff17e9f728581fc0a40e32b7e81e528.png
  • 随机交换两帧之间的部分块,得到一个新的特征It/s

  • 让模型能注意到变化,解码器能够将It/s重构回It

具体来说,Blockwise Swapping将两帧图像分成若干个块,然后随机交换这些块,从而生成一组新的图像对。这些新的图像对包含了原始图像中的微小运动信息,可以用来训练模型以更好地识别微表情。通过Blockwise Swapping,模型可以学习到更多的局部特征,从而提高对微表情的识别准确性。

5. 对角微注意力(DMA)

d9e39bd96d4557215b2570bdb64d476a.png

DMA通过计算两帧图像之间的光流向量,得到面部微小运动的信息。然后,它将这些向量用于注意力机制中,以帮助模型更好地关注面部微小运动的变化。通过DMA,模型可以学习到连续视频帧之间更多的微小运动变化,从而提高对微表情的识别准确性。

446e32b5fce37f28384a8911681a070c.png

6. Patch of Interest (POI)

6471897d9be0bb57ae3888721fb588ee.png

理想情况下,我们希望图 4 中交换的黄色块位于面部中心处,而不是那些背景部分。因此,本文引入感兴趣块(POI)来自动探索突出区域,而忽略图像中的背景斑块。

Agreement loss 通过比较两帧图像之间的上下文特征,来确定它们之间的相似性:

84eb48963426b56eeda78b3d5eda95c1.png

POI 可以从编码器 E 的最后一个注意层的注意图 A 中提取出来。我们衡量:

9c40957a4843332d4e0c8931a42c1fc9.png

其中4ee17553b22543e0b5436a7f3056b5ea.png

权重越高表示这个块包含的上下文信息越多,与面部相关性越高

7. 损失函数

损失函数为:

b0c9a60880fa827235cdeba117cf554b.png

其中,Lr 利用均方误差(MSE)函数将解码器 y‘t 的输出重建为原始图像 It

7b79fdd9a2f5960b2a680e46c3f28d14.png

Lagg 为上下文协议损失,MSE 也被用于加强的上下文特征的相似性。

实验

实验结果

提出的µ-BERT与之前的方法和基线相比有了显著的改进。表格1-4是所提方法在四个数据集上达到了SOTA结果。

d0c1f96930afbf4437e3d7204ef0ad0a.png db3c1175a23c766560b3b86a2d7575a7.png 09c81513a210f1126a59c4aa437b511e.png c393d826de55ca246612d028af55ccf3.png
消融实验
e1ed2b47a49ba2660feb486ec612ae15.png
  • 三种自监督方法(MoCo V3、BEIT和MAE)在 CASME 上进行微调前经过预训练,得到了更好的结果。

  • 仅使用 Blockwise Swapping 的方法比 MAE 在性能方面提高了2个百分点,Blockwise Swapping 的作用:

    • 强制模型学习图像内部的局部上下文特征

    • 帮助网络识别两帧之间的微小差异

  • 从表 6 可以看出 DMA 和 POI 组件都具有更大的贡献

    • DMA 通过关注不同帧之间的微小差异,告诉网络应该关注哪些图块。

    • POI 被设计为一个过滤器,它只允许属于该图像的面部块通过,只保留微表情相关的特征。与MB2相比,高达6%的改善表明了POI在µ-BERT的微表情任务中的重要作用。

结论

  1. 本文探索了如何用 BERT 预训练来学习面部微小的变化,提出了μ-BERT。

  2. 提出了一个对角注意力模块 DMA 来学习帧间的动作变化。

  3. 提出感兴趣块模块POI引导模型关注关键图块,忽略背景的噪声敏感性。

局限性

不同光照条件下的鲁棒性:本文已经证明 POI 模块对于消除背景影响的有效性,但是有的背景噪声对光照十分敏感。当没有动作发生,且图片受到光照的影响,这些噪声因素也可能作为微差异特征,这些微差异特征与任务无关。未来工作是探索在不同的照明条件下的健壮性。

☆ END ☆

如果看到这里,说明你喜欢这篇文章,请转发、点赞。微信搜索「uncle_pn」,欢迎添加小编微信「 woshicver」,每日朋友圈更新一篇高质量博文。

扫描二维码添加小编↓

51d2698c12cdfe7ae720a7edf2939c5e.jpeg

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值