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之路正式起航~

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

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

相关文章

Java 内存模型深度解析

优质博文:IT-BLOG-CN 一、并发编程模型的两个关键问题 【1】并发中常见的两个问题:线程之间如何通信及线程之间如何同步。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:内存共享和消息传递&…

Redis 存在线程安全问题吗?为什么?

一个工作了 5 年的粉丝私信我。 他说自己准备了半年时间,想如蚂蚁金服,结果第一面就挂了,非常难过。 问题是: “Redis 存在线程安全问题吗?” 一、问题解析 关于这个问题,我从两个方面来回答。 第一个&a…

ChatGPT 到 Word:使用 Writage 进行复制粘贴魔法

ChatGPT 到 Word:使用 Writage 进行复制粘贴魔法 写在前面Writage的使用 写在前面 随着ChatGPT的日益普及,越来越多的人每天依赖它来完成各种任务。无论是寻找信息、语言翻译、解决数学问题,还是精炼复杂的概念和文本,ChatGPT 都…

AWS CI/CD之二:配置CodeDeploy

问题 前面一篇文章介绍了CodeBuild中构建一个Java的Maven项目。在这个基础上面,我们继续AWS CI/CD工作流构建之路。 1.配置CodePipeline简配版 这里主要是利用CodePipeline配置之前的CodeBuild项目,以便生产出需要部署的jar文件和CodeDeploy需要用到相…

【rust/bevy】使用points构造ConvexMesh

目录 说在前面问题提出Rapier具体实现参考 说在前面 操作系统:win11rust版本:rustc 1.77.0-nightlybevy版本:0.12 问题提出 在three.js中,可以通过使用ConvexGeometry从给定的三维点集合生成凸包(Convex Hull) import { ConvexGeo…

【c++】——栈or队列or优先级队列

目录 🎓容器适配器 🎓Stack栈 🚩Stack的介绍 🚩Stack的基本使用 🚩Stack底层实现 🎓queue队列 🚩queue的介绍 🚩queue的基本使用 🚩queue的底层实现 &#x1…

爬虫之牛刀小试(八):爬取微博评论

今天爬取的是微博评论。 可以发现其特点是下一页评论的max_id在上一页中。 于是代码如下: import requests import json import re import time headers {User-Agent: ,"Cookie": "","Referer": "https://m.weibo.cn/detail/4…

Kafka-消费者-KafkaConsumer分析-PartitionAssignor

Leader消费者在收到JoinGroupResponse后,会按照其中指定的分区分配策略进行分区分配,每个分区分配策略就是一个PartitionAssignor接口的实现。图是PartitionAssignor的继承结构及其中的组件。 PartitionAssignor接口中定义了Assignment和Subscription两个…

网络安全全栈培训笔记(54-服务攻防-数据库安全RedisHadoopMysqla未授权访问RCE)

第54天 服务攻防-数据库安全&Redis&Hadoop&Mysqla&未授权访问&RCE 知识点: 1、服务攻防数据库类型安全 2、Redis&Hadoop&Mysql安全 3、Mysql-CVE-2012-2122漏洞 4、Hadoop-配置不当未授权三重奏&RCE漏洞 3、Redis-配置不当未授权…

Laya3.0 相机使用

摄像机,是3D场景里边最经常使用的对象了。 官方文档:点击这里学习 1.投影 Projection 透视: 模拟人眼的视觉效果,近大远小。模拟物理世界的规律,将眼睛或相机抽象成一个点,此时视锥体内的物体投影到视平…

51单片机独立按键

独立按键介绍 在嵌入式系统中,独立按键通常指的是单独的按键开关或按钮,它们通常用于接收用户输入或执行特定的功能。在51单片机(指的是Intel 8051或其兼容芯片)中,独立按键可以通过简单的硬件连接和软件编程来实现各种…

Grafana(三)Grafana 免密登录-隐藏导航栏-主题变换

一. 免密登录 Grafana 的常用方式: 将配置好的Grafana图嵌入到系统页面中 为了实现可免登录访问,可以通过如下方式进行设置: 1. 修改Grafana配置文件 在Grafana的配置文件 /etc/grafana/grafana.ini 中,找到 [auth.anonymous] 配…

网络编辑day4

思维导图 广播模型发送端-->类似于UDP客户端 #include<head.h> int main(int argc, const char *argv[]) {//1、创建套接字int sfdsocket(AF_INET,SOCK_DGRAM,0);if(sfd-1){perror("socket error ");return -1;}//2、将套接字设置成允许广播int broadcast1…

【SpringCloud】微服务框架后端部署详细过程记录20240119

前言&#xff1a;前两天公司接到客户提供的一个微服务框架&#xff0c;导师让我在本地部署验证一下该框架的可用性&#xff0c;借此机会记录一下微服务项目的一个基本部署流程&#xff0c;仅供学习参考&#xff0c;如有不足还请指正&#xff01; 文件结构 提供的压缩文件共包含…

【lettuce-排行榜】

背景&#xff1a; 这次游戏中台采用lettuce的zset完成游戏内的本服和跨服排行榜&#xff0c;因此写一下案例。 pom.xml <dependency><groupId>io.lettuce</groupId><artifactId>lettuce-core</artifactId><version>6.2.4.RELEASE</ve…

Android14之DefaultKeyedVector实现(一百八十二)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

python之粘包/粘包的解决方案

python之粘包/粘包的解决方案 什么是粘包 粘包就是在数据传输过程中有多个数据包被粘连在一起被发送或接受 服务端&#xff1a; import socket import struct# 创建Socket Socket socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 绑定服务器和端口号 servers_addr (…

LeetCode 热题 100 | 双指针(上)

目录 1 283. 移动零 2 11. 盛最多水的容器 3 15. 三数之和 菜鸟做题第一周&#xff0c;语言是 C 1 283. 移动零 解题思路&#xff1a; 两个指针一前一后遍历数组前者永远指向 0&#xff0c;后者永远在寻找非 0 数的路上后者找到一个非 0 数就和前者进行一个数值交换 …

Python爬虫从入门到入狱系列合集

我 的 个 人 主 页&#xff1a;&#x1f449;&#x1f449; 失心疯的个人主页 &#x1f448;&#x1f448; 入 门 教 程 推 荐 &#xff1a;&#x1f449;&#x1f449; Python零基础入门教程合集 &#x1f448;&#x1f448; 虚 拟 环 境 搭 建 &#xff1a;&#x1f449;&…

linux下USB抓包和分析流程

linux下USB抓包和分析流程 在windows下抓取usb包时可以通过wireshark安装时安装USBpcap来实现usb抓包&#xff0c;linux下如何操作呢&#xff1f; 是基于usbmon&#xff0c;本博客简单描述基于usbmon在linux系统上对通过usb口进行发送和接收的数据的抓包流程&#xff0c;分别描…
最新文章