【算法详解】SlowFast——用于视频识别任务的双通道模型

这篇具有很好参考价值的文章主要介绍了【算法详解】SlowFast——用于视频识别任务的双通道模型。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

0 参考链接

1 SlowFast基本思想

2 SlowFast模型结构

2.1 双通道处理

2.2 具体结构

2.3 横向连接


最近在完成一个视频分类的任务,找到并学习了SlowFast模型。这个模型在我实现的任务中取得了较好的效果,所以今天和大家分享一下我对SlowFast这个模型的理解。当然这个模型并不止于实现视频分类,更多用途等待大家去探索。

0 参考链接

SlowFast论文:SlowFast Networks for Video Recognition

SlowFast模型源码:https://github.com/ facebookresearch/SlowFast

1 SlowFast基本思想

如果我们忽略图片图层的影响,那么我们可以将一张图片看做具有两个维度x和y,分别代表图片的横向和纵向坐标。通常情况下,我们可以认为这两个维度在意义上是对称的,即我们可以同等的对待、处理这两个维度。

但对于视频而言,我们可以将其看做是一系列连续视频帧的集合,那么一个视频就具有三个维度:x、y和t,其中x和y仍是图片的横纵坐标,t代表时间维度。运动是时空领域中与方向相对应的概念,不同的空间-时间方向上的运动并不具有相同的概率分布。因此我们并不能同等的对待这三个维度。

为了更好地理解上一段加粗的话,我们可以从两个方面来看:

空间方向: 在自然界中,不同方向上的运动可能会因环境、物体的性质和外部因素而有所不同。例如,对于地面上的物体,垂直于地面的运动可能会比水平方向上的运动更常见,因为重力的影响会导致物体更容易在垂直方向上运动。此外,一些环境中可能存在偏好的运动方向,比如河流中的水流通常沿特定的方向流动。因此,不同的空间方向上的运动并不是等概率出现的。

时间方向:对于运动的速度来说,慢速运动通常比快速运动更常见。这是因为大部分物体在任意时刻都处于相对稳定的状态,而快速的、剧烈的运动可能相对较少见。例如,人们通常在室内静止或缓慢移动,而高速运动通常需要特定的情境,比如运动比赛或紧急情况。因此,不同时间点上的快速运动的发生概率较低。

当然这并不是这个论文的重点,不理解也没有关系,我的理解也不保证完全正确。

总而言之,我们不应同等地对待时间(t)和空间(x,y)维度,因此SlowFast模型希望通过双通道结构实现对于时间和空间信息的分别处理

2 SlowFast模型结构

2.1 双通道处理

slowfast模型,算法详解,人工智能,视频,机器学习,论文阅读,论文笔记

SlowFast核心是使用双通道处理视频,这两个通道分别命名为Slow pathway(慢速通道)和Fast pathway(快速通道)。整体结构如上图所示。

为了区分这里名称中的通道(pathway)和卷积后的通道数(channel),因此后面将快速和慢速通道成为‘Fast’和‘Slow’,“通道”一词指卷积后的通道。

Slow相较于Fast具有相对较低的帧率,但是具有更多的通道数,Slow用于捕捉空间中的语义信息,即Slow捕捉到了视频中相对静态的信息。

Fast具有更高的帧率,但是具有更少的通道数,这使得Fast的计算量大大减小,但同时也使得Fast对空间信息的建模能力减弱,而更多关注与时间维度上变化明显的信息

Slow和Fast并非独立存在,二者之间的信息融合为单向信息融合,二者通过多次的横向连接实现信息融合,横向连接的方向为从Fast到Slow,这意味着Fast不会接收到有关Slow的任何信息,但是Slow则可以包含Fast中的信息。

具有双通道结构的SlowFast模型到底算不算是双流模型呢?作者在文中给出了答案。

双流模型是通过处理视觉信息和光流信息(即像素级的图像运动信息)以提高任务性能。作者们认为双流模型并没有探索不同帧率的影响,两个流采用相同的骨干网络。而SlowFast考虑到帧率的影响,设计了以不同帧率的Slow和Fast,Fast更加轻量,并且不计算光流,因此算是以两种不同帧率运行的单一流架构

2.2 具体结构

Slow的骨干网络可以是任何卷积网络,它具有时间维度上的步长τ,即从输入的视频帧序列中每τ帧选取一帧进行处理。如果我们认为输入视频片段后Slow一共选取了T帧图像,那么原始输入视频帧总数应为τ*T,这一点是显而易见的。τ的典型值为16。

Fast的骨干网络是另一个卷积模型,它具有更高的帧率,即更小的步长。Fast在时间维度上的步长为τ/α,其中α>1,这意味着它能够从原始输入视频帧中选择更多的帧进行处理(选取αT帧)。α的典型值为8。

对于每次卷积后Slow具有的通道数,Fast进行对应卷积操作后会具有相对更少的通道数,二者具有比例β,即Fast卷积后通道数/Slow卷积后通道数=β,其中β<1。β的典型值为1/8。

一种以ResNet50位骨干网络的SlowFast模型如下图所示。T为时间维度视频帧数量,S为视频帧图像大小。

slowfast模型,算法详解,人工智能,视频,机器学习,论文阅读,论文笔记

2.3 横向连接

Fast和Slow之前的信息融合通过从Fast到Slow的横向连接实现。每个阶段(stage)结束后,都会实现一次横向连接。以上图实例化网络为例,在pool1、res2、res3、res4四个阶段后一共执行了四次横向连接的信息融合。

由于每个阶段结束后Slow和Fast的计算结果会具有不同的形状,无法直接拼接或相加,因此需要先对Fast的计算结果进行变换。

假设某阶段慢速通道输出大小为{T,S­^2,C},其中S为每一帧图像的长和宽,C为输出通道数,则对应阶段快速通道输出大小为{αT,S­^2,βC}。

slowfast论文中一共提供了三种横向连接的具体计算方式。

Time-to-channal通过转置,将全部α帧打包到同一个通道,转换后大小为{T,S­^2,αβC}。

Time-strided-sampling从每α帧中选取一帧,使大小从{αT,S­^2,βC}变为{T,S­^2,βC}。

Time-strided-convolution使用输出通道翻倍的3D卷积,卷积核为5*1*1大小,步长为α,输出大小为{T,S­^2,2βC}

进行变换后与Slow的输出进行拼接或求和即可实现信息融合。文章来源地址https://www.toymoban.com/news/detail-853139.html

到了这里,关于【算法详解】SlowFast——用于视频识别任务的双通道模型的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 行为识别SlowFast笔记--环境配置和Demo展示

    目录 前言: 1--环境配置 2--测试Demo 2-1--测试命令 2-2--测试结果 3--相关报错解决         本地环境如下: Ubuntu 20.04 Cuda 11.3 NVIDIA GeForce RTX 3060         具体请参考官方提供的文档:slowfast官方安装文档,以下为博主在本地安装的过程: ① 配置 python 环境 ② 配置 pytorch 环境 ③

    2024年02月11日
    浏览(44)
  • slowfast源码详解

    首先,我们需要从frame_list文件夹的train.csv/val.csv取出图片地址和视频的名称    第二,从annotation取出标签,其中包括ava_train_v2.2.csv文件中的真实框标签,以及ava_train_v2.2.csv,person_box_67091280_iou90/ava_detection_train_boxes_and_labels_include_negative_v2.2.csv\\\'提供的大于阈值的预测框标签,预测

    2024年02月06日
    浏览(45)
  • [Python从零到壹] 七十三.图像识别及经典案例篇之图像去雾ACE算法和暗通道先验去雾算法实现

    十月太忙,还是写一篇吧!祝大家1024节日快乐O(∩_∩)O 欢迎大家来到“Python从零到壹”,在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界。所有文章都将结合案例、代码和作者的经验讲解,真心想把自己近十年的编程经验分享给大家

    2024年01月17日
    浏览(43)
  • 计算机视觉五大核心研究任务全解:分类识别、检测分割、人体分析、三维视觉、视频分析

    本篇文章深入探讨了计算视觉的定义和主要任务。内容涵盖了图像分类与识别、物体检测与分割、人体分析、三维计算机视觉、视频理解与分析等技术,最后展示了无监督学习与自监督学习在计算机视觉中的应用。 作者 TechLead,拥有10+年互联网服务架构、AI产品研发经验、团

    2024年02月12日
    浏览(51)
  • 利用Adam优化算法进行语音识别任务:提升模型准确率

    作者:禅与计算机程序设计艺术 语音识别是人工智能领域中的一个重要应用,近年来随着深度学习算法的快速发展,语音识别技术也取得了长足的进步。在语音识别任务中,训练模型需要大量的数据和计算资源,而且模型的准确性也是至关重要的。因此,如何提高模型的准确

    2024年02月09日
    浏览(49)
  • SSR-Encoder:用于主题驱动生成的通用编码器详解_AIGC-图片生成视频系列

    本文介绍了SSR-Encoder,一种用于主题驱动生成的通用编码器,能够根据文本提示或掩码查询生成图像,无需额外的测试时间微调。文章详细解释了SSR-Encoder的贡献概述、方法详解以及综合结果,展示了其在图像生成和视频生成方面的有效性。

    2024年02月02日
    浏览(120)
  • Opencv之RANSAC算法用于直线拟合及特征点集匹配详解

    讲述Ransac拟合与最小二乘在曲线拟合上的优缺点 讲述在进行特征点匹配时,最近邻匹配与Ransac匹配的不同之处 另外,Ransac也被用于椭圆拟合、变换矩阵求解等 1.1 原理 RANSAC(RANdom SAmple Consensus,随机采样一致)算法是从一组含有“外点”(outliers)的数据中正确估计数学模型参数的

    2024年02月05日
    浏览(37)
  • 基于瑞利分布的双参数CFAR算法

     function sar_cfar_6(hObject,eventdata,handles,f) %SAR图像CFAR目标检测算法,算法采用的是基于瑞利分布的双参数CFAR算法 %   sar_cfar_4(hObject,eventdata,handles,f),hObject,eventdata,handles分别是 %   图形界面程序传递下来的对象,事件,句柄;在这里,对象和事件均未使用,只使用了 %   句柄,

    2024年02月10日
    浏览(31)
  • 用FPGA实现四通道、全频率 GNSS RF 接收器-用于卫星的精确定位

    全球导航卫星系统(英文:Global Navigation Satellite System,GNSS ),又称全球卫星导航系统,是能在地球表面或近地空间的任何地点为用户提供全天候的3维坐标和速度以及时间信息的空基无线电导航定位系统。其包括一个或多个卫星星座及其支持特定工作所需的增强系统。 全球

    2024年02月04日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包