DAMamba:让 Vision Mamba 学会动态扫描

Date 2026-06-04 · Category tech · Status finished · Confidence likely
论文解读, 视觉 Mamba, 状态空间模型

论文信息

论文题目:DAMamba: Vision State Space Model with Dynamic Adaptive Scan

这篇论文关注的是 Vision Mamba / Vision SSM 里的一个关键问题:图像不是天然的 1D 序列,Mamba 要处理图像,就必须先决定怎么把 2D patch 扫描成 1D 序列。作者认为,现有方法的主要瓶颈不在 SSM 本身,而在 扫描策略过于固定

论文代码地址:https://github.com/ltzovo/DAMamba


核心动机:固定扫描不够适合图像

不同扫描方式对比

现有 Vision Mamba 大多采用手工设计的扫描方式,例如:

  • Sweeping Scan:按行或按列顺序扫描
  • Continuous Scan:尽量保持局部连续
  • Local Scan:只在局部区域内扫描

这些方法都能把图像 patch 变成 SSM 可处理的序列,但问题在于:扫描方式在推理时是固定的,不会随图像内容变化

这会带来两个直接后果。

第一,固定全局扫描容易破坏图像里的空间邻接关系。本来在 2D 上很近的两个 patch,在展开成序列后可能被拉得很远,局部结构会被削弱。

第二,固定局部扫描虽然保住了近邻关系,但又会限制长距离依赖建模。对复杂目标或者大范围上下文来说,模型视野还是不够灵活。

作者在论文里举了一个很直观的例子:如果图像里有一只狗,理想扫描不应该机械地平均对待背景和目标,而应该更倾向于围绕狗身体本身组织采样和信息传播。也就是说,视觉扫描路径最好由数据决定,而不是提前写死


方法概览:DAS 在做什么

DAS 机制示意图

作者提出的核心模块叫 DAS, Dynamic Adaptive Scan。它不是简单换一种新的手工扫描模板,而是把“从哪里取特征、按什么位置去组织序列”变成一个可学习过程。

可以把 DAS 压缩成三步:

  1. 给每个 patch 一个原始参考坐标。
  2. OPN 预测这个 patch 的二维偏移量。
  3. 在偏移后的新位置上用双线性插值采样,再把采样特征送进 SSM

它的关键公式非常直白:

Δp = OPN(X)
p' = p + Δp
X'[h,w] = φ(p'[h,w], X)

含义分别是:

  • Δp:每个 patch 该往哪里偏移
  • p':偏移后的新采样位置
  • X':在新位置采样得到的新特征

这里最重要的不是数学形式,而是背后的建模变化:

  • 传统 Vision Mamba:固定位置取特征
  • DAS:动态位置取特征

因为采样使用的是 bilinear interpolation,整个偏移过程是可微的,所以 OPN 可以通过反向传播学到“哪些区域更值得看”。


DAMamba Block:把 DAS、SSM 和卷积拼起来

DAMamba 整体结构与 Block 细节

基于 DAS,作者构建了视觉 backbone DAMamba。它沿用分层金字塔结构,但在 block 内部把局部建模、动态扫描和通道变换放在一起。

一个 DAMamba block 可以粗略理解成下面这条数据流:

输入 -> DWConv 3x3 -> LN -> DAS & SSM -> BN -> ConvFFN -> 输出

其中每一段都带有残差连接。

这几个模块的分工比较清楚:

  • DWConv 3x3:补充局部空间归纳偏置
  • DAS & SSM:先动态采样,再做长距离序列建模
  • ConvFFN:做通道混合和局部细化

所以 DAMamba 不是把 Mamba 全推翻重做,而是针对 Vision Mamba 里最关键的扫描环节做增强,让扫描前端从固定规则变成了内容自适应机制。


和 VMamba、LocalMamba 的差别在哪里

如果只从 block 级别看,DAMamba 的主要变化其实非常集中。

它相对 VMambaLocalMamba,真正多出来的是:

  • DAS
  • 预测偏移的 OPN
  • 动态采样带来的更强位置偏置

真正少掉的是:

  • 预先写死的扫描模板
  • 对固定行列或固定局部窗口的依赖

所以可以把三者概括成:

  • VMamba:固定全局扫描 + SSM
  • LocalMamba:固定局部扫描 + SSM
  • DAMamba:动态自适应采样 + SSM

这也是为什么 DAMamba 的创新点看起来没有特别花哨,但非常打在问题本身上。作者抓住的不是 backbone 深度、参数量或训练技巧,而是 扫描策略就是 Vision Mamba 的瓶颈


实验一:ImageNet-1K 分类

论文先在 ImageNet-1K 上验证 backbone 本身的表征能力。训练设定基本沿用 DeiT 风格,使用 AdamW300 epochs 和标准数据增强。

最关键的是和 SSM 系列的对比。

在 tiny 量级:

  • VMamba-T: 82.6
  • LocalVMamba-T: 82.7
  • DAMamba-T: 83.8

