FS【1】:SSP

文章目录

  • 前言
  • 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.hqwc.cn/news/337203.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RT-Thread基于AT32单片机的485应用开发(二)

在上篇RT-Thread基于AT32单片机的485应用开发(一)中实现了RS485收发,但总觉得效率不高,函数封装也不完善。考虑到RS485总线应用都是主从式结构,比如工业领域常用的Modbus协议,都是以帧为单位进行收发&#…

慕课热搜01

uniapp过滤器使用 创建一个过滤器: 在入口函数注册过滤器 // 注册过滤器 import * as filters from "./filters/index.js"Object.keys(filters).forEach(key>{Vue.filter(key,filters[key]) })使用过滤器: onPageScroll , uniapp监听滚动…

花为缘享奢APP震撼上线,2024奢侈品行业创业首选平台

中国是全球最大的奢侈品消费国,并且有着持续的消费增长潜力。普华永道在今年2月发布的《中国内地及香港地区奢侈品市场洞察》报告显示,随着旅游和社交活动逐渐步入正轨,全球奢侈品市场正稳步复苏,预计至2025年全球市场规模将以11%…

KVM系统虚拟化性能测试过程总结

buildroot编译 为啥要用buildroot 支持很多:交叉编译工具链、根文件系统生成、内核映像编译和引导加载程序编译。使用简单:使用类似内核的menuconfig、gconfig和xconfig配置界面,使用buildroot构建基本系统很容易。支持很多的包&#xff1a…

LightGBM原理和调参

背景知识 LightGBM(Light Gradient Boosting Machine)是一个实现GBDT算法的框架,具有支持高效率的并行训练、更快的训练速度、更低的内存消耗、更好的准确率、支持分布式可以处理海量数据等优点。 普通的GBDT算法不支持用mini-batch的方式训练,在每一次…

一键修复所有dll缺失的工具,dll修复工具下载使用教程

在计算机使用过程中,我们经常会遇到各种软件或系统错误提示,其中最常见的就是“找不到指定的模块”或“无法找到某某.dll文件”。Dll是动态链接库的缩写,它是Windows操作系统中的重要组成部分,负责提供各种功能和资源给应用程序使…

大模型PEFT技术原理(一):BitFit、Prefix Tuning、Prompt Tuning

随着预训练模型的参数越来越大,尤其是175B参数大小的GPT3发布以来,让很多中小公司和个人研究员对于大模型的全量微调望而却步,近年来研究者们提出了各种各样的参数高效迁移学习方法(Parameter-efficient Transfer Learning&#x…

【语义解析:连接自然语言与机器智能的桥梁】

语义解析:连接自然语言与机器智能的桥梁 语义解析技术可以提高人机交互的效率和准确性,在自然语言处理、数据分析、智能客服、智能家居等领域都有广泛的应用前景。特别是在大数据时代,语义解析能够帮助企业更快速地从大量的数据中获取有用的…

【开源商城推荐-LGPL-3.0】ts-mall 聚惠星商城

dts-shop: 聚惠星商城 DTS-SHOP,基于 微信小程序 springboot vue 技术构建 ,支持单店铺,多店铺入驻的商城平台。项目包含 微信小程序,管理后台。基于java后台语言,已功能闭环,且达到商用标准的一套项目体…

【EI会议征稿通知】第五届计算机信息和大数据应用国际学术会议(CIBDA 2024)

第五届计算机信息和大数据应用国际学术会议(CIBDA 2024) 2024 5th International Conference on Computer Information and Big Data Applications 第五届计算机信息和大数据应用国际学术会议(CIBDA 2024)将于2024年4月26-28日在…

Python pip 常用指令

前言 Python的pip是一个强大的包管理工具,它可以帮助我们安装、升级和管理Python的第三方库。以下是一些常用的pip指令。 1. 安装第三方库 使用pip安装Python库非常简单,只需要使用pip install命令,后面跟上库的名字即可。 # 安装virtuale…

springboot——消息中间件

消息的概念 从广义角度来说,消息其实就是信息,但是和信息又有所不同。信息通常被定义为一组数据,而消息除了具有数据的特征之外,还有消息的来源与接收的概念。通常发送消息的一方称为消息的生产者,接收消息的一方称为…