[论文地址] [代码] [ICML 18]
Abstract
领域自适应对于在新的、未见过的环境中取得成功至关重要。对抗性适应模型在适应新环境方面取得了巨大的进展,它专注于发现领域不变的表征或通过在未配对的图像领域之间进行映射。虽然特征空间方法很难解释,而且有时不能捕捉到像素级和低级领域的转变,但图像空间方法有时不能纳入与最终任务有关的高级语义知识。我们提出了一个模型,该模型使用生成性图像空间对齐和潜在表征空间对齐来适应不同领域。我们的方法,循环一致的对抗性领域适应(CyCADA),根据特定的区分性训练任务指导领域之间的转移,并通过在适应前后强制执行相关语义的一致性来避免分歧。我们在各种视觉识别和预测设置上评估了我们的方法,包括数字分类和道路场景的语义分割,推进了从合成领域到现实世界驾驶领域的无监督适应的最先进性能。
Method
domain adaption方法大致可以分为两种。一种是"特征级"(Feature-Level)的,通过对抗训练的方式对齐网络在源域样本与目标域样本上提取得到的特征空间;另一种是"像素级"(Pixel-Level)的,也就是直接进行像素级迁移,完成图像的风格转换,进而间接的对齐特征空间。
从某种直觉上来讲,第二种其实更好一些,因为可解释性更强了那么一点点。比如说,如果图像风格翻译的效果比较好的话,那么领域自适应的效果也就会更好些。不过作者指出,像素级的方法有个最大的问题,在于其本身并不是基于更好的下游任务性能(如分割,分类)而设计的,因此翻译后的结果可能丢失语义信息。这种语义信息的丢失可能人眼不可见,但是却会对下游任务的效果产生影响。
本文方法的流程图如下: 注意图中的这个例子。一般在UDA的设置中,source域的图像和标签都是比较容易获得的,而target域的图像则更难收集,并且标签是不可用的。
在上图这个例子中,源域指的就是GTA5游戏,其图像可以轻松通过运行游戏获得,并且也容易标注;而目标域则是真实街景图像(CityScapes),其收集更为困难,并且没有标注。
在没有UDA的情况下,指的就是网络直接在GTA5数据上训练,并在CityScapes上测试,可以预见效果是很差的。而基于图像翻译的UDA,其核心思想是,「将源域训练图像翻译至目标域」,这样就获得了目标域有标注的训练数据(翻译前后标签不变),从而就能在目标域上进行训练,进而在目标域上的测试效果也就能更好。
本文是从CycleGAN的基础上加loss得到的,因此先看原始的CycleGAN部分。从左下角出发,源域图像通过生成器
G
S
→
T
G_{S \rightarrow T}
GS→T?得到生成图像,这个生成图像就是我们最终所需要的东西,我们希望其越真实越好,并且图像内容不能发生变化,以保证标签不变。图像是否真实是通过判别器
D
T
D_T
DT?来实现的,即GAN Loss。
此外,这个生成图像也将通过生成器
G
T
→
S
G_{T \rightarrow S}
GT→S?翻译回原始图像。这个翻译回的原始图像应该和真实的原始图像一致,从而实现循环一致性,即Cycle Loss。
上面这两个损失是CycleGAN原有的。接下来介绍本文新加的损失。怎么去保证翻译后的图像标签没有发生变化,即内容没有发生改变呢?本文的做法比较粗暴。首先在源域图像上训练得到了一个分割模型
f
s
f_s
fs?,然后直接拿翻译后的图像送进去分割。自然,我们希望这个分割结果与真值越近越好,越近说明翻译的效果越好。当然,考虑到训练图像本身的分割结果也不可能和真值100%一致,因此这里实际上替换成了翻译前后的图像在分割模型上的结果保持一致,即本文的Semantic Consistency Loss。
另一个则是直接把Feature-Level的方法给搬过来了,即,把翻译后图像与目标域真实图像提取特征后,让判别器去对抗训练。
|