Mamba入局遥感图像分割 | Samba: 首个基于SSM的遥感高分图像语义分割框架

文章目录

1、导读

2、背景

3、动机

4、方法

5、实验

6、总结


标题:《Samba: Semantic Segmentation of Remotely Sensed Images with State Space Model》
论文:https://arxiv.org/abs/2404.01705
源码:https://github.com/zhuqinfeng1999/Samba


1、导读

本文将为大家介绍来自西交利浦大学、澳大利亚科学与工业研究院矿物研究所以及利物浦大学联合提出的最新工作Samba,这是一种基于状态空间模型的遥感图像语义分割方法。该工作提出了高分辨率遥感图像的语义分割框架 Samba,性能指标均超越了CNN-based和ViT-based方法,证明了Mamba在遥感高分图像中作为新一代backbone的潜力,为遥感语义分割任务提供了 mamba-based 方法的表现基准。值得一提的是,Samba是第一个将状态空间模型(SSM)运用到遥感图像语义分割任务中的工作,代码已开源,欢迎关注。

2、背景

高分辨率遥感图像对常用的语义分割方法提出了挑战,如卷积神经网络(CNN)和Vision Transformer(ViT)。CNN-based方法难以处理这种高分辨率图像,因为它们的感受野受限,而ViT面临处理长序列的挑战。

受到状态空间模型(SSM),也叫Mamba,能够有效捕获全局语义信息的启发,我们提出了一个针对高分辨率遥感图像的语义分割框架,命名为Samba

Samba利用编码器-解码器架构,其中Samba块作为编码器用于多级语义信息的有效提取,而UperNet作为解码器。

我们在LoveDA数据集上对Samba进行了评估,并将其性能与表现最佳的CNN和ViT方法进行了对比。结果显示,Samba在LoveDA上取得了杰出的表现。这表明,所提出的Samba框架是SSM在遥感图像语义分割中的有效应用,为这一特定应用中基于Mamba技术的设定了新的性能基准。

3、动机

遥感图像语义分割是遥感应用中的一项关键任务,深度学习方法被广泛应用。在这些方法中,常用的深度学习技术是卷积神经网络(CNN)。通过执行滑覆盖图像数据的卷积操作,CNN能够有效地从图像的浅层到深层提取语义特征,成为许多图像处理任务的基石。

然而,如图1(a)所示,CNN中有限的感受野在处理高分辨率图像时呈现出挑战。

尽管存在缓解该问题的解决方案,但它们都有不可避免的缺陷。例如:

  1. 缩放图像能够适应网络的感受野,但通常会导致图像分辨率丢失,从而影响模型性能。
  2. 空洞卷积可以扩大感受野,但由于粗糙的特征子采样,可能导致特征信息损失。
  3. 另一种方法是通过残差连接多个CNN,将高级语义与低级信息融合,从而增强模型识别不同尺度的能力。然而,该方法显著增加了网络计算复杂度。

此外,ViT是另一种语义分割广泛采用的深度学习技术。凭借其全局注意力机制,ViT克服了感受野的限制,能够灵活适应不同分辨率的输入,如图1(b)所示。

ViT 在传统图像任务中展现了卓越的性能,例如在IamgeNet数据集中的分类任务。然而,在采用ViT进行遥感图像的语义分割时,仍然存在挑战。由于需要对每个图像块之间的自注意力进行计算,随着分辨率的增加,计算复杂度呈指数级增长。不仅如此,由于缺乏归纳偏置,ViT需要大量的训练数据,但遥感领域的图像数据通常是稀缺的,同时对数据增强的要求也很高。

近期,名为Mamba的新方法被提出了,该方法利用状态空间模型(SSM)以低计算复杂度捕获全局语义信息。与Transformer不同,Mamba展示了线性复杂度,在处理长序列问题中体现了明显优势。在视觉任务中,探索将Mamba替换多头自注意力的效果是一个有趣的研究方向。

因此,受Mamba启发,我们提出了Samba,一个为遥感高分辨率图像设计的语义分割框架。Samba块被设计用于高效的图像特征提取。在该框架中,Mamba取代了ViT中的多头自注意力来捕获图像数据信息,并与多个多层感知器(MLP)结合,创建了一个Samba块。所提出的语义分割框架采用编码器-解码器架构,使用Samba块作为编码器和UperNet作为解码器,以有效提取多级语义信息。

我们的方法的表现性能使用LoveDA数据集进行了评估。与表现最佳的CNN进而ViT方法相比,在未加载预训练参数的情况下,Samba在LoveDA上展现了卓越的性能表现。这表明,Samba是状态空间模型在遥感图像语义分割中的有效应用,为该领域中基于Mamba的方法设立了新的基线。

本研究的主要贡献可以总结如下:

  1. 我们提出了Samba架构,首次将Mamba架构引入遥感图像的语义分割任务中。
  2. 我们进行了与表现最佳网络的对比实验,展示了Mamba架构作为遥感图像语义分割骨干网络的巨大潜力。
  3. 我们为基于Mamba的遥感图像分割建立了新的性能基准,并提供了见解以及提出了潜在的未来方向。

