题目:《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/
谷歌学术
其他作者
(a)描述了基于点的提示、基于框的提示、SAM的“一切”模式(对图像中的所有对象进行分割)和RSPrompter的实例分割结果。SAM执行与类别无关的实例分割,依赖于手动提供的先前提示。(b)给出了不同位置的点提示、两点提示和框提示的分割结果。提示的类型、位置和数量严重影响SAM的结果。
此外,我们观察到遥感图像场景中的复杂背景干扰和缺乏明确定义的物体边缘对 SAM 的分割能力构成重大挑战。SAM 很难实现对遥感图像目标的完整分割,其结果严重依赖于prompt类型、位置和数量。在大多数情况下,精细的手动prompt对于实现所需效果至关重要,如上图(b)所示。这表明 SAM 在应用于遥感图像的实例分割时存在相当大的限制。
描述了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-seg利用了 SAM 图像编码器存在的知识,同时保持编码器不变。它从编码器中提取中间层特征,使用卷积块进行特征融合,然后使用现有的实例分割(Mask R-CNN和 Mask2Former)执行实例分割任务。
在 SAM-cls 中,首先利用 SAM 的“全图像”模式来分割图像中的所有潜在实例目标。其实现方法是在整个图像中均匀分布点并将每个点视为实例的prompt输入。在获得图像中所有实例掩码后,可以使用分类器为每个掩码分配标签。
为了便捷,本文直接使用轻量级的 ResNet18 来标记掩码。其次,可以利用预训练的 CLIP 模型,使 SAM-cls 能够在不进行额外训练的情况下运行以达到零样本的效果。
SAM-det 方法更加简单直接,已经被社区广泛采用。首先训练一个目标检测器来识别图像中所需的目标,然后将检测到的边界框作为prompt输入到 SAM 中。
图像通过冻结的SAM图像编码器处理生成Fimg ,{Fi}是从backbone中抽取的一些富含语义信息的特征(中间层);{Fi}通过一个轻量级的特征聚合器Φaggregator,得到一个稠密的特征图Fagg ;Fagg输入prompter,生成多组prompt imbedding(Tj)以及对应的类别(cj);最后Tj输入mask decoder中生成实例mask
如图所示,所提出的轻量级特征聚合器从大型ViT主干中提取语义信息并执行轻量级融合过程。
对ViT backbone中提取的各种中间特征层的语义特征Fi进行下采样:64×64×1280–>32×32×32;通过残差连接使信息可以流动;最后通过融合卷积ΦFusionConv得到稠密特征Fagg
两种不同类别的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掩码解码器的分割损失。总损失可以表示为:
Loss Function:
训练过程主要涉及两个关键步骤:
(1)N个mask于k个ground-truth进行匹配(使用匈牙利匹配算法)
数据集
三个公共的遥感实例分割数据集:WHU建筑提取数据集,NWPU VHR-10数据集和SSDD数据集。WHU数据集是单类建筑物目标提取分割,NWPU VHR-10是多类目标检测分割,SSDD是SAR船只目标检测分割。
评估指标:mAP(box & mask)
该表给出了在whu数据集上提出的方法与其他最先进方法之间的比较。它在不同的阈值下显示框和掩码的AP(%)值
观察Tab1-3:(1)AP显著提升;(2)在小数据集上和不同领域(domain)有强泛化性;(3)基于anchor和query的prompter在不同数据集上有不同的表现(中、大型数据集上query好于anchor)
强调了将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