Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >经典重温:FAIR提出SlowFast,用双分支非对称网络处理不同采样率的视频!代码开源!

经典重温:FAIR提出SlowFast,用双分支非对称网络处理不同采样率的视频!代码开源!

作者头像
CV君
发布于 2021-12-27 08:39:41
发布于 2021-12-27 08:39:41
1.3K0
举报

本文分享论文『SlowFast Networks for Video Recognition』,FAIR提出《SlowFast》,用双分支非对称网络处理不同采样率的视频!代码已开源!

详细信息如下:

  • 论文链接:https://arxiv.org/abs/1812.03982
  • 项目链接:https://github.com/facebookresearch/SlowFast

导言:

在本文中,作者提出了用于视频识别的SlowFast网络,本文的模型涉及以低帧率运行的Slow pathway,以捕获空间语义,以及以高帧率运行的Fast pathway,以高时间分辨率捕获运动。通过减少通道容量,可以使Fast pathway变得非常轻巧,但可以学习有用的时间信息以进行视频识别。本文的模型在视频中实现了动作分类和检测的强大性能,并且是由于本文的SlowFast概念的贡献而做出了巨大的改进。本文提出的SlowFast网络在多个视频动作识别的benchmark上(Kinetics, Charades and AVA),实现了SOTA的性能。

01

Motivation

在图像I(x,y) 的识别中,习惯将两个空间维度x和y对称地处理。但是在视频信号I(x,y,t) 中,运动是方向的时空对应物,但并非所有的时空取向都是相同的。在现实中,慢速运动比快速运动更有可能。

如果所有时空方向的可能性都不相同,那么我们就没有理由像基于时空卷积的视频识别方法所隐含的那样,对称地对待空间和时间维度。基于这种直觉,作者提出了一种用于视频识别的双路径SlowFast模型 (如上图所示)。

一条路旨在捕获可以由图像或少数稀疏帧给出的语义信息,并且它以低帧率和缓慢的刷新速度运行相反,另一条路负责捕捉快速变化的运动,它以快速刷新率和高时间分辨率运行。Fast pathway的时间分辨率非常高,但是这条路径非常轻量级。这是因为该路径被设计为具有较少的通道和较弱的处理空间信息的能力,而这些信息可以由第一条路径以较少的冗余方式提供。第一条路径称为Slow路径,另一条路径称为Fast路径。这两条通路通过横向连接融合在一起。

本文的方法为视频模型带来了灵活有效的设计。Fast pathway由于其轻量级特性,不需要执行任何时间池化,它可以在所有中间层的高帧率下运行,并保持时间灵活性。同时,由于较低的时间采样率,Slow pathway可以更多地集中在空间域和语义上。通过以不同的时间采样率处理原始视频,本文的方法允许这两条路径在视频建模方面拥有自己的专业知识。

本文的方法部分受到灵长类动物视觉系统中视网膜神经节细胞生物学研究的启发。这些研究发现,在这些细胞中,80% 是小细胞 (P细胞) 和15-20% 是巨细胞 (M细胞)。M细胞在高时间频率下运行,并对快速的时间变化做出响应,但对空间细节或颜色不敏感。P细胞提供清晰的空间细节和颜色,但时间分辨率较低,对刺激反应缓慢。

本文的框架在以下几个方面类似:(1)本文的模型有两条路径,分别在低和高时间分辨率下工作;(2)本文的Fast pathway设计用于捕捉快速变化的运动,但空间细节较少,类似于M细胞;(3)本文的Fast pathway是轻量级的,类似于小比例的M细胞。作者希望这些关系将启发更多的计算机视觉模型用于视频识别。

02

方法

2.1. Slow pathway

Slow pathway可以是任何卷积模型,在视频片段上进行操作。本文的Slow pathway中的关键概念是输入帧上的较大时间步幅 τ,即它仅处理 τ 帧中的一个。将Slow pathway采样的帧数表示为T,原始片段长度为T × τ 帧。

2.2. Fast pathway

