【阅读笔记】《TDN: Temporal Difference Networks for Efficient Action Recognition》阅读笔记

《TDN: Temporal Difference Networks for Efficient Action Recognition》
论文连接:https://arxiv.org/abs/2012.10071
代码连接:https://github.com/MCG-NJU/TDN

Abstract

时间建模对于视频中的动作识别仍然具有挑战性。为了缓解这一问题,本文提出了一种新的视频架构,称为时间差分网络(TDN),重点是捕捉多尺度的时间信息,以实现有效的动作识别。我们的TDN的核心是通过明确地利用时间差分算子来设计一个有效的时间模块(TDM),并系统地评估其对短期和长期运动建模的影响。为了完全捕获整个视频的时间信息,我们的TDN建立了一个两级差分建模范式。具体来说,对于局部运动建模,使用连续帧的时间差为二维cnn提供更精细的运动模式,而对于全局运动建模,采用片段间的时间差来捕捉运动特征激励的远程结构。 TDN提供了一个简单而有原则的时间建模框架,并且可以以少量的额外计算成本与现有的cnn进行实例化。
我们的TDN在V1和V2数据集上提出了一种新的新技术状态,并与动力学-400数据集上的最佳性能相当。此外,我们进行了深入的消融研究,并绘制了我们的TDN的可视化结果,希望能对时间差异建模提供深刻的分析。

1. Introdution

时间建模对于捕捉视频中的动作信息进行动作识别至关重要,在目前的深度学习方法中,这通常通过两种机制来实现。

  • 一种常见的方法是使用双流网络[29],其中一种流在RGB帧上来提取外观信息,另一种方法是利用光流作为输入来捕获运动信息。

[29] Karen Simonyan and Andrew Zisserman. Two-stream convolutional networks for action recognition in videos. In NIPS, pages 568–576, 2014. 1, 2

  • 另一种替代方法是使用三维卷积[12,31]或时间卷积[33,41,25]来隐式地从RGB帧中学习运动特征。

[12] Shuiwang Ji, Wei Xu, Ming Yang, and Kai Yu. 3d convolutional neural networks for human action recognition. In ICML, pages 495–502, 2010. 1, 2
[31] Du Tran, Lubomir Bourdev, Rob Fergus, Lorenzo Torresani, and Manohar Paluri. Learning spatiotemporal features with 3d convolutional networks. In ICCV, pages 4489–4497,2015. 1, 2, 9
[33] Du Tran, Heng Wang, Lorenzo Torresani, Jamie Ray, Yann LeCun, and Manohar Paluri. A closer look at spatiotemporal convolutions for action recognition. In CVPR, pages 6450–6459, 2018. 1, 2, 6, 7, 8, 9
[25] Zhaofan Qiu, Ting Yao, and Tao Mei. Learning spatiotemporal representation with pseudo-3d residual networks.ICCV, pages 5534–5542, 2017. 1, 2, 9

然而,三维卷积在时间维度上往往缺乏具体的考虑,也可能带来更高的计算成本。因此,设计一个有效的高运动建模能力、低计算量的时间模块仍然是视频识别的一个具有挑战性的问题。
本文旨在通过引入一个基于时间差异的模块(TDM),提出一种新的时间建模机制。目标是通过将一个时间差异的概念推广为端到端网络的一个有原则和有效的时间模块设计,来共同捕获外观和运动信息。此外,我们认为,短期和长期的时间信息对于动作识别都是至关重要的,因为它们能够捕捉到一个动作实例的独特和互补的属性。因此,在我们提出的时间建模机制中,我们提出了一种独特的基于整体和稀疏采样策略的两级时间建模框架,称为时间差异网络(TDN)。具体来说,在TDN中,我们考虑了两种有效的不同尺度的运动建模形式。对于局部运动建模,我们提出了一个轻量级和低分辨率的差分模块,通过横向连接为单个RGB提供运动模式,而对于远程运动建模,我们提出了一个多尺度和双向的差分模块来捕获运动激励的跨段变化。系统地将这两种TDMs作为模块化构建块进行短期和长时间结构提取。
文章主要贡献如下:

  • 我们推广了RGB差分的思想,设计了一个有效的时间差分模块(TDM),用于视频中的运动建模,并通过系统地提出有效和详细的模块设计,提供了一种三维卷积的替代方案。
  • 我们的TDN提出了一个视频水平的时间差异模块的运动建模框架,重点是捕捉短期和长期的时间结构用于视频识别。
  • 我们的TDN在动力学和一些东西的数据集上获得了在使用相同的主干设置下的最新的性能。我们还对TDM进行了深入的消融研究,为我们的时间差异建模提供一些见解。

