TransFER: Learning Relation-aware Facial Expression Representations with Transformers--2021.Fanglei

本文借用了Transformer的全局注意力能力,来帮助探索通过CNN提取地丰富的local feature之间地关系,从而实现更好的效果。

CNN在提取特征时,通过随机丢弃推动模型去学习更多不同地特征(类似不把鸡蛋放同一个篮子里),这样在脸部转动或不同类别间,能够找到更多更有区分度地特征,帮助更好分类

CNN提取的多种特征,需要更好的联系起来才能完成分类,本文借鉴Transformer的强大全局注意力能力,探索CNN提取的不同局部特征间的关系,从而实现更好的分类。

注意:无论是CNN探索更多局部特征,还是Transformer中探索更多局部特征间的联系,都是使用了dropping思想,打破明显的、固有的特征和联系,从而推动学习更多特征和联系。

0、摘要

我们提出了TransFER模型,能够学习到丰富的相关感知的局部表示(rich relation-aware local representations)。主要由三个部分组成:Multi-Attention Dropping(MAD),ViTal-FER和Mulit-head Self-Attention Dropping(MSAD)。

首先local patches在区分不同表情中扮演着重要的角色。然而,现有的工作很少能够定位具有区分性和多样性的local patches。当某些patches因姿势变化或视角变化而不可见时,这可能会导致严重问题。为了解决这个问题,我们提出了MAD结构,它会随机丢弃一个attention map,因此模型会被迫去探索不同的local patches。

其次,为了在不同patches之间建立丰富的关系(在分类时要结合众多的patches来帮助分类,所以如何更更好探索这些patches之间的关系也是一个要解决的问题),使用ViTal,称为ViTFER。由于在全局范围内加强每个local patches,因为可以获得 更好的表示提高FER性能。

第三,multi-head self-attention允许ViTal在不同位置关注来自不同信息子空间的特征(也就是不同特征),但是如果没有明确的指导,多头注意力可能会学习到相似的关系,这就形成了冗余,所以提出了MSAD来随机删除一个self-attention模块,被迫探索不同local patches之间的丰富关系。

总而言之:

  • Local CNN负责探索局部特征(CNN本身就是一种局部注意力的说法),为了探索更多有区分度的局部特征采用了Dropout对attention map随机丢弃的做法。
  • 众多局部特征为了更好的帮助分类,使用了Transform这种全局注意力帮助探索局部特征间的联系,并且为了探索多种联系,也采用了Dropout随机丢弃一些self-attention map。

总体来看,使用了CNN的局部特征和Transform的全局特征,提取多但小的局部特征,再联系起来帮助更有效的分类。为了促使学到更多样化的局部特征和特征间的联系,使用类dropout操作,从而实现了更有效的分类

1、引入

目前FER仍然是一项非常具有挑战性的任务:

  • 类间相似性大,不同表情可能只有一些细微的差异。如图1所示,Surprise(第一行)和Anger(第二行)的嘴巴相似,区分的关键在双眼间的区域。
  • 小的类内相似性。同一个类别的属性,可能因外观、种族、性别、年龄和文化差异等表现不同。

问题是因数据集的不均衡,模型可能在相似的面部部位周围有多余的反应,而忽略了其他可能在 FER 中发挥重要作用的鉴别部分。对于具有遮挡或姿势变化较大且某些面部部分不可见的面部,此问题尤其严重。因此,应该提取不同的局部表示来对不同的表达进行分类。(比如“自然”的样本多,学到更多跟这个表情相关的区域,但是愤怒样本少,区分愤怒和自然的额头区域的块可能就没有被学习到,但这又是区分两者的关键。)

同时对于遮挡问题,将特征区域变得多而小,根据众多区域来联合推理类别,这样当遮挡等情况也只能损失一部分局部特征,其余局部特征可以相互补充,从而提高鲁棒性。例如,如图 1 所示,仅基于嘴部区域(第 2 列)很难区分惊讶(第 1 行)和愤怒(第 2 行)。我们的 TransFER 模型探索了各种关系感知面部部分,例如眼睛(第 3 列,第 1 行)和眉毛之间的区域(第 3 列,第 2 行),这有助于区分这些不同的表情。因此,应该在全局范围内探索不同local patches之间的关系,突出重要的patches并抑制无用的patches。