与Slow pathway平行,Fast pathway是另一个具有以下性质的卷积模型。

High frame rate

Fast pathway的目标是在时间维度上有一个清晰的表示。Fast pathway的时间步幅为 τ/α,其中 α> 1是Fast pathway和Slow pathway之间的帧率比。这两条路径在相同的原始片段上运行,因此Fast pathway采样αT帧,密度是Slow pathway的α倍。在实验中,通常α=8。

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

High temporal resolution features

本文的Fast pathway不仅具有高输入分辨率,而且还在整个网络层次结构中追求高分辨率特征。在作者的实例化中,整个Fast pathway中不使用时间下采样层(既不使用时间池化也不使用时间步长卷积),直到分类之前的全局池层。因此,特征张量在时间维度上总是有αT帧,尽可能保持时间细节。

Low channel capacity

Fast pathway与现有模型的区别在于,它可以使用显著较低的通道容量来实现SlowFast模型的良好准确性,这也使网络更加轻量化。通道容量低也可以解释为表示空间语义的能力较弱。从技术上讲,Fast pathway在空间维度上没有特殊处理,因此由于通道较少,其空间建模能力应低于Slow pathway。本文模型的良好结果表明,Fast pathway在增强其时间建模能力的同时削弱其空间建模能力是理想的权衡。

2.3. Lateral connections

两条路径的信息是融合的,因此一条路径并不不知道另一条路径学习到的表示。作者通过横向连接实现这一点,横向连接已用于融合基于光流的双流网络。在图像目标检测中,横向连接是一种流行的技术,用于合并不同级别的空间分辨率和语义。作者为每个 “stage” 在两条路径之间连接一个横向连接。

对于ResNet,这些连接就在pool 1、res 2、res 3和res 4之后。这两条通路具有不同的时间维度,因此横向连接需要执行一些变换使之匹配。最后,对每个路径的输出执行全局平均池化。然后,将两个合并的特征向量进行concat,作为全连接层分类器的输入。

2.4. Instantiations

本文的SlowFast的想法是通用的,它可以用不同的主干网络来实例化。在本小节中,作者描述了网络结构的实例。上表中展示了一个SlowFast模型的示例。作者用表示时空大小,其中T是时间长度,S是方形空间的高度和宽度。

Slow pathway

上表中的Slow pathway是时间上的3D ResNet。它具有T = 4帧作为网络输入,用时间τ = 16步幅在64帧原始片段中稀疏采样得到。作者选择在此实例化中不执行时间下采样,因为当输入步幅较大时,这样做会有害。

Fast pathway

上表展示了α=8和β=1/8的Fast pathway示例,它具有更高的时间分辨率和更低的通道容量。

Lateral connections

本文的横向连接从Fast pathway融合到Slow pathway。它需要在融合前匹配特征的大小。将Slow pathway的特征形状表示为,Fast pathway的特征形状表示为。在横向连接中,作者尝试了以下变换:

  1. Time-strided sampling : 将 reshape并转置为,这意味着将所有 α 帧打包为一帧的通道。
  2. Time-strided sampling :从每个α帧中采样一帧,因此变成。
  3. Time-strided convolution :使用一个输出通道为2βC,步长为α,大小为的卷积核执行3D卷积。

03

实验

3.1. Main Results

上表展示了本文方法和SOTA方法在Kinetics-400数据集上的对比,可以看出,本文方法有明显的性能提升。

上表展示了本文方法和SOTA方法在Kinetics-600数据集上的对比,可以看出,本文方法有明显的性能提升。

上表展示了本文方法和SOTA方法在Charades数据集上的对比。

上表展示了本文方法在动作检测任务上和SOTA的对比。

3.2. Ablation Experiments

上图展示了Slow网络(蓝色)和SlowFast网络(绿色)在Kinetics-400数据集上,准确率和计算量的对比。

上表展示了本文方法在结构和超参数设置上的一些消融实验。

上表展示了本文方法从头开始训练和使用ImageNet预训练权重的实验结果。

上表展示了本文方法在动作检测任务上的消融实验结果。

上表展示了SlowFast和Slow在动作识别任务上的对比结果。

04

结论

本文解决的是视频识别任务,视频中有两类动作,一种是slow action,这类动作跨越的时间维度比较长,可以通过比较稀疏的采样就可以感知;另一类的fast action,这类动作变化较快,需要通过比较密集的采样,基于这样一个现象。作者将网络分成了两个分支,slow path的采样率较低,网络也较大,可以捕获更加丰富的特征,fast path的采样率更高,网络较小,因此可以较少高采样率带来的高计算量。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-12-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 我爱计算机视觉 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Cursor 玩转 腾讯地图 MCP Server
腾讯地图WebService API 是基于HTTPS/HTTP协议构建的标准化地理数据服务接口。该接口支持跨平台调用,开发者可使用任意客户端、服务器端技术及编程语言,遵循API规范发起HTTPS请求,获取地理信息服务(目前支持JSON/JSONP格式的数据返回)。
不惑
2025/04/27
1810
Cursor 玩转 腾讯地图 MCP Server
PHP开发玩转MCP〡腾讯地图SSE接入Cursor客户端应用
2024 年 11 月,Anthropic 公司搞了个挺有意思的新玩意 - Model Context Protocol(模型上下文协议)简称为 MCP 协议。简单来说,它就是给 AI 和各类工具数据之间搭了个标准化的”桥梁”,让开发者不用再为对接问题头疼了。
Tinywan
2025/05/06
3990
PHP开发玩转MCP〡腾讯地图SSE接入Cursor客户端应用
微信小程序获取当前位置和城市名
1, 获取当前地理位置,首先要拿到用户的授权wx.openSetting; 2,微信的getLocation接口,获取当前用户的地理位置(微信返回的是经纬度,速度等参数); 3,微信没有将经纬度直接转换为地理位置,借用腾讯位置服务中关于微信小程序的地理转换JS SDK 的API(返回信息中包括国家,省,市,区,经纬度等地理位置) 步骤描述清楚以后,下面就开始按步骤操作了;(本文仅仅讲述如何获取用户地理位置的授权)
江一铭
2022/06/16
4.1K0
微信小程序获取当前位置和城市名
MCP 实践系列:看热点、蹭热点,创作与摸鱼两手抓!
连续工作累死人,身心疲惫时,总得有那么一点时间给自己松口气。每当这个时候,我总喜欢偷偷摸摸地看看新闻,整理一下逐渐疯狂的思维。毕竟,谁说程序员就只能埋头写代码?谁规定了只能死磕在堆积如山的bug中?
努力的小雨
2025/05/08
51514
小白入门必看 ‘’微信小程序地图定位开发教程‘’
目前腾讯位置服务提供路线规划、地图选点、地铁图、城市选择器插件四款插件产品,本篇博客主要针对地图选点功能进行实现。
腾讯位置服务
2021/04/30
3.7K0
基于腾讯地图定位组件实现周边公用厕所远近排序分布图
地图应用非常广泛,目前地图服务,都提供地图操作、标注、地点搜索、出行规划、地址解析、街景等接口,功能非常丰富。在实际开发过程中,各有优劣。本次基于需求,使用腾讯位置服务作为一个公用厕所位置标注的H5页面开发。
腾讯位置服务
2021/04/09
1.6K0
微信小程序结合腾讯地图获取用户所在城市信息
实现小程序进去后会获取用户当前所在城市,然后显示该城市的数据,并且显示在导航栏和 Tab上。
腾讯位置服务
2020/08/28
2.1K0
vue 集成腾讯地图基础api Demo集合
vue 集成腾讯地图基础api Demo集合(基础地图引入与展示模块,地址逆解析,3D/2D切换 ,位置服务,mark标记)
腾讯位置服务
2021/07/02
1.2K0
地图服务新风向:百度、高德、腾讯纷纷加码 MCP Server
MCP(Model Context Protocol)协议的出现,为地图服务与 AI 大模型的深度融合提供了全新的契机。
AIGC新知
2025/04/02
1.3K0
地图服务新风向:百度、高德、腾讯纷纷加码 MCP Server
从零玩转系列之 MCP AI 理论+项目实战开发你的MCP Server
halo,我是不易, 继ChatGPT发布已经过去了快三年了, 随着 AI 人工智能的不断发展给我们开发人员甚至UI设计人员带来了巨大的变化.
杨不易呀
2025/05/11
1.9K18
从零玩转系列之 MCP AI 理论+项目实战开发你的MCP Server
【Android 腾讯地图】腾讯地图开发记录 ① ( 地图基础显示 | 创建应用和申请key | 配置远程依赖库 | 配置腾讯地图 Key | 同意隐私协议 | 布局设置 | 覆盖自定义地图图片 )
进入 腾讯位置服务 控制台页面 : https://lbs.qq.com/dev/console/home ,
韩曙亮
2024/04/28
8770
【Android 腾讯地图】腾讯地图开发记录 ① ( 地图基础显示 | 创建应用和申请key | 配置远程依赖库 | 配置腾讯地图 Key | 同意隐私协议 | 布局设置 | 覆盖自定义地图图片 )
腾讯地图Javascript API GL
腾讯位置服务在多平台为开发者提供了丰富的地图展现形式,帮助从属于不同领域的开发人员轻松完成构建地图并在其基础上打造专属内容的工作。同时配合海量数据、个性化定制、可视化等能力满足各个行业场景下对地图的需求。
鱼找水需要时间
2023/02/16
2.6K0
腾讯地图Javascript API GL
地图API上线微信服务平台,小程序开发者如虎添翼
1月9日,一年一度的微信公开课如期而至。这两天小编的朋友圈已经被有关微信的各种消息刷屏。在这个令众多开发者和商户期待的重要日子里,小编可以很自豪的说,腾讯位置服务没有缺席! 就在同一天,我们在微信开放社区推出的服务平台中上架了一系列API接口,成为首批入驻服务平台的服务商,并且迄今为止提供了数量最多的接口能力,帮助小程序开发者以最便捷的方式,快速接入地图能力。 在公开课上,微信小程序负责人多次提到一句话:要帮助商家打造属于自己的商业闭环。而在一个完整的商业闭环中,没有位置服务的参与简直是不可想象的。电商行
腾讯位置服务
2020/01/14
3.1K0
地图API上线微信服务平台,小程序开发者如虎添翼
腾讯云智能体开发平台的MCP上手指南
MCP(Model Context Protocol,模型上下文协议)是专为大语言模型(LLM)应用设计的开放协议,旨在实现LLM与外部数据源、工具的无缝集成。它通过统一的接口规范,将原本分散的API插件集成简化为“即插即用”的模式,如同AI领域的"USB-C接口",解决传统API插件集成中存在的多协议适配、高开发成本等问题。对于企业和开发者来说,这意味着AI应用和Agent的边界将进一步拓展,开发门槛也进一步降低。
相柳
2025/04/17
3500
腾讯云智能体开发平台的MCP上手指南
腾讯位置服务入门 使用JavaScript API GL自定义3D地图
1. 准备 使用腾讯位置服务需要申请服务密钥 注意:此案例中需使用webservice,建议使用IP/域名授权方便测试,生产环境如需使用签名校验方式授权参考此处 JavaScript API GL官
路过君
2020/12/25
2.2K0
手把手教你使用 mcp-server 生成高德地图旅游攻略并部署到 EdgeOne Pages
目标:看完这篇文章你就能学会如何使用调用高德地图 MCP Server 服务生成旅游攻略 以及 腾讯云 EdgeOne MCP Server 部署 HTML 并分享给其他人
Gorit
2025/04/24
9890
手把手教你使用 mcp-server 生成高德地图旅游攻略并部署到 EdgeOne Pages
【玩转 腾讯云 EdgeOne Pages】拿到Offer,租房怎么办?看我用高德MCP+腾讯云MCP,帮你分分钟搞定!
在线体验地址:https://mcp.edgeone.app/share/O-Fz2ylrifDMKmWpYNL__
LucianaiB
2025/04/01
8011
【玩转 腾讯云 EdgeOne Pages】拿到Offer,租房怎么办?看我用高德MCP+腾讯云MCP,帮你分分钟搞定!
腾讯位置服务开发应用-使用教程,案例分享,知识总结
作为一名在职岗位为【前端开发工程师】的程序员,我开发的应用程序经常需要获取用户位置信息,需要再某些场合下使用展示地图以及地图商的某些地点,需要获取行政区划列表(省市区)以及地址详情信息,需要在地图上规划一条(动态)路线,轨迹回放,小车移动,需要创建信息窗口,用于地点的摘要性信息的展示。
达达前端
2020/12/28
6.6K0
腾讯位置服务开发应用-使用教程,案例分享,知识总结
MCP 实践系列:股票分析
今天,我们介绍了一个通过 Financial Datasets 获取股票市场数据的接口。这个接口不仅支持其他 AI 助手通过 MCP 接口 直接检索关键的财务数据(如损益表、资产负债表、现金流量表),还可以获取实时的股票价格和市场新闻。这个功能特别适合那些刚入门投资领域的用户进行配置使用,因为它能够让你在不离开工作环境的前提下,实时关注股市动态。相比于一直盯着与工作无关的网页,这样的配置能够有效避免领导觉得你在“摸鱼”。而且,借助将该功能集成到 IDE 编辑器 中,不仅可以留下刻苦工作的印象还能查看实时新闻和股票波动。
努力的小雨
2025/05/09
2670
手把手教你使用 mcp-server —— vscode + 实现高德地图 MCP 生成旅游攻略
目标:看完这篇文章你就能学会如何使用 mcp-server 调用高德地图 Web API 服务!
Gorit
2025/05/24
5740
手把手教你使用 mcp-server —— vscode + 实现高德地图 MCP 生成旅游攻略
推荐阅读
Cursor 玩转 腾讯地图 MCP Server
1810
PHP开发玩转MCP〡腾讯地图SSE接入Cursor客户端应用
3990
微信小程序获取当前位置和城市名
4.1K0
MCP 实践系列:看热点、蹭热点,创作与摸鱼两手抓!
51514
小白入门必看 ‘’微信小程序地图定位开发教程‘’
3.7K0
基于腾讯地图定位组件实现周边公用厕所远近排序分布图
1.6K0
微信小程序结合腾讯地图获取用户所在城市信息
2.1K0
vue 集成腾讯地图基础api Demo集合
1.2K0
地图服务新风向:百度、高德、腾讯纷纷加码 MCP Server
1.3K0
从零玩转系列之 MCP AI 理论+项目实战开发你的MCP Server
1.9K18
【Android 腾讯地图】腾讯地图开发记录 ① ( 地图基础显示 | 创建应用和申请key | 配置远程依赖库 | 配置腾讯地图 Key | 同意隐私协议 | 布局设置 | 覆盖自定义地图图片 )
8770
腾讯地图Javascript API GL
2.6K0
地图API上线微信服务平台,小程序开发者如虎添翼
3.1K0
腾讯云智能体开发平台的MCP上手指南
3500
腾讯位置服务入门 使用JavaScript API GL自定义3D地图
2.2K0
手把手教你使用 mcp-server 生成高德地图旅游攻略并部署到 EdgeOne Pages
9890
【玩转 腾讯云 EdgeOne Pages】拿到Offer,租房怎么办?看我用高德MCP+腾讯云MCP,帮你分分钟搞定!
8011
腾讯位置服务开发应用-使用教程,案例分享,知识总结
6.6K0
MCP 实践系列:股票分析
2670
手把手教你使用 mcp-server —— vscode + 实现高德地图 MCP 生成旅游攻略
5740
相关推荐
Cursor 玩转 腾讯地图 MCP Server
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档