4、方法

图2 展示了Samba的编码器架构:

该架构中,Samba块在四个阶段中对图像进行逐层的下采样。ViT编码器使用多头自注意力来捕捉不同表示子空间内的信息,随后通过残差连接和层归一化(LN)来缓解梯度消失问题。接着,采用一个前馈网络(FFN),由一个MLP和LN组成,以引入非线性变换并整合由多头自注意力精炼的复杂信息。

受到ViT编码器稳健的架构的启发,Samba块采用了类似的架构,多头自注意力被替换成了Mamba块。Mamba块被用于从高分辨率图像序列中提取特征,避免了在计算中的二次复杂性。我们的方法采用了Mamba块和MLP的结合,以增强模型的表示能力并加强其对复杂数据的学习能力。

Mamba的核心状态空间模型可以用演化参数A,投影参数B和C的线性微分方程表示:

状态空间模型的离散化:

更多细节请阅读原始论文。

5、实验

LoveDA数据集被采用对我们提出的框架进行验证,该数据集包含具有0.3米空间分辨率的遥感图像。它包括2522幅训练图像、1669幅验证图像和1796幅测试图像,其中验证集用于性能评估。平均交并比(mIoU)被用来评估分割的准确性。

在这项研究中,Samba与几种表现最佳的方法进行了比较。包括CNN-based的方法,如ConvNeXt、ResNet、Deeplab V3+和PSPNet,以及ViT-based的方法,如Swin-T。为了确保公平比较,测试的方法都未加载预训练参数。这些方法的优化器和学习率策略设置遵循广泛采用的最佳配置。我们使用随机调整大小、随机裁剪、随机翻转和光度畸变来增广训练数据。具体的训练设置在表1中总结。所有实验均使用两块NVIDIA RTX 3090和两块4090进行。

具体来说,,当使用UperNet作为解码器时,Samba在mIoU指标上以2.24%的优势超越了性能最佳的ViT-based模型Swin-T,并以6.51%的优势超越了了性能最佳的CNN-based的模型ConvNeXt。当与UperNet解码器组合时,Samba在每个patch的flops和参数上都比Swin-T、ResNet50和ConvNeXt要低。

此外,如图3所示,我们将Samba在LoveDA数据集上实现的语义分割结果与对比模型的结果进行了可视化。这些可视化进一步展示了Samba在高分辨率遥感图像语义分割中的性能优势。

6、总结

本文介绍了Samba,一种基于Mamba的高分辨率遥感图像语义分割框架,标志着Mamba在该领域的首次应用。通过在LoveDA数据集上性能的评估,Samba超越了最先进的CNN-based和ViT-based的方法,设定了新的性能基准,并展示了Mamba架构在高分辨率遥感影像语义分割中的有效性和潜力。

参考:CVHub 作者-派派星

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/799859.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在展会上如何介绍产品和公司,柯桥俄语培训

1.Приглашаем Вас… 邀请您…… 2. Позвольте пригласить Вас… 请允许邀请您…… 3.Имеем честь пригласить Вас … 诚挚邀请您…… 4. Посылаем Вам приглашение на… 给您&#xff0…

Vue - 你知道Vue中key的工作原理吗

难度级别:中级及以上 提问概率:80% 在Vue项目开发中,并不推荐使用索引做为key,以为key必须是唯一的,可以使用服务端下发的唯一ID值,也不推荐使用随机值做为key,因为如果每次渲染都监听到不一样的key,那么节点将无法复用,这与Vue节省…

android gradle版本无法下载

android gradle版本无法下载问题解决方法 在引入一个新的android项目的时候,通常会因为无法下载gradle版本而一直卡在同步界面,类似于下面的情况。 这是因为gradle运行时首先会检查distributionUrlhttps://services.gradle.org/distributions/gradle-5.6…

JavaScript逆向爬虫——无限debugger的原理与绕过

debugger 是 JavaScript 中定义的一个专门用于断点调试的关键字,只要遇到它,JavaScript 的执行便会在此处中断,进入调试模式。 有了 debugger 这个关键字,就可以非常方便地对 JavaScript 代码进行调试,比如使用 JavaSc…

从MySQL5.7平滑升级到MySQL8.0的最佳实践分享

一、前言 升级需求:将5.7.35升级到8.0.27, 升级方式 in-place升级【关闭现有版本MySQL,将二进制或包替换成新版本并在现有数据目录上启动MySQL并执行升级任务的方式,称为in-place升级】 原版本 5.7.35 CentOS Linux release 7.9.2009 新版本…

OpenHarmony实战开发-多设备自适应能力

介绍 本示例是《一次开发,多端部署》的配套示例代码,展示了页面开发的一多能力,包括自适应布局、响应式布局、典型布局场景以及资源文件使用。 说明: 自适应布局能力仅可以保证在外部容器大小在一定范围内变化时,容…

