-
雾霾由气溶胶组成,这些气溶胶粒子会对场景对象反射的光产生散射,导致能见度下降.在拍摄图像时,气溶胶的存在会减弱场景点的强度,降低图像质量.因此,在模糊环境下,单图像模糊去除是提高计算机视觉算法性能的一项具有挑战性的预处理任务[1].
目前,图像除雾算法大致可以分为基于模型、基于非模型和基于学习的3类方法.基于模型的图像去雾算法是利用退化的物理模型来尽可能恢复清晰图像的技术,经典的复原方法有暗通道先验方法(Dark Channel Prior,DCP)[2],这类方法畸变较小,去雾效果很好,但是由于计算复杂度较高,实时处理比较困难.基于非模型的算法是根据人类视觉感受,通过增强图像对比度来达到去雾的目的,常规图像增强算法如直方图均衡化[3]和基于Retinex理论的图像增强[4],这类方法通过提高图像对比度降低雾霾对图像的影响,但是也容易造成过增强或者信息损失现象.随着深度学习的快速发展,基于深度学习的图像去雾算法已经取得良好的效果. Li等[5]提出一种运用端到端卷积神经网络(Convolutional Neural Network,CNN)进行图像去雾的算法,该方法通过设计新的大气散射模型,在不需要计算传输矩阵和大气光的情况下,直接利用轻量CNN生产清晰图像.文献[6]提出一种基于条件生成式对抗网络的恢复图像算法,通过引入VGG特征和L1正则化梯度先验,直接将模糊图像恢复至清晰图像. Zhang等[7]提出一种密连通金字塔去雾算法,通过将大气散射模型嵌入到网络中,实现传输图和大气光的端到端联合学习,提升去雾效果. Ren等[8]提出利用编码器和解码器组成的端到端可训练神经网络进行去雾的算法,通过引入多尺度的方法,避免光环伪影的出现,实现从模糊输入中直接恢复清晰图像的目的.
虽然上述方法可以实现直接对模糊图像去雾的目的,但是这些网络需要成对的数据,即合成的模糊输入图像和相应的真实图像来训练网络参数,用以估计传输图.由于合成的模糊图像不包含实际世界中的真实模糊分布和场景中的雾度分布,因此采用配对训练网络的去雾算法缺少一定的信服度.针对这个问题,本文提出一种基于循环生成式对抗网络的去雾算法,通过采用编码器-解码器(Encoder-Decoder,ED)体系结构来构建生成器网络,然后使用一种不成对的图像训练方法来训练网络参数,估计传输图,最后通过光学模型恢复无雾清晰图像.
全文HTML
-
生成式对抗网络(Generative Adversarial Network,GAN)是根据博弈论中的零和博弈思想提出的一种神经网络模型[9]. GAN模型具有强大的图片生成能力,在图像恢复和合成方面有着广泛的应用.
-
标准GAN是一种通过对抗过程估计生成模型的网络框架,该网络的基本框架由一个生成网络G和一个判别网络D构成,GAN的流程如图 1所示.
生成网络G利用真实数据样本Ix训练生成新的数据样本G(Ix),判别网络D是一个二分类器,判断样本是来自于原始数据Ix,还是由生成网络产生G(Ix).整个GAN过程网络G与D同时运行,判别网络的目的是尽量使D(G(Ix))接近0,而生成网络的目的是尽量使它接近1,最终二者在博弈中达到平衡.
为了约束网络,GAN的损失函数被定义为
其中,P表示概率分布, E表示期望.
GAN模型的目标函数表示为
-
循环生成式对抗网络(Cycle Generative Adversarial Networks,CGAN)[10]是在条件生成式对抗网络的基础上,利用循环损失函数和对抗损失函数加权求和的方式,约束网络学习得到有雾Ix和清晰Iy两种类型图像之间的映射关系,而且不需要两类图像一一匹配,具体流程如图 2所示.
其中,G和F分别表示Ix→Iy和Iy→Ix的映射函数,Dy和Dx是与之相对应的判别网络. Dy的目标是保证输入Ix通过映射函数G的转换得到的输出G(Ix)与Iy无差别,Dx则保证输入Iy通过映射函数F的转换得到的输出F(Iy)与Ix无差别.
损失函数可以表示为
为了进一步规范映射,除了通过两个损失函数约束外,还引入循环损失函数
因此,循环生成式对抗网络的目标函数为
其中,λ是控制参数.
1.1. 标准GAN
1.2. 循环生成式对抗网络
-
本文利用非配对训练方法对有雾图像的传输图进行估计,然后利用光学模型对有雾图像进行恢复.
-
在图像处理中最常用的单色大气散射模型如式(7)所示.
其中,χ=(x,y)表示图像坐标,I(χ)为雾天摄像机收到的光强,R(χ)表示实际场景中辐射强度,T(χ)为传输图,A为大气光.
由式(7)分析可知,去雾后的复原图像R(χ)求解可以通过式(8)转化为对传输图T(χ)和大气光A的估算.
根据式(7),传输图T(χ)可以表示为
其中,本文利用暗通道先验的方法[2]估算全球大气光A.
-
本文提出了基于循环生成式对抗网络的去雾网络,其中生成器网络是一种包含跳跃连接的编码器-解码器架构.编码器网络的作用是通过保持目标的结构信息,从输入图像中获取抽象特征映射;解码器网络的目的是从编码器网络获得的低分辨率目标显著性图中再现高分辨率特征图.本文提出的去雾算法利用ED架构的这些特性来获得精确的传输图.
为了获取目标层传输图,本文设计一种面向对象级传输信道信息的生成器网络ED体系结构,具体结构如图 3所示.
生成器网络由5个编码器层和5个解码层块组成.每个编码器层由卷积层、实列正则化、泄漏ReLU组成.每个解码器层由反褶积层、drop-out层、实列正则化、连接层(跳跃连接)、泄漏ReLU组成. ED架构中的空间滤波器大小是恒定的,整个网络为3×3.在每个编码器块上,卷积层步长为2.另一方面,解码器体系结构中也是类似设置,如3×3反卷积滤波器,上采样系数为2.为了避免过拟合,drop-out层的辍学率为0.5,泄漏ReLU的泄漏系数为0.2.此外,使用实列正则化来规范化卷积层的特征映射.对于判别器网络,由于Cycle-GAN架构的判别器在图像到图像的风格转换任务中取得良好的效果,因此本文也采用相同的网络.
2.1. 光学模型
2.2. 去雾网络
-
本文所有实验在一台配置为Intel Xeon E5-2698 (20-Core) CPU @2.20 GHz和NVIDIA Tesla V100 4×16 GB GPU的NVIDIA DGX工作站上进行.
-
本文采用D-Hazy[11]和SOTS[12]两个公开可用的室内合成模糊图像数据库,用来评估所提出的去雾算法. D-Hazy是一个用于图像去雾的标准数据集,它由1 449张合成密集的模糊图像及其各自的无雾图像组成.本文使用200张图像用于网络参数的训练,剩余1 249张图像对所提出的单图像去雾方法进行测试.室内SOTS数据库由500幅合成模糊图像及其各自的无雾图像组成.此外,从ImageNet数据库(海滩、公路和天空等)[13]中随机选择1 000个室外图像,将其分为室外有雾和无雾图像两组. A组由有雾图像组成,B组由无雾图像组成,图像集A和图像集B之间没有一一对应关系.然后,通过合成将雾添加到这些图像中,这些从ImageNet数据库中合成的有雾图像称为室外合成数据集. 表 1给出了不同数据集进行网络训练和测试的图像数量.
在网络训练时,对D-Hazy数据集中室内模糊图像及其相应的无模糊图像进行洗牌,以实现未配对的监督训练.将ImageNet数据库选择的室外有雾和无雾图像分为两组,A组为有雾图像集,B组为无雾图像集,图像集A和B之间没有一一对应关系. 图 4显示了用于训练的去雾网络不成对训练方法.如图 4所示,该去雾网络包括两个映射:从模糊映射到清晰的正向映射和从清晰映射到模糊的反向映射.
-
为了更好地评价去雾算法的性能,本文从定性和定量两个方面进行评估.
-
图 5-图 6给出了不同去雾算法在D-Hazy数据集合成室内模糊图像的复原结果.从图 5-图 6中可以看出,本文算法在不发生任何颜色失真的情况下恢复无雾场景.对比其他算法,从图 5中发现,使用DDN[14],Cycle-GAN[10]和Cycle-Dehaze[15]方法恢复的图像存在颜色失真的现象. 图 6显示Cycle-GAN和Cycle-Dehaze两种端对端的算法无法恢复标记区域中的文本,但基于光学模型的DDN算法和本文算法可以将文本恢复,而且本文算法清晰度更高,这充分体现出本文ED架构的优势.
对于真实的模糊图像,图 7-图 9给出了不同方法的复原结果.从图 7-图 9中可以看出,使用DDN,Cycle-GAN和Cycle-Dehaze方法恢复的图像存在颜色扭曲的现象,无法恢复至视觉上令人愉悦的无雾场景.本文算法通过学习雾扩散和恢复无雾场景来克服颜色失真问题,虽然在图 9中不能完全消除雾霾,复原的图像清晰度不太高,但与其他方法相比仍具有一定的优势.
-
为了进一步验证,本文利用峰值信噪比(PSNR)、结构相似性指数(SSIM)和梯度幅度相似度偏差(Gradient Magnitude Similarity Deviation,GMSD) 3个评价指标来验证算法的有效性.
PSNR表示滤波图像的最大像素值与噪声的比值,定义为
其中,MSE表示均方误差,fmax和fmin分别表示去噪图像的最大和最小像素. PSNR越大,说明去噪图像失真越小,图像的去噪效果越好.
基于感知模型的归一化度量SSIM定义为
其中,
$ l\left( {x, {\rm{ }}y} \right) = \frac{{2{u_x}{u_y} + {c_1}}}{{u_x^2 + u_y^2 + {c_1}}}, $ $c\left( {x, {\rm{ }}y} \right) = \frac{{2{\sigma _x}{\sigma _y} + {c_2}}}{{\sigma _x^2 + \sigma _y^2 + {c_2}}}, $ $ s\left( {x, {\rm{ }}y} \right) = \frac{{{\sigma _{xy}} + {c_3}}}{{{\sigma _x}{\sigma _y} + {c_3}}}$ 分别表示亮度比较、对比度比较和结构比较,x,y分别为参考图像和待测图像,ux,uy,σx2,σy2,σxy分别表示图像x,y的均值、方差和协方差,c1,c2,c3为很小的常数. SSIM从亮度(均值)、对比度(方差)和结构3个层次比较图像失真,但经常用于比较去噪图像与原始图像间的结构相似性,SSIM在[-1, 1]区间范围内取值,其值越接近1,说明两者结构相似性越好;相反,相似性越差.图像梯度对图像失真程度高度敏感,局部质量下降与全局图像的偏差GMSD可以反映图像的质量,通常运用图像与线性滤波器Prewitt算子的卷积来提取图像梯度.
其中,mIGT,mIHR分别表示图像IGT和IHR的梯度幅度,hx,hy分别表示Prewitt滤波器的水平和竖直方向算子.计算梯度幅度相似度均值为
其中,N表示图像总像素量,
$ GMS\left( i \right) = \frac{{2{m_{{I^{GT}}}}\left( i \right) \cdot {m_{{I^{HR}}}}\left( i \right) + c}}{{m_{{I^{GT}}}^2\left( i \right) + m_{{I^{HR}}}^2\left( i \right) + c}}$ 表示像素i处的梯度幅度相似度.因此,梯度幅度相似度偏差可以被定义为
GMSD的值反映整幅图像的失真严重程度,其值越高,图像失真程度越高,质量越差.
表 2给出了不同算法在3个数据集上测试的平均PSNR,SSIM和GMSD指标结果.从表 2中可以清楚地看到,相较于其他算法,本文方法的去雾性能有明显的提升.
3.1. 数据集及训练设置
3.2. 实验结果与分析
3.2.1. 定性分析
3.2.2. 定量分析
-
针对图像配对训练网络的去雾算法缺少一定信服度这个问题,本文提出一种基于循环生成式对抗网络的去雾算法.该算法基于编码-解码器的架构来构建对抗网络中的生成器,然后采取不成对的图像训练方式对网络参数进行训练,用于估计传输图,最后通过光学模型恢复无雾清晰图像.实验结果表明,对于室内、外合成图像,本文方法恢复的无雾图像不存在任何颜色失真现象,而且本文算法在性能上明显优于其他方法.