经典重温:FAIR提出SlowFast,用双分支非对称网络处理不同采样率的视频!代码开源!

2021-12-27 16:39:41 浏览数 (2)

本文分享论文『SlowFast Networks for Video Recognition』,FAIR提出《SlowFast》,用双分支非对称网络处理不同采样率的视频!代码已开源!

详细信息如下:

  • 论文链接:https://arxiv.org/abs/1812.03982
  • 项目链接:https://github.com/facebookresearch/SlowFast

导言:

在本文中,作者提出了用于视频识别的SlowFast网络,本文的模型涉及以低帧率运行的Slow pathway,以捕获空间语义,以及以高帧率运行的Fast pathway,以高时间分辨率捕获运动。通过减少通道容量,可以使Fast pathway变得非常轻巧,但可以学习有用的时间信息以进行视频识别。本文的模型在视频中实现了动作分类和检测的强大性能,并且是由于本文的SlowFast概念的贡献而做出了巨大的改进。本文提出的SlowFast网络在多个视频动作识别的benchmark上(Kinetics, Charades and AVA),实现了SOTA的性能。

01

Motivation

在图像I(x,y) 的识别中,习惯将两个空间维度x和y对称地处理。但是在视频信号I(x,y,t) 中,运动是方向的时空对应物,但并非所有的时空取向都是相同的。在现实中,慢速运动比快速运动更有可能。

如果所有时空方向的可能性都不相同,那么我们就没有理由像基于时空卷积的视频识别方法所隐含的那样,对称地对待空间和时间维度。基于这种直觉,作者提出了一种用于视频识别的双路径SlowFast模型 (如上图所示)。

一条路旨在捕获可以由图像或少数稀疏帧给出的语义信息,并且它以低帧率和缓慢的刷新速度运行相反,另一条路负责捕捉快速变化的运动,它以快速刷新率和高时间分辨率运行。Fast pathway的时间分辨率非常高,但是这条路径非常轻量级。这是因为该路径被设计为具有较少的通道和较弱的处理空间信息的能力,而这些信息可以由第一条路径以较少的冗余方式提供。第一条路径称为Slow路径,另一条路径称为Fast路径。这两条通路通过横向连接融合在一起。

本文的方法为视频模型带来了灵活有效的设计。Fast pathway由于其轻量级特性,不需要执行任何时间池化,它可以在所有中间层的高帧率下运行,并保持时间灵活性。同时,由于较低的时间采样率,Slow pathway可以更多地集中在空间域和语义上。通过以不同的时间采样率处理原始视频,本文的方法允许这两条路径在视频建模方面拥有自己的专业知识。

本文的方法部分受到灵长类动物视觉系统中视网膜神经节细胞生物学研究的启发。这些研究发现,在这些细胞中,80% 是小细胞 (P细胞) 和15-20% 是巨细胞 (M细胞)。M细胞在高时间频率下运行,并对快速的时间变化做出响应,但对空间细节或颜色不敏感。P细胞提供清晰的空间细节和颜色,但时间分辨率较低,对刺激反应缓慢。

本文的框架在以下几个方面类似:(1)本文的模型有两条路径,分别在低和高时间分辨率下工作;(2)本文的Fast pathway设计用于捕捉快速变化的运动,但空间细节较少,类似于M细胞;(3)本文的Fast pathway是轻量级的,类似于小比例的M细胞。作者希望这些关系将启发更多的计算机视觉模型用于视频识别。

02

方法

2.1. Slow pathway

Slow pathway可以是任何卷积模型,在视频片段上进行操作。本文的Slow pathway中的关键概念是输入帧上的较大时间步幅 τ,即它仅处理 τ 帧中的一个。将Slow pathway采样的帧数表示为T,原始片段长度为T × τ 帧。

2.2. Fast pathway

与Slow pathway平行,Fast pathway是另一个具有以下性质的卷积模型。

High frame rate

Fast pathway的目标是在时间维度上有一个清晰的表示。Fast pathway的时间步幅为 τ/α,其中 α> 1是Fast pathway和Slow pathway之间的帧率比。这两条路径在相同的原始片段上运行,因此Fast pathway采样αT帧,密度是Slow pathway的α倍。在实验中,通常α=8。

