博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动作识别0-03:mmaction2(SlowFast)-白话给你讲论文-翻译无死角(1)
阅读量:723 次
发布时间:2019-03-21

本文共 7177 字,大约阅读时间需要 23 分钟。

以下链接是个人关于mmaction2(SlowFast-动作识别) 所有见解,如有错误欢迎大家指出,我会第一时间纠正。有兴趣的朋友可以加微信:a944284742相互讨论技术。若是帮助到了你什么,一定要记得点赞!因为这是对我最大的鼓励。 文 末 附 带 \color{blue}{文末附带} 公 众 号 − \color{blue}{公众号 -} 海 量 资 源 。 \color{blue}{ 海量资源}。

本 论 文 名 为 : S l o w F a s t N e t w o r k s f o r V i d e o R e c o g n i t i o n \color{red}{本论文名为: SlowFast Networks for Video Recognition} SlowFastNetworksforVideoRecognition

极 度 推 荐 的 商 业 级 项 目 : \color{red}{极度推荐的商业级项目:} 这是本人落地的行为分析项目,主要包含(1.行人检测,2.行人追踪,3.行为识别三大模块):

Abstract

针对于动作识别,我们提出了SlowFast networks。该网络主要包含了两个网络分支:

1.慢速路径:输入低帧数据,主要捕获空间语义信息,
2.快速路径:输入高帧数据,主要捕获时序动作信息。
因为快速路径网络的通道数是比较少的,其是一个轻量级子网络,并且能学习到对动作识别有用的信息。在动作分类方面,我们的模型达到了目前最高的精度。能有该效果,主要受益于 SlowFast 这种结构的提出。我们在标准的基线数据集,如 Kinetics, Charades 以及 AVA 上证明了该模型的可靠性。

1. Introduction

在通常情况下,我们都是等同的去看到一张图像的 x,y(w,h), 同时自然图像的统计也证明了这一点(最近提出的等热线——所有的方向都是同样可能的——和位移不变量)。但是对于视频来说,其对一个维度,表示为 I ( x , y , t ) I(x,y,t) I(x,y,t)。行为动作应该从时空(时间与空间)的角度进行思考,我们不应该相同的去处理时间和空间两个维度。慢动作比快动作更有可能(事实上,我们看到的世界上的大多数都在某个特定时刻处于静止状态),这已经在贝叶斯理论中被利用来解释人们如何感知运动刺激。例如,如果我们孤立地看到一个移动的边缘,例如,如果我们孤立地看到一个移动的边,我们认为它垂直于它自己移动,即使在原则上它也可以有一个切向它自己的任意运动分量(光流中的孔径问题)。如果先前的人赞成缓慢行动,这一观点是合理的。

