摘要

我们提出了用于视频识别的Slow Fast 网络。我们的模型引入了一个低帧速率运行的慢速路径(Slow pathway),和一个以高帧速率运行的快速路径(Fast pathway),以良好的时间分辨率捕获运动。Fast pathway可以通过减少它的通道容量使其变得非常轻便(lightweight:???),但是同样可以为视频识别学习到有效的时间信息。我们的模型在视频动作分类和检测方面都取得了出色的表现,并且这个巨大的改善被认为是我们的Slow Fast概念带来的。我们报告了主要视频识别基准,动力学,Charades和AVA的最新准确性。

1. Introduction

通常在图像识别中对图像I(x,y)I(x, y)I(x,y)对称处理两个空间维度xxx和yyy。这由自然图像的统计量证明是正确的,自然统计量是一阶近似的各向同性-所有方向都是同等可能的-并且位移不变(前面这一句话来自谷歌翻译,我也看不懂是啥意思)。但是视频信号I(x,y,t)I(x, y, t)I(x,y,t)呢?运动是方向的对应物,但是所有时空方向并非均等。慢速运动比快速运动更有可能(事实上我们看到的世界都在特定时刻处于静止状态),这一点已经在贝叶斯方法中得到了利用,即人们如何看待运动刺激。例如,如果我们孤立地看到一个运动边缘,即使它在原理上也可能具有与自身相切的任意运动分量(光流中的孔径问题),我们会认为它垂直于自身运动。如果先验者偏爱慢速运动,这种感觉是合理的。

如果不是所有时空方向都一样,那么我们就没有理由对称地处理时间和空间,这正是基于时空卷积的视频识别方法所隐含的[49,5]。 相反,我们可以“分解”架构以分别处理空间结构和时间事件。 为了具体,让我们在承认的背景下研究它。 视觉内容的分类空间语义通常会缓慢发展。

例如,挥舞的手不会在挥舞动作的整个过程中更改其身份为“手”,即使一个人可以从行走过渡到跑步,也始终属于“人”类别。因此,可以相对缓慢地刷新对类别语义(以及它们的颜色,纹理,照明等)的识别。 另一方面,正在执行的动作可能比如拍打,挥舞,摇动,步行或跳跃等主体身份快得多。可能需要使用快速刷新帧(高时间分辨率)来有效地建模可能快速变化的运动。

基于这种直觉,我们提出了一种用于视频识别的两路SlowFast模型(图1)。 一种途径被设计为捕获可以由图像或少量稀疏帧给出的语义信息,并且它以较低的帧速率和较慢的刷新速度运行。 相反,另一条路径通过以快速刷新速度和高时间分辨率进行操作来捕获快速变化的运动。尽管其时间速率很高,但该途径非常轻巧,例如约占总计算量的20%。这是因为该路径被设计为具有较少的通道和较弱的处理空间信息的能力,而此类信息可以由第一路径以较少冗余的方式提供。我们称第一个为慢速路径,第二个是快速路径,这是由他们不同的时空速度驱动的。 这两个路径通过横向连接融合在一起。

我们的概念理念导致了视频模型的灵活有效的设计。 快速路径由于其轻量级的性质而无需执行任何时间池化,它可以为所有中间层以高帧速率运行并保持时间保真度。 同时,由于较低的时间速率,慢速路径可以更集中于空间域和语义。 通过以不同的时间速率处理原始视频,我们的方法允许这两种途径在视频建模方面拥有自己的专业知识。

还有另一种众所周知的视频识别架构,该架构具有两流设计[44],但提供了概念上不同的观点。 Two-stream方法[44]尚未探讨不同时间速度的潜力,这是我们方法中的关键概念。

Two-stream方法对两个流采用相同的主干结构,而我们的快速路径更轻巧。 我们的方法不计算光流,因此,我们是从原始数据中端对端学习模型的。 在我们的实验中,我们观察到SlowFast网络在经验上更有效。

我们的方法部分受到灵长类动物视觉系统中视网膜神经节细胞生物学研究的启发[27、37、8、14、51],尽管可以肯定的是,这种类比是粗略而为时过早的。这些研究发现,在这些细胞中,约80%是细小细胞(P细胞),约15-20%是小细胞(M细胞)。 M单元以较高的时间频率运行,并对快速的时间变化做出响应,但对空间细节或颜色不敏感。 P细胞可提供良好的空间细节和色彩,但时间分辨率较低,对刺激反应缓慢。我们的框架的相似之处在于:(i)我们的模型有两种分别在低和高时间分辨率下起作用的途径; (ii)我们的快速通道旨在捕获快速变化的运动,但与M细胞类似,却能捕获较少的空间细节; (iii)我们的快速通路是轻量级的,类似于小比例的M细胞。 我们希望这些关系将激发更多的计算机视觉模型用于视频识别。