综上,我们既要探索到能区别不同表情的关键局部特征,又要根据这些众多局部特征来帮助分类,从而实现高性能的FER识别网络。
在这里插入图片描述

为了实现上面这两个目标,本文提出了TransFER去学习各种各样的具有关系感知的局部表示。

首先,我们提出Multi-Attention Dropping(MAD)去随机丢弃一个attention map,这样能够推动模型去探索全面的local patches,自适应地关注不同的local patches(因为网络更容易学到有明显的特征,所以随机丢弃一个map,就可能这次破坏明显特征,从而被迫学到其他更多的特征)。

(MAD:随机性丢弃注意力特征图。可以推动模型学习除了最具有识别力的局部特征。毕竟最具有代表性的特征最容易学到,为了逼迫学到更多不那么突出但有用的特征,就随机丢弃,这样迫使模型学到多样性的局部特征,也就避免了当姿势等变得而最具代表性特征丢失后,性能急剧下降的问题)

第二,我们使用了ViT,帮助在众多local patches之间构建联系。由于在全局范围内加强每个local patches,多个local patches的互补性得到了很好的挖掘,提高了识别性能。

第三,multi-head self-attention允许ViT在多个分支上探索local patches之间的联系。但是因为没有明确的指导,有可能会建立冗余关系。于是提出了Multi-head Self-Attention Dropping(MSAD)随机丢弃一个self-attention,推动模型利用剩余的self-attention学习有用的关系,蓉儿探索不同local patches之间的丰富关系。

(实际上可以这样理解,local CNN主要探索局部特征,而Dropping推动探索更多有区分度的局部特征;而Transformer主要探索局部特征间的联系,而Dropping推动探索更多更丰富的联系。所以个人人文本文的新颖之处在于两点:1)使用CNN的局部注意力+Transformer的全局注意力提升网络;2)使用Dropping加强模型探索更丰富的局部特征和特征联系)

结合新颖的 MAD 和 MSAD 模块,我们提出了最终的架构,称为 TransFER。如图 1 所示,与 ViT-FER 基线(第 2 列)相比,TransFER 定位更多样化的关系感知局部表示(第 3 列),区分这些不同的表达式。它在几个 FER 基准上实现了最先进的性能,显示了它的有效性。

2、相关工作

Facial Expression Recognition+Transformers in Computer Vision+Regularization Method

3、TransFER

整个结构如图2所示,主要包含了stem CNN、Local CNNs、和Multi-head Self-Attention Dropping(MSAD)。
在这里插入图片描述
stem CNNs用来提取特征图,这里使用的是IR-50网络中的,因为它有很好的泛化性。

因为小的类内间距,我们非常希望能够提取多种多样的local patches,所以我们使用Multi-Attention Dropping(MAD)去随机丢弃parts。正如此,multiple local branches会被驱动去探索各种各样能区别不同类的local patches。

在NSAD中,通过randomly dropping self-attention modules,多头自注意力相互补充,学习不同局部块之间丰富的有用关系,从而提高性能。

3.1 Local CNNs

给定一张面部图像,首先会经过stem CNN提取特征图。然后多个空间注意力会去捕获局部特征。然后如果没有正确的指导,不保证能找到全面的能判别表情的局部特征。如果模型聚焦于几个有区分度的面部特征,当图像因姿态、光照而丢失后,模型分类性能就会下降。所以为了解决这个问题,我们加入了Local CNNs,在MAD的指导下,用来提取各种各样的特征。

从图2中可以看到,主要分为三步。

首先,生成multiple attention maps。设输入特征图 X ∈ R h ∗ w ∗ c X∈R^{h*w*c} XRhwc。因为LANet允许模型自动寻找重要的脸部部分,所以用来组成multiple local branches,它由两个1x1卷积组成。第一个卷积后输出 c r \frac{c}{r} rc个特征图,再跟上ReLU, r r r代表压缩率,减少特征图维度;第二个卷积后输出一个特征图,然后跟上Sigmoid就得到一个空间注意力图 M i ∈ R h ∗ w ∗ 1 M_i∈R^{h*w*1} MiRhw1
c o n v > R e L U > ( c = c r ) > C o n v > S i g m o i d > ( c = 1 ) conv>ReLU>(c=\frac{c}{r})>Conv>Sigmoid>(c=1) conv>ReLU>(c=rc)>Conv>Sigmoid>(c=1)
从图2可以看出总共有B个attention map,所以attention maps= [ M 1 , M 2 , . . . , M B ] [M_1, M_2,...,M_B] [M1,M2,...,MB].