大家可能对光流中的孔径问题不是很理解,可以阅读一下下面的博客:
如果所有的时空方向不可能是均等的,那么我们就没有理由对称地对待空间和时间,就像在基于时空卷积的视频识别方法中隐含的那样,其是均衡的去对待空间和时间信息了。那么,我们可以“考虑”新架构来分别处理空间结构和时间事件。
视觉内容在空间语义维度往往是缓慢发展的,比如一个挥手的动作,其挥手人的 ID 是不会发生变换的,无论他是跳,跑等等动作,其都是一个人的类别,总体语义是不会改变的。所以行为分析中语义的识别(如它们的颜色、纹理、光线等),这些都是一个缓慢的变化过程,甚至不会改变。被执行的运动变化比比他们的主体身份信息变化得更加快,比喻鼓掌,挥手,跳跃。我们希望迅速的去刷新动作帧,但是不改变执行动作人的身份信息。
基于这种直觉,我们针对视频识别提出了两种路径的 SlowFast 模型,一种路径为,输入少量帧的图片,用于捕获空间语义信息,其它运行在低帧率和缓慢的刷新速度。另外一个路径与其相反,其主要是快速的捕获动作信息,运行在一个高帧率和快速的刷新速度。尽管他在时间维度刷新很快,但是在整个网络中,其只占用了%20的计算量,因为快速路径对空间信息捕获能力较弱,通道数是很少的。但是这些信息都被慢速路径捕获到。后面我们称慢路径为 Slow pathway,快速路径为 Fast pathway。然后 Slow pathway 与 Fast pathway提取的特征,通过 lateralconnections(侧面)连接到一起。
根据我们的理念设置灵活有效的视频识别模型,对于 Fast pathway,由于其是轻量级的,所以在时序维度没有执行任何的 pooling 操作,在整个子网络执行中,都是处于高帧状态。同时,受益于 Slow pathway 操作,其能较好的捕获并且保护空间语义信息。以不同的时间速率处理原始视频,我们的方法允许这两种路径在发挥各自的有点。
另一种著名的视频识别体系结构是双流设计,但是提出的观念和我们的观念是不一致的,其并没有探索时间轴的影响,其是我们提出比较新异的观点。因为其两个流采用相同的主干结构,我们提出的结构有一个轻量级的Fast pathway。我们的算法不需要计算光流,因此可以进行端到端的训练。
我们的方法部分受到灵长类视觉系统中视网膜神经节细胞的生物学研究的启发,虽然不可否认,这种类比是粗糙和不成熟的。这些研究发现在这些细胞中,~ 80%是Parvocellular (P-cells), ~ 15-20%是Magnocellular(M-cells)。M-cells工作在高的时间频率和响应快速的时间变化,但对空间细节和色彩不敏感。P-cells 能够很好的保护色彩,但时间分辨率较低,对刺激反应缓慢。我们的框架在这一点上是类似的:
1.我们的框架存在两个路径Slow pathway 和 Fast pathway 分别在时间维度以高分辨率和底分辨率刷新。
2.我们设计的ast pathway 是为了捕捉快速变化的动作,但包含更少的空间细节。
3.我们的快速途径是轻量级的,类似于m细胞的小比例。
们希望这些关系将启发更多的计算机视觉模型用于视频识别。

2. Related Work

Spatiotemporal filtering. 动作可以表示为时空对象,并在时空中通过定向滤波捕获,就像HOG3D那样,或者3D ConvNets 扩展 2D 图像到时空域,类似地去处理空间和时间维度。也有相关的方法关注长期过滤和使用时间池化层,以及分解成单独的二维空间和一维时间滤波器的卷积。我们的工作追求更彻底的分离出空间和时间。

Optical flow for video recognition. 在基于光流的手工时空特征研究中,有一个经典的分支。这些方法,包括流量直方图,运动边界直方图,和轨迹。在深度学习流行之前表现出最好的精准度。
在深度神经网络的背景下,在深度神经网络中,双流方法[44]通过将光流视为另一种输入模态来利用光流,该方法是文献中许多竞争结果的基础。然而,由于光流是一种手工设计的表示,因此在方法上不能令人满意,而且两流方法常常不能与光流进行端到端联合学习。

3. SlowFast Networks

SlowFast 可以描述为在两个不同帧率下运行的单一流架构,是我们使用通路的概念来反映与生物细小细胞和巨细胞对等物的类比。慢通道(3.1节)和快通道(3.2节),通过与a的横向连接融合慢速网络(第3.3节)。夏图1说明了我们提出的架构。

在这里插入图片描述
图解:Figure 1: SlowFast network 有一个低帧,底时序分辨率的Slow pathway ,以及一个高帧,时序分辨率的Fast pathway。Fast pathway 的时序分辨率为 Slow pathway 的 α α α 倍数,通道数分为Slow pathway 的 β β β 倍(如1/8)。最后进行 Lateral connections 然后两个路径。

3.1. Slow pathway

慢路径可以是任何卷积模型(例如,[12, 49, 5, 56]),其输入源视频剪辑作为一个时空 volume。我们的慢速路径的关键概念是在输入帧上有一个大的时间步伐 τ τ τ, 我们研究的典型价值是16 ,这个刷新速度大约是每秒采样2帧,拍摄30帧/秒的视频。表示通过慢路径采样的帧数为T,原始剪辑长度为 T × τ T×τ T×τ 帧。简单的说,原始输入视频为 T × τ T×τ T×τ 帧,对于快速通道来说,以步伐为 τ τ τ进行采集,采集到 T T T 帧送入慢速通道训练。

