Unsupervised Intra-domain Adaptation for Semantic Segmentation through Self-Supervision
原文链接 :点击下载
文章目录
CVPR 2020.6.11
摘要
语义分割领域,使用的方法发展:人工标注数据 -> 游戏引擎合成数据 -> UDA(无监督域自适应) -> …,但是这些方法都考虑的是源域与目标域之间的分布差异问题(inter-domain gap),然而目标域数据之间的分布差异问题(intra-domain gap)缺少关注。
该文提出的方法是将域间与域内分布差异联合考虑的一种方法。
图一展示了源域与目标域的适应,但是不同的图像基于同一个模型会产生预测差异较大的结果,对应于图中noisy map和clean map,将这种差异称为域内差异(intra-domain gap)。
下面来展示一下,如何将这两个分布差异联合起来考虑。
框架
可以看到,整个框架分三个阶段:
(a)域间自适应阶段
(b)熵排序过程
(c)域内自适应阶段
域间自适应阶段
Source Images 经过生成器 会得到对应的分割预测图,与Source Labels 进行交叉熵损失 计算为Eq.1
Target Images 经过 也会得到对应的 Target Predictions
还可以 对Source Images 和 Target Images 进行熵 计算,对应Eq.2,输出的熵 输入到判别器 中,对熵图进行域标签预测。
生成器 要尽可能的欺骗 ,使 以为输入的是真;判别器 要尽可能的判别输入是假。所以 和 之间存在一种矛盾关系,即对抗学习。
通过优化 Source Images 和 Target Images 之间熵值的关系 ,即缩小了域间差距。对应Eq.3
熵排序过程
目标数据之间会存在域内差距,一种简单的解决方案是将目标域分解为较小的子域,现利用熵图来确定目标预测的置信度,并进行排名。
熵排序公式对应Eq.4,将排序好的熵值分割为 easy 和 hard 两个子域,其中 easy split 占总体的 。相应的 Target prediction 也分成了 easy 和 hard 两个子域。
域内自适应阶段
该阶段其实和(a)部分差不多。只不过 Source Images 有对应的 Source Labels,现在 Easy Split 没有对应的标签,用 先对 Easy Split 生成伪标签,然后再将 Easy Split 输入 生成分割预测图并与伪标签进行交叉熵 计算,对应Eq.5
将 Hard Split 和 Easy Split 输入到 进行熵图计算,将输出的熵图输入到 进行域标签预测。 和 也是一种对抗学习,优化Eq.6对应缩小 Hard Split 和 Easy Split 连个域的域间差距,也就是 Target Images 的域内差距。
现在已完成了三个阶段的过程,将三个阶段的涉及到的损失 加起来得到总的损失函数,对应Eq.7,优化Eq.7也就意味寻找最优的生成器 和 判别器 ,对应Eq.8
Experiments
Table.1 展示了该方法在三个合成数据上的实验效果,总的 mIou 都是比其他的方法要好的,但是具体类别的预测结果可能表现不佳。
Table.2 展示了超参数 如何选择可带来最佳的 mIoU提升,结果显示为0.67()
Table.3 展示了不同方法引入对性能的提升
图三对比了采用域间自适应与域间+域内自适应方法带来的提升对比
图四(c)和(d)列是对熵图的域标签预测,在Hard Images 上对比了域间自适应和域间+域内自适应方法的提升对比