α的存在是Slow pathway概念的关键。它明确表示这两个路径以不同的时间速度工作,从而驱动了两个子网实例化这两个路径的专业知识。

High temporal resolution features

本文的Fast pathway不仅具有高输入分辨率,而且还在整个网络层次结构中追求高分辨率特征。在作者的实例化中,整个Fast pathway中不使用时间下采样层(既不使用时间池化也不使用时间步长卷积),直到分类之前的全局池层。因此,特征张量在时间维度上总是有αT帧,尽可能保持时间细节。

Low channel capacity

Fast pathway与现有模型的区别在于,它可以使用显著较低的通道容量来实现SlowFast模型的良好准确性,这也使网络更加轻量化。通道容量低也可以解释为表示空间语义的能力较弱。从技术上讲,Fast pathway在空间维度上没有特殊处理,因此由于通道较少,其空间建模能力应低于Slow pathway。本文模型的良好结果表明,Fast pathway在增强其时间建模能力的同时削弱其空间建模能力是理想的权衡。

2.3. Lateral connections

两条路径的信息是融合的,因此一条路径并不不知道另一条路径学习到的表示。作者通过横向连接实现这一点,横向连接已用于融合基于光流的双流网络。在图像目标检测中,横向连接是一种流行的技术,用于合并不同级别的空间分辨率和语义。作者为每个 “stage” 在两条路径之间连接一个横向连接。

对于ResNet,这些连接就在pool 1、res 2、res 3和res 4之后。这两条通路具有不同的时间维度,因此横向连接需要执行一些变换使之匹配。最后,对每个路径的输出执行全局平均池化。然后,将两个合并的特征向量进行concat,作为全连接层分类器的输入。

2.4. Instantiations

本文的SlowFast的想法是通用的,它可以用不同的主干网络来实例化。在本小节中,作者描述了网络结构的实例。上表中展示了一个SlowFast模型的示例。作者用表示时空大小,其中T是时间长度,S是方形空间的高度和宽度。

Slow pathway

上表中的Slow pathway是时间上的3D ResNet。它具有T = 4帧作为网络输入,用时间τ = 16步幅在64帧原始片段中稀疏采样得到。作者选择在此实例化中不执行时间下采样,因为当输入步幅较大时,这样做会有害。

Fast pathway

上表展示了α=8和β=1/8的Fast pathway示例,它具有更高的时间分辨率和更低的通道容量。

Lateral connections

本文的横向连接从Fast pathway融合到Slow pathway。它需要在融合前匹配特征的大小。将Slow pathway的特征形状表示为,Fast pathway的特征形状表示为。在横向连接中,作者尝试了以下变换:

  1. Time-strided sampling : 将 reshape并转置为,这意味着将所有 α 帧打包为一帧的通道。
  2. Time-strided sampling :从每个α帧中采样一帧,因此变成。
  3. Time-strided convolution :使用一个输出通道为2βC,步长为α,大小为的卷积核执行3D卷积。

03

实验

3.1. Main Results

上表展示了本文方法和SOTA方法在Kinetics-400数据集上的对比,可以看出,本文方法有明显的性能提升。

上表展示了本文方法和SOTA方法在Kinetics-600数据集上的对比,可以看出,本文方法有明显的性能提升。

上表展示了本文方法和SOTA方法在Charades数据集上的对比。

上表展示了本文方法在动作检测任务上和SOTA的对比。

3.2. Ablation Experiments

上图展示了Slow网络(蓝色)和SlowFast网络(绿色)在Kinetics-400数据集上,准确率和计算量的对比。

上表展示了本文方法在结构和超参数设置上的一些消融实验。

上表展示了本文方法从头开始训练和使用ImageNet预训练权重的实验结果。

上表展示了本文方法在动作检测任务上的消融实验结果。

上表展示了SlowFast和Slow在动作识别任务上的对比结果。

04

结论

本文解决的是视频识别任务,视频中有两类动作,一种是slow action,这类动作跨越的时间维度比较长,可以通过比较稀疏的采样就可以感知;另一类的fast action,这类动作变化较快,需要通过比较密集的采样,基于这样一个现象。作者将网络分成了两个分支,slow path的采样率较低,网络也较大,可以捕获更加丰富的特征,fast path的采样率更高,网络较小,因此可以较少高采样率带来的高计算量。

0 人点赞