图像分割-RSPrompter

文章目录

    • 前言
    • 1. 自动化提示器
      • 1.1 多尺度特征增强器
      • 1.2 RSPrompter
        • Anchor-based Prompter
        • Query-based Prompter
    • 2. SAM的扩展
    • 3. 结果
      • WHU数据集
      • NWPU数据集
      • SSDD数据集

前言

《RSPrompter: Learning to prompt for remote sensing instance segmentation based on visual foundation model》,2024

本篇论文提出了目前SAM存在的一些问题:

  1. SAM严重依赖于人工先验(点、框、mask)且分割结果是没有标记类别的,如下图,单点、两点、边框提示的不同分割结果
  2. SAM在遥感图像分割任务中的性能在很大程度上仍未被探索和证明

1. 自动化提示器

针对问题1,不由得想到:如果能够自动生成多个与类别相关的提示,SAM 的解码器就能够产生带有类别标签的多个实例级掩码。

论文提出训练一个自动化的提示器(RSPrompter),能够处理来自测试集的任何图像,同时对对象进行定位,并推断它们的语义类别和实例掩码。最后通过RSPrompter+SAM,实现分割任务的自动化。

这个过程存在两个主要挑战:(i)类别相关的提示从哪里来?(ii)应选择哪种类型的提示作为掩膜解码器的输入

RSPrompter的结算流程如下:

  1. 通过冻结权重的SAM image encoder生成多个中间特征图 F i F_i Fi (K×h×w×c)和最终的图像嵌入 F i m g F_{img} Fimg (h×w×c)
  2. F i F_i Fi通过多尺度特征增强器(结构和原理见1.1)逐步处理获得多尺度特征 F m s F_{ms} Fms
  3. 将多尺度特征 F m s F_{ms} Fms输入RSPrompter(结构和原理见1.2)以获得多组提示语( F s p a r s e m ∈ R K p × c , m ∈ { 1 , ⋅ ⋅ ⋅ , N p } F^m_{sparse} ∈ R^{K_p×c}, m ∈ \{1, · · · , Np\} FsparsemRKp×c,m{1,⋅⋅⋅,Np})和它们的语义类别( c m ∈ R c , m ∈ { 1 , ⋅ ⋅ ⋅ , N p } c_m ∈ R^c, m ∈ \{1, · · · , Np\} cmRc,m{1,⋅⋅⋅,Np}),其中, K p K_p Kp定义了每次掩码生成的提示嵌入次数; N p N_p Np是提示的个数,用来定义输出实例掩码的个数。

需要注意的是, F s p a r s e m F^m_{sparse} Fsparsem只包含前景目标实例提示,其语义类别由 c m c_m cm给出。单个 F s p a r s e m F^m_{sparse} Fsparsem是多个提示的组合,即用多个点嵌入或一个边框表示一个实例掩码。

1.1 多尺度特征增强器

为了在不增加提示器(Prompter)计算复杂度的情况下提取具有语义相关性和判别性的特征,论文提出了一种轻量级的多尺度特征增强器。该增强器包括特征聚合器(Feature Aggregator)和特征分割器(Feature Splitter)。

Feature Aggregator的设计是为了从SMA ViT backbone的众多中间特征层中学习具有代表性的语义特征并进行融合,Feature Splitter被用于从融合后的特征图中生成多尺度金字塔特征图。具体过程如下:

  1. 对每个中间层特征图下采样(1×1卷积降维+3×3卷积提升空间信息)到同一通道:h×w×c -> h×w×32
  2. 通过跳连+add形势逐渐合并各层特征,FusionConv表示最终的融合卷积层,由两个3 × 3卷积层和一个1 × 1卷积层组成,以恢复通道维度,得到最终融合特征图 F a g g F_{agg} Fagg
  3. F a g g F_{agg} Fagg输入特征分割器,Feature Splitter使用转置卷积层生成上采样特征,使用最大池化生成下采样特征。通过利用上/下采样层,最终获得了五种不同尺度的特征图: F m s j ∈ R H 2 j + 1 , W 2 j + 1 , c F_{ms}^j ∈ R^{\frac{H}{2^{j+1}},\frac{W}{2^{j+1}},c} FmsjR2j+1H,2j+1W,c,其中 j ∈ { 1 , 2 , 3 , 4 , 5 } j ∈ \{1, 2, 3, 4, 5\} j{1,2,3,4,5}

1.2 RSPrompter

