Part-aware Prototype Network for Few-shot Semantic Segmentation阅读笔记
第2节
贡献:
- 针对小样本语义分割问题提出了一种基于prototype的方法,在 one-way和multi-way当中均取得了良好的效果。
- 构建了一个适用于语义类的part-aware prototype表达方案,并能够有效编码细颗粒的目标特征进而实现更优的分割效果。
- 以更好地获取类内变量为目标,在无标签数据上应用图注意力网络进行半监督学习。
24
目前针对小样本的工作主要分为两类:参数匹配方法[37, 36, 35, 20, 3]以及基于原型的方法[27, 33]。然而需要注意的是,在当前研究中仍存在例外情况:MetaSegNet[29]采用了一种基于优化的小样本学习策略,在将小样本分割问题转化为像素级分类任务方面取得了显著成效。
36
35
33
33
第3节
本文认为小样本语义分割的问题是为了从每个类的一小部分注释训练图像中来学习分割语义目标。为了这个目的,本文利用了一个元学习策略,即创建一个元学习器 M 来解决一类小样本语义分割任务 T ,这个任务主要是在一个潜在的任务分布PT中进行采样。
从形式上来说,每一个小样本分割任务T(也称为一个episode)都是由一些有标签值的support数据S和query图像组成。在半监督小样本中,support数据S={Sl,Su},而Sl表示有注释带标签的数据集,而Su表示有注释没有标签的数据集。准确来说,是在样本中随机抽取C个类,每个类取K张图片下,注释的support数据每个类包含K个图像与标签对。具体表示

其中Y表示像素级的注释

C^T指的是任务T中类别的子集,|C^T|=C。无标签support图像

抽取语义类集C中的样本,在训练与推理过程中移除了这些样本的类别标签;同时对查询集执行相同操作

涵盖来自类别集C^T的N_q个图像。其中一些图像在训练阶段具有注释信息,在测试阶段则未知其标注内容。元学习器_M_的目标是建立一个将支持集S和查询集Iq映射到分割类Y上的映射函数。本文构建了一个基于类别集Ctr的分割任务的数据集,并在此数据集中进行了episodic微调以优化元学习器性能。通过使用模型_M_对知识进行编码,并将其应用于不同语义类别的分割问题中。最后,在与前两个数据集不重叠的任务Dte上验证了该方法的有效性。
第4节
在本文中,针对语义分割问题,在小样本学习框架下构建了一个基于prototype的元学习器 M 。本文的核心观点在于通过引入一个新的prototype表征来同时获得语义类别内部变量以及细粒度特征。对于每一个类别而言,在支持对象的信息基础上拆解出多个具有部分意识性的prototype表征,并利用无标签数据进一步提升模型性能。

该元学习架构基于深度图网络进行设计,并旨在实现新表示编码与query图像分割的目标。该系统由三个关键模块构成:首先通过任务导向的方式计算图像特征图(对应第4.1节);其次通过混合标签数据集生成部分意识prototypes(第4.2节);最后通过part-aware掩膜生成器完成query图像的最终语义分割结果(第4.3节)。为了训练元模型体系结构采用了混合损失函数并附加了一个语义分支位于第4.4节这部分内容负责提取初始语义类别以促进更有效的信息整合。
4.1 embedding网络
在本任务中,PPNet的第一模块主要负责提取图像特征的整体架构,在本文研究中采用了ResNet网络,并特别引入了膨胀卷积以扩大感受区域并更好地保持丰富的空间细节

f_em表示网络,I表示输入数据,F表示输出

n_ch代表特征通道的数量,在(H_f, W_f)中包含特征图的宽度和高度,并使遮罩尺寸与特征图尺寸一致。在Sl中将图像特征分类为C+1个类别:其中一类代表背景信息;其余C类分别对应图像中的具体语义类别。

其中

包含了语义类k的所有特征
4.2 prototypes生成网络
该网络旨在生成每个类别若干具有部分感知特异性的 prototype示例。假设共有k个语义类别,输入数据为X

生成一系列prototype P_k后,从而引出了基于特征域上的图神经网络模型.研究者们根据支持集是否带标签以及其不同性质,通过两阶段计算获得这些prototype.该模型能够从带有标签的支持数据中提取具有局部感知特性的prototype,接着通过未标注数据进一步优化这些prototype的表现.
Part Generation with Labeled data
为了在目标区域提取详细级别的部分变量,在带标签的支持集中构建了一个具有part-aware特性的原型体。设N_p表示每个类别中的prototype数量,则构造一个prototype集合P_k={\lbrace p_i \rbrace^{N_p}_{i=1}}}, 其中p_i\in R^{n_{ch}}. 通过K-means聚类算法对特征集Fl进行了数据划分, 得到一个划分集合g=\lbrace G_1,G_2,...G_{N_p}\rbrace, 然后通过平均池化层操作生成初始prototypes集合P_k={\lbrace p_i \rbrace^{N_p}_{i=1}}}

通过引入一个环境向量来增强每个初始prototype后,在此基础上将语义类的全局信息成功应用于part-aware prototypes构建过程中。基于注意力机制,在同一类别中的其他prototype之间进行估计以提升性能。

\lambda_p 代表的是缩放因子,在图像处理中起到重要作用;而 u_{ij} 是通过基于余弦相似度的方法得出的注意机制权重。
Part Refinement with Unlabeled Data

表示组,使用平均池化 来生成一些区域块的特征

然后在类k里面选择一些相关特征

d表示衡量p_i与r_j之间的相似函数
选择好无标签的特征,在这些特征中基于其中的语境信息提升区域级表达能力。在特征集R^u_k上搭建一个全连接层,并通过下面的信息传递函数来更新数据特征


\widetilde{r}_i代表节点i的新表征;其中h被定义为激活函数;Z被设定为节点i上的归一化因子;而权重矩阵W则被构建用于信息编码的一个线性映射过程;
步骤3:Part-aware prototype refinement
在增强后的无标签特征中;我们采用了类似于标签特征的设计;引入了一种新的注意力机制;以提取初始的部分感知prototypes(part-aware prototypes);
随后通过将P_k设定为一个注意力序列队列;
来选择R~u_k中的无标签样本;
并将其聚合到P_k集合中进行进一步处理;

\lambda_r表示尺度参数,\phi_{ij}表示注意力权重

k类中最后筛选下来的prototype集
4.3 部件wise 掩膜生成网络

S_{k,j}(m,n)表示在(m,n)位置上的得分情况。本文利用最大池化技术将类别k的相关得分为全体类别融合,并对来自所有类别的分数矩阵进行连接处理,最终得到输出分割结果。

\oplus代表连接操作。以获得最终的分割结果,我们采用双线性插值方法对\hat{Y}^q进行上采样,在每一个像素位置上选取其所属类别中具有最高置信度的分数。
目前正处在学习阶段,并非专业专家型人士,请仅作参考。在内容上增添了自己的见解与思考,在此分享希望能达到抛砖引玉的效果。如有问题,请随时指出
什么是图像中的掩膜(Mask)?这是一个用于标识目标区域的重要工具,在计算机视觉领域具有广泛的应用
什么是图像中的掩膜(Mask)?这是一个用于标识目标区域的重要工具,在计算机视觉领域具有广泛的应用
个人理解:本文中的图注意力网络主要运用的是像素点周围的信息,并通过动态调整权重系数来实现对周围点影响的调节。
[1] Ayyad等人提出了一种具有局部和全局一致性的部分监督少样本学习方法(arXiv预印本arXiv:19...)。
[6] Chung与Weng在其NIPS机器学习与健康会议上介绍了利用双胞胎卷积神经网络(Siamese CNNS)进行医学图像深度表示的学习工作及其在基于内容的图像检索中的应用。
[24] Ren等人开发了一种基于元学习技术实现半监督少样本分类的方法(arXiv预印本arXiv:18...)。
