首页
学习
活动
专区
工具
TVP
发布

CANDY

作者头像
狼啸风云
修改2022-09-02 11:45:51
4480
修改2022-09-02 11:45:51
举报

1、摘要

单幅图像去雾是一个具有挑战性的不适定问题。文献中现有的去雾方法,包括最近引入的深度学习方法,将去雾问题建模为估计中间参数的问题,场景透射图和大气光。这些用于根据模糊输入图像计算无模糊图像。这种方法只关注中间参数的精确估计,而优化框架中没有考虑无霾图像的美学质量。因此,中间参数估计中的误差经常导致产生低质量的无霾图像。在本文中,我们提出了CANDY(基于条件敌对网络的模糊图像去雾),这是一个完全端到端的模型,它直接从模糊的输入图像生成一个干净的无模糊图像。CANDY还将无雾霾图像的视觉质量纳入优化函数;从而产生高质量的无雾度图像。这是文献中第一个提出用于单一图像去雾的完全端到端模型的作品之一。此外,这是第一个工作,以探索概念的生成敌对网络的问题,单一图像霾清除。CANDY在合成创建的雾霾图像数据集上进行训练,而评估是在具有挑战性的合成和真实雾霾图像数据集上进行的。CANDY的广泛评估和比较结果表明,它在定量和定性方面都明显优于文献中现有的最先进的去雾方法。

2、方法

在恶劣天气条件下拍摄的图像,如雾、薄雾或霾,存在能见度有限、对比度差、颜色褪色和清晰度下降的问题。这些伪影不仅显著降低了捕获图像的美感,还遮挡了显著区域。在存在雾霾粒子的情况下,摄像机从场景点接收到的原始辐照度沿视线衰减;这与大气光的散射结合在一起产生了一个模糊的图像[1]。Koschmieder [2]将这一物理现象表述如下:

I(x)=J(x) t(x)+\alpha(1-t(x))

这里,I(x)是观察到的朦胧图像,J(x)是实际场景辐照度,t(x)是场景透射图,α是大气光,x表示单个像素位置。图像每个像素的效果程度取决于相机对应场景点的深度。衰减现象导致原始场景点辐照度随着深度的增加而降低,而大气光分量随着深度的增加而增加,导致空间变化的退化。场景传输函数的公式如下:

t(x)=e^{-\beta d(x)}

在所有现有的去雾方法中,一个常见且重要的步骤是估计中间场景透射图(t(x))和大气光分量(α)。然后,估算的场景透射和大气光被代入方程。(1)获得原始无霾图像J(x)。场景透射和大气光分量是独立估计的,这些中间参数的联合最优估计不是由任何现有的工作来执行的。大气光分量通常使用特定的经验规则从估计的透射图中计算,并且被假设为全局常数。现有方法采用的这种方法的固有缺点如下: 现有方法无法将生成的无雾霾图像的视觉质量纳入优化框架。这些方法更侧重于准确估计中间参数。 由于现有方法仅关注场景透射率和大气光线的估计,这些中间参数估计的不准确性通常会导致错误或劣质的雾霾去除。

在本文中,我们解决了现有去雾方法的上述局限性。我们提出了基于CANDY条件敌对网络的模糊图像去雾,这是一个完全端到端的模型,它直接从模糊输入图像中生成无模糊图像。所提出的模型还将生成的无雾霾图像的视觉质量考虑到优化函数中。CANDY是一个完全端到端的系统,它学习从模糊的输入图像中直接生成高质量的无模糊图像(见图1)。

2、相关工作

文献中现有的去雾方法可大致分为以下三类:

A. Multiple image based:

这些方法使用在不同天气或偏振条件下拍摄的多幅图像[1],[3]。Schaul等人[4]使用场景的附加近红外图像来执行去雾。这些方法的问题是,由于额外的硬件要求,它们的实际适用性有限。还有,静态场景的假设太强,在真实场景中不成立。

B. Single image based:

早期的方法,如[5],依赖于用户提供的关于场景结构的信息。Fattal [6]使用基于独立分量分析的方法来估计场景传输。谭[7]提出了一种基于局部对比度最大化的方法。何等人[8]提出了著名的基于暗通道先验的去雾方法。Tarel和Hautire [9]在[6]–[8]中通过引入中值滤波器的中值解决了计算时间长的问题。孟等人[10]对传输函数施加了边界约束,以处理深度不连续性。Sulami等人[11]侧重于从场景透射率恒定的小图像块中估计大气光矢量。唐等人对不同的霾相关特征进行了有趣的研究。伯曼等人[13]提出了一种非局部先验的去雾方法,他们称之为雾线。Ancuti等人[14]利用NYU深度数据集[15]进行了一项评估研究,发现没有一种方法能够产生没有明显伪影的高质量无霾图像。

C. Deep learning based:

任等人[16]提出了一种多尺度卷积神经网络模型来估计场景传输图,蔡等人[17]提出了另一种这样的模型称为DehazeNet。李等人最近完成的一项工作[18]与我们有着相同的动机,并提出了一个完全端到端的深度学习模型,用于去除单个图像的模糊,称为AOD-Net.。然而,作者没有探索对抗性训练。在这项工作中,除了对抗训练,我们还实验了不同类型的损失函数。

以下是这项工作的主要贡献: 文献中最早提出单图像去雾问题的端到端模型的工作之一。所提出的CANDY模型直接从模糊的输入图像中生成干净的无模糊图像。 第一项工作是探索单幅图像去雾问题的生成对抗网络。 我们结合不同类型的损失函数进行实验,包括最近引入的特征重建损失[19],以克服训练GAN和提高生成的无霾图像质量的挑战。 CANDY在具有挑战性的合成和真实雾霾图像数据集上的广泛评估和比较表明,它明显优于文献[8]–[ 11],[13],[16]–[ 18]中现有的最先进方法。

3、模型结构

在这项工作中,我们将单幅图像去雾问题表述为从退化的雾霾输入图像生成高质量无雾霾图像的问题。我们提出了一种新的深度条件生成对抗网络体系结构,它由两个模块组成,即,生成器(G)和鉴别器(D),它们的共同努力导致从退化的模糊输入图像生成高质量的无模糊图像。GANs最早是由Goodfellow等人提出的,Mirza和Osindero后来提出了条件生成对抗网络中的GANs。在此之后,CGANs及其变体已经成功地应用于各种图像生成和变换问题。简而言之,GANs是学习从随机噪声向量z到输出图像y的映射的生成模型。相比之下,GANs学习从输入图像x和随机噪声向量z到输出图像y的映射。生成器网络G被训练成生成与对抗的真实图像不可区分的输出图像,称为鉴别器网络D。D被训练成正确区分真实图像和由G合成的伪图像。数学上,GANs的目标函数可以表示为:

\begin{array}{l} L_{C G A N}(G, D)=E_{x, y \sim p_{\text {data }}(x, y)}[\log D(x, y)] \\ +E_{x \sim p_{\text {data }}(x), z \sim p_{z}(z)}[\log (1-D(x, G(x, z)))] \end{array}

在这里,G试图将这个目标函数最小化,而D则试图将其最大化。从数学上讲,CGANs的训练目标是:

\arg \min _{G} \max _{D} L_{C G A N}(G, D)

基于Radford等人的实验结果,设计了所提出的CANDY模型的发生器和鉴别器网络。模型架构将在下面的小节中详细解释。

A、生成器

提出的生成器网络(见图2)是一个全卷积网络。它包括六个卷积层,随后是六个卷积层,最后是一个Tanh输出层。每个卷积层后面都有一个BatchNorm和PReLU,除了第一个卷积层没有应用BatchNorm。每个去卷积层之后是一个批量归一化和ReLU激活层。该设计本质上是对称的,卷积层充当编码器(特征提取),而去卷积层充当解码器(图像恢复)。这一设计特征的灵感来源于这样一个事实,即反卷积层已被证明在恢复更精细的图像细节方面更好。每个卷积和反卷积层使用大小为3×3的滤波器,并生成64个特征图。通过将步幅和零填充长度设置为1,特征图的大小与输入图像的大小保持一致。不执行下采样,因为它会导致图像中重要特征的丢失。除了我们的生成器网络中现有的设计特征之外,在每两个卷积层之后,将挑层连接添加到它们相应的卷积层,以解决梯度消失的问题;卷积层的特征图按元素求和,得到反卷积层特征图。跳过连接的另一个好处是,它们将图像细节从卷积层直接传递到反卷积层;因此,促进了更精细图像细节的恢复。

B、鉴别器网络

所提出的鉴别器网络(见图2)包含七个卷积层的堆叠,其中每个卷积层(除了第一个)之后是batch-normalization和LeakyReLU,其中λ(泄漏系数)设置为0:2。鉴别器网络的输入是一对沿通道轴连接的图像。输入图像对有两种类型:

  1. 真实匹配(正样本):有雾图像和真实无雾图像。
  2. 合成对(负样本):G合成的有雾图像和无雾图像。

鉴别器网络中的最后一层是sigmoid层,它输出输入图像对为真(1)或假(0)的概率。鉴别器网络交替地输入正样本对和负样本对。这样,鉴别器网络学会区分真实的无图像(ground truth)和由生成器网络生成的合成无雾图像。鉴别器的输出构成对抗损失,用于训练生成器。鉴别器中使用的内核大小为3×3,步长为2。

4、目标函数

在提出的CANDY模型中,我们没有将噪声矢量z和输入图像一起输入到生成器,因为已经发现CGANs忽略了z。因此,建议的CANDY模型的稍微修改的目标函数可以表述如下:

\begin{array}{r} L_{C A N D Y}(G, D)=E_{x, y \sim p_{\text {data }}(x, y)}[\log D(x, y)] \\ +E_{x \sim p_{\text {data }}(x)}[\log (1-D(x, G(x)))] \end{array}

在这里,符号的含义与等式(3)中的相同。GANs训练非常不稳定,生成的图像经常包含伪像。因此,除了对抗性损失之外,我们还提出并试验了不同类型损失函数的组合,这将在下面讨论。

A. Content Loss

传统的Content loss函数包括L1和L2距离。Content loss促使生成器最小化生成的图像和真实图像之间的像素级差异。然而,由于平方项,L2损失强制执行强惩罚,因此容易模糊。因此,我们还试验了一种更平滑的L1损耗(Ls1),它的惩罚较少,定义如下:

L_{s 1}(y, G(x))=\left\{\begin{array}{ll} 0.5 d^{2}, & \|d\|_{1}<1 \\ \|d\|_{1}-0.5, & \text { otherwise } \end{array}\right.

这里,\|\|_{1} 表示标准L1范数。

B. Feature Reconstruction Loss

Johnson等人观察到,除了使用content loss来激励像素级相似性之外,通过卷积网络来最小化它们的高级特征表示之间的差异也是有益的。他们将这种损失称为特征重建损失,并发现它显著提高了输出图像质量。设\phi_{i}(x) 表示卷积神经网络φ的第i层的激活(特征映射),因此,我们的特征构造损失定义如下:

L_{\text {feature }}(y, G(x))=\left\|\phi_{i}(y)-\phi_{i}(G(x))\right\|_{2}

这里,\|\quad\|_{2} 表示标准L2范数。我们使用预先训练的VGG网络模型来计算ground truth图像和生成的无雾像之间的特征重建损失。通过将i的值设置为9 (relu2 2)、16 (relu3 3)和23 (relu4 3)之一,我们对不同层的VGG网进行了特征重构损失的实验。

C. Final Loss Function

通过优化框架在训练期间最小化的所提出模型的最终损失函数L由等式(4)、(6)和(7)中描述的损失组成。

\begin{array}{r} L=\arg \min _{G} \max _{D} L_{C A N D Y}(G, D) \\ +L_{2}(y, G(x))+L_{s 1}(y, G(x))+L_{\text {feature }}(y, G(x)) \end{array}

不同类型损失的权重是使用验证数据集根据经验确定的。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-05-27 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、摘要
  • 2、方法
  • 2、相关工作
    • A. Multiple image based:
      • B. Single image based:
        • C. Deep learning based:
        • 3、模型结构
          • A、生成器
            • B、鉴别器网络
            • 4、目标函数
              • A. Content Loss
                • B. Feature Reconstruction Loss
                  • C. Final Loss Function
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档