视觉状态空间模型(VMamba)的解读

news/2025/2/4 1:16:07/

在计算机视觉领域,设计计算高效的网络架构一直是研究的热点。今天,我想和大家分享一篇发表在 NIPS 2024 上的论文——VMamba:Visual State Space Model,这篇论文提出了一种新的视觉骨干网络,具有线性时间复杂度,展现了在多种视觉感知任务中的出色表现。

源码:GitHub - MzeroMiko/VMamba: VMamba: Visual State Space Models,code is based on mamba

一、亮点解析

(一)2D 选择性扫描(SS2D)模块

作者巧妙地提出了 2D 选择性扫描(SS2D)模块,这一模块通过四向扫描机制,有效地弥合了 1D 选择性扫描与 2D 视觉数据之间的差距。SS2D 确保每个图像块仅通过沿相应扫描路径计算的压缩隐藏状态获得上下文知识,从而将计算复杂度从二次降低到线性。这种创新的设计,犹如在图像的二维世界中开辟了四条 “信息高速通道”,让图像块能够更高效地获取上下文信息,极大地提升了计算效率。

(二)VMamba 架构

基于 VSS 模块,作者精心开发了一系列 VMamba 架构,包括 VMamba-Tiny、VMamba-Small 和 VMamba-Base 等。这些架构通过一系列架构增强和实现优化,实现了加速。VMamba 架构的出现,就像为计算机视觉任务打造了一套 “高性能引擎”,在保持相当性能的同时,计算复杂度呈线性增长,与基于 ViT 的模型在输入 token 数量增加时计算复杂度呈二次增长形成了鲜明对比,为处理大规模视觉数据提供了更高效的选择。下图是只能VMamba整体架构。

二、方法

(一)网络架构的构建

作者开发了三种规模的 VMamba,输入图像首先通过一个 stem 模块分割成 patches,生成一个空间维度为的 2D 特征图。随后,多个网络阶段用于创建分辨率为、和的分层表示。每个阶段(除了第一个阶段)包含一个下采样层,后跟一系列视觉状态空间(VSS)模块。VSS 模块作为 Mamba 模块的视觉对应物,用于表示学习。最终的 VSS 模块由一个包含两个残差模块的单一网络分支组成,模仿了原始 Transformer 模块的架构。

(二)2D 选择性扫描用于视觉数据(SS2D)

视觉数据本质上是非顺序的,包含空间信息。为了解决这一挑战,SS2D 中的数据前向传播涉及三个步骤:交叉扫描、使用 S6 块的选择性扫描和交叉合并。通过采用互补的 1D 遍历路径,SS2D 使图像中的每个像素能够有效地从不同方向整合来自所有其他像素的信息,从而促进在 2D 空间中建立全局感受野。这种设计,仿佛赋予了每个像素 “多角度视野”,让它们能够更全面地感知图像内容。

(三)加速 VMamba 的方法

作者通过在 ImageNet-1K 上的图像分类评估模型,逐步改进 VMamba 的推理速度。例如,通过在 Triton 中重新实现交叉扫描和交叉合并,调整选择性扫描的 CUDA 实现以适应 float16 输入和 float32 输出,将选择性扫描中的相对较慢的 einsum 替换为线性变换等方法,不断提高推理吞吐量。这些优化措施,就像是对 VMamba 进行了一系列 “精细调校”,让它在实际应用中能够更高效地运行。

三、 实验结果

论文评估了视觉状态空间模型 (VMamba) 在各种任务中的作用,包括在ImageNet-1K数据集做图像分类、COCO 数据集做目标检测和在ADE20K 数据集上做语义分割。结果表明,VMamba 实现了强大的性能和效率,性能优于 CNN 和 Vision Transformer (ViTs) 等许多流行模型。

 


http://www.ppmy.cn/news/1569104.html

相关文章

【LLM-agent】(task6)构建教程编写智能体

note 构建教程编写智能体 文章目录 note一、功能需求二、相关代码(1)定义生成教程的目录 Action 类(2)定义生成教程内容的 Action 类(3)定义教程编写智能体(4)交互式操作调用教程编…

Zemax 中带有体素探测器的激光谐振腔

激光谐振腔是激光系统的基本组成部分,在光的放大和相干激光辐射的产生中起着至关重要的作用。 激光腔由两个放置在光学谐振器两端的镜子组成。一个镜子反射率高(后镜),而另一个镜子部分透明(输出耦合器)。…

IT运维的365天--025 H3C交换机用NTP同步正确的时间

前情提要:网络设备基本也都是有自己的时间的,如果时间不正确,别扭不说,查日志肯定就很不方便了,还有就是怕某些特别的应用会出错(概率很低)。所以,虽然好久都没事,但强迫…

《苍穹外卖》项目学习记录-Day11营业额统计

请求方式为GET方式,因为营业额统计本质上是一个查询类的操作, 查询相应的数据,最终把数据整合好,然后返回给前端。接口的请求参数有哪些,我们要统计营业额具体是统计哪个时间段之内的呢,应该通过参数传过来…

MySQL复制扩展功能

一、mysql的并行复制 1.默认情况下slave中使用的是sql单线程回放,在master时多用户读写,如果使用单线程回放会造成主从复制延迟,针对这个问题一般采用mysql多线程回放来解决。 在slave中设定: vim /etc/my.cnf [mysqld] datadir/d…

基于SpringBoot的美食烹饪互动平台的设计与实现(源码+SQL脚本+LW+部署讲解等)

专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌。 技术范围:SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容:…

DeepSeek-R1 论文解读 —— 强化学习大语言模型新时代来临?

近年来,人工智能(AI)领域发展迅猛,大语言模型(LLMs)为通用人工智能(AGI)的发展开辟了道路。OpenAI 的 o1 模型表现非凡,它引入的创新性推理时缩放技术显著提升了推理能力…

解锁计算机视觉算法:从理论到代码实战

目录 计算机视觉:开启智能视觉新时代 核心算法大揭秘 传统计算机视觉算法 深度学习驱动的计算机视觉算法 基于深度学习框架的算法实现 应用领域大放送 自动驾驶 医疗影像分析 安防与监控 其他领域 挑战与应对策略 数据质量问题 计算资源需求 模型鲁棒…