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文件中

​​​​​​​

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

python 复制代码
from ultralytics.models import NAS, RTDETR, SAM, YOLO, FastSAM, YOLOWorld

if __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 weights

    results = 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
                          )
相关推荐
羊羊小栈10 小时前
基于「YOLO目标检测 + 多模态AI分析」的水稻病害智能检测分析预警系统(LangChain框架)
人工智能·yolo·目标检测·毕业设计·创业创新·大作业
PascalXie10 小时前
服务机器人避障用的深度相机,主流选型有哪些?
计算机视觉·机器人
硅谷秋水17 小时前
RoboChallenge:具身策略的大规模真实机器人评估
计算机视觉·语言模型·机器人
小巫山云子19 小时前
OTF(On-The-Fly)技术详解
人工智能·计算机视觉·视觉检测·相机·半导体工业
YOLO数据集集合19 小时前
智慧工业工地安全防护检测数据集 | 工业安全 防护装备检测 安全帽识别 口罩检测 9097期
人工智能·目标检测·计算机视觉·目标跟踪·智慧工地·工地
YOLO_DATA19 小时前
遥感滑坡检测的数据集 2299 张 1类 yolo格式 遥感滑坡检测数据集
人工智能·深度学习·yolo·计算机视觉·无人机·yolo数据集·ai数据集
风巽·剑染春水19 小时前
【学习笔记】DINOv1,DINOv2,DINOv3 系列技术理解
计算机视觉·自监督学习·基础模型·dino
zx_7414848120 小时前
【计算机视觉入门】基于 dlib 与 OpenCV 的三大案例:人脸检测、年龄性别预测与疲劳检测
opencv·计算机视觉·dnn
zx_7414848120 小时前
【计算机视觉入门】OpenCV + MediaPipe + dlib:从仿射变换到换脸、手势、姿态与人脸网格
python·opencv·计算机视觉
sali-tec1 天前
C# 基于OpenCv的视觉工作流-章108-区域筛选
图像处理·人工智能·opencv·算法·计算机视觉