YOLO12 改进|融入 Mamba 架构:插入视觉状态空间模块 VSS Block 的硬核升级

        在医学图像分割领域,传统卷积神经网络(CNNs)受限于局部感受野,难以捕捉长距离依赖关系,而基于 Transformer 的模型因自注意力机制的二次计算复杂度,在处理高分辨率图像时效率低下。近年来,状态空间模型(SSMs)如 Mamba 展现出线性复杂度建模长序列的优势,其视觉变体 Vision Mamba(VMamba)通过引入二维选择性扫描机制,进一步提升了在图像任务中的全局特征提取能力。VSS Block 作为 VMamba 的核心组件,旨在解决传统模型在全局上下文建模与计算效率之间的矛盾,为医学图像分割提供更优的特征表达方案。

上面是原模型,下面是改进模型

1. 视觉状态空间模块VSS Block介绍 

        VSS Block 基于状态空间模型的离散化理论,通过线性常微分方程(ODE)建模动态系统,并通过时间尺度参数 Δ 将连续系统转化为离散序列处理。其核心模块 2D 选择性扫描(SS2D)借鉴结构化状态空间模型(S4)的多方向扫描策略,将二维图像沿水平、垂直、对角线等方向展开为一维序列,利用选择性机制(如 S6 操作)实现线性时间复杂度的全局特征提取。同时,结合 SiLU 激活函数的非线性变换与特征融合策略,VSS Block 能够动态聚焦关键区域,增强模型对复杂图像结构的适应性。

VSS Block 采用双分支并行架构(如图 2.c 所示):

        主分支:输入图像经线性嵌入后,通过 3×3 深度卷积提取局部特征,再由 SS2D 模块进行四方向扫描,捕捉全局上下文,经层归一化后输出结构化特征。

        副分支:直接对线性嵌入结果应用 SiLU 激活函数,保留原始特征的非线性响应。

        特征融合:主副分支输出通过逐元素相乘(Hadamard Product)结合,生成最终特征图,实现全局结构信息与局部细节的互补。

2. YOLOv12与视觉状态空间模块VSS Block的结合          

         将 VSS Block 插入 YOLO12 中,其双向状态空间模型与多方向扫描机制可高效捕捉图像全域上下文及多尺度细节,增强对复杂场景中目标的特征表征能力,尤其提升小目标检测精度;结合线性计算与动态注意力设计,在轻量化基础上优化特征跨层融合效率,助力 YOLO12 实现更快速精准的多目标定位与分类。

3. 视觉状态空间模块VSS Block代码部分

YOLO12模型改进方法,快速发论文,总有适合你的改进,还不改进上车_哔哩哔哩_bilibili

YOLO12 改进|融入 Mamba 架构 助你轻松发三四区论文_哔哩哔哩_bilibili

 更多代码:YOLOv8_improve/YOLOV12.md at master · tgf123/YOLOv8_improve · GitHub

 4. 将视觉状态空间模块VSS Block引入到YOLOv12中

第一: 先新建一个v12_changemodel,将下面的核心代码复制到下面这个路径当中,如下图如所示。E:\Part_time_job_orders\YOLO_NEW\YOLOv12\ultralytics\v12_changemodel。

            ​​​​​​   

第二:在task.py中导入

 ​​​            

第三:在task.py中的模型配置部分下面代码

          

第四:将模型配置文件复制到YOLOV12.YAMY文件中

 ​​​​​​​ 

     ​​​​​​​ ​​​​​​​​​​​​​​ ​​​​​​​ ​​​​​​​​​​​​​第五:运行代码


from ultralytics.models import NAS, RTDETR, SAM, YOLO, FastSAM, YOLOWorldif __name__=="__main__":# 使用自己的YOLOv12.yamy文件搭建模型并加载预训练权重训练模型model = YOLO(r"E:\Part_time_job_orders\YOLO_NEW\YOLOv12\ultralytics\cfg\models\12\yolo12_VMKLA.yaml")\.load(r'E:\Part_time_job_orders\YOLO_NEW\YOLOv12\yolo12n.pt')  # build from YAML and transfer weightsresults = model.train(data=r'E:\Part_time_job_orders\YOLO\YOLOv12\ultralytics\cfg\datasets\VOC_my.yaml',epochs=300,imgsz=640,batch=64,# cache = False,# single_cls = False,  # 是否是单类别检测# workers = 0,# resume=r'D:/model/yolov8/runs/detect/train/weights/last.pt',amp = True)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB遍历生成20到1000个节点的无线通信网络拓扑推理数据

功能: 遍历生成20到1000个节点的无线通信网络拓扑推理数据,包括网络拓扑和每个节点发射的电磁信号,采样率1MHz/3000,信号时长5.7s,单帧数据波形为实采 数据生成效果: 拓扑及空间位置: 节点电磁…

oss:上传图片到阿里云403 Forbidden

访问图片出现403Forbidden问题,我们可以直接登录oss账号,查看对应权限是否开通,是否存在跨域问题

香橙派3B学习笔记8:snap安装管理软件包_打包俩个有调用的python文件

现在尝试一下打包多个有互相调用的 py程序: ssh : orangepi本地ip 密码 : orangepi 操作系统发行版: 基于 Ubuntu 20.04.6 LTS(Focal Fossa)的定制版本,专门为 Orange Pi 设备优化。PRETTY_NAM…

Spring Boot 中实现 HTTPS 加密通信及常见问题排查指南

Spring Boot 中实现 HTTPS 加密通信及常见问题排查指南 在金融行业安全审计中,未启用HTTPS的Web应用被列为高危漏洞。通过正确配置HTTPS,可将中间人攻击风险降低98%——本文将全面解析Spring Boot中HTTPS的实现方案与实战避坑指南。 一、HTTPS 核心原理与…

前端对WebSocket进行封装,并建立心跳监测

WebSocket的介绍: WebSocket 是一种在客户端和服务器之间进行全双工、双向通信的协议。它是基于 HTTP 协议,但通过升级(HTTP 升级请求)将连接转换为 WebSocket 协议,从而提供更高效的实时数据交换。 WebSocket 的特点…

【AI】智驾地图在不同自动驾驶等级中的作用演变

一、功能价值动态模型:基于自动驾驶等级的权重迁移 功能演变四阶段: █ 辅助阶段(L2):单功能补足 → █ 拓展阶段(L2 NOA):多模态增强 → █ 融合阶段(L3)…

Java处理字符数组转换为开始日期和结束日期

在Java中处理字符数组表示的TransactionTime(例如["2025-06-01","2025-06-10"]),将其转换为开始时间和结束时间,推荐使用Java 8的java.time API(如LocalDate)。以下是完整代码示例&…

【笔记】Poetry虚拟环境创建示例

#工作记录 【笔记】结合 Conda任意创建和配置不同 Python 版本的双轨隔离的 Poetry 虚拟环境-CSDN博客 在PowerShell中: Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved.Install the latest PowerShell for new features and improv…

20242817李臻-安全文件传输系统-项目验收

安全文件传输系统项目报告 项目概述 本实验旨在设计并实现一个完整的安全文件管理系统,基于SM2SM3SM4混合密码体系,构建了一个具备高安全性的C/S架构文件传输平台。项目采用C/S架构,使用Qt框架开发,满足Linux系统调用、Socket网…

2025年- H76-Lc184--55.跳跃游戏(贪心)--Java版

1.题目描述 2.思路 只要是在最大覆盖范围覆盖了,就是覆盖了。 局部最优:每遍历一个元素取它最大的覆盖范围 全局最优:在这个序列里,可以得到最大的覆盖范围。如果覆盖范围能达到最后一个元素,就是全局最优 &#xff0…

05.查询表

查询表 字段显示可以使用别名: col1 AS alias1, col2 AS alias2, … WHERE子句:指明过滤条件以实现“选择"的功能: 过滤条件: 布尔型表达式算术操作符:,-,*,/,%比较操作符:,<>(相等或都为空),<>,!(非标准SQL),>,>,<,<范围查询: BETWEEN min_num …

Python学习——数组的行列互换

数组的行列互换 data [ [col for col in range (4)] for row in range (4)] for row in data: print (row) print(“--------------”) for r_index,row in enumerate(data): for c_index in range (r_index,len(row)): tmp data [c_index] [r_index] data[c_index] [r_index…

bugku 应急加固1

Linux的应急加固 一、JS劫持 获取JS劫持域名 JS劫持&#xff0c;JavaScript Hijacking介绍&#xff1a; 攻击者通过某种方式篡改网页中的JavaScript代码&#xff0c;从而使网页跳转到恶意域名。 常见攻击方式有&#xff1a; 中间人攻击&#xff0c;在网络传输过程中拦截并修…

ant-design4.xx实现数字输入框; 某些输入法数字需要连续输入两次才显示

目录 一、问题 二、解决方法 三、总结 一、问题 1.代码里有一个基于ant封装的公共组件数字输入框&#xff0c;测试突然说 无效了&#xff0c;输入其他字符也会显示&#xff1b;改了只有又发现某些 输入法 需要连续输入两次 才能显示出来。 二、解决方法 1.就离谱&#xff0…

郑州工程技术学院赴埃文科技开展访企拓岗促就业活动

6 月 3 日&#xff0c;郑州工程技术学院信息工程学院&软件学院党总支书记尚德基、校企合作处处长吴博、软件学院院长叶恺、信息工程学院院长马耀锋、副院长黄继海、河南省人工智能产业创新发展联盟执行秘书长孟松涛等领导一行到访郑州埃文科技有限公司。埃文科技总经理助理…

pandas 字符串存储技术演进:从 object 到 PyArrow 的十年历程

文章目录 1. 引言2. 阶段1&#xff1a;原始时代&#xff08;pandas 1.0前&#xff09;3. 阶段2&#xff1a;Python-backed StringDtype&#xff08;pandas 1.0 - 1.3&#xff09;4. 阶段3&#xff1a;PyArrow初次尝试&#xff08;pandas 1.3 - 2.1&#xff09;5. 阶段4&#xf…

[特殊字符] 在 React Native 项目中封装 App Icon 一键设置命令(支持参数与默认路径)

📦 前置依赖 使用的是社区维护的 CLI 工具: @bam.tech/react-native-make它扩展了 react-native 命令,支持 set-icon 功能。 安装: yarn add -D "@bam.tech/react-native-make"🧠 封装目标 我们希望能够通过以下方式调用: # 默认使用 ./icon.png yarn …

[论文阅读] 人工智能 | 搜索增强LLMs的用户偏好与性能分析

【论文解读】Search Arena&#xff1a;搜索增强LLMs的用户偏好与性能分析 论文信息 作者: Mihran Miroyan, Tsung-Han Wu, Logan King等 标题: Search Arena: Analyzing Search-Augmented LLMs 来源: arXiv preprint arXiv:2506.05334v1, 2025 一、研究背景&#xff1a;…

[2025CVPR]确定性图像转换新突破:双逼近器布朗桥模型(Dual-approx Bridge)技术详解

本文深入解析CVPR 2024顶会论文《Deterministic Image-to-Image Translation via Denoising Brownian Bridge Models with Dual Approximators》,揭示确定性图像转换的核心突破 一、问题背景:确定性图像转换的挑战 在图像转换任务中(如超分辨率、医学影像处理),​确定性…

Python Pytest

1.Pytest用例发现规则 1.1 模块名(python文件)名必须以 test_ 开头或 _test 结尾&#xff0c;如 test_case&#xff0c;case_test&#xff0c;下划线都不能少 1.2 模块不能放在 . 开头的隐藏目录或者叫 venv的目录下&#xff0c;virtual environment&#xff0c;叫venv1都可以…