一、本文介绍
本文记录的是利用VM-UNet中的VSS block
优化YOLOv11
的目标检测网络模型。VSS Block
与传统模块不同,它汲取了VMamba
模型的优势,通过特定结构设计,在保证计算效率的同时,精准建模局部特征并学习长距离依赖,实现局部特征的高效处理与长距离依赖关系的有效学习。本文将其应用于YOLOv11
的改进与创新,能让模型更关注图像关键特征区域,抑制背景等无关信息干扰,突出目标物体关键特征。
专栏目录:YOLOv11改进目录一览 | 涉及卷积层、轻量化、注意力、损失函数、Backbone、SPPF、Neck、检测头等全方位改进
专栏地址:YOLOv11改进专栏——以发表论文的角度,快速准确的找到有效涨点的创新点!
二、VM-UNet模型介绍
VM-UNet: Vision Mamba UNet for Medical Image Segmentation
VM-UNet
模型设计的出发点是解决现有CNN-based
和Transformer-based
模型在医学图像分割中的局限性,利用State Space Models(SSMs)的优势,提出一种更有效的医学图像分割模型。
具体来说,CNN-based
模型在捕捉长距离信息方面存在不足,而Transformer-based
模型由于自注意力机制的二次复杂度导致计算负担较重。SSMs模型
如Mamba不仅在建模长距离依赖方面表现出色,还具有线性计算复杂度,这为VM-UNet
的设计提供了理论基础。
2.1 VSS block的原理
VSS block
基于现代SSM模型中的线性常微分方程(ODE)进行工作。它将一维输入函数或序列$x(t)$通过中间隐状态$h(t)$映射到输出$y(t)$。其中,状态矩阵$A$、投影参数$B$和$C$在模型中起着关键作用。S4
和Mamba
通过引入时间尺度参数$\Delta$并使用零阶保持(ZOH)作为离散化规则,将连续系统离散化,使模型更适合深度学习场景。离散化后的SSM模型可以通过线性递归或全局卷积两种方式进行计算。2.3 VSS block的结构
- 如
图b
所示,输入经过Layer Normalization
后被分为两个分支。在第一个分支中,输入通过线性层和激活函数(默认为SiLU)。在第二个分支中,输入经过线性层、深度可分离卷积和激活函数后,进入2D-Selective-Scan(SS2D)模块进行特征提取。
- SS2D模块由扫描扩展(scan expanding)、S6块和扫描合并(scan merging)三个组件组成。
- <font color=navy>**扫描扩展**</font>操作将输入图像沿**四个不同方向**展开为序列,这些序列由`S6块`进行特征提取。 - <font color=navy>**S6块**</font>基于Mamba的S4框架,通过调整SSM的参数来引入**选择性机制**,能够<font color=darkorange>**区分和保留相关信息,过滤无关信息**</font>。 - <font color=navy>**扫描合并**</font>操作将**四个方向**的序列求和合并,恢复输出图像大小。 - 最后,两个分支的特征经过`Layer Normalization`后进行元素积操作,再通过**线性层混合**,并与**残差连接**相结合,形成`VSS block`的输出。
2.3 VSS block的优势
- 高效的特征提取能力:通过两个分支的设计和SS2D模块,能够从不同角度对输入特征进行处理,充分提取多样化的特征信息,从而提高模型对图像的理解能力。
- 选择性机制增强相关性:S6块的选择性机制使模型能够聚焦于重要信息,减少无关信息的干扰,有助于提高分割的准确性。
- 适应性强:在不同的数据集和任务中,VSS block能够根据输入数据的特点动态调整特征提取过程,从而适应各种复杂的医学图像分割任务。
论文:https://arxiv.org/pdf/2402.02491
源码: https://github.com/JCruan519/VM-UNet
三、实现代码及YOLOv11修改步骤
模块完整介绍、个人总结、实现代码、模块改进、二次创新以及各模型添加步骤参考如下地址: