《VideoMamba》论文笔记

原文链接:

[2403.06977] VideoMamba: State Space Model for Efficient Video Understanding (arxiv.org)

原文笔记

What:

VideoMamba: State Space Model for Efficient Video Understanding

作者探究Mamba模型能否用于VideoUnderStanding作者引入了 VideoMamba,这是一种基于 SSM 的模型,专为视频理解量身定制。VideoMamba 和谐地融合了 vanilla ViT [15] 风格的卷积和注意力的优势。它为动态时空上下文建模提供了一种线性复杂度的方法,非常适合高分辨率长视频。VideoMamba 具有四个关键能力:

1:视觉领域中的可扩展性

2:短期动作识别的敏感性

3:在长时视频理解上的优势

4:与其他模态的兼容性

总结一句话就是VideoMamba相较于Transformer对长时视频建模在效果保持的情况下效率更高

Why:

为了解决视频理解中的局部冗余全局依赖的双重挑战。

探究Mamba模型能否用于VideoUnderStanding

Challenge:

如何将2D的Vim转换到视频的3D数据当中

Idea:

这项工作创新性地将曼巴应用到了视频领域。

Model:

以下我自己绘图来解释以下它输入的张量是怎样流动过模型的

从原文角度理解就应该是这样了(如有问题请您不吝指正)如果再细节一些就需要看代码了

(在不远的将来将会结合我自己的研究方向跑一下这个代码)

这里的位置编码和时序编码的shape其实应该再经过进一步的处理,但这种程度更方便理解,具体细节请结合以下原文翻译进行理解,这里不多赘述

原文翻译经过机翻手修,应该比较易懂了

原文翻译

Abstract

为了解决视频理解中的局部冗余全局依赖的双重挑战,这项工作创新性地将曼巴应用到了视频领域。提出的VideoMamba克服了现有3D卷积神经网络和VIT的局限性。它的线性复杂度算子实现了高效的长期建模,这对于高分辨率长视频的理解至关重要。广泛的评估揭示了VideoMamba的四个核心能力:(1)由于一种新的自蒸馏技术,无需大量数据集预训练即可在视觉领域具有可扩展性;(2)即使是细粒度的运动差异,对短期动作的识别灵敏度;(3)在长期视频理解方面的优势,与传统的基于特征的模型相比有显著进步;(4)与其他模态的兼容性,在多模态环境中表现出鲁棒性。通过这些独特的优势,VideoMamba为视频理解树立了一个新的标杆,为全面的视频理解提供了一个可扩展和高效的解决方案。所有代码和模型都是公开的。

1 Introduction

视频理解的核心目标是掌握时空表示,这本质上提出了两个艰巨的挑战:短视频剪辑中的大时空冗余以及长上下文之间的复杂时空依赖关系。尽管曾处于主导地位的 3D 卷积神经网络 (CNN) [9,19,76] 和VIT [2,4] 有效地通过利用局部卷积远程注意力解决了提到的挑战之一,但它们未能同时解决两者。UniFormer[44]试图整合这两种方法的优点,但它很难对长视频进行建模,然而对视频进行长时建模是最近关于视频理解[48,72]和生成[5,92]研究的主要趋势。 

NLP 域中 S4 [26]、RWKV [73] 和 RetNet [70] 等低成本算子的出现为视觉模型开辟了新的途径。

Mamba[25]以其选择性状态空间模型(SSM)脱颖而出,在保持线性复杂度和促进长期动态建模之间取得平衡。这一创新促进了它在视觉任务中的采用,如Vision Mamba[91]和VMamba[50]所证明的那样,它利用多方向SSM来增强2D图像处理。这些模型在性能上可与基于注意力的架构相媲美,同时显着减少了内存使用。鉴于视频产生的固有较长序列,一个自然的问题出现了:Mamba 能否很好地适用于视频理解?

