论文域适应语义分割:Learning to Adapt Structured Output Space for Semantic Segmentation

1、Learning to Adapt Structured Output Space for Semantic Segmentation
目的:结构输出自适应思想,多层对抗网络学习,了解带标注合成图像,如何在合成图像上训练,然后自适应到真实场景上。
摘要:有监督的基于卷积神经网络语义分割方法需要依赖像素级的GT,对于未见过的图像泛化能力差(这体现在源域和目标域之间图像差异较大),此外,图像标注过程也是繁琐费力的事情,因此,需要找到域自适应的方法,将源域的label自适应到目标域中。本文基于语义分割,提出对抗学习的域自适应方法。也就是说,源域和目标域之间空间结构相似,采用多层对抗网络的方法,在不同特征层中有效地在输出空间中完成域自适应。
      以下几个问题,可以一起通过读论文来学习下:
1)动机描述
论文域适应语义分割:Learning to Adapt Structured Output Space for Semantic Segmentation
      问题的核心在于如何缩小源域和目标域之间的差距,尤其是当目标域没有标注时,最直接的思路就是知识迁移或域自适应。比如说对于图像分类任务,可以采用特征对齐(让特征分布一致,这就是特征空间自适应)自适应的方法(即提取的特征在两个域中泛化性能都非常好)。而对于语义分割任务来说,特征需要encode 更加复杂多样化的视觉信息,比如外观,形状,上下文信息等等,这样的话,特征维度很高且复杂。所以文章聚焦在预测输出上(像素级的预测任务)。作者认为,预测输出包含了丰富的空间和局部信息,比如上图中,尽管两幅图像的外观存在很大差异,但它们的输出存在大量显著相似的地方,比如空间布局,局部上下文(车的旁边是树),所以文章认为无论图像来自哪个域,它们的分割结果应该是共享某些相似的地方。因此,全文的目标是只要在输出空间上(低维的softmax输出),让model在两个域中生成相似的分布。(本文提的输出空间自适应)。
2)多层对抗学习和单层对抗学习比较

论文域适应语义分割:Learning to Adapt Structured Output Space for Semantic Segmentation

      单层对抗学习
论文域适应语义分割:Learning to Adapt Structured Output Space for Semantic Segmentation
      先看Single-level Adversarial Learning,先训练判别器,对抗损失为:
论文域适应语义分割:Learning to Adapt Structured Output Space for Semantic Segmentation然后训练Segmentation Network Training(生成器),源域上交叉熵损失为:
论文域适应语义分割:Learning to Adapt Structured Output Space for Semantic Segmentation
目标域的对抗损失为:
论文域适应语义分割:Learning to Adapt Structured Output Space for Semantic Segmentation
这个损失目的是让分割网络(生成器)生成的的输出能够欺骗判别器,也就是让源域和目标域的输出接近。由于单层输出适应性效果有可能不太好,所以多层,这里多层仅仅是不同层特征得到输出。
论文域适应语义分割:Learning to Adapt Structured Output Space for Semantic Segmentation
总结下:文章从输出上考虑,采用对抗学习的方法,相比特征空间自适应,这种输出空间自适应效果更好

3)代码学习