纯Deep Learning干货 | 快慢网络用于视频识别(文末有源码)

2019-05-06 14:44:54 浏览数 (1)

最近看到一个比较好的想法及深度学习框架应用于视频识别类,我想和大家分享一起学习。

这个技术是由何恺明等人提出的,主要用于视频识别的SlowFast网络,提出要分开处理空间结构和时间事件。该网络模型在视频动作分类及检测方面性能很强大,在没有使用任何预训练的情况下,在Kinetics数据集上实现了当前最好的性能水平,在AVA动作检测数据集上也实现了28.3mAP的当前最优异性能表现。

首先得说下这个想法的背景,要不然一头雾水。

在图像识别中,对称处理图像 I(x, y) 中的空间维度 x和y,是常规的做法,自然图像的统计数据证明了其合理性。自然图像的统计数据证明了这一点,自然图像的统计数据是一种近似的各向同性(所有方向都是相同的可能) 及位移不变性。以下两篇很好的总结了:

  • D. L. Ruderman. The statistics of natural images. Network: computation in neural systems, 5(4):517–548, 1994.
  • J. Huang and D. Mumford. Statistics of natural images and models. In Proc. CVPR, 1999.

那么视频信号 I(x, y, t) 呢?

动作是方向的时空对应,但并非所有的时空方向都拥有相同的可能性。慢动作比快动作的可能性大(确实,我们所看到的世界在给定的时刻大多是静止的),这一点在贝叶斯理论中已经被用于解释人类如何感知运动刺激。例如,如果我们看到一个孤立的移动边缘,我们认为它垂直于自身移动,尽管原则上它也可能有一个与自身相切的任意移动组件(光流中的孔径问题)。如果前者倾向于慢动作,这种感知就是合理的。

如果并非所有的时空方向都拥有相同的可能性,那么我们就没有理由像基于时空卷积的视频识别方法那样,对称的看待空间和时间。下面主要就是说时空卷积:

  • D.Tran,L.Bourdev,R.Fergus,L.Torresani,andM.Paluri. Learning spatiotemporal features with 3D convolutional networks. In Proc. ICCV, 2015.
  • J. Carreira and A. Zisserman. Quo vadis, action recognition? a new model and the kinetics dataset. In Proc. CVPR, 2017.

所以,我们需要把该架构进行分解,即分开处理空间结构和时间事件。将这一想法放到识别的语境中,视觉内容的类别空间语义变化通常非常缓慢。例如,挥手并不会在这个动作进行期间改变手的识别结果,某个人始终在人这一类别下,即使他/她从走路切换到跑步。因此类别语义的识别可以以比较慢的速度进行刷新。另一方面,执行动作可以比其主体识别变化速度快得多,如鼓掌、挥手、跳跃等行为,需要用快速刷新帧来有效建模可能快速变化的运动行为。

基于这种想法,何恺明等人展示了一种用于视频识别的双路径SlowFast模型(如下图)。

  • 一个路径主要用于捕获图像或几个稀疏帧提供的语义信息,它以低帧率运行,刷新速度缓慢。
  • 另一个路径主要用于捕获快速变化的动作,它的刷新速度快、时间分辨率高。

尽管如此,第二个路径的体量却非常轻,只占总计算开销的20%左右,因为第二个路径通道较少,处理空间信息的能力较差,但这些信息可以由第一个路径以一种不那么冗余的方式来提供。根据二者不同的时间速度,将其分别命名为Slow路径和Fast路径,二者通过lateral connection进行融合。

这一概念为视频模型带来了灵活、高效的设计。由于自身较轻,Fast 路径不需要执行任何时间池化——它能以高帧率在所有中间层运行,并保持时间保真度。同时,由于时间速率较低,Slow 路径可以更加注重空间域和语义。通过以不同的时间速率处理原始视频,该方法允许两种路径以其特有的方式对视频建模。

研究者在Kinetics和AVA动作检测数据集上对该方法进行了全面评估。在Kinetics动作分类数据集上,该方法在没有任何预训练(如ImageNet)的情况下达到了79%的准确率,大大超过了文献中的最佳水平(超出5.1%)。实验证明了SlowFast概念带来的改进,在AVA动作检测数据集上,SlowFast模型达到了新的当前最佳性能,即28.3%mAP。下面详细说下网络框架。

Slow pathway

慢路径可以是任何卷积模型,它可以作为一个空间卷来处理视频片段。慢路径中的关键概念是一个大时间步长τ在输入帧,即这过程中只有一个τ帧。我们研究的典型值τ为16,即这种刷新速度大约每秒2帧采样在30fps的视频中。表示帧取样的数量为慢路径T,原始的片段长度是T×τ帧。

Fast pathway

快路径与慢路径并行,其是另一种具有以下特性的卷积模型。

  • 高帧率;
  • 高时间分辨率特征:快路径不仅具有高输入分辨率,而且在整个网络层次结构中追求高分辨率特征,在整个快路径中不使用时间下采样层(既不使用时间池化也不使用time-strided卷积),直到分类前使用全局池化层;
  • 低通道容量:快路径也与现有的模型不同,因为它可以使用较低的通道容量来实现快慢网络模型的良好准确性,这使得它很轻。

Lateral connections

内核的维度由{T×S^2 , C}表示,T表示时间分辨率、S表示空间语义、C表示通道数。步长由 {temporal stride, spatial stride^2} 表示。此处速度比例是α = 8,通道比例是β = 1/8,τ = 16。绿色表示Fast路径较高的时间分辨率,橙色表示Fast路径较少的通道数,下划线为非退化时间滤波器(non-degenerate temporal filter),方括号内是残差块,主干网络是ResNet-50。

实验结果及未来展望

在Kinetics动作分类任务上进行的控制变量实验。上表就展示了top-1和top-5分类准确率 (%),以及空间大小为2242的单clip输入的计算复杂度(单位为GFLOPs)。

AVA 动作检测基线:Slow-only vs. SlowFast

SlowFast 模型在 AVA 数据集上的更多实例

在AVA数据集上的Per-category AP:Slow-only基线模型 (19.0 mAP) vs. 对应的SlowFast网络 (24.2 mAP)。黑色加粗类别是净增长最高的5个类别,橙色类别是和Slow-only AP > 1.0对比相对增长最高的5个类别。类别按照样本数来排序。

注意,该控制变量实验中的SlowFast实例并非性能最优模型。

SlowFast网络在AVA数据集上表现的可视化结果。SlowFast网络在AVA验证集上的预测结果(绿色,置信度>0.5)vs. 真值标签(红色)。此处仅展示了中间帧的预测/标签,上图展示的是T ×τ = 8×8的SlowFast模型,获得了26.8mAP。

未来展望

SlowFast方法部分受到灵长类视觉系统中视网膜神经节细胞的生物学研究启发,尽管这种类比有些粗糙且不成熟。研究发现,在这些细胞中,大约80% 是小细胞(P-cell),大约15-20%是大细胞(M-cell)。

M-cell以较高的时间频率工作,对时间变化更加敏感,但对空间细节和颜色不敏感。P-cell提供良好的空间细节和颜色,但时间分辨率较低。SlowFast 框架与此类似:

  • 该模型有两条路径,分别以低时间分辨率和高时间分辨率工作;
  • Fast 路径用来捕捉快速变化的运动,但空间细节较少,类似于 M-cell;
  • Fast 路径很轻,类似于较小比例的 M-cell。

研究者希望这些关系能够启发更多用于视频识别的计算机视觉模型。

论文链接:https://arxiv.org/pdf/1812.03982.pdf

0 人点赞