FS【1】:SSP

news2024/11/16 23:33:04

文章目录

  • 前言
  • 1. Abstract
  • 2. Introduction
    • 2.1. Motivation
      • 2.1.1. Few-shot Segmentation (FSS) Task
      • 2.1.2. Few-shot Segmentation (FSS) Problem
    • 2.2. Contribution
  • 3. Methods
    • 3.1. Motivation
    • 3.2. Overview of the architecture
    • 4.3. Self-support Prototype
    • 4.4. Adaptive Self-support Background Prototype
    • 4.5. Self-support Matching
  • 总结


前言

这是一篇发表在 ECCV 2022 上的论文,对后续的许多 few-shot 方法都有着一定的启发作用。原论文作者在知乎上也给出了自己的解读:ECCV 2022 | SSP: 自支持匹配的小样本任务新思想

原论文链接:Self-support Few-Shot Semantic Segmentation


1. Abstract

现有的 few-shot 分割方法严重受限于所提供的少数几张照片支持对类内变化的覆盖范围。

为此,本文提出了一种新颖的自支持匹配策略来缓解这一问题,该策略使用查询原型来匹配查询特征,其中查询原型是从高置信度查询预测中收集的。这种策略能有效捕捉查询对象一致的基本特征,从而恰当地匹配查询特征。本文还提出了自适应自支持背景原型生成模块和自支持损失,以进一步促进自支持匹配过程。


2. Introduction

2.1. Motivation

2.1.1. Few-shot Segmentation (FSS) Task

对于一个感兴趣的目标新类别,小样本分割算法通过给定的支持图片 I s I_s Is 对查询图片 I q I_q Iq 中的目标新类别进行分割。其中,对每个目标新类别来说,在训练集中没有出现或者没有标注,且在测试时对应的样本数量只有少数几张图片(一般低于 10 张)。经典的小样本分割算法是分别在支持图片 I s I_s Is 对查询图片 I q I_q Iq 上提取特征,并利用 Masked Average Pooling 操作和 support GT mask 在支持图片特征 F s F_s Fs 上生成支持特征原型 P s P_s Ps。最后计算支持特征原型 P s P_s Ps 和查询图片特征 F q F_q Fq 每个空间位置特征之间的余弦相似度(cosine similarity),并将这个 cosine similarity map 作为预测的分割结果。
在这里插入图片描述

2.1.2. Few-shot Segmentation (FSS) Problem

小样本分割任务存在一个非常重要的问题,就是 support 和 query 间的 appearance gap。在 support 和 query 中的同类别物体可能存在非常大的外观差异性。

这一问题源自于小样本任务的特性,即数据稀少性和数据多样性。其中数据稀少性是指 support 数据很少,通常每个新类别只有不到10个样本,而数据多样性是指 query 的数量是无穷无尽的。所以 support 中的物体根本无法涵盖所有 query 中的同类别物体。

2.2. Contribution

本文提出了一种全新的自支持小样本分割算法。其思想是利用查询特征原型 P q P_q Pq 去匹配查询图片特征 F q F_q Fq。其中查询特征原型 P q P_q Pq 是利用高置信度的 query prediction mask 提取对应的查询图片特征 F q F_q Fq 得到的,而 query prediction mask 则是由传统 support-query 匹配算法生成的。因为这种 query 特征的自匹配性质,我们将方法命名为自支持(self-support)算法。


3. Methods

3.1. Motivation

自支持匹配想法源自于格式塔理论(Gestalt principle),即物体的整体性:相对于不同物体上的不同部分,同一个物体上的不同部分会更像。

为了验证这一想法,本文统计了 Pascal VOC 数据集中的图片不同像素之间的相似度,其特征是用 ImageNet 上预训练的 ResNet-50 提取的。

在这里插入图片描述

如 Table 1. 所示,对于前景像素来说,相同物体上的前景像素之间的相似度远大于不同物体上的前景像素之间的相似度,在背景像素上也观察到相同的现象。

在这里插入图片描述