在获取语义特征后,利用提示器为SAM mask decoder生成提示嵌入就变得可行。采用了两种不同结构的提示器:anchor-based和query-based。

Anchor-based Prompter

首先利用基于锚点的区域建议网络( RPN )生成候选目标框。随后通过RoI Pooling从位置编码的特征图中提取每个对象的独特视觉特征表示。

然后利用对象的视觉特征得到3个感知头:语义头(semantic head)、定位头(localization head)和提示头(prompt head)。

  • 语义头部的作用是识别特定的物体类别
  • 定位头部负责建立生成的提示表示与目标实例掩码之间的匹配准则,即基于定位( Intersection over Union , IoU)的贪婪匹配。
  • 提示头为SAM mask decoder生成必要的提示嵌入。

在这里插入图片描述

ps:PE 是positional encoding

简单来说,该提示器本质上就是一个简单的目标检测网络。其主要框架和Faster RCNN基本一致。其损失函数如下:

在这里插入图片描述

包含:

  • 候选区生成网络损失 L r p n L_{rpn} Lrpn
  • 分类损失 L c l s L_{cls} Lcls:交叉熵(CE)
  • 回归损失 L r e g L_{reg} Lreg:SmoothL1 loss for 偏移量
  • 分割损失 L s e g L_{seg} Lseg:表示SAM decoder 掩码与真实实例掩码之间的二进制CE损失,其中框的IoU决定了有监督的匹配准则。
Query-based Prompter

Anchor-based的方法较为复杂,需要使用框信息进行掩码匹配和监督训练。

因此提出了以最优传输为基础的query-based提示器。如下图所示:

  • 编码器用于提取高层次聚集的语义特征,建模各尺度特征图间的关系,输出建模后的多尺度特征图 F ^ i \hat F_i F^i,其中 F ^ m \hat F_m F^m是尺寸最大的特征图(原图四分之一大小)
  • 解码器通过交叉注意力交互将预设的可学习查询token转换为SAM和相应语义类别的提示嵌入
    • 可学习的查询token: F q u e r y i ∈ R N p × c F^i_{query} ∈ R^{N_p×c} FqueryiRNp×c,其中 N p N_p Np为提示个数,即实例数量
    • 可学习的查询token和多尺度特征图进行交叉注意力计算再经过三个head后得到:
      • 输出类别: c ^ i ∈ R N p × c \hat c_i ∈ R^{N_p×c} c^iRNp×c
      • 输出掩膜滤波器: f ^ i ∈ R N p × c \hat f_i ∈ R^{N_p×c} f^iRNp×c
      • 输出提示嵌入 c ^ i ∈ R N p × K p × c \hat c_i ∈ R^{N_p×K_p×c} c^iRNp×Kp×c,其中 K p K_p Kp用于定义每个提示的嵌入次数,即表示一个实例目标所需的提示数量。
    • 第i级粗分割掩膜( m ^ c o a r s e i \hat m_{coarse}^i m^coarsei)由 F ^ m \hat F_m F^m通过 f ^ i \hat f_i f^i线性加权得到
    • 然后将 m ^ c o a r s e i \hat m_{coarse}^i m^coarsei经过SAM promopt encoder编码后得到稠密提示编码 F d e n s e i F^i_{dense} Fdensei
    • 通过计算 e i + s i n ( e i ) e_i + sin(e_i) ei+sin(ei)后得到稀疏提示编码 F s p a r s e i F^i_{sparse} Fsparsei

整体方程可以沿着层级i循环计算,以获得多语义结果。为了进行推理,只考虑最后一层,通过数学运算得到二值掩码的边框。

在这里插入图片描述

在基于查询的提示器的训练过程中,主要进行了两个步骤:( i ) N p N_p Np预测掩码与K个真实实例掩码(一般来说, N p > K Np > K Np>K)的匹配;( ii )利用匹配的标签进行监督训练的后续实现。

1. 在执行最优运输匹配时,建立如下的匹配成本,该成本同时包含了预测的类别和掩码:

在这里插入图片描述

ω 表示分配关系。使用匈牙利算法来确定 N p N_p Np个预测和K个目标之间的最优分配。匹配代价考虑了预测和真实标注之间的相似性。具体来说,它包括类分类匹配代价( L c l s L_{cls} Lcls )、掩码交叉熵代价( L s e g − c e L_{seg-ce} Lsegce )和掩码dice代价( L s e g − d i c e L_{seg-dice} Lsegdice是一种相似性度量损失,和iou loss类似)。

