论文题目:SlowFast Networks for Video Recognition

论文地址:https://arxiv.org/pdf/1812.03982.pdf

代码地址:https://github.com/facebookresearch/SlowFast

何凯明所在的Facebook AI团队在2018年发表了一篇行为识别的论文SlowFast 网络,如图1,该网络属于双流网络体系,但是又和传统的双流网络有区别:

相同点:

  • 网络的输入有两个分支,一个用来捕获空间语义特征;一个用来获取时序维度随时间变化的动作信息
  • 都通过对两个分支的特征进行融合来获取时空特征

不同点:

  • 网络的输入不同,对于SlowFast网络的输入都为RGB序列图片,而传统的双流网络输入分别为RGB图像和运动的光流信息
  • 网络内部结构不同,SlowFast网络的两个分支采用的结构不同,双流网络的两个分支都是完全一样
  • 两个分支特征融合方式不同
  • 训练方式不同:SlowFast为端到端的训练模型,而传统双流网络由于融合了手工光流特征,非端到端训练模型。

Action Recognition之SlowFast Networks

                                                                               图1 SlowFast 网络图

为什么采用Two Pathways

自然图像的统计证明,自然图像是各向同性的即所有的方向都是同样可能的,并且是不变的。所以我们在图像分类任务中对称的出来两个空间维度x和y。而对于视频 I(x; y; t),其所有时空方向的可能性都不一样,那么就没有理由像基于时空卷积的视频识别方法所隐含的那样,对称地对待空间和时间特征。因此,作者提出了采用架构“分解”的思想单独处理空间结构和时间维度的信息。具体来说,从认知的角度来研究这个问题。视觉内容的范畴空间语义(categorical spatial semantics)经常演变缓慢。例如,在挥手动作的范围内,挥手不会改变其作为“手”的身份,即使一个人可以从步行过渡到跑步,他/她也始终属于“人”类别。因此,分类语义(以及它们的颜色、纹理、光照等)的识别可以相对缓慢地刷新。另一方面,被执行的动作可以比他们的主体身份进化得快得多,比如拍手、挥手、摇晃、行走或跳跃。可以期望使用快速刷新帧(high temporal resolution)来有效地建模潜在的快速变化运动。为此,作者提出采用Two-Pathway的SlowFast网络进行行为识别,其中一条路径Slow Path被设计用来捕获图像或少量稀疏帧所提供的语义信息,它以较低的帧速率和较低的刷新速度运行。相反,另一条路径Fast Path负责捕捉快速变化的运动信息,它以快速刷新速度和高时间分辨率运行。

生物启发

作者提出的方法有合理的生物依据,具体源自于灵长类视觉系统中视网膜神经节细胞生物学研究的启发。这项研究发现在这些细胞中有~80%是P-cells,提供精细的空间细节和颜色,但时间分辨率较低,对刺激反应缓慢,对应于SlowFast网络中的Slow Pathway。~15-20%是M-cells,其在高时间频率下工作,对快速的时间变化有反应,但对空间细节或颜色不敏感,对应于SlowFast网络中的Fast Pathway。

SlowFast网络的原理

SlowFast采用Two-Path网络结构,由三个主要分支结构组成,Slow pathway,Fast pathway,Lateral connections。接下来,对每个结构进行详细介绍。

1. Slow pathway

该分支可以采用任意的卷积模型,作用在视频的一个片段上。在输入帧上采用大的时间步长t,即,它从t帧中取一帧。例如一个典型的t值是16,那么刷新速度大约是每秒2帧采样30 fps视频。若slow pathway采样的帧数表示为T,那么原始输入片段中帧的长度为T×t。

2. Fast pathway

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

  • High frame rate:为了能够很好地获取时序表示,Fast Pathway采用较小地步长,即 t / s, s >1。Slow Pathway和Fast Pathway作用在同一个输入视频片段上,因此,Fast Pathway采样帧地个数为 s * T。s 一定程度上暗示了两条路径采样不同地时序速度。
  • High temporal resolution features :除了分类之前地全局池化层在网络中间层中没有采用时序下采样层,因此沿着时序维度为s * T,这保证了时序地准确性。
  • Low channel capacity :使用显著较低的通道容量,使得SlowFast网络轻量级化。具体实现采样通道衰减率Action Recognition之SlowFast Networks,其小于1,很大程度上减低了Fast pathway的计算量。低通道容量也可以解释为表示空间语义的能力较弱。从技术上讲,Fast Pathway在空间维度上没有特殊的处理,因此它的空间建模能力应该低于Slow Pathway,因为通道较少。模型的良好结果表明,在增强Fast pathway的时间建模能力的同时,削弱Fast pathway的空间建模能力是一个理想的折衷方案。

3. Lateral connections

Lateral connections(横向连接)用来对两个路径的信息进行融合。因此一条路径并不不知道另一条路径所学习的表示。通过横向连接来实现这一点,这种连接已被用于融合基于光流的双流网络。在图像目标检测中,横向连接是融合不同层次空间分辨率和语义的常用技术。具体作者使用单向连接,将Fast pathway的特征融合到Slow pathway中。作者进行了双向融合实验,发现了相似的结果。

最后,对每个路径的输出执行全局平均池。然后将两的特征向量进行concat操作之后作为输入连接到全连接的分类器层。

SlowFast网络Instantiations

可以使用不同的主干网络,将SlowFast网络实例化。文章中使用 ResNet-50对其进行实例化,如图2中指定了一个示例SlowFast模型。我们用T x S x S表示时空大小,其中T表示时序长度,S是卷积核的宽和高。接下来我们对SlowFast每个部分进行实例化。

Action Recognition之SlowFast Networks

                                                               图2 使用ResNet-50对SlowFast网络实例化 

Slow pathway:采用3D ResNet实现,采样帧数为T = 4,时序采样步长为t = 16,总帧数为64。在这个实例中不执行时序下采样,因为这样做在输入步长较大时是有害的。与典型的C3D/I3D模型不同,作者仅在res4和res5中使用非退化时间卷积(时间核大小>1,在图2中加下划线);在该路径上conv1到res3的所有卷积核本质上是2D卷积核。作者实验证明了过早的使用时序卷积会减低识别的精度。

Fast pathway :图2显示了s = 8和  b=1/8的Fast pathway 示例。它具有更高的时间分辨率(绿色)和更低的通道容量(橙色)。Fast pathway 在每个块中都有非退化的时序卷积。这是由于观察到这条路径具有很好的时间分辨率,以便时间卷积捕捉详细的运动。此外,根据设计,Fast pathway 没有时间下采样层。

Lateral connections : 横向连接进行两个通道的融合。它需要在融合之前匹配特征的大小。Slow pathway的特征形状为{T,S*S,C},Fast pathway的特征形状为{Action Recognition之SlowFast NetworksT,S*S,  Action Recognition之SlowFast NetworksC}。我们在横向连接采用了如下转换方式:

  • Time-to-channel: Reshape and Transpose {Action Recognition之SlowFast NetworksT,S*S,  Action Recognition之SlowFast NetworksC}为{T,S*S, Action Recognition之SlowFast NetworksAction Recognition之SlowFast NetworksC},将Action Recognition之SlowFast Networks​​​​​​​帧当作每个帧通道来处理。
  • Time-strided sampling: 通过对Action Recognition之SlowFast Networks​​​​​​​T帧每隔Action Recognition之SlowFast Networks​​​​​​​帧采样一帧, {Action Recognition之SlowFast Networks​​​​​​​T,S*S,  Action Recognition之SlowFast NetworksC} ->   {Action Recognition之SlowFast Networks​​​​​​T,S*S,  Action Recognition之SlowFast NetworksC}
  • Time-strided convolution:采用5x1x1的3D卷积核,输出卷积核数据量为 2Action Recognition之SlowFast Networks​​​​​​​C,步长为Action Recognition之SlowFast Networks

实验及结果

实验使用四种数据集对SlowFast网络进行评估。

Datasets:Kinetics-400,Kinetics-600,Charades,AVA dataset 。前三种主要用来进行行为识别,后一种用于行为检测实验。

Training:采用从头训练的机制。对于时间域,作者随机从整个视频中采样一个片段(Action Recognition之SlowFast Networks​​​​​​​T x Action Recognition之SlowFast Networks),Slow pathway和Fast pathway的输入分别为T帧和Action Recognition之SlowFast Networks​​​​​​​T帧;对于空间域,作者随机从一个视频或其水平翻转中裁剪224x 224,或者较短的边随机采样为[256,320]像素。
Inference:按照常规做法,沿视频的时间轴均匀地采样10个视频片段。对于每个片段,将较短的空间侧缩放到256像素,采用3个256 x 256的裁剪来覆盖空间维度,作为完全卷积测试的近似。对预测的softmax得分进行平均。

Action Recognition之SlowFast Networks

                                                         图3 在Kinetics400数据集上评估 

Action Recognition之SlowFast Networks

                           图4 SlowFast(绿色)架构与Only-slow(蓝色)架构在Kinetics-400上的精度/复杂性权衡

Action Recognition之SlowFast Networks

                                                              图4 在Kinetics600数据集上评估 

Action Recognition之SlowFast Networks

                                                                  图5 在Charades数据集上评估 

Ablation Experiments

消融实验说明SlowFast网络中每一部分的重要程度,缺一不可。

Action Recognition之SlowFast Networks

                                                                 图6 Ablations on the Fast pathway design on Kinetics-400.

Action Recognition之SlowFast Networks

                                                                 图7 与预训练模型比较

Experiments: AVA Action Detection

Action Recognition之SlowFast Networks

                                                                             图8 行为检测模型对比

Action Recognition之SlowFast Networks

                                                                         图8 每种类别的AP值

Action Recognition之SlowFast Networks

                                                                        图9 Fast Path对行为检测精度贡献

好了,SlowFast模型介绍完了,详细可以看原文章,具体链接开头给出。谢谢!!

相关文章: