基于深度学习的单幅图像去雾算法 下载: 1480次
1 引言
雾是一种常见的自然天气现象,在雾霾天气下采集到的图像,因色彩衰减严重,对比度和饱和度降低,视觉效果差,给人们的生活和各种计算机视觉系统的应用带来了严重的影响,如航空摄影系统、视频监控系统、卫星遥感系统、目标检测和识别系统。因此,对雾霾图像进行有效地去雾和恢复具有十分重要的意义。
近些年来,基于先验知识或假设的单幅图像去雾技术取得了重大突破。Narasimhan和Nayar在McCartney提出的大气散射模型[1-2]基础上,进行了详细的描述与推导,这为基于物理模型的去雾方法奠定了重要基础。Fattal[3]提出了一种场景反射率的估计方法。Tan[4]在马尔可夫随机场(MRF)模型的框架下,构造了边缘代价函数,并利用图分割理论估计最优光。He等[5]提出了基于暗原色先验(DCP)知识统计的方法。Meng等[6]将去雾问题作为一个基于边界对比度和正则化(BCCR)的优化问题。Li等[7]提出了一种从雾天图像的视频序列中联合估计场景深度和恢复清晰图像(SVDSR)的方法。Zhu等[8]提出了一个可训练的线性模型,称为颜色衰减先验(CAP),在监督的方式下学习参数模型。尽管上述算法取得了很大的进步,但其仍然依赖于各种先验或约束,并且有局限性。目前,深度学习理论在目标检测[9]、图像融合[10]、图像超分辨率重建[11-12]等研究领域取得了重大成果,如Dong等[13]提出了应用于图像重建的3层超分辨率卷积神经网络(SRCNN)。最近,一些学者将该理论逐渐用于图像去雾领域也获得了较好的效果,如Cai等[14]提出的DehazeNet从雾天图像中训练预测的介质传输图。与DehazeNet类似,Ren等[15]利用多尺度卷积神经网络(MSCNN)生成了粗略的场景透射率。徐岩等[16]提出了一种基于多特征融合的卷积神经网络图像去雾算法。Li等[17]提出了一种基于残差深度卷积神经网络的去雾算法,利用网络分别估计介质传输和大气光照,提高了除雾效率。
本文提出了一种基于深度学习的单幅图像去雾方法,网络结构由两个相同的特征模块组成,主要包括多尺度卷积、卷积和跳跃连接结构。两个特征模块具有较浅的网络层数,避免了深层网络的过拟合,具有较快的收敛速度,而且恢复的去雾图像具有良好的效果。
2 大气散射物理模型
在计算机视觉领域,通常使用大气散射物理模型[1-2]描述雾天图像的退化过程,该模型已广泛用于图像和视频去雾技术的研究,空间模型如
采集到的雾天图像可表示为
式中:
式中:
因此,去雾的目的是从有雾图像
3 基于深度学习的单幅图像去雾方法
借鉴卷积神经网络在图像超分辨率重建等方面的应用经验,提出了一种基于深度学习的单幅图像去雾方法。网络结构直接学习和估计雾天图像与其无雾清晰图像YUV(Y代表的是亮度,UV代表的是彩度)各个通道之间的映射关系,避免了对介质传输图和大气光的分别估计[18-19],减少了恢复图像的累积误差。
3.1 本文方法的网络结构
卷积神经网络结构的设计充分考虑了网络在雾天图像与清晰图像YUV各个通道之间的关系,网络主要由两个相同的特征模块组成,每个特征模块主要由两层多尺度卷积、3层卷积和跳跃连接结构组成。
3.2 多尺度卷积
第一层为输入层,分别输入雾天图像的YUV 通道,多尺度卷积层主要由4种大小不同的滤波器组成,设卷积核尺寸为
网络通过多尺度卷积进行特征提取,多尺度卷积的计算公式为
式中:
网络中的每个卷积层后均接入参数修正线性单元(PReLU)激活函数,这不仅可以避免梯度消失问题,而且还可以加快网络的收敛速度。其定义为
表 1. 多尺度卷积参数
Table 1. Multi-scale convolution parameters
|
式中:
式中
4种大小不同的卷积核分别进行卷积运算,接着进行concat连接,得到64个特征图,然后将64个特征图再次进行多尺度卷积,以捕获更多的不同尺度的特性。
3.3 卷积操作
经过两层多尺度卷积之后,受SRCNN[13]的启发,进行3层的卷积,卷积核的尺寸均为3×3×16,3×3的卷积核是最能够捕获图像信息的,并且具有最少的参数。经过3层的卷积不仅可以提高图像的分辨率,而且可以提取更多与雾霾相关的特征。因此,每层卷积的输出为
式中:
3.4 跳跃连接结构
图像分类等问题只需要提取图像关键特征,而图像恢复要求其细节在网络传播中不能丢失,且网络层数变深可能会导致图像细节的丢失;另一方面,层数较深容易在训练过程中导致梯度弥散,不容易收敛到最优解。通过在网络中引入concat层跳跃结构来连接具有相同尺寸的卷积层,即将第一(二)层多尺度卷积的特征图与第一(二)层卷积特征图进行concat层合并,这种连接方式大幅增加了卷积输出特征图的数量,并且网络层数较浅,能够加快网络训练速度,防止网络陷入局部最优,同时保证图像细节信息的有效传递。
两个部分的特征模块可以提高恢复图像的质量,并且网络中的任何一层都能充分利用其前一层的输出特征图。与只能利用前一层输出特征图的卷积神经网络相比,这种特征图的连接机制体现了特征图的重要性,从而减少了每层所需特征图的数量。
在网络训练过程中,使用均方误差损失函数(MSE)计算输入雾天图像与预测的无雾图像两者差值平方的期望值,即
式中:
式中:
4 实验与结果分析
给出实验数据的获取、设置及实验步骤,对比分析本文算法与传统的经典去雾算法:DCP[5]算法、BCCR[6]算法、SVDSR[7]算法和CAP[8]算法以及基于卷积神经网络的MSCNN[15]算法分别在合成雾天图像数据集和真实自然雾天图像数据集下的去雾结果。
4.1 实验数据与实验设置
实验数据:现实中大量的雾天图像和对应的清晰图像在网络结构的训练中是不可用的,因此采用数据集Middlebury Stereo Datasets通过大气散射模型得到的雾天图像训练网络,挑选50000对有雾和无雾图像作为训练样本,并选取20000幅作为测试样本。
实验设置:利用Caffe框架实现网络,每层的权重均采用均值为0,方差为0.001的高斯分布进行随机初始化, 网络模型采用固定的学习率,设置为0.00001,动量参数设置为0.9,迭代次数为105,利用随机梯度下降法(SGD)和BP算法进行网络优化,完成网络模型的训练和收敛。
4.2 实验步骤
1) 采用数据集Middlebury Stereo Datasets通过大气散射模型获取雾天图像数据集;
2) 将雾天RGB(red,green,blue)图像数据集与清晰RGB图像数据集转换为YUV通道的图像;
3) 对雾天图像与清晰图像的YUV各个通道分别进行网络模型的训练与测试;
4) 经过YUV逆变换恢复出RGB清晰图像;
5) 分析基于合成雾天图像数据集的去雾结果;
6) 分析基于真实雾天图像数据集的去雾结果。
所提算法流程如
4.3 基于合成雾天图像数据集的去雾结果和分析
为验证本文算法对合成雾天图像的去雾效果,将其与现有的经典去雾算法进行实验对比。
由
为了定量地评价这些方法,选取Middlebury Stereo Datasets的合成有雾图像作为测试集,采用方均根误差(RMSE)、通用质量指标(UQI)交叉熵、色调还原度、信息熵、平均梯度、结构相似度(SSIM)和峰值信噪比(PSNR,dB)8种图像评价标准对比合成雾天图像去雾结果,如
由上述可知,与传统算法和基于卷积神经网络的MSCNN方法相比,所提算法具有更加明显的优势,3幅测试图像中的8种评价指标值都相对较优。因此,无论相比传统的经典去雾算法还是基于卷积神经网络的MSCNN算法,所提去雾算法都有良好的表现。
4.4 基于真实雾天图像数据集的去雾结果与分析
讨论自然雾天图像的一些去雾算法,以验证所提算法的有效性。首选现实世界中经常使用的雾天图像,将所提方法与其他算法进行比较,如
由上述可知,在图像House中,DCP算法易产生光晕现象,使其场景不真实;BCCR算法色彩增强;所提方法去雾图像场景自然清晰。在图像Pumpkin中,DCP算法会使天空区域色彩突变;SVDSR算法和MSCNN算法对天空区域的处理出现光晕现象,而本文方法对天空区域能够很好地去雾,且无光晕现象和噪声。在图像Girls中,传统算法对面部和头发的处理都出现了颜色扭曲和色彩失真的现象,而本文方法明显优于其他方法,对面部和头发的处理更加自然。由此可知,所提去雾算法在自然雾天图像上的处理明显优于其他对比算法,去雾图像信息完整,边缘特征和细节丰富,具有良好的去雾结果。
图 4. 不同算法对雾天图像Teddy的去雾结果。(a)雾图;(b)清晰图像;(c) DCP算法;(d) BCCR算法;(e) SVDSR算法;(f) CAP算法;(g) MSCNN算法;(h)所提算法
Fig. 4. Defogging results of foggy image Teddy by different algorithms. (a) Foggy image; (b) original clear image; (c) DCP algorithm; (d) BCCR algorithm; (e) SVDSR algorithm; (f) CAP algorithm; (g) MSCNN algorithm; (h) proposed algorithm
图 5. 不同算法对雾天图像Dolls的去雾结果。(a)雾图;(b)清晰图像; (c) DCP算法;(d) BCCR算法;(e) SVDSR算法;(f) CAP算法;(g) MSCNN算法;(h)所提算法
Fig. 5. Defogging results of foggy image Dolls by different algorithms. (a) Foggy image; (b) original clear image; (c) DCP algorithm; (d) BCCR algorithm; (e) SVDSR algorithm; (f) CAP algorithm; (g) MSCNN algorithm; (h) proposed algorithm
图 6. 不同算法对雾天图像Cloth的去雾结果。(a)雾图;(b)清晰图像; (c) DCP算法;(d) BCCR算法;(e) SVDSR算法;(f) CAP算法;(g) MSCNN算法;(h)所提算法
Fig. 6. Defogging results of foggy image Cloth by different algorithms. (a) Foggy image; (b) original clear image; (c) DCP algorithm; (d) BCCR algorithm; (e) SVDSR algorithm; (f) CAP algorithm; (g) MSCNN algorithm; (h) proposed algorithm
表 2. 图像Teddy采用不同算法去雾后评价指标结果
Table 2. Evaluation indicators of defogging results of image Teddy by different algorithms
|
表 3. 图像Dolls采用不同算法去雾后评价指标结果
Table 3. Evaluation indicators of defogging results of image Dolls by different algorithms
|
表 4. 图像Cloth采用不同算法去雾后评价指标结果
Table 4. Evaluation indicators of defogging results of image Cloth by different algorithms
|
图 7. 自然雾天图像House的去雾结果对比。(a)雾图;(b) DCP算法;(c) BCCR算法;(d) SVDSR算法;(e) CAP算法;(f) MSCNN算法;(g)所提算法
Fig. 7. Comparison of defogging results of natural foggy image House. (a) Foggy image; (b) DCP algorithm; (c) BCCR algorithm; (d) SVDSR algorithm; (e) CAP algorithm; (f) MSCNN algorithm; (g) proposed algorithm
图 8. 自然雾天图像Pumpkin的去雾结果对比。(a)雾图;(b) DCP算法; (c) BCCR算法;(d) SVDSR算法;(e) CAP算法;(f) MSCNN算法;(g)所提算法
Fig. 8. Comparison of defogging results of natural foggy image Pumpkin. (a) Foggy image; (b) DCP algorithm; (c) BCCR algorithm; (d) SVDSR algorithm; (e) CAP algorithm; (f) MSCNN algorithm; (g) proposed algorithm
图 9. 自然雾天图像Girls的去雾结果对比。(a)雾图;(b) DCP算法;(c) BCCR算法;(d) SVDSR算法;(e) CAP算法;(f) MSCNN算法;(g)所提算法
Fig. 9. Comparison of defogging results of natural foggy image Girls. (a) Foggy image; (b) DCP algorithm; (c) BCCR algorithm; (d) SVDSR algorithm; (e) CAP algorithm; (f) MSCNN algorithm; (g) proposed algorithm
为了进一步验证所提算法处理自然雾天图像的有效性,采用平均梯度和信息熵两个重要的无参考图像评价标准对自然雾天图像去雾结果进行对比,如
图 10. 不同算法的对比结果。(a)平均梯度;(b)信息熵
Fig. 10. Comparison results of different algorithms. (a) Average gradient; (b) information entropy
由
5 结论
由于雾霾天气下的大气光照对YUV通道的亮度通道影响较大,因此,提出了基于深度学习的图像去雾算法,其网络结构的设计充分考虑了雾天图像与清晰图像的亮度通道之间的关系。采用端到端的全卷积方法克服了传统算法需要人工提取特征和对比度低的缺点,网络自动识别与雾霾相关的特征,增强视觉对比度,利用场景的固有色彩恢复缺失的纹理信息,并且大量的非线性复杂度和较少的参数有效地提高了网络模型的预测精度,去雾图像色彩自然,具有良好的清晰度和对比度。
[1] McCartney EJ. Optics of the atmosphere: scattering by molecules and particles[M]. New York: John Wiley and Sons, Inc., 1976.
[3] Fattal R. Single image dehazing[J]. ACM Transactions on Graphics, 2008, 27(3): 72.
[4] Tan RT. Visibility in bad weather from a single image[C]∥2008 IEEE Conference on Computer Vision and Pattern Recognition, June 23-28, 2008, Anchorage, AK, USA. New York: IEEE, 2008: 4587643.
[6] Meng GF, WangY, Duan JY, et al. Efficient image dehazing with boundary constraint and contextual regularization[C]∥2013 IEEE International Conference on Computer Vision, December 1-8, 2013, Sydney, NSW, Australia. New York: IEEE, 2013: 617- 624.
[7] Li ZW, TanP, Tan RT, et al. Simultaneous video defogging and stereo reconstruction[C]∥2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 7-12, 2015, Boston, MA, USA. New York: IEEE, 2015: 4988- 4997.
[11] YamanakaJ, KuwashimaS, KuritaT. Fast and accurate image super resolution by deep CNN with skip connection and network in network[M] ∥ Liu D, Xie S, Li Y, et al. Neural information processing. Cham: Springer, 2017: 217- 225.
[12] Wang ZW, LiuD, Yang JC, et al. Deep networks for image super-resolution with sparse prior[C]∥2015 IEEE International Conference on Computer Vision (ICCV), December 7-13, 2015, Santiago, Chile. New York: IEEE, 2015: 370- 378.
[15] Ren WQ, LiuS, ZhangH, et al. Single image dehazing via multi-scale convolutional neural networks[M] ∥Leibe B, Matas J, Sebe N, et al. Computer vision-ECCV 2016. Cham: Springer, 2016: 154- 169.
[16] 徐岩, 孙美双. 基于多特征融合的卷积神经网络图像去雾算法[J]. 激光与光电子学进展, 2018, 55(3): 031012.
[17] Li J J, Li G H, Fan H. Image dehazing using residual-based deep CNN[J]. IEEE Access, 2018, 6: 26831-26842.
[18] 代书博, 徐伟, 朴永杰, 等. 基于暗原色先验的遥感图像去雾方法[J]. 光学学报, 2017, 37(3): 0328002.
[19] 董亚运, 毕笃彦, 何林远, 等. 基于非局部先验的单幅图像去雾算法[J]. 光学学报, 2017, 37(11): 1110001.
Article Outline
赵建堂. 基于深度学习的单幅图像去雾算法[J]. 激光与光电子学进展, 2019, 56(11): 111005. Jiantang Zhao. Single-Image Defogging Algorithm Based on Deep Learning[J]. Laser & Optoelectronics Progress, 2019, 56(11): 111005.