Swin版VMamba来了!精度再度提升,VMamba-S达成83.5%,超越Swin-S,已开源!

2024-01-20 12:12

本文主要是介绍Swin版VMamba来了!精度再度提升,VMamba-S达成83.5%,超越Swin-S,已开源!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文首发:AIWalker

就在昨日,华科王兴刚团队公开了Mamba在ViT的入局Vim,取得了更高精度、更快速度、更低显存占用。相关信息可参考:

  • 入局CV,Mamba再显神威!华科王兴刚团队首次将Mamba引入ViT,更高精度、更快速度、更低显存!

就在纳闷Swin版的VMamba啥时候出来之时,UCAS、华为以及鹏城实验室联合提出了Swin版本的VMamba,不出之外的取得了更高的精度,VMamba-S比Vim-S指标还高出3.2% ,不过这在意料之中,Swin-S也比DeiT-S高3%左右,不得不为Vim早一天公开感到庆幸,哈哈

https://arxiv.org/abs/2401.10166
https://github.com/MzeroMiko/VMamba

本文受到最近提出的状态空间模型的启发,提出了一种视觉状态空间模型(VMamba),在不牺牲全局感受野的情况下实现了线性复杂度。为了解决方向敏感的问题,我们引入了交叉扫描模块(CSM)遍历空间域和转换任何非因果的视觉图像顺序补丁序列。大量的实验结果证明,VMamba在各种视觉感知任务中表现出有前途的能力,而且随着图像分辨率的增加,表现出更明显的优势。

本文方案

上图为所提VMamba架构示意图,很明显与Swin Transformer具有相似的宏观架构,区别在于核心模块:VSS Block。很明显,VSS Block是一种大核卷积注意力模块,这里的关键就变成了如何基于SSM构建大感受野卷积注意力核了。在这里,参考S6(Selective Scan Mechanism),作者引入了2D选择性扫描机制。在S6中,矩阵$ B \in R^{B \times L \times N}, C \in R^{B \times L \times N}, \Delta in \in R^{B \times L \times D} 由输入数据 由输入数据 由输入数据x\in R^{B \times L \times N}$ 推导而来。这就意味着:S6具有输入感知的上下文信息,确保了该机制内权值的动态性。

上图给出了由S6引申而来的交叉扫描模块CSM。流程上,

  • 首先,将输入图像特征沿横纵坐标轴展开为序列,即图示的扫描扩展;
  • 然后,沿四个方向进行扫描,即左上到右下、下右到左上、左下到右上、右上到左下。通过这种处理方式(可参考下图),任意像素都从不同方向集成了上下文信息。

  • 最后,将每个序列回填至原始图像位置得到了新的图像特征。

本文实验

上表给出了三种不同大小VMamba架构参数信息,对应了Swin-T、Swin-S、Swin-B。

ImageNet分类

上表给出了ImageNet分类任务上的性能对比,可以看到:

  • 在相似FLOPs下,VMamba-T以82.2%精度比RegNetY高出2.2%、比DeiT-S高出2.4%、比SwinT高出0.9%;
  • 在Small尺度下,VMamba-S去的了83.5%,比RegNetY高出1.8%、比Swin-S高出0.5%;
  • 在Base尺度下,VMamba取得了83.2%,比RegNetY高出0.3%、比DeiT-B高出0.1%。

COCO检测

ADE20K语义分割

Analysis

最后,作者还从感受野、输入分辨率等角度对VMamba进行了消融分析。总而言之,Mamba入局CV之路正式起航~

这篇关于Swin版VMamba来了!精度再度提升,VMamba-S达成83.5%,超越Swin-S,已开源!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/625972

相关文章

深度剖析SpringBoot日志性能提升的原因与解决

《深度剖析SpringBoot日志性能提升的原因与解决》日志记录本该是辅助工具,却为何成了性能瓶颈,SpringBoot如何用代码彻底破解日志导致的高延迟问题,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言第一章:日志性能陷阱的底层原理1.1 日志级别的“双刃剑”效应1.2 同步日志的“吞吐量杀手”

Java利用@SneakyThrows注解提升异常处理效率详解

《Java利用@SneakyThrows注解提升异常处理效率详解》这篇文章将深度剖析@SneakyThrows的原理,用法,适用场景以及隐藏的陷阱,看看它如何让Java异常处理效率飙升50%,感兴趣的... 目录前言一、检查型异常的“诅咒”:为什么Java开发者讨厌它1.1 检查型异常的痛点1.2 为什么说

PowerShell中15个提升运维效率关键命令实战指南

《PowerShell中15个提升运维效率关键命令实战指南》作为网络安全专业人员的必备技能,PowerShell在系统管理、日志分析、威胁检测和自动化响应方面展现出强大能力,下面我们就来看看15个提升... 目录一、PowerShell在网络安全中的战略价值二、网络安全关键场景命令实战1. 系统安全基线核查

使用雪花算法产生id导致前端精度缺失问题解决方案

《使用雪花算法产生id导致前端精度缺失问题解决方案》雪花算法由Twitter提出,设计目的是生成唯一的、递增的ID,下面:本文主要介绍使用雪花算法产生id导致前端精度缺失问题的解决方案,文中通过代... 目录一、问题根源二、解决方案1. 全局配置Jackson序列化规则2. 实体类必须使用Long封装类3.

Java注解之超越Javadoc的元数据利器详解

《Java注解之超越Javadoc的元数据利器详解》本文将深入探讨Java注解的定义、类型、内置注解、自定义注解、保留策略、实际应用场景及最佳实践,无论是初学者还是资深开发者,都能通过本文了解如何利用... 目录什么是注解?注解的类型内置注编程解自定义注解注解的保留策略实际用例最佳实践总结在 Java 编程

无需邀请码!Manus复刻开源版OpenManus下载安装与体验

《无需邀请码!Manus复刻开源版OpenManus下载安装与体验》Manus的完美复刻开源版OpenManus安装与体验,无需邀请码,手把手教你如何在本地安装与配置Manus的开源版OpenManu... Manus是什么?Manus 是 Monica 团队推出的全球首款通用型 AI Agent。Man

Python中如何控制小数点精度与对齐方式

《Python中如何控制小数点精度与对齐方式》在Python编程中,数据输出格式化是一个常见的需求,尤其是在涉及到小数点精度和对齐方式时,下面小编就来为大家介绍一下如何在Python中实现这些功能吧... 目录一、控制小数点精度1. 使用 round() 函数2. 使用字符串格式化二、控制对齐方式1. 使用

使用DeepSeek API 结合VSCode提升开发效率

《使用DeepSeekAPI结合VSCode提升开发效率》:本文主要介绍DeepSeekAPI与VisualStudioCode(VSCode)结合使用,以提升软件开发效率,具有一定的参考价值... 目录引言准备工作安装必要的 VSCode 扩展配置 DeepSeek API1. 创建 API 请求文件2.

C#使用yield关键字实现提升迭代性能与效率

《C#使用yield关键字实现提升迭代性能与效率》yield关键字在C#中简化了数据迭代的方式,实现了按需生成数据,自动维护迭代状态,本文主要来聊聊如何使用yield关键字实现提升迭代性能与效率,感兴... 目录前言传统迭代和yield迭代方式对比yield延迟加载按需获取数据yield break显式示迭

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推