在 small 量级:

  • VMamba-S: 83.6
  • LocalVMamba-S: 83.7
  • DAMamba-S: 84.8

在 base 量级:

  • VMamba-B: 83.9
  • DAMamba-B: 85.2

这说明 DAMamba 的提升不是偶然出现在某一个模型规模上,而是在多个容量区间里都稳定成立。更重要的是,它不仅优于同类 Vision Mamba,也进入了和强 CNN、ViT 正面竞争的区间。


实验二:COCO 检测与实例分割

COCO 上的检测与实例分割结果表

作者把 DAMamba 接到 Mask R-CNN 上,评估 COCO 2017 的目标检测与实例分割。这里看两个指标:

  • AP^b:检测框 mAP
  • AP^m:实例 mask mAP

最值得看的是 tiny 版:

  • VMamba-T: 47.3 AP^b / 42.7 AP^m
  • LocalVMamba-T: 46.7 / 42.2
  • DAMamba-T: 48.5 / 43.4

small 和 base 版也保持同样趋势:

  • DAMamba-S: 49.8 / 44.5

  • VMamba-S: 48.7 / 43.7

  • DAMamba-B: 50.6 / 44.9

  • VMamba-B: 49.2 / 44.1

这部分结果说明,DAS 的收益不是只体现在分类上。目标检测和实例分割更依赖空间结构与目标区域聚焦,而动态扫描正好在这类任务上更有发挥空间。


实验三:ADE20K 语义分割与消融

ADE20K 语义分割与模块消融表

ADE20K 上,作者使用 UPerNet 做语义分割。这个任务对空间结构特别敏感,因此对论文的主张最有说服力。

主要结果如下。

tiny 版:

  • VMamba-T: 48.0 / 48.8
  • DAMamba-T: 50.3 / 51.2

small 版:

  • VMamba-S: 50.6 / 51.2
  • DAMamba-S: 51.2 / 52.0

base 版:

  • VMamba-B: 51.0 / 51.6
  • DAMamba-B: 51.9 / 52.3

这里前一个数是 single-scale,后一个数是 multi-scale。可以看到 tiny 版在分割任务上的提升尤其明显,这和作者的核心论点完全一致:动态扫描比固定扫描更适合处理复杂二维空间结构

同一页下方的 Table 5 是消融实验,也非常关键。作者以 DAMamba-F 为基础逐步加模块:

  • Baseline: 77.7
  • + DAScan: 78.3
  • + Convpos: 78.6
  • + ConvFFN: 79.1

这里最重要的信息有两个。

第一,单独加入 DAS 就有 +0.6% 提升,说明主要收益确实来自动态扫描。

第二,ConvposConvFFN 也有帮助,但它们更像辅助增强,真正的核心创新仍然是 DAS。


这篇论文到底证明了什么

把所有实验放在一起,这篇论文主要证明了三件事。

第一,扫描策略确实是 Vision Mamba 的关键瓶颈。如果只把 Mamba 搬到视觉里,但仍然沿用固定扫描方式,性能会被这个前端约束住。

第二,动态扫描是有效的。DAMamba 在分类、检测、实例分割和语义分割上都稳定优于 VMamba 与 LocalMamba,说明收益不是任务偶然性。

第三,收益和论文动机高度一致。越是依赖细粒度二维结构的任务,例如语义分割,DAS 的优势就越明显。


优点与局限

这篇论文的优点很鲜明。

  • 问题抓得准:没有泛泛谈“再做一个更强的 Vision Mamba”,而是准确识别出扫描策略这个瓶颈。
  • 方法有针对性:用可学习偏移和动态采样,直接替换掉固定扫描模板。
  • 实验覆盖完整:分类、检测、实例分割、语义分割都做了。
  • 消融清楚:能单独验证 DAS 的贡献,而不是只展示最终大模型结果。

局限也同样存在。

  • 论文在 NeurIPS checklist 中承认没有专门讨论 limitations
  • 没有报告 error bars 或多次重复实验的统计显著性。
  • DAS 带来的收益不是零成本,部分设置下 FLOPs 会增加。
  • 论文对采样点具体学到了什么模式,缺少更深入的可解释性分析。

所以更稳妥的评价是:这是一篇 抓住关键设计瓶颈并做出有效结构增强 的工作,而不是彻底改写 Vision Mamba 范式的论文。


总结

DAMamba 最值得记住的一点,不是它提出了多复杂的数学,而是它把一个很具体的问题讲清楚了:

Vision Mamba 的难点不只是把图像送进 SSM,而是怎么扫描图像。

作者给出的答案是:

不要用固定扫描,
而要让扫描位置跟着图像内容动态变化。

从结果看,这个答案是成立的。DAS 让 Vision Mamba 在保持 Mamba 建模范式的同时,显著提升了对复杂二维结构的适应能力。对于后续所有想继续做 Vision SSM 的工作,这篇论文最大的启发不是“再叠更多模块”,而是:扫描机制本身就是模型能力的一部分。


See also