[小样本图像分割]Part-aware Prototype Network for Few-shot Semantic Segmentation

本文提出了一种基于部分感知原型的Few-Shot语义分割框架,解决了现有方法在one-wayFew-Shot分割和目标区域覆盖上的局限。通过将整体类表示分解为部分感知原型,利用未标记数据丰富这些原型,模型能更好地捕捉对象的多样化特征和类内变化。方法包括嵌入网络、原型生成网络(含部分生成和细化模块)以及部分感知掩码生成网络。实验结果显示了方法的有效性。
摘要由CSDN通过智能技术生成

面向Few-Shot语义分割的部分感知原型网络(ECCV2020)

论文地址
开源代码

摘要

现有的方法大多集中在one-way Few-Shot分割的限制性设置上,或者存在目标区域不完全覆盖的问题。本文提出了一种基于原型表示的Few-Shot语义分割框架。我们的关键思想是将整体的类表示分解为一组部分感知原型,能够捕获多样化和细粒度的对象特征。此外,我们提出利用未标记的数据来丰富我们的部分感知原型,从而更好地建模语义对象的类内变量。我们开发了一个新的图神经网络模型,以生成和增强提出的基于标记和未标记图像的部分感知原型。

存在的问题及解决方案

之前的一些工作仅仅关注one-way Few-Shot分割。它们的方法使用密集的成对特征匹配和特定的解码网络来生成分割,因此这些方法通常难以泛化且计算成本高。其次,其它基于原型的方法通常对每个语义类使用整体表示,这很难处理不同部位、姿势或子类别对象的不同外观。更重要的是,所有这些方法都只是表示了一个基于小支持集的语义类,这对捕捉分割任务所需的丰富和细粒度特征变化是有限制的。

我们的主要思想是在两个方向上丰富语义类的原型表示。首先,我们将常用的整体原型表示分解为一个小的部分感知原型集,这些原型能够捕获多样化和细粒度的对象特征,并在语义对象区域产生更好的空间覆盖。此外,受先前图像分类工作的启发,我们将一组未标记的图像合并到我们的支持集中,这样我们的部分感知原型就可以从已标记和未标记的数据源中学习。这使我们能够超越受限制的小支持集,更好地对对象特征的类内变化建模。我们将这种新的问题设置称为半监督少镜头语义分割。基于我们的新原型,我们还设计了一种简单而灵活的匹配策略,既可用于one-way设置,也可用于multi-way设置。

方法

我们的方法的主要思想是通过一个新的原型表示来捕获语义类的类内变异和细粒度特征。具体来说,我们提出将支持对象的通用整体表示分解为每个类的一组部件原型,并额外利用未标记的数据来丰富它们的表示。

我们的网络由三个主要网络组成:一个为任务内的图像计算卷积特征映射的嵌入网络;一个原型生成网络,从标记和未标记的支持图像中提取一组部分感知原型;以及部分感知的掩码生成网络,用于生成查询图像的最终语义分割。
在这里插入图片描述

嵌入网络

用来提取图像特征,使用ResNet作为backbone。这里需要注意的一点是在 C − w a y C-way Cway K − s h o t K-shot Kshot的情况下,我们将带标记的支持集 S l S^l Sl的所有图像的特征划分成 C + 1 C+1 C+1个子集: F l = { F k l , k = 0 , 1 , . . . , C } \mathcal{F}^l=\left\{ \mathcal{F}_{k}^{l},k=0,1,...,C \right\} Fl={Fkl,k=0,1,...,C} C C C表示 S l S^l Sl中包含的类数目,0表示背景类。假定经过嵌入网络后得到到特征为 F ∈ R H f × W f × n c h F\in \mathbb{R}^{H_f\times W_f\times n_{ch}} FRHf×Wf×nch,则 F k l \mathcal{F}_{k}^{l} Fkl包含所有被语义类 k k k标记的特征 f ∈ R n c h f\in \mathbb{R}^{n_{ch}} fRnch,类似地我们假定未标记支持集 S u \mathcal{S}^u Su的所有特征表示为 F u \mathcal{F}^u Fu

原型生成网络

原型生成网络,旨在为每个类生成一组有区别的部分感知原型。原型生成网络包括两个子模块:部分生成模块(Part Generation Module)和部分细化模块(Part Refinement Module)
在这里插入图片描述

Part Generation with Labeled Data

部分生成模块从标记的支持集构建一组部分感知原型,以便在对象区域捕获细粒度的part-level变化。

具体地,我们将每个类的原型数量表示为 N p N_p Np和原型集合 P k = { p i } i = 1 N p , p i ∈ R n c h \mathcal{P}_k=\left\{ p_i \right\} _{i=1}^{N_p},p_{i\in}\mathbb{R}^{n_{ch}} Pk={pi}i=1Np,piRnch,为了定义这些原型,首先使用K-means聚类在特征集合 F k l \mathcal{F}_{k}^{l} Fkl上得到一组数据划分 G = { G 1 , G 2 , . . . , G N p } \mathcal{G}=\left\{ G_1,G_2,...,G_{N_p} \right\} G={G1,G2,...,GNp},然后使用平均池化生成初始原型集合 P ∼ k = { p i ∼ } i = 1 N p \overset{\sim}{\mathcal{P}}_k=\left\{ \overset{\sim}{p_i} \right\} _{i=1}^{N_p} Pk={pi}i=1Np
在这里插入图片描述
我们进一步将语义类的全局上下文信息合并到部分感知原型中,通过在每个初始原型中增加上下文向量,该向量是基于注意机制从同一类中的其他原型中估计出来的:
在这里插入图片描述

Part Refinement with Unlabeled Data

第二个子模块是Part Refinement模块,它通过在额外的未标记的支持图像上丰富原型来捕获每个语义类的类内变化。然而,利用未标注的数据是具有挑战性的,因为未标注的图像特征集 F u \mathcal{F}^u Fu具有更多的噪声,而且通常比标记集合 F k l \mathcal{F}^l_k Fkl体积更大。

我们通过分组和剪枝过程来解决上述两个问题,生成一个更小却更相关的类 k k k的特征集合 R k u \mathcal{R}^u_k Rku,然后,我们设计一个图形注意网络来平滑未标记的特征,并通过聚合这些特征来完善部分感知原型。具体来说,我们的细化过程包括以下三个步骤:
Step-1: Relevant feature generation
首先利用超像素生成的思想,计算出未标记图像的区域级特征表示。具体来说,我们将SLIC应用于所有未标记的图像,并在 F u \mathcal{F}^u Fu上生成一组分组,分组定义为 R = { R 1 , R 2 , . . . , R N r } \mathcal{R}=\left\{ R_1,R_2,...,R_{N_r} \right\} R={R1,R2,...,RNr},我们使用平均池化来生成区域级特征池 R u = { r i } i = 1 N r \mathcal{R}^u=\left\{ r_i \right\} _{i=1}^{N_r} Ru={ri}i=1Nr,然后我们为类 k k k选取一组相关特征如下:
在这里插入图片描述
Step-2: Unlabeled feature augmentation:
对于选择的未标记的特征,第二步的目标是通过在未标记的特征集中合并上下文信息来增强这些区域级表示。这允许我们对语义类的局部和全局线索进行编码。

具体来说,我们在特征集合 R k u \mathcal{R}^u_k Rku上建立一个全连接图,然后使用以下消息传递函数来计算更新 R k u ∼ = { r i ∼ } i = 1 ∣ R k u ∼ ∣ \overset{\sim}{\mathcal{R}^u_k}=\left\{ \overset{\sim}{r_i} \right\} _{i=1}^{|\overset{\sim}{\mathcal{R}^u_k}|} Rku={ri}i=1Rku
在这里插入图片描述
Step-3: Part-aware prototype refinement:
考虑到增强的未标记特征,我们用类似于标记的注意力策略来改进原始的部分感知原型。我们使用局部注意力原始 P k \mathcal{P}_k Pk作为注意力查询来在 R k u ∼ \overset{\sim}{\mathcal{R}^u_k} Rku中选择相似的未标记特征,然后将它们合并到 P k \mathcal{P}_k Pk中:
在这里插入图片描述
k k k的最终细化原型集记为 P k r = { p 1 r , p 2 r , . . . , p N p r } \mathcal{P}_k^r=\left\{ p_1^r,p_2^r,...,p_{N_p}^r \right\} Pkr={p1r,p2r,...,pNpr}

部分感知掩码生成网络

在每个元任务中给与每个语义类和背景的部分感知原型 { P k r } k = 0 C \left\{ \mathcal{P}_{k}^{r} \right\} _{k=0}^{C} {Pkr}k=0C,我们引入了一种简单而灵活的匹配策略来对查询图 I q I^q Iq像进行语义掩码预测。

我们首先匹配每个部分感知原型来得到一个相似度评分:
在这里插入图片描述
然后,我们通过max-pooling将类 k k k的所有分数映射融合在一起,并通过连接所有类的分数映射生成输出分割分数:
在这里插入图片描述

实验结果

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

结论

在这项工作中,我们提出了一种灵活的基于原型的Few-Shot语义分割方法。我们的方法能够捕获每个语义类的不同外观。为了实现这一点,我们提出了一个部分感知原型表示来编码细粒度的对象特征。此外,我们利用未标记的数据来捕获原型的类内变量,其中我们引入了第一个半监督少镜头语义分割框架。我们开发了一种新的图神经网络模型,用于生成和增强基于支持图像的部分感知原型。

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Minkowski Portal Refinement(闵可夫斯基门户细化)是一种用于解决碰撞检测和响应的算法。这个算法可以在遇到复杂的物体和触发碰撞的情况下,高效地计算碰撞点和响应。 Minkowski Portal Refinement基于闵可夫斯基差分,在物体的形状表示中引入了一种新的方法。在此算法中,物体的形状被描述为一个多边形。通过将物体的形状与一个表示目标形状的多边形进行求闵可夫斯基差分,可以得到一个表示碰撞区域的多边形。如果这个多边形的任意顶点都在原物体的外部,则可以得出两个物体没有碰撞。 为了进一步解决碰撞问题,Minkowski Portal Refinement采用了迭代的方法。首先,通过求解两个物体的闵可夫斯基差分,得出碰撞区域的一个多边形。然后,通过在多边形的不同边上建立门户,来检查是否存在有效的碰撞路径。如果存在有效的碰撞路径,则继续进行细化。这个过程可以迭代多次,直到找到最优的碰撞路径。 Minkowski Portal Refinement算法的优点是能够高效地计算复杂物体之间的碰撞,而且可以精确地计算碰撞点和响应。它的运算速度很快,适用于实时应用和计算机图形学中的碰撞检测。它还可以有效地处理旋转和缩放的物体以及复杂的几何形状。 总之,Minkowski Portal Refinement是一种用于解决碰撞检测和响应的高效算法,通过闵可夫斯基差分和迭代的方法,可以精确地计算碰撞点和响应,并适用于各种复杂的物体形状。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值