第二,MAD会将attention maps中的一个map置0,也就是将map矩阵中所有的值置0。注意attention maps的shape没有改变,只是其中一个map全部值=0了。(因为是随机的,所以对于那些之前想长期存在的典型特征就会被打破,驱动探索更多特征)

第三,从图中看到最终只有一个attention map,怎么来的呢?element-wise maximum operation就是某个位置上的值,是通道方向上的最大值,如下图所示。

用公式表示为:
M o u t ( x , y ) = m a x { M 1 ( x , y ) , M 2 ( x , y ) , . . . M B ( x , y ) } M_{out}(x,y)=max\{M_1(x,y), M_2(x,y),...M_B(x,y)\} Mout(x,y)=max{M1(x,y),M2(x,y),...MB(x,y)}

最后将attention map和输入 X X X进行element-wise相乘,所以不重要的区域就会被抑制,有用的区域会被强化(这本身就是空间注意力的作用)。

总而言之,Local CNN 能够定位不同的local patches,是通过使用多个 LANet 来定位多个有区分能力的patches并通过max操作聚合它们,然后与输入特征图进行元素相乘来实现的。

3.2 Multi-Attention Dropping

提出 Dropout是为了防止神经网络过拟合。它采用特征向量或特征图作为输入。在训练过程中,输入的一些元素(元素可以理解为是全连接层的节点,或者通道,抑或是像素)以概率从伯努利分布中抽取样本随机设置为零。如果有多个通道,每个通道将独立归零。受此作品的启发,为 FER 任务开发了一种类似于 dropout 的操作,称为 Multi-Attention Dropping。

与标准 Dropout 相比,我们提出的 MAD 采用一组特征图(或向量)作为输入,并将每个特征图视为一个整体(全连接层就是一组点作为输入,而每个点就是一个整体)。如图 2 的中上部分所示,在训练过程中,以均匀分布产生的概率来选择一个特征图置0。丢弃的特征图在以下层中不会被激活。因此,提出了一种类似于dropout的stop-gradient操作,它可以引导局部CNN探索多样化和有区别的facial parts 。因此,可以定位分布良好的facial parts,从而获得全面的局部表示以使 FER 受益。

3.3 Multi-head Self-Attention Dropping

为了探索不同lcoal patches之间更丰富的关系,我们提出了MSAD模块。该模块主要由Transformer encoder组成,每个 Multi-head Self Attention 模块后面都注入了 MAD 和一个 MLP 分类头,如 Vision Transformer (ViT) [10] 一样。

Projection(投影、投射、映射)
local CNNs产生特征图 X o u t ∈ R h ∗ w ∗ c X_{out}∈R^{h*w*c} XoutRhwc,它包含了多种多样的local patches。为了捕获它们之间的关系,使用包含多个encoder block的Transformer。然而因为Transformer最初是为NLP提出的,在输入上采用1D序列特征向量。为了适应Transformer,使用一个Projection module(投射模块)转换2D序列成为1D序列(在ViT中类似,只不过ViT是将原图转换为1D,而这里将特征图转换为1D)。

如图2所示,首先对 X o u t X_{out} Xout进行1x1的卷积,将其投射到 X p ∈ R h ∗ w ∗ c 2 X_{p}∈R^{h*w*c_2} XpRhwc2。到目前为止,我们没有改变特征图和原图的高宽比例。每一个 c 2 ∗ 1 c_2*1 c21的向量可以被认为是输入图像的相应patches的表示(比如在x=y=1这个坐标点,从通道轴看过去,就是一个 c 2 ∗ 1 c_2*1 c21的向量)。所以这里将 X p X_p Xp沿着通道维度进行切片,重新调整它们变成一个特征向量的序列 x ∈ R ( h ∗ w ) ∗ c 2 x∈R^{(h*w)*c_2} xR(hw)c2*(这里代表 x x x是一个二维量,尺寸为 ( h ∗ w ) ∗ c 2 (h*w)*c_2 (hw)c2),然后就可以输入到Transformer了。