2. 匹配后即可计算最终loss,由分类交叉熵损失和mask二元交叉熵损失构成:

在这里插入图片描述

2. SAM的扩展

针对上述问题2:除了提出的RSPrompter,还引入了另外三种基于SAM的实例分割方法进行对比分析,以探索SAM性能改进方向。其中,前两种方法为论文提出,具有简单实现的SAM - det已经在社区内引起了相当大的关注和应用。

在这里插入图片描述

  • (a)SAM-seg:冻结SAM Image Encoder,使用多尺度增强器获取多尺度特征,然后输入到其他网络的实例分割头,即Mask RCNN或Mask2Former的mask decoder。
  • (b)SAM-cls:在图像上均匀分布点,并将每个点作为实例的提示输入,将提示输入到SAM以获得图像中所有潜在的实例目标。在获得所有实例的掩码后,再使用分类器为每个掩码分配标签。
  • (c)SAM-det:首先,训练一个目标检测器,以精确定位图像中的期望目标。随后,将检测到的边界框作为提示输入到SAM中。
  • (d)SAM-RSPromopt:和SAM-det的理念是比较相似的,区别在于直接生成提示嵌入,而非提示本身。

3. 结果

在本文中使用了三个公共的遥感实例分割数据集:

  • WHU建筑提取数据集中的航空图像子集
  • NWPU VHR-10数据集(包含10个类比的遥感图像目标检测数据集)
  • SSDD数据集(SAR图像舰船检测数据集)

WHU数据集是单类建筑物目标提取分割,NWPU VHR-10是多类目标检测分割,SSDD是SAR船只目标检测分割。使用 mAP 进行模型性能评价。

WHU数据集

在这里插入图片描述

在这里插入图片描述

NWPU数据集

在这里插入图片描述

![[Pasted image 20240406180018.png]]

SSDD数据集

在这里插入图片描述

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

面试算法-172-对称二叉树

题目 给你一个二叉树的根节点 root , 检查它是否轴对称。 示例 1: 输入:root [1,2,2,3,4,4,3] 输出:true 解 class Solution {public boolean isSymmetric(TreeNode root) {return isSymm(root.left,root.right);}public b…

Python学习笔记——heapq

堆排序 思路 堆排序思路是: 将数组以二叉树的形式分析,令根节点索引值为0,索引值为index的节点,子节点索引值分别为index*21、index*22;对二叉树进行维护,使得每个非叶子节点的值,都大于或者…

Redis持久化策略详解

文章目录 前言一、RDB(Redis Database)1.1 概念1.2 触发方式 二、AOF(Append Only File)2.1 概念2.2 AOF持久化策略2.3 AOF文件重写2.4 触发条件2.5 AOF配置说明 三、混合持久化3.1 概念3.2 开启混合持久化3.3 加载流程3.4 混合持久化优劣势 四、总结4.1 RDB和AOF各自有什么优缺…

一文带你了解Material, Texture Mapping, Shading, Shader

作者:caven chen 在计算机图形学和三维开发过程中,有几个容易混淆的概念。今天我们来一举拿下。 又可以学习新的知识啦。冲鸭。。。。。。 基础概念 首先我们来介绍一些基础概念: 英文 中文 本质 释义 Material 材质 数据集 表现物体对光的交互…

VirusTaxo:病毒物种注释

https://github.com/omics-lab/VirusTaxo 安装 git clone https://github.com/omics-lab/VirusTaxo mamba create -n VirusTaxo python3.10 mamba activate VirusTaxo cd VirusTaxo python3 -m venv environment source ./environment/bin/activate pip install -r require…

【JavaWeb】Day40.MySQL概述——多表设计(一对多)

多表设计 项目开发中,在进行数据库表结构设计时,会根据业务需求及业务模块之间的关系,分析并设计表结构,由于业务之间相互关联,所以各个表结构之间也存在着各种联系,基本上分为三种: 一对多(多…

【机器学习算法】决策树和随机森林在计算机视觉中的应用

前言 决策树和随机森林在计算机视觉中有着广泛的应用。决策树作为一种简单而强大的分类模型,可以用于图像分类、目标检测、特征提取等任务。它能够根据图像的特征逐层进行判断和分类,从而实现对图像数据的智能分析和理解。随机森林作为一种集成学习方法&…

Tree-RAG工作流程及实体树应用介绍

引言 T-RAG方法基于将检索增强生成(Retrieval-Augmented Generation,简称RAG)架构与开源经过微调的大型语言模型(Large Language Model,简称LLM)以及实体树向量数据库相结合。这种方法的重点在于上下文检索…

001-NodeJs全局对象

概念 node是一个运行js的平台,在node中,用global对象取代了Window这个对象。 node中的repl环境可以执行js,通过命令node进入到repl环境。repl环境类似于Chrome的开发人员工具。 全局对象global 可以参考一下它的文档global全局对象 node版本介绍&am…

Tecplot导出流场Movie

本人最近想利用Tecplot导出流场计算的视频,找了以下两种方法:1、直接一次性打开所有文件,导出视频;2、利用脚本每次打开一个文件,导出其照片,最后合成视频。 方法一 对于文件内存少的情况,自然…

idea中输入法被锁定如何清除

今天遇到一个问题?idea中输入法被锁定了,无论怎么切换输入法,切换中英文,在idea中输出的均为英文内容,该如何解决呢?(idea官网:JetBrains: 软件开发者和团队的必备工具) …

【Java】SpringBoot快速整合mongoDB

目录 1.什么是mongoDB? 2.Docker安装mongoDB 3.SpringBoot整合mongoDB步骤 4.验证 1.什么是mongoDB? MongoDB是一种非关系型数据库,被广泛用于大型数据存储和分布式系统的构建。MongoDB支持的数据模型比传统的关系型数据库更加灵活&#x…

web自动化测试系列-selenium常用方法定位(五)

目录 1.selenium的定位方法 2.操作案例 3.实现代码 前面我们介绍了html页面元素主要是通过标签和属性来进行定位 ,只要满足唯一,无论是标签还是属性 ,都能进行定位 。当然 ,我们要通过selenium来进行定位 ,同样还是…

wpf下如何实现超低延迟的RTMP或RTSP播放

技术背景 我们在做Windows平台RTMP和RTSP播放模块对接的时候,有开发者需要在wpf下调用,如果要在wpf下使用,只需要参考C#的对接demo即可,唯一不同的是,视频流数据显示的话,要么通过控件模式,要么…

使用脚本部署openstack平台

两台虚拟机,compute和controller computer的节点,内存4G,硬盘50G,网络要在虚拟机设置这里添加一个网络适配器,第一个是主机模式192.168.10.0,第二个是NAT模式192.168.20.0,再进入网络编辑器里编…

多输入多输出 | Matlab实现XGboost多输入多输出预测

多输入多输出 | Matlab实现XGboost多输入多输出预测 目录 多输入多输出 | Matlab实现XGboost多输入多输出预测预测效果基本介绍程序设计往期精彩参考资料 预测效果 基本介绍 Matlab实现XGboost多输入多输出预测 1.data为数据集,10个输入特征,3个输出变量…

【绘图案例-获取裁剪过后的图片 Objective-C语言】

一、获取裁剪过后的图片 1.就是,把一张方形的图片,变成一张圆形的图片,然后,把它保存在相册里边儿, 我们刚刚学了保存到沙盒,是吧,现在来学保存到相册, 我们新建一个项目, Name:11-获取裁剪过后的图片, 我们还是在ViewController里面, 把下面这个方法删掉, 在下…

算法刷题应用知识补充---数论

这里写目录标题 快速幂求a^k%p题结 快速幂求逆元题结 扩展欧几里得求逆元题结 排列组合题结二级目录 一级目录二级目录二级目录二级目录 一级目录二级目录二级目录二级目录 一级目录二级目录二级目录二级目录 快速幂求a^k%p 题 结 主要用到a的k次方,可以用多个a的…

RX4901CE自带SPI接口,适合用在需高精度和快速响应的设备

传统的模拟温度补偿晶振采用热敏电阻等元器件来检测环境温度,将温度信息做相应变换后控制晶振的输出频率用来实现稳定输出,但是这种做法频率补偿精度有限。伴随目前电路计算频率越来越高,更多工业级的高时间精度和快速时间响应的应用出现&…

实验5 流程图和盒图ns图

一、实验目的 通过绘制流程图和盒图,熟练掌握流程图和盒图的基本原理。 能对简单问题进行流程图和盒图的分析,独立地完成流程图和盒图设计。 二、实验项目内容(实验题目) 1、用Microsoft Visio绘制下列程序的程序流程图。 若…