[小样本图像分割]PANet: Few-Shot Image Semantic Segmentation with Prototype Alignment

article/2025/9/19 16:23:59

PANet:基于原型对齐的Few Shot图像语义分割(ICCV19)

论文地址
开源代码

摘要

本文从度量学习的角度来解决Few Shot Segmentation问题,提出一种新的原型对齐网络来更好地利用支持集信息。PANet从嵌入空间内的一些支持图像中学习特定类的原型表示,然后通过将每个像素与学习到的原型进行匹配,对查询图像进行分割。 通过非参数度量学习,PANet提供了代表每个语义类的高质量原型,这些原型同时还存在对不同类的判别信息。此外,PANet还引入了一种支持和查询之间的原型对齐正则化。在此基础上,PANet充分利用了来自支持的知识,在少镜头分割中提供了更好的泛化。

目前存在的问题和方案

现有的少镜头分割方法通常从少量的支持图像中学习,然后将学习到的知识输入到参数化模块中进行查询分割。然而,这类方案存在两个缺点,推广效果不理想。首先,它们没有区分知识提取和分割过程,这可能会有问题,因为分割模型的表示与支持集的语义特征混合。因此,我们建议将这部分分为原型提取和非参数度量学习两部分。原型被优化为每个语义类的紧凑和鲁棒表示,非参数度量学习通过嵌入空间中的像素级匹配进行分割。此外,我们不像以前的方法一样使只使用支持图像的标注做masking,我们将这些标注加入了小样本学习的监督过程。

为此,我们引入了一种新的原型对齐正则化方法,这是一种反向分割方法。即将查询图像及其预测掩码作为一种新的支持集,用于对之前的支持图像进行分割。通过这种方式,鼓励模型在支持和查询之间生成更一致的原型,从而提供更好的泛化性能

在这里插入图片描述
PANet首先通过共享的特征提取器将不同的前景对象和背景嵌入到不同的原型中。这样,每一个学习到的原型都是对应类的代表,同时也有足够区别于其它类。然后,将查询图像中的每个像素标记为这个像素的嵌入表示离它最近的类特定原型。

所提出的PANet结构设计有几个优点。首先,它不引入额外的可学习参数,因此不容易过度拟合。其次,在PANet中,原型嵌入和预测在计算的特征图上执行,因此分割不需要额外通过网络。此外,由于正则化仅用于训练,因此不会增加推理的计算成本。

方法

现有的少镜头分割方法将提取的支持特征与查询特征融合,以参数化的方式生成分割结果,我们提出的模型旨在在嵌入空间中学习并对齐每个语义类的紧凑和健壮的原型表示,然后通过非参数度量学习在嵌入空间内进行分割。
在这里插入图片描述

原型学习(Prototype learning)

我们的模型基于度量网络,能够有效地学习每个语义类易于分离的原型表示。PANet不是对整个输入图像进行平均,而是利用支持图像上的掩码注释来分别学习前景和背景原型。有两种方法来利用分割掩码,前期融合和后期融合,本文采取的是后期融合,也就是将mask盖在特征图上以产生前景和背景特征(而不是在输入特征提取器前进行融合),这样做有利于保持共享特征提取器的输入一致性。

具体来说,给定一个支持集 S i = { ( I c , k , M c , k ) } S_i=\left\{ \left( I_{c,k},M_{c,k} \right) \right\} Si={(Ic,k,Mc,k)} F c , k F_{c,k} Fc,k表示图像 I c , k I_{c,k} Ic,k经过特征提取后得到的特征图。 c c c表示类别, k k k则表示支持图像序号。类 c c c的原型通过掩码平均池化得到:
在这里插入图片描述
背景类的原型则可表示为:
在这里插入图片描述
( x , y ) (x,y) (x,y)表示位置, 1 \mathbb{1} 1表示框内式子为真则值为1,假为0

非参数度量学习(Non-parametric metric learning)

我们采用非参数度量学习方法来学习最优的原型并进行相应的分割。由于分割可以看作是在每个空间位置的分类,我们计算查询图像在每个空间位置上的特征向量与支持图像原型之间的距离。然后在距离上使用softmax得到语义类(包括背景)的概率映射 M q ^ \hat{M_q} Mq^

具体来说,给定一个距离函数 d d d,让 P = { p c ∣ c ∈ C i } ∪ { p b g } \mathcal{P}=\left\{ p_c|c\in \mathcal{C}_i \right\} \cup \left\{ p_{bg} \right\} P={pccCi}{pbg} F q F_q Fq查询图像特征映射。对于每个 p j ∈ P p_j\in\mathcal{P} pjP,我们有:
在这里插入图片描述
然后给出了预测的分割掩码:
在这里插入图片描述
距离函数 d d d一般采用余弦距离或平方欧几里得距离,根据经验,我们发现使用余弦距离更稳定,性能更好,可能是因为它是有界的,因此更容易优化。

分割损失的表达如下:
在这里插入图片描述
M q M_q Mq表示查询图像的ground-truth分割掩码,N表示所有空间位置数量,对上述损失进行优化将为每个类派生出合适的原型。

原型对齐正则化(Prototype alignment regularization)

直觉上来说,如果模型能够使用从支持集中提取的原型来预测出一个好的查询分割掩码,那么这个预测出的查询图像分割掩码应该能够很好地分割支持图像。因此PAR鼓励最终的分割模型反向进行few-shot learning,即以查询和预测的掩码作为新的支持样本来学习分割原始支持图像(也就是这里的查询图像和预测得到的查询图像掩码作为新的支持图像–掩码对)。这将在支持原型和查询图像之间形成对齐,并从支持集中学习到更丰富的知识。

使用查询图像和其掩码预测支持图像掩码的损失函数如下:
在这里插入图片描述
在没有PAR的情况下,信息只能单向地从支持集流向查询集。通过将信息流回支持集,我们迫使模型学习一个一致的内嵌空间,以对齐查询和支持原型。

那么PANet的总损失可以表示为:
在这里插入图片描述

实验结果

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

结论

提出了一种新的基于度量学习的多镜头网络分割算法。PANet能够从支持集中提取鲁棒原型,并使用非参数距离计算进行分割。在此基础上,我们的模型可以进一步利用支持信息来辅助训练。在没有任何解码器结构或后处理步骤的情况下,我们的PANet大大优于之前的工作。


http://chatgpt.dhexx.cn/article/b6cYKQ2B.shtml

相关文章

PANet:基于金字塔注意力网络的图像超分辨率重建(Pytorch实现)

PANet:基于金字塔注意力网络的图像超分辨率重建 [!] 为了提高代码的可读性,本文模型的具体实现与原文具有一定区别,因此会造成性能上的差异 文章目录 PANet:基于金字塔注意力网络的图像超分辨率重建1.相关资料2.简介3.模型结构4.…

resnet50、FPN、Panet结构及代码

起初faster-r-cnn,只采用最后一层特作为rpn以及head部分的特征图 ,后来不断改进,有了FPN, 再后来有了Panet,一般来说网络的层数越深它的语义信息越丰富。但是随着网络层数的加深,检测所需的位置信息就会越差…

实例分割--(PANet)Path Aggregation Network for Instance Segmentation

PANet Path Aggregation Network for Instance Segmentation 收录:CVPR2018(IEEE Conference on Computer Vision and Pattern Recognition) 相关: COCO2017/CityScapes instance segmentation 第一 论文提出了PANet,在Mask R-CNN的基础上…

PANet路径聚合

是最重要的计算机视觉过程之一,它将图像分割成更小的、多个片段,这样的话,目标的表示和进一步的分析就变得简单。这个过程有各种各样的应用,从在医学图像定位肿瘤和发展机器视觉中的生物测量识别的目标检测。图像分割过程主要分为…

PANet 实例分割

Path Aggregation Network for Instance Segmentation(PANet) 用于实例分割的路径聚合网络 代码:https://github.com/ShuLiu1993/PANet CVPR2018 Spotlight paper, coco2017实例分割第一名目标检测第二名 当前实例分割最佳模型Mask-RCNN的…

计算机视觉——day95 PANet:基于样本原型对齐的Few-Shot图像语义分割

PANet:基于样本原型对齐的Few-Shot图像语义分割 1. Introduction2. Related workFew-shot segmentation 3. Method3.1. Problem setting3.2. Method overview3.3. Prototype learning(原型学习)3.4. 非参数度量学习3.5. 原型对准正则化(PAR) 4. Experime…

PANet(2018)

关键:根据提议的ROI在每层特征图上都裁剪相应区域的特征,然后池化为指定大小,然后用max将特征融合。使用融合后的特征做预测 Abstract: 神经网络中信息的流通路径很重要。我们提出PANet,通过增加从最底层到最上层的信息传输路径&…

PANet网络简介

个人总结 简介Bottom-up Path Augmentation待解决: Adaptive Feature Pooling待解决: Fully-connected Fusion 先上论文链接: https://arxiv.org/abs/1803.01534 欢迎交流 简介 这篇论文总体上是Mask-Rcnn的改进版本,整体思路是…

PANet[详解]

一、Abstract摘要&Introduction介绍 Abstract 信息在神经网络中的传播方式非常重要。本文提出了一种基于提议的实例分割框架下的路径聚合网络Path Aggregation Network (PANet),旨在促进信息的流动。具体地说,我们通过自底向上的路径增强&#xff…

深度学习论文导航 | 07 PANet:用于实例分割的路径聚合网络

文章目录 一、PANet简介二、整体结构分析2.1 自底向上的路径增强2.2 自适应特征层2.3 全连接融合层 三、性能表现3.1 在COCO上的测试效果3.2 在Cityscapes 和 MVD上的测试效果 四、总结 前言: 同图像识别、目标检测一样,实例分割也是最重要和最具挑战性的…

(论文阅读)实例分割之PANet

PANet 一、论文简介1.1、论文和代码链接1.2、论文基本信息 二、详细解读2.1、摘要2.2、介绍2.3、网络架构2.4、改进与创新2.5、实验结果2.6、使用的数据集 三、总结与思考 一、论文简介 1.1、论文和代码链接 paper:http://xxx.itp.ac.cn/pdf/1803.01534.pdf code:https://cod…

AI大视觉(十七) | PANet(路径聚合网络)

本文来自公众号“AI大道理”。 这里既有AI,又有生活大道理,无数渺小的思考填满了一生。 ​ 目标检测或者实例分割不仅要关心语义信息,还要关注图像的精确到像素点的浅层信息。 所以需要对骨干网络中的网络层进行融合,使其同时…

深度学习-路径聚合网络(PANet网络)

文章目录 1、概括2、介绍3、特征金字塔网络(FPN)4、PANet5、改进点 1、概括 信息在神经网络中的传播方式非常重要。为了促进信息的流动,提出了一种基于提议的实例分割框架下的路径聚合网络Path Aggregation Network (PANet)。具体地说,我们通过自底向上…

Linux | Strace使用

文章目录 1、strace的基本介绍2、strace的使用实例2.1、直接运行结果2.2、strace追踪系统调用(strace ./test)2.3、strace跟踪信号传递2.4、系统调用统计使用-c参数,它会将进程的所有系统调用做一个统计分析展示出来-o选项重定向输出-T选项对系统调用进行计时系统调…

linux下strace的使用

strace是一款用于跟踪Linux系统调用和信号的工具,可以帮助开发者排除程序运行时的问题。 具体来说,strace可以跟踪一个程序执行时所涉及到的系统调用,包括读写文件、网络通信、进程管理、内存管理等操作,通过分析程序运行过程中发…

linux strace命令--跟踪系统调用

简介 strace常用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通 过系统调用…

Linux常用命令——strace命令

在线Linux命令查询工具(http://www.lzltool.com/LinuxCommand) strace 跟踪系统调用和信号 补充说明 strace命令是一个集诊断、调试、统计与一体的工具,我们可以使用strace对应用的系统调用和信号传递的跟踪结果来对应用进行分析,以达到解决问题或者…

【转】strace命令详解

Article1: strace是什么? 按照strace官网的描述, strace是一个可用于诊断、调试和教学的Linux用户空间跟踪器。我们用它来监控用户空间进程和内核的交互,比如系统调用、信号传递、进程状态变更等。 strace底层使用内核的ptrace特性来实现其…

强大的strace命令用法详解

strace是什么? 按照strace官网的描述, strace是一个可用于诊断、调试和教学的Linux用户空间跟踪器。我们用它来监控用户空间进程和内核的交互,比如系统调用、信号传递、进程状态变更等。 strace底层使用内核的ptrace特性来实现其功能。 在运维的日常工作…

Linux命令之strace命令

一、命令简介 strace是一个有用的诊断、指导和调试工具。系统管理员、诊断专家和故障解决人员将发现,对于解决源代码不易获得的程序的问题,这是非常宝贵的,因为它们不需要重新编译以跟踪它们。学生、黑客和过分好奇的人会发现,通过…