Recognizing Micro-Expression in Video Clip with Adaptive Key-Frame Mining阅读笔记

本文主要贡献

据我们所知,这是第一项旨在将视频剪辑中的信息时间子集的端到端学习与单个网络中的微表情识别相结合的工作。 此外,所提出网络中所有模块的设计都与输入视频剪辑的长度无关。 换句话说,网络容忍各种长度的微表情剪辑。 本文的贡献有三方面:

  • 提出了一种新的深度学习架构,称为 AKMNet,用于微表情识别,具有挖掘对识别性能贡献最大的关键帧的时间子集的能力。
  • 通过将顶点帧与 AKMNet 以纯数据驱动方式学习的关键帧进行比较,丰富了顶点帧的理论空间。
  • 通过广泛的实验,所提出的 AKMNet 被证明对微表情识别有效,性能显着提高,并且可推广到视频剪辑中宏观表情的识别。

相关工作

继特征工程方法之后,过去三年见证了微表情研究对计算机视觉社区深度学习热潮的日益增长的反应。 多项研究中使用了各种深度神经网络。 在没有手工特征工程的情况下,端到端神经网络模型能够通过从大量高维(和低级表示)数据中学习来进行分类或预测 [23]。 对于微表情的研究,已经努力从更广泛的计算机版本领域改编几个成功的 CNN 和 RNN 模型来解决这个场景中的问题。
首先,研究人员专注于从整个微表情片段(包括但不限于起始帧和偏移帧之间的帧)中提取表征。 仅举几例,Peng 等人。 [18] 提出使用 3D-CNN 从这种剪辑转换的光流序列中学习表示,而 SVM 用于最终分类。 所提出的架构拥有两个流,旨在使用来自两个基准数据集(CASME I/II)的不同原始帧速率的数据,并且每个流也被缓解为只有 4 个卷积层,每个卷积层后跟一个池层,以便按顺序 以减轻过拟合风险。 通过在 CASMEI/II 上的端到端实现和测试,该方法通过 3 折交叉验证获得了 0.6667 的最佳 f1 分数,比之前最先进的方法高出约 10%([12] [13])。 考虑到视频数据的时间动态,Khor 等人 [24] 提出了一种具有卷积层和循环层的架构。 连同完整的视频剪辑,还在给定时间段的每个时间步提取光流特征,以提供更丰富的时间信息。 然而,他们实现的准确性在某种程度上是有限的,这可能是由于在小型数据集上使用了复杂的网络。 在上述两项研究中,最初用于视频分类的两种流行的网络架构(3D-CNN 和 CNN-RNN)已经在微表情数据集上进行了测试,而所达到的准确度即使不优于以前的手工特征工程,也具有可比性 方法,在实际的端到端设计下具有更高的现实生活影响。

然而,除了用于深度学习模型的微表情数据集的大小有限之外,这里存在的另一个挑战是微表情的每个视频片段中不重要的帧引入的冗余。 针对这个问题,最近的研究[21] [22] 探索了单独使用每个视频片段的顶点帧进行识别的可行性,其中微表情的强度被认为达到最高。 两部作品都证明了并非微表情片段的所有帧都有助于识别。 随着这一发现,研究人员开始使用顶点框架进行微表情识别。 Peng 等人 [19] 提出通过对宏观表情数据进行预训练,使用迁移学习来辅助顶点帧上的微表情识别。 正如这项工作所建议的那样,顶点框架上的微表情识别开辟了一种迁移从宏观表情数据中学习的知识的方法,因为这两项任务都具有很强的相关性并且对静态图像进行操作。 Wang 等人 [20] 的另一项工作提出使用注意力机制 [25] 来帮助网络关注顶点框架的信息量最大的空间区域,因为微表情也在空间上局限于面部的小区域。 后来,Peng 等人 [27] 的另一项研究发现,将顶点帧的空间信息与其相邻帧的时间信息相结合,可以在不同数据集上产生更高的泛化性能。 此外,Xia 等人 [47] 计算并利用起始帧和顶点帧之间的光流特征,使用递归卷积网络进行微表情识别。

我们发现基于顶点框架的研究的一个明显局限性是缺乏一种通用方法来定位基本框架,例如顶点和起点框架。一些研究 [21] [22] 基于空间或光谱特征工程定位顶点帧,而其余研究 [19] [20] [27] 则依赖于手动注释。 另一方面,时间信息的处理方式仅限于对所有输入帧的遍历处理,而启发式时间信息搜索和提取的研究仍然缺失。
在本文中,为了自动处理使用微表情剪辑中所有帧的冗余和对顶点帧手动注释的依赖,我们建议自动学习对识别性能贡献最大的关键帧的信息子集 . 我们的方法通过提出一个名为 AKMNet 的端到端网络,结合了自动子集搜索、时空表示融合和识别。 在下一节中,将详细描述该方法以展示我们如何实现这一目标。

方法

