Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

彭厚文、张宋扬、傅建龙、罗杰波作者

AAAI 2020 | 时间可以是二维的吗?基于二维时间图的视频内容片段检测

编者按:当时间从一维走向二维,时序信息处理问题中一种全新的建模思路由此产生。根据这种新思路及其产生的二维时间图概念,微软亚洲研究院提出一种新的解决时间定位问题的通用方法:二维时域邻近网络 2D-TAN,在基于自然语言描述的视频内容定位和视频内人体动作检测两个任务上验证了其有效性,并在 ICCV 2019 中的 HACS Action Localization Challenge 比赛中获得了第一,相关技术细节将发表于 AAAI 2020 论文“Learning 2D Temporal Adjacent Network for Moment Localization with Natural Language”。本文将对这一研究进行深入解读。

时间可以是二维的吗?这是一个好问题!

我们常常将物理世界定义为三维空间,将时间定义为一维空间。但是,这不是唯一的定义方式。最近,研究院的童鞋们大开脑洞,提出了一种新的时间表示方式,将时间定义成了二维的

在二维空间里,时间是如何表达的呢?童鞋们给出的答案是这样的:在二维空间中,我们定义其中一个维度表示时间的开始时刻,另外一个维度表示时间的结束时刻;从而,二维空间中的每一个坐标点就可以表达一个时间片段(例如,从 A 时刻开始到 B 时刻结束的时间片),也可以是一个特定的时间点(例如,从 A 时刻开到 A 时刻结束,即为 A 时刻)。

这种二维时间定义的用途和意义在哪里呢?童鞋们认为这种新的时间定义方式,可以为时序信息处理问题提供一种新的建模思路,例如视频、语音、轨迹等时序信息的分析与处理。近期,他们已将这种新的时间表达方式,应用于视频内容理解中,并在视频内人体动作检测、视频内容片段定位任务中取得了优异的性能。值得一提的是,他们应用这种新的时间表达方式,结合最新的深度学习模型,在视频行为识别与检测竞赛(HACS Temporal Action Localization Challenge)中取得了第1名的成绩。

下面,就让我们了解一下这种二维时间表达方式是如何应用在视频内容理解任务中的。

基于二维时间图的视频内容片段定位

视频内容片段定位包含多个子任务,例如,基于自然语言描述的视频片段定位(moment localization with natural language)与视频内人体动作检测(temporal action localization)。前者需要根据用户给定的描述语句,从视频中定位文字所描述的视频片段的开始和结束时间点;后者则需要在给定的长视频中,检测出其存在的动作片段类别,并定位出动作开始和结束的时间点。

在这些任务中,一个通用的做法是预先设定一些候选视频片段(proposals/moments/ segments),再对每个片段的可能性进行相应的预测。然而在预测过程中,前人的工作通常只是对每个片段独立预测,却忽略了片段之间的依赖关系。为此,本文提出了二维时间图的概念,并通过二维时域邻近网络(2D Temporal Adjacent Network, i.e. 2D-TAN)来解决这一问题。该方法是一个解决时间定位问题的通用方法,不仅可以学习出片段之间的时域邻近关系,同时也能学习出更具有区分性的特征表达。

我们的方法在上述的视频内容片段定位任务上进行了验证。在基于自然语言描述的视频片段定位任务中,我们提出的 2D-TAN 方法在三个基准数据集均获得了良好的性能结果,相关论文已经被 AAAI 2020 接收[1]。在视频内人体动作检测中,我们基于 2D-TAN 的改进方案[2]在 HACS Temporal Action Localization Challenge 中获得第一。

下面以自然语言描述的视频内容片段定位为例介绍我们的工作,并简要介绍人体动作检测方面的拓展。

基于自然语言描述的视频片段定位

基于自然语言描述的视频片段定位任务是根据用户给定的描述语句,从视频中定位文字所描述的视频片段,并返回该片段的开始和结束时间,如图1所示。前人的工作都是独立地匹配句子和一个片段,而忽略了其他片段对其影响。当要处理涉及多片段的情况,尤其是片段之间存在依赖关系的时候,这种做法很难得到精确的结果。例如,当我们要定位“这个人又吹起了萨克斯 The guy plays the saxophone again”,如果只看后面的视频而不看前面的,我们不可能在视频中定位到这个片段。另一方面,有很多候选片段都与目标片段有重叠,例如图1中 Query B 下面所对应的多种片段。这些片段有着相似的视频内容,但是语义上会略有所不同。如果不将这些片段综合考虑来区分其中的细微差别,同样很难得到精确的结果。

图1:任务示意图。在二维时间图中,黑色坐标轴上的数字表示开始和结束的序号,灰色坐标轴上的数字表示序号所对应的时间点。二维时间图中方格的红色程度反映该片段与目标片段的重叠程度,取决于视频长度及采样比例。

为解决这一问题,我们提出了二维时域邻近网络(2D-TAN)。其核心思想是在二维时间图中做视频片段定位,如图1所示。具体来说,图中(i,j)表示的是一个从 i 到 (j+1) 的时间片段。该图包含多种长度的片段,并通过图中坐标的远近,我们可以定义这些片段之间的邻近关系。有了这些关系,我们的 2D-TAN 模型便可以对依赖关系进行建模。与此同时,不同片段与目标片段之间的重叠程度会有所不同。2D-TAN 通过整体考虑这些重叠上的差异,而非单独考虑每个片段,可以学习更具有区分性的特征,如图2。

图2:与前人方法的对比。绿色长方体表示候选片段与句子融合后的相似度特征。方框表示得分,方框红色的程度表示该片段与目标片段的重叠程度。左图表示前人的方法,独立预测各个片段的得分。右图表示我们的方法,预测当前片段的得分时,综合考虑了邻近片段的关系。

二维时域邻近网络(2D-TAN)

我们的 2D-TAN 模型如图3所示。该网络由三部分构成:一个用来提取自然语言文本特征的编码器,一个用来提取视频特征图的编码器,及一个用来定位的时域邻近网络。我们在下文具体介绍各部分。

图3:2D-TAN的框架示意图

语句的文本特征

我们将每个文本单词转换成 GloVe 词向量表达[4],再将词向量依次通过 LSTM 网络[5],使用其最后一层输出作为文本语句的特征。

视频的二维特征图

我们首先将视频分割成小的单元片段(clip),之后等距降采样到统一长度,再通过预训练好的网络抽取其特征。抽取好的特征通过卷积、池化操作获得最终的单元片段特征(clip feature),大小是 N×d^v。候选片段由一段连续的单元片段构成,不同候选片段长度可能会不同。为获得统一的特征表示,对于每一个候选片段,我们通过对其相应的单元片段序列最大池化(max-pooling)获得其最终特证。根据每个候选片段的始末时间点,我们将所有的候选片段重新排列成一个二维特征图,大小是 N×N×d^v。因为开始时间永远小于结束时间,特征图的下三角部分是无效的,因此我们将它们填充成0,且不参与后续的计算。

当 N 较大时,特征图的计算量也会随之增大,为解决此问题,我们还提出了一种稀疏图的构造策略,如图4所示。在该图中,我们根据片段的长短进行不同密度的采样。对于短片段,我们枚举出所有可能,进行密集采样。对于中等长度的片段,我们采样的步长设为2。对于长片段,我们采样的步长设为4。通过这种方式,我们可以降低因枚举所带来的计算开销,同时保证精度。所有未被选中的片段被填充为0,不参与后续的计算。

图4:当 N=64 时的候选片段。蓝色的方格表示选中参与候选的片段,灰色的方格表示未选中的片段。白色的方格表示无效的片段。

通过时间邻近网络定位

有了视频的二维特征图(图3中的蓝色立方体)和语句的文本特征(图3中的黄色长方体),我们首先将其特征图中每个位置的视频特征与文本特征融合,获得相似度的特征图(图3右图中左侧的绿色立方体)。然后,将融合后的相似度特征图通过一系列的卷积层,逐层建立其每个片段与周边片段之间的关系。最后,我们将这种考虑了邻近关系的相似度特征输入到全联接层中,获得最终的得分。

损失函数

在训练整个 2D-TAN 网络时,我们采用二元交叉熵(binary cross-entropy)作为损失函数,并使用经过线性变换的 intersection-over-union (IoU)值作为损失函数中的标签(label)。

实验结果

我们在 Charades-STA [6]、ActivityNet Captions [7] 和 TACoS [8] 三个数据集中进行了测试。实验结果如表1-3所示。从实验结果中我们可以看出,在不同数据集的多种评价指标下,我们的方法均取得了优异的性能。值得注意的是,我们的方法在更苛刻的评价标准下的提升更为明显(如表1-3中 rank{1,5}@{0.5,0.7} 的表现),尤其是在 TACoS、Rank1@0.5 和 Rank5@0.5 两个上获得了5和14个百分点的提升。这些实验结果说明基于二维时间图邻近关系的建模对性能提升有很大的帮助。

表1:Charades-STA 的实验结果。Pool 和 Conv 表示两种不同的片段特征提取方式,下表同。

表2:ActivityNet Captions 的实验结果

表3:TACoS 的实验结果

基于二维时间图的人体动作检测

考虑到 2D-TAN 方法的通用性和其在基于自然语言的时间定位任务上的优异性能,我们在后续的工作中将其拓展到了视频内人体动作检测任务中。该任务需要在给定的长视频中,检测出视频中预定义的动作片段类别及其开始和结束时间点。一种通常的做法是将该任务拆分成两步,首先检测出哪些片段可能存在预定义动作的片段(proposal generation),然后预测这些候选片段可能所属的类别(classification)。考虑到这类做法的第一步和我们提出的 2D-TAN 方法很相关,本质上都是要解决片段之间的相互依赖关系的问题,因此我们用 2D-TAN 方法针对该任务进行了改进,如图5。

图5:S-2D-TAN 框架示意图

相较于基于自然语言描述的视频片段定位,视频内动作定位的目标片段往往比较短。因此需要的采样频率更高,采样的单元片段个数 N 也因此更大。相应地,在特征图中长片段的采样步长也会比较大,底层的卷积层往往感受不到足够的上下文信息。在图5中,红色虚线方框表示的是中等长度片段在第一层涉及到的邻近片段,而黄色虚线方框表示的是短片段要涉及的邻近片段。我们可以看出,黄色框涉及的上下文信息要比红色框的多。因此我们在 2D-TAN 的基础上,针对长片段上下文信息较少,设计了一个稀疏二维时域邻近网络(Sparse 2D Temporal Adjacent Network, i.e. S-2D-TAN)。该网络将稀疏图按照采样的步长,拆分成三个更紧凑的时域特征图。通过将不同特征图分别通过一个共享内核的卷积网络,从而使得长片段可从周围的特征中获得更多的上下文信息。

我们的算法在 ICCV 2019 中的 HACS Action Localization Challenge 比赛中获得了第一名的成绩。值得一提的是,HACS 目前是视频内人体动作检测任务中最大的数据集 [2]。更多细节请参考技术报告[3]。

图6:比赛获奖证书

结语

本文针对视频内容片段定位问题提出了一种二维时间图表示方式与一种新的时域邻近网络(2D-TAN),其有效性已在基于自然语言描述的视频内容定位和人体动作检测两个任务上得到了初步的验证。该方法目前仍处于一个初步探索的阶段:从网络结构的角度来说,当前的结构仅采用简单地堆叠卷积层的方式,相信进一步优化网络结构本身会带来性能上的提升。另一方面,从方法的通用性角度来说,目前我们仅验证了两个任务,仍有许多相关任务值得拓展,例如视频文本描述,视频内容问答,亦或是语音等其他包含时序信息的任务。

更多技术细节,详见论文:

Learning 2D Temporal Adjacent Network for Moment Localization with Natural Language

论文链接: https://arxiv.org/abs/1912.03590

代码链接: https://github.com/microsoft/2D-TAN

参考文献

1. Songyang Zhang, Houwen Peng, JianlongFu and Jiebo Luo, “Learning 2D Temporal Adjacent Networks forMoment Localization with Natural Language”, AAAI 2020

2. Hang Zhao, Zhicheng Yan, Lorenzo Torresani and Antonio Torralba, “HACS: Human Action Clips and Segments Dataset for Recognition and Temporal Localization”, ICCV 2019

3. Songyang Zhang, Houwen Peng, Le Yang, Jianlong Fu and Jiebo Luo, “Learning Sparse 2D Temporal Adjacent Networks for Temporal Action Localization”, Technical Report

4. Jeffrey Pennington, Richard Socher and Christopher D. Manning, “GloVe: Global Vectors for Word Representation”, EMNLP 2014

5. Hochreiter, Sepp and Schmidhuber,Jurgen, “Long short-term memory”, Neural computation 1997

6. Jiyang Gao, Chen Sun, Zhenheng Yang and Ram Nevatia, “TALL: Temporal activity localization via language query”, ICCV2017

7. Ranjay Krishna, Kenji Hata,  Frederic Ren, Li Fei-Fei, and Juan Carlos Niebles, “Dense-Captioning Events in Videos”, ICCV 2017

8. Michaela Regneri, Marcus Rohrbach, Dominikus Wetzel, Stefan Thater, and Bernt Schiele, and Manfred Pinkal, “Grounding action descriptions in videos”, TACL 2013

微软研究院AI头条
微软研究院AI头条

专注科研19年,盛产黑科技

理论AAAI 2020
4
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

池化技术

池化(Pooling)是卷积神经网络中的一个重要的概念,它实际上是一种形式的降采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效的原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

交叉熵技术

交叉熵(Cross Entropy)是Loss函数的一种(也称为损失函数或代价函数),用于描述模型预测值与真实值的差距大小

GloVe技术

Stanford开发的用于词向量表示的一个库/工具

基准技术

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

降采样技术

降采样是数位信号处理领域中的一种多速频数字信号处理(multi-rate digital signal processing)系统中采样率转换(sample rate conversion)技术的一种,或指代用来降低信号采样率的过程,与插值相反——插值用来增加取样频率——降采样通常用于降低数据传输速率或者数据大小。因为降采样会有混叠的情形发生,系统中具有降采样功能的部分称为降频器(decimator)。

最大池化技术

最大池化(max-pooling)即取局部接受域中值最大的点。

堆叠技术

堆叠泛化是一种用于最小化一个或多个泛化器的泛化误差率的方法。它通过推导泛化器相对于所提供的学习集的偏差来发挥其作用。这个推导的过程包括:在第二层中将第一层的原始泛化器对部分学习集的猜测进行泛化,以及尝试对学习集的剩余部分进行猜测,并且输出正确的结果。当与多个泛化器一起使用时,堆叠泛化可以被看作是一个交叉验证的复杂版本,利用比交叉验证更为复杂的策略来组合各个泛化器。当与单个泛化器一起使用时,堆叠泛化是一种用于估计(然后纠正)泛化器的错误的方法,该泛化器已经在特定学习集上进行了训练并被询问了特定问题。

暂无评论
暂无评论~