欢迎光临
我们一直在努力

DEIM 改进系列(九):Mamba 状态空间改进——把 neck 通路从“单点卷积“升级为“序列扫描“

             DEIM 的 neck lateral 通路(融合前投影)原始实现是 1×1 卷积——逐像素独立处理,没有序列上下文;而 Mamba 这类状态空间模型用线性复杂度的序列扫描,天然具备长程上下文建模能力。针对这条"只看单点、不看邻居"的通路,我们做了一批 Mamba 替换变体(MambaLayer、mxt_mamba_layer、mamba_vision、CCSM、CCViM、CSI、EVSSM、FAMamba_CSI、MMB、SAVSS_layer、UVMB 等),主落点 lateral_convs_<X>(neck 同维增强,c→c),backbone 侧同样可换 HG_Stage_<X>,全部保持原落点参数格式不变、一行切换。本文给出完整变体清单与分组逻辑,重点拆解 MambaLayer(Mamba-2 状态空间核心)。

1. 现有的卷积和 Transformer 有什么不好

       在讨论 Mamba 之前,先看看图像建模的两个主流范式各自卡在哪里:

范式机制短板
卷积 局部滑窗,感受野受限 看局部:长程依赖要靠堆层,且分辨率越大、层数越深
Transformer / 注意力 全 token 两两交互 看全局:O(N²) 复杂度,高分辨率特征图直接吃不消
两者共同 卷积只有局部、注意力是平方复杂度 没有人提供"线性复杂度的全局建模"

落到 DEIM 的具体场景:lateral 通路处理的是高分辨率特征图(P5 融合前),此时——

  • 用卷积(1×1 / 3×3):只有局部视野,跨位置信息为 0,上下文得靠后续融合块一层层补;

  • 用注意力:全局视野有了,但 O(N²) 在 P5 分辨率下计算量直接爆炸。

        一句话总结:卷积看不全,注意力看得全但太贵——Mamba 用状态空间扫描提供了第三条路:线性复杂度的长程建模,恰好适合 lateral 这种"高分辨率、又需要上下文"的位置。

2. HG 的卷积注意力可以往哪些方向改进

      "把 Mamba 接进 DEIM"有四个方向,也是我们最终落地的四个分组:

方向思路代表变体优点代价
原生 Mamba 核心 直接用 Mamba-1/2 扫描块 MambaLayer、mxt_mamba_layer、mamba_vision 最正宗、已验证 依赖 CUDA 扫描算子
视觉 Mamba 变体 为图像设计的扫描/卷积混合 CCViM、CSI、FAMamba_CSI、EVSSM、SAVSS_layer 适配 2D 特征图 结构复杂
通道-状态混合 Mamba 与通道注意力结合 CCSM、MMB、UVMB 补上通道维度 参数增加
多向扫描 多方向序列扫描 CSI、EVSSM、mamba_vision 上下文覆盖全 扫描次数×计算

        四路共同点:neck 落点保持 c→c 同维不变(lateral_convs_),backbone 落点保持 HG_Stage 外壳不变。变体全做,让实验挑最优。

3. HG 的卷积注意力是如何改进的

        Mamba 的替换变体主落点 lateral_convs_<X>在train_deim_yaml.py的 m.startswith('lateral_convs_') 分支自动导入,不需要自己修改,轻松魔改改进DEIM:

3.1 原生 Mamba 核心组——最正宗的状态空间

变体核心机制
MambaLayer Mamba-2 核心:LayerNorm + 状态空间扫描(d_state=16, d_conv=4, expand=2)(详见第 4 节)
mxt_mamba_layer 多分支混合 Mamba 层
mamba_vision 视觉 Mamba(多向扫描)

3.2 视觉 Mamba 变体组——为图像设计

变体核心机制
CCViM 卷积+视觉 Mamba 混合
CSI / FAMamba_CSI 通道空间交互 Mamba / 频率注意力 Mamba
EVSSM / SAVSS_layer 增强视觉状态空间 / 空间注意力视觉状态空间

3.3 通道-状态混合组——补上通道维度

