DA(语义分割3)Bidirectional Learning for Domain Adaptation of Semantic Segmentation

Bidirectional Learning for Domain Adaptation of Semantic Segmentation

来源:CVPR 2019

作者:Yunsheng Li,Lu Yuan,Nuno Vasconcelos

机构:加州大学圣地亚哥分校(UC San Diego),微软

数据集:GTA5和SYNTHIA是原域,Cityscapes是目标域。

网络:translation model(F) is CycleGAN, DeepLab V2  with the backbone ResNet101  and FCN-8s with VGG16 as our segmentation model.



代码:https://github.com/liyunsheng13/BDL

本篇论文是基于Cycle-consistent adversarialdomain adaptation(CyCADA)提出的子网络框架,一个子网络是F,一个是M。

贡献:

1.双向学习(之前是单向的)

2.训练M时,提出用SSL(自监督训练)

3.训练F时,提出了一个peceptual loss

作者通过消融实验结果发现,单独使用双向学习时不用SSL,效果并没有使用双向学习并使用SSL效果好。

1.动机

目前,语义分割的域适配分成两步,第一步是用图片到图片的翻译模型(比如cycleGAN)把图片从原域转到目标域,第二步是在分割模型中加入一个判别器,来进一步减小域差异。这两步是顺序进行的。

该方法的不足:

第二步严重依赖第一步,第一步效果好,则第二步效果也好。第一步效果不好,第二步就无能为力。

解决方法:

仍然用图片到图片的翻译模型以及分割模型,但是改变训练的方法,变成“translation-to-segmentation”以及“segmentation-to-translation”。同时,作者说,如何让其中一个模块给另一个模块提供正向反馈是关键。




顺序学习和双向学习的差别

1.1本文方法的详细介绍:

本文方法由正向和反向两个方向组成:

正向,也就是translation-to-segmentation,作者提出用自监督训练(self-supervised training,SSL)来训练分割适配模型,也就是更新网络M。

反向,也就是segmentation-to-translation,作者提出一个新的perceptual loss来让分割适配模型来更新translation模型,也就是更新网络F(这个更新在之前的顺序学习中是没有的)。

自监督学习:自监督学习是监督学习的一个特例,它与众不同,值得单独分为一类。自监督学习是没有人工标注标签的监督学习,可以将它看作没有人类参与的监督学习。标签仍然存在(因为总要有什么东西来监督学习过程),但它们是从输入数据中生成的,通常使用启发式算法生成的。

自监督学习 参考博客https://blog.csdn.net/gdengden/article/details/84196883

2.训练过程

F和M是两个子网络,在参考论文Cycle-consistent adversarialdomain adaptation中提出的。F用于把一幅图片从原域翻译到目标域。而M则用翻译的结果F(S)来训练网络,F(S)的标签和原域的标签相同。

训练算法

S'=F(S),S’是原域数据经过网络F后的输出。

该算法由两个循环,外层循环主要用于通过前向和反向来学习翻译模型F和分割模型M。

内层循环则用于实现SSL过程。

等式2

训练F的损失函数分成三对儿,一对儿是对抗损失,用来使得S'和T的分布相近,一对儿是重构损失,用来衡量经过F翻译后再翻译回来的原域数据和未经过翻译的原域数据之间的差异,还有一对儿是本文提出的认知损失,用于保持S和S'之间的语义一致性,即S和S'有相同的标签。


等式1


这是最初训练M的损失函数,包括两项,一项是对抗损失,用来使得S‘和T输入M后的特征表示相近,该项损失用于让目标域中没有和原域对齐的数据进行对齐,另一项就是常规的分割损失。

等式3

这是后来训练M的损失函数,除了最初的那两项,还加了一项用带伪标签的目标域数据的分割损失。目标域数据的伪标签是分割网络给出的。


对M的自监督学习过程

本文的贡献之一就是为网络M提出一种自监督学习算法,图二中(a)是初始时用等式1对分割网络M进行训练后的结果,可以看出,训练后,一些目标域的数据和原域的数据进行了对齐,然后选择这些对齐的目标域数据作为集合Tssl的元素,这样就用等式3去训练M,然后再往集合Tssl中增加元素,这样,目标域中不带标签的样本就越来越少了,直到目标域样本都被标记了标签。


3.网络结构和损失函数


网络结构

注意:网络中是有判别器的,只不过没有画出来。

3.1训练F的损失函数(等式2)

等式2里的GAN损失和重构损失


等式2里的认知损失

3.2训练M的损失函数(等式3)


等式3里的对抗损失



等式3里原域数据的分割损失


等式3里目标域数据的分割损失

4.实验结果

We compare the results  between our method and the state-of-the-art method with  two different backbone networks: ResNet101 and VGG16   respectively. We perform the comparison on two tasks: “GTA5 to Cityscapes” and “SYNTHIA to Cityscapes”



原文总结部分

Traditional methods for domain adaptation involve minimizing  some measure of distance between the source and the target distributions. Two commonly used measures are  the first and second order moment [2], and learning the distance metrics using Adversarial approaches。


单词

vise verse:相反亦然

你可能感兴趣的:(DA(语义分割3)Bidirectional Learning for Domain Adaptation of Semantic Segmentation)