为了进一步验证本文的自支持想法,如 Table 2. 所示,本文使用传统的支持特征原型 P s P_s Ps(从 support 图片中提取的 support prototype)和自支持特征原型 P q P_q Pq(从 query 图片中提取的 self-support prototype,因为知道 query GT mask),分别与查询图片特征 F q F_q Fq 进行匹配。自支持特征原型 P q P_q Pq 的匹配结果可以达到 83.0 mIoU,比支持特征原型 P s P_s Ps 的匹配结果高近 25 个点。但是在实际使用中不可能知道 query GT mask,所以本文人为地设置不同大小的 query GT mask 并引入噪声来模拟预测得到的 query mask。在这种情况下,自支持特征原型 P q P_q Pq 的匹配结果仍然高于 74 mIoU。这两个实验很好地支持了自支持匹配的想法。

3.2. Overview of the architecture

本文通过传统的 support prototype based matching 生成初始的 query mask,并利用 query mask 在查询图片特征 F q F_q Fq 上提取自支持特征原型 P q P_q Pq。最后将自支持特征原型 P q P_q Pq 和支持特征原型 P s P_s Ps 融合并与查询图片特征 F q F_q Fq 进行匹配。同时本文认为可以进行多次的自支持匹配对自支持特征原型 P q P_q Pq 进行优化。
在这里插入图片描述

4.3. Self-support Prototype

常规的支持原型生成程序是:

在这里插入图片描述

MAP 用于生成与查询特征 F q F_q Fq 匹配的预测,同时可以得到 estimated query mask M 1 M_1 M1

在这里插入图片描述

然后,可以用同样的方法生成查询原型 P q P_q Pq,只是在推理过程中查询图像 M q M_q Mq 的 GT mask 不可用。因此,需要使用预测的 query mask M ~ q \tilde{M}_q M~q 来聚合查询特征。查询原型生成过程可表述为:

在这里插入图片描述

其中, M ~ q = 1 ~ ( M 1 > τ ) \tilde{M}_q = \tilde{1}(M_1 > \tau) M~q=1~(M1>τ)

  • 1 ~ \tilde{1} 1~ 代表 indicator function,通常用于将 1 分配不给一组元素中属于集合的元素,将 0 分配给不属于集合的元素
  • τ \tau τ 用于控制查询特征采样范围,前景和背景查询掩码的阈值分别设置为 { τ f g = 0.7 , τ b g = 0.6 } \{ \tau_{fg} =0.7, \tau_{bg} =0.6 \} {τfg=0.7,τbg=0.6}

估计的自支持原型 P q = { P q , f , P q , b } P_q = \{ P_{q,f}, P_{q,b}\} Pq={Pq,f,Pq,b} 将用于匹配查询特征

本文发现,估计的查询掩码只需要涵盖一些有代表性的对象片段,就足以检索到同一对象的其他区域。为了验证部分对象或对象片段是否能够支持整个对象,我们使用部分原型对模型进行了训练和评估,这些原型是根据地面实况掩码标签随机选择的特征聚合而成的

在这里插入图片描述

Table 2. 所示,在减少用于生成原型的聚合对象区域的同时,本文提出的自支持原型始终保持着较高的分割性能

本文在部分原型中引入了噪声特征(噪声比为 20%),以便在推理过程中模拟真实的自支持生成,方法是从非目标区域随机选择图像特征,并将这些特征汇总到上述部分原型中。如 Table 2. 所示,在这种噪声情况下,我们的自支持原型仍然比传统的支持原型好用得多

需要注意的是,每幅图像可能包含多个对象,所以本文提出的自支持原型也能很好地处理多对象场景

4.4. Adaptive Self-support Background Prototype

本文的算法分别对 foreground 和 background 的 prototype 进行建模,但是 foreground 和 background 的性质完全不一样:

在这里插入图片描述

  • 对于 foreground 来说,同一个物体的不同部分之间一般是相似的,具有全局的相似性,所以可以使用 MAP 将所有的 foreground 像素聚合为一个 prototype 向量来表示 foreground

在这里插入图片描述

  • 但是对于 background 来说,背景一般比较杂乱,没有全局的相似性,只有局部的相似性,所以用一个 prototype 向量来表示 background 是有问题的。因此基于 background 的局部相似性这一特点,本文提出了 adaptive self-support background prototype (ASBP),即根据当前 background 像素与其他 background 像素之间的相似度,加权地融合 background 特征。具体来说:

    • 首先通过对查询特征 F q F_q Fq 与背景掩码 M ~ q , b \tilde{M}_{q,b} M~q,b 的掩码乘法,收集背景查询特征 F q , b F_{q,b} Fq,b

    • 然后,可以通过矩阵乘法运算 MatMul 生成重塑的背景查询特征 F q , b F_{q,b} Fq,b 的像素与完整查询特征 F q F_q Fq 之间的亲和矩阵 A A A

      在这里插入图片描述

    • 最后,亲和矩阵通过 softmax 运算沿第一维进行归一化,用于对每个查询像素的背景查询特征进行加权汇总,生成自适应自支持背景原型 P q , b ∗ P^*_{q,b} Pq,b

    在这里插入图片描述

用自适应自支持背景原型更新自支持原型: P q = { P q , f , P q , b ∗ } P_q = \{ P_{q,f}, P^*_{q,b} \} Pq={Pq,f,Pq,b}

4.5. Self-support Matching

本文对支持原型 Ps 和自支持原型 Pq 进行了加权组合:

在这里插入图片描述

计算增强支持原型 P s ∗ P^*_s Ps 与查询特征 F q F_q Fq 之间的余弦距离,生成最终的匹配预测结果:

在这里插入图片描述

然后,在生成的距离图上应用训练监督:

在这里插入图片描述

为了进一步简化自支持匹配过程,本文提出了一种新的查询自支持损失:

在这里插入图片描述

通过在支持特征上使用相同的步骤,可以引入支持自匹配损失 L s \mathcal{L}_s Ls

最后,通过联合优化上述所有损失,以端到端的方式训练模型:

在这里插入图片描述


总结

算法优点:

  1. 第一个优点是自支持算法会更加受益于更好的 backbone 和 support 数量,因为它们可以带来更准确的初始 query mask 预测结果,可以提取更准确的 self-support prototype,进而得到更好的分割结果
  2. 第二个优点是更高置信度的预测结果。分割算法会使用阈值将预测结果中的连续 [ 0 , 1 ] [0,1] [0,1] 值变为 0-1 值,但是初始的预测结果质量也很重要,尤其是对于困难样本。如果预测值在 0.5 附近,这个点上的预测就很容易失败。本文希望得到更加鲁棒和高置信度的预测结果。因此,本文使用 MAE 对预测结果的连续 [ 0 , 1 ] [0,1] [0,1] 值进行评估
  3. 第三个优点是自支持算法非常通用,没有额外的参数量,且额外的计算量也很小,模型很小,训练和测试都很快,并可以直接应用在其他的小样本分割算法上

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

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

相关文章

golang并发安全-select

前面说了golang的channel, 今天我们看看golang select 是怎么实现的。 数据结构 type scase struct {c *hchan // chanelem unsafe.Pointer // 数据 } select 非默认的case 中都是处理channel 的 接受和发送,所有scase 结构体中c是用来存储…

UCF101 数据集介绍与下载

一、介绍 UCF101 是一个现实动作视频的动作识别数据集,收集自YouTube,提供了来自101个动作类别的13320个视频。官方:https://www.crcv.ucf.edu/research/data-sets/ucf101/ 数据集名称:UCF-101(2012) 总视…

mapboxGL中区域掩膜的实现

概述 区域掩膜的功能也是比较常见的功能呢,本文分享在mapboxGL中结合canvas如何实现。 效果 实现 1. 创建画布 先创建一个map大小的canvas,设置其大小与样式,并添加到地图画布容器中。 const {width, height} map.getCanvas() canvas …

Vue入门三(表单控制|购物车案例|v-model进阶|与后端交互|计算属性|监听属性|Vue生命周期)

文章目录 一、表单控制二、购物车案例三、v-model进阶四、与后端交互跨域问题解决,三种交互方法跨域问题详解1-CORS:后端代码控制,上面案例采用的方式1) 方式一:后端添加请求头2) 方式二:编写中间件3) 方式三&#xff…

什么是线程?

线程 1. 线程概述 线程是计算机科学中的基本概念,指的是在一个进程中执行的独立指令流。通常,一个进程可以包含多个线程,它们共享进程的资源,如内存空间、文件句柄等,但每个线程有自己的独立执行流。线程是操作系统进…

Python图片格式转换与文字识别:技术与实践

目录 一、引言 二、Python图片格式转换 PIL库介绍 代码示例 质量优化 三、文字识别技术 四、Python实现文字识别 1、安装与配置OCR工具 2. 读取图片并提取文字 3. 优化与提高识别准确率 五、实践与应用案例 六、结论 一、引言 随着数字化时代的到来,图…

SOLIDWORKS 2024新功能之SOLIDWORKS PDM篇

SOLIDWORKS 2024 新功能 PDM篇目录概述 • 装配体直观 • 在 Web2 中下载文件的特定版本 • 文件类型图标 • “更改状态”命令中的签出选项 • 复制树对话框 • 查看检出事件详细信息 • 系统变量 • 查看许可证使用 • 数据安全增强功能 • SOLIDWORKS PDM 性能改进…

软件架构之事件驱动架构

一、定义 事件驱动的架构是围绕事件的发布、捕获、处理和存储(或持久化)而构建的集成模型。 某个应用或服务执行一项操作或经历另一个应用或服务可能想知道的更改时,就会发布一个事件(也就是对该操作或更改的记录)&am…

msckf_vio在ubuntu20.04中的编译

1.新建catkin workspace文件夹,并在其中新建src文件夹,并将源码clone至src内。 源码地址:https://github.com/KumarRobotics/msckf_vio 目录层级示意如下,build和devel不必新建,后续指令会自动新建。 2. 在编译之前…

虹科技术丨PCAN网关设备:打通通信壁垒,LED指示灯编程示例

来源:虹科汽车智能互联 虹科技术丨PCAN网关设备:打通通信壁垒,LED指示灯编程示例 原文链接:https://mp.weixin.qq.com/s/hpxssnDeD-43x3tyHJbAtA 欢迎关注虹科,为您提供最新资讯! 导读 在工业自动化、汽…

python 文本内容随机生成器

这段代码是一个用于生成指定长度的随机文本的函数。主要包括两个函数:generate_text()和generate_other_content()。 generate_text(original_text, length)函数接受两个参数:原始文本和生成文本的长度。该函数的作用是根据原始文本生成指定长度的文本。…

竞赛保研 基于深度学习的人脸识别系统

前言 🔥 优质竞赛项目系列,今天要分享的是 基于深度学习的人脸识别系统 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/…

【SpringCloud】之网关应用(进阶使用)

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是君易--鑨,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的博客专栏《SpringCloud开发之网关应用》。🎯&a…

基于ChatGPT4+Python近红外光谱数据分析及机器学习与深度学习建模

022年11月30日,可能将成为一个改变人类历史的日子——美国人工智能开发机构OpenAI推出了聊天机器人ChatGPT3.5,将人工智能的发展推向了一个新的高度。2023年4月,更强版本的ChatGPT4.0上线,文本、语音、图像等多模态交互方式使其在…

python——数字精度控制

num1 11 num2 11.345 print("数字11宽度限制为5,结果%5d" % num1) print("数字11宽度限制为1,结果%1d" % num1) print("数字11.345宽度限制为7,小数精度为2结果%7.2f" % num2) print("数字11.345不限制…

课堂纪律差如何整治

在教育的世界里,有时候课堂纪律会成为一种挑战。那些在教室里大声喧哗、无视规则的学生,常常让老师们头疼不已。那么,面对课堂纪律差的问题,我们应该如何有效整治呢?下面就让我来为你揭晓这个问题的答案。 一、建立明确…

比特币惊现“天地针”!ETF终局将至,美证监会账号被盗!谁该对市场波动负责?

就在投资者神经紧绷时刻,万众期待的ETF批准事件再次闹出“假新闻”大乌龙,而这次的主角竟是美证监会。 美国东部时间周二下午4:11,美国证券交易委员会(SEC)官方X账户发布帖子称:“今天,美国证券…

数据结构之单调栈、单调队列

今天学习了单调栈还有单调队列的概念和使用,接下来我将对其定义并配合几道习题进行讲解: 首先先来复习一下栈与队列: 然后我们来看一下单调栈的定义: 单调栈中的元素从栈底到栈顶的元素的大小是按照单调递增或者单调递减的关系进…

九州金榜|厌学原因孩子情绪不稳定

孩子厌学是每个家长都不愿因看到,因为厌学会对孩子学习造成极大的影响,对于学习成绩下降这是必然的结果,所以,当孩子出现厌学情绪的时候,家长就会非常焦虑,但是对于孩子为什么会厌学,家长并不知…

烟火检测/区域人流统计/AI智能分析网关V4如何配置通道?

TSINGSEE青犀智能分析网关(V4版)是一款高性能、低功耗的软硬一体AI边缘计算硬件设备,硬件内部署了近40种AI算法模型,支持对接入的视频图像进行人、车、物、行为等实时检测分析,并上报识别结果,并能进行语音…