我们在Kinetics-400 [30],Kinetics-600 [3],Charades [43]和AVA [20]数据集上评估我们的方法。 我们对动力学作用分类的综合消融实验证明了SlowFast的功效。 SlowFast网络在所有数据集上都设置了新的最新技术,与文献中的先前系统相比有了显着提高。

2.Related Work

Spatiotemporal filtering. 可以将动作表述为时空对象,并通过时空中的定向过滤来捕获,如HOG3D [31]和cuboids[10]所做的那样。 3D ConvNets [48、49、5]将2D图像模型[32、45、47、24]扩展到时空域,类似地处理时空维度。也有一些相关方法侧重于使用时间跨度[52、13、55、62]进行长期滤波和合并,以及将卷积分解为单独的2D空间和1D时间滤波器[12、50、61、39]。

除了时空滤波或它们的可分离版本,我们的工作通过使用两种不同的时间速度来追求更彻底的建模专业知识分离。

Optical flow for video recognition. 有一个经典的研究分支集中在基于光流的手工时空特征上。 这些方法,包括流量直方图[33],运动边界直方图[6]和轨迹[53],在深度学习盛行之前就已经表现出了动作识别方面的竞争优势。

在深度神经网络的背景下,双流方法[44]通过将光流视为另一种输入形式来利用光流。 在文献[12,13,55]中,这种方法已经成为许多竞争结果的基础。 但是,考虑到光流是手工设计的表示,并且在方法学上不能令人满意,并且经常无法与流一起端对端地学习两种流方法。

3.SlowFast Networks

SlowFast网络可以描述为以两种不同帧速率运行的单流体系结构,但是我们使用路径的概念来反映与生物细小细胞和巨细胞细胞类似物的类比。 我们的通用架构具有慢速路径(第3.1节)和快速路径(第3.2节),它们通过与SlowFast网络的横向连接(第3.3节)融合在一起。 图1说明了我们的概念。

3.1 Slow pathway

Slow pathway可以是任何在视频片段上作为时空体积工作的卷积模型。慢速通道中的关键概念是输入帧上的较大时间跨度τττ,即,它仅处理τ帧中的一个。 我们研究的τττ的典型值为16,对于30 fps的视频,此刷新速度约为每秒采样2帧。 将慢速路径采样的帧数表示为T,原始剪辑长度为T×τT×τT×τ帧。

3.2 Fast pathway

与慢速路径平行,快速路径是具有以下属性的另一个卷积模型。

High frame rate. 我们的目标是沿时间维度更好地表示。 我们的快速路径的时间跨度为τ/ατ/ατ/α,其中α>1α> 1α>1是快速路径和慢速路径之间的帧频比。 这两个路径在相同的原始片段上运行,因此快速路径对αTαTαT帧进行采样,其密度是慢速路径的ααα倍。 在我们的实验中,典型值为α=8α= 8α=8。

ααα的存在是SlowFast概念的关键(图1,时间轴)。 它明确表明这两个路径以不同的时间速度工作,从而驱动了实例化这两个路径的两个子网的专业知识。

High temporal resolution features. 我们的快速通道不仅具有高输入分辨率,而且在整个网络层次结构中追求高分辨率功能。在我们的实例中,在整个Fast路径中,直到分类之前的全局池化层,我们都没有使用任何时间下采样层(时间池或时间卷积)。因此,我们的特征张量始终沿时间维度具有αTαTαT帧,从而尽可能地保持时间保真度。

**Low channel capacity.**我们的快速通道因为可以使用低得多的通道容量来为SlowFast模型获得良好的精度而与现有模型不同。这使得其轻便。

简而言之,我们的快速路径是类似于慢速路径的卷积网络,但是具有慢速路径的β(β<1)个通道比率。 在我们的实验中,典型值为β= 1/8。请注意,就其通道缩放比例而言,公共层的计算(浮点运算或FLOP)通常是二次的。 这就是使快速路径比慢速路径更有效的计算方法。 在我们的实例中,Fast路径通常需要约总计算量的20%。 有趣的是,如第二节所述。 如图1所示,有证据表明,灵长类动物视觉系统中约有15-20%的视网膜细胞是M细胞(对快速运动敏感,但对颜色或空间细节不敏感)。

