©作者|童湛
学校|南京大学硕士生
研究方向|视频理解

本文将介绍我们组 NJU-MCG 在行为识别(Action Recognition)领域被 CVPR 2021 接收的一篇工作。

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

任务介绍

动作识别(Action Recognition):对给定剪裁过视频(Trimmed Video)进行分类,识别这段视频中人物的动作。目前的主流方法有 2D-based(TSN, TSM, TEINet, etc.)和 3D-based(I3D, SlowFast, X3D)。
动作识别作为视频领域的基础任务,常常作为视频领域其他 high-level task/downstream task 的 backbone,去提取 video-level or clip-level 的视频特征。

研究动机

目前 3D-based 的方法在大规模的 scene-based 的数据集(如 kinetics)上相对于 2D 的方法取得了更好的效果,但是 3D-based 也存在一些明显的问题:
  • 3D-based 的网络参数量大,计算开销大,训练的 scheduler 更长,inference latency 明显慢于 2D-based 的方法。
  • 3D 卷积其实并不能很好得学到时序上信息的变化,而且 3D 卷积学出来的时序 Kernel 的 weight 的分布基本一致,更多的还是对时序上的信息做一种  smooth aggregation。这一点在我们组之前的工作 TANet [1] 中有比较详细的讨论,大家有兴趣也可以参考这篇 TANet [2] 的解读文章。也基于此,3D-based 的网络在 Something-Something 这种对时序信息比较敏感的 video 数据集上并不能取得很好的效果(得靠 Kinetics 的 pre-train来提点 :)
基于以上几点,我们组最近一直在探索更高效的 2D-based 的时序建模方法,提出了包括 TSN,TEINet,TEA,TAM 等轻量级的时序 video backbone。
我们今天要介绍的这篇工作 TDN 的研究动机也很直接明了:我们能不能将时序上运动的变化显式得提取出来然后加入到网络中呢?
最早在 14 年 VGG 就提出了大名鼎鼎的 Two-Stream [3] 网络,通过将光流(Optical Flow)信息做为输入去提取时序上的运动信息。但是 Two-Stream 网络需要两个独立分离的 Backbone,计算量直接翻倍,而且提取光流也需要巨大的计算开销。
所以我们提出了 Temporal Difference Network(TDN)这种结构,尝试通过 Difference 这种简单的操作去强制提取出时序信息中运动的变化,然后补充到正常的 RGB 网络中去,在不增加过多的计算量的前提下去更高效得进行时序建模。
下面简单介绍一下我们的方法和实验结果。

具体方法

▲ TDN 的整体结构图
我们的 TDN 是一个 Two-level 的结构,其主要包含短时和长时两个模块——Short-term temporal difference module(S-TDM)和 Long-term temporal difference module(L-TDM)
▲ S-TDM 和 L-TDM 的网络结构
短时建模(S-TDM):首先,我们还是参考 TSN 的采样方式,在整个 Video-level 上均匀分段(segment)进行采样。在网络的前一个阶段,我们希望可以在段内融合局部的运动变化信息,所以我们提取原始 RGB 帧间的 difference 作为局部运动变化的一种表征,然后 CNN 去进一步提取这种运动信息,具体公式如下:

长时建模(L-TDM):相对于之前 S-TDM 的段内 frame-wise 形式的时序建模,在网络的后一个阶段,我们希望可以对段间的运动变化信息进行增强,去放大运动增强。所以我们参考 TEINet 的形式,设计了一种基于 feature-difference 的通道 attention 增强方法。同时,为了提升最后的效果,我们还增加了 multi-scale 和 bidirectional 的结构。这部分的具体公式如下:

实验结果

这里我们列出 Kinetics-400 和 Something-Something V1 和 V2 上的实验结果,对 TDN 进行分析与验证。
▲ 在 Something-Something V1 上,TDN 与其他 SOTA 方法在计算量和精度上的对比
▲ 在Something-Something V1和V2数据集上,TDN与其他方法的比较
在 Something-Something V1 和 V2 这种对时序运动信息敏感的数据集上,TDN 取得了56.8%(Sth V1)和68.2%(Sth V2)的 Top-1 精度(one-clip, center-crop testing scheme),明显超出了之前的所有方法,取得新的 state-of-the-art。
▲ 在Kinetics-400数据集上,TDN与其他SOTA方法进行比较。
上表列出了 TDN 在 Kinetics-400 数据集上与其他 SOTA 方法进行比较。由于 Kinetics 是一种 scene-based 的数据集,所以时序上运动信息的变化不如 Something-Something 敏感和重要。
但是在计算量较低的条件下,TDN 仍能取得了非常有竞争力的效果,Top-1 精度基本与目前 3D-based 的方法(SlowFast, X3D)的最好结果持平,同时我们还取得了最高的 Top-5 精度(94.4%)(ten-clip, three-crop testing scheme)。

讨论

其实在 Kinetics-400 数据集上,3D-based 方法采用的 dense 采样的方式,只能关注到整个视频的一小段 clip,而 TDN 参考 TSN 进行全局稀疏的采样,可以进行 video-level 的时序建模。从 one-clip, center-crop 这种单个view改为 ten-clip, three-crop 这种30 个 view的测试方法,3D-based 方法会有 8-10 个点的提升,TDN 只有 2-3 个点的提升。
但反过来,在单个 view 的 testing scheme 下,TDN 结果将会大幅度领先于 3D-based 方法。而这种单个 view 的采样方式能够在极低的计算代价下,取得比较好的结果,在工业界的现实场景下也更加实用和有意义。

总结

针对视频数据在时序上的动态特性,我们提出了一种高效的时序差分网络(Temporal Difference Network, TDN),通过 Difference 这种简单的操作,去显式得提取出视频中复杂精细的运动变化,在不增加过多的计算量的前提下去更高效得进行时序建模,并且我们通过实验在各个数据集上证明了 TDN 效果。更多方法中的细节,Ablation study 和实验可视化可以参考我们的论文。
参考文献
[1] https://arxiv.org/abs/2005.06803
[2] https://zhuanlan.zhihu.com/p/150147794
[3] https://arxiv.org/abs/1406.2199
更多阅读
#投 稿 通 道#
 让你的论文被更多人看到 
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。
📝 来稿标准:
• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向) 
• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接 
• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志
📬 投稿邮箱:
• 投稿邮箱:[email protected] 
• 所有文章配图,请单独在附件中发送 
• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通
🔍
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
关于PaperWeekly
PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。
继续阅读
阅读原文