文末附上论文和代码网页链接
ChangeMamba 基于最近提出的 VMamba 架构
现有问题:
- CNN感受野受限,无法捕捉像素之间的长距离依赖关系
- Transformers计算量大,不利于大规模遥感数据集的密集预测任务
本文从以下三个方面首次探索Mamba在遥感领域CD任务上的潜力:
- 二进制变化检测(BCD)——框架 MambaBCD
- 语义变化检测(SCD)——框架 MambaSCD
- 建筑物损坏评估(BDA)——框架 MambaBDA
三个框架都采用
Visial Mamba
作为编码器,解码器部分分别提出三种时空关系建模机制,可以检测不同类别变化,包括二值变化、语义变化和建筑物损坏程度
本文重点任务:
- 二进制CD (BCD):BCD的目的仅仅是确定变化发生的“位置”
- 语义CD (SCD):SCD则进一步寻求确定变化是“什么”
- 建筑损害评估(BDA):不仅需要识别变化(损害)发生的“位置”,还需要识别相关对象(建筑)在事件发生前的状态。
数据集:
- SYSU:关注城市和沿海的变化
- LEVIR-CD+:记录了重大的建筑结构变化
- WHU-CD:特别专注于检测大型和稀疏建筑结构的变化
- SCD数据集SECOND:主要关注六个主要的土地覆盖类别:非植被地表、树木、低植被、水、建筑和游乐场,以捕捉广泛的地理变化
- BDA数据集xBD:封装了多个级别的损害,并涵盖了多种灾害类型(地震,海啸,风暴,野火,火山和洪水)
- Transformer克服CNN不能将长时间依赖关系联系起来的问题,而状态空间模型SSM(尤其是S4)克服Transformer计算代价大的问题。
- Mamba 进一步改进了 S4 模型得到S6,可以过滤掉无关信息,并调用相关信息,对输入数据进行因果处理,因此只能捕捉数据扫描部分的信息,与自然语言处理相吻合。而直接将图像数据沿空间的某一维度扩展并输入 S6 模型,会导致缺乏充分建模的空间上下文信息。
- VMamba 通过提出一种二维交叉扫描机,如下图。在将tokens输入 S6 模型之前,交叉扫描机制会在空间维度上重新排列标记,即从左上到右下、从右下到左上、从右上到左下、从左下到右上。最后,合并得到的特征。与 Transformer 中的自注意操作相比,交叉扫描机制下 VMamba 模型的计算复杂度仍为 O (N)。
三种架构的网络模型:
- 三种架构都有一个结构相同的变化检测器,用于从编码器提取的特征中学习时空关系
- MambaSCD 还拥有用于土地覆盖物分类的语义解码器
- MambaBDA拥有用于建筑物定位的语义解码器
三种架构编码器的网络结构:
- 分为四个阶段,每个阶段:
- 首先对输入数据进行降采样
- 利用若干视觉状态空间(VSS)块对空间上下文信息进行完全建模(流程在下幅图)
- 输出该阶段的特征
- 从四个阶段中提取的事件前和事件后图像特征将被用于后续负责特定任务的解码器中
VSS 块的结构:
- 输入经过归一化后,进入线性嵌入层
- 输出分成两个信息流
- 一个信息流通过 3 ×3 深度卷积(DWConv)层,通过 Silu 激活函数
- 进入核心 SS2D 模块(即 S6 模型与交叉扫描机制的整合)
- SS2D 模块的输出经过层归一化(LN)层
- 与经过 Silu 激活的其他流的输出相加,产生 VSS 模块的最终输出。
特定解码器:
- 三种时空关系建模:时空顺序建模(a)、时空交叉建模(b)和时空并行建模(c)
基于所提出的三种时空学习机制:
- Change Decoder的具体结构如图,用于MambaBCD, MambaSCD, MambaBDA:
- 分四个阶段从提取的多时空特征中充分学习时空关系,并得到精确的二进制变化图
- 每个阶段的开始,首先使用时空状态空间(STSS)(图片如下)块对多时相特征的时空关系进行建模
- 一个时空标记生成器模块将重新排列输入的多时空特征
- 将其输入三个 VSS 模块,每个模块负责学习一种时空关系
- 通过Fusion block融合模块(图片如下),将当前阶段 STSS 模块的输出与上一阶段特征图的信息进行整合
- 通过 1×1 卷积层映射低层特征图的通道数,使其与高层特征图保持一致
- 将高层和低层特征图相加
- 通过残差层对得到的特征图进行平滑处理
- 通过Upsampling上采样层后,特征图被送入下一阶段
时空状态空间(STSS)如下:
融合模块Fusion block如下:
- Semantic Decoder的具体结构如图,负责从编码器提取的相应多级特征中逐步恢复土地覆盖图,用于 MambaSCD 和 MambaBDA
- 分为四个阶段,前三个阶段:
- 在每个阶段的开始,使用 VSS 块对输入数据的全局空间上下文信息进行建模
- 对特征图进行上采样2×
- 通过Fusion block融合模块与分辨率更高的低层次特征图信息进行整合
- 最后一个阶段:将 VSS 模块输出的特征向上采样4×,用于预测相应的土地覆被图
损失函数
- BCD:
- 交叉熵损失来优化网络
- 引入了 Lovasz-softmax 损失,以缓解变化和不变像素之间样本数量不平衡的问题
- SCD:
- 优化后的交叉熵损失
- Lovasz-softmax 损失
- BDA,包含建筑物定位任务 和 损坏分类任务:
- 交叉熵损失
- Lovasz-softmax 损失
总结与未来方向
- 开发了 MambaBCD、MambaSCD 和 MambaBDA 三种架构,分别用于二值变化检测、语义变化检测和建筑物损坏评估任务。对于Change Decoder,提出了三种时空关系建模方法充分学习时空特征。
- 未来的工作包括但不限于开发更适合遥感数据特征的 Mamba 架构,将其应用于多模态和时间序列遥感任务,以及探索 Mamba 在遥感基础模型方面的潜力。