3.2. Fast pathway

其于慢速通道平行,快速路径是另一个卷积模型,具有以下特性。

High frame rate. 们的目标是在时间维度上有一个良好的表示,所以 Fast pathway 在时序方向使用步伐比较小的方式进行采样,步伐表示为 τ / α τ/α τ/α,这里的 α > 1 α>1 α>1, 表示 Fast pathway 与 Slow pathway帧率的比值。这两条路径在同一输入视频源上进行剪辑操作(但是步伐不一样)。快速路径采样 α T αT αT帧,比慢路径密度大。在我们的实验中,一个典型的值是 α = 8 α=8 α=8
“慢-快”概念的关键在于时间轴的帧率,这明确地表明,这两种途径的工作在不同的时间速度。从而驱动了两个子网实例化这两个路径的专门知识。
High temporal resolution features. 我们的快速通道不仅具有高的时间分辨率,而且在整个网络层次结构中追求高空间分辨率的特性,在我们的实例化模型中,通过快速路径,直到全局池化层进行分类,我们没有使用时间下行采样层(沿时序方向没有进行池化下采样)。所以我们的 feature tensors 沿时序维度都是保持 α T αT αT 帧的,尽可能保持时间逼真度。
Low channel capacity. 在SlowFast与现在的模型相比,其 Fast pathway 的通道数是很少,是一个轻量级模型,但是却能获得较高的准确率。简而言之,我们的快速路径是一个卷积网络,类似于Slow pathway,但是其每个卷积层通道数都为Fast pathway 的 β ( β < 1 ) β (β < 1) β(β<1) ,在我们实验中, β β β典型的值为 β = 1 = 8 β = 1=8 β=1=8。请注意,公共层的计算(浮点数操作,或FLOPs)通常是根据它的通道比例的二次方。这就是为什么快速路径比慢路径计算效率更高。在我们的实例化中,快速路径通常占用约20%的计算量,有趣的是,正如第一节提到的,有证据表明,灵长类视觉系统中约15-20%的视网膜细胞是m细胞(它们对快速运动敏感,但对颜色或空间细节不敏感)。
其通道数目比较低,也可以理解为对空间的捕获能力弱,从技术上讲,我们的快速通道在空间维度上没有特殊处理。因此,其空间建模能力应低于Slow pathway。模型的良好结果表明,其需要减少Fast pathway对空间的捕获能力,同时增加时间的捕获能力。
基于这一解释,我们也探索了削弱快速通道空间容量的不同方式,包括降低输入空间分辨率和去除颜色信息,正如我们将通过实验证明的那样,这些版本都能提供良好的准确性,这表明一个空间容量较小的轻量级快速路径是有益的。

3.3. Lateral connections

两条通路的信息是融合的,在融合之前其中一条通路并不会意识到另一条通路所习得的信息。融合的方式我们是用 lateral connections。其以及被使用到基于光流的双stream网络,以及图像检测等等。对于融合不同等级分辨率的语义信息,其是目前比较流行的技巧。

与[12,35]类似,我们在每一个“阶段”在两条通路之间附加一个横向连接(Fig. 1)。针对于ResNets,这些侧面连接的部分分别为pool1, res2, res3, 与 res4之后。两种路径的时间维度是不一样的,所以需要对他们进行一个转换,这样才能够进行匹配(详细说明在3.4节)。使用单向连接的方式,融合 Fast pathway 的特征到 Slow pathway。我们也尝试了双向连接的方式,但是获得到差不多的结果。
最后,对于每个 pathway 的输出,然后将两个混合的特征向量串联起来作为全连通分类器层的输入。

3.4. Instantiations

SlowFast 的思想是通用的,可以适用于各种主干网络(如[45, 47, 24]),其实现具体的细节,会在这个子章节进行介绍,讲解如何使用 SlowFast 的结构去实现一个网络。

