SlowFast Networks for Video Recognition

摘要

我们提出了用于视频识别的SlowFast网络,模型包括:(i)以低帧速率的慢速路径来捕获空间语义;(ii)以高帧速率的快速路径来捕获精细时间分辨率的运动。快速路径可以通过减少通道容量而变得非常轻量级,并且可以学习有用的时间信息用于视频识别。我们的模型在视频中的行为分类和检测方面都取得了很好的性能,并且我们的SlowFast概念也有很大的改进。我们在没有使用任何预训练的情况下,得到Kinetics数据集的准确率为79.0%,AVA数据集的mAP为28.2%。

1 引言

在图像识别I(x,y)中,通常对两个空间维度x和y进行对称处理。这通过自然图像的统计数据证明是合理的,自然图像是各向同性的,即所有方向都是相同的,并且是位移不变的[41,26]。但是视频信号I(x,y,t)呢?运动是方向的时空对应物[2],但所有时空方向的可能性并不相同,慢速动作比快速动作更有可能发生(事实上,我们看到的大多数世界都在某个特定时刻处于静止状态),这一点在贝叶斯描述人类如何感知运动刺激时得到了利用[58]。例如,如果我们看到一个孤立的移动边缘,我们认为它是垂直于自身移动的,即使在原则上它也可能有一个与自身相切的任意运动分量(光流中的孔径问题)。特别是对于慢速动作,这个感知是合理的。

如果所有时空方向的可能性都不一样,那么我们就没有理由像基于时空卷积的视频识别方法(理解:用三维卷积核处理视频的3-Dimensional Convolution方法)所隐含的那样,对称地对待空间和时间。相反,我们可以将架构进行“分解”以单独处理空间结构和时间事件。具体来说,让我们从认知的角度来研究这个问题。一方面,视觉内容的分类空间语义通常发展缓慢,例如,在挥手动作的范围内,挥手不会改变其作为“手”的身份,即使一个人可以从步行过渡到跑步,他/她也始终属于“人”类别。因此分类语义(以及它们的颜色、纹理、光照等)的识别可以相对缓慢地刷新。另一方面,正在执行的动作可以比其主体身份更快的发展,比如拍手、挥手、摇晃、行走或跳跃,可以期望使用快速刷新帧(高时间分辨率)来有效地建模潜在的快速变化运动。

基于这一直觉,我们提出了一个用于视频识别的双路径SlowFast模型(图1)。其中一条路径被设计用来捕获图像或少量稀疏帧所提供的语义信息,它以较低的帧速率和较低的刷新速度运行。相反,另一条路径负责捕捉快速变化的运动,它以快速刷新速度和高时间分辨率运行。尽管该路径的时间速率很高,但它非常轻量级,大约占总计算量的20%。这是因为该路径被设计为具有较少的通道和较弱的处理空间信息的能力,而语义信息可以由第一路径以较少冗余的方式提供。我们称第一个为慢速路径,第二个为快速路径,由它们不同的时间速度驱动,这两条路径通过横向连接而融合。

总结:自然图像里空间维度x轴和y轴两个方向具有相同的可能性,但视频里,并不是所有的时空方向都有相同的可能性,慢动作比快动作的可能性大。因此就不应该对称的看待空间和时间,所以使用了两个分支来分解处理。

2 模型架构

在这里插入图片描述
网络架构如图所示。图例是一个人在挥手, 原视频里既有相对静止的画面(自始至终挥手的主体是人,场景是室内的沙发),也有快速的动作(挥手)。类别(“人”这个类别,“沙发”这个类别)的空间语义变化很缓慢,类别的识别是“慢速”刷新的;而执行的动作(挥手)速度比其主体识别的速度要快得多。这样快速变化的动作需要“快速”刷新。

其主要的工作流程大致如下所示:

step1:用快慢两种速率采样输入视频;
step2:采样后的视频帧对应输入到Slow/Fast两个分路;
step3:Slow分路使用ResNet 2D Conv + 3D Conv提取视频空间语义特征,size {T,S²,C};
step3:同时Fast分支使用ResNet 3D Conv提取视频时域运动特征,size{αT,S²,βC},其中α>1,β<1;
step4:横向连接统一两个分路的特征;
step5:Softmax进行分类。

3 SlowFast网络

SlowFast网络可以被描述为以两种不同帧速率工作的单流架构,但是我们使用路径的概念来源于与生物小细胞和大细胞的类比。我们的通用架构有一个慢速路径(Sec. 3.1)和快速路径(Sec. 3.2),连接组成了SlowFast网络(Sec. 3.3)

Slow Pathway:
Slow pathway 可以使任何一种可以在一段剪辑过得视频上工作的时空卷积模型,重点在于T , γ
γ是采样步长,即将原始视频按照该步长取样,一般取16, 即16帧取一张关键帧,
T 是采样次数,即一共采样多少次。
所以慢通道的一次输入总帧数为T × γ

