Rectifying Pseudo Label Learning via Uncertainty Estimation for Domain Semantic Segmentation

这个链接是论文作者亲自写的解析
这里做一个自己简单的阅读记录,这篇文章的方法对语义分割还是挺有用的。因为我是有监督的语义分割,对于这个领域不是很熟悉,如有错误还请指出。
摘要:
文章专注于无监督的领域自适应分割,简单来说就是在有标签的source数据集上训练后,带上参数去没有标签的target数据集上进行训练并预测出分割图。
现在的方法大都利用在sorce数据集上产生的伪标签用于处理target的数据。但是伪标签中会包含错误的预测。
为了解决这个问题,文章提出通过无监督学习,在训练时候估计出预测不确定性来完善伪标签。给出输入图,模型产生语义分割图和预测的不确定性。我们通过预测方差建模不确定性,使用不确定度进行目标优化。作者提出:(1)通过预测方差,动态设置不同的置信度阈值。(2)从含噪声中的伪标签休息学习过程。(3)比起传统的伪标签学习,提升巨大。
引言
深度神经网络对于未见过的数据集表现得就很差,人工的精确标注训练数据就很贵,因此无监督语义分割应运而生。无监督语义分割的数据集有两个数据集分别在不同的环境下收集,一个数据集数据包含精确地标注,另一个数据集只有数据没有标注。语义分割面临的主要挑战是两个数据集之间存在差异。然后作者列举了一系列文章,总计两步法:首先从标签的数据预测一个伪标签,然后最小化伪标签和target数据之间的交叉熵。在训练过程中,伪标签当做真实的标注来优化模型。
但是伪标签包含噪声,噪声将会对训练造成伤害。

一些作者手动设置阈值去忽略那些低置信度的标签,但是对于不同的区域,阈值很难确定,对于不同的种类,特别是小物体,阈值也很难确定。高阈值会忽略那些少见的种类,阈值和物体的位置也相关,图片中那些大物体很容易预测,但是物体的边界很难预测。因此置信度不仅要考虑置信度还要考虑像素的位置。固定的阈值就显现了他的不方便。
作者通过建模不确定性,自动地给出每个像素的阈值,我们计算不确定度作为预测的方差,通过方差优化模型,叫做方差正则化,动态的作为每个像素的阈值,可以和交叉熵混合使用。
总结:-作者首先使用不确定估计,从伪标签动态的给每个像素设置阈值。-计算不确定度作为预测的方差。
相关工作:
伪标签学习:作者预测为标签的不确定度,不确定度可以看做自动的阈值去调整对噪声标签的学习。
共同训练:作者在不同的层之间使用了两个classifier,每一个伪标签都会是高不确定性的。比如当两个classfier输出相同的种类预测时,我们将不会惩罚网络。
Rectifying Pseudo Label Learning via Uncertainty Estimation for Domain Semantic Segmentation_第1张图片
不确定估计::我们并没有引入额外的参数,相反我们使用了分割模型的差异,对target训练使用了不确定度,自适应的方法学习每个像素的不确定图。
方法
带标签数据集:
Rectifying Pseudo Label Learning via Uncertainty Estimation for Domain Semantic Segmentation_第2张图片
Rectifying Pseudo Label Learning via Uncertainty Estimation for Domain Semantic Segmentation_第3张图片
Rectifying Pseudo Label Learning via Uncertainty Estimation for Domain Semantic Segmentation_第4张图片
F是每个通道像素预测所属的概率,比如第一个通道为第一类,有3x3=9个像素,每个像素的之表示这九个像素属于第一个类别的概率,Pt是独热编码向量:根据独热编码我们可以知道标签的类别。[3,3,3,3,3,3,3,3,3,5,5,5,5,5,…],我们最小化模型的概率减去模型的0ne-hot编码值。
Rectifying Pseudo Label Learning via Uncertainty Estimation for Domain Semantic Segmentation_第5张图片
对带有标签的数据进行训练产生伪标签,用于没有标签的数据。
伪标签生成:
Rectifying Pseudo Label Learning via Uncertainty Estimation for Domain Semantic Segmentation_第6张图片
如果伪标签生成的类别正确,那么伪标签的one-hot就为1,否则为0.
第二步,通过伪标签学习,最小化预测的bias。
Rectifying Pseudo Label Learning via Uncertainty Estimation for Domain Semantic Segmentation_第7张图片
Rectifying Pseudo Label Learning via Uncertainty Estimation for Domain Semantic Segmentation_第8张图片
公式(2)的第二个公式是一个常数。Pt是target数据集的标签,但是现实中是没有的,所以是理想化的。现在大多数方法优化第一个公式作为先验知识。等同于认为伪标签是真实的标签。交叉熵作为主要的损失函数:
Rectifying Pseudo Label Learning via Uncertainty Estimation for Domain Semantic Segmentation_第9张图片
不确定估计:
为了解决伪标签的噪声问题,通过预测方差建模伪标签不确定度。
在这里插入图片描述
因为pt是未知的,我们可以优化伪标签来替代target数据的标签:但是这就是前人犯的错误。
在这里插入图片描述
所以作者这里使用另一个相近的方法:使用辅助分类器的输出,这时候就想,辅助分类器的输出可以代替target数据的标签吗?它的输出预测有这么准吗?
Rectifying Pseudo Label Learning via Uncertainty Estimation for Domain Semantic Segmentation_第10张图片
Rectifying Pseudo Label Learning via Uncertainty Estimation for Domain Semantic Segmentation_第11张图片
辅助分类器在PSP中是为了解决梯度消失的问题。我们使用辅助分类器估计方差。我们使用两个分类器的kl散度作为方差
在这里插入图片描述
如果两个分类器分别预测出不同的类别,那么方差就会很大。模型的不确定度就会越大。
方差正则化:
Rectifying Pseudo Label Learning via Uncertainty Estimation for Domain Semantic Segmentation_第12张图片
为了防止Var出现为0的情况下,将公式替换为:
Rectifying Pseudo Label Learning via Uncertainty Estimation for Domain Semantic Segmentation_第13张图片
根据图片可以看出,对于含噪声的区域,方差更大。
Rectifying Pseudo Label Learning via Uncertainty Estimation for Domain Semantic Segmentation_第14张图片

对于连续想干的区域,方差正则化会使模型相信伪标签。对于模糊的预测,方差正则化使模型忽略伪标签。
整体的流程图:
1:获得没有labelde数据集
2:获得产生的伪标签(通过将source产生的参数用来target进行预测)
3:初始化target参数等于source参数。
4:输入到两个分类器获得预测方差。
5:修正预测方差,通过公式2计算交叉熵。
6:结合预测方差获得修正的物体,更新参数。
Rectifying Pseudo Label Learning via Uncertainty Estimation for Domain Semantic Segmentation_第15张图片
概括:
Rectifying Pseudo Label Learning via Uncertainty Estimation for Domain Semantic Segmentation_第16张图片

你可能感兴趣的:(paper总结,计算机视觉,深度学习,人工智能,神经网络)