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

news2025/1/20 1:54:31

本文主要贡献

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

  • 提出了一种新的深度学习架构,称为 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* 中。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/532294.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

水利工程电子(数字)沙盘

水利工程电子(数字)沙盘利用三维地理信息系统、遥感技术、海量数据管理技术、虚拟现实技术、网络通讯技术和高性能计算机技术等现代高新信息技术,采用高精度DEM地形数据、遥感影像、航拍影像和基础地理矢量数据,建立三维空间场景&…

SAAS 与 IAAS 云渲染农场比较

渲染时,最重要的是需要的时间和硬件可用的。此渲染过程需要大量计算能力才能快速创建图像或视频。GPU(图形处理单元)是图形的计算能力,越来越多地用于渲染CAD模型。GPU中有特殊的处理器,可以执行用于快速编辑和显示图像…

TCP的拥塞控制

为了避免发送方无节制地发送数据,从而造成网络拥堵,所以 TCP 有一个拥塞控制。 流量控制:作用于接收方,控制发送者发送速度,从而使接收者来得及接收,防止分组丢失。 拥塞控制:作用于网络&#…

【星戈瑞】Sulfo-Cyanine5 mal红色荧光Cy5-maleimide

Sulfo-Cyanine5 mal是一种具有强荧光信号的染料,主要应用于生物荧光成像领域。它的化学式为C38H43KN4O9S2,分子量为803.00。这种染料具有良好的水溶性,可在水溶液中稳定存在。它的光学特性包括吸收峰位于646 nm和发射峰位于662 nm&#xff0c…

公司新来了个00后软件测试工程师,一副毛头小子的样儿,哪想到是新一代的卷王...

内卷,是现在热度非常高的一个词汇,随着热度不断攀升,隐隐到了“万物皆可卷”的程度。 在程序员职场上,什么样的人最让人反感呢? 是技术不好的人吗?并不是。技术不好的同事,我们可以帮他。 是技术太强的人吗?也不是…

计算机组成简答题整理

作者:爱塔居 多模块交叉存储器是如何加速CPU与存储器之间有效传输? 解:CPU同时访问多个模块,由存储器控制部件控制它们分别使用数据总线进行信息传递。对每一个存储模块来说,从CPU给出访存命令直到读出信息仍然使用了…

同惠 LCR数字电桥测试仪 TH2830

TH283X系列是新一代低成本,高性能紧凑型LCR数字电桥,采用最新工艺和高密度电路设计,浓缩大型LCR测试仪的精华,紧凑,小巧.取消传统机械电源开关,采用软件控制电源开关.0.05%的基本精度和良好的测试稳定性可与高端机型媲美.配备4.3寸LCD显示屏和全新升级的界面系统.美观大方,操作…

EXCEL: 查找符合多个条件,并且不重复的数据的个数的3种方法:公式,数据透视表,数组公式

1 目标问题:想筛选出(在a列月份为5)且不重复的b列数据有几个 有2个条件 查找第1列月份为5月的并且第2列不重复的数据个数 方法1:用加辅助列简单公式的办法 其实逻辑是更清晰的,就是显得步骤繁琐 第1个辅助列1,查找日期中的月份…

vps赚钱的小项目,通过售卖流量赚钱

文章目录 vps赚钱的小项目,通过售卖流量赚钱问题来源为什么能赚钱?赚钱速度呢?注册流程注册复制token 设置vps更新系统组件安装docker通过docker启动项目设置开机自启删掉容器 windows使用方法 查看网页端提现操作总结 vps赚钱的小项目&#…

Arc 打断拆分成多个线段

公司插件的梁齐斜板功能更新,设计师提出需求可以拆分弧梁,并能对齐到板顶。 本文只讨论拆分弧梁,椭圆再后续更新。 首先看以下弧形的创建api API中提供了三种方法 第一种时指定起点与终点,最后选择顶点形成的弧形 第二种是指定面…