✌2024/4/3—力扣—整数转罗马数字

代码实现: 方法一:硬编码数字 const char *thousands[] {"", "M", "MM", "MMM"}; const char *hundreds[] {"", "C", "CC", "CCC", "CD", "D",…

STM32无刷电机全套开发资料(源码、原理图、PCB工程及说明文档)

目录 1、原理图、PCB、BOOM表 2、设计描述 2.1 前言 2.2 设计电路规范 3、代码 4、资料清单 资料下载地址:STM32无刷电机全套开发资料(源码、原理图、PCB工程及说明文档) 1、原理图、PCB、BOOM表 2、设计描述 2.1 前言 经过一个星期的画PCB,今…

C++模仿qq界面

#include "mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent) {//设置窗口的大小this->resize(645,497);//设置窗口名字this->setWindowTitle("QQ");//设置窗口图标this->setWindowIcon(QIcon("C:\\zhouzhouMyfile\\qt_proj…

如何使用Excel搭建一套低值易耗品管理系统

低值易耗品是企业日常运营中不可或缺的一部分,虽然其单个价值不高,但因其使用频繁且数量众多,对其的管理同样重要。利用Excel搭建一套低值易耗品管理系统,不仅成本低廉,而且易于操作和维护。本文将指导您如何使用Excel…

Mac运行不畅?一招教你轻松清理缓存,恢复流畅体验!

在日常使用Mac电脑时,面对系统运行速度下降或频繁卡顿的问题,不仅影响工作效率,用户体验也随之大打折扣。探究 Mac 运行变慢的背后原因,涵盖了一系列潜在因素,诸如存储空间接近极限、系统资源紧张、启动加载项过多等。…

1.4 掌握Scala运算符

大家好,今天我们将一起探讨Scala中的运算符。在Scala中,运算符实际上就是方法的一种特殊形式。这意味着我们可以像调用方法一样使用运算符。 首先,让我们了解一下Scala中的运算符种类。Scala支持多种类型的运算符,包括算术运算符…

IT廉连看——SpringBoot——SpringBoot快速入门

IT廉连看——SpringBoot——SpringBoot快速入门 1、idea创建工程 &#xff08;1&#xff09;普通Maven工程创建 工程名spring-boot-test 2、添加依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/PO…

windows7安装高版本Node

项目需要安装高版本得node&#xff0c;windows7最高支持到v13&#xff0c;需要手动下载zip安装包进行解压&#xff0c;配置环境变量&#xff0c;添加路径到path&#xff0c;如果安装了nvm需要卸载&#xff0c;否则配置得高版本node可能不生效&#xff0c;成功后如下&#xff1a…

LeetCode 24.两两交换链表中的节点

给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&#xff09;。 示例 1&#xff1a; 输入&#xff1a;head [1,2,3,4] 输出&#xff1a;[2,1,4…

Java常用API_正则表达式_字符串的替换和截取方法——小练习

我将通过一个练习题来展示这两个方法 练习题&#xff1a; 有一段字符串&#xff1a;小张qwertyuiop123小李asdfghjkl456小王 要求1&#xff1a;把字符串中三个姓名之间的字母替换成vs 要求2&#xff1a;把字符串中的三个姓名切割出来 编写代码&#xff1a; public class Tes…

js,uniapp,vue,小写数字转化为大写

应用场景&#xff1a; 把1、2、3&#xff0c;转为一、二、三 方法&#xff1a; retBigSrt(num) {const changeNum [零, 一, 二, 三, 四, 五, 六, 七, 八, 九]const unit [, 十, 百]num parseInt(num)const getWan (temp) > {const strArr temp.toString().split().re…

马斯克推出Grok-1.5,接近GPT-4级别的性能

定于下周发布的Grok-1.5带来了增强的推理和解决问题的能力&#xff0c;并接近于已知的开源和闭源的LLM的性能&#xff0c;包括OpenAI的GPT-4和Anthropic的Claude 3。 马斯克指出&#xff0c;Grok-1.5将为xAI在X平台上的ChatGPT挑战者聊天机器人提供支持&#xff0c;而Grok-2(新…

交易要想成功澳福总结几点

100%使用基本面分析的投资者能保证每次交易都能成功吗&#xff1f;100%使用技术分析的投资者能保证每次交易都能成功吗&#xff1f;在fpmarkets澳福看来无论是基本面分析还是技术分析都不能保证100%交易成功。 投资者不能只依赖一种分析进行投资交易。在fpmarkets澳福看来成功的…

GD32F470_US-016 模拟电压输出 双量程 模拟量 超声波测距模块 高精度

2.18 US-016电压式超声波测距传感器 US-016是市场上唯有的一款模拟量输出的超声波测距模块&#xff0c;输出的模拟电压和距离值成正比&#xff0c;可以方便的和其他系统相连&#xff0c;US-016工作稳定可靠。 US-016超声波测距模块可实现2cm~3m的非接触测距功能&#xff0c;供…