AlphAction:Asynchronous Interaction Aggregation for Action Detection

备注: 机翻,如有侵权,立即删除
code: https://github.com/MVIG-SJTU/AlphAction
source: ECCV2020

Abstract

理解交互是视频动作检测必不可少的一部分。 我们提出了异步交互聚合网络(AIA),它利用不同的交互来促进动作检测。 其中有两个关键设计:一是交互聚合结构(IA)采用统一的范式对多种类型的交互进行建模和集成;二是异步内存更新算法(AMU),它使我们能够通过动态建模非常长期的交互来获得更好的性能,而不需要巨大的计算成本。 我们提供的经验证据表明,我们的网络可以从综合交互中获得显著的准确性,并且易于训练端到端。我们的方法报告了在AVA数据集上的新的最先进的性能,与我们强大的基线相比,在验证分裂上有3.7mAP增益(12.6%的相对改进。 数据集UCF101-24和EPIC-Kitchens上的结果进一步说明了我们的方法的有效性。

1 Introduction

动作检测任务(时空动作定位)旨在检测和识别空间和时间上的动作。 作为视频理解的一项必不可少的任务,它具有异常行为检测和自主驾驶等多种应用。 在空间表示和时间特征[19,25,3,9]的基础上,[12,37,45,27]的交互关系对于理解行为至关重要。 以图1为例。 男人的外表,茶杯以及女人先前的动作都有助于预测女人的动作。 在本文中,我们提出了一个新的框架,强调动作检测的相互作用。

在这里插入图片描述

互动可以简单地认为是目标人与语境之间的关系。 现有的许多作品试图探索视频中的交互,但目前的方法存在两个问题: 以前的方法专注于单一类型的交互(例如。 人-物体)。它们只能促进一种特定的行动。 [44]等方法打算合并不同的相互作用,但它们分别对它们进行建模。 一个交互的信息不能促进另一个交互建模。 如何在视频中正确地找到交互并将它们用于动作检测仍然是一个挑战。 (2)长期的时间互动很重要,但很难追踪。 由于资源的挑战,使用时间卷积[19,25,9]的方法的时间接收非常有限。 [39]等方法需要重复特征提取预处理,这在现实中是不实用的。

在本工作中,我们提出了一个新的框架,即异步交互聚合网络(AIA),它探索了三种交互(人、人-对象和时间交互),涵盖了视频中几乎所有的人-上下文交互。 作为第一次尝试,AIA使它们在层次结构中协同工作,以捕获更高层次的时空特征和预处理者的注意。 我们的网络主要有两种设计:交互聚合(IA)结构和异步内存更新(AMU)算法。 我们采用了一种类似内存的结构来存储空间特征,并提出了一系列的写读算法来更新内容在内存中:在每次迭代中从目标剪辑中提取的特征被写入内存池,并且可以在随后的迭代中检索它们来建模时间交互。 这种有效的策略使我们能够以端到端的方式训练整个网络,并且计算复杂度不会随着时间记忆特征的长度线性增加。 与以前的解决方案[39]提前提取特征相比,AMU更简单,性能更好。

前者的设计,IA结构,探索并整合了所有三种类型的交互在一个深层结构。 更具体地说,它由多个元素相互作用块组成,每个元素都通过一种类型的相互作用增强目标特征。 这三种类型的交互块沿着IA结构的深度嵌套。 一个块可以使用以前交互块的结果。 因此,IA结构能够精确地利用不同类型的信息来建模交互。

由于视频数据的大容量,具有长内存特征的联合训练是不可行的。 因此,提出了AMU算法来估计训练过程中的棘手特征

我们的主要贡献是:(1)一种深度IA结构,它集成了多种人-上下文交互,用于鲁棒动作检测;(2)一种AMU算法,用于动态估计内存特征。 我们对AVA[16]数据集进行了广泛的消融研究,用于时空动作定位任务。 我们的方法显示了对性能的巨大提升,这在验证和测试集上都产生了新的最新技术。 我们还在数据集UCF101-24和段级动作识别数据集EPIC-Kitchens上测试了我们的方法。 结果进一步验证了其通用性。

3 Proposed Method

在本节中,我们将描述在空间和时间中定位动作的方法。 我们的方法旨在建模和聚合各种交互来 达到更好的动作检测性能。在3.1节中,我们描述了短剪辑中的两种重要类型的实例级特征和长视频中的内存特征。 在第3.2节中,探讨了交互聚合结构(IA)以收集交互知识。 在3.3节中,我们介绍了异步内存更新算法(AMU),以缓解时间交互建模中计算量大和内存消耗大的问题。 我们的方法的总体管道如图2所示。
在这里插入图片描述

3.1 Instance Level and Temporal Memory Features

为了模拟视频中的交互,我们需要正确地找到被查询的人与什么交互。 以前的工作,如[36]计算特征映射中所有像素之间的相互作用。 由于计算昂贵,这些蛮力方法很难学习像素之间的交互,因为视频数据集的大小有限。 因此,我们下来考虑如何获得集中的交互特征。 我们观察到,人总是与具体的物体和其他人相互作用。 因此,我们提取对象和人员嵌入作为实例级特征。 此外,视频帧总是高度相关的,因此我们保持长期的人的特征作为记忆特征。

实例级特性是从视频特性中裁剪出来的。 由于计算整个长视频是不可能的,我们将其分割成连续的短视频剪辑[v1,v2,…,vT]。 使用视频骨干模型:ft=F(Vt,φF)提取tth剪辑vt的d维特征,其中φF是参数。

在vt的中间框架上应用检测器来获取人员框和对象框。 基于检测到的包围盒,我们应用RoIAlign从提取的特征ft中裁剪人和对象特征。 在vt中的人和物体特征分别表示为Pt和Ot。一个剪辑只是一个简短的会话,忽略了时间全局语义。 为了模拟时间交互,我们保留了记忆特征的轨迹。 记忆特征由连续剪辑中的人特征组成:MT=[PttL,…,Pt,…,PtL],其中(2L1)是按剪辑接收场的大小。 在实践中,从每个邻居剪辑中抽取一定数量的人。

上述三个特征具有语义意义,包含识别动作的集中信息。 有了这三个特性,我们现在能够显式地建模语义交互

3.2 Interaction Modeling and Aggregation

我们如何利用这些提取的特征? 对于目标人来说,有多个检测到的对象和人员。 主要的挑战是如何正确地关注目标人与之互动的对象或人。 在这一部分中,我们首先介绍了我们的交互块,它可以在一个统一的结构中自适应地建模每种类型的交互。 然后,我们描述了我们的交互聚合(IA)结构,它聚集了多个交互。 概述。 给定不同的人类Pt、对象Ot和记忆特征Mt,所提出的IA结构在=E(Pt、Ot、Mt、φE)输出动作特征,其中φE表示IA结构中的参数。 然后将at传递给最终分类器进行最终预测。

层次IA结构由多个交互块组成。 它们中的每一种都是为单一类型的交互量身定做的。 交互块与其他块深度嵌套,以有效地集成不同的交互,以获得更高层次的特征和更精确的注意。

Interaction Block: 互作用块的结构是根据变压器块最初在[35]中提出的,其具体设计基本遵循[36,39]。 简单地说,两个输入中的一个用作查询,另一个映射到键和值。 通过点-产品注意,这是图3a中softmax层的输出,该块能够选择对查询高度激活的值特征并将它们合并以增强查询特征。 有三种类型的交互块,P-Block,O-Block和M-Block。

-P-Block: P-Block在同一个剪辑中模拟人与人的交互。 它有助于识别像倾听和交谈这样的行为。 由于查询输入已经是人特征或增强的人特征,所以我们将键/值输入与查询输入相同。

-O-Block: 在O-Block中,我们的目标是提取人与对象之间的交互,例如推送和携带对象。 我们的键/值输入是检测到的对象特征Ot。 在检测对象太多的情况下,我们根据检测分数进行采样。 图3a是O-Block的示例。
在这里插入图片描述

-M-Block: 一些操作沿着时间维度有很强的逻辑连接,比如打开和关闭。 我们将这种类型的相互作用建模为时间相互作用。 要操作这种类型,我们将内存特性Mt作为M-Block的键/值输入。

Interaction Aggregation Structure. 交互块提取三种类型的交互。 我们现在提出了两种IA结构来整合这些不同的相互作用。 所提出的IA结构是朴素平行IA、串行IA和密集串行IA。 为了清晰起见,我们使用P、O和M分别表示P锁、O锁和M锁。

-Parallel IA: 一种简单的方法是分别对不同的交互进行建模,最后将它们合并。 如图4a所示,每个分支都遵循与处理一种类型的交互而不了解其他交互的[12]相似的结构。 我们认为平行结构很难精确地找到相互作用。 我们在图4c中说明了最后一个P-锁的注意事项。 通过显示不同人员的Softmax层的输出。 正如我们所看到的,目标人显然在看着和听着那个穿红色衣服的人。 然而,P块对两个男人也有类似的关注。

-Serial IA: 跨不同交互的知识有助于识别交互。 我们提出了串行IA来聚合不同类型的交互。 如图3b所示,不同类型的交互块按顺序堆叠。 查询的特征在一个交互块中增强,然后传递给不同类型的交互块。 图4f。 和4g。 演示串行IA的优点:第一个P块不能区别左边的人和中间的人的重要性。 在从O-block和M-block获得知识后,第二个P-block能够更多地关注与目标人交谈的左边的人。 与平行IA中的注意相比(图4c。 我们的串行IA在寻找交互方面更好。
在这里插入图片描述

-Dense Serial IA: 在上述结构中,交互块之间的连接完全是手动设计的,交互块的输入只是另一个交互块的输出。 我们期望该模型进一步了解哪些交互特征可以自己采取。 考虑到这一点,我们提出了密集串行IA扩展。 在密集串行IA中,每个交互块接受以前块的所有输出,并使用可学习的权重聚合它们。 形式上,第i块的查询可以表示为
在这里插入图片描述
其中表示元素乘法,C是前几个块的索引集,WJ是一个可学习的d-二元向量,,Et,j之间用Softmax函数归一化,j是j块的增强输出特征。 密集串行IA如图3c所示。

3.3 Asynchronous Memory Update Algorithm

长期记忆特征可以提供有用的时间语义来帮助识别动作。 想象一个场景,一个人打开瓶盖,喝水,最后关闭瓶盖,很难用微妙的动作来检测打开和关闭。 但了解饮用水的背景,事情就会变得容易得多。

Resource Challenge. 为了捕捉更多的时间信息,我们希望我们的mt能够从足够的片段中收集特征,然而,使用太多的片段会使计算和内存消耗急剧增多。
在这里插入图片描述
用图5描述,当联合训练时,随着Mt的时间长度的增加,内存使用和计算消耗迅速增加。 要对一个目标人进行训练,必须一次向前和向后(2L1)视频剪辑,这需要花费更多的时间,甚至更糟糕的是,由于GPU内存有限,无法充分利用足够的长期信息。

Insight. 在以前的工作[39]中,他们预先训练另一个重复的骨干,以提取内存特征,以避免这一问题。 然而,这种方法利用了冻结内存特性,其表示能力不能随着模型训练的进行而增强。 我们期望内存特性可以动态更新,并享受训练过程中参数更新的改进。 因此,我们提出了异步内存更新方法,它可以生成有效的动态长期内存特征,使训练过程更加轻量级。 算法1给出了该算法的训练过程细节

在[38]的启发下,我们的算法由内存组件、内存池Ω和两个基本操作READ和WRITE组成。 内存池Ω记录内存特性。 这个池中的每个特征Pˆ(I)t是一个估计值,并标记为损失值δ(I)t。 此损失值δ(I)t记录整个网络的收敛状态。 在每次训练迭代时调用两个基本操作:

-Read:在每次迭代开始时,给定来自第一个视频的视频剪辑v(I)t,从内存池Ω读取目标剪辑周围的内存特征,即[Pˆ(I)ttl,…,Pˆ(I)tt1]和[Pˆ(I)t1,…,Pˆ(I)tL。
在这里插入图片描述
-Write:在每次迭代结束时,目标剪辑P(I)t的个人特征被写回内存池Ω作为估计的内存特征Pˆ(I)t,标记为当前损失值。

-Reweighting: 我们读取的特性是在不同的训练步骤中编写的。 因此,从模型中提取了一些早期的书面特征,其参数与当前的参数有很大的不同。 因此,我们影响一个惩罚因子w(I)t0来丢弃严重估计的特征。 我们设计了一种简单而有效的方法,通过使用损失标签来计算这种惩罚因子。 损失标记δ(I)t0与当前损失值之间的差异表示为,
在这里插入图片描述
当差异很小时,应该非常接近1。 随着网络的收敛,内存池中的估计特征有望越来越接近精确特征,w(I)t0接近1。

如图5所示,随着内存特征长度的增加,我们的算法的消耗在GPU内存和计算上都没有明显的增加,因此我们可以在当前的公共设备上使用足够长的内存特征。 通过动态更新,可以更好地利用异步内存特性。

Experiments

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

Conclusion

本文介绍了异步交互聚合网络及其在动作检测中的性能。 我们的方法报告了AVA数据集上的新技术开始。 然而,动作检测和交互识别的性能还远不完善。 性能差可能是由于有限的视频数据集。 将动作和交互的知识从图像中转移可能是AIA网络的进一步改进。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值