MyBatis Plus 插件 动态数据源实现原理与源码讲解 (dynamic-datasource-spring-boot-starter-master)

目录 1. 介绍 2. 基本原理 3. 源码介绍 3.1 使用 AOP 拦截,方法执行前获取到当前方法要用的数据源 3.2 实现自定义 DataSource 接口,实现 DataSource 接口的 getConnect 方法做动态处理 1. 介绍 多数据源即一个项目中同时存在多个不同的数据库连接…

Win11的两个实用技巧系列之关闭分屏模式方法

怎么关闭Win11电脑分屏模式?Win11关闭分屏模式方法 有用户在使用电脑的时候不小心开启了电脑的分屏模式,导致自己无法正常的进行电脑操作了,本文就为大家带来了Win11关闭分屏模式方法,一起看看吧 Win11电脑分屏模式怎么关闭?有用…

oracle杂记

rlwrap…rpm 可以在sqlplus上翻下翻 然后alias sqlplus‘rlwrap sqlplus’ alias rmanrlwrap rman 数据库是由存储部分*.dbf 和运行的process和所使用的内存区域构成 远程安装前确认是否图形化能打开 yum -y install xorg-x11-apps xclock 启动顺序: nomount 启…

Unity VR开发教程 OpenXR+XR Interaction Toolkit 番外(一)用 Grip 键, Trigger 键和摇杆控制手部动画

文章目录 📕制作手部动画📕设置 Animation Controller📕添加触摸摇杆的 Input Action📕代码部分 在大部分 VR 游戏中,手部的动画通常是由手柄的三个按键来控制的。比如 Grip 键控制中指、无名指、小拇指的弯曲&#xf…

城际铁路列车控制系统

城际铁路列控系统在CTCS-2级列控系统基础上,应具备站间自动运行、车站定点停车及车站通过、折返作业、列车运行自动调整、车门/站台门(安全门或屏蔽门)防护及联动控制、列车运行节能控制等自动运行相关功能。 1、车载设备工作模式 城际铁路…

Access Specifier Manipulation解决方案

解释:AccessibleObject API 允许程序员绕过由 Java 访问说明符提供的 access control 检查。特别是它让程序员能够允许反映对象绕过 Java access control,并反过来更改私有字段或调用私有方法、行为,这些通常情况下都是不允许的 在面向对象编…

【微信小程序】微信支付接入全流程

一. 前置条件 接入支付首先得需要有企业资质&#xff0c;并开通企业对公户注册微信支付并进行对公户打款认证 二. 开始接入 1. 下载微信支付的AP证书 2. 服务端接入微信支付 2.1 引入相关maven配置 <dependency><groupId>com.github.binarywang</groupId&…

Nginx内存池(二)——小块内存分配

内存分配源代码&#xff1a; void * ngx_palloc(ngx_pool_t *pool, size_t size) { #if !(NGX_DEBUG_PALLOC)if (size < pool->max) { // 用内存池分配内存return ngx_palloc_small(pool, size, 1);} #endif// mallocreturn ngx_palloc_large(pool, size); }static ngx_…

对话风变科技 CTO|从线上教育服务商到教育资源供给平台,风变背后的第二增长曲线思维

Authing 是用户中心团队&#xff0c;我们是业务系统&#xff0c;大家冲刺一个目标、再做合并&#xff0c;然后让基于多租户的 B 端产品成功上线。那个阶段刚好有个客户卡在当时的时间点&#xff0c;一定要赶着上线&#xff0c;最后 Authing 的协作让我们赢得了客户信任&#xf…

基于scrapy+mongodb的校园数据获取

Scrapy以及MongoDB介绍&#xff1a; Scrapy: Scrapy是一个Python编写的开源网络爬虫框架&#xff0c;可以帮助开发人员高效、快速地从互联网上抓取、提取和处理数据。Scrapy拥有强大的可扩展性&#xff0c;可以通过定制管道、中间件和Spider来自定义爬虫行为&#xff0c;同时它…