AAAI 2020 | 时间可以是二维的吗?基于二维时间图的视频内容片段检测
时间可以是二维的吗?这是一个好问题!
我们常常将物理世界定义为三维空间,将时间定义为一维空间。但是,这不是唯一的定义方式。最近,研究院的童鞋们大开脑洞,提出了一种新的时间表示方式, 将时间定义成了二维的 !
在二维空间里,时间是如何表达的呢?童鞋们给出的答案是这样的: 在二维空间中,我们定义其中一个维度表示时间的开始时刻,另外一个维度表示时间的结束时刻
;从而,二维空间中的每一个坐标点就可以表达一个时间片段(例如,从 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
作者暂无likerid, 赞赏暂由本网站代持,当作者有likerid后会全部转账给作者(我们会尽力而为)。Tips: Until now, everytime you want to store your article, we will help you store it in Filecoin network. In the future, you can store it in Filecoin network using your own filecoin.
Support author:
Author's Filecoin address:
Or you can use Likecoin to support author: