Self-augmented Unpaired Image Dehazing via Density and Depth Decomposition基于密度和深度分解的自增强非配对图像去雾2022总结

摘要

为了克服在合成雾霾-清晰图像对上训练的去雾模型的过拟合问题,最近的许多方法都试图通过对非成对数据进行训练来提高模型的泛化能力。它们大多简单地制定了除雾和复雾的循环,而忽略了现实雾霾环境的物理特性,即雾霾随密度和深度的变化。在本文中,我们提出了一种自增强图像去雾框架,称为D^4 ((Dehazing via Decomposing transmission map into Density and Depth)),用于雾霾的产生和去除。该框架不是简单地估计传输图或清晰内容,而是侧重于探索朦胧和清洁图像中包含的散射系数深度信息。在估计场景深度的情况下,我们的方法能够重新渲染不同浓度的雾霾图像,进一步有利于去雾网络的训练。值得注意的是,整个训练过程只需要未配对的模糊图像和干净图像,却成功地从单个模糊图像中恢复散射系数、深度图和清晰内容。综合实验表明,我们的方法以更少的参数和FLOPs优于最先进的非配对除雾方法。

背景:

通过对大量合成的模糊-清洁图像对进行训练,监督深度除雾方法在特定的测试集上取得了令人印象深刻的效果。然而,合成图像与真实图像之间存在较大的域差。仅在配对合成图像上训练的去雾模型很容易过度拟合,并且对现实世界的雾霾条件泛化得很差。

由于期望的真实世界模糊和干净的图像对几乎不可达,近年来,人们提出了许多非配对深度学习方法来从非配对训练数据中探索去雾线索。其中,构造除雾循环和复雾循环被广泛采用[8,9,17,26,45,50],因为它提供了一种简单有效的方案,可以在进行域变换的同时保持内容一致性。如果能够准确地对模糊和干净图像域进行建模,则循环框架有望在非成对去雾上获得良好的性能。

然而,我们认为,简单地从非配对图像到图像的翻译方法中继承CycleGAN[52]框架将无法处理非配对图像去雾任务。现有的基于循环的除雾方法忽略了真实雾霾环境的物理特性,即

现实世界的雾霾随密度和深度而变化。如图1 (i)和(iii)-(e)所示,基于cyclegan的方法容易崩溃为合成固定密度的雾霾,并且可能会错误地模拟雾霾效果,例如随着场景深度的增加,雾霾应该更厚。

在本文中,我们提出了一种新的除雾框架D4,即通过将透射图分解为密度和深度来除雾,用于非配对雾霾的合成和去除。在模糊图像形成过程中,我们明确地模拟了目标场景的散射系数β和深度图d(z)。如图1 (ii)所示,在Dehzing-Rehazing分支上,我们的模型被训练为直接从朦胧图像中估计透射图和散射系数。根据公式(1)所表示的物理过程,可以直接导出场景深度和清洁内容。在雾霾-去雾分支上,我们的模型旨在估计输入的干净图像的深度信息,然后合成不同密度即散射系数的雾霾图像。考虑到“空间变化的雾霾厚度为感知场景深度提供了额外的线索”这一事实,从雾霾图像中估计的深度图充当了干净图像深度的伪地面真实图像。同样,在雾化-去雾化分支中,雾化步骤中随机采样的散射系数β作为去雾化步骤中预测密度的伪真值。

最后,使用我们新颖的非配对除雾框架,我们可以(i)从干净图像中估计深度图(图1 (g));(ii)合成不同密度的逼真朦胧图像(数据增强)(图1 (h),(i));(iii)与最先进的无配对除雾方法相比,具有更少的参数和FLOPs,实现了更好的除雾性能。

图1所示。说明(i)以前基于cyclegan的除雾方法,(ii)我们提出的方法,(iii)结果比较。与RefineDNet[51]相比,我们的方法可以更好地去除雾霾。基于cyclegan的方法只能对特定的干净图像生成密度固定的雾霾,并且生成的雾霾与深度不一致。

总体而言,我们的贡献可以总结如下:

(1)我们提出了一个新的非配对去雾框架,该框架明确地模拟了散射系数(即密度)和深度的朦胧场景的深度图。提出的基于物理的框架在很大程度上缓解了现有非配对除雾方法存在的不适定问题。

(2)受到直觉的启发:“空间变化的雾霾厚度反映场景深度”,我们的模型学习从雾霾图像中预测深度信息。然后,只使用未配对的模糊图像和干净图像,训练我们的模型来预测干净图像的深度信息。

  (3)在估计场景深度的情况下,我们的模型可以通过改变散射系数来生成不同厚度的朦胧图像。这种特性作为一种自我论证策略,可以更好地训练除雾网络。

(4)在合成和真实图像上进行了广泛的实验,以揭示我们设计的有效性。所提出的D^4框架在泛化能力上明显优于其他核心方法。

非配对去雾方法从非配对的干净图像和模糊图像中学习去雾映射。除了一些方法[47,51]试图在GAN的监督下从模糊图像中分离出干净的成分外,大多数不配对的去雾方法都是基于CycleGAN的其他具体设计。例如,CDNet[8]在CycleGAN中引入了光学模型。[50]采用双鉴别器稳定循环训练。CycleDehaze[9]应用拉普拉斯金字塔网络处理高分辨率图像,并提出周期感知损失,以更好地保持结构。[26]在CycleGAN的每个分支中使用两阶段映射策略来提高除雾效果。然而,这些方法在生成朦胧图像时往往忽略了深度信息和密度的变化。这些因素的缺失会导致不现实的雾霾产生,进而影响除霾性能。为了解决这些问题,在我们提出的D^4框架中,我们重点研究了模糊和干净图像中包含的深度信息散射系数。

CycleGAN[52]是一种被广泛采用的非配对图像到图像翻译框架。一方面,利用GAN损失来强制图像在两个域之间转换。另一方面,循环重构损耗可以很好地保持内容的一致性。对于图像去雾,基于cyclegan的方法[8,9,26]通常包含一个去雾网络和一个复雾网络,用于预测干净图像和模糊图像[9]。在这里,我们认为这种做法可能是有问题的。在这些方法中,深度和密度这两个关键属性被忽略了。因此,生成的雾霾通常缺乏真实感和多样性,这进一步影响了除雾网络的学习。为了解决这些问题,我们提出了一种新的非配对除雾框架,称为D^4(通过将传输图分解为密度和深度来除雾)。总体框架和培训程序详细如下。

模型构建:

给定一个干净图像集和一个模糊图像集其中N1和N2代表两个集合的基数。与合成模糊-清洁图像数据集不同,两组数据集之间不存在配对信息。如图2所示,我们的D4框架由三个网络组成:除雾网络GD、深度估计网络GE和细化网络GR。

对除雾网络GD进行训练,估计雾图像H的透射图t和散射系数β,可表示为:

根据大气散射模型,由估计的透射率 t和散射系数β可计算出朦胧图像的深度图d:

 深度估计网络GE的目的是从一张干净的图像C中估计深度d,其表示为

 请注意,我们的深度估计网络GE与其他单图像深度估计网络具有相同的功能[19,33],但我们在训练过程中没有使用任何来自现有深度估计器的预训练权值或地面真值深度监督。在我们的D4框架中,网络GE是使用来自除雾网络GD的伪监督来训练的,更多细节将在3.3节中介绍。

与以往基于cyclegan的方法直接从输入的干净图像合成模糊图像不同,本文提出的D4模型考虑了两种物理性质(密度和深度)。具体来说,我们首先通过结合干净图像,估计其深度和散射系数得到粗糙的假朦胧图像。然后,细化网络GR作为一种图像到图像的转换网络,将粗糙的假模糊图像映射到遵循真实模糊图像分布的模糊图像,即

 换句话说,所提出的细化网络可以看作是执行有条件的模糊图像生成。在给定深度和密度信息的情况下,细化网络的目标是生成视觉上逼真的雾霾图像

在我们提出的D4框架中,除雾网络GD和深度估计网络GE都基于EfficientNet-lite3[43]的结构,精炼网络GR采用UNet[37]的结构。详细的网络架构在我们的补充材料中提供。

  如图2所示,我们的D4的训练包含两个分支:(i) dehazing - rehazing分支和(ii) rehazing - dehazing分支。

图2。我们提出的网络架构是4d。整个网络由除雾—复雾部分和复雾—除勿部分组成。在雾霾的产生中,深度和密度信息都被考虑在内。引入两对伪监督来验证估计深度和散射系数的准确性。

除雾复雾分支

将朦胧图像H输入到除雾网络GD中,可以得到估计的透射图 t、估计的散射系数 β 和计算的深度dH。同时,除雾结果c´可计算为:

其中,A为先验估计的大气光。

对于去雾图像c,深度估计器GE从图像中预测深度dH。然后,我们利用先前估计的散射系数- βH和估计的- dH对去雾图像c -进行复原。具体来说,我们首先推导出一幅含霾形成过程的粗霾图像H´粗:

其中,我们采用最亮的像素作为雾霾产生的大气光A。然后,对粗糙的模糊图像进行细化网络处理,得到最终的复原图像,即:粗糙的模糊图像。

雾化-除雾分支

在这个分支中,我们从集合XC中采样一个干净的图像C。利用深度估计网络GE从图像c中估计深度图- dC,然后从预定义的均匀分布中随机抽取βC。按照与式7相同的物理过程,我们得到变雾霾密度的粗霾图像:

然后通过细化网络GR合成伪霾图像h,再通过去雾网络GD进行处理,预测透射率tC,散射系数βC。最后,我们可以使用Eq. 6中提供的相同计算来重建干净的输入。值得注意的是,在这个分支中,由于βC是从预定义的范围内采样的,因此我们的雾化过程可以看作是对接下来的雾化网络训练的数据增强操作 。

损失函数:

在提出的D4框架中,我们一起训练提出的三个网络来执行除雾和复雾循环。与cyclegan类似,使用循环一致性损失和对抗性训练损失分别对内容一致性和数据分布进行惩罚。不同的是,我们提出了新的伪散射系数监督损失伪深度监督损失,用于从未对的朦胧和干净图像中学习物理性质(密度和深度)

周期一致性损失

要求从一个域传输到另一个域的中间图像应该能够传输回来。在我们的D4框架中,重建的干净图像C和模糊图像H应分别与输入图像C和H一致。我们的D4中的循环一致性损失可以写为:

对抗性学习损失

评估生成的图像是否属于特定领域。换句话说,它惩罚我们去雾化和复原的图像在视觉上应该是真实的,并且遵循与训练集XH和XC中的图像相同的分布。由于LSGAN具有良好的稳定性和视觉质量,我们采用了它[28]。对于除雾网络GD和相应的鉴别器Dc,对抗损失可表示为: 

其中c为来自干净图像集XC的真实干净样本,c^为来自GD的去雾结果,Dc为判断输入图像是否属于干净域的判别器。雾细化网络GR的对抗损失与相应的判别器DH的形式相同

伪散射系数监督损失

对βC(霾-去霾分支中随机采样的霾产生散射系数)和βC^(从生成的霾图像估计的散射系数)之间的差进行惩罚

伪深度监督损失

根据“空间变化的雾霾厚度为感知场景深度提供了额外的线索”的观察,我们采用从雾霾图像H预测的深度图dH作为伪地面真值。然后,我们训练深度估计网络GE从去雾图像c中估计深度图dH^,即。 dH^ = GE(c)。然后定义训练损失

总体而言,深度估计网络GE是由深度损失Ldepth单独优化的。其余模块采用循环损耗、对抗损耗和伪散射系数损耗的加权组合联合优化为:

其中{λcyc、λadv、λscatt为各项均衡的权值。在我们的实验中,经验设置λcyc = 1, λadv = 0.2, λscatt = 1效果良好。}

实验配置数据集。

在这项工作中,我们采用了 RESIDE[23]数据集、I-HAZE[1]数据集和Fattal的数据集[10]来训练和评估我们的模型和其他候选模型的性能。

 RESIDE 数据集[23]是一个被广泛使用的大规模去雾基准数据集,它由以下子集组成:(i) ITS/OTS,其中包含13990/313950张具有ground-truth的室内/室外合成朦胧图像用于训练。(ii) sots室内/室外,其中包括500个室内/室外合成朦胧图像,具有地面真实度用于测试。(iii) RTTS和URHI,两者都包含4000多张真实的朦胧图像,没有真实的干净图像。I-HAZE[1]数据集包含35对有雾和无雾的室内图像。本数据集中的雾霾是由专业的雾霾发生器产生的。Fattal的数据集[10]包括31张真实的没有地面真实的朦胧图像,它被广泛用于视觉比较。

竞争对手&参数。我们将我们的方法与几种最先进的除雾算法进行了比较。其中,也有使用配对数据进行训练的方法,包括EPDN[32]、HardGAN[6]、FFANet[31]、DADehaze[39]、PSD[5]等。而其他方法则不使用配对数据进行训练,包括DCP[14]、CycleGAN[52]、CycleDehaze[9]、DisentGAN[47]、YOLY[20]和RefineDNet[51]。采用PSNR、SSIM[44]和CIEDE2000(简称CIEDE)[40]等指标对性能进行定量评价。

实现细节。在训练阶段,我们使用[16]中提出的鉴别器,patch大小为30 × 30。使用β1 = 0.9, β2 = 0.999,学习率lr = 10−4,batch size为2的Adam optimizer[18]对网络进行优化。所有的训练样本都被调整为256 × 256,其中一半是水平翻转的数据增强。对于室外和I-HAZE数据集,我们采用[14]中的方法估算大气光。而对于合成室内场景,最亮的像素被视为大气光

结果分析:

 图3。SOTS-indoor、SOTS-outdoor和I-HAZE数据集样本去霾效果的视觉对比。FFANet仅在第一种和第二种情况下表现良好。PSD、YOLY和CycleDehaze的结果都是模糊的。RefineDNet的第一、第二和第四种情况是模糊的,第三种情况是过度模糊的。我们的方法在所有情况下都能很好地除雾。

表1。SOTS-indoor、SOTS-outdoor和I-HAZE数据集的定量比较结果。PSNR、SSIM越高,CIEDE2000、Params、FLOPs越低,效果越好。成对和W/o成对表示使用或不使用成对数据进行训练的方法。由于DCP不是基于DNN的,而YOLY需要对单幅图像进行迭代处理,所以DCP的参数和YOLY、DCP的FLOPS无法获得。最好的、第二好的和第三好的结果分别用粗体、下划线和斜体表示。

 

图5。URHI数据集上的两张真实雾霾图像的比较。HardGAN和DADehaze都会在结果上留下可观察到的阴霾。 

雾霾原图

作者跑的

我跑的

结论

本文提出了一种自增强的非配对图像去雾框架D4,该框架将透射图的估计分解为预测密度图深度图。利用估计的深度,我们的方法能够重新渲染不同密度的模糊图像作为自增强,大大提高了去雾性能。大量的实验已经验证了我们的方法比其他最先进的除雾方法明显的优点。然而,我们的方法也存在一定的局限性,即通常会过高估计极亮区域的传输,这将导致深度估计网络对过亮区域的预测深度值偏低。此外,我们发现低质量的训练数据会使训练变得不稳定。但是,我们对物理模型中进一步分解变量的想法可以扩展到其他任务,比如弱光增强,这是积极的。我们希望我们的方法可以创新未来的工作,特别是在低层次视觉任务中的非配对学习。

注释:

(1)

CIEDE2000是一种用于计算色彩差异的公式,它是国际照明委员会(Commission Internationale de l'Eclairage,简称CIE)在2000年发布的。CIEDE2000全称是“CIE 2000 Color Difference Formula”,是CIE推荐的用于计算色彩在视觉感知上的差异的一种方法。

CIEDE2000基于人类视觉感知的特性,旨在提供更准确、更符合人类感知的色彩差异度量。与之前的色彩差异公式相比,CIEDE2000在描述颜色差异时更加准确,并且在不同的色彩空间下都可以适用。

在图像处理、计算机视觉、色彩匹配和色彩比较等领域,CIEDE2000被广泛应用于计算颜色之间的差异。它常用于评估图像中不同颜色的相似度或用于颜色匹配任务。

CIEDE2000的计算公式相对复杂,涉及到多个步骤和参数,因此在实际使用时,通常借助计算机软件或库来进行计算。常见的色彩管理软件和图像处理库都支持CIEDE2000,因此可以很方便地在这些工具中使用它来计算色彩差异。

(2)

"Params"(参数)是“parameters”的缩写,它是指在某个系统、模型、函数或算法中,用于定义其行为和特性的可调整的值。这些值会直接影响系统或模型的输出结果或行为。

在不同的上下文中,"params"可能指代不同的内容:

1. **机器学习模型参数:** 在机器学习中,模型参数是用来调整模型的权重和偏差,以便使其最优化地适应训练数据。模型参数通常通过训练算法和优化过程来确定,从而使得模型能够更好地拟合数据和进行预测。

2. **深度学习模型权重:** 在深度学习中,神经网络的权重是模型的关键参数,用来连接神经元并传递信号。这些权重需要通过反向传播算法和梯度下降等优化方法进行学习和调整,以便使得神经网络能够学习到数据的特征和模式。

3. **函数或算法的参数:** 在计算机编程中,函数或算法通常有一些输入参数,用于调整其行为或影响其输出结果。这些参数在调用函数或执行算法时,可以由用户传递给函数或算法,从而控制其行为和输出。

4. **系统配置参数:** 在软件开发和系统设计中,有时会定义一些配置参数,用于控制系统的不同方面,如性能、行为、外观等。这些配置参数通常可以在系统配置文件中进行调整。

总的来说,“params”是一个广义的概念,指代可以调整或传递给某个系统、模型、函数或算法的值,以影响其行为和结果。根据具体的上下文,"params"可能有不同的含义和用法。

(3)

FLOPs是"Floating Point Operations per Second"(每秒浮点运算次数)的缩写,它是衡量计算设备(如CPU、GPU、TPU等)或计算模型(如神经网络)性能的一个指标。

FLOPs用于度量计算设备或模型在执行浮点运算(包括加法、减法、乘法、除法等)时的速度。由于在计算机科学和人工智能领域中,大量的浮点运算是必不可少的,因此FLOPs成为了衡量性能的重要指标之一。

在计算设备中,FLOPs表示计算设备每秒可以执行的浮点运算的数量。对于计算模型(如神经网络),FLOPs表示模型在进行推理(inference)时,每秒所执行的浮点运算次数。FLOPs值越高,表示设备或模型的计算性能越强。

在实际应用中,了解设备或模型的FLOPs可以帮助我们评估其计算性能,以便选择合适的设备或模型来满足我们的需求。在深度学习中,FLOPs常用于衡量神经网络模型的计算复杂度,这对于在硬件资源受限的环境中选择适合的模型非常有用。

(4)

在图像去雾中,学习率(Learning Rate)是深度学习训练过程中的一个超参数,用于控制模型参数在每次迭代中更新的步幅大小。学习率的选择对于训练的效率和效果非常重要。

在图像去雾任务中,我们通常使用梯度下降法或其变种(如Adam、RMSprop等)来优化模型参数,以使损失函数最小化。梯度下降法通过计算损失函数关于模型参数的梯度,并在每次迭代中更新参数,从而逐步优化模型。

学习率控制了参数更新的步幅。如果学习率过小,参数更新的步幅较小,收敛速度可能会很慢,需要更多的迭代次数才能达到较好的效果。而学习率过大,则可能导致参数更新过大,错过损失函数的最优值,甚至发散,使训练不稳定。

因此,选择合适的学习率是很重要的。常见的做法是先使用一个较大的学习率进行初始训练,然后逐渐降低学习率,以保证训练在开始时快速收敛,然后逐渐稳定在较优的解附近。这个过程中,可以根据训练的损失曲线来观察模型的训练情况,如果损失发散或者长时间不收敛,可以调整学习率的大小。

学习率是一个需要手动调整的超参数,通常需要根据具体问题和模型的复杂程度来选择。有时也可以使用学习率调度策略,如学习率衰减(learning rate decay)或学习率预热(learning rate warm-up),来自动调整学习率,以在训练过程中获得更好的结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值