在本节中,我们首先说明所提出的 AKMNet 的总体架构。 我们展示了所提出的网络如何设计用于从微表情视频剪辑中自动学习关键帧。 然后我们详细描述了 AKMNet 中自适应关键帧挖掘模块中使用的建议计算算法。
A. AKMNet 概述
微表情是一种短暂的、暂时定位的面部运动,表明一个人的内在情绪。 因此,能够提供微表情识别信息的帧数是有限的。 此外,微表情剪辑的持续时间因不同的对象而异,即使是相同的情绪也是如此。 这种时间性和个体差异表明,必须首先找到信息量最大的帧,然后对其进行识别。 因此,首先,对于微表情的视频片段,与其他冗余帧相比,一些关键帧存储了更丰富的信息。 其次,关键帧的分布可以是稀疏的,因此每个关键帧可以由多个冗余帧连接。
在这里插入图片描述

所提出的 AKMNet 的概述如图 1 所示。给定视频输入𝐕 = {𝑰!,𝑰",…,𝑰#},其中𝑰# 表示第 𝑇 帧,AKMNet 首先提取空间特征 对于使用 ResNet-18 网络 [31] 的每一帧。生成的特征序列为𝑭 ∈ R tcwh 其中 𝑭 = {𝑷1, 𝑷2, … , 𝑷t}。𝑷t ∈ R cwh 是从𝑇-th提取的空间特征 frame 𝑰 ,其中𝐶,𝑊,𝐻分别是通道数,宽度,和高度。在跨帧的空间特征提取中共享相同的ResNet-18网络。这样是为了i)确保从中提取的特征每帧提供相同级别的信息;ii)容忍不同长度的剪辑输入;iii)减少可训练参数的数量,以减轻小型微表情数据集的过度拟合风险。ResNet-18 网络首先使用 ImageNet [37] 并进一步使用名为 AffectNet [39] 的数据集进行预训练。这样做的目的是将 ResNet 的能力从通用图像分类转移到面部表情识别,并减轻过度拟合的风险。 自适应关键帧挖掘模块的详细信息在下一小节中给出。该模块生成 𝑁 帧的特征序列子集,这些帧有望为识别提供最多的信息,表示为 𝑭 key ∈ R ncwh, 𝑭key = {𝑷k1, 𝑷k2, … , 𝑷kn}。 这些关键帧按照它们在空间特征序列𝑭中的原始时间顺序列出。给定不同的输入剪辑,关键帧数𝑁自适应地改变。

如图 2 所示,关键帧特征序列𝑭key = {𝑷k1, 𝑷k2, … , 𝑷kn}由双向 GRUnetworks (bi-GRU) [32] 处理以提取时间特征 . 这种双向循环网络被用来提取时间上下文信息,这对于微表情识别至关重要。 此外,与常用于时间建模的 LSTM 单元相比,GRU 单元的可训练参数更少,有助于减轻较小数据集的过度拟合风险。 特别地,双 GRU 网络用于进行像素级递归处理。 单个 bi-GRU 网络对大小为 𝑁 × 𝐶 的特征像素序列进行操作,这些特征像素是从所有关键帧的相同位置提取的。 由于空间特征𝑃的大小为𝐶×𝑊×𝐻,我们#总共有𝑊×𝐻双GRU网络,以便处理所有帧中的所有特征像素。 通过这种方式,无需池化即可提取时间特征。 这也是为了保持微表情的基本空间信息。 所有双 GRU 网络共享同一组可学习参数,以帮助减少参数大小并容忍不同长度的剪辑输入。 对于双 GRU 网络,给定
在这里插入图片描述
其中 [∙] 表示不同向量的堆叠,* 是逐元素乘法,𝜎 是 sigmoid 激活,hn-1是最后一个关键帧的输出,𝑧n和hn是中间特征矩阵,𝑾z、𝑾h和𝑾r是bi-GRU网络的可训练权重矩阵。 每个 bi-GRU 网络的输出是所有关键帧输出 hn 的平均值。 每个 bi-GRU 网络的输出被连接起来产生关键帧时空表示𝑮∈Rc×w×h,其中𝐶是每个 bi-GRU 网络产生的特征向量的通道数。 在我们的端到端训练中,采用softmax层进行最终分类。 这里使用的损失函数可以写成
在这里插入图片描述
其中,𝑀是班级总数,𝑚表示当前输入视频剪辑的真实类别,𝑦(𝑮)是输入特征𝑮的分类类别标识,𝐖是输出层和前一层之间的权重向量。 𝟏{∙} 是本征函数,当 {∙} 为真时返回 1,反之返回 0。
B.自适应关键帧挖掘模块

在这里,我们详细描述了关键帧挖掘模块的功能。 一般来说,关键帧挖掘模块学习一个函数𝑓:𝑭→𝑭key。 图 3 提供了关键帧挖掘模块的演示。如图所示,该模块的输入是特征序列𝑭 ∈ Rtcwh,它首先使用全局空间池进行处理生成一个池化特征序列𝑭 ∈ Rtc.也就是说,我们将序列𝑭中的每个特征映射𝑷t∈Rcwh压缩成一个𝐶×1特征向量𝑃t,𝑡∈{1, 2, … , 𝑇} , 其中包含每一帧的紧凑空间信息. 为了获取关键帧序列, 一个三步关键帧挖掘模块被提出。 首先,采用局部自注意力学习步骤,其中为每个特征向量 𝑃 分配一个粗略的注意力权重 α。 其次,基于第一步中计算的这些注意力权重,通过聚合所有特征向量生成全局特征向量𝑃。 然后,通过计算每个特征向量与全局特征向量之间的余弦相关性,得到每个特征向量的细粒度权重。 我们称之为全局相关学习步骤。 最后,基于这些相关值,使用全局稀疏性和最大均值间隔损失函数学习稀疏二元相关向量𝐵。 这被称为稀疏选择步骤。 为关键帧挖掘模块提出的这三个步骤将在下一节中根据经验进行论证,以了解它们各自的影响。 在局部自注意力学习步骤中,每个帧特征输入𝑃的局部权重𝛼t通过具有S形激活函数的全连接层计算为
在这里插入图片描述
其中 𝜎 是 sigmoid 激活函数,𝑾t是该层的可训练权重矩阵。 在全局相关学习步骤中,我们首先通过聚合所有输入特征向量和各自的局部自注意权重来获取全局特征向量𝑃
在这里插入图片描述
然后,基于余弦相关计算每个特征向量𝑃的细粒度权重𝛽为
在这里插入图片描述
最后,在稀疏选择步骤中,我们实现了先前推理的概念,即微表情视频剪辑中的大多数帧都是冗余的,而信息量最大的帧是稀疏局部化的。 因此,我们将稀疏性添加到权重向量 {𝛽1 , 𝛽2 , … , 𝛽t} 。受二进制神经网络中提出的二值化过程的启发,我们计算二进制索引向量 𝐵 ∈ {0,1}作为
在这里插入图片描述
其中每个关键帧的位置用数字 1 标记,反之为 0。 有了索引向量𝐵,关键帧特征序列𝑭key通过以下方式获取
在这里插入图片描述
其中⨀表示张量分数乘积,并沿着原始特征序列𝑭的时间维度进行。 为了进一步实现细粒度权重 𝛽t的学习和稀疏化过程,我们建议使用全局稀疏性和最大均值间隔 (GS-MMM) 损失函数。 全局稀疏损失的第一部分写为
在这里插入图片描述
其中𝒎𝒂𝒙(∙) 和𝒔𝒖𝒎(∙) 分别是最大值和总和的计算。 当 Lgs减少时,我们确保至少选择了一个关键帧。 最大平均边距损失的另一部分写为
在这里插入图片描述
其中𝐶设置为2,因为细粒度权重𝛽的值在余弦函数的范围内。 该损失函数旨在通过为其分配更高的权重来进一步帮助将关键帧与其他关键帧区分开来,同时避免 Lgs可能导致的琐碎解决方案。 于是,GS-MMM损失函数写为
在这里插入图片描述
其中𝜆和𝜆分别是控制每个损失影响的权重常数。 在 AKMNet 的端到端训练过程中,结合方程 4 和 12,最终要减少的损失函数 𝛀 可以写成
在这里插入图片描述
在训练中,网络需要学习导致损失𝛀最小的最佳关键帧子集,这也应提供最佳分类性能。 通过反向传播,更新 ResNet-18 和 bi-GRU 网络中的可训练权重矩阵。 在下一节中,我们将讨论如何将这种自适应关键帧挖掘方法转换为深度学习网络的可训练块。

C. 权重更新策略
通常,梯度下降用于更新神经网络,这要求网络中进行的所有计算都是可微的和凸的。 然而,上一小节中描述的自适应关键帧挖掘模块似乎是一个非凸过程。 具体来说,二进制索引向量𝐵的计算不允许梯度计算。 为了使过程可训练,我们开发了一种替代的最小化方法来特别更新等式 8 和 9。我们首先定义,在反向传播期间,从下一层传递到 𝑭key层的梯度表示为。 根据链式法则等式 9 的更新可以写成
在这里插入图片描述
对于等式 8,索引向量 𝐵 的计算产生常数值,这不允许进行梯度计算。 因此,我们通过分别用原始细粒度权重值替换常量值来修改这种计算。 等式 8 可以改写为
在这里插入图片描述
在 AKMNet 中,给定视频剪辑输入的微表情识别包括三个阶段:i)使用 ResNet-18 对输入视频剪辑进行遍历空间特征提取; ii) 使用所提出的模块进行自适应关键帧挖掘,其中生成一系列对识别最有价值的关键特征图; iii) 使用 bi-GRU 网络学习像素级时间特征,然后进行特征连接和分类。 为整个网络启用端到端学习。 训练方案写在算法 1* 中。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值