动作识别0-04:mmaction2(SlowFast)-白话给你讲论文-翻译无死角(2)
以下链接是个人关于mmaction2(SlowFast-动作识别) 所有见解,如有错误欢迎大家指出,我会第一时间纠正。有兴趣的朋友可以加微信:a944284742相互讨论技术。若是帮助到了你什么,一定要记得点赞!因为这是对我最大的鼓励。
动作识别0-00:mmaction2(SlowFast)-目录-史上最新无死角讲解
4. Experiments: Action Classification
我们使用标准的视频识别方式评估了该算法,针对于动作分类,使用被广泛使用的 Kinetics-400,Kinetics-600 以及 Charade 数据集作为基准。对于动作检测,在第 5 小节进行讲解。我们使用挑战的AVA数据集。
Training. 基于 Kinetics 数据集使用随机初始化训练的模型(不使用基于ImageNet的预训练模型)。我们按照[19]中的方法使用同步的SGD训练,详见附录。
对于时间维度,我们从一个视频全部帧中,剪辑出 帧。Slow and Fast pathways 网络的输入大小分别为 以及 。对于空间维度,从 256x320视频随机剪切 224x224 像素大小的图片,进行随机水平反转。
Inference 跟随通常的做法,沿时间维度采样10个 clips 片段,对于每 clips,我们将较短的空间侧缩放到256像素,并取3个crops 256×256图像,覆盖空间维度。类似于一种全卷积的测试方式,接下来使用 softmax scores 进行预测分类。
我们报告了实际的推理时间,对于在时间和空间维度的 cropping/clipping 和现在一些存在的推理方式不一样。相对于最近的一些算法,我们报告每个时空"view"(temporal clip with spatial crop) 的数目。回想一下我们的例子,在推断的时候,其大小为(代替训练时的), 以及 10 个时间维度上的 clips,每个 clips 都包含了3个空间维度上的 crops。所以推断时,在时空上共 3x10 个 “view”。
Datasets. Kinetics-400 包含了大约 240k 个训练视频,以及 20k 个评估视频,行为动作的种类共400。 Kinetics-600 包含了大约 392k 个训练视频,以及 30k 个评估视频,行为动作的种类共600。我们报告了 top-1 与 top-5 的分类准确率,我们报告了单个空间中央裁剪的剪辑的计算成本(单位为FLOPs)。
Kinetics-400 包含了大约 9.8k 个训练视频,以及 1.8k 个评估视频,行为动作的种类共157。其是一个多标签的数据集,性能以平均精度来衡量。
4.1. Main Results
Kinetics-400. 下表Table 2展示了 SlowFast 与最先进算法比较的结果,使用各种类型()的输入,与主干网络:ResNet-50/101(R50/101) [24] and Nonlocal (NL) [56]。
与最先进的算法进行比较, top-1 的准确率,我们提高了2.1%,我们的算法大幅度的超过使用ImageNet作为预训练的模型。特别是,我们的模型(79.8%)比之前最好的结果(73.9%)绝对要好5.9%。我们也尝试了 SlowFast 使用 ImageNet 的预训练模型,发现和不加载ImageNet 预训练模型的效果差距不大,约 ±0.3%。
我们的结果以较低的推理时间成本获得,注意到现在很多存在的算法,都报告沿着时间维度使用稠密的 clips 采样方式。在推断的时候,甚至多余 100 个 “views” ,这里消耗的时间经常被忽略掉了,与子相反,我们的算法在时序方向不需要很多的 clips, 虽然时间分辨率高,但是 Fast pathway 是轻量级的,平均下来我们每个时空“views”的消耗是很低的 (e.g., 36.1 GFLOPs),同时还有很高的准确率。
Table2图解:在 Kinetics-400 数据集上与最先进的算法进行比较,在最后一列我们报告了推断时一个“view"(temporal clip with spatial crop)x 所使用的此类视图的数量。慢速模型具有不同的输入采样()和骨架(R-50, R-101, NL)。“N/A”表示我们无法获得该数值。
图2中对比了表2中的慢速变异体(不同骨架和样本率)及其对应的慢速变异体,以评估快速变异体带来的改善。Fig. 2如下所示:
图解Figure 2. 在 Kinetics-400数据集上对Accuracy/complexity的权衡,SlowFast (green) 与 Slow-only (blue) 架构进行对比。 可以看到SlowFast的准确率一致都是高于 Slow-only。. SlowFast 获得了更高准确率以及更低的性能消耗(如红色箭头)。复杂度为单个视图,通过30视图测试获得精度
从图2可以看出,对于所有变量,Fast pathway 都能够以相对较低的成本持续地提高慢 Slow pathway的性能。在下一个子章节,基于 Kinetics-400 数据集提供更加详细的数据。
Kinetics-600 相对来说是比较新的数据集,以及存在的实验结果是比较少的。所以我们的目标主要是在表3中提供结果供以后参考如下。
注意的是,Kinetics-600 和 Kinetics-400 的训练数据集是有重叠部分的,在 ActivityNet Challenge 2018比赛中的胜利者报告了他们最优的模型。当模态的准确率为79.0%,我们展现出了更加好的效果,为 81.8%。
Charades 是具有较长范围活动的数据集。Table4 报告了我们结果,如下:
为了公平的进行对比,我们的基线是只有Slow pathway 的对应方,其mAP为39.0mAP。SlowFast 增加 3.1mAP(达到42.1)。如果额外再加入NL(光流)能够再提高0.4mAP。如果使用基于 Kinetics-600 的预训练模型,能够提高到 45.2 mAP。
4.2. Ablation Experiments
在这个小节,我们将基于 Kinetics-400 数据集研究SlowFast的准确率和计算成本。
Slow vs. SlowFast. 我们首先通过改变样本率()来探讨SlowFast 与 Slow 的互补问题。因此对 α 进行消融实验。在前面的 Fig. 2 中,展示了 Slow 与 SlowFast 模型准确率和计算复杂度的对比。可以看到,在Slow pathway 中,将帧数增加一倍可以提高性能(纵轴)计算成本加倍(横轴),但是 SlowFast 显著的提高性能,只增加了少量的计算成本。即使Slow pathways使用高帧率运行。绿色箭头说明了将快速通道添加到相应的仅慢速架构的好处。红色箭头说明慢速提供更高的精度和降低的成本。
接下来Table 5 中对 Fast pathway 进行了一系列的消融实验,默认的 SlowFast,, R-50 网络结构。如下:
图解Table 5:这是 Fast pathway 基于Kinetics-400的消融实验,我们报告了 top-1 和 top-5 的分类准确率,以及用浮点运算GFLOPs(以乘加数的# * 109表示)测量的计算复杂度)为单个剪辑输入的空间大小
。当使用固定数量的30个视图时,推理时间计算成本与此成比例。R-50支柱:4×16日。
Individual pathways. 首先在Table 5a 的前两排展示了使用单个 pathway 的精确率。缓慢和快速路径的默认实例化非常轻量级,只有27.3和6.4 GFLOPs,32.4M和0.53M参数,产生72.6%和51.7%的最高精度。分别。如果他们共同使用,这些通道将由他们的专门知识设计,就像接下来的烧蚀一样。
SlowFast fusion. Table 5a 展示了Slow 与 Fast pathways 的融合方式。作为一个简单的融合基线,我们报告了一个没有使用 lateral connection 的实验结果:它只连接两个路径的最终输出。这种变异有73.5%的准确性,比慢Slow Fast pathways 多出0.9%准确率。
接下来,我们使用time-to-channel (TtoC), time-strided sampling(T-sample)以及 time-strided convolution (T-conv)进行了烧烛实验。对于能够匹配通道维度的TtoC,我们还报告了通过元素级求和(TtoC, sum)进行融合。对于所有其他变体,融合采用连接。
Table 5a 显示 SlowFast 模型的结果都是优于Slow-only pathway的,性能最好的是使用 lateral connection of T-conv。Fast pathways 比Slow-only pathway好3.0%。我们使用T-conv作为默认值。有趣的是,仅快速途径只有51.7%的准确性(表5a)。但是它给慢路径带来了高达3.0%的改进,表明由快路径建模的底层表示在很大程度上是互补的。我们通过下一组洗礼来加强这一观察。
Channel capacity of Fast pathway. 凭借一个关键的自觉-快速路径采用低通道的方式,来降低其对空间信息的捕获能力。其通道的数目通过进行控制。Table 5b显示出了对准确率的影响。
最好的结果为 和 (默认设置)。 可以看到 到 其结果都是优于 Slow-only 的。特别的是,当 只增加了 1.3 GFLOPs(约5%)却提高了1.6%的准确率。
Weaker spatial inputs to Fast pathway. 更进一步,我们我们减少Fast pathway 模型空间信息的输入。考虑到以下几点:
1.空间分辨率减少一半(112x112),使用 (vs默认1/8)大致维持FLOPs不变。
2.使用 gray-scale 当作输入帧。
3.“time difference" frames,通过用前一帧减去当前帧来计算。
4. Fast pathway使用光流当作输入。
Table 5c 显示,这些方式都是有着不错效果的,都比Slow-only的效果好。尤其是输入gray图像的效果和输入RGB图像效果是非常接近的。但是 FLOPs 减少了接近5%,有趣的是,这也与m细胞对颜色不敏感的行为一致[27,37,8,14,51]。
我们观察表格,Table 5b 和 Table 5c 的结果是令人信服的,虽然时间分辨率是比较高的,但是Fast pathway网络是轻量级的。
Training from scratch. 我们的模型从scratch(随机初始化)开始训练,不使用 ImageNet 的预训练模型。为了进行公平的比较,检查潜在的影响是有帮助的(正影响或者负影响)。为此,我们训练了[56]中指定的完全相同的3D ResNet-50架构。我们训练完全相同的3D ResNet-50架构在[56]中指定,使用我们的大规模SGD食谱从零开始训练。
Table 6显示了使用这个3D R-50基线架构的比较,我们观察到,我们的训练配方取得了与所报道的ImageNet 预训练版本相当好的结果。当食谱还在的时候[56]不能很好地进行从头开始的直接培训,这表明,作为实验基础的训练系统对这个基线模型没有损失,尽管没有使用ImageNet进行预训练。
5. Experiments: AVA Action Detection
Dataset. AVA数据集[20]专注于人类行为的时空定位,数据取自437部电影,提供了每秒一帧的时空标签,每个人都有一个边框和(可能有多个)动作。AVA的难点是动作检测,而actor定位难度较小。而actor本地化则不那么具有挑战。