Domain Adaptation for Image Dehazing

1,280 阅读3分钟

CVPR 2020

Yuanjie Shao, Lerenhan Li, Wenqi Ren, Changxin Gao, Nong Sang

简介

近些年的算法大多都是基于合成的有雾图像进行训练的。而由于域移位,使用这些图像训练的网络很难迁移到真实的有雾图像上。文章提出了一个名为领域适应的网络,它由一个图像转换模块和两个去雾模块组成。具体来说,文章先应用了双向翻译网络,将图像从合成域和真实域之间相互转换。然后,文章使用翻译前后的图像来训练提出的具有一致性约束的两个图像去雾网络。

Motivation

基于两点:

  • 大多算法都是基于合成的有雾图像进行训练的
  • 而使用合成有雾图像训练的网络很难很好的迁移到真实图像上

Model

网络分为三块,一个图像转换模块(Image translation module)和两个去雾模块(Dehazing module in synthetic/real domain)组成。

图像转换模块的基础网络是CycleGAN,两个相互转换的图像域是分别是合成有雾数据和真实有雾数据。即这个网络希望能够把真实的数据和合成的数据相互转换。其中S2R表示从合成转为真实,R2S表示从真实转为有雾,D_s负责区别输入的图像是否为合成有雾图像,D_R负责区别输入的图像是否为真实有雾图像。d_s表示当前合成有雾图像的深度图。

而两个去雾模块分别负责对合成图像和真实图像进行去雾。从结构上来看,两者无区别。输入到右边的真实去雾网络的是真实有雾图像和从合成有雾图像映射得到的真实有雾图像,即混合数据后训练。其中,合成有雾图像映射得到的真实有雾图像是包含Gth的,而真实有雾图像是不包含Gth。因此它们使用了不同的loss。

图中名词介绍:

  • Synthetic hazy image合成有雾图像
  • S2R image从合成有雾图像映射的真实有雾图像
  • Real hazy image真实有雾图像
  • R2S image从真实有雾图像映射的合成有雾图像

损失函数

对于图像域转换来说,有3个loss:

1.对抗损失:即D_RD_s要能够区别出输入的是真实的图像还是合成的图像。需要注意的是,在去雾过程中,去雾网络的部分特征图也被放入鉴别器网络中,即D_{s\_fea}网络。

2.循环一致性损失:即从合成图像->真实图像->合成图像需要等于原有的合成图像。真实图像同理。

3.自映射损失:即把真实图像放入S2R网络中,需要保持真实图像原有的样子,不能改变。

对于去雾过程来说,有3个loss:

1.图像去雾损失:对于存在Gth的图像,应该保持和Gth的一致。这里使用了L_2

2.总变分损失:希望水平和垂直梯度方向上尽量平滑。

3.暗通道损失:去雾结果的暗通道尽量小。

数据和训练

数据集

  • 训练集:RESIDE(合成),URHI(真实)

  • 测试集

训练设置

  • 将图像随机裁为256*256的图像块,并归一化到[−1, 1]
  • 使用Adam优化器
  • 批大小为2
  • 一共训练180轮

对比和测试

测试指标

指标对比

结果展示