低通道容量也可以解释为表示空间语义的能力较弱。 从技术上讲,我们的快速通道在空间维度上没有特殊处理,因此,由于通道数量较少,其空间建模能力应低于慢速通道。 我们模型的良好结果表明,快速路径削弱其空间建模能力同时增强其时间建模能力是理想的折衷方案。

受这种解释的激励,我们还探索了削弱Fast路径中空间容量的不同方法,包括降低输入空间分辨率和删除颜色信息。 正如我们将通过实验显示的那样,这些版本都可以提供良好的准确性,这表明可以使空间容量较小的轻量级Fast路径受益匪浅。

3.3 Lateral connections

两种途径的信息是融合在一起的,因此,一种途径并没有意识到另一种途径所学的表示形式。 我们通过横向连接来实现这一点,横向连接已用于融合基于光流的两流网络[12、13]。 在图像对象检测中,横向连接[35]是一种用于融合不同级别的空间分辨率和语义的流行技术。

类似于[12,35],我们在每个“阶段”的两个路径之间都连接了一个横向连接(图1),特别是对于ResNets [24],这些连接紧接在pool1,res2,res3和res4之后。 两个路径具有不同的时间维度,因此横向连接进行匹配以匹配它们(在第3.4节中有详细说明)。我们使用单向连接将快速路径的特征融合到慢速路径中(图1)。 双向融合,发现相似的结果。

3.4 Instantiations

我们对SlowFast的想法是通用的,可以用不同的主干网(例如[45、47、24])和具体实现实例化。 在本小节中,我们描述了网络体系结构的实例。

表1中指定了一个SlowFast模型示例。我们用T∗S2T*S^2T∗S2表示时空大小,其中TTT是时间的长度,SSS是方形空间作物的高度和宽度。接下来说明。

Slow pathway表1中的Slow pathway是从[12]修改而来的时间跨度3D ResNet。它具有T=4T=4T=4帧作为网络输入,是从64帧原始剪辑中以时间跨度τ=16τ=16τ=16稀疏采样的。我们选择在此实例中不执行时间下采样,因为这样做输入跨度很大。

与典型的C3D / I3D模型不同,我们仅在res4和res5中使用非简并的时间卷积(时间内核大小> 1,在表1中加下划线); 从conv1到res3的所有过滤器在此路径中基本上都是2D卷积核。

这是因为我们的实验观察结果表明,在较早的层中使用时间卷积会降低准确性。 我们认为这是因为,当物体快速移动且时间跨度较大时,除非空间接收场足够大(即在后面的层中),否则在时间接收场内几乎没有相关性。

Fast pathway. 表1显示了α= 8和β= 1/8的快速途径的一个例子。 它具有更高的时间分辨率(绿色)和更低的通道容量(橙色)。

快速路径在每个块中都有非退化的时间卷积。 这是由于以下观察所激发的,即该路径为时间卷积捕获详细运动提供了良好的时间分辨率。 此外,根据设计,Fast路径没有时间下采样层。

Lateral connections. 我们的横向连接从快速路径过渡到慢速路径。 在融合之前,需要匹配特征的大小。 将慢速路径的特征形状表示为{T,S2,C}\{T, S^2, C\}{T,S2,C},快速路径的特征形状为{αT,S2,βC}\{αT,S^2,βC\}{αT,S2,βC}。 我们在横向连接中尝试以下转换:

(i) Time-to-channel: 我们重塑和移置{αT,S2,βC}\{αT,S^2, βC\}{αT,S2,βC}变成{T,S2,αβC}\{T,S^2,αβC\}{T,S2,αβC},这意味着我们将所有α帧打包到一帧的通道中。
(ii)Time-strided sampling: 我们每ααα取样1帧,所以{αT,s2,βC}\{αT, s^2, βC\}{αT,s2,βC}就变成了{T,S2,βC}\{T, S^2, βC\}{T,S2,βC}。
(iii)Time-strided convolution: 我们使用2βC2βC2βC输出通道对5∗125*125∗12内核进行3D卷积,步幅为2。

通过求和或串联将横向连接的输出融合到Slow路径中。

持续更新中…

SlowFast Networks for Video Recognition,凯明老师的Slow Fast学习笔记相关推荐

  1. 【论文笔记】SlowFast Networks for Video Recognition

    目录 1,摘要 2,介绍 3. SlowFast 网络 3.1 Slow路径 3.2 Fast 路径 3.3 横向连接 3.4 网络实现 参考文献 参考 1,摘要 本论文提出了用于视频识别的SlowF ...

  2. 【slowfast复现 训练】训练过程 制作ava数据集 复现 SlowFast Networks for Video Recognition 训练 train

    目录 前言 一,ava相关文件准备 1.1 空间准备(500G) 1.2 整体ava文件结构 1.3 frames文件 1.4 frame_lists 文件 1.5 annotations 文件 二, ...

  3. 【论文翻译】SlowFast Networks for Video Recognition

    目录 其它参考资料 Abstract 1,Introduction 2,Related Work 3. SlowFast Networks 3.1. Slow pathway 3.2. Fast pa ...

  4. 人体行为识别:SlowFast Networks for Video Recognition

    参考文献:https://arxiv.org/abs/1812.03982 代码实现:https://github.com/facebookresearch/SlowFast SlowFast Net ...

  5. 【SlowFast复现】SlowFast Networks for Video Recognition复现代码 使用自己的视频进行demo检测

    目录 一,准备 1.1代码 1.2 环境准备 1.3 搭建镜像 1.4 配置slowfast环境 1.5 ava.json 1.6 SLOWFAST_32x2_R101_50_50.yaml 1.7 ...

  6. 《周志明的软件架构课》学习笔记 Day11

    1.主动学习 TCC事务 TCC(Try-Confirm-Cancel) TCC 方案,它天生适合用于需要强隔离性的分布式事务中,它是一种业务侵入性较强的事务方案,要求业务处理过程必须拆分为" ...

  7. 《周志明的软件架构课》学习笔记 Day6

    1.主动学习 RESTful 服务 REST概念:资源,表征,状态,转移. 服务端与客户端分离(Client-Server) 无状态(Stateless) 可缓存(Cacheability) 分层系统 ...

  8. 《周志明的软件架构课》学习笔记 Day7

    1.主动学习 本地事务如何实现原子性和持久性 事务处理 事务处理几乎是每一个信息系统中都会涉及到的问题,它存在的意义就是保证系统中的数据是正确的,不同数据间不会产生矛盾,也就是保证数据状态的一致性(C ...

  9. 《周志明的软件架构课》学习笔记 Day5

    1.主动学习 远程服务调用(Remote Procedure Call,RPC) RPC 是我们构建分布式系统的最基本前置条件. 这篇文章我们来了解周志明老师笔下的 RPC. RPC 出现的最初目的, ...

最新文章

  1. jquery选择器 之 获取父级元素、同级元素、子元素
  2. php中mysql和mysqli_php mysqli中-和::有什么区别?
  3. 数论六之计算几何干货——计算几何模板解释全集 及 模板检验训练场
  4. 2015英特尔® 实感™ (Intel® RealSense™) 动手开发实验课
  5. 类和对象编程(三):构造函数析构函数
  6. 漫画 | 强化学习这都学不会的话,咳咳,你过来下!
  7. Boost-IO学习 异步数据处理Simple(转)
  8. mysql split 分割文件名_【原】mysql5.6 split函数_字符串的分割
  9. ArcMap没有工具条和菜单栏的解决方法
  10. php 拼音搜索,通过拼音模糊搜索汉字的功能实现
  11. 浅谈对JAVA堆栈的理解
  12. 51单片机农历转换公历c语言算法,51单片机阳历转农历(仅仅是阳历转阴历例程)...
  13. 自学量化投资之旅-学习第一个策略EMV指标
  14. 万字长文:功能安全量产落地的三座大山
  15. 如何用计算机算出男朋友的身高,【趣味物理】如何用物理方法测出男生的真实身高?...
  16. 视频监控系统及系统各节点设备理解和监控系统发展简介
  17. Multi-armed Bandit Experiments
  18. 基于rt-thread的udp客户端
  19. Flink的web界面无法访问
  20. go pear.php 下载,请注意!有人攻破了PEAR网站并篡改了go-pear.phar安装包

热门文章

  1. Python爬虫视频课程:中国女性胸部大小分析-李宁-专题视频课程
  2. 试题六(java+设计模式)
  3. 一个Spring Bean从诞生到逝去的九次人生转折!
  4. linux命令简写和全称和功能,Linux命令简写和全称
  5. DNS BIND 搭建域名智能解析DNS服务器之IP地址归类(ACL)
  6. 光纤激光器仿真:(6)Q开关-锁模的实时动力学
  7. 深度学习目标检测数据VisDrone2019(to yolo / voc / coco)---MMDetection数据篇
  8. 服装ERP软件体系究竟差在哪里?
  9. 【硬十宝典】——1.2【基础知识】开关电源各种拓扑结构的特点
  10. go的滚咕噜咕噜滚和点心的龙卷风的实现原理