AAAI 时间交错网络 | ICCV19多标签视频理解冠军方案

时间:2024-04-13 07:21:52

AAAI 2020 时间交错网络 | ICCV19多标签视频理解冠军方案

本文主要介绍三个部分:

  • 一个高效的 SOTA 视频特征提取网络 TIN,发表于 AAAI 2020

  • ICCV19 MMIT 多标签视频理解竞赛冠军方案,基于 TIN 和 SlowFast

  • 一个基于 PyTorch,包含大量视频理解 SOTA 模型的代码库 X-Temporal

本文将介绍一种用于行为识别的时间交错网络(TIN temporal interlacing network)。该网络想较当前 SOTA 的基础上,在实现 6 倍加速的同时,还多个评测数据集上获得了 4% 的提升。

同时该方法作为主力方法,在 2019 年的 ICCV Multi Moments In Time challenge 中取得了冠军

Leaderboard:

http://moments.csail.mit.edu/results2019.html

我们还 release 了一个基于 PyTorch 的开源动作识别代码库 X-Temporal,希望可以进一步推动动作识别社区的发展。

AAAI 2020 时间交错网络 | ICCV19多标签视频理解冠军方案

作者信息

本文工作由港中文 MMLab、清华大学与商汤研究院 X-Lab 联合出品,具体内容如下: 

AAAI 2020 时间交错网络 | ICCV19多标签视频理解冠军方案

AAAI 2020 时间交错网络 | ICCV19多标签视频理解冠军方案

AAAI: https://arxiv.org/abs/2001.06499

Solution: https://arxiv.org/abs/2003.05837

Github: https://github.com/Sense-X/X-Temporal

 

AAAI 2020 时间交错网络 | ICCV19多标签视频理解冠军方案

简介

 

行为识别,是计算机视觉领域长期关注的问题,在视频理解、行为检测、手势识别等领域都有着广泛的应用。领域内之前的的工作主要集中在使用卷积神经网络和各种时序模型(例如光流法,循环神经网络和 3D 卷积)相结合的方式学习时空特征。

然而由于这些框架需要交替地学习时间和空间特征,使得它们需要消耗大量的计算资源和时间成本。能稳定提高模型性能的光流法需要用到的光流信息抽取非常耗时,几乎不可能用于实时计算。

由此,我们自然而然的产生了一个疑问:那就是我们能否将时间信息嵌入到空间信息中,以便可以一次同时联合学习两个域中的信息。

AAAI 2020 时间交错网络 | ICCV19多标签视频理解冠军方案

本文提出了一个简单而强大的模块-时序交错网络(Temporal Interlace Network)来尝试解决这个问题。TIN 不学习时间特征,而是通过交错过去到未来以及未来到过去的空间特征来融合时-空信息。

 

一个可微分的子模块可以计算出交错时的特征在时序维度上的偏移量,同时可以依据偏移量来将特征重新进行交错排列,使每组特征在时间维度上位移不同的距离。

从而用便捷快速的特征位移操作替代了 3D 卷积来实现相邻帧的信息交换。这使网络的参数量和计算量远低于普通 3D 卷积网络,使网络整体变得相当轻量化。在文中我们也从理论上证明了可学习的时序交错模块本质上等同于受约束的时序卷积网络。

 

AAAI 2020 时间交错网络 | ICCV19多标签视频理解冠军方案

算法详情

时序交错网络的框架如图二所示,该框架主要由偏移预测网络,权重预测网络和可微时序移动模块组成。其整体将作为一个模块插入到 Resnet 的卷积层之前。

对于整个输入的 Feature Map,我们先将其 3/4 的 channel 对应的特征固定住,再将余下 1/4 的特征沿着 channel 维度分为 4 组,每组会应用不同的偏移量。

AAAI 2020 时间交错网络 | ICCV19多标签视频理解冠军方案

其中偏移预测网络主要负责预测出其中两组沿着 T 维度的偏移量,然后剩下两组的偏移量是前两组的相反值。这样我们可以保证信息在时序维度上的流动是对称的,更有利于后续特征的融合。

 

权重网络主要负责预测融合后时序维度上特征的权重。如果原始输入是 8 帧,该网络便会为每组输出 8 个值分别代表每一帧的权重然后会直接用此值来加权融合过后每一帧的 feature。

我们也同时发现位于两端的帧所预测的权重大多会比较低,这里我们的猜想是两端的帧的特征在沿着时序移动时由于一边没有其他帧会损失掉一部分,因此导致了网络给他们一个较低的权重来弥补信息损失带来的影响。

 

可微时序移动模块的框架如图三所示,它可以将各组按 channel 维度切分出来的特征沿着时间维度移动任意个单位。其实现方式主要是通过一维线性差值实现的。其中我们还采用了时序扩展技术,以保证偏移之后位于视频之外的特征不为空。

 

举个例子,原本位于 T=0 的特征在向前偏移 0.5 个单位后便位于 T=-0.5 的位置,该位置理论上是不存在特征的,但我们通过假设 T=-1 位置的特征全为 0 使位于 -0.5 的位置取到了特征,也即 Feature(T=-0.5) = ½(Feature(T=-1) + Feature(T=0))。