2. Related Work

  • 短时间建模(Short-term temporal modeling)
    two-stream CNNs[29]或其变体[7]:它使用RGB和光流的两个输入来分别模拟后期融合视频中的外观和运动信息;
    3D-cnns[31,12]:它提出了三维卷积和池化来直接从视频中学习时空特征。一些变体试图通过将三维卷积分解为二维卷积和一维时间卷积来降低三维卷积的计算成本,例如R(2+1)D[33]、S3D[41]、P3D[25]和CT-Net[16]。
    根据这一研究思路,一些工作专注于设计更强大的时间模块,并将其插入到2DCNN中,以实现有效的动作识别,如TSM[19]、TIN[28]、TEINet[20]、TANet[21]和TEA[18]。
    此外,一些方法试图利用两个流网络的想法来设计一个多分支架构捕获外观和运动或上下文信息,与精心设计的时间模块或两个RGB输入采样在不同的FPS,包括Non-local Net[39],ARTNET[36] ,STM[13],SlowFast[6]和 CorrelationNet[35]。最近的一些作品尝试了网络架构搜索视频识别。这些作品都是基于剪辑的架构,重点是通过学习整个视频的一小部分(例如,64帧)来进行短期运动建模。
  • 长期时间建模(Long-term temporal modeling)
    基于短片段的网络无法捕捉到长期的时间结构。我们提出了几种方法来克服这一限制,即用RNN[24,3]或长时间卷积[34]叠加更多的帧,或使用稀疏采样和聚合策略[38,44,42,9,18]。在这些方法中,temporal segment network(TSN)[38]是一种有效的远程建模框架,并在多个基准测试上获得了2D神经网络的最新性能。然而,带有2Dcnn的TSN仅在最后一阶段进行了时间融合,未能捕捉到更精细的时间结构。StNet[9]提出了一个局部和全局模块来分层建模时间信息。V4D[42]扩展了TSN框架,提出了一个有原则的四维卷积算子来聚合来自不同阶段的远程信息。
  • 时间差异表示(Temporal difference representation)
    时间差操作出现在之前的一些运动提取工作中,如RGB差[38,43,23]和特征差[20,13,18]。RGB差是光流的有效替代方式。然而,他们只用另一种视频方式不同对待RGB,并训练一个单独的网络与RGB流融合。TEINet[20]、TEA[18]和STM[13]的工作对网络设计采用了不同的操作。然而,这两种方法只是使用了一个简单的差分算子进行单级运动提取,比三维卷积受到的研究关注较少。
    与现有的方法不同,我们提出的时间差网络(TDN)是一种视频级体系结构,可以捕获短期和长期信息,用于端到端的动作识别。我们的关键贡献是引入了一个时间差异模块(TDM)来显式地计算运动信息,并有效地将其利用到我们的两级运动建模范式中。我们希望改进和推广这些基于时间差异的建模替代方案,它们在两个流量较小的基准测试上通常优于3D卷积。

3. Temporal Difference Networks

3.1. Overview

在这里插入图片描述
如上图所示,我们提出的时间差分网络(TDN)是一个利用整个视频信息用于学习动作模型的视频级框架。由于GPU内存的限制,遵循TSN框架[38],我们对每个视频提出了一个稀疏和整体的采样策略。我们的关键贡献是利用时间差算子进入网络设计,以明确地捕获短期和长期的运动信息。效率是我们在时间差异模块(TDM)设计中的核心考虑因素,我们研究了两种特定的形式来分别完成在局部窗口中的运动补充任务和在不同部分中的运动增强任务。这两个模块通过一个残差被合并到主网络中。

