论文解读:SlowFast Networks for Video Recognition

一. 摘要

本文提出了用于视频识别的 SlowFast 网络。该模型包含:1)一个以低帧率运行、用来捕捉空间语义的 Slow 路径;2)一个以高帧率运行、以较好的时间分辨率来捕捉运动的 Fast 路径。我们可以减少 Fast 路径的通道容量,使其变得非常轻,但依然可以学习有用的时间信息用于视频识别。我们的模型在视频动作分类及检测方面性能强大,而且我们的 SlowFast 概念实现的巨大改进是对这一领域的重要贡献。我们在没有使用任何预训练的情况下在 Kinetics 数据集上实现了 79.0% 的准确率,远远超过此类问题的之前最佳水平。在 AVA 动作检测数据集上,我们实现了 28.3 mAP 的当前最佳水准。

SlowFast代码
论文地址

二. 介绍

Facebook的AI研究团队新发表的一篇论文,SlowFast,提出了一种新颖的方法来分析视频片段的内容,可以在两个应用最广的视频理解基准测试中获得了当前最好的结果:Kinetics-400 和AVA。该方法的核心是对同一个视频片段应用两个平行的卷积神经网络(CNN)—— 一个 慢(Slow)通道,一个快(Fast)通道。

作者观察到视频场景中的帧通常包含两个不同的部分 —— 不怎么变化或者缓慢变化的静态区域和正在发生变化的动态区域,这通常意味着有些重要的事情发生了。例如,飞机起飞的视频会 包含相对静态的机场和一个在场景中快速移动的动态物体(飞机)。在日常生活中,当两个人见面时,握手通常会比较快而场景中的其他部分则相对静态

SlowFast 通过两条路径:Slow 路径和 Fast 路径,同时以慢速和快速的帧速率,从视频中提取信息来改进动作分类和动作检测。具体而言,这两条路径由侧连接(lateral connection)进行融合。Slow(低帧率表示:每秒选取两帧):一条专注于处理可以在低帧速率下观看的类别语义(如:颜色、纹理和目标),它以低帧率运行,刷新速度缓慢,旨在捕获图像或几个稀疏帧提供的语义信息;而Fast路径(高帧率表示:每秒选取15帧):另一条路径则寻找在以较高帧速率显示的视频中更容易识别的快速变化的运动(如:鼓掌、挥手、摇头、走路或跳跃),它的刷新速度快、时间分辨率高,用于捕获快速变化的动作

尽管有两条路径,该模型的体量却很轻,fast路径只占总计算资源的 20% 左右。这是因为第二个路径(fast路径)通道较少(提取细粒度动作信息,选取的帧与帧之间只有细微动作变化差别),处理空间信息的能力较差,但这些信息可以由第一个路径以一种不那么冗余的方式来提供。根据二者不同的时间速度,研究者将其分别命名为 Slow 路径和 Fast 路径。二者通过侧连接(lateral connection)进行融合。

这一概念为视频模型带来了灵活、高效的设计。由于自身较轻,Fast 路径不需要执行任何时间池化——它能以高帧率在所有中间层运行,并保持时间保真度(动态信息)。同时,由于时间速率较低,Slow 路径可以更加关注空间域和语义(静止信息)通过以不同的时间速率处理原始视频,该方法允许两种路径以其特有的方式对视频建模。研究者在 Kinetics [27, 2] 和 AVA [17] 数据集上对该方法进行了全面评估。在 Kinetics 动作分类数据集上,该方法在没有任何预训练(如 ImageNet)的情况下达到了 79% 的准确率,大大超过了文献中的最佳水平(超出 5.1%)。控制变量实验证明了 SlowFast 概念带来的改进。在 AVA 动作检测数据集上,SlowFast 模型达到了新的当前最佳水平,即 28.3% mAP

该方法部分受到灵长类视觉系统中视网膜神经节细胞的生物学研究启发 [24, 34, 6, 11, 46],尽管这种类比有些粗糙、不成熟。研究发现,在这些细胞中,~80% 是小细胞(P-cell),~15-20% 是大细胞(M-cell)。M-cell 以较高的时间频率工作,对时间变化更加敏感,但对空间细节和颜色不敏感。P-cell 提供良好的空间细节和颜色,但时间分辨率较低。SlowFast 框架与此类似:i)该模型有两条路径,分别以低时间分辨率和高时间分辨率工作;ii)Fast 路径用来捕捉快速变化的运动,但空间细节较少,类似于 M-cell;iii)Fast 路径很轻,类似于较小比例的 M-cell。研究者希望这些关系能够启发更多用于视频识别的计算机视觉模型。

总结

  • 该模型有两条路径,分别以低时间分辨率和高时间分辨率工作;
  • Fast 路径用于捕捉快速变化的运动,但空间细节较少,类似于 M-cell;
  • Fast 路径为轻量级,类似于较小比例的 M-cell。
  • Slow 路径用于捕捉空间语义信息(静态,背景事物),通道数多用于处理复杂的空间语义信息,类似于P-cell

三. 网络

  1. 架构
    Slowfast架构包含一个 Slow 路径、一个 Fast 路径,二者由侧连接联系起来,如下图所示。SlowFast 网络包括低帧率、低时间分辨率的 Slow 路径和高帧率、高时间分辨率(Slow 路径时间分辨率的 α 倍)的 Fast 路径。使用通道数的一部分(β,如 β = 1/8)来轻量化 Fast 路径。Slow 路径和 Fast 路径通过侧连接来连接。该样本来自 AVA 数据集 [17](样本标注是:hand wave)。
    SlowFast
    2. 模型工作原理
    SlowFast 网络的实例化示例。内核的维度由 {T×S^2 , C} 表示,T 表示时间分辨率、S 表示空间语义、C 表示通道数。步长由 {temporal stride, spatial stride^2} 表示。此处速度比例是α = 8,通道比例是 β = 1/8。τ = 16。绿色表示 Fast 路径较高的时间分辨率,橙色表示 Fast 路径较少的通道数。下划线为非退化时间滤波器(non-degenerate temporal filter)。方括号内是残差块。骨干网络是 ResNet-50。

    Slow通道和Fast通道都使用3D RestNet模型,捕捉若干帧之后立即运行3D卷积操作

    Slow通道使用一个较大的时序跨度(即每秒跳过的帧数),通常设置为16,这意味着大约1秒 可以采集2帧。Fast通道使用一个非常小的时序跨度τ/α,其中α通常设置为8,以便1秒可以采集 15帧。Fast通道通过使用小得多的卷积宽度(使用的滤波器数量)来保持轻量化, 通常设置为慢通道卷积宽度的⅛,这个值被标记为β。使用小一些的卷积宽度的原因是Fast 通道需要的计算量要比Slow通道小4倍,虽然它的时序频率更高
    SlowFast

  2. 侧向连接
    如下图所示,来自Fast通道的数据通过侧向连接被送入Slow通道,这使得Slow通道可以了解Fast 通道的处理结果。单一数据样本的形状在两个通道间是不同的(Fast通道是{αT, S², βC} 而Slow 通道是 {T, S², αβC}),这要求SlowFast对Fast通道的结果进行数据变换,然后融入Slow通道
    侧向连接
    论文给出了三种进行数据变换的技术思路,其中第三个思路在实践中最有效:

  • Time-to-channel:将{αT, S², βC} 变形转置为 {T , S², αβC},就是说把α帧压入一帧
  • Time-strided采样:简单地每隔α帧进行采样,{αT , S², βC} 就变换为 {T , S², βC}
  • Time-strided卷积: 用一个5×1x1的核进行3d卷积, 2βC输出频道,跨度= α.
    研究人员发现双向侧链接,即将Slow通道结果也送入Fast通道,对性能没有改善
    在每个通道的末端,SlowFast执行全局平均池化,一个用来降维的标准操作,然后组合两个 通道的结果并送入一个全连接分类层,该层使用softmax来识别图像中发生的动作。
  1. SlowFast进展
    通过合理的快慢分工,SlowFast 比之前的视频识别系统都更加轻量级。目前,Facebook AI 已经在四个主要的公共基准数据集上建立了一个新的技术状态。通过分析不同速度下的原始视频,这一方法还可以使 SlowFast 网络从本质上进行分治 (Divide-and-conquer)。

    每个路径都利用其在视频建模中的特殊优势,Slow 路径以每秒两帧(fps)的速度处理最初刷新为每秒 30 帧的视频片段,在这一速度下,物体或人的颜色、纹理或身份等特征也不会改变同时 Fast 路径在相同的原始视频剪辑上运行,但是在更高的帧速率下——给定 30 fps 的镜头,该路径也可能以 16 fps 的速度处理它,这些更快的刷新速度允许更好地理解视频中正在发生的运动类型

    这一设置的最主要优点在于提高 Fast 通道时间建模能力的同时,也降低了 Fast 通道的信道容量,最终呈现的是一个系统的整体计算复杂度和精度比其他更高,计算量更大的算法

四. 数据集

SlowFast在两个主要的数据集:DeepMind的Kinetics-400和Google的AVA上进行了测试。 虽然两个数据集都包含了场景的标注,它们之间还是有些差异:
Kinetics-400包含成千上万个Youtube视频的10秒片段,将人的动作归为400类(例如:握手、 跑、跳舞等),其中每一类至少包含400个视频。

AVA包含430个15分钟的标注过的Youtube视频,有80个原子化可视动作。每个动作的标注 即包含描述文本,也包含在画面中的定位框。

五 结果

SlowFast在两个数据集上都达到了迄今为止最好的结果,在Kinetics-400上它超过最好top-1得分5.1% (79.8% vs 73.9%) ,超过最好的top-5得分2.7% (93.6% vs 90.9%)。在 Kinetics-600 数据集上它也 达到了最好的结果。Kinetics-600数据集与Kinetics-400类似,不过它将动作分为600类,每一类 包含600个视频,在K600上top-1得分81.8%,top-5得分95.1

在AVA测试中,SlowFast研究人员首先使用的版本,是一个较快速R-CNN目标识别算法和现成的行人 检测器的整合,利用这个行人检测器获取感兴趣区域。研究人员随后对SlowFast网络进行了预训练, 最后在ROI上运行网络。结果是28.3 mAP (median average precision) ,比之前的最好结果21.9 mAP 有大幅改进。值得指出的是在Kinetics-400和Kinetics-600上的预训练没有获得显著的性能提升

有趣的是,论文比较了只使用Slow通道、只使用Fast通道、同时使用Slow和Fast通道的结果,在 Kinetics-400上,只使用Slow通道的网络其top-1结果为72.6%,top-5为90.3%。只使用Fast通道的网络, top-1和top-5分别为51.7% 和 78.5%,如下图所示。
Slowfast

在K400,K600,Charades等数据集上的结果如下图所示:
结果
结果

六 参考链接

1. 快慢结合效果好:FAIR何恺明等人提出视频识别SlowFast网络
2. Facebook 开源 SlowFast:基于双帧速率分治轻量视频识别模型
3. Slowfast解读:用于视频理解的双模CNN
4. SlowFast开源代码
5. 论文地址

猜你喜欢

转载自blog.csdn.net/flyingluohaipeng/article/details/126615901