Few-Shot Segmentation Without Meta-Learning: A Good Transductive Inference Is All You Need?阅读笔记

首先声明一下,是个刚入门的小菜鸡,大部分里面的内容都带有了自己的理解。如果发现哪里有问题,欢迎指正!

本文引入了一种转换推理,通过优化一个新的损失函数,利用了任务中的无标签像素,这个损失包含三个部分:1.在标签像素上的标准交叉熵;2.在无标签像素上的后验熵;3.基于预测前景区域部分的一个全局KL正则器。本文使用了提取特征的一个简单的线性分类器,拥有与推理方法(inductive inference)可比的计算量,并且能够用于任何基本训练上。
并且本文引入了一个更加实际的域迁移(domain shift)方法。其中的基本的类和新颖的类都是来自不同的数据集。

在这里,在基础训练时,深度分割模型在小样本任务和新型看不见的类别中进行评估。
1.但是片段式训练(episodic training)本身就假设了测试任务在元训练阶段,对于任务具有相似的结构(support shots的数量).
2.基础类与新类都被假设从相同的数据集中进行采样。

以上的假设很容易限制现有的小样本分割方法在实际情况中的应用。而本文舍弃了元学习,在对于特征提取的基础类别的训练过程中,重新想到了一个简单的交叉熵监督。

贡献:
1.提出了对于小样本分割的一个新的transductive方法,从三个方面优化了损失函数。其中包括1)在标签像素上的标准交叉熵;2)在无标签像素上的后验熵;3)基于预测前景区域部分的一个全局KL正则器。
2.没有使用元学习器,但是效果更好
3.不仅仅是在训练与测试数据分布的转换,同时加入了图像特征转换
4.精确的区域分布信息大大改善了结果,当假设这些信息不够实用,不确切的估计可以得到巨大的提升.

小样本分割:使用support图像产生prototype类,然后借助prototype-query比较模型去分割query图像。
为了学习到更好的类表示,其中可选择的方法包括:1.imprint新类别的权重;2.分解整体类别表示为一些part-ware prototypes;3.混合多个prototype,每个对应于不同的图像区域。

3.公式
每一个K-shot任务包含了一个support集 S = { ( x k , y k ) } k = 1 K S=\lbrace(x_k,y_k)\rbrace^K_{k=1} S={ (xk,yk)}k=1K,表示K张全标记的图片,一张无标签的query图像,所有的都来自一个类别。而这个类别从一些新类别ybase中选择,而在训练时会存在一个基础类ybase,其中ybase ⋂ \bigcap ynovel= ∅ \empty

在片段训练中的推理偏置
这个在训练时将基础集Dbase构造成一些训练任务,模拟了测试场景。然后为了增强分割能力,模型在这些任务中训练去学习如何更好的利用来自support集中的监督方式。实验证明在小样本中shot的增加提高的效果很小.

为了找到线性分类器的权重,提出了优化下面tranductive-inference目标函数:
在这里插入图片描述
λ H , λ K L ∈ R \lambda_H,\lambda_{KL}\in R λH,λKLR都是非负超参数
在这里插入图片描述
CE指的是在S中的support图像的像素标签以及对应的softmax预测之间的交叉熵。容易导致分类器过拟合。
在这里插入图片描述
这个表示的是query像素的预测值的信息熵,同样会导致分类器过拟合。
在这里插入图片描述
表示KL散度,促进了F/B的分布预测

之前写的都没保存,看完了,直接进行总结吧

线性分类器:通过最小化损失函数,得到最合适的概率值,最后得到像素点的对应类别
在这里插入图片描述
在这里插入图片描述

计算support与query数据的概率值,z表示对应的数据集特征,w表示的是对应的prototype,然后这里的w与b都会进行更新
Few-Shot Segmentation Without Meta-Learning: A Good Transductive Inference Is All You Need?阅读笔记_第1张图片

你可能感兴趣的:(论文阅读笔记,图像分割)