受此启发,我们引入了 VideoMamba,这是一种基于 SSM 的模型,专为视频理解量身定制。VideoMamba 和谐地融合了 vanilla ViT [15] 风格的卷积和注意力的优势。它为动态时空上下文建模提供了一种线性复杂度的方法,非常适合高分辨率长视频。相关评估侧重于 VideoMamba 的四个关键能力:

(1)视觉域中的可扩展性:我们检查 VideoMamba 的可扩展性并发现,虽然纯 Mamba 模型随着规模的增加而趋于过拟合,但我们引入了一种简单而有效的自蒸馏策略,允许 VideoMamba 随着模型和输入大小的增加而实现显着的性能改进,而无需大规模数据集预训练。

(2) 短期动作识别的敏感性:我们的分析扩展到评估 VideoMamba 准确区分短期动作的能力,尤其是那些具有细粒度运动差异的动作,例如打开和关闭。研究结果表明,VideoMamba 优于现有的基于注意力的模型 [2,4,52]。更重要的是,它也适用于掩码建模,进一步增强了其时间敏感性。

(3) 长期视频理解的优越性:然后我们评估 VideoMamba 在解释长视频方面的贡献。它通过端到端训练展示了优于传统基于特征的方法[35,47]的显著优势。值得注意的是,VideoMamba比TimeSformer[4]快6倍,64帧视频的GPU内存减少了40倍(见图1)

(4)与其他模态的兼容性:最后,我们评估了VideoMamba与其他模态的适应性。视频文本检索的结果显示了它相较于ViT的性能提升,特别是在具有复杂场景的长视频中。这强调了它的鲁棒性和多模态集成能力。

总之,我们的深入分析揭示了VideoMamba在理解短期(K400[36]和SthSthV2[24])和长期(Breakfast[37]、COIN[71]和LVU[84])视频内容方面的巨大潜力。鉴于VideoMamba的效率和有效  性,有望成为长视频理解领域的基石。所有代码和模型都是开源的以促进未来的研究努力。

2 Related Works

2.1 State Space Models

最近,状态空间模型 (SSM) 在捕获语言序列的动态和依赖性方面显示出状态空间转换的显着有效性。[26]引入了一个结构化的状态空间模型(S4),专门设计用于对远程依赖进行建模,具有线性复杂度的优势。在此基础上,开发了各种模型(如S5[66]、H3[20]和GSS[56]),Mamba[25]通过引入依赖于数据的SSM层和使用并行扫描的选择机制(S6)展现了自身的特殊性。与基于二次复杂度注意的Transformer[6,54]相比,Mamba擅长处理以线性复杂度的长序列。

在视觉领域,[26]首先在像素级图像分类中应用SSM,[35]使用S4处理视频片段分类的长程时间依赖性。此外,Mamba 的巨大潜力激发了一系列工作 [28,30,46,50,78,87,91],这表明 Mamba 在对象检测和语义分割等视觉下游任务上比 Transformer 具有更好的性能更高的 GPU 效率。与之前的工作不同,我们的VideoMamba是一个基于SSM的纯视频模型,在短期和长期视频理解方面都表现出了高效率和有效性。

2.2 Video Understanding

视频理解是计算机视觉领域的基石,随着短视频平台的快速增长,其意义进一步扩大。为了支持该领域,已经开发了许多配备广泛数据和细致人工注释的数据集,旨在提高人类动作识别能力。值得注意的例子包括 UCF101 [67] 和 Kinetics 数据集 [7, 8, 36],它们在基准测试进度中发挥了关键作用。此外,其他数据集 [22, 27, 31, 34, 49, 62] 提供了为动作定位量身定制的注释活动视频,促进了对人类活动的更深入研究。除了动作识别之外,大规模视频文本数据集 [10, 12, 57, 82, 86, 88] 的出现将视频理解的效用扩展到多模态任务领域,例如视频字幕、检索和问答,从而扩大了应用范围。(说的是数据集的事)

