结合大气散射模型的生成对抗网络去雾算法
Dehazing algorithm combined with atmospheric scattering model based on generative adversarial network
通讯作者:
收稿日期: 2021-03-29
Received: 2021-03-29
作者简介 About authors
屠杭垚(1995—),男,博士生,从事深度学习、生成对抗网络研究.orcid.org/0000-0001-9947-262X.E-mail:
为了提高图像去雾的性能, 提出结合大气散射模型生成对抗网络的去雾算法. 算法在pix2pix GAN基础上进行改进, 将网络的生成器改进成双解码器结构,通过双解码器分别生成无雾图像和透射率图, 并结合大气散射模型还原雾图像,以进一步提高图像分解的质量. 在马尔科夫判别器结构中,采用反向学习机制代替随机裁剪机制,以有效降低因采用随机裁剪算法而导致的判断结果不准确的概率. 在原有的损失函数上,加入雾霾损失函数,提高图像转化的质量. 在STOS和NYU数据集上进行消融实验和对比实验. 大量实验表明所提出方法在PSNR和SSIM指标上比原算法Pix2pix GAN有所提高, 且均优于现有去雾算法,复原图像具有清晰度高、噪声低、纹理丰富的优点.
关键词:
A dehazing algorithm combined with atmospheric scattering model based on generative adversarial network was proposed in order to improve the performance of image dehazing. The algorithm was improved base on pix2pix GAN. Firstly, the generator is improved to a double decoder structure. The double decoder generates the fog-free image and the transmittance image, separately, then the fog-free image and the transmittance image are combined to restore the fog image by the atmospheric scattering model. The purpose is to improve the quality of decomposition. Secondly, in the Markov discriminator structure, the reverse learning mechanism is used to replace the random cropping mechanism, which aims to reduce the probability of inaccurate judgment caused by the random cropping algorithm. Finally, the haze loss function is added to the original loss function to improve the quality of image translation. The ablation experiments and contrast experiments were applied on STOS and NYU datasets. Experimental results showed that the proposed method was better than the original algorithm pix2pix GAN in terms of PSNR and SSIM, and both were better than the existing dehazing algorithms. The restored images have the advantages of high-resolution, low noise and rich texture.
Keywords:
本文引用格式
屠杭垚, 王万良, 陈嘉诚, 李国庆, 吴菲.
TU Hang-yao, WANG Wan-liang, CHEN Jia-chen, LI Guo-qing, WU Fei.
基于深度学习算法的去雾模型也有缺陷. 深度学习算法采用卷积、池化、特征融合等方法提取图像中关键的特征来解决各样的问题,但提取特征的效率低于特征算法. 这会导致2种问题:1)网络学习到了使用传统算法获得的特征,但消耗了大量的时间和计算资源. 2)网络没有学习到使用传统算法获得的特征,降低了重建图像某一方面的精度. 因此,基于上述问题,考虑深度学习结合传统方法是一项十分有必要的工作.
Goodfellow提出生成对抗网络模型(generative adversarial network,GAN)[15], GAN由2个网络构成: 生成网络和判别网络,生成网络生成假图使其与真图难以区分,而判别网络学习区分真图与假图.与传统深度学习有所不同,GAN的参数更新采用判别器的反向传播更新参数,而传统深度学习的参数更新却直接来自数据样本. 因此,GAN在图像去除雾霾的问题上具有良好的前景. Isola等[16]基于生成对抗网络,提出一种使用匹配数据图像的方法pix2pix GAN,其将一组图像转换为另一组图像,将输入的图像作为对抗网络的条件, 进行网络对抗训练;并提出Patch GAN结构[17],对所有矩阵块的输出结果进行平均值计算,实现了匹配图像间的清晰映射. 图像去雾的本质是将一组有雾霾的图像转换至另一组无雾霾的图像,因此采用pix2pix GAN可以解决图像去雾的问题. 不过, pix2pix GAN的缺点也很明显,采用辅助图像作为输入可能致使网络收敛性降低. 另外,其未结合传统模型,存在消耗计算资源和降低重建图像精度的问题.
本研究针对以上问题, 做出如下贡献. 1)提出新型网络结构以解决pix2pix GAN重建图像精度低的问题. 2)使用反向学习机制代替随机裁剪机制,增加网络判断结果的准确性. 3)提出雾霾损失函数,强化网络学习雾霾特征的能力,提高图像转换质量.
1. 结合大气散射模型和双解码器的生成器结构
式中:J(x)为无雾霾的图像, I(x)为有雾霾的图像, A为大气光值,t(x)为透射率. 现已知条件为有雾图像I(x), 取原始图像中具有最高亮度的值作为A, 若求解J(x), 因含有t(x)未知项, 不加限制条件会有多组解集.
现阶段采用的生成对抗网络算法的逻辑如下:将I(x)作为生成器的输入,将J(x)作为生成器的输出, 通过生成器和判别器的对抗训练使生成器输出较为精确的无雾图像. 这样的方法固然能解决问题, 但物理模型是由前人总结所得的,在输入与输出间有完整的数学映射,若未将已搭建的物理模型添加进网络中,在网络学习过程中则须寻找物理模型中的映射关系,会增加网络寻找最优解的难度.
本模型的生成器如图1所示.可以看出,生成器结构由1个编码器和2个解码器构成. 编码器对有雾图像I(x)进行下采样, 在下采样完成后, 采用2个解码器对编码后的数据进行解码. 解码器1与现有深度学习方法相似, 旨在获得无雾的图像J(x).解码器2用来拟合t(x),由大气散射模型可知,I(x)和t(x)存在一定的关系, 因此采用I(x)生成t(x)是可行的.真实的无雾图像和透射率使用J(x)和t(x)表示. 生成的无雾图像和透射率使用G1(x)和G2(x)表示.
在得到无雾图像G1(x)和透射率G2(x)后, 通过式(1)可以计算出有雾图像I'(x), 通过计算原图I(x)和假图I'(x)之间的距离进一步训练生成器的能力, 具体损失函数将在第3章中讨论.
图 1
表 1 本研究所提模型的生成器网络参数
Tab.1
网络类型 | 卷积核大小 | 步长 | 输出 |
Conv Block | 7 | 1 | 64 |
Conv Block | 3 | 2 | 128 |
Conv Block | 3 | 2 | 256 |
Conv Block | 3 | 2 | 512 |
2×Deconv Block | 3 | 2 | 256 |
2×Deconv Block | 3 | 2 | 128 |
2×Deconv Block | 3 | 2 | 64 |
2×Deconv Block | 7 | 1 | 3 |
2. 结合反向学习机制的判别器结构
定义1 给定x为区间[a, b]上一实数, 即x∈[a, b]. 则其反向数为
定义2 给定P(x1, x2
图 2
图 3
鉴于OBL算法的良好性能,用反向学习代替随机裁剪, 当裁剪Patch块时, 同时裁剪Patch块的反向块, 旨在有效降低因采用随机裁剪算法而导致特征区域重复选择从而致使判断结果不准确的概率, 有效提高判别器的准确率. 反向学习判别器可视图如图4所示.
图 4
区别于传统的70×70图像块,本研究采用30×30大小的图像块,降低模型的计算特征参数量, 提高运算效率.
判别器具有5层网络结构,采用Conv-Batch Normaliation-Leaky ReLU层训练, 其中卷积核的大小为4×4,leak设置为0.2,最后经过1×1卷积将学习到的特征输入进sigmod函数计算得到真伪结果. 网络参数如表2所示.
表 2 判别器网络参数
Tab.2
网络类型 | 卷积核大小 | 步长 | 输出 |
Conv Block | 4 | 2 | 64 |
Conv Block | 4 | 2 | 128 |
Conv Block | 4 | 2 | 256 |
Conv Block | 4 | 1 | 512 |
Conv | 4 | 1 | 1 |
3. 算法框架与损失函数
3.1. 结合大气散射模型的生成对抗网络去雾算法框架
为了有效提高图像的去雾性能,融合大气散射模型、双解码器结构、反向学习机制对原网络的生成器、判别器、损失函数均做出改进. 提出一种端到端生成对抗网络的图像去雾算法,算法整体结构如图5所示,包括训练数据集、测试数据集、生成对抗网络框架3部分.
图 5
图 5 结合大气散射模型的生成对抗网络去雾算法框架图
Fig.5 Framework of dehazing algorithm combined with atmospheric scattering model based on generative adversarial network
先将有雾图像集输入生成网络中,生成网络采用双解码器架构并加入大气散射模型生成所需的无雾图像;随后将生成网络生成的无雾图像与现实中无雾图像同时输入判别网络中,进行图像真假判别,反复进行以上网络训练,得到生成对抗网络模型;最后在模型中输入测试图像,得到本研究所需的无雾图像.
3.2. 损失函数的改进
式中:G为生成器,D为判别器,L表示损失函数,E表示取均值, x为有雾图像分布,y为无雾图像分布. L1损失为假无雾图像与真无雾图像之间的L1距离. 本研究添加了雾霾损失,即假有雾图像与真有雾图像之间的L1距离.
假有雾图像由假无雾图像G1(x)和投射率G2(x)得到:
因此,最终优化函数须解此极大极小值问题:
式中:λ1和λ2为超参数,按深度学习经验得到λ1=λ2=100.
4. 实验结果及分析
为了验证本研究所提方法在图像去雾算法中的优势,采用NYU数据集和SOTS数据集进行验证,数据集如图6所示. NYU数据集包含1449对无雾图像和相应的合成的雾霾图像,雾霾是由专业的雾霾机器生成的,该机器模仿高保真度的真实雾霾条件. 从SOTS数据集中选择500个室内图像,每一个图像合成10个模糊图像.
图 6
实验环境为天阔W580-G20 服务器,CPU处理器为E5-2600V3,GPU处理器为2080ti,实验工具采用python3.6.5,算法采用tensorflow框架实现,并且安装Slim库、Opencv库以简化代码冗余度.
本研究算法采用1399组匹配图像(有雾图像和无雾图像)作为训练数据集,50组无雾图像作为测试数据. 为了固定数据的一致性,每张图像均resize至256×256×3像素,且所有网络均采用Adam算法进行优化. 生成器与判别器前5000代学习率均为1×10−4大小,后5000代衰减成0. 每迭代10次记录一次loss函数和训练时间,共迭代10000次.
4.1. 算法评判指标
现阶段,针对图像翻译问题公认采用结构相似性(structural similarity index measure, SSIM)[27]和峰值信噪比(peak signal to noise signal, PSNR)[28]这2个指标来评估生成器生成图像的质量. SSIM是从图像组成的角度将结构信息定义为独立于亮度、对比度的, 反映场景中物体结构的属性,并将失真建模为亮度、对比度和结构3个不同因素的组合. PSNR是基于对应像素点间的误差,即基于误差敏感的图像质量评价,是最普遍和使用最为广泛的一种图像客观评价指标. 具体地讲,通过这2个指标,可以从结构和信号相似度来判断生成图像质量与真实图像的差异. SSIM和PSNR具体表达式如下:
式中:x为图像A,y为图像B,
式中:MSE为原图像与处理图像的均方误差.
式中:xr为原图像,xj为处理图像.
4.2. 参数权重的影响
图 7
表 3 不同λ参数下图像指标的对比
Tab.3
图像1 | PSNR | SSIM | 图像2 | PSNR | SSIM | |
λ1=λ2=0 | 11.382 8 | 0.390 19 | λ1=λ2=0 | 13.847 9 | 0.384 45 | |
λ1=λ2=30 | 20.003 5 | 0.546 67 | λ1=λ2=30 | 16.420 0 | 0.747 92 | |
λ1=λ2=70 | 26.729 3 | 0.818 48 | λ1=λ2=70 | 21.056 5 | 0.780 40 | |
λ1=λ2=100 | 29.496 6 | 0.870 23 | λ1=λ2=100 | 25.458 7 | 0.848 56 |
4.3. 损失函数对比
为了有效提高训练生成图像的训练质量,采用第3章中所提出的损失函数进行对比实验.采用本研究所提模型作为基准模型,CGAN、CGAN+L1损失、CGAN+雾霾损失作为对比模型,实验结果如表4所示. 可以看出,采用L1损失+雾霾损失+CGAN损失函数的PSNR和SSIM指标均优于其他三者的.
表 4 不同损失函数下图像指标的对比
Tab.4
图像1 | PSNR | SSIM | 图像2 | PSNR | SSIM | 图像3 | PSNR | SSIM | ||
CGAN | 15.010 2 | 0.522 85 | CGAN | 17.133 0 | 0.555 39 | CGAN | 16.321 9 | 0.585 44 | ||
CGAN+L1 | 24.739 5 | 0.749 23 | CGAN+L1 | 25.648 2 | 0.782 92 | CGAN+L1 | 24.770 9 | 0.748 43 | ||
CGAN+雾霾损失 | 29.502 0 | 0.805 62 | CGAN+雾霾损失 | 30.770 9 | 0.817 03 | CGAN+雾霾损失 | 28.502 0 | 0.805 62 | ||
CGAN+L1+雾霾损失 | 33.927 2 | 0.907 04 | CGAN+L1+雾霾损失 | 35. 689 8 | 0.902 60 | CGAN+L1+雾霾损失 | 32.180 9 | 0.894 32 |
如图8所示为不同损失函数生成图像的对比. 可以看出,使用CGAN损失函数的生成图像质量并不高,在加入正则化L1损失函数后,图片质量提升虽较为明显,但细节纹理损失较为严重,在采用雾霾损失后,虽与原始图像还有差距,但在细节纹理方法明显有较大提升.
图 8
图 8 不同损失函数下生成图像的对比
Fig.8 Comparison of images generated in different loss functions
4.4. 不同网络结构的对比
图 9
图 9 不同网络结构下生成图像的对比
Fig.9 Comparison of images generated in different network structure
表 5 不同网络结构下图像指标对比
Tab.5
图像1 | PSNR | SSIM | 图像2 | PSNR | SSIM | 图像3 | PSNR | SSIM | ||
pix2pix | 25.524 0 | 0.751 840 | pix2pix | 24.988 0 | 0.753 460 | pix2pix | 19.007 0 | 0.733 930 | ||
pix2pix+OBL | 24.324 8 | 0.802 780 | pix2pix+OBL | 25.570 0 | 0.838 230 | pix2pix+OBL | 24.890 2 | 0.779 123 | ||
pix2pix+双解码器 | 28.330 5 | 0.866 600 | pix2pix+双解码器 | 27.843 7 | 0.873 220 | pix2pix+双解码器 | 26.535 0 | 0.879 610 | ||
本研究算法 | 32.541 8 | 0.913 270 | 本研究算法 | 31.648 6 | 0.901 030 | 本研究算法 | 29.742 3 | 0.894 470 |
4.5. 不同雾霾浓度对比
图 10
图 10 不同雾霾浓度下生成图像的对比
Fig.10 Comparison of generated images in different haze concentrations
图 11
图 11 不同雾霾浓度下本研究算法的去雾效果指标
Fig.11 Dehazing effect indicators of proposed algorithm in different haze concentrations
4.6. 不同算法对比
图 12
图 12 不同算法下生成图像的对比
Fig.12 Comparison of generated images in different algorithms
图 13
如图12(a)所示为输入网络的有雾图像,图12(i)为无雾图像,图12(b)、(c)为根据物理原理去雾算法得到的结果. 可以看出,在不包含天空场景的雾霾图像中DPDAR算法具有优秀的去雾能力,但在包含空中色彩的图像中,算法会导致一定的色彩偏差现象,与原图差距较大. 如图12(d)所示为近些年提出的DeHazeNet网络,可以看出,其对室内、包含空中色彩的图像的去雾能力均较强,但对于浓雾的白色场景图像存在性能偏差. 如图12(e)所示的DDcycleGAN采用非匹配数据的方法,属于无监督学习,而图12(f)的MSCNN-HE采用匹配数据的方法,属于监督学习. 因此,DDcycleGAN去雾的效果稍逊色于MSCNN-HE网络,生成图像呈现部分瑕疵;在室内光线变化的图像中,DDcycleGAN存在着一定的光线过拟合的情况. 如图12(g)所示为本研究算法的结果,可以看出处理图与原图色彩相仿,其原因为网络采用有雾图像与无雾图像2项约束并通过生成对抗网络形成网络对抗训练得到较优结果. 如图12(h)所示为深度网络所生成的透射率参数. 如图13所示,采用柱状图展示了对比算法中测试集场景的平均结果. 可以看出,本研究算法的指标均优于其他算法的.
5. 结 语
结合深度学习方法和传统机理模型建模提出结合大气散射模型的生成对抗网络去雾算法. 该算法通过双解码器使网络生成无雾图像和透射率,通过大气散射模型还原有雾图像. 通过缩小生成图像与原图像的距离,优化生成器的性能. 加入OBL算法,通过OBL的良好性能,加强判别器的效率,平衡判别器与生成器的性能,进一步提高生成样本质量.
实验结果表明本研究的去雾算法表现出较高性能,在NYU和SOTS数据集上,相较于MSCNN-HE、DDcycleGAN、DeHazeNet等算法有一定的竞争能力. 但本研究算法仍有些不足,如在训练时内存占用率较高,计算效率偏低,这些将是今后工作的重点.
参考文献
基于激光云高仪的雾霾过程探测
[J].
Analysis of haze-fog events based on laser ceilometer
[J].
基于懒惰随机游走的雾天含噪图像清晰 化
[J].
Clearness for foggy and noisy image based on lazy random walk
[J].
Quality evaluation of image dehazing methods using synthetic hazy images
[J].DOI:10.1109/TMM.2019.2902097 [本文引用: 1]
Image dehaze using alternating Laplacian and Beltrami regularizations
[J].DOI:10.1117/1.JEI.24.2.023004 [本文引用: 1]
基于引导滤波和暗原色先验理论透射率估值的视频去雾算法
[J].
Real-time video dehazing using guided filtering and transmissivity estimated based on dark channel prior theory
[J].
Generative adversarial dehaze mapping nets
[J].DOI:10.1016/j.patrec.2017.11.021
Single image haze removal using dark channel prior
[J].
基于引导滤波和自适应容差的图像去雾算法
[J].DOI:10.11959/j.issn.1000-436x.2020078 [本文引用: 1]
Image defogging algorithm based on guided filtering and adaptive tolerance
[J].DOI:10.11959/j.issn.1000-436x.2020078 [本文引用: 1]
基于生成对抗网络的雾霾场景图像转换算法
[J].DOI:10.11897/SP.J.1016.2020.00165 [本文引用: 1]
Image conversion algorithm for haze scenes based on generative adversarial networks
[J].DOI:10.11897/SP.J.1016.2020.00165 [本文引用: 1]
基于自适应暗原色的单幅图像去雾算法
[J].
Single image dehazing algorithm based on adaptive dark channel prior
[J].
Single image dehazing with a physical model and dark channel prior
[J].DOI:10.1016/j.neucom.2014.08.005
Deblurring images via dark channel prior
[J].
Single image rain removal via a deep decomposition-composition network
[J].DOI:10.1016/j.cviu.2019.05.003 [本文引用: 2]
Pruning filters with L1-norm and capped L1-norm for CNN compression
[J].DOI:10.1007/s10489-020-01894-y [本文引用: 1]
Automatic traffic sign detection and recognition using SegU-Net and a modified Tversky loss function with L1-constraint
[J].
A study on L2-loss (squared hinge-loss) multiclass SVM
[J].DOI:10.1162/NECO_a_00434 [本文引用: 1]
The accuracy of PSNR in predicting video quality for different video scenes and frame rates
[J].DOI:10.1007/s11235-010-9351-x [本文引用: 1]
Detail preserved single image dehazing algorithm based on airlight refinement
[J].
Dehazenet: an end-to-end system for single image haze removal
[J].DOI:10.1109/TIP.2016.2598681 [本文引用: 1]
Single image dehazing via multi-scale convolutional neural networks with holistic edges
[J].DOI:10.1007/s11263-019-01235-8 [本文引用: 1]
DD-cycleGAN: unpaired image dehazing via double-discriminator cycle-consistent generative adversarial network
[J].DOI:10.1016/j.engappai.2019.04.003 [本文引用: 1]
/
〈 |
|
〉 |
