一种基于深度学习的图像去雾方法与流程

文档序号:24649240发布日期:2021-04-13 16:54阅读:389来源:国知局
一种基于深度学习的图像去雾方法与流程

1.本发明属于图像处理技术领域,具体涉及一种基于深度学习的图像去雾方法。


背景技术:

2.雾霾天气是一种常见的天气现象,雾霾天气中包含的粒子使得大气光散射,从而造成拍摄的图像质量严重降低。在伴随有沙尘的雾霾天气情况下,甚至会严重干扰人们的视觉问题。因此,对于去雾图像处理对图像研究领域以及社会发展有着重要的积极作用,并且许多优秀的去雾算法已经孕育而生。目前,利用图像增强和图像复原是两类主要的去雾算法。图像增强算法不考虑图像降质的本质原由,仅从增加图像对比度和凸显有用细节入手,虽然在一定程度上有去雾的效果,但丢失了很多图像细节,对于雾天车辆检测图像,其本身由于光照,杂质影响,图像细节不够明显,车辆特征不够突出,因此不采用图像增强算法。基于物理模型是当前去雾算法研究被广为使用的一种方法,2011年,he等人提出了一种暗原色先验的去雾理论假设,利用引导滤波细化透射率恢复图像,在物体对象亮度接近天空光亮度时候,这种基于统计规律得出的先验去雾方法将不能够取得较好的去雾效果;zhu等人提出一种颜色衰减先验去雾算法,通过建立有雾图像的线性模型并利用监督学习方法来恢复出场景深度信息,该方法可以复原出较多的细节信息,但仍存在一定程度残雾;wang等人提出一种基于线性传输的去雾算法,该算法运行速度较快,但存在去雾越彻底,复原图像整体越暗的现象。


技术实现要素:

3.本发明的目的在于提供一种基于深度学习的图像去雾方法,以克服现有技术的不足。
4.为达到上述目的,本发明采用如下技术方案:
5.一种基于深度学习的图像去雾方法,包括以下步骤:
6.s1,建立基于深度学习的图像去雾模型,
7.t0为阈值,x为图像像素点,i(x)是待去雾图像,j(x)是需要恢复的无雾图像,a是大气光值,t(x)是透射率;
8.s2,对待处理图像进行预处理形成统一大小的图像;
9.s3,对预处理后的待处理图像依次进行ds卷积处理和池化处理,然后通过上采样处理得到透射率值;
10.s4,将预处理后的待处理图像在膨胀卷积层中进行膨胀卷积处理,然后将膨胀卷积处理后的图像进行池化处理,将池化处理后的图像进行降维到大小为256、10和1的图像,即可得到大气光值;
11.s5,将得到的透射率值和大气光值依次代入图像去雾模型中,即可得到无雾图像。
12.进一步的,基于卷积神经网络的深层架构,所建立图像去雾模型为:
13.j(x)=k(x)i(x)

k(x)+k
ꢀꢀꢀꢀꢀꢀ
(1)
[0014][0015]
进一步的,t0取值为0.1。
[0016]
进一步的,将待处理图像整理成大小为640*480*3的图像。
[0017]
进一步的,采用ds卷积层对待处理图像进行ds卷积处理,
[0018]
进一步的,ds卷积包括深度卷积和逐点卷积,深度卷积对每个输入通道采用不同的卷积核,即一个卷积核对应一个输入通道;逐点卷积采用1
×
1 卷积核进行卷积操作。
[0019]
进一步的,在最后一层卷积中使用relu激活函数,采用一个1
×
1的卷积核,将得到的深度为10的特征图转为深度为1的特征图,relu激活函数为:
[0020]
z为特征图的每个像素值。
[0021]
进一步的,采用最大池化层对ds卷积处理后图像进行池化处理,在池化处理后采用上采样层处理得到透射率值。
[0022]
进一步的,采用膨胀卷积发基于最大卷积核进行卷积处理。
[0023]
进一步的,卷积处理后采用最大池化层进行池化处理,最后采用全连接层将池化处理后的图像依次降维到大小为256、10和1的图像即可得到大气光值。
[0024]
与现有技术相比,本发明具有以下有益的技术效果:
[0025]
本发明一种基于深度学习的图像去雾方法,通过建立基于深度学习的图像去雾模型,形成考虑大气光值和透射率的去雾模型,然后对待处理图像进行预处理形成统一大小的图像,对预处理后的待处理图像依次进行ds卷积处理和池化处理,然后通过上采样处理得到透射率值,提高了计算速度,将预处理后的待处理图像在膨胀卷积层中进行膨胀卷积处理,然后将膨胀卷积处理后的图像进行池化处理,将池化处理后的图像进行降维到大小为256、10 和1的图像,即可得到大气光值,将得到的透射率值和大气光值依次代入图像去雾模型中,即可得到无雾图像,本发明能够保留更多的原始图像信息,去雾效果干净,具有较强的鲁棒性。
[0026]
进一步的,基于卷积神经网络的深层架构,所建立图像去雾模型为:
[0027]
j(x)=k(x)i(x)

