TDN: Temporal Difference Networks for Efficient Action Recognition 论文阅读
- Abstract
- 1. Introduction
- 2. Related work
- 3. Temporal Difference Networks
- 3.1. Overview
- 3.2. Short-term TDM
- 3.3. Long-term TDM
- 3.4. Exemplar: TDN-ResNet
- 4. Experiments
- Ablation studies
- Comparison with the state of the art
- 5. Conclusion
文章信息:
原文链接:https://arxiv.org/abs/2012.10071
源码:https://github.com/MCG-NJU/TDN
发表于:CVPR 2021
Abstract
时间建模在视频动作识别中仍然是一个具有挑战性的问题。为了缓解这个问题,本文提出了一种新的视频架构,称为Temporal Difference Network(TDN),重点是捕获多尺度的时间信息以实现高效的动作识别。我们TDN的核心是通过明确利用时间差分算子设计一个高效的时间模块(TDM),并系统评估其对短期和长期运动建模的影响。为了完全捕获整个视频的时间信息,我们的TDN采用了两级差分建模范式。具体来说,对于局部运动建模,使用连续帧之间的时间差分来为2D CNN提供更精细的运动模式,而对于全局运动建模,则将时间差分跨越段落进行,以捕获长距离结构以激发运动特征。TDN提供了一个简单而原则性的时间建模框架,并且可以在小额外计算成本的情况下与现有的CNNs实例化。我们的TDN在Something-Something V1 & V2数据集上取得了新的最佳性能,并且在Kinetics-400数据集上与最佳性能相媲美。此外,我们进行了深入的消融研究,并绘制了TDN的可视化结果,希望提供对时间差分建模的深入分析。我们在https://github.com/MCG-NJU/TDN发布了代码。
1. Introduction
深度神经网络在视频动作识别方面取得了巨大进展[14, 29, 38, 31, 6, 26, 37]。对于视频动作识别,时间建模对于捕获运动信息至关重要,当前深度学习方法通常通过两种机制来实现。一种常见的方法是使用两流网络[29],其中一流是对RGB帧进行操作以提取外观信息,另一流是利用光流作为输入来捕获运动信息。这种方法被证明对提高动作识别准确性是有效的,但需要高计算消耗来计算光流。另一种替代方法是使用3D卷积[12, 31]或时域卷积[33, 41, 25]来从RGB帧中隐式学习运动特征。然而,3D卷积通常缺乏对时间维度的具体考虑,并且可能带来更高的计算成本。因此,设计一个具有高运动建模能力和低计算消耗的有效时间模块仍然是视频识别中的一个具有挑战性的问题。
本文旨在通过引入基于时间差异的模块(TDM)来提出一种新的时间建模机制。时间导数(差异)与光流密切相关[11],并且通过使用RGB差异作为近似运动表示,在动作识别中已经显示出有效性[38, 43]。然而,这些方法简单地将RGB差异视为另一种视频模态,并训练一个不同的网络与RGB网络进行融合。相反,我们的目标是通过将时间差异的想法泛化为一个合理且高效的时间模块,为端到端网络设计提供一个统一的框架,共同捕获外观和运动信息。
此外,我们认为短期和长期的时间信息对于动作识别至关重要,因为它们能够捕获动作实例的独特和互补特性。因此,在我们提出的时间建模机制中,我们基于一种全面和稀疏采样策略[38]提出了一种独特的两级时间建模框架,称为时间差异网络(TDN)。具体来说,在TDN中,我们考虑两种有效形式的TDM(Temporal Difference Module)来在不同尺度上对运动进行建模。对于局部运动建模,我们提出了一个轻量级和低分辨率的差异模块,通过侧向连接为单个RGB提供运动模式,而对于长距离运动建模,我们提出了一个多尺度和双向差异模块,以捕获跨段变化以激发运动。这两种TDM被系统地研究为模块化构建块,用于短期和长期时间结构的提取。
我们的TDN提供了一个简单而通用的视频级运动建模框架,并且可以在现有的CNNs上实例化,额外的计算成本很小。为了展示TDN的有效性,我们将其与ResNets结合实现,并在两个数据集上进行实验:Kinetics和Something-Something。评估结果表明,我们的TDN在动作相关的Something-Something数据集和场景相关的Kinetics数据集上都能以新的最先进性能取得良好表现,在使用类似的骨干网络的情况下。如图1所示,我们的最佳结果在Something-Something V1数据集上显著优于先前的方法。我们还进行了详细的消融实验,以展示时间差异操作的重要性,并调查TDM特定设计的影响。总的来说,我们的主要贡献在以下三个方面:
- 我们将RGB差异的思想概括为一个高效的时间差异模块(TDM),用于视频中的运动建模,并通过系统性地提供有效和详细的模块设计,为3D卷积提供了一个替代方案。
- 我们的TDN提出了一个视频级别的运动建模框架,其中包括所提出的时间差异模块,重点是捕获视频识别的短期和长期时间结构。
- 我们的TDN在使用相同的骨干网络的情况下,在Kinetics和Something-Something数据集上获得了新的最先进性能。我们还对TDM进行了深入的消融研究,以提供关于我们的时间差异建模的一些见解。
2. Related work
Short-term temporal modeling.在过去几年中,动作识别引起了许多研究的关注。这些方法可以分为两类:(1) 两流CNN或其变种:它使用RGB和光流两个输入分别对视频中的外观和运动信息进行建模,采用了后期融合的方法;(2) 3D-CNN:它提出了3D卷积和池化,直接从视频中学习时空特征。一些变种试图通过将其分解为2D卷积和1D时间卷积来降低3D卷积的计算成本,例如R(2+1)D、S3D、P3D和CT-Net。沿着这个研究方向,一些工作专注于设计更强大的时间模块,并将它们插入到2D CNN中进行高效的动作识别,例如TSM、TIN、TEINet、TANet和TEA。此外,一些方法尝试利用两流网络的思想设计多分支架构来捕获外观、运动或上下文信息,采用了经过精心设计的时间模块或在不同FPS下采样的两个RGB输入,包括Non-local Net、ARTNet、STM、SlowFast和CorrelationNet。一些最近的工作尝试了网络架构搜索用于视频识别。这些工作是基于片段的架构,重点关注通过从整个视频中学习的一小部分(例如64帧)进行短期运动建模。
Long-term temporal modeling.短期片段网络无法捕获长期时间结构。为了克服这一限制,提出了几种方法,如使用RNN或长时序卷积,或采用稀疏采样和聚合策略。在这些方法中,时间段网络(TSN)被证明是一种有效的长期建模框架,并在几个基准测试中与2D CNNs一起取得了最先进的性能。然而,TSN与2D CNNs仅在最后阶段执行时间融合,无法捕获更精细的时间结构。StNet提出了一个局部和全局模块来分层建模时间信息。V4D通过提出一个基于原则的四维卷积操作符来扩展了TSN框架,以从不同阶段聚合长期信息。
Temporal difference representation.在先前的几项工作中出现了用于运动提取的时间差操作,如RGB差异和特征差异。RGB差异被证明是一种有效的替代模态,可用于表示运动。然而,它们只是将RGB与另一种视频模态区别对待,并训练一个单独的网络来与RGB流融合。TEINet,TEA和STM等工作采用了差异操作进行网络设计。然而,这些方法仅使用简单的差异运算符进行单级运动提取,并且比3D卷积受到的研究关注较少。
与现有方法不同,我们提出的时间差异网络(TDN)是一个视频级别的架构,用于端到端的动作识别,能够捕捉短期和长期信息。我们的主要贡献在于引入了一个时间差异模块(TDM),以显式计算运动信息,并将其有效地融入我们的两级运动建模范式中。我们希望改进和推广这些基于时间差异的建模替代方案,这些方案在两个基准测试中通常表现优于3D卷积,且具有较小的FLOP。
3. Temporal Difference Networks
在本节中,我们详细描述了我们的时间差异网络(TDN)。首先,我们概述了TDN框架,它由短期和长期时间差异模块(TDM)组成。然后,我们对这两个模块进行了技术描述。最后,我们提供了使用ResNet骨干网络实例化TDN的实现细节。
图2. 时间差异网络。我们提出了一个视频级的框架,用于从整个视频中学习动作模型,称为TDN。基于来自多个片段的稀疏采样,我们的TDN旨在模拟框架中的短期和长期运动信息。关键贡献在于设计了一个高效的短期时间差异模块(S-TDM)和一个长期时间差异模块(L-TDM),分别为2D CNN提供局部运动信息,并在片段之间实现长距离建模。CNN在所有片段上共享相同的参数。有关两个模块的详细信息,请参见图3。
图3. 短期TDM和长期TDM的示意图。左图:我们的S-TDM在堆叠的RGB差分上运行,并通过残差连接与单个RGB CNN融合,以捕获短期运动。右图:我们的L-TDM提出了一个双向和多尺度的注意机制,利用跨段信息来增强帧级表示。更多细节请参见文本。
3.1. Overview
如图2所示,我们提出的时间差异网络(TDN)是一个用于通过使用整个视频信息学习动作模型的视频级框架。由于GPU内存的限制,我们遵循TSN框架[38],为每个视频提出了一种稀疏和全面的采样策略。我们的主要贡献是将时间差异运算符引入网络设计中,明确捕获短期和长期运动信息。效率是我们在时间差异模块(TDM)设计中的核心考虑因素,我们研究了两种特定形式,分别完成了在局部窗口中进行运动补充和跨不同片段进行运动增强的任务。这两个模块通过一个残差连接被整合到主网络中。
具体来说,每个视频 V V V 被划分为 T T T 个等时长且不重叠的片段。我们从每个片段随机采样一帧,总共获得 T T T 帧 I = [ I 1 , ⋯ , I T ] \mathbf{I}=[I_1,\cdots,I_T] I=[I1,⋯,IT],其中 I 的形状为 [ T , C , H , W ] [T,C,H,W] [T,C,H,W]。这些帧被分别输入到一个 2D CNN 中,以提取帧级特征 F = [ F 1 , ⋯ , F T ] {\mathbf{F}}=[F_1,\cdots,F_T] F=[F1,⋯,FT],其中 F \mathbf{F} F表示隐藏层中的特征表示,其维度为 [ T , C ′ , H ′ , W ′ ] [T,C^{\prime},H^{\prime},W^{\prime}] [T,C′,H′,W′]。短期TDM旨在提供局部运动信息以改善这些早期层的表示能力。
其中, F ^ i \hat{F}_i F^i 表示由TDM增强的表示, H \mathcal{H} H 表示我们的短期TDM,它从围绕 I i I_i Ii 的相邻帧中提取局部运动。长期TDM旨在利用跨片段的时间结构来增强帧级特征表示。
其中, G \mathcal{G} G 表示我们的长期TDM,在当前的实现中,我们只考虑每个长期TDM中相邻片段级别的信息用于长距离时间建模。通过堆叠多个长期TDMs,我们能够捕获长时间尺度上的时间结构。具体细节将在下一小节中描述。
3.2. Short-term TDM
我们认为,在局部时间窗口内,相邻帧非常相似,直接堆叠多个帧进行后续处理是低效的。另一方面,从每个窗口中采样单个帧能够提取外观信息,但无法捕获局部运动信息。因此,我们的短期TDM选择将单个RGB帧与时间差异相结合,以产生高效的视频表示,明确地编码了外观和运动信息。
具体来说,我们的短期TDM在网络的早期层进行低级特征提取,并通过融合时间差异信息使单帧RGB能够感知局部运动。如图3所示,对于每个采样帧 I i I_i Ii,我们在以 I i I_i Ii为中心的局部窗口中提取多个时间RGB差异,然后沿通道维度将它们堆叠起来,表示为 D ( I i ) = [ D − 2 , D − 1 , D 1 , D 2 ] \mathbf{D}(I_i)=[D_{-2}, D_{-1}, D_1, D_2] D(Ii)=[D−2,D−1,D1,D2]。基于这种表示,我们提出了一种高效的TDM形式:
其中, D D D表示 I i I_i Ii周围的RGB差异,CNN是不同阶段的具体网络。为保持效率,我们设计了一个轻量级CNN模块,用于处理堆叠的RGB差异 D ( I i ) \mathbf{D}(I_i) D(Ii)。它通常遵循低分辨率处理策略:
(1)使用平均池化将RGB差异下采样一半,
(2)使用2D CNN提取运动特征,
(3)将运动特征上采样以匹配RGB特征。这种设计来自我们的观察,即RGB差异在大多数区域呈现出非常小的值,只在运动显著区域包含高响应。因此,对于这种稀疏信号,使用低分辨率架构就足够了,而且几乎不会丢失准确性。
短期TDM的信息与单个RGB帧进行融合,使原始帧级表示能够感知运动模式,并能更好地描述局部时间窗口。我们使用侧连接来实现这种融合。对于每个早期阶段(即我们实验中的第1-2阶段),我们从短期TDM到帧级表示附加一个融合连接。在实践中,我们还将残差连接与其他融合策略进行了比较,如在消融研究中所示。
3.3. Long-term TDM
带有短期TDM的帧级表示对于捕获局部段(窗口)内的时空信息非常有效。然而,就时间感受野而言,这种表示在探索学习动作模型的长程时间结构方面存在局限。因此,我们的长期TDM尝试利用跨段信息通过一种新颖的双向和多尺度时间差分模块来增强原始表示。
除了效率外,长距离帧之间空间位置的错位是另一个问题。因此,我们设计了一个多尺度架构,在差异计算之前平滑了大的感受野中的差异。如图3所示,我们首先通过卷积以效率为目标压缩特征维度,然后通过相邻段计算对齐的时间差异:
其中, C ( F i , F i + 1 ) C(F_i,F_{i+1}) C(Fi,Fi+1)代表段 F i F_i Fi的对齐时间差异,Conv是用于空间平滑和缓解错位问题的逐通道卷积。然后,对齐的时间差异经过多尺度模块进行长距离运动信息提取:
其中,不同空间尺度上的CNN j _j j旨在从不同的感受野中提取运动信息,实际中 N = 3 N=3 N=3。它们的融合可以更加鲁棒地解决错位问题。在实现中,它涉及三个分支:(1) 短连接,(2) 一个3×3卷积,和(3) 一个平均池化,一个3×3卷积,和一个双线性上采样。最后,我们利用双向跨段时间差异来增强帧级特征,如下所示:
其中, ⊙ \odot ⊙ 表示逐元素乘法。我们还通过一个残差连接将原始帧级表示和增强表示相结合,如式(2)所示。与短期TDM略有不同的是,我们将差异表示作为注意力图来增强帧级特征,部分基于这样一个观察结果:对于CNN的后续阶段,注意力建模更有效。我们还在消融研究中比较了这种实现与其他形式。
3.4. Exemplar: TDN-ResNet
如上所述,我们的TDN框架基于TSN的稀疏采样[38],该框架在整个视频上均匀分布的帧序列上运行。我们的TDN提供了一个两级运动建模机制,重点是以局部到全局的方式捕获时间信息。特别是,如图2所示,我们在早期阶段插入短期TDM(S-TDM)以进行更精细和低级别的运动提取,并在后续阶段插入长期TDM(LTDM)以进行更粗略和高级别的时间结构建模。
我们使用ResNet骨干网络来实例化我们的TDN [10]。与V4D [42]中的做法类似,ResNet的前两个阶段用于通过使用S-TDM在每个段内提取短期时间信息,而后三个阶段则配备了L-TDM以捕获跨段的长距离时间结构。对于局部运动建模,我们在第1阶段和第2阶段之间以及主网络之间添加了残差连接。对于长期运动建模,我们在第3至第5阶段的每个残差块中添加了L-TDM和一个时间卷积。实际上,最终的TDN-ResNet仅将FLOPs与原始的2D TSN-ResNet相比增加了约9%。
4. Experiments
Ablation studies
Comparison with the state of the art
5. Conclusion
在本文中,我们提出了一种新的视频级框架,称为TDN,用于从整个视频中学习动作模型。TDN的核心贡献是将时间差分运算符泛化为具有特定设计的高效通用时间模块(TDM),用于捕获视频中的短期和长期时间信息。我们提出了两种定制形式的TDM实现,并系统评估了它们对时间建模的影响。正如在Kinetics-400和Something-Something数据集上所展示的,我们的TDN能够以优越的性能超越以前使用类似骨干网络的先前最先进方法。
此外,我们进行了深入的TDM消融研究,以调查时间差分操作的效果,并证明相比使用更多帧的标准3D卷积,提取细粒度的时间信息更为有效。我们希望我们的分析能够提供更多关于时间差分操作的见解,而TDM可能成为视频中时间建模的一种替代方法。