计算机系统应用  2022, Vol. 31 Issue (2): 191-199   PDF    
基于明暗通道循环GAN网络的单幅图像去雾
陈平     
徽商职业学院 电子信息系, 合肥 230022
摘要:针对现有的深度学习去雾算法参数多, 训练时间长, 无法应用到实时计算机视觉系统等问题, 本文提出了一种基于明暗通道的循环GAN网络(bright and dark channel CycleGAN network, BDCCN). BDCCN以CycleGAN为基础, 采用固定参数和训练参数相结合方式, 基于明暗通道先验理论, 改进循环感知损失, 实现图像去雾. 实验结果表明, 本文算法计算量小, 收敛快, 在合成数据集和真实数据集上均表现优异.
关键词: 图像去雾    循环GAN    明暗通道先验理论    感知损失    
Single Image Defogging Based on Bright and Dark Channel CycleGAN Network
CHEN Ping     
Department of Electronic Information, Huishang Vocational College, Hefei 230022, China
Abstract: To address the problems of the existing deep-learning defogging algorithm such as the various parameters, long training time, and inability to apply to real-time computer vision systems, this study proposes a bright and dark channel CycleGAN network (BDCCN). BDCCN, based on the CycleGAN, improves the cyclic perceptual loss and achieves image defogging by combining the fixed parameters with training parameters and drawing on the priori theory of bright and dark channels. The experimental results show that the algorithm proposed in this paper, with a small amount of calculation and a fast convergence rate, performs well on both synthetic data sets and real data sets.
Key words: image defogging     CycleGAN     priori theory of bright and dark channels     perceptual loss    

1 引言

在计算机视觉领域中, 高质量的图像对目标检测和图像识别等计算机视觉任务起着重要的作用. 然而, 在实际环境中, 图像的质量经常会受到空气中悬浮物(雾霾、灰尘等)的影响, 这些悬浮物遮挡了背景信息, 使图像变得模糊. 因此, 如何得到清晰的无雾图像已成为计算机视觉的研究热点.

为了消除空气中雾霾对于图像质量的影响, 几十年来, 研究人员对此不懈努力, 现有的去雾方法大致可分为3类: 第1种方法是图像增强算法. 主要基于信号处理原理, 如直方图均衡化、同态滤波、对比度增强、多尺度Retinex等[1]. 但是图像增强方法可能会导致一些关键信息在处理过程中丢失, 因此应用范围相对较窄[2]; 第2种方法是基于大气散射模型的物理模型算法. 根据估计景深的不同, 将其进一步分为基于场景深度信息的三维建模方法[3], 图像去噪先验理论方法以及深度学习方法[4]. 通过深度学习方法估计大气散射模型参数的去雾效果非常好, 可是由于无法获得比较大的标准数据集, 它仅限于实验室环境, 无法大规模推广[5]. 第3种方法是基于CycleGAN的图像风格转换去雾方法[6], CycleGAN可以实现无配对训练数据的模型训练, 解决了数据集的问题, 具有很强的现实意义[7]. 然而, 由于去雾效果相对一般, 不能满足人们的期望, 去雾能力有待进一步提高. 所以到目前为止, 还没有一种算法不仅拥有良好的去雾性能, 而且具备较强的实用性.

为了解决这一问题, 本文提出了一种基于明暗通道的循环GAN网络(bright and dark channel CycleGAN network, BDCCN)算法, 以CycleGAN为基本框架, 采用固定参数和训练参数相结合方式, 基于明暗通道先验理论, 改进循环感知损失, 利用网络完成无配对训练数据的模型训练, 增强了CycleGAN网络对雾霾的敏感性. 除此之外, 本文基于CycleGAN网络中引用感知损失思想的经验, 在训练中增加了改进的循环感知损失, 约束了网络的训练方向, 增强了去雾效果.

总的来说, 本文的工作主要是在以下两点:

(1)首次将明暗通道先验理论引入到以CycleGAN为基本框架的去雾网络中, 通过提高明暗通道的损失函数, 提高了网络对训练过程中雾霾特性的敏感性, 得到了较好的去雾效果.

(2)增加了改进的循环感知损失, 进一步增强了网络的去雾能力. 通过在RESIDE数据集[8]上的实验, 验证了本文网络比CycleGAN具有更好的去雾能力, 恢复的效果更接近于背景图像.

本文的以下章节是: 第2节介绍了与深度学习网络相关的工作; 第3节介绍了BDCCN网络及其改进; 第4节介绍了仿真实验的方法和结果, 并与其他方法进行了比较; 第5节对本文进行了总结.

2 相关工作

单幅图像去雾算法主要分为3类: 基于信号处理原理的图像增强算法、基于大气散射模型的去雾算法和基于CycleGAN的风格转移方法[9]. 其中, 图像增强算法容易出现信息丢失问题, 应用场景经常受到限制; 基于大气散射模型的去雾视觉算法可以细分为三维建模方法, 先验理论方法以及深度学习方法. 虽然三维建模方法的去雾效果不错, 但是该模型的建立成本过大, 应用范围非常有限; 现有的先验理论方法比较简单易用, 但对于图像天空区域的处理能力较差, 处理后的图像容易产生过曝性, 背景信息严重丢失; 基于深度学习[10]的方法可以很好地进行图像的区域分割和景深估计, 但模型的训练需要依赖于大的标准数据集, 在实际环境中通常难以获得此类数据集, 导致基于标准数据集训练的方法只能通过模拟数据实现, 实用性差. 基于CycleGAN的风格转移方法解决了数据集依赖问题[11], 但其无监督训练方法的结果使得去雾效果不理想. 目前, 还缺乏一种不依赖于标准数据集且具有理想去雾效果的算法. 本文的研究是基于CycleGAN和大气物理散射模型理论, 因此后文主要介绍基于大气散射模型的主流去雾算法和基于CycleGAN网络的风格转移去雾算法的研究现状.

2.1 基于大气散射模型的去雾方法

基于大气散射模型的去雾方法通过建立大气散射模型, 研究模糊图像的物理机制, 可以得到悬浮颗粒对大气光的散射效应及其对图像的影响, 从而得出更加真实的无雾图像. 该模型主要受2个参数(大气光值和大气透射率)影响, 大气透射率与景深成正比, 因此, 基于大气散射模型的去雾算法主要通过各种方法估计景深和大气成分参数. 估计参数的方法有3种: 三维建模方法、先验理论方法和深度学习方法. 三维建模方法可以直接读取三维模型参数, 但是其实用性并不高, 本文主要介绍后两种方法.

1) 基于先验理论的去雾方法

Fattal[12]提出了采用独立元素分析估计恒定矢量的反反射率, 并假设透射率与局部物体表面的色度不相关, 推导出新的透射率图. Ancuti等[13]提出了一种通过分析原始图像和半逆图的色调差异来估计雾霾密度的方法. Tarel等[14]假设大气损失函数在一定的区域内近似于一个最大值, 并使用改进的中值滤波来估计透射率. He等[15]提出了暗通道先验理论, 首先找出图像的局部暗通道, 通过大气光值推导透射率, 消除边缘块效应, 最后恢复无雾图像, 暗通道先验理论可以很好地处理非天空区域部分, 但是无法消除图像中的天空区域的浓雾. Meng等[16]在文献[15]的基础上做了进一步工作, 提出通过正则化方法解决图像边缘平滑的问题, 进而提高了图像的分辨率. Fattal[17]最近提出了一种基于马尔科夫随机场(GMRF)原理完善初步传输图的方法, GMRF含有平滑的高斯项, 可以平滑图像中的细节信息. Zhu等[18]最近提出了一个颜色衰减先验模型(CAP)的框架, 该方法认为无雾图像中的饱和度和亮度之差通常接近于零, 且假设场景的深度为饱和度和亮度的线性组合. 与其他算法不同, 该算法的先验理论是全局性的, 从而不必估计大气光值和传输图. 为了消除粗略的透射率在景深中突然变化区域的光晕问题, He等[19]提出了引导滤波算法来提高透射率的优化效率. Gibson等[20]提出了一种基于中值滤波的去雾方法, 有效地避免了图像方法中容易产生伪影的缺点. Berman等[21]提出一种根据图像的RGB值分析有雾图像特征的方法, 该方法认为有雾图像中的RGB值通常分布为RGB空间中的一条线, 线的两端分别是像素的原始辐射值和大气光值. 因此, 可以通过这个属性来估计每个像素的模型参数, 而干净图像的RGB值通常以簇的形式分布在RGB空间中.

一般来说, 基于先验理论的去雾方法主要手段是寻求大气物理散射模型的参数, 这种方法简单有效, 但是并不能应用所有场景[22]. 比如, 在实际应用中, 暗通道先验算法在处理图像中的天空区域或者浓雾区域时会出现严重的过曝现象, 处理后的图像色彩严重失真. 本文利用先验理论知识, 将雾的浓度转化为损失函数来约束CycleGAN网络的训练, 通过CycleGAN网络完成图像的去雾过程, 可以有效利用先验理论的优势, 避免了基于先验的方法泛化能力不强等问题.

2) 基于深度学习的去雾方法

近年来, 研究人员将深度学习方法引入图像去雾领域, 通过CNN网络对输入图像进行特征提取和分析, 估计每个图像的透射率, 然后利用大气散射模型进行图像去噪. Cai等的DehazeNet[23]通过将模糊图像输入到网络中, 得到透射率矩阵, 然后将其带入大气散射模型中, 得到无雾图像. Ren等[24]提出了一种多尺度神经网络去噪雾方法, 用粗尺度估计场景深度, 然后使用精细尺度网络细化网格. Li等的AOD-Net[25]对大气散射模型进行了变形, 用新的参数表示透射率和大气成分, 用简化的U-NET网络直接将模糊的图像转化为无雾图像[26-28].

基于深度学习的去雾算法可以很好地处理场景边界的景深变化, 准确地估计景深, 所以去雾效果较好. 然而, 网络的训练需要依靠成熟的大规模标准数据集, 在现实中建立数据集时, 在同一场景中得到的有雾霾或无雾霾的图像除了具有雾霾特征外, 还受到光照和天气变化的影响, 很难做到单一因素的差异, 所以很难建立标准数据集. 因此, 现有的方法通常使用仿真数据进行网络训练. 虽然这种训练方法在测试集上取得了很好的效果, 但当处理数据集风格变化较大的图像时, 生成的图像的真实性和可信度并不是很可靠, 视觉效果往往不理想.

2.2 基于CycleGAN的去雾方法

近年来, 生成对抗性网络(GAN)[29, 30]的提出为图像去噪的研究提供了一种新的思想, 即GAN网络可以实现不同小数据集之间的数据转换. Zhu等[31]在2017年提出的CycleGAN甚至可以通过未配对的训练数据实现图像风格转换.

CycleGAN由2个镜像对称的GAN网络组成, 并形成环网. 两个GAN共享两个生成器, 分别设一个判别器, 总共有两个判别器和两个生成器. CycleGAN可以将一种类型的图像转换成另一种类型的图像, 并且由于它自身的环形结构, 训练时两种类型的图像可能不存在一一对应关系. 训练数据集不同于传统的标准数据集, 无需对应即可完成训练, 解决了因数据集过少而无法进行网络训练的问题. 但是, 由于网络自身约束相对较弱, 变换后的图像可能存在一些异常, 具有较大的随机性, 效果不是特别理想.

在此基础上, 2018年Engin等[32]的Cycle-Dehaze网络在CycleGAN的基础上增加了拉普拉斯变换, 利用拉普拉斯变换放大图像, 输出图像后得到干净图像. Cycle-Dehaze的循环感知损失是利用VGG16[33]对输入图像和重建图像进行高维特征变换, 然后计算高维向量的方差, 得到另一种循环损失函数. 但只是在周期一致性损失上略有加强的约束, 虽然做了一些改进, 仍存在转换结果出现奇怪现象的问题, 去雾效果仍不理想[34-37].

深度学习方法可以很好地解决图像分割和场景深度估计的问题, 但需要依靠大型标准数据集; 而CycleGAN框架的深度学习方法, 虽然摆脱了对数据集的依赖, 但它与监督法相比, 无监督训练的去雾效果更差. 因此, 本文主要研究如何对CycleGAN网络进行进行优化, 使其得到性能更好的去雾模型. 基于明暗通道的循环GAN网络总体框架如图1所示.

3 本文方法

本文提出的BDCCN网络是在CycleGAN网络的基础上, 结合了明暗通道的损失评估机制, 扩展并增强了网络的去雾功能. 并且为了克服先验方法的缺陷, 本文采用了预先训练好的FC-DenseNet语义分割模型[37]对输入的模糊图像进行分割, 将图像中的天空部分和浓雾部分分离开, 并进行单独处理. 此外, 我们还在生成器损失中加入了明暗通道损失, 使模型在训练过程中更容易向正确的方向收敛. 为了使模型更好地保留图像的细节信息, 本文参考了EnhanceNet, 将改进后的周期损失函数添加到网络中. 本文算法流程如图2.

图 1 明暗通道的循环GAN网络总体框架图

图 2 本文算法流程图

图2所示, 本文提出的BDCCN包含2个完全相同的生成器(生成器A2B, 生成器B2A), 2个相同判别器(判别器A、判别器B). 与传统的生成对抗网络中的损失函数不同, 本文不仅创新性地在生成器中添加明暗通道损失, 还在周期一致性损失中增加了增强型循环感知损失, 可以使网络在完成去雾任务的同时, 保留更多的图像细节信息. 明暗通道损失则在一定程度上定义了图像中的雾浓度, 并且, 为了防止因明暗损失函数造成的图像过暗的现象, 本文提出的周期一致性损失和循环感知损失需要一起工作. 前者起了主导作用, 因此其权重也应大于后者. 除此之外, BDCCN中生成器B2A的作用是生成模糊图像, 所以本文只在生成器A2B中添加了明暗通道损失, 而生成器B2A中依旧使用CycleGAN损失函数.

3.1 明暗通道先验损失

He等[15]的暗通道先验理论(dark channel prior, DCP)将原来由3个通道(RGB)的图像转换为只有一个通道的暗通道图像, 转换过程如式(1)所示. ${J^{\rm{dark}}}(x)$ 是暗通道图像, ${J^{{c}}}(x)$ 为背景图像, $ c $ 表示像素点, 用函数表示的过程是将原图像中每个像素点的3个通道的像素值进行比较, 得到最小值, 形成单通道暗图像. 其公式如式(1).

$ {J^{\rm{dark}}}(x) = \mathop {\min }\limits_{c \in r,g,b} {J^c}(x) $ (1)

根据观察, 没有雾霾的暗图像几乎是全黑的, 暗通道值为0; 在图像中的天空区域或雾霾区域, 暗图像会比较亮, 雾霾浓度越大, 暗图像的亮度越大, 其通道值为1, 本文称为明通道. 所以明暗通道理论(bright and dark channel prior, BDCP)可以在一定程度上描述图像雾霾的密度, 因此根据BDCP理论, 本文将图像转换为明暗通道图像, 然后归一化得到BDCP损失.

根据BDCP理论, 雾霾浓度与BDCP损失呈正相关, 因此BDCP损失可作为评价图像去雾效果的指标. 然而, 由于DCP理论的一个缺陷, 即在图像的天空区域或白色区域, DCP理论将失去有效性. 为了克服这个缺点, 在计算BDCP损失之前, 本文先通过预先训练好的FC-DenseNet语义分割模型识别出天空部分, 然后用[200, 200, 200]作为阈值来分离图像中的白色区域(根据观察, 一般模糊区域不超过[200, 200, 200], 只有当雾的浓度极度密集或原背景接近白色时才会超过这个阈值). 式(2)表示BDCP损失, 首先分别计算输入的模糊图像的暗通道图和亮通道图平均像素值, 然后除以 $ \lambda $ 进行归一化处理. 因为像素的范围是0–255, 所以在训练过程中 $ \lambda $ 被取为255.

$ {L_{\rm{BDCP}}}(G) = \frac{1}{{\rm{\lambda }}}\sum\nolimits_{\rm{sege}}^{\rm{dark}} {(x} ) + \frac{1}{{\rm{\lambda }}}\sum\nolimits_{\rm{sege}}^{\rm{bright}} {(x} ) $ (2)

受Durugkar扩展的GANS多判别器结构的启发,在生成器损失后增加了明暗通道损失, 可以提高模型训练的效果. 损失函数改进为式(3):

$ L(G,F,{D_{\rm{BDCP}}}) = L(G,F) + {\lambda _1}{L_{\rm{BDCP}}}(G) $ (3)

其中, $ L(G,F) $ 为原CycleGAN的生成器损失, ${L_{\rm{BDCP}}}(G)$ 为去雾图像的明暗通道损失, 并且本文为了防止明暗通道损失值过大, 导致图像整体颜色变暗, 加入权重系数 $ {\lambda _1} $ . 在实际训练中, $ {\lambda _1} $ 取为0.1. 由于明暗通道损失更适合约束网络的训练方向, 而我们只关注去雾效率, 所以明暗通道损失只加到去雾方向的生成器损失上, 因此判别器部分仍是原来的损失函数.

3.2 增强循环感知损失

周期一致性损失是通过计算原始图像和恢复后的干净图像之间的L1范数来定义的, 在CycleGAN网络中通常使用周期一致性损失函数以保持映射的唯一性. 但是, 周期一致性损失函数通常只考虑了输入图像与输出图像之间的映射关系, 无法做到清晰地描述图像细节信息, 使其恢复后的无雾图像清晰度低.

针对这种现象, Cycle-Dehaze网络提出循环感知损失约束周期一致性损失, 循环感知损失是利用VGG16提取的图像高维和低维特征向量而进行的MSE计算, 然后描述输入图像与恢复后的无雾图像在高维空间的差异. 然而, 循环感知损失在约束周期一致性损失的同时也约束了自己, 在实验中当网络进行训练时, 生成的图像与原始图像相差甚远. 因此, 本文提出增强型的循环感知损失, 通过将中间生成的图像加入到损失函数计算中来缓解这一现象. 本文提出的增强循环感知损失使用方差的计算方法来描述输入图像和重建图像之间的区别, 同时也限制了生成的图像和输入的图像在高维空间的差距, 使输出后的无雾图像更加清晰. 如果没有这种限制, 在BDCP损失函数的作用下, 会造成去雾过度的现象发生, 影响图像的正常景深. 具体公式为如式(4)所示.

$ \begin{split} {L_{\rm{perceptual}}} =& \left| {\left\| {\phi (x) - \phi (G({{x}}))} \right\|_2^2 - \left\| {\phi (F(G(x))) - \phi (G(x))} \right\|_2^2} \right| \hfill \\ &+ \left| {\left\| {\phi (y) - \phi (F(y))} \right\|_2^2 - \left\| {\phi (G(F(y))) - \phi (F(y))} \right\|_2^2} \right| \hfill \\ \end{split} $ (4)

其中, $\phi $ 代表VGG16提取的第2层和第5层外高维特征向量, 在这两组中, ${{x}} \in X$ , $ y \in Y $ , $ x $ , ${{y}}$ 分别代表输入的有雾图和无雾图, 生成器 $ G $ 代表 $ X \to Y $ , 生成器 $ F $ 代表 $ Y \to X $ . 首先计算输入图像 ${{x}}$ ${{y}}$ 的高维向量 $\phi (x)$ $\phi(y)$ , 然后计算对应生成图像 $ G(x) $ $G({{y}})$ 的高维向量 $\phi (G(x))$ $\phi (F(y))$ , 再计算高维向量之间的L1范数. 得出 $\phi $ (G(x))、 $\phi $ (F(y))和重构图像F(G(x))、G(F(y))的高维向量 $\phi $ (F(G(x)), 以及计算 $\phi $ (G(x))、 $\phi $ (F(y))与重构图像F(G(x))、G(F(y))之间高维向量 $\phi $ (F(G(x))、 $\phi$ (G(F(y))的L1范数. 最后, 我们进行方差计算, 得到增强的感知损失.

与CycleGAN相比, BDCCN的损失函数只增加了增强的循环感知损失和BDCP损失, 其余的保持不变. BDCCN的周期一致性损失如式(5)所示, 在 ${\rm{CycleGAN}} $ $ (G,F,{D_x},{D_y})$ 的基础上, 增加增强循环感知损失 ${L_{\rm{perceptual}}}$ , 并设权重系数 $ {\lambda _2} $ , 平衡增强循环感知损失和周期一致性损失. 由于增强循环感知损失与周期一致性损失相比非常大, $ {\lambda _2} $ 在训练中被设置为0.5×10−7. BDCCN对CycleGAN和Cycle-Dehaze网络进行优化, 通过式(6)得到生成器的生成结果G*、F*如式(6)所示.

$ \begin{gathered} L(G,F,{D_x},{D_y}) = {L_{\rm{CycleGAN}}}(G,F,{D_{{x}}},{D_y}) \hfill + {\lambda _2}{L_{\rm{perceptual}}} \hfill \end{gathered} $ (5)
$ {G^*}{F^*} = \arg \mathop {\min }\limits_{G,F} \mathop {\max }\limits_{{D_x},{D_y}} L(G,F,{D_x},{D_y}) $ (6)

其中, G*是本文重点关注的去雾后图像, ${{{D}}_x}$ , ${{{D}}_y}$ 为判别器, 并在第4节用于和其他算法进行测试和比较.

4 实验

在本节中, 我们将对实验方法和结果进行介绍和分析. 首先, 本文的实验是在RESIDE数据集(室外数据集(OTS)和室内数据集(ITS))进行训练和测试的, 并在真实数据上进行了实验, 并将结果与其他算法进行了比较.

4.1 数据集

RESIDE训练集包含1 399张清晰图像和13 990张由相应清晰图像生成的有雾图像. 全球大气光的范围从0.8到1.0, 散射参数从0.04变为0.2. 为了与当前的最新方法进行比较, 本文采用了PSNR和SSIM指标, 并在综合目标测试集(SOTS)中进行了全面的比较测试, 该测试集包含500张室内图像和500张室外图像. 最后在真实数据集上, 本文的网络依旧表现出良好的去雾能力, 本文方法在图像细节和颜色保真度方面表现良好, 其结果如图3所示.

4.2 室外合成数据集的测试结果

本部分在RESIDE室外数据集(OTS)上进行训练和测试, 并将实验结果与当前先进的算法进行对比, 实验结果如图4所示. 我们可以看到DCP算法在处理图像的过程中可以很好的去除图像的朦胧感, 具有很强的去雾能力, 但是DCP算法无法处理浓雾或者图像中亮度比较大的地方, 会使图像出现明显的失真. AOD-Net算法无法有效的去除图像的雾霾部分, 去雾效果不是很明显, 并且倾向于输出低亮度图像. 相比之下, PyTorch算法可以恢复某些相对于背景真实情况而言亮度过高的图像, 但是对于浓雾图像效果依旧不是很理想. FFA算法输出的结果中大部分图像只出现局部去雾, 无法完全的去除图像雾霾效果, 且出现图像色彩偏暗现象. 相反, 本文算法在去雾同时能很大程度的保留图像本身的纹理和色彩, 去雾效果接近背景图像.

4.3 室内合成数据集的测试结果

本部分在RESIDE室外数据集(ITS)上进行训练和测试, 并将实验结果与当前先进的算法进行对比, 实验结果如图5所示. 各算法在室内数据集中表现良好, 但是DCP算法依旧出现局部亮度过高问题, AOD-Net和PyTorch算法出现去雾不彻底现象. FFA-Net在室内数据集中表现优秀, 复原效果接近真实图像. 本文算法在完成去雾任务的同时, 仍旧保留了图像细节特征.

图 3 图像去雾的细节对比图

图 4 室外合成图像去雾效果对比图

4.4 真实数据集的测试结果

本部分选取部分真实图像, 将本文算法与各算法对比. 实验结果如图6所示, DCP算法依旧有良好的去雾能力, 但是不可避免的出现局部区域亮度过高情况. AOD-Net很好的完成了去雾任务, 也没有出现图像色彩失真状况. FFA-Net去雾能力一直不稳定, 与室外合成数据集表现一样, 始终出现图像部分去雾现象. 本文算法一如既往表现良好, 在完成去雾任务的同时, 最大程度的保留了图像的纹理细节.

不同方法的PSNR和SSIM对比结果如表1所示.

5 分析

为了进一步展示特征融合注意网络体系结构的优越性, 本文通过考虑提出的明暗通道的循环GAN网络的不同模块来进行消融研究. 本文通过增减了部分残差块以及卷积层来对比一下最终的测试集结果. 增减不同模块的室内图像测试集比较结果如表2.

表2所示, 在本文的框架中, PSNR达到31.76 dB, SSIM为0.942 6. 由此可知, 本文所考虑的每个因素在网络性能中都起着重要作用, 尤其是明暗通道的循环GAN网络. 我们还可以清楚地看到, 在增减部分结构的时候, 输出的结果往往不是很令人满意, 维持本文的现有模块使网络训练稳定, 同时也能提高了网络性能明暗通道的结合也使我们的结果达到了很高的水平.

图 5 室内合成图像去雾效果对比图

图 6 真实图像去雾效果对比图

表 1 不同方法的PSNR和SSIM对比结果

表 2 增减不同模块的室内图像测试集比较

6 总结

本文提出了BDCCN单幅图像去雾网络, 可以直接将模糊图像转换为干净图像, 而不需要大气散射模式参数. 而且, 我们的模型在训练过程中也不需要配对训练. 为了获得更真实、更清晰的去无阴影图像, 我们提出了基于明暗通道理论的损失函数, 并将其添加到生成器损失函数上, 同时增加了改进的循环感知损失对循环一致损失的影响. 实验结果表明, 本文的方法相对于CycleGAN及其变体在SSIM和PSNR上有很大的提高, 相对于其他最先进的算法在室外实像上也有更好的效果.

参考文献
[1]
Xu TY, Peng DM, Wang WX. Improved histogram equalization algorithm. Ordnance Industry Automation, 2006, 25(7): 58-59.
[2]
Tan RT. Visibility in bad weather from a single image. Proceedings of 2008 IEEE Conference on Computer Vision and Pattern Recognition. Anchorage: IEEE, 2008. 1–8.
[3]
Kim TK, Paik JK, Kang BS. Contrast enhancement system using spatially adaptive histogram equalization with temporal filtering. IEEE Transactions on Consumer Electronics, 1998, 44(1): 82-87. DOI:10.1109/30.663733
[4]
Rahman ZU, Jobson DJ, Woodell GA. Retinex processing for automatic image enhancement. Proceedings of the SPIE 4662, Human Vision and Electronic Imaging VII. San Jose: SPIE, 2002. 390–401.
[5]
Wu D, Zhu QS. The latest research progress of image dehazing. Acta Automatica Sinica, 2015, 41(2): 221-239.
[6]
Hautiere N, Tarel JP, Aubert D. Towards fog-free in-vehicle vision systems through contrast restoration. Proceedings of 2007 IEEE Conference on Computer Vision and Pattern Recognition. Minneapolis: IEEE, 2007. 1–8.
[7]
Kopf J, Neubert B, Chen B, et al. Deep photo: Model-based photograph enhancement and viewing. ACM Transactions on Graphics, 2008, 27(5): 116.
[8]
Swami K, Das SK. CANDY: Conditional adversarial networks based fully end-to-end system for single image haze removal. arXiv: 1801.02892, 2018.
[9]
Ancuti CO, Ancuti C, Hermans C, et al. A fast semi-inverse approach to detect and remove the haze from a single image. Proceedings of the 10th Asian Conference on Computer Vision. Queenstown: Springer, 2010. 501–514.
[10]
Emberton S, Chittka L, Cavallaro A. Hierarchical rank-based veiling light estimation for underwater dehazing. Proceedings of British Machine Vision Conference 2015. Swansea: BMVA Press, 2015. 1–12.
[11]
Li B, Ren W, Fu D, et al. Benchmarking single-image dehazing and beyond. IEEE Transactions on Image Processing, 2018, 28(1): 492–505.
[12]
Fattal R. Single image dehazing. ACM Transactions on Graphics, 2008, 27(3): 1-9.
[13]
Ancuti C, Ancuti CO, De Vleeschouwer C, et al. Night-time dehazing by fusion. Proceedings of 2016 IEEE International Conference on Image Processing (ICIP). Phoenix: IEEE, 2016. 2256–2260.
[14]
Tarel JP, Hautière N. Fast visibility restoration from a single color or gray level image. Proceedings of the 2009 IEEE 12th International Conference on Computer Vision. Kyoto: IEEE, 2009. 2201–2208.
[15]
He KM, Sun J, Tang XO. Single image haze removal using dark channel prior. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2011, 33(12): 2341-2353.
[16]
Meng GF, Wang Y, Duan JY, et al. Efficient image dehazing with boundary constraint and contextual regularization. Proceedings of 2013 IEEE International Conference on Computer Vision. Sydney: IEEE, 2013. 617–624.
[17]
Fattal R. Dehazing using color-lines. ACM Transactions on Graphics, 2014, 34(1): 13.
[18]
Zhu QS, Mai J, Shao L. A fast single image haze removal algorithm using color attenuation prior. IEEE Transactions on Image Processing, 2015, 24(11): 3522-3533. DOI:10.1109/TIP.2015.2446191
[19]
He KM, Sun J, Tang XO. Guided image filtering. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2013, 35(6): 1397-1409.
[20]
Gibson KB, Vo DT, Nguyen TQ. An investigation of de-hazing effects on image and video coding. IEEE Transactions on Image Processing, 2012, 21(2): 662-673. DOI:10.1109/TIP.2011.2166968
[21]
Berman D, Treibitz T, Avidan S. Non-local image dehazing. Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR). Las Vegas: IEEE, 2016. 1674–1682.
[22]
Yang XT, Xu Z, Luo JB. Towards perceptual image dehazing by physics-based disentanglement and adversarial training. Proceedings of the 32nd AAAI Conference on Artificial Intelligence. New Orleans: AAAI, 2018. 7485–7492.
[23]
Cai BL, Xu XM, Jia K, et al. DehazeNet: An end-to-end system for single image haze removal. IEEE Transactions on Image Processing, 2016, 25(11): 5187-5198. DOI:10.1109/TIP.2016.2598681
[24]
Ren WQ, Liu S, Zhang H, et al. Single image dehazing via multi-scale convolutional neural networks. Proceedings of the 14th European Conference on Computer Vision. Amsterdam: Springer, 2016. 154–169.
[25]
Li BY, Peng XL, Wang ZY, et al. AOD-Net: All-in-one dehazing network. Proceedings of 2017 IEEE International Conference on Computer Vision (ICCV). Venice: IEEE, 2017. 4780–4788.
[26]
Ancuti C, Ancuti CO, De Vleeschouwer C. D-HAZY: A dataset to evaluate quantitatively dehazing algorithms. Proceedings of 2016 IEEE International Conference on Image Processing (ICIP). Phoenix: IEEE, 2016. 2226–2230.
[27]
Ancuti C, Ancuti CO, Timofte R, et al. I-HAZE: A dehazing benchmark with real hazy and haze-free indoor images. Proceedings of the 19th International Conference on Advanced Concepts for Intelligent Vision Systems. Poitiers: Springer, 2018. 620–631.
[28]
Ancuti CO, Ancuti C, Timofte R, et al. O-HAZE: A dehazing benchmark with real hazy and haze-free outdoor images. Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops. Salt Lake City: IEEE, 2018. 867–8678.
[29]
Goodfellow IJ, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets. Proceedings of the 27th International Conference on Neural Information Processing Systems. Cambridge: MIT Press, 2014. 2672–2680.
[30]
Berman D, Treibitz T, Avidan S. Air-light estimation using haze-lines. Proceedings of 2017 IEEE International Conference on Computational Photography (ICCP). Stanford: IEEE, 2017. 1–9.
[31]
Zhu JY, Park T, Isola P, et al. Unpaired image-to-image translation using cycle-consistent adversarial networks. Proceedings of 2017 IEEE International Conference on Computer Vision (ICCV). Venice: IEEE, 2017. 2242–2251.
[32]
Engin D, Genç A, Ekenel HK. Cycle-dehaze: Enhanced CycleGAN for single image dehazing. Proceedings of 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops. Salt Lake City: IEEE, 2018. 938–9388.
[33]
Zhao JM, Zhang J, Li Z, et al. DD-CycleGAN: Unpaired image dehazing via double-discriminator cycle-consistent generative adversarial network. Engineering Applications of Artificial Intelligence, 2019, 82: 263-271. DOI:10.1016/j.engappai.2019.04.003
[34]
Zhang H, Sindagi V, Patel VM. Joint transmission map estimation and dehazing using deep networks. IEEE Transactions on Circuits and Systems for Video Technology, 2020, 30(7): 1975-1986.
[35]
Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition. arXiv: 1409.1556, 2014.
[36]
Sajjadi MSM, Schölkopf B, Hirsch M. EnhanceNet: Single image super-resolution through automated texture synthesis. Proceedings of 2017 IEEE International Conference on Computer Vision (ICCV). Venice: IEEE, 2017. 501–4510.
[37]
Jégou S, Drozdzal M, Vazquez D, et al. The one hundred layers tiramisu: Fully convolutional densenets for semantic segmentation. Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition Workshops. Honolulu: IEEE, 2017. 1175–1183.