Domain Adaptation for Image Dehazing(图像去雾的域自适应算法CVPR2020)

摘要:现有的去雾方法大多是在合成的雾霾图像上训练去雾模型,但由于域的偏移,对真实的雾霾图像的泛化效果较差。故提出一种领域自适应模式,该模式由一个图像平移模块和两个图像去雾模块组成。具体来说,首先应用一个双向网络,通过将图像从一个域转换到另一个域,来弥补合成域和真实域之间的差距。然后,使用平移前后的图像训练两个具有一致性约束的图像去雾网络。在这一阶段,利用清晰图像的特性(如暗通道先验和图像梯度平滑),将真实的朦胧图像纳入去雾训练中,进一步提高域自适应性。通过端到端对图像平移和去雾网络进行训练,可以获得较好的图像平移和去雾效果。在合成图像和真实图像上的实验结果表明,模型表现的很好。

1.介绍

基于深度学习的方法需要依赖于大量的真实雾霾图像和无雾图像进行训练。在现实世界中获取大量的地面真实图像是不现实的。因此,大多数去雾模型都是在合成的雾数据集上进行训练。然而,由于领域转移问题,从合成数据中学习的模型常常失败,未能很好地推广到实际数据。

为了解决这一问题,提出单图像去雾的域自适应框架。该框架包括两个部分,即图像平移模块和两个与图像域相关的去雾模块(一个用于合成域,另一个用于实域)。为了减少区域之间的差异,首先使用双向图像平移网络将图像从一个区域平移到另一个区域,由于图像雾霾是一种噪声,且不均匀,高度依赖于场景深度,我们将深度信息加入到平移网络中,引导合成的雾霾图像平移到真实的图像中。然后,域相关去雾网络将该域的图像,包括原始图像和翻译后的图像作为输入,进行图像去雾。此外,使用一致性损失来确保两个去雾网络产生一致的结果。在训练阶段,为了进一步提高网络在实域中的泛化能力,将真实的朦胧图像纳入训练中。希望真实的雾霾图像去雾结果能够具有清晰图像的一些特性,如暗通道先验和图像梯度平滑。以端到端的方式训练图像平移网络和去雾网络,使它们能相互改进。模型产生更干净的图像。

主要贡献如下:

作者提出一种用于图像去雾的端到端域自适应框架,有效地弥合了合成图像和真实图像之间的差距。

作者证明将真实的雾霾图像纳入训练过程可以提高去雾性能。

作者对合成数据集和真实世界的有雾图像进行了广泛的实验,这表明所提出的方法与最新的除雾方法相比具有良好的性能。

2.相关工作

  简述与工作相关的单图像去雾方法和域自适应方法。

2.1单一图像去雾

  基于先验的方法是根据清晰图像的统计信息来估计透射图和大气光强。具体来说,Tan提出了一种对比度最大化的图像去雾方法,因为它观察到清晰的图像往往比模糊的图像具有更高的对比度。he等人利用暗通道先验(dark channel prior, DCP)估计透射图,该方法假设无雾图像中的像素在至少一个颜色通道中接近于零。后续的工作提高了DCP方法的效率和性能。此外,采用衰减先验来恢复模糊图像的深度信息。Fattal利用色线假设恢复场景传输,认为小图像斑块的像素呈一维分布。同样,Berman等人假设几百种不同的颜色可以很好地近似一幅清晰图像的颜色,然后在此基础上进行图像去雾。虽然这些方法被证明对图像去雾是有效的,但它们的性能本质上是有限的,因为假设的先验并不适用于所有的真实图像。

  基于学习的方法,随着深度卷积神经网络的发展和大规模合成数据集的可用性,很多方法直接利用深度cnn估计传输和大气光,然后根据退化模型恢复干净的图像。Cai等人提出了端到端去雾模型DehazeNet,从朦胧图像中估计传输图。Ren等人利用一种由粗到细的策略来学习雾蒙蒙的输入和传输映射之间的映射关系。Zhang和Patel提出了一个密集连接的金字塔网络来估计传输图。Li et al.提出了一个AOD-Net来估计重新表述的物理散射模型的参数,该模型集成了传输和大气光。此外,一些端到端方法被提出直接恢复干净图像,而不是估计透射图和大气光。Ren et al.采用门控融合网络直接从朦胧输入中恢复干净图像。Qu等人将图像去雾问题转化为图像到图像的平移问题,提出了一种增强的pix2pix去雾网络。

  然而,由于合成数据与真实数据的域差异,基于合成图像训练的基于cnn的模型应用于真实域时,往往会出现显著的性能下降。为此,Li et al.提出了一种半监督去雾模型,该模型在合成雾霾图像和真实雾霾图像上进行训练,因此在合成雾霾图像和真实雾霾图像之间具有域自适应性。但是,仅仅使用真实的雾霾图像进行训练并不能真正解决域转移问题。与上述方法不同的是,我们的模型首先利用图像平移网络将图像从一个域平移到另一个域,然后利用平移后的图像及其原始图像(合成或真实)对合成域和真实域进行图像去雾。该方法能有效地解决域移动问题。

2.2域自适应

  领域适应的目的是减少不同领域之间的差异。现有的工作要么是执行特征级,要么是像素级的适应。特征级自适应方法旨在通过最小化最大均值差异,或在特征空间上应用对抗学习策略来对齐源域和目标域之间的特征分布。另一个研究方向是像素级适应。这些方法通过应用图像到图像的平移学习或风格转移方法来增加目标域中的数据来处理域转移问题。近年来,许多方法在许多视觉任务中同时进行特征级和像素级自适应,如图像分类、语义分割和深度预测。这些方法通过图像到图像的转换网络,以像素级自适应的方式将图像从一个域转换到另一个域,例如CycleGAN。然后将转化后的图像以特征级对齐方式输入任务网络。在这项工作中,我们利用CycleGAN将真实的雾霾图像适应于我们在合成数据上训练的去雾模型。此外,由于深度信息与图像雾霾的形成密切相关,我们将深度信息纳入到转化网络中,以更好地指导真正的雾霾图像的转化。

3.本文方法

  将介绍我们的领域适应框架的细节。首先,概述了我们的方法。然后详细介绍了图像平移模块和图像去雾模块。最后,我们给出了用于训练网络的损耗函数。

3.1方法概述

  给定合成数据集,真实雾天图像集,其中Nl和Nu分别表示合成雾天图像个数和真实雾天图像个数。我们的目标是学习一种单图像去雾模型,该模型能从真实的雾天图像中准确地预测出清晰的图像。由于区域偏移,仅对合成数据进行训练的去雾模型不能很好地泛化到真实的雾霾图像上。

  针对这一问题,我们提出了一种区域自适应框架,该框架由两个主要部分组成:图像平移网络GS→R和GR→S,以及两个去雾网络GS和GR。图像平移网络将图像从一个区域转换到另一个区域,以弥补图像之间的差距。然后,去雾网络使用转化图像和源图像(例如合成图像或真实图像)进行图像去雾。如图2所示,本文模型以真实的雾霾图像xr和合成图像xs及其对应的深度图像ds为输入。我们首先通过两个图像转换器得到对应的转化图像xs→r = GS→r (xs, ds)和xr→s = GR→s (xr)。然后将xs和xr→s传递给GS,将xr和xr→s传递给GR,进行图像去雾。

Domain Adaptation for Image Dehazing(图像去雾的域自适应算法CVPR2020)_第1张图片

   图2 提出的图像去雾域自适应框架的体系结构。该框架由图像平移模块和图像去雾模块两部分组成。图像平移模块将图像从一个域转换到另一个域,以减少域差异。图像去雾模块分别对合成域和实域进行图像去雾。

3.2图像转化模块

  图像转换模块包括两个转换器:合成到真实网的GS→R和真实到合成网的GR→S。GS→R网络以(Xs, d)为输入,生成与真实朦胧图像风格相似的平移图像GS→R(Xs, d)。另一个转化器GR→S反向执行图像转换。由于深度信息与雾霾公式高度相关,我们将其加入到生成器GS→R中,生成真实情况下雾霾分布相似的图像。我们采用空间特征变换(spatial feature transform, SFT)层[33,15]将深度信息纳入平移网络,可以有效地融合深度图和合成图像的特征。如图3所示,SFT层首先应用三个卷积层从深度图中提取条件图φ。然后将条件映射反馈到另外两个卷积层,分别预测调制参数γ和β。在转化器GS→R中,我们以深度图为导向,使用SFT层对倒数第二卷积层的特征进行变换。如图4所示,经过平移后的合成图像更接近真实世界的朦胧图像。我们在表1中展示了转化器GS→R的详细配置。我们还采用了CycleGAN[38]提供的体系结构,用于生成器GR→S和鉴别器(Dimg R和Dimg S)。

Domain Adaptation for Image Dehazing(图像去雾的域自适应算法CVPR2020)_第2张图片

图3 SFT层结构。在转化器GS→R中,我们考虑深度图作为指导,以辅助图像的平移。 

3.3去雾模块

  该方法包括两个去雾模块GS和GR,分别对合成域和真实域进行去雾处理。GS以合成图像xs和平移图像xr→s为输入,进行图像去雾。GR的训练内容是xr和xs→r。对于这两个图像去雾网络,我们都使用了标准的编码器解码器结构,具有跳跃连接和侧输出。各域的去雾网络具有相同的网络结构,但学习参数不同。

3.4训练损失

3.4.1图像转化损失

  转化模块的目的是学习转化器GS→R和GR→S,以减少合成域XS和真实域XR之间的差异。对于转化者GS→R,我们期望GS→R(xs, ds)与真实的朦胧图像xr不能区分。因此,我们使用一个图像级鉴别器Dimg R和一个特征级鉴别器Dfeat R,通过对抗学习方式来执行一个最小博弈。Dimg R的目的是对齐真实图像xr和平移图像GS→R(xs, ds)之间的分布。鉴别器Dfeat R有助于对齐xr和GS→R(xs, ds)的特征图之间的分布。对抗性损失定义为:

Domain Adaptation for Image Dehazing(图像去雾的域自适应算法CVPR2020)_第3张图片

 与GS→R相似,GR→S也存在图像级对抗损失和特征级对抗损失,分别记为Limg Gan(XS, XR, Dimg S, GR→S)、Lf eat Gan(XS, XR, Df eat S, GR→S, GS)。此外,我们利用循环一致性损耗来正则化转化网络的训练。具体来说,当将图像xs依次传递给GS→R和GR→S时,我们希望输出的图像应该是相同的,而xr则相反。即GR→S(GS→R(xs, ds))≈xs, GS→R(GR→S(xr), dr)≈xr。循环一致性损失可以表示为:

Domain Adaptation for Image Dehazing(图像去雾的域自适应算法CVPR2020)_第4张图片

 最后,为了鼓励生成器在输入和输出之间保留内容信息,我们还利用了标识映射损失,记作:

Domain Adaptation for Image Dehazing(图像去雾的域自适应算法CVPR2020)_第5张图片

 转化模块的总体损失如下:

Domain Adaptation for Image Dehazing(图像去雾的域自适应算法CVPR2020)_第6张图片

3.4.2图像去雾损失 

  将合成图像XS和对应深度图像DS传输到生成器GS→R上,得到一个新的数据集XS→R = GS→R(XS, DS),其样式与真实的朦胧图像相似。然后在XS→R和XR上以半监督的方式训练图像去雾网络GR。对于监督分支,我们采用均方损失保证预测图像JS→R接近干净图像YS,可以定义为:

 在无监督分支中,引入总变差和暗通道损失,对去雾网络进行正则化,生成与清晰图像具有相似统计特性的图像。总变化损失为预报图像JR之前的1-正则化梯度:

其中,∂h表示水平梯度算子,而∂v表示垂直梯度算子。此外,提出了暗通道的概念,可以表示为: 

Domain Adaptation for Image Dehazing(图像去雾的域自适应算法CVPR2020)_第7张图片

 其中x, y为图像I的像素坐标,Ic为I的第c个颜色通道,N(x)为以x为中心的局部邻域。He等人[9]也证明了暗通道图像的大部分强度为零或接近零。因此,我们采用如下暗通道损失(dark channel, DC)来保证预测图像的暗通道与干净图像的暗通道一致:

 此外,我们还在XS和XR→S上训练了互补的图像去雾网络GS。同样,我们采用相同的监督损耗和无监督损耗对去雾网络GS进行训练,训练结果如下:

Domain Adaptation for Image Dehazing(图像去雾的域自适应算法CVPR2020)_第8张图片

最后,考虑到两种去雾网络的输出对于真实的雾霾图像应该是一致的,即GR(XR)≈GS(GR→S(XR)),我们引入以下一致性损失: 

3.4.3总体损失函数

总体损失函数定义如下: (其中λm, λd, λt和λc是权衡权重。)

 4.实验结果

  分别在合成数据集和真实图像上对所提出的域自适应方法进行了评价。最后,进行消融研究以分析所提出的方法。

4.1实现细节

4.1.1数据集

  我们从RESIDE数据集中随机选取合成图像和真实图像进行训练。将数据集划分为5个子集,分别为ITS (Indoor Training Set)、OTS (Outdoor Training Set)、SOTS (Synthetic Object Testing Set)、URHI (Unannotated real Hazy Images)和RTTS (real Task-driven Testing Set)。在合成数据集上,我们选择6000张合成的朦胧图像进行训练,其中ITS图像训练3000张,OTS图像训练3000张。对于真实的雾霾图像,我们通过从URHI中随机选取1000幅真实雾霾图像来训练网络。在训练阶段,我们将所有图像随机裁剪为256 × 256,并将像素值归一化为[−1,1]。

4.1.2训练

  并利用ADAM优化器批量来训练网络。首先,在动量β1 = 0.5, β2 = 0.999的条件下,对图像平移网络GS→R和GR→S进行90个时期的训练,学习速率设为5 × 10−5;然后利用预训练的GS→R和GR→S模型,分别在90个epoch上对GR进行{XR, GS→R(Xs, Ds)}和GS进行{Xs, GR→S(XR)}训练。动量和学习速率设为:β1 = 0.95, β2 = 0.999, lr = 10−4。最后,利用上述预训练模型对整个网络进行微调。在计算直流损耗时,我们设定patch为35 × 35。权衡权设为:λtran = 1, λm = 10, λd = 10−2,λt = 10−3,λc = 10−1。

4.2关于合成数据集的实验

  我们使用两个合成数据集,即SOTS[13]和HazeRD[36]来评估我们提出的方法的性能。不同方法对这两个数据集的去雾图像如图5和图6所示。从图5 (b)可以看出,NLD[2]和GFN[27]都存在一定的颜色失真,结果看起来不真实。EPDN[25]去雾的结果在某些情况下也比地面真相更暗,如图5 (g)所示。此外,DehazeNet[4]、AOD-Net[12]和DCPDN[35]去雾的图像中还存在一些残留的霾。与这些方法相比,我们的算法恢复的图像具有更清晰的结构和细节,更接近地面真相。在图6的HazeRD数据集的去雾结果中也可以发现类似的结果,我们的算法产生的结果视觉效果更好。我们也在表2中给出了去雾结果的定量比较。如图所示,该方法在两个数据集上都获得了最高的PSNR和SSIM值。与最先进的EPDN[25]相比,我们的方法在STOS数据集上获得了3.94 dB和0.04的PSNR和SSIM增益。对于HazeRD数据集,我们的方法得到的PSNR和SSIM分别比EPDN[25]高出0.7dB和0.07。

图5 在SOTS[13]数据集上进行可视化比较 

表2 两种合成数据集去雾结果的定量比较(平均PSNR/SSIM)。

 5.结论

  在本研究中,我们提出了一种新的单图像去雾域自适应框架,该框架包含一个图像平移模块和两个图像去雾模块。我们首先利用图像平移网络将图像从一个域平移到另一个域,以减少域差异。然后,图像去雾网络将平移后的图像及其原始图像作为输入,进行图像去雾。为了进一步提高泛化能力,我们利用干净图像的特性,将真实的朦胧图像纳入去雾训练中。在合成数据集和真实世界图像上的大量实验结果表明,我们的算法在当前技术水平下表现良好。

你可能感兴趣的:(算法,计算机视觉,深度学习)