AOD-Net: All-in-One Dehazing Network
前言
该论文提出了一种基于卷积神经网络(CNN)的图像去雾模型,称为 All-in-One 去雾网络(AOD-Net)。该模型基于重构的大气散射模型进行设计,不像以往的模型那样分别估计透射矩阵和大气光,而是通过轻量级的 CNN 直接生成干净图像 。这种新颖的端到端设计使 AOD-Net 易于嵌入到其他深度模型中,例如 Faster R-CNN,从而提升雾霾图像上的高层次任务性能。实验结果表明,在合成和真实雾霾图像数据集上,AOD-Net 在 PSNR、SSIM 和主观视觉质量方面均优于现有的最先进方法。此外,将 AOD-Net 与 Faster R-CNN 结合后,我们在雾霾图像上的目标检测性能显著提升。
介绍
雾霾的存在会显著降低恶劣天气下拍摄的户外图像的清晰度,影响到目标检测和识别等高层次的计算机视觉任务 。因此,单图像去雾成为一种非常实用的技术。尽管从单张图像中估计多个物理参数具有挑战性,许多近期的研究已在这一目标上取得显著进展。除了估计全局的大气光强度,去雾的关键在于恢复传输矩阵,为此采用了多种统计假设和复杂模型 。然而,这些估计往往并不准确 ,一些常用的预处理方法(如引导滤波和软抠图)可能会扭曲雾霾图像生成过程,导致恢复性能不佳。此外,传输矩阵和大气光这两个关键参数的非联合估计,可能在应用时放大误差。
本文提出了一种高效的端到端去雾卷积神经网络(CNN)模型 ,称为 All-in-One 去雾网络(AOD-Net) 。尽管一些早期的去雾模型提出了"端到端"的概念,我们认为 AOD-Net 的主要创新在于,它是第一个从雾霾图像到清晰图像进行优化的真正端到端模型,而不是停留在中间的参数估计阶段。AOD-Net 基于重新构造的大气散射模型进行设计,使用合成的雾霾图像进行训练,并在合成和真实自然图像上进行测试。实验结果表明,AOD-Net 在 PSNR 和 SSIM 指标上优于多种现有的先进方法(Figure 1),并在视觉质量上表现出色(Figure 2)。作为轻量化模型,AOD-Net 处理 480 × 640 图像的时间仅需 0.026 秒,具有极快的处理速度。此外,AOD-Net 是第一个探索去雾模型如何帮助后续高层次视觉任务的模型 。**由于其端到端的结构,AOD-Net 能轻松嵌入 Faster R-CNN,并大幅提升雾霾图像的目标检测性能。
**
相关工作
物理模型
大气散射模型是模糊图像生成过程的经典描述
传统方法
在去雾技术中,有多种方法致力于解决单图像去雾问题。具体而言,[23] 通过最大化局部对比度来处理雾霾去除问题。[6] 提出了一种基于物理的去雾方法,通过估算场景的反照率(albedo)来进行去雾。[8, 24] 则发现了有效的暗通道先验 (Dark Channel Prior, DCP),这使得传输矩阵的计算更加可靠。[12] 进一步引入边界约束和上下文正则化,以获得更清晰的去雾图像。[22] 提出了一个加速的自动恢复大气光强度的方法。[32] 开发了颜色衰减先验,并为雾霾图像建立了一个场景深度的线性模型,然后以监督方式学习模型参数。
深度学习方法
卷积神经网络(CNN)在计算机视觉任务中取得了广泛的成功,最近也被应用于去雾问题中。例如,[17] 提出了一种多尺度CNN (MSCNN) 模型,该模型首先生成一个粗略的传输矩阵,然后进行精细化处理。[3] 提出的 DehazeNet 是一种可训练的端到端模型,用于估计中间传输,通过雾霾图像作为输入,输出其传输矩阵。结合通过经验规则估算的大气光强度,基于大气散射模型可以恢复去雾图像。
上述方法的共同点在于,去雾的关键在于准确估算传输矩阵,同时独立计算大气光,然后利用这些参数恢复清晰图像 。然而,这种方法尽管直观且具有物理依据,却没有直接对图像的重建失真进行度量或最小化,因此难以避免图像恢复质量的次优表现。分步估算的误差会在每一步累积,可能相互放大,导致图像恢复效果欠佳。
与之相对,AOD-Net 建立在一种不同的信念之上,即物理模型可以通过"更端到端"的方式进行建模,将所有参数统一在一个模型中估算 。AOD-Net 不需要中间步骤来估算参数,而是直接输出去雾后的清晰图像 。不同于 [3] 仅从雾霾图像到传输矩阵的端到端学习,AOD-Net 的完全端到端设计直接缩小了雾霾图像与清晰图像之间的最终目标差距。
建模与扩展
在本节中,解释了所提出的 AOD-Net。 我们首先介绍转换后的大气散射模型,AOD-Net 是基于该模型设计的 。 然后详细描述AOD-Net的结构。 此外,由于其端到端设计,我们通过将所提出的模型直接嵌入到其他现有的深度模型中,讨论了将其扩展到模糊图像上的高级任务。
变换后的公式
根据公式 (1) 中的大气散射模型,得到的清晰图像为:
网络设计
所提出的 AOD-Net 由两个部分 组成(见图 4):一个使用五个卷积层来估计K(x) 的 K -估计模块 ,接着是一个清晰图像生成模块,该模块由逐元素相乘层和若干逐元素相加层组成,通过计算公式 (4) 生成复原图像。
K-估计模块是 AOD-Net 的关键组件,负责估计深度和相对雾度水平。如图 4(b) 所示,我们使用五个卷积层 ,通过融合不同大小的滤波器来形成多尺度特征 。[3] 采用了不同滤波器尺寸的并行卷积,[17] 则将粗尺度网络的特征与精细尺度网络的中间层相连接。受到这些方法的启发,AOD-Net 的"concat1"层连接了"conv1"和"conv2"层的特征。"concat2"同样连接"conv2"和"conv3"层的特征;"concat3"则连接"conv1"、"conv2"、"conv3"和"conv4"层的特征。这样的多尺度设计捕捉了不同尺度的特征,中间层的连接也弥补了卷积过程中信息的损失。
作为验证连接的简单基线方法,我们在 TestSetA(见第 4 节)上尝试了不使用连接的结构,即"conv1" → "conv2" → "conv3" → "conv4" → "conv5"。得到的平均 PSNR 为 19.0674 dB,SSIM 为 0.7707,两者均低于表 1 中的当前结果(尤其是 SSIM 的大幅下降)。值得注意的是,AOD-Net 的每个卷积层仅使用三个滤波器,因此与 [3] 和 [17] 等现有的深度方法相比,我们的模型更加轻量。
与高级特征任务相结合
高级计算机视觉任务(如目标检测和识别)关注视觉语义,并已受到广泛关注 [16, 30]。然而,这些算法的性能通常受到多种降质因素的影响 。传统方法首先通过单独的图像复原步骤作为预处理,再输入目标的高级任务中 。近期,[27, 4] 证明了复原与识别步骤的联合优化能优于传统的两阶段方法。
先前的研究 [31] 已探讨了噪声、模糊和低分辨率等常见降质的影响及其补救方法。然而,据我们所知,目前还没有类似的研究定量地分析雾霾对高级视觉任务的影响及其缓解方法。当前的去雾模型主要关注复原质量,而我们迈出了实现这一重要目标的第一步。由于其独特的端到端设计,AOD-Net 可以无缝嵌入其他深度模型中,形成一个能够在雾霾图像上执行高级任务的管道,并在其中隐式地进行去雾处理。这种管道可以端到端地联合优化,以提升性能,而如果将 AOD-Net 替换为其他深度去雾模型 [3, 17],这种优化将无法实现。
除雾评价
数据集和实现
我们通过公式 (1) 生成合成的雾霾图像,使用来自 NYU2 Depth Database [21] 的带有深度元数据的真实清晰图像。我们设定不同的大气光 A ,每个通道在 [0.6, 1.0] 范围内均匀选取,并选择 β ∈{0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6}
对于 NYU2 数据库,我们选取了 27,256 张图像作为训练集,3,170 张图像作为不重叠的测试集 TestSet A。我们还使用了 Middlebury 立体数据库 [19, 18, 9] 中的 800 张全尺寸合成图像作为测试集 TestSet B。此外,我们还收集了一组自然雾霾图像来评估我们模型的泛化性能。
在训练过程中,模型的权重通过高斯随机变量进行初始化。我们使用 ReLU 神经元,因为在我们的特定设置中发现其效果优于文献 [3] 中提出的 BReLU 神经元。动量参数和衰减参数分别设置为 0.9 和 0.0001。我们采用简单的均方误差(MSE)损失函数,发现它不仅提升了 PSNR,还提高了 SSIM 和视觉质量。
AOD-Net 模型在大约 10 个训练周期后收敛,通常在 10 个周期后表现足够好。我们还发现将梯度裁剪到 [−0.1, 0.1] 范围内有助于限制梯度范数。这一技术在稳定循环神经网络训练中非常流行 [15]。