论文题目: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为端到端的训练模型,而传统双流网络由于融合了手工光流特征,非端到端训练模型。
图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网络轻量级化。具体实现采样通道衰减率
,其小于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每个部分进行实例化。
图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的特征形状为{T,S*S,
C}。我们在横向连接采用了如下转换方式:
-
Time-to-channel: Reshape and Transpose {
T,S*S,
C}为{T,S*S,
C},将
帧当作每个帧通道来处理。
-
Time-strided sampling: 通过对
T帧每隔
帧采样一帧, {
T,S*S,
C} -> {
T,S*S,
C}
-
Time-strided convolution:采用5x1x1的3D卷积核,输出卷积核数据量为 2
C,步长为
。
实验及结果
实验使用四种数据集对SlowFast网络进行评估。
Datasets:Kinetics-400,Kinetics-600,Charades,AVA dataset 。前三种主要用来进行行为识别,后一种用于行为检测实验。
Training:采用从头训练的机制。对于时间域,作者随机从整个视频中采样一个片段(T x
),Slow pathway和Fast pathway的输入分别为T帧和
T帧;对于空间域,作者随机从一个视频或其水平翻转中裁剪224x 224,或者较短的边随机采样为[256,320]像素。
Inference:按照常规做法,沿视频的时间轴均匀地采样10个视频片段。对于每个片段,将较短的空间侧缩放到256像素,采用3个256 x 256的裁剪来覆盖空间维度,作为完全卷积测试的近似。对预测的softmax得分进行平均。
图3 在Kinetics400数据集上评估
图4 SlowFast(绿色)架构与Only-slow(蓝色)架构在Kinetics-400上的精度/复杂性权衡
图4 在Kinetics600数据集上评估
图5 在Charades数据集上评估
Ablation Experiments
消融实验说明SlowFast网络中每一部分的重要程度,缺一不可。
图6 Ablations on the Fast pathway design on Kinetics-400.
图7 与预训练模型比较
Experiments: AVA Action Detection
图8 行为检测模型对比
图8 每种类别的AP值
图9 Fast Path对行为检测精度贡献
好了,SlowFast模型介绍完了,详细可以看原文章,具体链接开头给出。谢谢!!