【论文速递】CVPR2022 - 学习 什么不能分割:小样本分割的新视角

news2024/11/20 19:22:56

【论文速递】CVPR2022 - 学习 什么不能分割:小样本分割的新视角

【论文原文】:Learning What Not to Segment: A New Perspective on Few-Shot Segmentation

获取地址:https://openaccess.thecvf.com/content/CVPR2022/papers/Lang_Learning_What_Not_To_Segment_A_New_Perspective_on_Few-Shot_CVPR_2022_paper.pdf

博主关键词: 小样本学习,语义分割,自适应

摘要:

近年来,小样本分割(FSS)得到了广泛的发展。以往的大部分工作都是通过分类任务衍生的元学习框架来实现泛化;然而,训练后的模型偏向于所见的类,而不是理想的未知类,从而阻碍了对新概念的识别。 本文提出了一种新颖而直接的见解来缓解这一问题。具体来说,我们在传统的FSS模型(元学习器)上应用了一个额外的分支(基本学习器)来显式地识别基类的目标,即不需要分割的区域。然后,自适应整合这两个学习器并行输出的粗结果,得到精确的分割预测。 考虑到元学习器的敏感性,我们进一步引入一个调整因子来估计输入图像对之间的场景差异,以便于模型集成预测。在PASCAL-5i和COCO-20i上的显著性能提升验证了有效性,令人惊讶的是,我们的多功能方案即使只有两个普通的学习器,也达到了新的最高水平。此外,鉴于所提出的方法的独特性,我们还将其扩展到一个更现实但具有挑战性的设置,即广义FSS,其中需要确定基类和新类的像素。源代码可以在github.com/chunbolang/BAM上找到。

简介:

得益于成熟的大规模数据集[8,9,29],大量基于卷积神经网络(CNN)的计算机视觉技术在过去几年得到了快速发展[15 - 17,27,28,35,43 - 45,48]。然而,收集足够的标记数据是非常耗时和劳动密集型的,特别是对于密集的预测任务,例如实例分割[2,3,15,21,59]和语义分割[1,25,35,40,45]。与机器学习范式形成鲜明对比的是,人类可以很容易地从少量的例子中识别出新的概念或模式,这极大地激发了群体的研究兴趣[39,52,53]。因此,提出了小样本学习(FSL)来解决这个问题,通过构建一个网络,可以推广到不可见的领域,有少量注释样本可用[7,42,54,57]。

在这里插入图片描述

Fig. 1. 对比我们的BAM和以前的工作。(a)传统方法通常采用元学习框架来训练FSS模型,这不可避免地偏向基类,而不是理想的不确定类,从而阻碍了新类的目标对象识别(例如cat(•))。(b)我们的BAM引入了一个额外的分支,即基学习器,用于显式地预测基类的区域。这样,在集成模块之后,查询图像中的干扰对象(例如,人(•)和沙发(•))可以被显著抑制。(c)我们的BAM在广义FSS设置下的扩展,需要确定基类和新类的像素。精炼的结果再次与基础学习器的输出合并,以生成全面的预测。

在本文中,我们进行了FSL在语义分割领域的应用,称为小样本分割(FSS),其中模型仅利用很少的标记训练数据从原始图像[46]中分割出特定语义类别的目标。在小样本分类成功的推动下,大多数现有的FSS方法都试图通过元学习框架实现泛化[23,30 - 34,36 - 38,47,55,56,61,62,64 - 67]。从基础数据集中采样一系列学习任务(集)来模拟新类的少数镜头场景,即匹配训练和测试条件。然而,令人遗憾的是,它的能力不足和动力不足。在具有丰富注释样本的基础数据集上进行元训练,不可避免地会引入对可见类的偏向,而不是理想的类不可知论,从而阻碍了对新概念的识别[10]。 值得注意的是,在对抗与基础数据共享相似类别的硬查询样本时,泛化性能可能处于崩溃的边缘。

我们认为,除了设计更强大的特征提取模块[23,60,61],调整包含足够训练样本的基础数据集的使用也是缓解上述偏差问题的一种替代方法,这在以前的工作中被忽略了 。为此,我们在传统的FSS模型(元学习器)中引入一个额外的分支(基学习器)来显式预测基类的目标(如图1所示)。然后,自适应地整合这两个学习器并行输出的粗结果,以产生准确的预测。这种操作背后的核心思想是通过在传统范式中训练的高容量分割模型来识别查询图像中的易混淆区域,进一步促进新对象的识别。 顺便提一下,所提出的方案被命名为BAM,因为它由两个唯一的学习器组成,即基础和元。

此外,我们注意到元学习器通常对支持图像的质量很敏感,输入图像对之间的巨大差异可能会导致严重的性能下降。相反,由于单一查询图像作为输入,基学习器往往能提供高可靠的分割结果和稳定的性能。 在此基础上,我们进一步提出利用查询支持图像对之间场景差异的评估结果来调整元学习器得出的粗预测。受到图像风格转移领域广泛采用的风格损失的启发[12,13,20],我们首先计算两张输入图像的Gram矩阵的差值,然后利用Frobenius范数得到指导调整过程的整体指标。如图1(b)所示,在集成模块后,查询图像中基类的干扰对象(如person、sofa)被明显抑制,实现了对新对象(如cat)的准确定位。

此外,鉴于所提出方法的独特性,我们还将当前任务扩展到一个更现实但更具挑战性的设置(即广义FSS),其中需要确定基类和新类的像素,如图1©所示。综上所述,我们的主要贡献如下:

  • 我们提出了一个简单但有效的方案来解决偏差问题,通过引入一个额外的分支来显式预测查询图像中基类的区域,这为未来的工作提供了启示。
  • 我们提出通过Gram矩阵估计查询支持图像对之间的场景差异,以减轻元学习器敏感性造成的不利影响。
  • 我们的多功能方案在所有设置的FSS基准上设置了新的先进水平,即使有两个普通的学习器。
  • 我们将所提出的方法扩展到更具挑战性的设置,即广义FSS,它同时识别基本类和新类的目标。

在这里插入图片描述

Fig. 2. 所提出的BAM的整体架构,它由三个基本组件组成:基本学习器、元学习器和集成模块。在每个训练集中,两个学习器使用共享编码器提取输入图像对(x^s, x^q)的特征,并分别对特定的基类别c(注意c表示元测试阶段的新类别)和剩余的基类别进行预测。然后,将粗预测与调整因子ψ一起输入集成模块,以抑制基类错误激活区域,进一步产生准确的分割结果。为了便于理解,我们以分割掩码的形式表示概率映射,但它们实际上是二维浮点矩阵,即p∈[0,1]^{H×W}。MAP表示掩码平均池化操作[67]。

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

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

相关文章

Linux--线程控制--线程相关函数--tid--0109 10

1.如何理解线程 定义:在一个程序里的一个执行路线就叫做线程(thread)。 更准确的定义是:线程是“一个进程内部的控制序列”。 每个进程都有自己的进程地址空间和task_struct结构体,如果我们通过一定的方式在创建进程…

【记录】ChatGPT|近期两次更新一览(更新至2023年1月12日)

如果你还没有使用过ChatGPT,可以先看看我的上一篇文章:【记录】ChatGPT|注册流程、使用技巧与应用推荐(更新至2022年12月14日)。   昨天晚上,ChatGPT突然很多人都无法登录,包括我。我当时以为…

SpringBoot+Redis+@Cacheable实现缓存功能

SpringBootRedisCacheable实现缓存功能一、pom文件加入Redis与cache的依赖和yml配置二、EnableCaching允许使用注解进行缓存三、Redis配置四、业务逻辑1.UserController2.UserService3.UserServiceImpl4.AdminServiceImpl5.Cacheable和CachePut区别五、测试1.执行saveUser方法2…

剑指offer----C语言版----第十七天----面试题23:链表中环的入口节点

目录 1. 链表中环的入口节点 1.1 环形链表Ⅰ 1.1.1 题目描述 1.1.2解题思路 1.1.3 扩展问题 1.2 环形链表Ⅱ 1.2.1 题目描述 1.2.2 思路分析 1. 链表中环的入口节点 在leetcode上的剑指offer专栏没有收录这道题目,但Leetcode上是有这道题目的,环…

U3D客户端框架之 音效管理器 与 Fmod介绍安装导入Unity

一、Fmod介绍与安装导入Unity 1.Fmod与Unity内置Audio播放器对比 Unity内置的Audio底层使用的是FMOD,但是功能不够齐全,高级一点的功能如混合(Mix)等无法使用; 音效管理应该和Unity工程解耦合,这样子可以减轻音效设计师的负担&a…

ArcGIS基础实验操作100例--实验86矢量面重叠分析

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台:ArcGIS 10.6 实验数据:请访问实验1(传送门) 空间分析篇--实验86 矢量面重叠分析 目录 一、实验背景 二、实验数据 三、实验步骤 (1&am…

初阶指针详解✍

目录1.内存和地址2.指针变量的大小3.指针类型的意义意义1:指针访问权限的大小意义2:指针类型决定指针的步长4.野指针野指针成因如何规避野指针5.指针的运算指针加减整数指针减指针指针的比较运算6.指针与数组的关系7.二级指针1.内存和地址 内存是电脑上特…

2、C语言程序规范

目录 1. 代码缩进 2. 变量、常量命名规范 3. 函数的命名规范 4. #include指令 5. 注释 6. main函数 7.函数返回值 8. 变量赋初值 俗话说&#xff0c;“没有规矩&#xff0c;不成方圆。” 如&#xff1a;第一个程序 #include <stdio.h>void main(){printf("…

基于java Springmvc+mybatis 电影院售票管理系统设计和实现以及文档

基于java Springmvcmybatis 电影院售票管理系统设计和实现以及文档 博主介绍&#xff1a;5年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java毕设项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留…

vue报错汇总

项目场景&#xff1a; 使用vue报错汇总。 1、项目启动不报错也不成功 提示&#xff1a;这里描述项目中遇到的问题&#xff1a; 项目启动时&#xff0c;一直启动不成功&#xff0c;末句提示 98% emitting Copyplugin… 原因分析&#xff1a; 最有可能是因为require或者import了…

系统设计技巧:使用Postgres作为发布/订阅和作业服务器

如果在项目中需要发布/订阅和作业服务器&#xff0c;可以尝试使用 Postgres。它将为您提供大量数据完整性和性能保证&#xff0c;并且不需要您或您的团队学习任何新技术。如果你正在做任何足够复杂的项目&#xff0c;你将需要一个 发布/订阅[1] 服务器来处理事件。本文将向你介…

黑马“兔年限定”春节礼盒准时送达,快来领!

哈咯艾瑞巴蒂&#xff0c;我是播妞前几天一个热搜引起了我的注意# 原来兔年要打384天的工 #看到这标题播妞突然头皮发紧我搜索了一下&#xff0c;原来是......农历癸卯兔年全年共有384天今年的春节是2023年1月22号2024年的春节是2月10号从今年春节到明年的春节算一年由于“闰二…

XCTF:ics-05

测试了所有功能点&#xff0c;大部分没有做出来&#xff0c;只有设备维护中心可以点击 查看源码&#xff0c;发现云平台设备维护中心这里有一个超链接 看到变量传参page&#xff0c;有点像页面文件包含功能&#xff0c;那有可能存在文件包含&#xff0c;测试下&#xff1a; …

ORB-SLAM2 --- LoopClosing::CorrectLoop函数

目录 1.函数作用 2.函数流程 3.code 4.函数解析 4.1 结束局部地图线程、全局BA&#xff0c;为闭环矫正做准备 4.2 根据共视关系更新当前关键帧与其它关键帧之间的连接关系 4.3 通过位姿传播&#xff0c;得到Sim3优化后&#xff0c;与当前帧相连的关键帧的位姿&#xf…

什么是计算机中的高速公路-总线?

文章目录总线是什么&#xff1f;常见总线类型有哪些&#xff1f;总线的串行和并行的区别&#xff1f;数据总线地址总线CPU的寻址能力32位CPU最大支持4G内存&#xff1f;控制总线总线的共享性和独自性系统总线的结构单总线结构双总线结构三总线结构总线传输的四个阶段总线仲裁集…

谷粒商城项目笔记之高级篇(二)

目录1.7 认证服务1.7.1 环境搭建1&#xff09;、创建认证服务微服务2&#xff09;、引入依赖3)、添加相应的域名4&#xff09;、动静分离5&#xff09;、nacos中注册6&#xff09;、配置网关7)、测试访问登录页面8&#xff09;、实现各个页面之间跳转1.7.2 验证码功能1)、验证码…

C++的类介绍(封装特性)

一、类的定义 1.1定义 类是c语言对编程思想的概括深化&#xff0c;其前期的C语言使能面向过程的语言&#xff0c;思想是注重对程序每一步的理解&#xff1b;而面向过程的是C语言之父把生活的类与对象的思想应用于程序设计之中&#xff0c;把程序抽象成一个个对象。 C面向对象…

将时间序列转换为指定的频率并指定填充方法来填充缺失值的DataFrame.asfreq()方法

【小白从小学Python、C、Java】 【计算机等级考试500强双证书】 【Python-数据分析】 时间序列的插值操作 提升序列中时间密度 DataFrame.asfreq() 选择题 关于以下python代码说法错误的一项是? import pandas as pd myIndexpd.date_range(1/12/2023,periods3,freqT) dfpd.D…

深入了解 LinkedBlockingQueue阻塞队列

1. 前言 今天来逐个方法解析下LinkedBlockingQueue. 其实跟上篇文件深入了解ArrayBlockingQueue 阻塞队列很类似。只不过底层实现不同。其实看名字就能看出来到底依据什么实现的。好了&#xff0c;废话不多说了&#xff0c;接下来让我们开始吧 至于API的使用情况跟ArrayBlockin…

JS垃圾回收

什么是GC GC就是Garbage Collection,程序工作过程中会产生很多垃圾&#xff0c;这些垃圾是程序不用的内存或者是之前用过了&#xff0c;以后不会再用的内存空间&#xff0c;而GC就是负责回收垃圾的。当然也不是所有的语言都会自带GC&#xff0c;比如Java、Python、Javascript等…