具体来说,每个视频V被分成等持续时间的T段,不重叠。我们从每个片段中随机抽取一帧,并完全得到 T T T帧, I = [ I 1 , . . . , I t ] I= [I_1, ... ,I_t] I=[I1,...,It],I的形状是 [ T , C , H , W ] [T,C,H,W] [T,C,H,W],这些帧被分离输入到2DCNN中,提取帧级特征 F = [ F 1 , . . . , F T ] F=[F_1, ..., F_T] F=[F1,...,FT],其中 F F F表示隐藏层中的特征表示,其维度为 [ T , C ′ , H ′ , W ′ ] [T,C',H',W'] [T,C,H,W]

短期TDM旨在为早期层的这些帧级表示F提供局部运动信息,以提高其表示能力:
在这里插入图片描述
其中Fˆi表示TDM的增强表示,H表示我们的短期TDM,它从 I i I_i Ii周围的相邻帧中提取局部运动。
长期TDM旨在利用跨段时间结构来增强帧级特征表示:
在这里插入图片描述
其中G表示我们的长期TDM,在当前的实现中,我们只考虑每个长期TDM中的长期时间建模的相邻段级信息。通过堆叠多个长期TDM,我们能够捕获一个长尺度上的时间结构。

3.2. Short-term TDM

我们认为相邻帧在局部时间窗口中非常相似,直接堆叠多个帧进行后续处理是低效的。另一方面,从每个窗口中采样一帧可以提取外观信息,但不能捕获局部运动信息。因此,我们的短期TDM选择提供一个具有时间差异的单一RGB帧,以产生一个有效的视频表示,显式地编码外观和运动信息。
在这里插入图片描述
具体来说,我们的短期TDM运行在网络的早期层进行低级特征提取,并使单帧RGB通过融合时间差异信息来感知局部运动
对于每一个采样帧 I i I_i Ii,我们在一个以 I i I_i Ii为中心的局部窗口中提取几个时间RGB差异,然后沿着通道维度堆叠 D ( I i ) = [ D − 2 , D − 1 , D 1 , D 2 ] D(I_i)=[D_{-2}, D_{-1}, D_{1}, D_{2}] D(Ii)=[D2,D1,D1,D2]
在这里插入图片描述

其中,D表示 I i I_i Ii周围的RGB差值,CNN是不同阶段的特定网络。为了保持效率,我们设计了一个轻量级的CNN模块来操作堆叠的RGB差D( I i I_i Ii)。它通常遵循一个低分辨率的处理策略:

  • 使用平均池化将样本RGB差异下采样一半。
  • 用2DCNN提取运动特征。
  • 上采样的运动特性,以匹配RGB特性。

这种设计来自于我们的观察,即RGB差异在大多数区域表现出非常小的值,并且只在运动突出区域包含高响应。 因此,对于这种稀疏信号,使用低分辨率的架构就足够了,而无需造成太多的精度损失。
将短期TDM的信息与单个RGB帧进行融合,使原始帧级表示能够感知运动模式,能够更好地描述局部时间窗口。我们用横向连接(lateral connections) 来实现这种融合。我们为每个早期阶段(即我们的实验中的第1-2阶段)附加了一个从短期TDM到帧级表示的融合连接。在实践中,我们也比较了残余连接与其他融合策略的对比。

3.3. Long-term TDM

配备了短期TDM的帧级表示对于捕获局部段(窗口)内的时空信息非常强大。然而,这种表征在时间接受域方面是有限的,因此无法探索学习行动模型的长期时间结构。因此,我们的长期TDM试图利用跨段信息,通过一种新的双向和多尺度的时间差异模块来增强原始表示。
除了效率之外,远程帧之间空间位置的缺失对齐是另一个问题。因此,我们设计了一个多尺度的架构,在差异计算之前,在大的接受域平滑差异。
在这里插入图片描述
首先将特征维数与r进行卷积压缩效率,并通过相邻段计算对齐的时间差:
在这里插入图片描述
其中C(Fi,Fi+1)表示段Fi的对齐时间差,Conv是空间平滑的通道级卷积,从而缓解了错位问题。
然后,将对齐的时间差通过多尺度模块进行长程运动信息提取:
在这里插入图片描述
其中不同空间尺度的CNNj是从不同感受野提取运动信息,实践中的N=3,它们的融合可能对缺失对齐问题更加稳健。在实现过程中,它涉及到三个分支:

  • 短链接(short connection)
  • 3×3卷积(3×3 convolution)
  • 平均池化,一个3×3卷积,和一个双线性上采样(a average pooling, a 3×3 convolution, and a
    bilinear upsampling)
3.4. Exemplar: TDN-ResNet

如上所述,我们的TDN框架是基于TSN[38]的稀疏采样,它运行在整个视频中均匀分布的一系列帧上。我们的TDN提出了一种两级运动建模机制,重点是以局部-全局的方式捕获时间信息。特别是,我们在早期阶段插入短期TDMs(S-TDM),以进行更精细和更低水平的运动提取,将长TDMs(LTDM)插入后期阶段,以进行更粗和更高级的时间结构建模
我们用ResNet backbone[10]实例化我们的TDN。根据V4D[42]的实践,ResNet的前两个阶段是使用S-TDMs提取每个片段内的短期时间信息,ResNet的后三个阶段配备了L-TDMs,用于捕获跨片段的长期时间结构。对于局部运动建模,我们在阶段1和阶段2中添加了S-TDM和主网络之间的残差连接。对于长期的运动建模,我们在第3-5阶段的每个残差块中添加了L-TDM和一个时间卷积。在实践中,最终的TDN-ResNet只比原来的2DTSN-ResNet增加了大约9%。

4. Experiments

4.1. Datasets and implementation details

Video datasets. 我们在两个视频数据集上评估我们的TDN,这些数据集关注识别动作实例的不同方面。
Kinetics-400 [15]是一个大规模的YouTube视频数据集,有大约30万k的修剪视频,涵盖400个类别。动力学数据集包含日常生活中的活动,一些类别与交互的对象或场景上下文高度相关。我们在训练数据(大约24万个视频)上训练TDN,并在验证数据(大约2万视频)上报告性能。
Something-Something [8]是一个由众包创建的大规模数据集。这些视频是通过对不同的对象执行相同的动作来收集的,因此动作识别应该集中在运动属性上,而不是物体或场景上下文。第一个版本包含超过174个类别的约100k个视频,而第二个版本包含更多的视频,包含训练集约169k个视频,验证集约25k个视频。
Training and testing. 在实验中,我们使用ResNet50和ResNet101来实现我们的TDN框架,并从每个视频中采样T=8或T=16帧。按照常见的实践[6,39],在训练过程中,每个视频帧被调整为在[256,320]中有更短的边,并随机裁剪224×224。我们在ImageNet数据集[2]上对TDN进行了预训练。批处理大小为128,初始学习率为0.02。总训练期在 Kinetics dataset中设置为100,在Something-Something数据集中设置为60。当验证集的性能饱和时,学习率将除以10倍。为了进行测试,每个视频的短边会被调整到256。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

K_K_Chen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值