k(x)+k
ꢀꢀꢀꢀꢀ
(1)
[0028][0029]
进一步的,t0取值为0.1,能够提高图像的清晰度。
[0030]
进一步的,采用ds卷积层对待处理图像进行ds卷积处理,会大幅度的减少计算量和模型参数,进而提升运算效率。
[0031]
进一步的,在池化层后我们添加了上采样层来保证特征图大小不变,维持特征图的平移和旋转不变性。
附图说明
[0032]
图1为本发明实施例中图像去雾模型图。
[0033]
图2为本发明实施例中激活函数计算参数图。
[0034]
图3为本发明实施例中its数据集中部分原始图。
[0035]
图4为本发明实施例中通过本申请方法和现有方法处理后得到的无雾图;图4a为dcp算法去雾后图,图4b为retinex算法去雾后图,图4c为cap 算法去雾后图,图4d为dehazenet算法去雾后图,图4e为本申请方法去雾后图。
[0036]
图5为本发明实施例中有雾图和通过本申请方法及现有方法处理后得到的无雾图;图5a为有雾原始图;图5b为dcp算法去雾后图,图5c为retinex 算法去雾后图,图5d为cap算法去雾后图,图5e为dehazenet算法去雾后图,图5f为本申请方法去雾后图。
具体实施方式
[0037]
下面结合附图对本发明做进一步详细描述:
[0038]
如图1所示,一种基于深度学习的图像去雾方法,包括以下步骤:
[0039]
s1,建立基于深度学习的图像去雾模型;
[0040]
具体的,基于卷积神经网络的深层架构,所建立图像去雾模型为:
[0041]
j(x)=k(x)i(x)

k(x)+k
ꢀꢀꢀꢀꢀꢀ
(1)
[0042][0043]
式中,x为图像像素点,i(x)是待去雾图像,j(x)是需要恢复的无雾图像, a是大气光值,t(x)是透射率,k为中间参数;
[0044]
利用以上图像去雾模型,符合深度学习工作原理,并且显示了卷积方法的有效性,因此,本文使用深度学习方法进行图像去雾;考虑设定阈值,得到变换后的去雾图像:
[0045]
t0为阈值,本申请中,t0取值为0.1,能够避免当t(x)很小的时候,导致j(x) 值很大,从而造成图片会受到强烈的噪声影响,提高图像的清晰度。
[0046]
s2,对待处理图像进行预处理形成统一大小的图像;
[0047]
具体的:将待处理图像整理成大小为640*480*3的图像,完成预处理;
[0048]
s3,对预处理后的待处理图像依次进行ds卷积处理和池化处理,然后通过上采样处理得到透射率值;
[0049]
具体的,采用ds卷积层对待处理图像进行ds(depthwise separable convolution)卷积处理,ds卷积包括深度卷积(depthwise convolution) 和逐点卷积(pointwise convolution),深度卷积对每个输入通道采用不同的卷积核,即一个卷积核对应一个输入通道;逐点卷积采用1
×
1卷积核进行卷积操作,深度卷积和逐点卷积结合,能够大幅度的减少计算量和模型参数,进而提升运算时间。
[0050]
ds卷积处理,使用relu激活函数,如图2所示,在最后一层卷积中,由于输出的透射率图是灰度图,所以采用一个1
×
1的卷积核,可以将前面的深度为10的特征图转为深度为1,1
×
1卷积核不仅可以保留前层的平面架构信息,也可以起到将低深度的作用。
[0051]
relu激活函数为:
[0052]
z为特征图的每个像素值,即该像素值代表透射率值;经过激活函数计算,透射率
的值在0到1之间。
[0053]
采用最大池化层对ds卷积处理后图像进行池化处理,最大池化层能够很好地维持特征图的平移和旋转不变性,在池化处理后采用上采样层处理得到透射率值,利用上采样层处理来保证特征图大小不变;
[0054]
s4,将预处理后的待处理图像在膨胀卷积层中进行膨胀卷积处理,然后将膨胀卷积处理后的图像进行池化处理,将池化处理后的图像进行降维到大小为256、10和1的图像,即可得到大气光值;
[0055]
大气光值和整幅图像相关,所以采用最大卷积核进行卷积处理,这样感受野较大,有利于这部分的工作,同时综合计算量,我们采取膨胀卷积的方法,这样做的好处是在不丢失太多信息的情况下,加大了感受野,让卷积层输出包含较大范围的图片特征信息。该部分特征提取相对简单,所以我们设置了两层卷积层。采用最大池化层进行池化处理,这样可以在保持不变形的基础上起到降维的作用,最后,采用全连接层将池化处理后的图像依次降维到大小为256、10和1的图像,即可得到大气光值;
[0056]
s5,将得到的透射率值和大气光值依次代入图像去雾模型中,即可得到无雾图像。
[0057]
试验结果定量评价:使用reside中的公开数据集its以及搜集雾天图像对图像去雾模型进行训练,在深度学习网络框架pytorch进行实现。在本文训练方法中,使用adam优化损失函数,调整batch size值为16,设定初始学习率的值为0.01,当训练为20000步后,设定学习率为0.0001,并且当损失函数不再下降停止训练。
[0058]
采用现有dcp算法、retinex算法、cap算法以及深度学习aod

net和 dehazenet算法作为对比方法,和本文方法进行对比检验;为了对图像去雾模型的网络架构进行定量分析,对采用的数据集进行人工加雾处理,将its 数据集进行人工加雾处理,并且搜集雾天图像,最终包含8410张训练图像数据集,部分加雾图片如图3展示,由于部分数据集原始图像中本身包含有一定量的雾程度,会对试验造成一定的影响,所以本文对部分数据集进行定性评价。
[0059]
该试验部分我们使用在图像去雾中被广泛使用的以结构相似性ssim (structural similarity)及峰值信噪比psnr(peak signal

to

noise ratio) 两个指标来衡量我们试验结果的标准,实验结果如表1所示:
[0060]
表1数据集图像去雾结果指标
[0061]
不同指标dcpretinexcapaod

netdehazenet本文算法ssim12.3113.7914.1514.8616.7817.33psnr0.660.670.710.730.770.79
[0062]
如图4所示,数据集去雾结果对比图,其中,dcp、cap以及aodnet两者去雾算法自身设计导致不能够将原始无雾图像和有雾图像的映射关系很好的表达出来,从而导致去雾效果不够理想。而retinex去雾效果造成图像整体偏向灰色,dehazenet结构中也同样采用一定的手工特征,造成图像去雾不整洁。本文提出的深度学习算法网络,去雾效果好,细节恢复更多,具有更强的鲁棒性。
[0063]
实验结果定性分析:将本文提出的方法与上述几种方法仍在相同的条件下进行对比实验,原始图形和对比处理后结果如图5所示。其中dcp算法去雾后图像出现光晕,其原因是因为大气模型估计值偏差较大。cap算法经去雾后,图像丢失了部分原,始颜色,效果较
差。同样,aod

net算法由于本身结构的问题,导致去雾效果较差。retinex去雾后图像呈灰色。dehazenet 图像发黑,丢失了原有图像的信息。而本文提出的深度学习网络去雾效果较好,不仅恢复了更多原始图像信息,而且具有较强的鲁棒性。
[0064]
通过与当前流行的去雾算法相比,包括传统算法与深度学习算法,实验表明,本文提出的新的方法能保留更多的原始图像信息,去雾效果干净,具有较强的鲁棒性。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1