实际上本文的Transformer就是ViT中的典型结构,只不过本文中的Transformer在多头自注意力这里使用了dropping,随机丢弃一个自注意力头

通过MSAD这种方式,鼓励模型学习有用的信息,因为多个自注意力被推动以相互补充。一般来说,可以选择和删除多个 SA(多头注意力中的一个,self-attention),但根据我们的观察,同时删除两个或多个 SA 并不会提高性能。因此,为简单起见,我们仅将丢弃率视为一个超参数,并在 MAD 中仅丢弃一个分支来进行我们所有的实验。

4、实验

4.1 Datasets

  • RAF-DB
    这是一个真实世界的表情数据集。包含29672张图像。在实验中,使用了RAF-DB中提供的单标签子集,包含了15339张图像,分为7中典型表情。其中12271张用于train,其余用于test。
  • FERPlus
    包含了28709张图像图像、3589个验证图像、3589个测试图像。该数据集用10个标签器将数据集标记为8个情绪类别(7个典型标签+1个轻蔑contempt)
  • AffectNet
    AffectNet是迄今为止最大的公开可用的 FER 数据集。它包含由三个主要搜索引擎收集的大约 100 万张面部图像,其中大约 420K 图像是手动注释的。我们使用了 280K 训练图像和 3500 张验证图像(每个类别 500 张图像),具有七个情感类别。

4.2 实验细节

RAF-DB和FERPlus数据集提供注释的landmarks,可以用来人脸检测和对齐。对于FERPlus数据集,使用MTCNN去检测和对齐人脸。所有的图像都被对齐和缩放到112x112尺寸。在Ms-Celeb-1M上的经过预训练,IR-50的前三个stage被用作stem CNN。而在ImageNet上经过预训练的ViT使用8个self-attetion heads和8个identical encoder layers。

因为分类不均衡问题,对训练数据进行上采样来平衡类别分布。在训练RAF-DB和FERPlus数据集时,local CNNs中的MAD和MSAD的drop rates分别是0.6 ( p 1 p_1 p1)和0.3 ( p 2 p_2 p2),而AffectNet数据集上则设0.2和0.6。(个人理解为前两个数据集小,所以为了探索区分度大的局部特征,丢弃率设大一点,而局部特征多所以Transformer探索关系式过拟合风险小,丢弃率设小一点;而后一个数据集很大,本身就能够探索丰富的特征,·所以丢弃率小。不要网络dropout本身就是正则化,所以数据小则强化正则,否则可以削弱正则)

4.3 消融实验

在这里插入图片描述
表1中,baseline是没有Local CNNs、MAD、MSAD的朴素网络。加了Local CNNs后有轻微的提升,而Local CNNs本身是多分支为了提取多种多样的特征,但是没有MAD这种正确的指导,只有轻微的提升,这意味着Local CNNs本身多分支提取和单纯的单只提取没有区别,因为产生了冗余,没有朝期望的方向发展。但是加了MAD后,被迫提取多种多样的特征,所以才发挥了Local CNNs真正的作用,效果也有了较大的提升。同理MSAD是对多头注意力的dropping,有效推动MSAD捕获全局关联,提高了效果。

在这里插入图片描述
表2展示了如何确认stem CNNs的层数。更深的层会产生更抽象和语义信息,浅层会产生更多纹理和细节信息。在FERtrans的stem CNNs之后,Local CNNs需要语义信息,而MSAD需要更多精确的位置和细节信息,帮助进一步提取。所以深度不能太深也不能太浅,从表2中可以看到,当层数=3时效果最好。

然后还有如何确定LANet的个数,如何确定dropping rate等

4.4 Comparison with the State of the Art

在这里插入图片描述
从上图可以看出TransFER效果最好,这也是作者认知内第一个在该数据集上达到90%的方法
在这里插入图片描述

4.5 Attention Visualization

为了进一步研究方法的有效性,使用了《Transformer Interpretability Beyond Attention Visualization》的可视化方法。

通过可视化方法得到visualization attention maps,然后将visualization attention maps缩放到原图大小再叠加,就得到图中的可视化效果(COLORMAP JET color mapping)。
在这里插入图片描述
从图中可以看出加了MAD(Ⅲ)的比不加MAD的(Ⅱ)Local CNNs能更加准确地定位多种和多样地局部特征,而MSAD则进一步加强了特征定位,实现了很好的效果。

而c和g如果都用嘴巴部分则不好区分,而网络能够学习到除了嘴巴之外的区域,帮助更好区分。

5、结论

我们为FER任务提出了一种基于Transformer的新架构,称为 TransFER,它可以学习丰富、多样化的关系感知局部表示。

  • local patches,使模型对姿势变化或遮挡具有鲁棒性。
  • ViT-FER,用于在多个局部块上建立丰富的连接,其中重要的面部部分被分配更高的权重,而无用的部分被分配较小的权重。
  • MSAD,来探索不同面部部位之间更丰富的关系。据我们所知,这是第一个将 Transformers 用于 FER 任务的工作。

对三个公共 FER 数据集的广泛实验表明,我们的方法优于最先进的方法。

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
### 回答1: "Learning to Compare: Relation Network for Few-Shot Learning" 是一篇关于Few-Shot Learning(小样本学习)的论文,提出了一种称为“关系网络”的新型神经网络架构。 该网络旨在解决小样本学习中的问题,该问题通常会导致在只有极少量的训练样本的情况下,模型的泛化性能下降。关系网络使用一个子网络来提取图像特征,并通过计算这些特征之间的关系来对它们进行分类。 关系网络的特点是它在执行分类任务时能够捕捉物体之间的关系和上下文信息,因此在少量样本的情况下,它的性能比其他方法更好。该网络已经被广泛应用于小样本学习领域,并在多项实验中获得了优秀的表现。 ### 回答2: 本文主要介绍了一种基于关系网络的few-shot学习方法——Relation Network(RN)。Few-shot学习是一种类别识别的任务,旨在从非常少量(通常是几个)的样本中学习新的类别。RN为此提供了一种强大的框架,可以在few-shot学习中能够有效地捕捉物体之间的关系,从而实现精确的类别识别。 RN在模型设计中引入了两个重要的组件:特征提取器和关系网络。特征提取器通常是卷积神经网络(CNN),它可以提取出每个样本的特征表示。关系网络的作用是计算出每对样本之间的关系,将这些关系汇总到一起,最终出现样本之间的相对关系。在计算样本之间的关系时,RN采用的是一种全连接神经网络,它对每一对样本的特征进行融合,然后输出一个特定类别的置信度。 值得注意的是,RN的关系网络不仅可以使用在few-shot学习中,也可以应用于全局分类问题。此外,RN采用了一些有效的技巧来加速测试阶段的推理速度,比如使用浅层矩阵乘法以减少计算量,和简单的欧氏距离作为度量衡量。 总而言之,RN是一种强大的学习方法,特别是在few-shot学习方面,可以实现更好的判别性能和更准确的类别识别。不过,同时也存在一些限制,比如需要更多的数据集来训练样本的特征提取器,以及容易出现过拟合问题。因此,RN还需要进行更深入的研究和优化,以实现更大范围的应用和实际效果。 ### 回答3: 学习比较:关系网络是一种少样本学习的方法,旨在解决少样本学习问题中的挑战。传统的机器学习方法需要大量数据来训练模型。而在现在许多领域,例如医疗诊断和工业生产,只有很少的数据可用于训练模型。在这种情况下,少样本学习就变得非常重要。学习比较:关系网络是少样本学习的一种新方法,它通过学习对象之间的关系来捕捉它们之间的相似性和差异性。 学习比较:关系网络包含两个部分:特征提取器和关系网络。特征提取器将输入图像转换为对应的向量表示,而关系网络则对这些向量进行比较,从而推断它们之间的关系。关系网络可以用来处理各种不同的问题,例如分类、回归和生成等。 学习比较:关系网络的优点是,它可以利用少量的数据来学习,并且可以在不同的任务之间共享知识。这使它成为处理少样本学习问题时的一个有力工具。在实际应用中,学习比较:关系网络已经被广泛应用于图像分类、目标检测和语音识别等领域,并产生了许多显著的结果。未来,随着越来越多的研究者开始使用这种方法,我们可以期待看到更多的成功案例,并进一步将学习比较:关系网络应用到更广泛的领域,以帮助人们解决难题并改善生活质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是一个对称矩阵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值