小样本语义分割

小样本学习旨在通过极少的样本来完成新类的识别,在深度学习中,如果类别有充足的标注样本,深度模型可以从海量的数据分布中抽取到准确的类别表达,随着标注数据量的减少,数据将不能涵盖类别的完整分布,深度模型的表达将逐渐下降。所以对于小样本学习而言,通过模型拟合数据的完整分布来达到识别是不切实际的,由此引出小样本学习的新范式----元学习、度量学习。

所谓元学习就是需要模型具有“learning to learning”的能力,也可以理解为需要模型具有很强的迁移能力,只需要少量的样本就可以完成新类别的识别。而度量学习则将由参数引导的分类器转化为由距离指导的分类器,只要模型具有很强的距离映射能力,那么将很好的解决小样本学习。

现有小样本学习可以笼统的概括为元学习与度量学习的组合。其中最巨代表性与理解的就是Prototype Network。

小样本语义分割_第1张图片
Prototype Network通过Embedding函数,将每个类别的少量训练样本映射为N个向量,在检测分类时候,将待检测的物体也通过Embedding函数映射为向量,最后计算待检测向量与N个向量的距离,认定距离最小的为预测类别。以Prototype Network网络为基础模型,衍生出许多小样本识别、检测、分割模型。对于分割模型,其类似于一个**搜索过程**。具体而言,首先通过少量的样本得到类别的原型表达P,随后使用P在待分割图像的特征图F上进行“搜索”。

通过观察可知,小样本语义分割的重点就是原型P表达的准确性,可以粗鲁的认为只要P表达准确,那么小样本学习也就差不多完成了,其它的操作只是在为P服务。

交叉Support-Set与Query-Set

中心思想:使用 s u p p o r t − p r o t o t y p e support-prototype supportprototype来搜索 q u e r y − s e t query-set queryset中图片,参考搜索得到的结果,选取置信度大的 q u e r y − s e t query-set queryset中特征,计算得到 q u e r y − p r o t o t y p e query-prototype queryprototype,使用 q u e r y − p r o t o t y p e query-prototype queryprototype来搜索 s u p p o r t − s e t support-set supportset,并将搜索得到的结果计算损失。

PANet: Few-Shot Image Semantic Segmentation with Prototype Alignment

小样本语义分割_第2张图片

CRNet: Cross-Reference Networks for Few-Shot Segmentation(CVPR2020)

小样本语义分割_第3张图片

Prototype Refinement Network for Few-Shot Segmentation

小样本语义分割_第4张图片

多原型匹配

中心思想:单一的原型受限与样本个数,并不能很好的对类别进行特征表达;同时单纯的取均值得到的原型也太过于粗鲁。所以,建议使用多个原型来对类别进行表达,这样一来,不同原型可以关注图片中类别的不同区域,同时摒弃掉直接取均值的策略,采用更加合理的自动适配来进行原型的提取。

Adaptive Prototype Learning and Allocation for Few-Shot Segmentation(2021cvpr)

关键点:图片中局部原型不使用取均值得到;多个原型关注不同区域;聚类原型

小样本语义分割_第5张图片
  1. 提取图片的特征 F s F_s Fs,将 F s F_s Fs输入到 S G C SGC SGC模块中提取原型特征。
小样本语义分割_第6张图片
在$SGC$模块中,首先将$F_s$拼接两个位置层,以此来输入像素点的坐标信息。随后使用聚类算法计算到$N_{sp}$个原型。其中聚类算法中的距离度量会计算特征距离与坐标距离。
小样本语义分割_第7张图片
  1. 将得到的原型 N s p N_{sp} Nsp与待分割的图片特征输入到 G P A GPA GPA模块中,完成分割。
小样本语义分割_第8张图片

Prototype Mixture Models for Few-shot Semantic Segmentation(2020ECCV)

关键点:代替均值;原型由高斯混合到;基于EM算法的聚类

小样本语义分割_第9张图片

算法旨在消除图像语义歧义;使用多个原型关注局部区域;
小样本语义分割_第10张图片
其中多个原型通过EM算法求的:
小样本语义分割_第11张图片

  1. 关键步骤E-step:计算局部原型 u k u_k uk与图片中每个像素点 S − i S-i Si之间的相似性 E i k E_{ik} Eik,表示第 i i i个像素点特征与第 k k k个原型之间的相似度。
  2. 关键步骤M-step:使用像素特征 S i S_i Si并配合 E i k E_{ik} Eik完成局部原型的更新。
  3. 不断迭代E-step 与M-step,最终得到关注局部的多个原型 u k u_k uk

Part-aware Prototype Network for Few-shot Semantic Segmentation(2020ECCV)

通过聚类对得到局部原型;引入了无标注数据来微调

小样本语义分割_第12张图片

小样本语义分割_第13张图片

  1. Prototypes Generation Module:使用Labeled数据使用聚类算法生成多个局部模型
  2. Part Refinement Module:使用Unlabeled的数据来调整局部原型

你可能感兴趣的:(few,shot,learning)