目录
分享一篇2022年TGRS的文章,针对半监督遥感影像变化检测任务。
概要
随着深度学习在遥感图像变化检测中的发展,变化检测模型对标记数据的依赖性已经成为一个重要的问题。为了更好地利用资源相对较少的未标注数据,基于半监督学习的变化检测方法值得进一步研究。
这篇文章提出了一种可靠的半监督遥感图像变化检测的对比学习方法。首先,根据任务变化检测的特点,设计了基于变化区域的对比损失,以增强模型对变化对象的特征提取能力。然后,为了提高半监督学习中伪标签的质量,通过利用未标注数据的不确定性来选择可靠的伪标签用于模型训练。
模型整体架构
创新一:Using Uncertainty to Obtain Reliable Set
挑战:
之前的伪标签生成方法都是对所有未标注数据进行预测,之后进行argmax操作生成伪标签,但这种方法容易为模型带来偏差,对那些难以训练的数据样本,以及在训练早期阶段,容易生成错误的伪标签,造成伪标签质量不好,进而让模型累计偏差走偏。
解决:
对用于生成伪标签的未标注数据进行选拔,选择可靠性高的未标注数据作为生成伪标签的集合。
方法介绍:
保存不同训练时期中的模型的三个节点,模型T1、T2和T3。用这三个模型去预测相同未标注数据并获得伪标签。
其中j就是选择的节点数量
获得伪标签之后通过对该未标注图像在不同时期的预测结果进行meanIOU计算得到不同图像对的不确定度。然后对所有未标注数据的不确定性进行排序。
其中yipK是最佳预测,K表示在第k个epoch保存的模型Tk。yipj则表示其他模型的预测。
然后,对所有未标记数据的不确定性进行排序。在实验部分,分析了可靠数据的不同比例对变化检测模型的影响。结果表明,当选择1/2的未标记数据作为可靠数据时,半监督模型具有最佳性能。将不确定度低的作为可靠子集,不确定度高的作为不可靠子集。
在划分这些未标记的数据之后,在预训练阶段中使用具有最高准确度的模型T来获得对应于可靠数据Dul r的伪标记yi p。对于不可靠的数据Dul u,通过复制其中一个图像来制作未改变的标签yn,因此它们对应的真实的标签yi p是具有所有未改变区域的标签。
创新二:Contrastive Learning for Change Detection
挑战:
一般的对比学习主要是图像级对比学习,其主要是在不同的图像中选取个正负样本对。但遥感影像变化检测任务旨在提高变化检测模型对变化区域和未变化区域的特征识别能力,因此图像级对比学习并不适用。
解决:
本文的方法利用局部区域变化的特点,设计像素级正负样本进行对比学习,从而提高模型对像素级特征的识别能力。
方法介绍:
举例:对于未标注图像对uA和uB,对uA施加两个随机的强扰动得到新的图像对uA1和uA2,新的图像对由于是同一图像施加不同的扰动因此不具有任何变化区域。原图像对和新图像对经过模型输出得到的两个预测图,其中两个预测图中的变化区域mcA(即上图黄色区域)应该具有相反的预测,对于无变化区域muA(即上图蓝色区域)则有相似的预测。因此在对比损失中,相似预测的像素记为正样本,相反预测的像素记为负样本。
损失函数:
对于正样本:为了使两个图像对的预测更加相似,使用均方误差MSE进行训练。
对于负样本:将两个图像对的预测概率划分为变化概率y0c、y0u和未变化概率y1c、y1u,为了使负样本损失保持下降。让两个预测在相反预测概率中彼此接近,将其中一方取反后进行MSE。
对比损失:
伪代码
1.首先使用标注数据训练模型,损失函数使用交叉熵和对比损失;
2.保存三个训练过程中不同时期的模型。
3.对未标注数据预测生成伪标签之后进行不确定度计算;
4.选择可靠性高的未标注数据作为集合;
5.使用新的样本集合进行训练模型;
6.迭代循环
7.选择图像对和对应的标签(或伪标签);
8.对可靠样本图像对中的T1时刻图像施加两个强的随机扰动;
9.对不可靠样本图像对仅选择其中一个时刻进行复制,对应的伪标签为无变化;
之后对可靠样本进行对比损失计算,对不可靠样本根据给出的伪标签进行监督损失计算;
实验结果
从上图中可以看出,在不同的训练时期,通过所提出的方法选择的可靠样本的准确性显著高于不可靠样本。选择更可靠的数据,以便使用它们的伪标签来训练半监督模型并提高模型性能。
上图为对比试验,提升还是比较明显的。
小结
现在许多研究工作都在提高伪标签的质量,大多都是在阈值上面做一些研究,将固定的阈值变为自适应阈值,这篇文章通过提高未标注样本的质量进而提高伪标签的质量。对比损失也设计的贴合遥感变化检测任务。