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

news2024/11/28 4:52:35

文章目录

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.coloradmin.cn/o/1577054.html

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

相关文章

原来科技感的三维地图可以这么简单实现

前言 2024.02.20 下午摸鱼时接到一个客户的数字孪生项目的需求,客户什么也没说,就要求“炫酷”和“科技感”地图,还要把他们的模型都放上去,起初我以为又是一个可视化大屏的项目,准备用高德地图应付过去,然…

spring面试八股

常用的注册bean的方式 ComponentScan扫描到的service和Controller等的注解 Configration配置类或者是xml文件的定义。 spring中有几种依赖注入的方式 1.构造器注入。 2.setter方法注入。 3.使用field属性的方式注入。 applicationContext是什么 spring bean spring aop Aop…

03-JAVA设计模式-建造者模式

建造者模式 什么是建造者模式 建造者模式(Builder Pattern)是一种对象构建的设计模式,它允许你通过一步一步地构建一个复杂对象,来隐藏复杂对象的创建细节。 这种模式将一个复杂对象的构建过程与其表示过程分离,使得…

目标点注意力Transformer:一种用于端到端自动驾驶的新型轨迹预测网络

目标点注意力Transformer:一种用于端到端自动驾驶的新型轨迹预测网络 附赠自动驾驶学习资料和量产经验:链接 摘要 本文介绍了目标点注意力Transformer:一种用于端到端自动驾驶的新型轨迹预测网络。在自动驾驶领域中,已经有很多…

深度比较Vue 3.0中的computed和watch属性用法与最佳实践

摘要:在Vue 3.0中,computed和watch属性是用于处理数据逻辑的重要工具。本文将详细对比这两个属性的工作原理、适用场景以及使用时的注意事项,旨在帮助开发者更有效地选择和使用它们。 一、computed属性 computed属性是Vue 3.0中用于计算数据…

wpf TreeView 实现动态加载页面

实现以下的效果,在TreeView上点击节点,动态加载右边的页面,如下图所示: 1. 主页面如下: 2. 实现主页面刷新方法 _currentStateViewModel.RefreshState(); _currentStateViewModel就是点击TreeView上的节点&#xff0…

Linux安装最新版Docker完整教程

参考官网地址:Install Docker Engine on CentOS | Docker Docs 一、安装前准备工作 1.1 查看服务器系统版本以及内核版本 cat /etc/redhat-release1.2 查看服务器内核版本 uname -r这里我们使用的是CentOS 7.6 系统,内核版本为3.10 1.3 安装依赖包 …

c++20协程详解(四)

前言 到这就是协程的最后一节了。希望能帮到大家 代码 到这里我们整合下之前二、三节的代码 #include <coroutine> #include <functional> #include <chrono> #include <iostream> #include <thread> #include <mutex> #include <me…

政安晨【AIGC实践】(一):在Kaggle上部署使用Stable Diffusion

目录 简述 开始 配置 执行 安装完毕&#xff0c;一键运行 结果展示 政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: 人工智能数字虚拟世界实践 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提…

spring加载类初始化顺序

今天看spring官网的时候&#xff0c;提到了Ordered执行顺序。我当时记得PostConstruct注解会在bean加载后执行&#xff0c;现在又来了一个执行顺序&#xff0c;直接给我整蒙了。 于是我写了一个简单的dom来看看&#xff0c;它是什么&#xff1a; Service("t2ServerImpl&q…

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

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

中药提取物备案数据库<5000+中药提取物>

NMPA中药提取物备案数据库的建立是确保中药提取物质量安全、规范生产行为、加强监管、保障公众用药安全、促进产业发展和国际化的重要措施。 通过查询中药提取物备案信息我们能了解到中药提取物的实用备案号、药品通用名称、药品生产企业、批准文号、备案日期、备案状态、中药…

分表?分库?分库分表?实践详谈 ShardingSphere-JDBC

如果有不是很了解ShardingSphere的可以先看一下这个文章&#xff1a; 《ShardingSphere JDBC?Sharding JDBC&#xff1f;》基本小白脱坑问题 阿丹&#xff1a; 在很多开发场景下面&#xff0c;很多的技术难题都是出自于&#xff0c;大数据量级或者并发的场景下面的。这里就出…

【LeetCode刷题记录】11. 盛最多水的容器

11 盛最多水的容器 给定一个长度为 n 的整数数组 height。有 n 条垂线&#xff0c;第 i 条线的两个端点是 ( i , 0 ) (i, 0) (i,0)和 ( i , h e i g h t [ i ] ) (i, height[i]) (i,height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的…

MySQL学习路线一条龙

引言 在当前的IT行业&#xff0c;无论是校园招聘还是社会招聘&#xff0c;MySQL的重要性不言而喻。 面试过程中&#xff0c;MySQL相关的问题经常出现&#xff0c;这不仅因为它是最流行的关系型数据库之一&#xff0c;而且在日常的软件开发中&#xff0c;MySQL的应用广泛&#…

数字人直播系统是什么?AI数字人直播间搭建方法来了!

无人直播的时代&#xff0c;短视频和直播平台正在风口&#xff0c;各条赛道内也早已人满为患&#xff0c;很多线下商家都想参与其中&#xff0c;因为时间、地方、设备等限制久久不能去实行起来。所以&#xff0c;数字人直播新模式成为了线下商家的救星&#xff0c;线下商家方法…

unity_Button:单击的三种实现方式

此代码直接绑定到button上面无需其他操作 using UnityEngine; using UnityEngine.UI;public class PrintHelloOnButtonClick : MonoBehaviour {private Button button;void Start(){// 获取当前GameObject上的Button组件button GetComponent<Button>();// 添加点击事件…

探索基于WebRTC的有感录屏技术开发流程

title: 探索基于WebRTC的有感录屏技术开发流程 date: 2024/4/7 18:21:56 updated: 2024/4/7 18:21:56 tags: WebRTC录屏技术屏幕捕获有感录屏MediaStream实时传输音频录制 第一章&#xff1a;技术原理 WebRTC&#xff08;Web Real-Time Communication&#xff09;是一种开放源…

什么是FIG图片格式?如何把jpg图片转FIG格式?

一&#xff0c;什么是FIG图片格式 FIG图片格式&#xff0c;全称为Figma Image Format&#xff0c;是一种由Figma设计软件专用的图像格式。Figma是一款强大的在线协作设计工具&#xff0c;广泛应用于UI/UX设计、产品设计和图标设计等领域。 二&#xff0c;FIG图片格式的优点 …

Prometheus服务发现与监控案例-Day 02

1. 服务发现简介 prometheus采用pull方式拉取指定目标实例的监控数据&#xff0c;也就是间隔固定的周期去目标实例上抓取metrics数据&#xff0c;每一个被抓取的目标实例都需要暴露一个数据指标API接口&#xff0c;prometheus通过这个暴露的接口就可以获取到其指标数据. 这种方…