Paper Reading: RSPrompter,基于视觉基础模型的遥感实例分割提示学习

2023-09-15 18:20:37

在这里插入图片描述

简介

题目:《RSPrompter: Learning to Prompt for Remote Sensing Instance Segmentation based on Visual Foundation Model 》,基于视觉基础模型的遥感实例分割提示学习

日期:2023.6.28

单位:北航、北京数字媒体重点实验室、虚拟现实技术与系统国家重点实验室、上海人工智能实验室

论文地址:https://arxiv.org/abs/2306.16269

GitHub:https://github.com/KyanChen/RSPrompter

作者:

陈科研

个人主页:https://kyanchen.github.io/
在这里插入图片描述
谷歌学术
在这里插入图片描述
其他作者


  • 摘要
    利用大量的训练数据(SA-1B), Meta AI Research提出的基础分段任意模型(SAM)显示出卓越的泛化和zero-shot能力。尽管如此,作为一种与类别无关的实例分割方法,SAM在很大程度上依赖于涉及点、框和粗粒度掩码的先前手动指导。此外,其在遥感图像分割任务上的性能还有待充分的探索和论证。在本文中,我们考虑设计一种基于SAM基础模型,结合语义分类信息的遥感图像实例自动分割方法。受prompt learning的启发,我们提出了一种学习生成合适的Prompt来作为 SAM 的输入。这使得SAM能够为遥感图像产生语义上可辨的分割结果,我们将其称为RSPrompter。我们还基于SAM社区的最新发展,为实例分割任务提出了几个正在进行的衍生工具,并将它们的性能与RSPrompter进行比较。在WHU building、NWPU VHR-10和SSDD数据集上的大量实验结果验证了我们提出的方法的有效性。

目标

  • 背景
    由于其交互式框架,SAM 需要提供先验的Prompt,例如点、框或掩模来表现为一种类别无关分割方法, 如下图(a)所示。显然,这些限制使 SAM 不适用于遥感图像的全自动解译。
    在这里插入图片描述

(a)描述了基于点的提示、基于框的提示、SAM的“一切”模式(对图像中的所有对象进行分割)和RSPrompter的实例分割结果。SAM执行与类别无关的实例分割,依赖于手动提供的先前提示。(b)给出了不同位置的点提示、两点提示和框提示的分割结果。提示的类型、位置和数量严重影响SAM的结果。

此外,我们观察到遥感图像场景中的复杂背景干扰和缺乏明确定义的物体边缘对 SAM 的分割能力构成重大挑战。SAM 很难实现对遥感图像目标的完整分割,其结果严重依赖于prompt类型、位置和数量。在大多数情况下,精细的手动prompt对于实现所需效果至关重要,如上图(b)所示。这表明 SAM 在应用于遥感图像的实例分割时存在相当大的限制。

  • 目标动机
    增强SAM在图像分割任务上的能力。每一组prompt能够得到一个的实例化mask,若能自动生成多个与类别相关的prompt,SAM 的解码器就能够产生带有类别标签的多个实例级掩码。由此,本文提出了RSPrompter,用于学习如何生成可以增强 SAM 框架能力prompt。
    其中,
    1. 类别相关的prompt来源:提取SAM ViT backbone的中间层的特征,输入一个轻量级的特征聚合器
    2. 生成的prompt的输出形式为prompt embeddings(不生成坐标,作者认为生成坐标会限制优化空间;还避免了从高维到低维再返回到高维特征的梯度流的障碍,即从高维图像特征到点坐标,然后再到位置编码。)

工作重点

  1. 一种自动化的实例分割方法同时融入语义信息
  2. 基于SAM的prompt工程
  3. 对SAM社区进行了研究,就SAM的实力分割任务提出了一些变体
  4. 实验方面,使用了3个遥感数据集进行了验证(在数据量、数据类别、模态上都有一些差别)

方法

在这里插入图片描述描述了SAM的示意图,它包括一个图像编码器、一个提示编码器和一个掩码解码器。SAM根据提供的输入提示生成相应的对象掩码。

除了本文提出的RSPrompter之外,还介绍了另外三种基于SAM的实例分割方法进行比较,如图3 (a)、(b)和©所示,以评估它们在遥感图像实例分割任务中的有效性,并为未来的研究提供启发。这些方法包括:外部实例分割头、对掩码类别进行分类、使用检测到的目标框,分别对应图3 (a)、(b)、( c )。在接下来的部分中,我们将分别将这些方法称为SAMseg、SAM-cls和SAM-det。
在这里插入图片描述

图中从左到右分别展示了SAM-seg、SAM-cls、SAM-det和RSPrompter作为将SAM应用于遥感图像实例分割任务的备选解决方案。(a)在SAM图像编码器后添加实例分割头。(b) SAM的“一切”模式为图像中的所有物体生成掩码,随后由分类器将其分类为特定类别。©首先由目标检测器产生目标边界框,然后将其作为SAM的先验提示输入,以获得相应的掩码。(d)本文提出的RSPrompter为即时分割掩码创建与类别相关的提示嵌入。图中雪花符号表示该部分的模型参数被冻结。

  • SAM产生mask的过程表达式:

在这里插入图片描述

  • SAM-seg

在这里插入图片描述

SAM-seg利用了 SAM 图像编码器存在的知识,同时保持编码器不变。它从编码器中提取中间层特征,使用卷积块进行特征融合,然后使用现有的实例分割(Mask R-CNN和 Mask2Former)执行实例分割任务。

  • SAM-cls

在这里插入图片描述

在 SAM-cls 中,首先利用 SAM 的“全图像”模式来分割图像中的所有潜在实例目标。其实现方法是在整个图像中均匀分布点并将每个点视为实例的prompt输入。在获得图像中所有实例掩码后,可以使用分类器为每个掩码分配标签。

为了便捷,本文直接使用轻量级的 ResNet18 来标记掩码。其次,可以利用预训练的 CLIP 模型,使 SAM-cls 能够在不进行额外训练的情况下运行以达到零样本的效果。

  • SAM-det

在这里插入图片描述

SAM-det 方法更加简单直接,已经被社区广泛采用。首先训练一个目标检测器来识别图像中所需的目标,然后将检测到的边界框作为prompt输入到 SAM 中。


  • RSPrompter

在这里插入图片描述

图像通过冻结的SAM图像编码器处理生成Fimg ,{Fi}是从backbone中抽取的一些富含语义信息的特征(中间层);{Fi}通过一个轻量级的特征聚合器Φaggregator,得到一个稠密的特征图Fagg ;Fagg输入prompter,生成多组prompt imbedding(Tj)以及对应的类别(cj);最后Tj输入mask decoder中生成实例mask

  • Feature Aggregator

在这里插入图片描述

如图所示,所提出的轻量级特征聚合器从大型ViT主干中提取语义信息并执行轻量级融合过程。

在这里插入图片描述

对ViT backbone中提取的各种中间特征层的语义特征Fi进行下采样:64×64×1280–>32×32×32;通过残差连接使信息可以流动;最后通过融合卷积ΦFusionConv得到稠密特征Fagg

两种不同类别的prompter

  • Anchor-based Prompter,锚点式

在这里插入图片描述

使用RPN head对稠密特征中的目标进行召回,生成一些proposal;proposal通过RoI Pooling生成一些视觉向量,再通过3个感知头:语义头、定位头和提示头。用于定于目标类别、建立生成的提示表示与目标实例掩码之间的匹配标准(IoU)、生成prompt imbedding

在这里插入图片描述

在生成prompt imbedding的过程中通过了一个sin变换,目的是为了对齐SAM的prompt encoder和生成的prompt imbedding的空间(原始的prompt encoder是一种高频的信号,而通过mlp生成的prompt是一种平稳的信号,使用sin函数将低频映射至高频,使之对齐两个表达空间)

Loss Function:该模型的损失包括RPN网络的二元分类损失和定位损失,语义头的分类损失,定位头的回归损失以及冻结的SAM掩码解码器的分割损失。总损失可以表示为:
在这里插入图片描述

  • Query-based Prompter,查询式

在这里插入图片描述
在这里插入图片描述

Loss Function:

训练过程主要涉及两个关键步骤:

(1)N个mask于k个ground-truth进行匹配(使用匈牙利匹配算法)

在这里插入图片描述

(2)监督训练(主要包括多类分类和二进制掩码分类)
在这里插入图片描述

实验

  • 数据集

    1. WHU building extraction dataset:1 class, RGB,5K, training
    2. NWPU VHR-10 dataset:10 clas, RGB,600 training
    3. SAR Ship Detection dataset:1 class, SAR,900 training

    三个公共的遥感实例分割数据集:WHU建筑提取数据集,NWPU VHR-10数据集和SSDD数据集。WHU数据集是单类建筑物目标提取分割,NWPU VHR-10是多类目标检测分割,SSDD是SAR船只目标检测分割。

  • 评估指标:mAP(box & mask)

  • Comparison with the SOTA: WHU
    在这里插入图片描述

该表给出了在whu数据集上提出的方法与其他最先进方法之间的比较。它在不同的阈值下显示框和掩码的AP(%)值

  • Comparison with the NWPU:
    在这里插入图片描述

  • Comparison with the SOTA: SSDD
    在这里插入图片描述

观察Tab1-3:(1)AP显著提升;(2)在小数据集上和不同领域(domain)有强泛化性;(3)基于anchor和query的prompter在不同数据集上有不同的表现(中、大型数据集上query好于anchor)


  • 消融实验

在这里插入图片描述
给出了各种图像编码器及其对应的参数数量,以及它们在nwpu数据集上的分割性能。

在这里插入图片描述
强调了将sam的主干中的不同层次特征合并到特征聚合器中对分割性能的影响。表示法[start: end: step]指定以步长间隔从开始到结束返回的特征映射的索引。

在这里插入图片描述
特征聚合器中下转和残差连接对分割性能的影响。第一行描述了最终采用的方法。Rs:降低空间维度;Rc:减小通道尺寸;电弧:添加残余连接;Pc:具有特征连接的并行架构。

在这里插入图片描述
显示了改变提示器中变压器编码器和解码器层数对分割性能的影响。

在这里插入图片描述突出显示了提示器中不同的查询数和提示嵌入数对分割性能的影响

在这里插入图片描述
展示了正弦正则化对提示器的影响,在掩码解码器中加入了额外的可训练组件,并采用了多尺度训练机制对分割性能的影响

总结

  • conclusion
    在本文中,我们介绍了RSPrompter,这是一种用于遥感图像实例分割的prompt learning方法,利用了SAM基础模型。RSPrompter的目标是学习如何为SAM生成prompt输入,使其能够自动获取语义实例级掩码。相比之下,原始的SAM需要额外手动制作prompt,并且是一种类别无关的分割方法。RSPrompter的设计理念不局限于SAM模型,也可以应用于其他基础模型。基于这一理念,我们设计了两种具体的实现方案:基于预设锚点的RSPrompter-anchor和基于查询和最优传输匹配的RSPrompter-query。此外,我们还调查并提出了SAM社区中针对此任务的各种方法和变体,并将它们与我们的prompt learning方法进行了比较。通过消融实验验证了RSPrompter中每个组件的有效性。同时,三个公共遥感数据集的实验结果表明,我们的方法优于其他最先进的实例分割技术,以及一些基于SAM的方法。

  • discussions

    1. decoder的计算量大:考虑重新设计head
    2. 基于query的prompter直接、轻量且在中大型数据集上表现更好,但是收敛速度慢,考虑优化
    3. 当数据集较小时,在大模型上上使用pompt learning会有比较好的表现
更多推荐

让机器人飞入寻常百姓家丨青源Workshop「人形机器人」观点集锦

人形机器人并非新事物,早在上世纪70年代,日本早稻田大学加藤一郎就带领团队研发出世界上第一台人形智能机器人——WABOT-1。而去年马斯克Optimus的发布,也对“机器人热”再度推波助澜。人形机器人领域的发展,需要软件和硬件的共同迭代和优化,同时相比于无人驾驶,人形机器人涉及更加复杂的真实世界多模态环境。机器人技术依

Cpp/Qt-day020918Qt

目录完善登录框点击登录按钮后,判断账号(admin)和密码(123456)是否一致,如果匹配失败,则弹出错误对话框,文本内容“账号密码不匹配,是否重新登录”,给定两个按钮ok和cancel,点击ok后,会清除密码框中的内容,继续进行登录;如果点击cancel按钮,则关闭界面。如果账号和密码匹配,则弹出信息对话框,给出提

CSI及CPHY的学习知识点

1.CPHY不需要linecoding8b/10b这些线路编码是不需要的,CPHY的三线编码本身就解决了连续0/1的情况。2.CPHY的三线编码使用状态跳变传递信息的有六个线态(wirestate),每一个当前线态都可以跳变到另外5个线态。每一次跳变对应3bitsymbol【跳变有5种可能,用3bit表示,所以3bit

OpenCV自学笔记二十:图像分割和提取

1、用分水岭算法实现图像分割与提取分水岭算法是一种经典的图像分割算法,用于将图像中的前景和背景进行分离。它基于图像中的灰度值和梯度信息来确定边界,并通过填充区域将图像分割成多个连通的区域。以下是分水岭算法的基本原理:1.预处理:首先对输入图像进行预处理操作,例如灰度化、平滑滤波和边缘检测等,以便更好地捕捉图像的特征。2

新工具 !一键无限重置 Jetbrain 2023 最新版系列

今天逛github,看到了一个新的Jetbrains系列软件的无限30天试用的方法,体验了下,感觉还不错,使用方法很简单。我看介绍软件还处于测试阶段,大家感兴趣的可以试试看。演示软件RubyMine2023.1JetbrainKiller0.5.0使用方法软件名称叫JetbrainKiller,使用方法就是打开软件,一

基于 Socket 网络编程

基于Socket网络编程前言一、基于Socket的网络通信传输(传输层)二、UDP的数据报套接字编程1、UDP套接字编程API2、使用UDPSocket实现简单通信三、TCP流套接字编程1、TCP流套接字编程API2、使用TCPSocket实现简单通信3、使用Tcp协议进行网络传输的“五大要点”前言我们再进行网络编程时

VFP保存大文件到MSSQL,最大2G,超过得上手段

目前社群在聊这个大文件读取的问题,赵总说要把image字段换成BASE64来读取,我就一脸蒙。为什么要转BASE64,体积暴涨三分之一,明显直取更快,200MB文件对单个文件来说,不算大。赵总还写了啥直读程序,于是就来验证一下情况拿出猫框,简单的操作一下建立MSSQL数据库表1生成猫框DAL类DefineClassDa

思腾云计算

为推动AI行业的国产化布局,迎合国产化服务器的市场需求,思腾合力推出华思系列服务器。1.前置24盘12GSASEXP硬盘背板,可以插24个3.5/2.5寸SAS/SATA硬盘;2.后置12盘12GSASEXP硬盘背板,可插12个3.5/2.5寸SAS/SATA硬盘,外加4口U.2硬盘背板1套;3.内置2个M.2SATA

线性代数的本质(十一)——复数矩阵

文章目录复数矩阵附录极大线性无关组向量叉积复数矩阵矩阵AAA的元素aij∈Ca_{ij}\in\Complexaij​∈C,称为复矩阵。现将实数矩阵的一些概念推广到复数矩阵,相应的一些性质在复数矩阵同样适用。定义:设复矩阵A=(aij)m×nA=(a_{ij})_{m\timesn}A=(aij​)m×n​矩阵Aˉ=(

SkyWalking快速上手(五)——存放在内存、数据持久化

文章目录存放在内存一、概述二、数据存放方式1.指标数据2.跟踪数据三、优势和注意事项四、总结数据持久化一、指标数据的持久化二、跟踪数据的持久化三、注意事项四、总结存放在内存一、概述SkyWalking是一个开源的分布式系统追踪和性能监控工具,用于帮助开发人员和运维人员监控和分析分布式系统的性能问题。在SkyWalkin

SkyWalking入门之Agent原理初步分析

一、简介当前稍微上点体量的互联网公司已经逐渐采用微服务的开发模式,将之前早期的单体架构系统拆分为很多的子系统,子系统封装为微服务,彼此间通过HTTP协议RESETAPI的方式进行相互调用或者gRPC协议进行数据协作。早期微服务只有几个的情况下,我们遇到问题可以直接简单、快速地通过采集日志进行分析,是A服务存在问题还是B

热文推荐