变体核心机制
CCSM 通道-状态协同调制
MMB Mamba 多分支块
UVMB 均匀视觉 Mamba 块

        设计逻辑:三个分组对应"Mamba 进检测器"的三个本质问题——原生核心回答"状态空间范式本身在 neck 上有没有用",视觉变体回答"如何为 2D 特征图定制扫描",通道混合回答"扫描之外还需不需要通道调制"。变体不是堆数量,而是把'换一个计算范式'这个动作的每个可设计维度都覆盖了一遍;MambaLayer 则是其中最正统、最适合验证范式价值的代表。

4.代码和视频讲解

视频讲解:

DEIM:超越 YOLO,快准双绝!DEIM:让 DETR 告别慢收敛,开启实时检测新纪元_哔哩哔哩_bilibili

DEIM:超越 YOLO,快准双绝!一个视频告诉你DEIM如何搭建backbone_哔哩哔哩_bilibili

代码获取:

YOLOv8_improve/DEIM.md at master · tgf123/YOLOv8_improve · GitHub

5.以MambaLayer为例

        第一: 将下面的核心代码复制到DEIMv2-main\\DEIM_YOLO\\change_mode_Mamba

路径下,如下图所示。

        第二:自适应导包与模型搭建

        第三:将模型配置文件复制到DEIM.YAMY文件中

        第四:yaml改进配置文件

backbone:
# [from, repeats, module, args] (原生 HG_Stage,仅 neck 的 lateral_convs 被改进)
– [-1, 1, HGStem, [3, 16, 16]] # 0 stem(stem_channels) -> P2/4
– [-1, 1, HG_Stage, [16, 16, 64, 1, False, False, 3, 3]] # 1 stage1 -> P2/4
– [-1, 1, HG_Stage, [64, 32, 256, 1, True, False, 3, 3]] # 2 stage2 -> P3/8(n 档不用)
– [-1, 1, HG_Stage, [256, 64, 512, 2, True, True, 5, 3]] # 3 stage3 -> P4/16, 512ch
– [-1, 1, HG_Stage, [512, 128, 1024, 1, True, True, 5, 3]] # 4 stage4 -> P5/32, 1024ch

head:
# —- 1) input_proj(官方 forward 的 proj_feats 循环,n 档 num_levels=2 故循环 2 次)—-
– [-1, 1, input_proj, [128]] # 5 proj_feats[1] = P5': layer4(1024) -> 128
– [3, 1, input_proj, [128]] # 6 proj_feats[0] = P4': layer3( 512) -> 128

# —- 2) intra-scale encoder(DEIM 的 HybridEncoder.encoder,作用于 use_encoder_idx=[1] 即 P5')—-
– [5, 1, TransformerEncoder, [128, 8, 512, 1]] # 7 P5''

# —- 3) 自顶向下 FPN —-
– [-1, 1, lateral_convs_MambaLayer, [128]] # 8 Y5 = lateral_convs.0(P5'')(1×1 conv + BN,无激活)
– [-1, 1, upsample_feat, [2, "nearest"]] # 9 上采样 2 倍:Y5 -> P4 分辨率
– [[-1, 6], 1, concat, [1]] # 10 concat(↑Y5, P4') -> 256ch
– [-1, 1, fpn_blocks, [256, 128, 256, 21, 2]] # 11 F4 = fpn_blocks.0 (c1,c2,c3,c4,n)

# —- 4) 自底向上 PAN —-
– [-1, 1, downsample_feat, [128, 128, 3, 2]] # 12 ↓F4(SCDown: 1×1 + 3×3 dw s2)
– [[-1, 8], 1, concat, [1]] # 13 concat(↓F4, Y5) -> 256ch
– [-1, 1, pan_blocks, [256, 128, 256, 21, 2]] # 14 F5 = pan_blocks.0 -> P5/32

– [[11, -1], 1, DEIMDecoder, [nc, 128, 3, 300, 32, 4, [6, 6]]] # 15 Detect(F4, F5)

​​         第五:模型跑出的结果

赞(0)
未经允许不得转载:171主机测评 » DEIM 改进系列(九):Mamba 状态空间改进——把 neck 通路从“单点卷积“升级为“序列扫描“
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址