至于架构,它已经从使用从视频帧中提取特征的 CNN 发展到更高级的技术。最初,3D CNN[9,17,76,77]扩展了传统的2D CNN架构来捕获视频的时空信息。双流[65]结合了空间和时间流TSN[80],提出了稀疏采样和SlowFast[19],它使用并行网络来捕获语义和快速运动,进一步增强动作识别能力。基于注意力的模型[2,4,59,63,89]的引入,如TimeSformer[4]和ViViT[2],通过有效地捕获视频序列中的远程依赖关系,增强了时间关系的理解,取得了显著的进展。最近的发展[42,44,52,83]集中在准确的videotransformer上,视频Swin的窗口注意[52]和UniFormer对卷积和自我注意机制[44]的集成等创新,旨在平衡计算效率和性能。尽管这些模型在各种任务上取得了成就,但它们通常对长序列具有很高的计算成本。相比之下,我们的 VideoMamba 引入了一个线性复杂度算子来有效地进行长期建模,其性能优于现有方法,速度更快,GPU 消耗更低。(说的是模型架构的事)

3 Method

3.1 Preliminaries

一维序列的SSM。状态空间模型(SSMs)是基于连续系统概念化的,该系统通过隐藏状态h(t)∈RN映射一维函数或序列x(t)∈RL→y(t)∈RL。形式上,SSM 采用以下常微分方程 (ODE) 对输入数据进行建模:

其中 A ∈ RN ×N 表示系统的演化矩阵,B ∈ RN ×1, C ∈RN ×1 是投影矩阵。这种连续的 ODE 在现代 SSM 中是通过离散化来逼近的。Mamba [25] 是连续系统的离散版本之一,它包括时间尺度参数 Δ 将连续参数 A、B 转换为其离散参数 A拔、B拔。变换通常采用零阶保持 (ZOH) 方法,定义为:

与主要依赖线性时不变SSM的传统模型相反,Mamba的特点是将选择性扫描机制(S6)作为其核心SSM算子。在S6中,参数B∈R B×L×N, C∈R B×L×N,∆∈RB×L×D直接推导自输入数据x∈RB×L×D,表明具有上下文敏感性和自适应权重调制的内在能力。图2a显示了Mamba区块的详细信息。

双向SSM视觉。最初的曼巴块是为一维序列设计的,不适合需要空间意识的视觉任务。在此基础上,Vision Mamba在图2b中引入了双向Mamba (B-Mamba)块,该块适用于特定于视觉的应用程序的双向序列建模。该块通过同时向前和向后ssm处理平坦的视觉序列,增强了其空间感知处理能力。在这项工作中,我们扩展了B-Mamba块用于3D视频理解。

3.2 VideoMamba

概述。图3展示了VideoMamba的总体框架。具体来说,我们首先使用3D卷积(即1×16×16)将输入的videos X^v∈R^3×T×H×W(通道数*时间*高*宽)投影到L个不重叠的时空patch中Xp∈R^L×C中,其中L=t×h×w (t=T,h=H/16,w=W/16)。输入到以下VideoMamba编码器的令牌序列是

X = [Xcls, X] + ps + pt,(7),

其中Xcls是一个可学习的分类token,它被添加到序列的开始。根据之前的工作[2,4,15],我们增加了一个可学习的空间位置嵌入ps∈R^(hw+1)×C,以及额外的时间位置嵌入pt∈R^t×C来保留时空位置信息,这样做的原因是SSM模型对token的位置很敏感

token X之后被传入由L个堆叠的B-Mamba块,最后一层的[cls]token在经过归一化层和线性层的处理进行分类。

时空扫描。为了将B-Mamba层应用于时空输入,我们将原始的2D扫描扩展为不同的双向3D扫描,如图4所示:(a) spatial - first,按位置组织空间标记,然后逐帧堆叠;(b)时间优先,根据框架安排时间标记,然后沿着空间维度堆叠;(c) Spatiotemporal,是SpatialFirst和Temporal-First的混合,v1执行一半,v2执行全部(2倍计算)。此外,我们在图7a中的实验表明,空间优先的双向扫描是最有效且最简单的。由于曼巴的线性复杂性,我们的VideoMamba能够有效地处理高分辨率的长视频。

与Vim[91]和vamba[50]的比较。我们的VideoMamba基于Vim构建,但通过省略中间[CLS]令牌和旋转位置嵌入(RoPE[68])等功能来简化其架构,从而在ImageNet-1K上获得卓越的性能,Vim- ti和Vim- s分别获得+0.8%和+0.7%的收益。与vamba不同,它包含了额外的深度卷积,VideoMamba严格遵循ViT设计,没有下采样层。为了解决在vomamba中观察到的过拟合问题,我们在3.3节中介绍了一种有效的自蒸馏技术,演示了各向同性VideoMamba在图像和视频任务方面的巨大可扩展性。

与TimeSformer[4]和ViViT[2]的比较。传统的基于注意力的模型(如TimeSformer和ViViT)通过采用分割的时空注意力来解决自注意机制的二次复杂度问题。尽管效率更高,但与联合注意相比,它引入了额外的参数,表现不佳,特别是在涉及屏蔽预训练的场景中[43,74]。相比之下,VideoMamba处理具有线性复杂性的时空标记,在kinect -400上优于TimeSformer +2.6%,在SthSthV2上取得了显著进步,提高了+5.9%(见表3和表4)。此外,VideoMamba在处理长视频时实现了6倍的处理速度提高,并且需要的GPU内存减少了40倍,如图1所示,显示了其在处理长视频任务方面的效率和有效性。

3.3 Architecture

对于B-Mamba层的SSM,我们采用Mamba中的默认超参数[25]。设置状态维度为16,扩展比例为2。根据ViT[15],我们调整深度和嵌入维度,创建表1中可比较大小的模型,包括VideoMamba-Ti、VideoMamba-S和VideoMamba-M。然而,我们观察到,在我们的实验中,较大的VideoMamba倾向于过拟合,导致次优性能,如图6a所示。这种过拟合问题不仅存在于我们的模型中,也存在于VMamba[50]中,其中vamba - b在总训练周期的四分之三时达到了最佳性能。为了抵消较大的曼巴模型中的过拟合,我们引入了一种有效的自蒸馏策略,该策略使用一个较小且训练良好的模型作为“老师”来指导较大的“学生”模型的训练。结果如图6a所示,表明该策略可以获得预期的更好的收敛性。

3.4 Masked Modeling

最近,VideoMAE和ST-MAE[18,74]已经展示了掩模建模在增强模型细粒度时间理解能力方面的显著优势。UMT[43]进一步引入了一种有效的屏蔽对齐技术,该技术可以在单模式和多模式视频任务中产生稳健的结果。为了增强VideoMamba的时间敏感性并验证其对文本模态的适应性,我们采用了一种受UMT启发的屏蔽对齐方法。首先,VideoMamba从头开始对视频数据进行训练,将未屏蔽的令牌与来自CLIP-ViT的令牌对齐。随后,它与文本编码器和跨模态解码器(即BERT[14])集成,用于图像文本和视频文本数据集的预训练。

重要的是要注意它与UMT的区别,UMT在学生和教师模型之间采用多层对齐。相比之下,由于VideoMamba的独特架构(SSM vs. Transformer),我们只对齐最终输出。关于我们的掩蔽策略,我们提出了不同的行掩蔽技术,如图5所示,根据B-Mamba块对连续令牌的偏好量身定制。此外,我们探索了注意力掩蔽,以保持令牌之间有意义的邻接关系,利用B-Mamba块内1D卷积的固有优势来提高性能。

4 Experiments

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/499966.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

若依ruoyi-vue实现excel导入导出

文章目录 Excel注解excel数据导入前端实现后端实现 下载模板前端实现后端实现 excel数据导出前端实现后端实现 自定义标题信息导出用户管理表格新增标题(用户列表)导入表格包含标题处理方式 自定义数据处理器自定义隐藏属性列导入对象的子对象导出对象的…

6、父子组件传参、路由的嵌套、命名视图、路由跳转传参

一、父子组件传参 1、父传子 在父组件的子组件中自定义一个属性在子组件中有一个props属性&#xff0c;用来接收父组件传递的数据,传递的数据不能修改,还可以设置默认值 <!-- 父组件 -->data() {return {flag: false,num:10, //传的参数free:}} <!-- :type1"…

【论文通读】UFO:A UI-Focused Agent for Windows OS Interaction

UFO&#xff1a;A UI-Focused Agent for Windows OS Interaction 前言AbstractMotivationMethodsExperimentConclusion 前言 Windows客户端第一个JARVIS&#xff0c;利用GPT4 Vision识别截图信息辅助智能体自动化执行操作&#xff0c;作为微软大肆宣传的一篇工作&#xff0c;其…

头歌 实验二 Java类编程实验

头歌 实验二 Java类编程实验 制作不易&#xff0c;点个关注&#xff01;给大家带来更多的价值&#xff01; 目录 头歌 实验二 Java类编程实验制作不易&#xff0c;点个关注&#xff01;给大家带来更多的价值&#xff01;第一关&#xff1a; 编写一个代表三角形的类第二关&…

【干货分享】OpenHarmony轻量系统适配方案

1. 简介 本文在不改变原有系统基础框架的基础上&#xff0c; 介绍了一种OpenAtom OpenHarmony&#xff08;以下简称“OpenHarmony”&#xff09;轻量系统适配方案。 本方案使用的是 OpenHarmony v3.2 Release版本源码。 2. 方案设计 本文使用的硬件模块的主要特性及功能如…

2024.3.25-26记:二叉树的遍历

二叉树的遍历深度优先遍历(DFS)递归遍历前序递归遍历&#xff1a;中序递归遍历后续递归遍历 非递归遍历前序非递归遍历中序非递归遍历后续非递归遍历 宽度优先遍历&#xff08;BFS): 二叉树的遍历 二叉树遍历大体上分为深度优先遍历&#xff08;DFS)和宽度优先遍历(BFS)&#…

天梯练习题集

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;折纸花满衣 &#x1f3e0;个人专栏&#xff1a;题目解析 目录 &#x1f449;&#x1f3fb;L1-002 打印沙漏&#x1f449;&#x1f3fb;L1-011 A-B &#x1f449;&#x1f3fb;L1-002 打印沙漏 mycode: #…

LLMs之Grok-1.5:Grok-1.5的简介、安装和使用方法、案例应用之详细攻略

LLMs之Grok-1.5&#xff1a;Grok-1.5的简介、安装和使用方法、案例应用之详细攻略 导读&#xff1a;xAI公司在不久前发布了Grok-1模型以及模型结构&#xff0c;揭示了公司到去年11月为止在大语言模型研发上的进步。2024年3月28日(美国时间)&#xff0c;xAI以“迅雷不及掩耳之势…

labelme的安装与使用以及如何将labelme标注的json格式关键点标签转为yolo格式的标签

有任何问题我们一起交流&#xff0c;让我们共同学习 标注的json格式以及转换后的yolo格式示例希望得到您的指导背景及代码可用范围一、yolo关键点检测数据集格式二、labelme的安装和使用&#xff08;一&#xff09;labelme的安装&#xff08;二&#xff09;labelme的使用 三、j…

算法打卡day31|贪心算法篇05|Leetcode 435. 无重叠区间、763.划分字母区间、56. 合并区间

算法题 Leetcode 435. 无重叠区间 题目链接:435. 无重叠区间 大佬视频讲解&#xff1a;无重叠区间视频讲解 个人思路 和昨日的最少箭扎气球有些类似&#xff0c;先按照右边界排序&#xff0c;从左向右记录非交叉区间的个数。最后用区间总数减去非交叉区间的个数就是需要移除的…

Jenkins实现CICD

Jenkins实现CICD JenkinsCI简介环境安装新建任务源码管理构建配置发送邮件配置自动化项目定时构建 JenkinsCD简介配置ssh保证其可以免登录接下来配置github的webhook正式实现自动化打包master主分支的代码将前端三剑客代码文件发送到网站服务器对应的tomcat Jenkins面试题 Jenk…

JSON数据的类型

JSON 代表 JavaScript Object Notation。JSON是开放的标准格式&#xff0c;由key-value对组成。JSON的主要用于在服务器与web应用之间传输数据。 PostgreSQL提供了两种存储JSON数据的类型&#xff1a;json和jsonb&#xff1b; jsonb是json的二进制形式。 json格式写入快&#x…

书生浦语训练营2期-第一节课笔记

笔记总结: 了解大模型的发展方向、本质、以及新一代数据清洗过滤技术、从模型到应用的典型流程、获取数据集的网站、不同微调方式的使用场景和训练数据是什么&#xff0c;以及预训练和微调在训练优势、通信/计算调度、显存管理上的区别。 收获&#xff1a; 理清了预训练和微调…

T1 藻类植物 (15分)- 京东前端岗笔试编程题 题解

考试平台&#xff1a; 牛客网 题目类型&#xff1a; 选择题&#xff08;40分&#xff09; 3道编程题&#xff08;60分&#xff09; 考试时间&#xff1a; 2024-03-23 &#xff08;两小时&#xff09; T1 藻类植物 &#xff08;15分&#xff09; 题目描述 我们用 x i x_i xi…

霸榜京东数据库图书热卖榜!《图数据库:理论与实践》热销中

《图数据库&#xff1a;理论与实践》自2月上市以来&#xff0c;受到了数据库行业的广泛关注与热烈支持&#xff0c;问世两周便销量破千本&#xff01;近期还荣登京东 “数据库图书榜”热卖榜第二名&#xff0c;广获好评&#xff01; 在此&#xff0c;真挚的感谢各位读者的认可…

CMS(内容管理系统)

一、系统的编写可以在开源网站上下载一个相关项目&#xff0c;然后做2次开发 企业建站系统:MetInfo(米拓)、蝉知、SiteServer CMs等; B2C商城系统:商派Shopex、ECshop、HiShop、XpShop等; 门户建站系统:DedeCMS(织梦)、帝国CMS、PHPCMS、动易、CmsTop等; 博客系统:WordPres…

Android 开发 Spinner setSelection 不起作用

问题 Android 开发 Spinner setSelection 不起作用 详细问题 笔者进行Android项目开发&#xff0c;根据上一个页面用户选择数据&#xff0c;显示当前页面Spinner选项&#xff0c;调用 Spinner setSelection 不起作用。 相关java代码 spinner.setAdapter(adapter); …

使用kfed运维兵器修复ASM磁盘和磁盘组

欢迎关注“数据库运维之道”公众号&#xff0c;一起学习数据库技术! 本期将为大家分享“使用kfed运维兵器修复ASM磁盘和磁盘组” 的运维技能。 关键词&#xff1a;ORA-15053、ORA-15027、ORA-15040、ORA-01187、kfed repair、kfed merge、kfed read、strace 数据库的ASM磁盘或…

代码随想录训练营Day36:● 435. 无重叠区间 ● 763.划分字母区间 ● 56. 合并区间

435. 无重叠区间 题目链接 https://leetcode.cn/problems/non-overlapping-intervals/description/ 题目描述 思路 直接统计重叠区间的个数&#xff0c;就是需要删除的个数 public int eraseOverlapIntervals(int[][] intervals) {Arrays.sort(intervals,(a,b)-> Intege…

SpringBoot分布式锁自定义注解处理幂等性

SpringBoot分布式锁自定义注解处理幂等性 注解简介 注解&#xff08;Annotation&#xff09;是Java SE 5.0 版本开始引入的概念&#xff0c;它是对 Java 源代码的说明&#xff0c;是一种元数据&#xff08;描述数据的数据&#xff09;。 Java中的注解主要分为以下三类: JDK…