Fast Pathway:
与之平行的Fast pathway拥有以下属性:

  1. 高帧率(High frams rate)
  2. 高时间分辨率特征(High temporal resolution)
  3. 较低的通道容量(low channel capacity)
    第一点:
    α 是 帧 采 样 倍 数 , β 是 通 道 倍 数
    对于快通道来说,他的采样步长是 γ α \frac {γ} {α} αγ ,采样次数是α T
    第二点:
    除了输入是时间高分辨的输入,对于时间特征我们也是使用的高分辨。
    从始至终在fast中,我们使用的都是不降低时间采样率的层(而不是时间池化或者时域跨度卷积)
    第三点:
    fast的卷积核个数是慢通道的 1 β \frac {1} {β} β1倍,较小的卷积核降低了其在空间语义上的表达能力,但是却提高了它在时域上的表达能力,这正是Fast通道所要做的,同时它在论文中也提到了根据实验的进行,使用各种方式减少fast通道中空间语义的表达也能带来准确率的提升:
    在这里插入图片描述

侧向链接
侧向链接主要是用来融合不同通路的时间与空间的语义信息的,他经常被用于上面所提到的基于双流和光流的结构。
它被应用于两条通路的每一层上,尤其是Resnets的pool1, res2, res3, and res4.这些链接紧随其后。链接是单向的,从fast流融合进Slow流,测试过双流结构,但是效果差不多。

对于侧向链接:
特征图的形状可以写作:
Slow pathway as{T, S 2 S^2 S2,C},
Fast pathway is{αT, S 2 S^2 S2,βC}.
他们采用了一下三种方案:
1、将所有的a帧打包到一帧中:
在这里插入图片描述
2、从每个a帧中随机采样一帧:
在这里插入图片描述
3、使用2βC输出通道和stride=α 执行 5 × 1 2 5×1^2 5×12核的3D卷积:
在这里插入图片描述
最后发现,是第三种方法最好。

4 实例化

我们的SlowFast思想是通用的,它可以用不同的骨干网络(例如[45,47,24])和实现细节来实例化。在本小节中,我们将描述网络体系结构的实例。
表1中展示了一个示例的SlowFast模型,我们用 T × S 2 T×S^2 T×S2表示时空尺寸,其中T 是时间长度,S 是高度和宽度,下面将描述详细信息。

在这里插入图片描述
慢速路径

表1中的慢速路径是从文献[12]修改得到的时间跨度3D ResNet。它有T = 4 帧作为网络输入,从具有时间步幅τ = 16的64 帧原始剪辑中稀疏采样。我们在这个实例中不执行时间下采样,因为这样做在输入步幅较大时是有害的。
与典型的C3D/I3D模型不同,我们仅在 r e s 4 res_4 res4 r e s 5 res_5 res5中使用non-degenerate时间卷积(时间核大小>1,在表1中加下划线); c o n v 1 conv_1 conv1 r e s 3 res_3 res3的所有滤波器本质上都是该路径中的2D卷积核。这是基于我们的实验观察,在早期层使用时间卷积会降低准确性。我们认为,这是因为当物体快速移动且时间步幅较大时,除非空间感受野足够大(即在后面的层中),否则时间感受野几乎没有相关性。

快速路径

表1显示了α = 8 和β = 1 / 8 的快速路径的示例,它具有更高的时间分辨率(绿色)和更低的通道容量(橙色)。
快速路径在每个block中都有non-degenerate时间卷积。这是因为快速路径具有很好的时间分辨率,能够利用时间卷积捕捉详细的运动。此外,快速路径没有时间下采样层。

实验
实验结果主要是下边几部分:
(1)Kinetics-400数据集SOTA
(2)Kinetics-600新数据集提供了个baseline结果
(3)Fast分支能以很小的代价提高Slow-Only的精度
(4)AVA行为检测

与Two Stream、C3D的区别

(1)与Two Stream方法的区别
对行为识别有一定了解的小伙伴应该知道Two Stream方法采用RGB + Optical flow两个通路来分别提取视频的空间语义特征和运动特征进行行为识别,而本文的SlowFast也是两个通路提取两方面特征进行识别,二者的主要区别有如下几个部分:
a:SlowFast更强调两个分路不同的采样和处理速率,这也是SlowFast的核心思想
b:Two Stream两个分路的backbone是相同的,而SlowFast中的Fast分支更轻量级
c:双流是手工设计的特征,无法端到端学习,而SlowFast可以端到端学习两个分路的所有参数
(2)与C3D系列方法的区别
另一种广泛的行为识别方法是C3D及其改进,C3D采用3D卷积同时提取空域和时域特征,SlowFast中虽然也用到了3D卷积,但和C3D行为识别模型是有区别的:
a:C3D模型将2D卷积扩展到时空域,同时处理空域和时域的信息(默认时域和空域是平等的、对称的),而SlowFast采用和TwoStream类似的想法将空域和时域的处理拆分开,这更符合时域和空域特征的关系(二者不应该像一幅图的x,y那样对称处理)
b:SlowFast中用到了3D卷积,但又不太相同。Slow通路前几层使用2D卷积,后两层才用3D卷积(实验发现比全用3D卷积效果更好);Fast通路每一层都用的是3D卷积,但是各层维持时域维度大小不变,尽可能地保留时域信息(而C3D中是越深的层时域维度越小)。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值