目录
- 简介
- 目标
- 工作重点
- 方法
- 实验
- 总结
简介
题目:《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。
其中,- 类别相关的prompt来源:提取SAM ViT backbone的中间层的特征,输入一个轻量级的特征聚合器
- 生成的prompt的输出形式为prompt embeddings(不生成坐标,作者认为生成坐标会限制优化空间;还避免了从高维到低维再返回到高维特征的梯度流的障碍,即从高维图像特征到点坐标,然后再到位置编码。)
工作重点
- 一种自动化的实例分割方法同时融入语义信息
- 基于SAM的prompt工程
- 对SAM社区进行了研究,就SAM的实力分割任务提出了一些变体
- 实验方面,使用了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)监督训练(主要包括多类分类和二进制掩码分类)
实验
-
数据集
- WHU building extraction dataset:1 class, RGB,5K, training
- NWPU VHR-10 dataset:10 clas, RGB,600 training
- 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
- decoder的计算量大:考虑重新设计head
- 基于query的prompter直接、轻量且在中大型数据集上表现更好,但是收敛速度慢,考虑优化
- 当数据集较小时,在大模型上上使用pompt learning会有比较好的表现