实现的网络如下Table 1,时空特征使用 T x S 2 TxS^2 TxS2 表示,这里的 T T T 表示时间维度的长度, S S S 表示从空间维度剪切下来图片的长和宽的大小。接下来会进行详细的介绍。
在这里插入图片描述图解:这是对 SlowFast network 的一个实例化网络结构。3D卷积核使用 { T × S 2 , C } \{T \times S^2,C\} {
T×
S2,C}
表示分别表示时间,空间,以及通道数。其步伐为 { t e m p o r a l   s t r i d e , s p a t i a l   s t r i d e 2 } \{temporal ~ stride,spatial ~ stride^2\} {
temporal stride,spatial stride2}
。其上 speed ratio s是 α = 8 α = 8 α=8,channel ratio 是 β = 1 8 β =\frac {1}{8} β=81 τ = 16 τ=16 τ=16。绿色的字体表示高的时序分辨率,橘黄色表示Fast pathway低的通道数。非退化时间滤波器使用下划线标识。剩余块用括号表示。主干是ResNet-50。

Slow pathway

Table 1 是一个,主干网络为3D ResNet 结构的表格。从输入的64帧图像中,使用temporal stride τ = 16 τ = 16 τ=16 稀疏采样的方式,采集 T = 4 T=4 T=4 帧图像作为Slow pathway 的输入。在整个网络中,时序维度上,都没有进行下采样。
和传统的 C3D / I3D 模型不一样,我们只在res4和res5中使用非退化的时态卷积((时间内核大小> 1,下划线见表1)。在Slow pathway中,从 conv1 到 res3 本质上都是使用 2D 卷积核。这样做的原因,是我们通过实验发现,如果在早期的网络层使用带时序的卷积核会降低准确率。我们认为当目标移动比较快,temporal stride 比较大,如果时间感受野比较小,就没有办法把动作连贯起来。除非空间感受野足够大,否则在一个时间感受野内几乎没有相关性。

Fast pathway. Table 1展示的是一个 α = 8 α = 8 α=8 以及 β = 1 / 8 β = 1/8 β=1/8 的例子,其具有高时序的分辨率(绿色表示),低通道数(橘黄色表示)。对于 Fast pathway,在每个 block 中其时序方向都是没有衰减的,这是由观察激发的,该途径保持良好的时间分辨率,为时间回旋捕获详细的运动。此外,设计的快速通道没有时间下行采样层。

Lateral connections. 我们横向连接是从快到慢路径进行融合的,在融合之前,需要匹配特征的大小。Slow pathway 使用 { T , S 2 , C } \{T,S^2,C\} {

T,S2,C}表示特征的形状,Fast pathway 使用 { α T , S 2 , β C } \{αT,S^2,βC\} {
αT,S2,βC}
表示。在实验中,横向连接之前使用了以下方式进行特征形状的转换。

1. T i m e − t o − c h a n n e l : Time-to-channel: Timetochannel: 使用 reshape 或者 transpose 转换 { α T , S 2 , β C } \{αT,S^2,βC\} {

αT,S2,βC} { T , S 2 , α β C } \{T,S^2,αβC\} {
T,S2,αβC}
。意味着打包所有的 α α α 帧到帧的一个通道。

2. T i m e − s t r i d e d s a m p l i n g : Time-strided sampling: Timestridedsampling: 我们简单地从每 α α α 帧中抽取一个样本, 所以{αT,S^2,βC}$ 变成 { T , S 2 , β C } \{T,S^2,βC\} {

T,S2,βC}

3. T i m e − s t r i d e d c o n v o l u t i o n : Time-strided convolution: Timestridedconvolution:执行一个卷积核为 5 × 1 2 5×1^2 5×12的3D卷积,其通道数为 2 β C 2βC 2βC,其 s t r i d e = α stride=α stride=α

侧连接的输出通过求和或连接融合到 Slow pathway 中。

结语

论文的主要类容已经翻译完成了,下篇博客,会为大家翻译其实验对比结果。

在这里插入图片描述

转载地址:http://tvigz.baihongyu.com/

你可能感兴趣的文章