AAAI 2020 时间交错网络 | ICCV19多标签视频理解冠军方案

 

AAAI 2020 时间交错网络 | ICCV19多标签视频理解冠军方案

实验

 

表一对比了在 Something-Something v1 数据集上 TIN 与其他主流模型的性能。在测试性能时每个视频均只采用 1 Crop 进行测试,且分辨率和训练时保持一致。

AAAI 2020 时间交错网络 | ICCV19多标签视频理解冠军方案

AAAI 2020 时间交错网络 | ICCV19多标签视频理解冠军方案

可视化结果

 

图五将网络学习得到 offset 和 weight 进行了可视化分析。从 offset 的可视化结果我们可以发现在浅层网络中的偏移量非常小,在网络逐渐变深的过程中学习到的偏移量才逐渐变大。

我们认为浅层的神经网络主要学习 2D 空间特征,在较深的网络中才开始逐渐学习时序维度特征,这和之前 3D 卷积网络中得到的结论是类似的。

AAAI 2020 时间交错网络 | ICCV19多标签视频理解冠军方案

AAAI 2020 时间交错网络 | ICCV19多标签视频理解冠军方案

基于TINICCV MMIT比赛方案

在 ICCV19 MMIT 多标签视频理解竞赛中,我们将 TIN 与 SlowFast 算法进行融合,取得了 ICCV multi-moments in time challenge 竞赛的冠军成绩。

ICCV MMIT 多标签视频理解比赛旨在对3s短视频中内的动作进行理解。其包含超过 100 万段视频,并标记了超过 200 万个动作标签,是目前最大规模的视频理解挑战。巨大的数量与类别,对计算机算法提出了严苛的要求。

 

我们对 2D 与 3D 方法均进行了广泛的尝试。3D 方法以 SlowFast 网络及其变种为主,包括单纯的 slow 分支,时域密集的 fast 分支,以及原版的 SlowFast。

结果下表所示,时域密集的 fast 分支(32*2)取得了最高的单模型成绩。我们还发现,测试阶段的多尺度以及密集采样可以大幅提高算法性能。

AAAI 2020 时间交错网络 | ICCV19多标签视频理解冠军方案

2D 方法以我们的方法 TIN,我们也尝试了 TSN, TSM 等方法,结果如下表所示,TIN 大幅的提高了动作识别的准确度,在将 TIN 与 3D 方法进行融合后,我们在验证集上取得了 67.22mAP 的成绩,在测试集上取得了 60.77mAP 的成绩,名列第一(Leaderboard)。

AAAI 2020 时间交错网络 | ICCV19多标签视频理解冠军方案

AAAI 2020 时间交错网络 | ICCV19多标签视频理解冠军方案

AAAI 2020 时间交错网络 | ICCV19多标签视频理解冠军方案

X-Temporal代码库介绍

在上述算法和竞赛的准备过程中,遇到的一个困难是缺乏一个基于 PyTorch 并广泛支持众多 SOTA 方案且具有高效训练能力的视频理解代码库。为此,我们开发了 X-Temporal repo。其具有以下特征:

  1. 支持数据集广泛,并可处理多分类数据集。包括 UCF101, Hmdb51, Jester, Kinetics-600, Kinetics-700, Moments in Time , Multi Moments in Time, Something v1, Something v2 等。

  2. 同时支持处理原视频在线抽帧和抽帧后的图片作为输入,支持多种解码方案。

  3. 提供了最新最全的通用视频分类主流方法的实现,包括 2D 方法(TSN, TSM, TIN)和 3D 方法(SlowFast, ResNet-3D, R(2+1)D), 并在多个数据集取得了 SOTA 的性能(包含我们在 ICCV19 MMIT 竞赛第一名的所有 model)。

  4. 模块化设计使易于添加新的 2D 或者 3D 模型。

  5. 对部分模型编写了 CUDA Operator,大幅提高了其性能。

  6. 我们后续会提供基于该库的 Model Zoo,方便用户进行 Pretrain 等操作。

代码库现已开源:

https://github.com/Sense-X/X-Temporal

AAAI 2020 时间交错网络 | ICCV19多标签视频理解冠军方案

点击以下标题查看更多往期内容: 

AAAI 2020 时间交错网络 | ICCV19多标签视频理解冠军方案

#投 稿 通 道#

 让你的论文被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学习心得技术干货。我们的目的只有一个,让知识真正流动起来。

???? 来稿标准:

• 稿件确系个人原创作品,来稿需注明作者个人信息(姓名+学校/工作单位+学历/职位+研究方向) 

• 如果文章并非首发,请在投稿时提醒并附上所有已发布链接 

• PaperWeekly 默认每篇文章都是首发,均会添加“原创”标志

???? 投稿邮箱:

• 投稿邮箱:[email protected] 

• 所有文章配图,请单独在附件中发送 

• 请留下即时联系方式(微信或手机),以便我们在编辑发布时和作者沟通

????

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

AAAI 2020 时间交错网络 | ICCV19多标签视频理解冠军方案

AAAI 2020 时间交错网络 | ICCV19多标签视频理解冠军方案