SlowFast Networks for Video Recognition
用于视频的慢速网络
Abstract(摘要)
我们提出用于视频识别的SlowFast网络。
我们的模型涉及
-
以低帧速率操作的慢速路径,捕获空间语义
-
以高帧速率操作的快速路径,以精细时间分辨率捕获运动。
通过降低其信道容量,可以使快速路径非常轻量级,并且可以学习用于视频识别的有用时间信息。模型在视频中的动作分类和检测方面都获得了强大的性能,而且我们的SlowFast概念也大量的改进。我们在没有使用任何预训练的情况下报告Kinetics数据集的准确率为79.0%,大大超过此前的最佳结果。在AVA动作检测中,我们实现了28.3 mAP的新技术。代码将公开发布。
Kinetics-400:
(它是2017年发布的初始动力学数据集的近似超集,现在称为Kinetics-400。 该数据集由大约500,000个视频剪辑组成,涵盖600个人类动作类,每个动作类至少有600个视频剪辑。)
1 Introduction(介绍)
习惯于识别图像I(x; y)以对称地处理两个空间维度x和y。这通过自然图像的统计来证明是合理的,其是第一近似的各向同性 - 所有方向都是同样可能的 - 并且是移位不变的。
但视频信号I(x; y; t)怎么样?运动是方向的时空对应物,但所有时空方向都不是同等可能的。慢速运动比快速运动更可能(事实上我们看到的世界大部分时间都在某个特定时刻处于静止)并且这已经在贝叶斯关于人类如何感知运动刺激的过程中被利用。例如,如果我们看到一个孤立的移动边缘,我们将其视为垂直于自身移动,即使原则上它也可以具有与其自身相切的任意运动分量(光流中的孔径问题)。如果先前有利于减慢运动,则该感知是合理的。
如果所有时空方向的可能性都不相等,那么我们就没有理由对称地对待空间和时间,正如基于时空卷积的视频识别方法所暗示的那样。我们可能会“考虑”架构以分别处理空间结构和时间事件。为了具体,让我们在承认的背景下研究这一点。视觉内容的分类空间语义通常发展缓慢。例如,挥手不会在挥动动作的跨度上改变他们作为“手”的身份,并且即使他/她可以从步行转为跑步,人也总是处于“人”类别。因此,分类语义的识别(以及它们的颜色、纹理、光照等)可以相对缓慢地刷新。
另一方面,正在执行的动作可以比其主体身份更快地发展,例如拍手,挥手,摇晃,行走或跳跃。可以期望使用快速刷新帧(高时间分辨率)来有效地建模可能快速变化的运动。基于这种直觉,我们提出了一种用于视频识别的双通道SlowFast模型(图1)。
图1:SlowFast 网络包括低帧率、低时间分辨率的 Slow 路径和高帧率、高时间分辨率(是Slow 路径时间分辨率的 α 倍)的 Fast 路径。Fast 路径使用通道数的一部分(β,如 β = 1/8)来轻量化。Slow 路径和 Fast 路径通过横向连接融合。此样本来自AVA数据集(注释:手势)。
AVA数据集:
AVA数据集 是google发布的一个视频行为检测与定位的视频数据集,包含在430个15分钟的视频片段中标注了的80种原始动作,这些动作由时间和空间定位,产生了1.58M个动作标签。
其中一种路径旨在捕捉图像或稀疏帧所能提供的语义信息,其运行速度较低,刷新速度较慢。相比之下,另一种路径负责捕捉快速变化的运动,刷新速度快,时间分辨率高。尽管它的时间速率很高,但该路径非常轻量级,例如,占总计算量的20%左右。这是因为该路径的通道较少,对空间信息的处理能力较弱,而第一个路径可以以较少冗余的方式提供这些信息。我们称前者为慢路径,后者为快路径,由它们不同的时间速度驱动。这两条通路通过横向连接连接在一起。
我们的概念构思可为视频模型提供灵活有效的设计。快速路径由于其轻量级特性,不需要执行任何时间池 - 它可以在所有中间层的高帧速率下操作并保持时间保真度。同时,由于较低的时间速率,慢速路径可以更专注于空间域和语义。通过以不同的时间速率处理原始视频,我们的方法允许这两种途径在视频建模方面拥有自己的专业知识。
还有一种著名的视频识别体系结构[44],它采用两流设计,但提供了概念上的不同视角。双流方法[44]没有探索不同时间速度的潜力,这是我们方法中的一个关键概念。双流方法对两种流采用相同的骨干结构,而我们的Fast路径更轻量级。我们的方法不计算光流,因此,我们的模型是从原始数据端到端学习的。在我们的实验中,我们观察到SlowFast网络在经验上更有效。
我们在Kinetics 和AVA 数据集上全面评估了我们的方法。在Kinetics分类中,我们的方法在没有任何预训练(例如ImageNet)的情况下达到79.0%的准确度,在很大程度上超过了这种文献中的最佳数量5.1%。消融实验令人信服地证明了SlowFast概念所带来的改进。在AVA动作检测方面,我们的模型实现了28.3%mAP的最新技术水平。
我们的方法部分受到了灵长类视觉系统中视网膜神经节细胞的生物学研究的启发,尽管不可否认的是,这种类比是粗糙和不成熟的。这些研究结果表明,在这些细胞中,约有80%是微小细胞(p细胞),约有15-20%是巨细胞(m细胞)。m细胞的工作频率很高,对快速的时间变化有反应,但对空间细节或颜色不敏感。p细胞提供良好的空间细节和颜色,但较低的时间分辨率,对刺激反应缓慢。
我们的框架类似于: 1、我们的模型有两条分别在低时间和高时间分辨率下工作的路径; 2、我们的快速通道旨在捕捉快速变化的运动,但更少的空间细节,类似于Mcells; 3、我们的Fast途径轻巧,类似于M细胞的小比例。 我们希望这些关系将激发更多用于视频识别的计算机视觉模型。
2 Related Work(相关工作)
-
时空过滤
动作可以表示为时空对象,并通过时空中的定向滤波捕获,如HOG3D和长方体所做的。3D ConvNets 将2D图像模型扩展到时空域,同样处理空间和时间维度。也有相关的方法专注于长期滤波和利用时间跨距的池化,以及将卷积分解为单独的二维空间和一维时间滤波器。除了时空过滤或其可分离版本,我们的工作追求通过使用两种不同的时间速度来更彻底地分离建模专家。
-
用于视频识别的光流
基于光流的手工时空特征是一个经典的研究分支。这些方法,包括流直方图、运动边界直方图和轨迹,在深度学习普及之前,已经在动作识别方面表现出了竞争性能。在深度神经网络的背景下,双流方法利用光流作为另一种输入模态。该方法是文献中许多竞争结果的基础。然而,考虑到光流是一种手工设计的表示,它在方法上是不令人满意的,而且两流方法往往不是端到端与流一起学习的。
3 SlowFast Networks(慢速网络)
慢速网络可以被描述为以两种不同的帧率运行的单一流结构,但我们使用路径的概念来反映与生物中的Parvo-和Magnocellular对应物的类比。我们的通用架构有一个慢路径(3.1节)和一个快路径(3.2节),它们通过横向连接融合到一个SlowFast网络(3.3节)。图1说明了我们的概念。
3.1 慢路径
慢路径可以是任何卷积模型,可以将视频剪辑作为一个时空体积来处理。我们的慢路径的关键概念是输入帧上的大时间步幅T,也就是说,它只处理 τ 帧中的一个。我们研究的T的典型值是16——对于30帧/秒的视频,刷新速度大约是2帧/秒。表示慢路径采样的帧数为T,原始剪辑长度为T × τ帧。
3.2 快路径
与慢路径并行,Fast路径是另一个具有以下属性的卷积模型。
-
高帧率
我们的目标是在时间维度上有一个良好的表示。我们的快速路径在 τ/α 的小时间跨度下工作,其中α > 1是快速和缓慢路径之间的帧速率比。这两种途径在同一个原始剪辑上运行,所以Fast途径对αT帧进行采样,其密度是Slow途径的α倍。在我们的实验中,一个典型值是α = 8。
τ中没有使用时间下采样层(既没有时间池也没有时间跨度卷积),直到分类之前的全局池化层。因此,我们的特征张量在时间维度上总是有αT帧,尽可能地保持时间保真度。
-
高时间分辨率特征
们的Fast路径不仅具有高输入分辨率,而且在整个网络层次中追求高分辨率特征。在我们的实例化中,我们在整个Fast路径中没有使用时间下采样层(既没有时间池也没有时间跨度卷积),直到分类之前的全局池化层。因此,我们的特征张量在时间维度上总是有αT帧,尽可能地保持时间保真度。
-
低信道容量
我们的Fast路径与现有模型的区别还在于,它可以使用显著较低的信道容量来实现SlowFast模型的良好精度。这使得它很轻。
简而言之,我们的Fast通路是一个类似于Slow通路的卷积网络,但与Slow通路有β (β < 1)通道比例。在我们的实验中,典型值是β = 1/8。请注意,公共层的计算(浮点数运算,或FLOPs)通常是其通道比例的二次型。这就是快速路径比慢路径计算效率更高的原因。在我们的实例化中,Fast路径通常需要总计算量的20%。有趣的是,正如第一节所提到的,证据表明灵长类视觉系统中视网膜细胞的~ 15-20%是m细胞(对快速运动敏感,但对颜色或空间细节不敏感)。
低通道容量也可以解释为较弱的空间语义表达能力。从技术上讲,Fast路径没有对空间维度进行特殊处理,因此由于通道较少,其空间建模能力应该低于Slow路径。模型结果表明,Fast路径在弱化其空间建模能力的同时增强其时间建模能力是一种理想的折衷。
基于这一解释,我们还探索了在Fast路径中削弱空间容量的不同方式,包括降低输入空间分辨率和去除颜色信息。正如我们将通过实验证明的那样,这些版本都可以提供良好的准确性,这表明具有较少空间容量的轻量级Fast路径是有益的。
3.3 横向连接
这两条路径的信息被融合,所以其中一条路径并不是不知道另一条路径学习到的表征。我们通过横向连接来实现这一点,横向连接已被用于融合基于光流的两流网络[12,13]。在图像目标检测中,横向连接[35]是一种流行的融合不同空间分辨率和语义的技术。
我们为每一个“阶段”在两条通路之间附加一个横向连接(图1)。特别是ResNets[24],这些连接紧跟在pool1、res2、res3和res4之后。这两条路径有不同的时间维度,因此横向连接执行转换来匹配它们(详见3.4节)。们使用单向连接,将Fast路径的特征融合到Slow路径中(图1)。我们对双向融合进行了实验,发现了类似的结果。最后,对每个路径的输出执行一个全局平均池。然后将两个合并的特征向量连接起来作为全连接分类器层的输入。
3.4 实例化
我们关于SlowFast的想法是通用的,它可以用不同的主干(例如,[45,47,24])和实现细节进行实例化。在这个小节中,我们将描述网络架构的实例
表1中指定了一个示例SlowFast模型。我们用T ×S的2次方表示时空大小,其中T是时间长度,S是方形空间作物的高度和宽度。下面将详细描述。
表1:一个SlowFast网络的实例实例。kernel的维数用{T ×S的2次方, C}表示,表示时间、空间和通道大小。步幅表示为{时间步幅,空间步幅2}。速度比为α = 8,通道比为β = 1/8。τ是16。对于快速通道,绿色表示更高的时间分辨率,橙色表示更少的通道。非简并时间滤波器被强调。剩余块用括号表示。骨干是ResNet-50。
慢路径
表1中的慢路径是一个临时跨越的3D ResNet,由[12]修改而来。它有T = 4帧作为网络输入,稀疏地从64帧原始剪辑与时间跨度τ = 16采样。在这个实例化中,我们选择不执行时间下采样,因为当输入步幅很大时这样做是有害的。
与典型的C3D / I3D模型不同,我们仅在res4和res5中使用非简并的时间卷积(时间核大小 kernel size > 1,在表1中下划线);从conv1到res3的所有滤波器本质上都是这个路径中的二维卷积核。
这是由我们的实验观察引起的,在早期层中使用时间卷积会降低精度。我们认为,这是因为当物体移动快且时间跨度大时,除非空间感受域足够大(即在后面的层次中),否则时间感受域内几乎没有相关性。
快路径
表1显示了α = 8 和 β = 1/8 的Fast途径的例子。它具有更高的时间分辨率(绿色)和更低的通道容量(橙色)。
Fast路径在每个区块中都有非简并的时间卷积。这是由于观察到该路径对时域卷积具有良好的时间分辨率,以捕捉详细的运动。此外,Fast通道设计上没有时序下采样层。
横向连接
我们的横向连接从快路径融合到慢路径。在融合之前,它需要匹配特征的大小。表示Slow路径的特征形状为{T, S的2次方, C}, Fast路径的特征形状为{αT, S的2次方, βC}。我们对横向连接进行了以下转换实验:
-
时间到通道:我们将{αT, S的2次方, βC}重构和转置为{T, S的2次方, αβC},这意味着我们将所有的 α 帧打包到一个帧的信道中。
-
时间步幅采样:我们简单地从每个α帧中采样一个,所以{αT, S的2次方, βC}变成{T, S的2次方, βC}。
-
时间步幅卷积:我们用2βC输出通道和 stride = α 对5×1的2次方 核进行了3D卷积。
横向连接的输出通过累加或串联的方式融合到慢速通路中。
4 实验:行动分类
我们评估我们的方法在四个视频识别数据集使用标准评估协议。对于本节中介绍的动作分类实验,我们考虑了广泛使用的kinetics400[30]、最新的Kinetics600[3]和Charades[43]。在第5节的动作检测实验中,我们使用具有挑战性的AVA数据集[20]。
训练
我们在Kinetics上的模型是从随机初始化(“从零开始”)训练的,没有使用ImageNet[7]或任何预先训练。我们按照[19]中的配方使用同步的SGD训练。详情见附录
在时域上,我们从全长视频中随机抽取一个片段(αT × T帧),Slow和Fast路径的输入分别是 T 帧和 αT 帧,对于空间域,我们从视频中随机裁剪224×224像素,或者水平翻转,用[256,320]像素随机取样较短的边。
推论
按照通常的做法,我们沿着时间轴一致地从一个视频中选取10个片段。对于每个剪辑,我们将较短的空间边缩放到256像素,并使用3个256×256作物覆盖空间维度,作为全卷积测试的近似,遵循[56]代码。我们将softmax分数平均用于预测。
我们报告实际的推理时间计算。由于现有的论文在空间和时间上裁剪的推理策略不同。与之前的工作相比,我们报告了每个时空“视图”(带有空间裁剪的时间剪辑)在推理和使用的视图数量时的FLOPs。回想一下,在我们的案例中,推理时间空间大小是256的2次方(而不是224的2次方用于训练),使用了10个时间剪辑,每个剪辑有3个空间作物(30个视图)。
数据集
kinetics - 400[30]由400个人类动作类别的约240k个训练视频和20k个验证视频组成。kinetics600[3]在600个课程中,有392k个训练视频和3万多个验证视频。我们报告top-1和top-5分类准确度(%)。我们报告一个单独的、在空间中裁剪的剪辑的计算成本(以FLOPs为单位)。
《Charades[43]》在平均时长为30秒的157个班级的多标签分类设置中,有9.8k的训练视频和1.8k的验证视频。性能是用平均精度(mAP)来衡量的。
4.1 主要结果
kinetics - 400。表2显示了我们使用各种输入采样(T ×τ)和骨干的SlowFast实例化的最新结果的比较:ResNet-50/101 (R50/101)和Nonlocal (NL)。
与之前最先进的[56]相比,我们的最佳模型提供了2.1%的顶级精度。值得注意的是,我们所有的结果都比没有经过ImageNet预处理的现有结果好得多。特别是,我们的模型(79.8%)比之前这类模型的最佳结果(73.9%)绝对好5.9%。我们对SlowFast网络的ImageNet预训练进行了实验,发现它们在预训练和从头开始的(随机初始化)变体上都表现相似(±0.3%)。
我们的结果以较低的推理时间成本实现。我们注意到,许多现有的作品(如果报告的话)沿着时间轴使用非常密集的剪辑采样,这可能导致在推理时>100个视图。这一成本在很大程度上被忽视了。相比之下,我们的方法不需要很多时间剪辑,因为高时间分辨率和轻量级的快速路径。我们每个时空视图的成本可以很低(例如,36.1 GFLOPs),但仍然是准确的。
将表2中的SlowFast变异体(具有不同的主干和样本率)与对应的Slow-only路径进行比较,以评估Fast路径带来的改进。水平轴测量2562空间大小的单个输入剪辑的模型容量,与总体推理成本的1/30成正比。
表二:与最先进的Kinetics - 400相比。在上一篇专栏文章中,我们报告了使用单个“视图”(带有空间作物的时间剪辑)的推理成本 × 使用的这种视图的数量。SlowFast 模型具有不同的输入采样(T × τ)和主干(R-50, R-101, NL)。“N/A”表示我们没有这些号码。
图2:对于SlowFast(绿色)和Slow-only(蓝色)架构,在kinetic400上的精度/复杂性权衡。在所有情况下,慢速总是比慢速的对手(绿色箭头)更好。SlowFast比临时重型慢速(如红色箭头)提供更高的精度和更低的成本。复杂度为单个256的2次方视图,精度通过30视图测试获得。
图2表明,对于所有的变体,Fast路径能够以相对较低的成本持续提高慢路径的性能。下一小节将对Kinetics-400进行更详细的分析。
Kinetics - 600相对较新,现有的结果是有限的。所以我们的目标主要是在表3中提供结果供以后参考。请注意,Kinetics-600验证集与Kinetics-400训练集[3]重叠,因此我们不对Kinetics-400进行预训练。在最新的ActivityNet 2018[15]挑战赛中,单模型、单模态精度为79.0%。我们的变体显示出良好的性能,最好的模型为81.8%。最近的kinetics700[4]的SlowFast结果在[11]中。
表三:与最先进的Kinetics - 600相比。SlowFast模型与表2相同。
表四:与最先进的字谜游戏相比。我们所有的变量都是基于T × τ = 16×8, R-101。
Charades[43]是一个具有更长的活动范围的数据集。表4显示了我们在它上面的SlowFast结果。为了进行公平的比较,我们的基线是只有39.0 mAP的慢速版本。SlowFast比这一基线增加3.1 mAP(至42.1),而额外的NL导致额外的0.4 mAP。在预先训练动力学-600时,我们的mAP也达到了45.2。总的来说,在表4中,我们的SlowFast模型以更低的成本,以稳定的利润率超过了之前的最佳数字(STRG[57])。
4.2 烧灼实验
本节提供了Kinetics -400的烧蚀研究,比较精度和计算复杂性。
Slow vs. SlowFast
我们的第一个目标是通过改变Slow途径的样本率(T × τ)来探索SlowFast的互补性。因此,本消融研究了快路径与慢路径的帧率比α。图2显示了Slow和SlowFast模型的各种实例化的准确性与复杂性的权衡。可以看到,在慢路径中增加一倍的帧数可以提高性能(垂直轴),同时增加一倍的计算成本(水平轴),而SlowFast在计算成本小幅增加的情况下显著地扩展了所有变体的性能,即使慢路径运行在更高的帧速率上。绿色箭头表示将Fast路径添加到相应的Slow-only架构的好处。红色箭头表示SlowFast提供更高的精度和更低的成本。
接下来,表5显示了 Fast 路径设计上的一系列消融,使用默认的SlowFast, T × τ = 4×16, R-50实例化(在表1中指定),依次分析。
表5:烧灼在 kinetic - 400上的快速路径设计。我们展示了空间大小为256的2次方的单个剪辑输入的top-1和top-5分类精度(%),以及以 GFLOPs (浮点运算,在# of multiply- added ×109中)测量的计算复杂度。推理时间计算成本与此成正比,因为使用了固定数量的30个视图。R-50支柱:4×16。
个人路径
表5a的前两行显示了单独使用单个路径结构的结果。Slow和Fast路径的默认实例化非常轻量级,只有27.3和6.4 GFLOPs, 32.4M和0.53M参数,分别产生72.6%和51.7%的top-1精度。这些路径是用它们的特殊专长设计的,如果它们被联合使用,就像下一步被烧蚀一样。
接下来,我们消融具有各种横向连接的SlowFast模型:时间到通道(TtoC)、时间跨度采样(T-sample)和时间跨度卷积(T-conv)。对于能够匹配通道尺寸的TtoC,我们还报告了通过元素级求和(TtoC, sum)进行融合的情况。对于所有其他变体,串接用于融合。
表5a显示,这些SlowFast模型都比Slow-only路径好。当T-conv横向连接性能最好时,SlowFast网络比Slow-only网络好3.0%。我们使用T-conv作为默认值。
有趣的是,仅Fast通路的准确率只有51.7%(表5a)。但它给慢路径带来了高达3.0%的改进,表明由Fast路径建模的底层表示在很大程度上是互补的。我们通过下一组消融来加强这一观察。
快速通道的通道容量
设计Fast路径的一个关键直觉是,它可以采用较低的通道容量来捕捉运动,而无需构建详细的空间表示。这是由通道比β控制。表5b显示了变化β的影响。
最佳表现的β值是1/6和1/8(我们的默认值)。然而,令人惊讶的是,在我们的SlowFast模型中,从β=1/32到1/4的所有值都可以比对应的Slow-only模型得到改善。特别是,当β=1/32时,Fast途径只增加了1.3个GFLOPs(相对约5%),但导致1.6%的改善。
表6:从零开始训练基线:使用与[56]相同的网络结构,我们的训练方法可以在没有ImageNet预训练的情况下获得可比的结果。
快速路径的空间输入较弱
此外,我们在SlowFast模型中对Fast路径使用不同的较弱空间输入进行实验。我们考虑:
1、半空间分辨率(112×112), β=1/4 (vs.默认的1/8)来大致维持FLOPs;
2、灰度输入帧;
3、“时间差”帧,由当前帧与前一帧相减计算得到;
4、使用光流作为Fast路径的输入。
表5c显示所有这些变体都是有竞争力的,并且比只有慢速的基线更好。特别是,Fast路径的灰度版本几乎和RGB版本一样好,但减少了5%的失败概率。有趣的是,这也与m细胞对颜色不敏感的行为相一致[27,37,8,14,51]。
我们认为,表5b和表5c都令人信服地表明,轻量级但暂时高分辨率的快速路径是视频识别的有效组件。
从头开始训练
我们的模型是从头开始训练的,没有ImageNet训练。为了进行公平的比较,从头开始检查培训的潜在影响(积极的或消极的)是有帮助的。为此,我们使用我们从零开始训练的大规模SGD配方,训练完全相同的[56]中指定的3D ResNet-50架构。
表6显示了使用3D R-50基线架构的比较。我们观察到,我们的训练配方取得了与[56]报告的ImageNet训练前对应方相当好的结果,而[56]中的配方并没有很好地调优来直接从头开始训练。这表明,我们的训练系统作为我们实验的基础,对于这个基线模型没有损失,尽管没有使用ImageNet进行前训练。
5 实验:动作检测
数据集
ava数据集[20]集中于人类行为的时空定位。这些数据来自437部电影。时空标签为每秒一帧提供,每个人都有一个边界框和(可能是多个)动作。注意,AVA的难点在于动作检测,而角色定位在[20]中难度较小。在我们使用的AVA v2.1中,有211k的训练和57k的验证视频片段。我们按照标准协议[20]对60个类别进行评估(见图3)。性能指标是60个类别的平均平均精度(mAP),使用帧级IoU阈值0.5。
检测体系结构
我们的探测器类似于Faster R-CNN[40],只对视频进行了最小的修改。我们使用SlowFast网络或其变体作为骨干。我们将res5的空间步长设置为1(而不是2),并将其过滤器的扩展值设置为2。这增加了2× res5的空间分辨率。我们在res5的最后一个特征图上提取感兴趣区域(region-of-interest, RoI)特征[17]。我们首先沿着时间轴复制帧上的每个2D RoI,将其扩展为3D RoI,类似于[20]中介绍的方法。随后,利用空间上的RoIAlign[22]算法计算RoI特征,利用时间上的全局平均池化算法计算RoI特征。然后最大池化RoI特征,并将其反馈给基于sigmoid的分类器进行多标签预测。
我们遵循了之前使用预先计算的提案的工作[20,46,29]。我们的区域建议是由一个现成的人探测器来计算的,也就是说,它没有与动作检测模型联合训练。我们采用了一个用Detectron[18]训练的人检测模型。它是一个具有ResNeXt-101-FPN[60, 35]主干的Faster R-CNN。它是在ImageNet和COCO人体关键点图像[36]上进行预训练的。我们在AVA上微调了这个检测器,用于人(参与者)检测。人探测器产生93.9 AP@50在A V A验证集。然后,对动作检测的区域建议进行人盒检测,置信为 confidence > 0.8,召回率为91.1%,对人类的准确率为90.7%。
Training
我们从 Kinetics - 400分类模型中初始化网络权值。我们使用逐步学习率,当验证误差饱和时,学习率降低10倍。我们对14k次迭代进行训练(约为211k数据的68个epoch),对前1k次迭代进行线性预热[19]。我们使用10 - 7的权值衰减。所有其他超参数与动力学实验相同。Ground-truth box作为训练样本。输入是具体实例化的αT × T大小为 224×224 的帧。
推论
我们用αT ×τ帧对一个单独的剪辑进行推理,围绕着要评估的帧。我们调整空间尺寸,使其短边为256像素。主干特征提取器是完全卷积计算的,就像标准的Faster R-CNN[40]一样。
表7:比较与最先进的A V A v2.1。我们所有的变体都是基于T ×τ = 8×8, R101。这里的“*”表示我们的方法的一个版本,它使用我们的区域建议进行训练。
表8所示。慢速模型在A V A v2.2。这里的“++”表示我们的方法的一个版本,它经过了多尺度和水平翻转增强的测试。骨干是R-101+NL,区域建议用于培训。
5.1 主要结果
我们将表7中的A V A与之前的结果进行了比较。一个有趣的观察是使用光流的潜在好处(见表7中的“flow”列)。现有的工作已经观察到轻微的改进:[20]中的I3D +1.1 mAP,[29]中的A TR +1.7 mAP。相比之下,我们的基线通过Fast途径提高了+5.2 mAP(见下一节消融实验的表9)。此外,使用光流的两流方法可以使计算成本增加一倍,而我们的Fast路径是轻量级的。
作为系统级别的比较,我们的SlowFast模型仅使用kinetic400训练前就有26.3 mAP。在相同设置下(A TR[29]单模21.7),比之前的最佳值高5.6个mAP,比无光流时高7.3个mAP(表7)。
[16]中的工作在更大的kinetics600上进行预训练,并达到21.9 mAP。为了进行公平的比较,我们观察到使用 Kinetics - 600后,mAP从26.3提高到26.8。使用 NL块 增加 SlowFast 到27.3 mAP。我们在train+val(和1.5×长)上训练这个模型,并将其提交到AVA v2.1测试服务器[34]。实现了27.1 mAP单茬试验集精度。
通过使用IoU > 0.9的预测方案与groundtruth box重叠,除了groundtruth box,我们在培训中实现了28.2 mAP单作物验证精度,这是a V a上的最新技术。
使用A V A v2.2数据集(它提供了更一致的注释)将这个数字提高到29.0 mAP(表8)。长期的SlowFast, 16×8模型产生29.8 mAP,使用多个空间尺度和水平翻转进行测试,这个数字增加到30.7 mAP。
图3。在A V A上的每个类别AP:一个只慢的基线(19.0地图)和它的慢的快速对等物(24.2地图)。高亮显示的类别是5个绝对增长最高(黑色)或5个相对增长最高的AP > 1.0(橙色)。类别是根据例子的数量来排序的。请注意,慢速消融的实例并不是我们表现最好的模型。
表9所示。A V A动作检测基线:Slow-only vs. SlowFast.
最后,我们创建了一个7个模型的集合,并将其提交给ActivityNet挑战2019[1]的官方测试服务器。如表8所示,该条目(SlowFast++, ensemble)在测试集上实现了34.3 mAP准确率,在2019年A V A动作检测挑战中排名第一。我们获奖方案的详细信息请参见相应的技术报告[11]。
5.2 烧灼实验
表9比较了一个只慢速基线和它的对应的慢速基线,以及图3中显示的每个类别的AP。我们的方法大大提高了5.2 mAP(相对28%),从19.0到24.2。这完全得益于我们的SlowFast理念。
在分类方面(图3),我们的SlowFast模型在60个类别中改进了57个,而它的对手是只有Slow-only的。“拍手”(+27.7 AP)、“游泳”(+27.4 AP)、“跑步/慢跑”(+18.8 AP)、“跳舞”(+15.9 AP)和“吃”(+12.5 AP)的绝对收益最大。我们还观察到,“跳/跳”、“挥手”、“放下”、“投掷”、“击打”或“砍”的动作相对增加了很多。在这些类别中,建模动力学是至关重要的。“慢速”模型仅在“接电话”(-0.1 AP)、“lie/sleep”(-0.2 AP)、“shoot”(-0.4 AP)这3个类别上表现较差,相对于其他类别的上升幅度较小。
6 结论
时间轴是一个特殊的维度。本文研究了一个建筑设计,沿着这条轴线对比速度。它达到了最先进的视频动作分类和检测精度。我们希望这个慢速概念将促进视频识别的进一步研究。
附录A
我们研究了包括ResNet-50和更深层次的ResNet-101[24]在内的骨干,可以选择使用非本地(NL)块[56]进行扩充。对于涉及R-101的模型,我们使用的尺度抖动范围为[256,340]。T ×τ = 16×8模型从8×8对应对象初始化,并训练了一半的训练时间,以减少训练时间。对于所有涉及NL的模型,我们使用未接受NL训练的对应模型来初始化它们,以促进收敛。我们只在res4的(融合的)慢特性上使用NL(而不是res3+res4[56])。
在Kinetics上,我们按照[19]的配方,在128个gpu上采用了同步的SGD训练,我们发现它的准确性与典型的8-GPU机器训练一样好,但扩展性很好。mini-batch大小为每个GPU 8个剪辑(因此mini-batch总大小为1024个)。我们使用[23]中的初始化方法。我们用批处理归一化(BN)[28]训练,每8个剪辑计算BN统计量。我们采用学习率衰减的半周期余弦计划[38]:
第n次迭代的学习速率为
其中,n max为最大训练迭代,基础学习速率η设为1.6。
我们还在前8k迭代中使用线性预热策略[19]。对于Kinetic-400,当T ≤ 4帧时,我们训练256个epoch (60k迭代,总小批量大小为1024,in ~ 240k Kinetics视频),当T > 4帧时,我们训练196个epoch:当一个剪辑有更多帧时,训练时间足够短。我们使用0.9的动量和10的-4次方的重量衰减。在最后的分类器层之前使用0.5的Dropout[25]。
对于Kinetics-600,我们将训练时间(和计划)延长2倍,并将基础学习速率η设置为0.8。
对于《Charades》,我们调整了Kinetics模型。使用每类sigmoid输出来解释多类的性质。我们在一台机器上进行24k次迭代训练,使用16个批处理,基本学习率为0.0375 (Kinetics400预训练)和0.02 (kinetics600预训练),如果验证错误饱和,则使用10×逐步衰减。为了进行推断,我们暂时将最大池得分设为[56]。
笔记
背景:视频场景中的帧通常包含两个不同的部分 :
1、不怎么变化或者缓慢变化的静态区域
2、正在发生变化的动态区域(此区域一般为视频中行为发生的重要处)。例如,飞机起飞的视频会包含相对静态的机场和一个在场景中快速移动的动态物体(飞机)。
因此,本文的SlowFast网络:
-
使用了一个慢速高分辨率CNN(Slow通道)来分析视频中的静态内容;
-
同时使用一个快速低分辨率CNN(Fast通道)来分析视频中的动态内容。
-
这一技术部分源于灵长类动物的视网膜神经节的启发,在视网膜神经节中,大约80%的细胞(P-cells)以低频运作,可以识别细节,而大约20%的细胞(M-cells)则以高频运作,负责响应快速变化。
利用FastPath捕捉动作信息;SlowPath捕捉视觉语义信息。
Slow路径:旨在捕获由图像或稀疏帧提供的语义信息,它以低帧率运行,刷新速度慢。
Fast路径:用于捕获快速变化的动作,它的刷新速度快、时间分辨率高。占总计算开销的20%左右。第二个路径通道较少。
如图所示:SlowFast 网络包括低帧率、低时间分辨率的 Slow 路径和高帧率、高时间分辨率(Slow 路径时间分辨率的 α 倍)的 Fast 路径。Fast 路径使用通道数的一部分(β,如 β = 1/8)来轻量化。Slow 路径和 Fast 路径通过横向连接融合。
Slow路径
SlowFast网络使用3D-ResNet,捕捉若干帧后进行3D卷积。
-
低帧率:slow路径输入帧数为T,在视频中每隔τ帧取一帧图像(采样率为τ),τ取16。即视频的总帧数为:τ ×T
-
高通道数:slow的图像帧数比fast路径少,但特征的通道数比fast路径多。
Fast路径
-
高帧率:Fast路径采样αT帧作为输入,比Slow途径密集α倍。时间采样率为 τ/α ,其中 α>1,本文中α = 8.
-
高时间分辨率特征:整个Fast路径中均不使用时间下采样层(既不使用时间池化也不使用时间步长的卷积操作),特征张量在时间维度上总是具有αT帧,尽可能地保持时间保真度。
-
低通道容量: Fast路径的通道数是Slow路径的β(β<1)倍。在文中β=1/8。
详细网络结构
1、上表中,卷积核的尺寸为
其中
分别表示时间、空间和通道channel的尺寸大小。
2、步长为:
3、速率比是α=8,通道比是β=1/8。τ是16。
4、绿色表示高一些的时序分辨率,Fast通道中的橙色表示较少的频道。
横向连接
是用于合并不同级别的空间分辨率和语义的流行技术。
Carreira和Zisserman提出I3D,把two-stream结构中的2D卷积扩展为3D卷积。由于时间维度不能缩减过快,前两个汇合层的卷积核大小是1×2×2,最后的汇合层的卷积核大小是277。和之前文章不同的是,two-tream的两个分支是单独训练的,测试时融合它们的预测结果。
三种横向链接方式:
如上图中所示,来自Fast通道的数据通过侧向连接被送入Slow通道,这使得Slow通道可以了解Fast通道的处理结果。单一数据样本的形状在两个通道间是不同的(Fast通道是{αT, S², βC} 而Slow通道是 {T, S², αβC})。因此,SlowFast对Fast通道的结果进行数据变换,然后融入Slow通道
论文给出了三种进行数据变换的思路:其(作者实验结论第3种效果最好)。
1、Time-to-channel:将{αT, S², βC} 变形转置为 {T , S², αβC},就是说把α帧特征压入一帧中。 2、Time-strided采样:简单地每隔α帧进行采样,{αT , S², βC} 就变换为 {T , S², βC}。
3、Time-strided卷积:用一个
的核进行3d卷积, 输出通道数为2βC(空间维度扩张2倍),时序维度的步长= α(时序维度压缩a倍)。
在每个通道的末端,SlowFast执行全局平均池化,一个用来降维的标准操作,然后组合两个通道的结果并送入一个全连接分类层,该层使用softmax来识别图像中发生的动作。
对于ResNets[24],这些连接位于pool1、res2、res3和res4之后。这两条路径有不同的时间维度,因此横向连接执行一个转换以匹配它们
训练
1)本文的模型是从随机初始化(“从头开始”)开始训练的,不使用ImageNet[7]或任何预训练。
2)对于时间域,随机从全长视频中抽取一个片段(αT×τ帧),慢路径和快路径的输入分别为T帧和αT帧;
3)对于空间域,我们随机从视频或其水平翻转中裁剪224×224像素,较短的边随机抽取[256,320]像素
预测
1)我们对短边重新调整为256的视频执行空间完全卷积推理。
2)对于时域,从全长视频中均匀地采样10个剪辑,并单独计算它们的softmax分数。最终预测是所有剪辑的平均softmax分数。
3)实际的推理时间计算。 由于现有论文在空间和时间上进行裁剪/剪切的推理策略不同。与以前的工作进行比较时,我们在推断时报告了每个时空“视图”(具有空间裁剪的时间片段)的FLOP,并报告了使用的视图数。在我们的案例中,推断时空间大小为256 * 256(而不是 使用224 * 224进行训练)和10个时间片段,每个片段具有3种空间裁剪(30个视图)。