CN110097519B - 基于深度学习的双监督图像去雾方法、***、介质和设备 - Google Patents
基于深度学习的双监督图像去雾方法、***、介质和设备 Download PDFInfo
- Publication number
- CN110097519B CN110097519B CN201910350268.0A CN201910350268A CN110097519B CN 110097519 B CN110097519 B CN 110097519B CN 201910350268 A CN201910350268 A CN 201910350268A CN 110097519 B CN110097519 B CN 110097519B
- Authority
- CN
- China
- Prior art keywords
- image
- neural network
- transmission diagram
- convolution
- network system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000013135 deep learning Methods 0.000 title claims abstract description 33
- 238000012544 monitoring process Methods 0.000 title claims abstract description 13
- 238000010586 diagram Methods 0.000 claims abstract description 124
- 230000005540 biological transmission Effects 0.000 claims abstract description 122
- 230000006870 function Effects 0.000 claims abstract description 94
- 238000013528 artificial neural network Methods 0.000 claims abstract description 93
- 238000011084 recovery Methods 0.000 claims abstract description 29
- 238000004364 calculation method Methods 0.000 claims abstract description 26
- 238000012549 training Methods 0.000 claims abstract description 26
- 238000010276 construction Methods 0.000 claims abstract description 10
- 230000004913 activation Effects 0.000 claims description 22
- 238000005070 sampling Methods 0.000 claims description 18
- 238000000605 extraction Methods 0.000 claims description 17
- 238000001914 filtration Methods 0.000 claims description 15
- 238000003062 neural network model Methods 0.000 claims description 15
- 238000011176 pooling Methods 0.000 claims description 14
- 238000012545 processing Methods 0.000 claims description 13
- 238000013507 mapping Methods 0.000 claims description 9
- 238000011478 gradient descent method Methods 0.000 claims description 8
- 238000009499 grossing Methods 0.000 claims description 7
- 230000009977 dual effect Effects 0.000 claims description 4
- 238000007670 refining Methods 0.000 claims 2
- 230000000694 effects Effects 0.000 description 21
- 238000012360 testing method Methods 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 4
- 230000003247 decreasing effect Effects 0.000 description 3
- 230000008034 disappearance Effects 0.000 description 2
- 238000004880 explosion Methods 0.000 description 2
- 238000005562 fading Methods 0.000 description 2
- 238000003384 imaging method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003912 environmental pollution Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000010191 image analysis Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/73—Deblurring; Sharpening
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于深度学习的双监督轻量级图像去雾方法、***、介质和设备,该方法步骤为:获取有雾图像、标签无雾图像;构建神经网络***;训练神经网络***;有雾图像输入到神经网络***得到第一传输图,有雾图像经图像恢复算法后得第二传输图;第一、第二传输图进行均方差计算得到损失函数Lt;第一传输图进行大气散射模型逆运算,得到去雾图像;去雾图像与标签无雾图像对比得到损失函数Ld;Lt和Ld按设定的比例结合得到Ltotal;有雾图像输入到训练好的神经网络***得到去雾图像;该***包括有雾、无雾图像样本获取模块、神经网络***构建模块和神经网络***训练模块,本发明的网络参数量级小,训练时间少,能避免主观设定,增强去雾效果。
Description
技术领域
本发明涉及图像处理技术领域,尤其涉及一种基于深度学习的双监督轻量级图像去雾方法、***、介质和设备。
背景技术
随着环境污染的加剧,雾霾天气越发频繁。由于受到空气中的悬浮粒子(如雾、霾等)的散射作用,恶劣天气不仅导致能见度低,而且在雾霾天气下拍摄的图像,往往有对比度低,色彩偏移,视觉效果差等退化问题。大多数的室外视觉***都需要清晰准确地提取图像特征,图像质量的降低将会影响后续计算机视觉任务的有效性。
在早期的研究中,是采用基于图像增强的方法,仅仅提高了雾霾图像的对比度,而不考虑物理模型。目前主流的去雾算法,是基于雾霾图片成像模型的图像恢复算法。近年来的霾图像恢复算法都是基于大气散射模型的图像恢复算法。利用成像设备获取数据,对大气散射模型参数进行估计,从而恢复出无雾的图像。大气散射模型描述为:I(x)=t(x)J(x)+A(1-t(x));其中I是有雾图像的颜色值,J是场景无雾情况下的颜色值,A是大气光强,而t是场景色彩在各个区通过程度的描述,称作传输图。去雾方法的本质,就是从I获取J、A和t,其中t的求取尤为重要。基于图像恢复的手段进行图像处理时,若不使用外借设备测出图像景深,则需要利用暗通道先验或者色彩衰退先验等方法估计图像景深,但是这些先验知识是一种基于常规情况的假设,若要处理不符合假设条件的雾霾图像时,则会影响去雾效果。
发明内容
为了克服现有技术存在的缺点与不足,本发明提供一种基于深度学习的双监督轻量级图像去雾方法,通过自主地学习数据集的统计规律,减少了人为主观因素的干预,从而通过训练模型实现单幅图像去雾。
本发明的第二目的在提供一种基于深度学习的双监督轻量级图像去雾***。
本发明的第三目的在于提供一种存储介质。
本发明的第四目的在于提供一种计算设备。
为了达到上述目的,本发明采用以下技术方案:
本发明提供一种基于深度学习的双监督图像去雾方法,包括下述步骤:
S1:获取有雾图像、标签无雾图像;
S2:构建神经网络***,具体为:
S21:通过下采样提取图像主要特征并缩小图片尺寸;
S22:采用编码-解码网络结构及零填充提取不同层次的特征,输出特征图;
S23:采用上采样将输出的特征图恢复到原始尺寸;
S3:训练神经网络***,具体为:
S31:有雾图像输入到构建的神经网络***得到第一传输图,有雾图像采用图像恢复算法得到第二传输图;
S32:第一传输图和第二传输图进行均方差计算,得到传输图的损失函数Lt;
S33:第一传输图输入到大气散射模型进行逆运算,得到去雾图像;
S34:去雾图像与标签无雾图像进行对比,得到去雾图像的损失函数Ld;
S35:将传输图的损失函数Lt和去雾图像的损失函数Ld按设定的比例结合,得到在梯度下降算法中的损失函数Ltotal;
S36:采用后向传播算法计算隐含层误差,采用梯度下降算法更新神经网络参数;
S4:有雾图像输入到训练好的神经网络***输出第三传输图,第三传输图输入到大气散射模型中得到去雾图像。
作为优选的技术方案,步骤S2所述的构建神经网络***,具体步骤如下所述:
S21:下采样:通过设置卷积层提取图像特征,通过设置最大池化层提取图像最显著的特征,并缩小图像尺寸;
S22:特征提取:采用编码-解码网络结构,设置一一对应的卷积层和反卷积层,通过卷积层和反卷积层提取图像特征,卷积层和反卷积层进行卷积、反卷积时均采用零填充;
采用ELU激活函数对每一层卷积层和反卷积层的输出特征图进行非线性激活,经过编码-解码网络结构后输出3通道的特征图;
采用单个卷积核对输入3通道的特征图进行卷积,输出单通道的特征图;
采用Sigmoid函数对单通道的特征图进行非线性映射,输出特征图;
S23:上采样:采用双线性插值将输出的特征图恢复原始尺寸,并使用卷积操作对双线性插值的结果进行平滑处理。
作为优选的技术方案,步骤S31所述有雾图像采用图像恢复算法得到第二传输图,具体步骤如下:采用5×5的窗口取暗通道值,得到初始第二传输图,采用Sobel算子对初始第二传输图进行边缘提取,采用均值滤波在初始第二传输图的边缘处进行模糊后输出第二传输图。
作为优选的技术方案,步骤S32所述传输图的损失函数Lt为:
作为优选的技术方案,步骤S34所述去雾图像的损失函数Ld为:
其中,I为输入图像,J为无雾的图像,W、H和C分别为输入图像的宽、高和通道数,g为大气散射模型的逆运算,具体为:
A取值为1,f为需要训练的神经网络模型。
作为优选的技术方案,步骤S35所述的在梯度下降算法中的损失函数Ltotal为:
Ltotal=mLt+nLd,
其中,m和n为比例系数。
作为优选的技术方案,步骤S36采用后向传播算法计算隐含层误差和梯度下降法更新神经网络参数,具体为:对于卷积层的参数wi和偏差bi每次迭代的更新公式如下:
其中α为学习率。
为了到达上述第二目的,本发明采用以下技术方案:
一种基于深度学习的双监督图像去雾***,包括:
有雾图像及无雾图像样本获取模块、神经网络***构建模块和神经网络***训练模块;
所述有雾图像及无雾图像样本获取模块用于获取有雾图像及无雾图像样本,无雾图像样本作为标签对比样本;
所述神经网络***构建模块用于构建神经网络***,所述神经网络***包括下采样模块、特征提取模块和上采样模块;
所述下采样模块包括卷积层、最大池化层,所述卷积层用于提取图像特征,所述最大池化层用于提取出图像最显著的特征,并减小图像尺寸;
所述特征提取模块先采用编码一解码网络结构,包括卷积层和反卷积层,卷积层的卷积核大小分别为3×3,5×5,5×5,所述反卷积层与卷积层一一对应,所述卷积层与反卷积层进行卷积和反卷积时采用零填充,并且设置有ELU激活函数计算模块对每一个卷积层和反卷积层的输出结果进行非线性激活;所述编码-解码网络结构输出3通道的特征图,在所述编码-解码网络结构后设有单个卷积核的卷积层,单个卷积核的卷积层输出单通道的特征图,在所述单个卷积核的卷积层后设有Sigmoid函数计算模块,Sigmoid函数计算模块用于将单通道特征图中的值映射到[0,1]的范围内;
所述上采样模块用于将原图像缩小倍数的特征图恢复成原始尺寸,包括双线性插值操作单元和卷积操作单元,双线性插值操作单元使输出的特征图恢复原始尺寸,卷积操作单元对双线性插值的结果进行平滑处理;
所述神经网络***训练模块用于迭代训练神经网络***,构建梯度下降算法中的损失函数Ltotal,采用后向传播算法计算隐含层误差,采用梯度下降算法更新神经网络参数。
为了达到上述第三目的,本发明采用以下技术方案:
一种存储介质,存储有程序,所述程序被处理器执行时实现如权利要求1-7任一项所述的基于深度学习的双监督图像去雾方法。
为了达到上述第四目的,本发明采用以下技术方案:
一种计算设备,包括处理器和用于存储处理器可执行程序的存储器,所述处理器执行存储器存储的程序时,实现权利要求1-7任一项所述的基于深度学习的双监督图像去雾方法。
本发明与现有技术相比,具有如下优点和有益效果:
(1)本发明采用编码-解码的网络结构估计第一传输图,并以采用先5×5的窗口以暗通道先验方法求出再使用Sobel算子和均值滤波精化而得的第二传输图作为引导,结合传输图和去雾图两者误差设计损失函数,共同监督神经网络训练和学习过程,神经网络参数量级较小,训练时间较少,可以弥补有雾图像中的先验知识不足,避免主观设定,有效改善室内外各种场景下拍摄的有雾图像。
(2)本发明特征提取部分采用编码-解码网络结构,能够有效的提取不同层次的特征,并且编码-解码结构能够使神经网络在训练时避免梯度消失和梯度***问题。
(3)本发明采用双误差损失函数将图像恢复去雾算法和神经网络去雾算法结合,用传统的去雾算法作为引导作用,使神经网络能够更加精简,同时也可以利用神经网络的泛化能力,改善传统去雾算法在人工提取特征时,测试数据量小且有主观影响导致的误差。
(4)本发明采用ELU激活函数对每一卷积层和反卷积层的输出结果进行非线性激活,避免神经网络出现过多的死节点,采用不同尺寸的卷积核提取出不同层次的图像特征,并且编码-解码网络结构的跳跃连接,将不同层次的特征融合,保留了图像的主要特征,与此同时,因为编码-解码网络结构采用ELU激活函数和跳跃连接,可以抑制梯度消失问题。
附图说明
图1为本实施例基于深度学习的双监督轻量级图像去雾***的神经网络***构建模块结构示意图;
图2为本实施例的基于深度学习的双监督轻量级图像去雾方法的训练流程示意图;
图3为本实施例的基于深度学习的双监督轻量级图像去雾方法的测试流程示意图;
图4中(a)列-(e)列分别为有雾样本图、无雾参考图、DehazeNet去雾效果图、AOD-Net去雾效果图、基于深度学习的双监督轻量级图像去雾方法的去雾效果图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例1
在本实施例中,提供一种基于深度学习的双监督轻量级图像去雾***,包括:有雾图像及无雾图像样本获取模块、神经网络***构建模块和神经网络***训练模块;
所述有雾图像及无雾图像样本获取模块用于获取有雾图像及无雾图像样本,无雾图像样本作为标签对比样本;
如图1所示,神经网络***构建模块用于构建神经网络***,所述神经网络***包括下采样模块、特征提取模块和上采样模块;
下采样模块:下采样模块包括卷积层、最大池化层,由卷积层提取图像特征,再使用最大池化操作,其作用是减少图像尺寸,使后续的网络计算能够更快的完成。类似暗通道的极值操作,通过最大池化提取出图像最显著的特征,然后使用深层的网络结构对特征进行映射,使最后的输出结果更接近传输图。池化操作的步长为5,经过池化操作后,特征图大小为原图尺寸的1/25。通过下采样部分,保留输入图像主要特征的同时,减少数据量,加快计算速度;
特征提取模块:特征提取模块主要采用编码-解码网络结构,能够有效的提取不同层次的特征,并且编码-解码网络结构能够使神经网络在训练时避免梯度消失和梯度***问题。卷积层的卷积核大小分别为3×3,5×5,5×5,并且有对应的反卷积层,且在使用这些滤波器进行卷积和反卷积的同时,都采用了pad填充(零填充),以保证每一层输出特征图大小不变。此外,在编码-解码网络结构中,使用ELU激活函数计算模块对每一卷积层和反卷积层的输出结果进行非线性激活,ELU激活函数计算模块避免网络出现过多的死节点。不同尺寸的卷积核可以提取出不同层次的图像特征,同时编码-解码网络结构的跳跃连接将卷积层和反卷积层一一对应,可以将不同层次的特征融合,保留了图像的主要特征。
在编码-解码结构之后,采用单个卷积核的卷积层对输入3通道的特征图进行卷积,使其输出为单通道的特征图,并采用Sigmoid函数计算模块对输出的结果进行非线性映射。使用Sigmoid函数计算模块的原因在于,Sigmoid函数的映射范围为[0,1],与归一化后的传输图值范围一致。尽管Sigmoid函数会造成梯度消失,但是由于该层已经靠近输出层,并且在编码-解码结构中采用ELU激活函数和有跳跃连接的存在,可以抑制梯度消失问题。经过Sigmoid函数非线性激活后,得到的就是出比原图像尺寸小25倍的对应的特征图。
上采样模块:上采样模块使特征图恢复成原始尺寸;由于神经网络的输出结果需要和对应的标签图片大小对应,因此需要将缩小后的特征图恢复原本大小。步骤分为两步:第一,使用双线性插值使输出的特征图大小恢复,第二,使用卷积操作对双线性插值的结果进行平滑。双线性插值的算法比较简单,可以较快地完成图像大小恢复任务。但是双线性插值往往有误差,因此需要利用具有学***滑,使最后的效果更为自然。
神经网络***训练模块用于迭代训练神经网络***,构建梯度下降算法中的损失函数Ltotal,采用后向传播算法计算隐含层误差,采用梯度下降算法更新神经网络参数。
在本实施例中,神经网络结构相关的超参数,比如输入图像大小、滤波尺寸与滤波核数量等如表1所示,而ELU函数与Sigmoid函数的运算不涉及超参数,因此不在表中展示。
表1:神经网络结构相关的超参数表
在本实施例中,卷积神经网络可以看作是多个滤波器,只不过卷积滤波器的权值是通过学习所得。现有的基于深度学习的去雾算法,往往有网络模型复杂,训练时间长,处理时间慢等问题,而本实施例中的图像去雾***较为简单,参数量小,相较于DehazeNet和AOD-net在计算速度上有明显地提升,并且去雾效果并没有太大差距。
实施例2:
如图2所示,本实施例提供一种基于深度学习的双监督图像去雾方法,包括下述步骤:
S1:获取有雾图像、标签无雾图像;
S2:构建神经网络***,将神经网络的卷积核权值初始化为高斯随机分布,并设置偏差值;本实施例中,对神经网络中的卷积核权值w初始化为均值为0方差为0.05的高斯随机分布,偏差b设置为0.1的常数;
具体的神经网络***构建步骤为:
S21:下采样:通过卷积层提取图像特征,通过最大池化层提取图像最显著的特征,并减小图像尺寸,使后续的网络计算能够更快的完成;
S22:特征提取:采用编码-解码网络结构,通过卷积层和反卷积层提取图像特征,卷积层和反卷积层进行卷积、反卷积时均采用pad填充;
采用ELU激活函数对每一层卷积层和反卷积层的输出特征图进行非线性激活,经过编码-解码网络后输出3通道的特征图;
采用单个卷积核对输入3通道的特征图进行卷积,输出单通道的特征图;
采用Sigmoid函数对单通道的特征图进行非线性映射,得到原图像缩小倍数的特征图;
S23:上采样:采用双线性插值使输出的特征图恢复原始尺寸,并使用卷积操作对双线性插值的结果进行平滑处理;
S3:训练神经网络***;
S31:有雾图像输入到构建的神经网络***得到第一传输图,有雾图像采用图像恢复算法得到第二传输图;其中,图像恢复算法具体如下:采用5×5的窗口取暗通道值,得到初始第二传输图,采用Sobel算子对初始第二传输图进行边缘提取,采用均值滤波在初始第二传输图的边缘处进行模糊后输出第二传输图;
S32:第一传输图和第二传输图进行均方差计算,得到传输图的损失函数Lt;
S33:第一传输图输入到大气散射模型进行逆运算,得到去雾图像;
S34:去雾图像与标签无雾图像进行对比,得到去雾图像的损失函数Ld;
S35:将传输图的损失函数Lt和去雾图像的损失函数Ld按设定的比例结合,得到在梯度下降算法中的损失函数Ltotal;
S36:用后向传播算法计算隐含层误差和梯度下降法更新网络参数,对于某个卷积的参数wi和偏差bi每次迭代的更新公式如下:
其中α为学习率,在本实施例中使用指数衰减学习率,初始学习率为0.001,衰减速度为150,衰减率为0.9;
S4:如图3所示,有雾图像输入到训练好的神经网络***输出第三传输图,第三传输图输入到大气散射模型中得到去雾图像。
在本实施例中提出的双误差损失函数,将图像恢复去雾算法和卷积神经网络去雾算法结合,用传统的去雾算法作为引导作用,使网络能够更加精简的达到效果,同时也可以利用神经网络的泛化能力,改善传统去雾算法中,先验知识的局限性,减少在人工提取特征时,测试数据量小且有主观影响导致的误差,具体的计算方式如下所述:
将神经网络模型输出的第一传输图与图像恢复算法处理得到的第二传输图进行均方差(MSE)计算,得到针对传输图的损失函数Lt:
其中,I为输入图像,f为需要训练的神经网络模型,的算法为用5×5的窗口以暗通道先验方法求出第二传输图,并且使用Sobel算子和均值滤波精化第二传输图,W和H分别为输入图像的宽和高;再将经过大气散射模型逆运算得到的去雾后的图像与参照的清晰无雾的图像做对比,得到针对去雾后图像的损失函数:
I为输入图像,g为大气散射模型的逆运算,J为无雾的图像,W、H和C分别为输入图像的宽、高和通道数,g为大气散射模型的逆运算,具体为:
A取值为1,f为需要训练的神经网络模型。
最后将两个损失函数按一定比例结合,得到在梯度下降法中所使用的损失函数:
Ltotal=mLt+nLd,
其中,m和n为比例系数,在本实施例中,取值m=0.2,n=0.8;
在迭代训练的过程中,使损失函数Ltotal下降,表明传输图之间的差距和图像之间的差距都在不断减少。图像恢复算法所求的第二传输图作为引导作用,能够使神经网络求出传输图达到去雾效果,而去雾后的图像误差能够弥补图像恢复算法的不足之处,减少人工假设先验知识的局限性,提高最终神经网络去雾效果。
训练实施步骤如下:
(1)首先采用NYU2提供的无雾图像和景深图生成有雾图像。可以利用大气散射模型合成出有雾图像。其中大气光值A从(0.7,1.0)中随机生成,衰退系数β从(0.5,1.5)中随机生成,原图有2284张,每张图像的大小皆为480×640,程序执行7次后共生成15988组图片作为数据集。并使用小窗口的暗通道先验和改进滤波求出第二传输图。
(2)神经网络超参数中,批大小设置为16,每一批含有3个部分:有雾图作为输入数据,第二传输图作为Lt的对应标签,无雾原图像作为Ld的对应标签,网络权值初始化为均值为0方差为0.05的高斯随机分布,初始学习率为0.001,双误差损失函数式中,m=0.2,n=0.8。本实验采用具有自适应学习率的Adam优化方法,训练共执行16个周期。
测试实施步骤如下:
使用训练后的神经网络模型参数作为滤波组来对输入的有雾图像进行去雾处理。
实施结果:
在本实施例中,基于深度学习的双监督轻量级图像去雾方法的神经网络与现有的DehazeNet、AOD-Net模型的推断时间对比表如表2所述:
表2:本实施例去雾神经网络与DehazeNet、AOD-Net模型推断时间对比表
神经网络模型 | DehazeNet | AOD-Net | 本实施例去雾神经网络 |
室内图像推断时间(s) | 50.48259 | 1.147672 | 0.046583 |
室外图像推断时间(s) | 44.50722 | 1.140234 | 0.045566 |
本实施例所提出的神经网络结构最好在Nvidia 2080Ti GPU上训练,基于tensorflow框架。训练好的神经网络模型,无需使用GPU,也能达到较快的处理效果。
本实施例设计的深度学习的双监督轻量级图像去雾***的神经网络经过合成数据集训练后,能够改善基于图像恢复算法的局限性,如图4所示,本实施例使用的基于深度学习的双监督轻量级图像去雾方法能达到现有的主流算法的效果,并且在处理速度上大大加快,可以应用到实时图像去雾处理上。
本实施例深度学习的双监督轻量级图像去雾方法提高户外视觉***在恶劣天气下的可靠性和鲁棒性,对低质量的雾霾图像进行快速、有效的去雾处理,具有广阔的应用前景,可广泛应用于航拍、水下图像分析、户外视频监控、日常照片处理,以及现有车辆、飞机、船只的安全辅助驾驶***或车辆自动驾驶等诸多领域。
实施例3
本实施例还提供一种存储介质,存储介质可以是ROM、RAM、磁盘、光盘等储存介质,该存储介质存储有一个或多个程序,所述程序被处理器执行时,实现实施例2基于深度学习的双监督图像去雾方法,该方法包括下述步骤:
S1:获取有雾图像、标签无雾图像;
S2:构建神经网络***,将神经网络的卷积核权值初始化为高斯随机分布,并设置偏差值;本实施例中,对神经网络中的卷积核权值w初始化为均值为0方差为0.05的高斯随机分布,偏差b设置为0.1的常数;
具体的神经网络***构建步骤为:
S21:下采样:通过卷积层提取图像特征,通过最大池化层提取图像最显著的特征,并减小图像尺寸,使后续的网络计算能够更快的完成;
S22:特征提取:采用编码-解码网络结构,通过卷积层和反卷积层提取图像特征,卷积层和反卷积层进行卷积、反卷积时均采用pad填充;
采用ELU激活函数对每一层卷积层和反卷积层的输出特征图进行非线性激活,经过编码-解码网络后输出3通道的特征图;
采用单个卷积核对输入3通道的特征图进行卷积,输出单通道的特征图;
采用Sigmoid函数对单通道的特征图进行非线性映射,得到原图像缩小倍数的特征图;
S23:上采样:采用双线性插值使输出的特征图恢复原始尺寸,并使用卷积操作对双线性插值的结果进行平滑处理;
S3:训练神经网络***;
S31:有雾图像输入到构建的神经网络***得到第一传输图,有雾图像采用图像恢复算法得到第二传输图;其中,图像恢复算法具体如下:采用5×5的窗口取暗通道值,得到初始第二传输图,采用Sobel算子对初始第二传输图进行边缘提取,采用均值滤波在初始第二传输图的边缘处进行模糊后输出第二传输图;
S32:第一传输图和第二传输图进行均方差计算,得到传输图的损失函数Lt;
S33:第一传输图输入到大气散射模型进行逆运算,得到去雾图像;
S34:去雾图像与标签无雾图像进行对比,得到去雾图像的损失函数Ld;
S35:将传输图的损失函数Lt和去雾图像的损失函数Ld按设定的比例结合,得到在梯度下降算法中的损失函数Ltotal;
S36:用后向传播算法计算隐含层误差和梯度下降法更新网络参数,对于某个卷积的参数wi和偏差bi每次迭代的更新公式如下:
其中α为学习率,在本实施例中使用指数衰减学习率,初始学习率为0.001,衰减速度为150,衰减率为0.9;
S4:如图3所示,有雾图像输入到训练好的神经网络***输出第三传输图,第三传输图输入到大气散射模型中得到去雾图像。
在本实施例中提出的双误差损失函数,将图像恢复去雾算法和卷积神经网络去雾算法结合,用传统的去雾算法作为引导作用,使网络能够更加精简的达到效果,同时也可以利用神经网络的泛化能力,改善传统去雾算法中,先验知识的局限性,减少在人工提取特征时,测试数据量小且有主观影响导致的误差,具体的计算方式如下所述:
将神经网络模型输出的第一传输图与图像恢复算法处理得到的第二传输图进行均方差(MSE)计算,得到针对传输图的损失函数Lt:
其中,I为输入图像,f为需要训练的神经网络模型,的算法为用5×5的窗口以暗通道先验方法求出第二传输图,并且使用Sobel算子和均值滤波精化第二传输图,W和H分别为输入图像的宽和高;再将经过大气散射模型逆运算得到的去雾后的图像与参照的清晰无雾的图像做对比,得到针对去雾后图像的损失函数:
I为输入图像,g为大气散射模型的逆运算,J为无雾的图像,W、H和C分别为输入图像的宽、高和通道数,g为大气散射模型的逆运算,具体为:
A取值为1,f为需要训练的神经网络模型。
最后将两个损失函数按一定比例结合,得到在梯度下降法中所使用的损失函数:
Ltotal=mLt+nLd,
其中,m和n为比例系数,在本实施例中,取值m=0.2,n=0.8;
在迭代训练的过程中,使损失函数Ltotal下降,表明传输图之间的差距和图像之间的差距都在不断减少。图像恢复算法所求的第二传输图作为引导作用,能够使神经网络求出传输图达到去雾效果,而去雾后的图像误差能够弥补图像恢复算法的不足之处,减少人工假设先验知识的局限性,提高最终神经网络去雾效果。
实施例4
本实施例还提供一种计算设备,该计算设备包括该计算设备包括处理器和存储器,存储器存储有一个或多个程序,处理器执行存储器存储的程序时,实现上述基于深度学习的双监督图像去雾方法,该方法包括下述步骤:
S1:获取有雾图像、标签无雾图像;
S2:构建神经网络***,将神经网络的卷积核权值初始化为高斯随机分布,并设置偏差值;本实施例中,对神经网络中的卷积核权值w初始化为均值为0方差为0.05的高斯随机分布,偏差b设置为0.1的常数;
具体的神经网络***构建步骤为:
S21:下采样:通过卷积层提取图像特征,通过最大池化层提取图像最显著的特征,并减小图像尺寸,使后续的网络计算能够更快的完成;
S22:特征提取:采用编码-解码网络结构,通过卷积层和反卷积层提取图像特征,卷积层和反卷积层进行卷积、反卷积时均采用pad填充;
采用ELU激活函数对每一层卷积层和反卷积层的输出特征图进行非线性激活,经过编码-解码网络后输出3通道的特征图;
采用单个卷积核对输入3通道的特征图进行卷积,输出单通道的特征图;
采用Sigmoid函数对单通道的特征图进行非线性映射,得到原图像缩小倍数的特征图;
S23:上采样:采用双线性插值使输出的特征图恢复原始尺寸,并使用卷积操作对双线性插值的结果进行平滑处理;
S3:训练神经网络***;
S31:有雾图像输入到构建的神经网络***得到第一传输图,有雾图像采用图像恢复算法得到第二传输图;其中,图像恢复算法具体如下:采用5×5的窗口取暗通道值,得到初始第二传输图,采用Sobel算子对初始第二传输图进行边缘提取,采用均值滤波在初始第二传输图的边缘处进行模糊后输出第二传输图;
S32:第一传输图和第二传输图进行均方差计算,得到传输图的损失函数Lt;
S33:第一传输图输入到大气散射模型进行逆运算,得到去雾图像;
S34:去雾图像与标签无雾图像进行对比,得到去雾图像的损失函数Ld;
S35:将传输图的损失函数Lt和去雾图像的损失函数Ld按设定的比例结合,得到在梯度下降算法中的损失函数Ltotal;
S36:用后向传播算法计算隐含层误差和梯度下降法更新网络参数,对于某个卷积的参数wi和偏差bi每次迭代的更新公式如下:
其中α为学习率,在本实施例中使用指数衰减学习率,初始学习率为0.001,衰减速度为150,衰减率为0.9;
S4:如图3所示,有雾图像输入到训练好的神经网络***输出第三传输图,第三传输图输入到大气散射模型中得到去雾图像。
在本实施例中提出的双误差损失函数,将图像恢复去雾算法和卷积神经网络去雾算法结合,用传统的去雾算法作为引导作用,使网络能够更加精简的达到效果,同时也可以利用神经网络的泛化能力,改善传统去雾算法中,先验知识的局限性,减少在人工提取特征时,测试数据量小且有主观影响导致的误差,具体的计算方式如下所述:
将神经网络模型输出的第一传输图与图像恢复算法处理得到的第二传输图进行均方差(MSE)计算,得到针对传输图的损失函数Lt:
其中,I为输入图像,f为需要训练的神经网络模型,的算法为用5×5的窗口以暗通道先验方法求出第二传输图,并且使用Sobel算子和均值滤波精化第二传输图,W和H分别为输入图像的宽和高;再将经过大气散射模型逆运算得到的去雾后的图像与参照的清晰无雾的图像做对比,得到针对去雾后图像的损失函数:
I为输入图像,g为大气散射模型的逆运算,J为无雾的图像,W、H和C分别为输入图像的宽、高和通道数,g为大气散射模型的逆运算,具体为:
A取值为1,f为需要训练的神经网络模型。
最后将两个损失函数按一定比例结合,得到在梯度下降法中所使用的损失函数:
Ltotal=mLt+nLd,
其中,m和n为比例系数,在本实施例中,取值m=0.2,n=0.8;
在迭代训练的过程中,使损失函数Ltotal下降,表明传输图之间的差距和图像之间的差距都在不断减少。图像恢复算法所求的第二传输图作为引导作用,能够使神经网络求出传输图达到去雾效果,而去雾后的图像误差能够弥补图像恢复算法的不足之处,减少人工假设先验知识的局限性,提高最终神经网络去雾效果。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (10)
1.一种基于深度学习的双监督图像去雾方法,其特征在于,包括下述步骤:
S1:获取有雾图像、标签无雾图像,无雾图像样本作为标签对比样本;
S2:构建神经网络***,具体为:
S21:通过下采样提取图像主要特征并缩小图片尺寸;
S22:采用编码-解码网络结构及零填充提取不同层次的特征,输出特征图,所述编码-解码网络结构采用ELU激活函数和跳跃连接;
S23:采用上采样将输出的特征图恢复到原始尺寸;
S3:训练神经网络***,具体为:
S31:有雾图像输入到构建的神经网络***得到第一传输图,有雾图像采用图像恢复算法得到第二传输图,以暗通道先验方法求出第二传输图,并且使用Sobel算子和均值滤波精化第二传输图;
S32:第一传输图和第二传输图进行均方差计算,得到传输图的损失函数Lt;
S33:第一传输图输入到大气散射模型进行逆运算,得到去雾图像;
S34:去雾图像与标签无雾图像进行对比,得到去雾图像的损失函数Ld;
S35:将传输图的损失函数Lt和去雾图像的损失函数Ld按设定的比例结合,得到在梯度下降算法中的损失函数Ltotal;
S36:采用后向传播算法计算隐含层误差,采用梯度下降算法更新神经网络参数;
S4:有雾图像输入到训练好的神经网络***输出第三传输图,第三传输图输入到大气散射模型中得到去雾图像。
2.根据权利要求1所述的基于深度学习的双监督图像去雾方法,其特征在于,步骤S2所述的构建神经网络***,具体步骤如下所述:
S21:下采样:通过设置卷积层提取图像特征,通过设置最大池化层提取图像最显著的特征,并缩小图像尺寸;
S22:特征提取:采用编码-解码网络结构,设置一一对应的卷积层和反卷积层,通过卷积层和反卷积层提取图像特征,卷积层和反卷积层进行卷积、反卷积时均采用零填充;
采用ELU激活函数对每一层卷积层和反卷积层的输出特征图进行非线性激活,经过编码-解码网络结构后输出3通道的特征图;
采用单个卷积核对输入3通道的特征图进行卷积,输出单通道的特征图;
采用Sigmoid函数对单通道的特征图进行非线性映射,输出特征图;
S23:上采样:采用双线性插值将输出的特征图恢复原始尺寸,并使用卷积操作对双线性插值的结果进行平滑处理。
3.根据权利要求1所述的基于深度学习的双监督图像去雾方法,其特征在于,步骤S31所述有雾图像采用图像恢复算法得到第二传输图,具体步骤如下:采用5×5的窗口取暗通道值,得到初始第二传输图,采用Sobel算子对初始第二传输图进行边缘提取,采用均值滤波在初始第二传输图的边缘处进行模糊后输出第二传输图。
6.根据权利要求1所述的基于深度学习的双监督图像去雾方法,其特征在于,步骤S35所述的在梯度下降算法中的损失函数Ltotal为:
Ltotal=mLt+nLd,
其中,m和n为比例系数。
8.一种基于深度学习的双监督图像去雾***,其特征在于,包括:
有雾图像及无雾图像样本获取模块、神经网络***构建模块和神经网络***训练模块;
所述有雾图像及无雾图像样本获取模块用于获取有雾图像及无雾图像样本,无雾图像样本作为标签对比样本;
所述神经网络***构建模块用于构建神经网络***,所述神经网络***包括下采样模块、特征提取模块和上采样模块;
所述下采样模块包括卷积层、最大池化层,所述卷积层用于提取图像特征,所述最大池化层用于提取出图像最显著的特征,并减小图像尺寸;
所述特征提取模块先采用编码-解码网络结构,包括卷积层和反卷积层,卷积层的卷积核大小分别为3×3,5×5,5×5,所述反卷积层与卷积层一一对应,所述卷积层与反卷积层进行卷积和反卷积时采用零填充,并且设置有ELU激活函数计算模块对每一个卷积层和反卷积层的输出结果进行非线性激活;所述编码-解码网络结构还采用跳跃连接,所述编码-解码网络结构输出3通道的特征图,在所述编码-解码网络结构后设有单个卷积核的卷积层,单个卷积核的卷积层输出单通道的特征图,在所述单个卷积核的卷积层后设有Sigmoid函数计算模块,Sigmoid函数计算模块用于将单通道特征图中的值映射到[0,1]的范围内;
所述上采样模块用于将原图像缩小倍数的特征图恢复成原始尺寸,包括双线性插值操作单元和卷积操作单元,双线性插值操作单元使输出的特征图恢复原始尺寸,卷积操作单元对双线性插值的结果进行平滑处理;
所述神经网络***训练模块用于迭代训练神经网络***,构建梯度下降算法中的损失函数Ltotal,采用后向传播算法计算隐含层误差,采用梯度下降算法更新神经网络参数;
所述构建梯度下降算法中的损失函数Ltotal,具体步骤包括:
有雾图像输入到构建的神经网络***得到第一传输图,有雾图像采用图像恢复算法得到第二传输图,以暗通道先验方法求出第二传输图,并且使用Sobel算子和均值滤波精化第二传输图;
第一传输图和第二传输图进行均方差计算,得到传输图的损失函数Lt;
第一传输图输入到大气散射模型进行逆运算,得到去雾图像;
去雾图像与标签无雾图像进行对比,得到去雾图像的损失函数Ld;
将传输图的损失函数Lt和去雾图像的损失函数Ld按设定的比例结合,得到在梯度下降算法中的损失函数Ltotal;
有雾图像输入到训练好的神经网络***输出第三传输图,第三传输图输入到大气散射模型中得到去雾图像。
9.一种存储介质,存储有程序,其特征在于,所述程序被处理器执行时实现如权利要求1-7任一项所述的基于深度学习的双监督图像去雾方法。
10.一种计算设备,包括处理器和用于存储处理器可执行程序的存储器,其特征在于,所述处理器执行存储器存储的程序时,实现权利要求1-7任一项所述的基于深度学习的双监督图像去雾方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910350268.0A CN110097519B (zh) | 2019-04-28 | 2019-04-28 | 基于深度学习的双监督图像去雾方法、***、介质和设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910350268.0A CN110097519B (zh) | 2019-04-28 | 2019-04-28 | 基于深度学习的双监督图像去雾方法、***、介质和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110097519A CN110097519A (zh) | 2019-08-06 |
CN110097519B true CN110097519B (zh) | 2021-03-19 |
Family
ID=67446155
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910350268.0A Active CN110097519B (zh) | 2019-04-28 | 2019-04-28 | 基于深度学习的双监督图像去雾方法、***、介质和设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110097519B (zh) |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112419163B (zh) * | 2019-08-21 | 2023-06-30 | 中国人民解放***箭军工程大学 | 一种基于先验知识和深度学习的单张图像弱监督去雾方法 |
CN110738623A (zh) * | 2019-10-18 | 2020-01-31 | 电子科技大学 | 一种基于透射谱指导的多级对比度拉伸去雾方法 |
CN110930322B (zh) * | 2019-11-06 | 2021-11-30 | 天津大学 | 图像分块与卷积网络相结合估计透射图图像去雾方法 |
CN112734798B (zh) * | 2019-11-27 | 2023-11-07 | 上海联影智能医疗科技有限公司 | 神经网络的在线自适应***和方法 |
CN113012050B (zh) * | 2019-12-18 | 2024-05-24 | 武汉Tcl集团工业研究院有限公司 | 一种图像处理方法及装置 |
CN111340718B (zh) * | 2020-01-22 | 2023-06-20 | 华南理工大学 | 一种基于渐进式导向强监督神经网络的图像去雾方法 |
CN111383192B (zh) * | 2020-02-18 | 2022-10-18 | 清华大学 | 一种融合sar的可见光遥感图像去雾方法 |
CN113379610B (zh) * | 2020-03-10 | 2024-03-15 | Tcl科技集团股份有限公司 | 图像处理模型的训练方法、图像处理方法、介质及终端 |
CN111445418B (zh) * | 2020-03-31 | 2024-05-28 | 联想(北京)有限公司 | 图像去雾处理方法、装置及计算机设备 |
CN111738928B (zh) * | 2020-04-30 | 2021-04-13 | 南京图格医疗科技有限公司 | 一种基于概率优化和神经网络的内窥镜去雾方法 |
CN111681178B (zh) * | 2020-05-22 | 2022-04-26 | 厦门大学 | 一种基于知识蒸馏的图像去雾方法 |
CN111739116B (zh) * | 2020-07-16 | 2021-01-19 | 南京理工大学 | 基于深度神经网络透过散射介质的目标定位和重建方法 |
CN111861939B (zh) * | 2020-07-30 | 2022-04-29 | 四川大学 | 一种基于无监督学习的单张图像去雾方法 |
CN111915531B (zh) * | 2020-08-06 | 2023-09-29 | 温州大学 | 一种多层次特征融合和注意力引导的神经网络图像去雾方法 |
CN111932365B (zh) * | 2020-08-11 | 2021-09-10 | 上海华瑞银行股份有限公司 | 一种基于区块链的金融征信***及方法 |
CN112184566B (zh) * | 2020-08-27 | 2023-09-01 | 北京大学 | 一种针对附着水雾水珠去除的图像处理方法和*** |
CN112541876B (zh) * | 2020-12-15 | 2023-08-04 | 北京百度网讯科技有限公司 | 卫星图像处理方法、网络训练方法、相关装置及电子设备 |
CN113158538A (zh) * | 2021-01-19 | 2021-07-23 | 中山大学 | 一种复杂结构沸腾表面的热流密度软测量方法 |
CN112750093B (zh) * | 2021-01-25 | 2021-10-22 | 中国人民解放***箭军工程大学 | 一种基于时序标签传递的视频图像去雾方法 |
CN112927236B (zh) * | 2021-03-01 | 2021-10-15 | 南京理工大学 | 一种基于通道注意力和自监督约束的服装解析方法及*** |
CN113724168B (zh) * | 2021-09-07 | 2022-04-29 | 北京航空航天大学 | 一种飞机图像去雾方法及*** |
CN113808039B (zh) * | 2021-09-09 | 2023-06-27 | 中山大学 | 基于高斯过程映射的迁移学习去雾方法与*** |
CN114092348B (zh) * | 2021-11-18 | 2024-04-05 | 大连海事大学 | 一种基于衍射光学多通道神经网络的图像去雾方法与*** |
CN114626472A (zh) * | 2022-03-18 | 2022-06-14 | 合众新能源汽车有限公司 | 基于机器学习的辅助驾驶方法、装置和计算机可读介质 |
CN115063304B (zh) * | 2022-05-19 | 2023-08-25 | 湖南师范大学 | 一种多尺寸融合的金字塔神经网络图像去雾方法及*** |
CN115272122B (zh) * | 2022-07-31 | 2023-03-21 | 中国人民解放***箭军工程大学 | 一种先验引导的单阶段蒸馏图像去雾方法 |
CN116542872B (zh) * | 2023-04-10 | 2024-03-19 | 中国人民解放***箭军工程大学 | 一种基于半监督知识蒸馏的单幅图像去雾方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107358576A (zh) * | 2017-06-24 | 2017-11-17 | 天津大学 | 基于卷积神经网络的深度图超分辨率重建方法 |
CN109146810A (zh) * | 2018-08-08 | 2019-01-04 | 国网浙江省电力有限公司信息通信分公司 | 一种基于端到端深度学习的图像去雾方法 |
-
2019
- 2019-04-28 CN CN201910350268.0A patent/CN110097519B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110097519A (zh) | 2019-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110097519B (zh) | 基于深度学习的双监督图像去雾方法、***、介质和设备 | |
Yang et al. | Proximal dehaze-net: A prior learning-based deep network for single image dehazing | |
Li et al. | Image dehazing using residual-based deep CNN | |
CN108564549B (zh) | 一种基于多尺度稠密连接网络的图像去雾方法 | |
CN103279931B (zh) | 基于透射率的去雾图像去噪方法 | |
WO2019019695A1 (zh) | 一种基于Retinex模型的水下图像增强方法 | |
CN109859120B (zh) | 基于多尺度残差网络的图像去雾方法 | |
CN106920220A (zh) | 基于暗原色和交替方向乘子法优化的湍流图像盲复原方法 | |
CN109003234B (zh) | 针对运动模糊图像复原的模糊核计算方法 | |
CN110136075B (zh) | 一种基于边缘锐化循环生成对抗网络的遥感影像去雾方法 | |
CN110570381B (zh) | 一种基于高斯总变差的半解耦图像分解暗光图像增强方法 | |
CN107203980B (zh) | 自适应多尺度暗通道先验的水下目标探测图像增强方法 | |
CN104272347A (zh) | 去除包含在静止图像中的雾的图像处理装置及其方法 | |
Xu et al. | Deep retinex decomposition network for underwater image enhancement | |
CN113160286A (zh) | 一种基于卷积神经网络的近红外和可见光图像融合方法 | |
CN114565539B (zh) | 一种基于线上知识蒸馏的图像去雾方法 | |
CN109345479B (zh) | 一种视频监控数据的实时预处理方法及存储介质 | |
CN107301625B (zh) | 基于亮度融合网络的图像去雾方法 | |
Hao et al. | Texture enhanced underwater image restoration via laplacian regularization | |
CN112419163A (zh) | 一种基于先验知识和深度学习的单张图像弱监督去雾方法 | |
Zhang et al. | MFFE: multi-scale feature fusion enhanced net for image dehazing | |
CN117726545A (zh) | 一种使用非局部雾线和多重曝光融合的图像去雾方法 | |
CN116703750A (zh) | 基于边缘注意力和多阶微分损失的图像去雾方法及*** | |
CN113012067B (zh) | 基于Retinex理论和端到端深度网络的水下图像复原方法 | |
CN112734655B (zh) | 一种基于卷积神经网络图像对crm增强的低光图像增强方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |