一种基于深度学习的图像去雾算法的制作方法

文档序号:11865857阅读:440来源:国知局
一种基于深度学习的图像去雾算法的制作方法与工艺
本发明涉及图像处理技术、模式识别与人工智能领域,具体涉及一种基于深度学习的图像去雾算法。
背景技术
:近年来,随着人工智能的不断发展,越来越多的图像采集设备具有在不同场景下自动识别目标的能力。然而,这种自动识别能力常常受到场景中的环境因素制约,特别是雾或霾的存在,降低了图像中目标的饱和度与对比度,已成为影响设备自动识别效果的重要因素,因此提出一种有效可行的去雾算法具有重要的理论和实际意义。传统的去雾算法主要分为两类:基于大气光散射模型图像复原的去雾算法与基于图像增强理论的去雾算法。目前主流的去雾算法都是基于大气光散射模型建立的,其中应用最广泛的图像去雾方法是暗通道先验去雾算法。对于目前存在的去雾方法,由于缺乏有雾图像中有效的先验知识,所以都无法得到最优的透视率,在图像复原过程中呈现颜色偏移的现象。因此,如何得到最优的透视率成为图像去雾算法中的关键问题。技术实现要素:本发明提出了一种基于深度学习的图像去雾算法,其目的在于通过深度生成对抗神经网络对训练样本集中数据进行训练学习,得到有雾图像特征与透视率间的映射网络,找到自适应最优的透视率,之后根据大气光散射模型进行复原变换,最终实现图像去雾。本发明的目的是通过下述技术方案来实现的。一种基于深度学习的图像去雾算法,包括以下步骤:步骤1,建立样本图像集,包括训练样本集与测试样本集;其中对于训练样本集,采集雾气可能存在场景下的无雾图像,并对无雾图像进行人工雾化,得到人工有雾图像,最终与无雾图像构成训练样本集;对于测试样本集,采用真实雾气场景图像;步骤2,对训练样本集中有雾图像进行颜色空间变换,从RGB(红、绿、蓝)空间变换到HSL(色调、饱和度、亮度)空间,分别获取图像的色度、饱和度和亮度信息特征分量,之后在原图像的RGB空间下获取局部低亮值与大气光值,并对所有数据做尺度缩放与归一化处理;步骤3,通过训练样本集计算最优透视率,令其作为深度学习中深度生成对抗神经网络训练输入的判别分量,与另一个输入量构造透视率共同完成网络对抗式训练;步骤4,基于训练样本集中得到的有雾图像RGB空间与HSL空间特征分量,以及局部低亮特征分量和判别透视率,采用深度学习算法中的深度生成对抗神经网络进行训练,得到有雾图像中的透视率,学习建立有雾图像与透视率间的映射网络。其中,深度生成对抗神经网络由深度判别神经网络与深度生成神经网络组成;步骤5,采用上述深度生成神经网络对真实有雾图像进行去雾处理。优选地,步骤1进一步包括,选取雾气可能存在场景下的无雾图像作为初始训练样本集,运用修图软件得到初始训练样本的人工雾化图像,并把相同场景中有雾图像与无雾图像作为训练样本集,之后采集真实雾气场景中的有雾图像作为测试样本集。优选地,步骤2进一步包括,对原始样本进行特征变换,包括下述步骤:1)在训练图像集中,对人工雾化图像进行HSL颜色空间变换,最终得到RGB与HSL两种空间中的特征分量;2)图像块的局部低亮值的计算过程为:Jlow(x)=minx∈Ω(x0)(Ir(x),Ig(x),Ib(x))---(1)]]>式中,r,g,b分别为RGB空间的三通道,Ω(x0)表示以x0为中心的局部区域像素点集,Jlow(x)为局部区域低亮值;Ir(x)、Ig(x)、Ib(x)分别表示有雾图像RGB空间中三通道像素值;3)对上述RGB与HSL空间特征分量,以及局部低亮特征分量进行尺度缩放,使其维数为256*256,并对各分量进行归一化处理,使各分量像素点值属于[0,1];4)大气光值为:Ac=min(max(Ic(x)),0.8)(2)式中,c∈{r,g,b}为RGB空间中通道标号,Ic(x)表示有雾图像中c对应颜色通道下的像素值。优选地,步骤3进一步包括,所述训练中判别透视率为:tdistc(x)=1,Jc>Ic,Jc=Ic=AcAc-Ic(x)Ac-Jc(x),Jc≤Ic<Ac0,Jc≠Ic=Ac---(3)]]>式中,Jc(x)为无雾图像中c对应颜色通道下的像素值。优选地,步骤4进一步包括,进行深度生成对抗神经网络训练,包括下述步骤:1)构造深度判别神经网络,包括1个输入层、5个卷积层、4个批正则化层、1个全连接层和1个输出层,连接方式为:输入层→卷积层1→卷积层2→批正则化层1→卷积层3→批正则化层2→卷积层4→批正则化层3→卷积层5→批正则化层4→全连接层→输出层,其中,在深度判别神经网络里,卷积层到批正则化层转化过程中,层间结构没有变化;其中,输入层将构造透视率与判别透视率tdist(x)分别送入深度判别神经网络中,经过多层卷积处理后,得到表征输入信息属性的高阶特征,经全连接层处理后送至输出层,通过激活函数Sigmoid函数进行分类判别,其中Sigmoid函数为:f(x)=11+e-x---(4)]]>2)构造深度生成神经网络,包括1个输入层、2个卷积层、2个反卷积层、4个批正则化层与1个输出层,连接方式为:输入层→卷积层1→批正则化层1→卷积层2→批正则化层2→反卷积层1→批正则化层3→反卷积层2→批正则化层4→输出层,并且输出层又为池化层,是批正则化层4池化后输出的结果。输入层将RGB、HSL和局部低亮共7层特征分量一起送入深度生成神经网络中,经隐含层特征提取与映射还原,最终输出层输出构造透视率3)在训练深度生成对抗神经网中,为保障分量间的相关性,加入先验约束模型,设定目标的代价函数:minGmaxDT(G,D)=1mΣi=1m[logD(tdist(i))+log(1-D(G(z(i))))]---(5)]]>式中,m表示训练中最小批次的样本个数,为深度判别神经网络输出结果,表示第i个样本的判别透视率,G(z(i))为深度生成神经网络输出结果,z(i)表示深度生成神经网络中第i组输入样本特征;在深度生成对抗神经网络训练中包括正向传播与反向传播两个过程,其中正向传播中采用分层贪心算法进行训练,将训练样本逐层抽象化,完成特征的提取过程;反向传播中采用SGD(随机梯度下降)参数训练算法,利用标定信息进行有监督方式学习,对深度生成对抗神经网络进行自顶向底参数调节。优选地,步骤4.3进一步包括,训练里,定义判别标签{0,1},即标定信息仅用0或1表示预定判别结果,其中1表示输入数据是判别透视率,0表示输入数据为构造透视率。对于深度生成神经网络,初始化后,把上述RGB、HSL和局部低亮7层特征分量送入深度生成神经网络中,输出构造透视率作为深度判别神经网络的输入量,在深度生成神经网络训练中,把构造透视率的标定信息设为1,结合判别结果,利用SGD算法进行参数调整,其中深度生成神经网络中更新参数的梯度为对于深度判别神经网络,初始化后,分别把判别透视率与构造透视率输入深度判别神经网络中,并且判别透视率标定信息设为1,构造透视率标定信息设为0,结合判别结果,利用SGD算法进行参数调整,其中深度判别神经网络中更新参数的梯度为通过深度判别神经网络与深度生成神经网络对构造透视率的标定信息进行0与1的不同标定,使得深度生成神经网络可以得到最优的透视率,深度判别神经网络对透视率进行准确分类,实现深度生成对抗神经网络的对抗式训练。优选地,步骤5进一步包括,从测试图像中得到HSL空间特征分量,并提取测试图像的局部低亮特征,之后把RGB、HSL与局部低亮特征分量送入上述训练的深度生成神经网络中,得到构造透视率按照下式进行去雾变换:J~c(x)=Ic-(1-t~c)Act~c,t~c≠0Ic-0.92×Ac0.08t~c=0---(6)]]>式中,为通道层为c对应的去雾后图像,为c对应深度生成神经网络的输出的透视率。本发明结合局部低亮特征,提出了一种基于深度学习的图像去雾算法。与传统算法相比,本发明所提方法,不需要有雾图像中大量的先验信息,通过大量的训练样本学习出有雾图像中的透视率,最终完成有雾图像到相应无雾图像转换。附图说明图1为本发明的流程示意图;图2为本发明深度生成对抗神经网络训练过程示意图;图3为本发明深度判别神经网络结构图;图4为本发明深度生成神经网络结构图。具体实施方式下面结合附图及具体实施方式进一步说明本发明,但此种通过附图描述的实施例是示例性的,仅用于解释本发明,不能限制本发明权利要求保护的范围。本发明一种基于深度学习的图像去雾算法如图1所示,图中实线表示正向传播过程,虚线表示反向传播过程,其主要步骤介绍如下:1、获取训练样本集与测试样本集选取雾气可能存在环境下,室内、室外的无雾场景图像作为初始样本集,运用Photoshop软件对初始样本集进行人工雾化,得到相应场景与光照下的有雾图像,与初始样本集组成训练样本集。之后采集真实雾气环境中的有雾图像作为测试样本集。2、深度生成神经网络输入特征分量提取通过初始样本进行特征变换,提取训练深度生成神经网络中的各个输入特征分量,包括下述步骤:1)在训练图像集中,对人工雾化图像进行HSL颜色空间变换,最终得到RGB与HSL两种空间中的特征分量;2)结合局部低亮特性,为训练网络中加入局部低亮特征,提取局部低亮特征分量的计算过程为:Jlow(x)=minx∈Ω(x0)(Ir(x),Ig(x),Ib(x))---(1)]]>式中,r,g,b分别为RGB空间的三通道,Ω(x0)表示以x0为中心的局部区域像素点集,Jlow(x)为局部区域低亮值;Ir(x)、Ig(x)、Ib(x)分别表示有雾图像中RGB空间中三通道像素值;3)对上述RGB与HSL空间特征分量,以及局部低亮特征分量进行尺度缩放,使其维数为256*256,并对各分量进行线性归一化处理,使各分量像素点值属于[0,1];4)大气光值选定在训练样本中,计算有雾图像各通道的最大值,作为此通道的大气光值A,为避免大气光值受图像中局部高亮区域影响,设定其上限阈值为0.8,单通道中大气光值选定具体公式为:Ac=min(max(Ic(x)),0.8)(2)式中,c∈{r,g,b}为RGB空间中通道标号,Ic(x)表示有雾图像中c对应颜色通道下的像素值。3、深度判别神经网络输入特征分量提取通过训练样本集计算最优透视率,使其作为深度学习中深度生成对抗神经网络训练输入的判别分量,与另一个输入量构造透视率共同完成网络对抗式训练。令训练样本集中有雾图像与无雾图像之间转换透视率作为判别透视率,所述训练中判别透视率为:tdistc(x)=1,Jc>Ic,Jc=Ic=AcAc-Ic(x)Ac-Jc(x),Jc≤Ic<Ac0,Jc≠Ic=Ac---(3)]]>式中,c∈{r,g,b}为RGB空间中通道标号,Ic(x)为有雾图像中c对应的颜色通道。4、深度生成对抗神经网络训练基于训练样本集中得到的有雾图像RGB空间与HSL空间特征分量,以及局部低亮特征分量和判别透视率,采用深度学习算法中的深度生成对抗神经网络进行训练,得到有雾图像中的透视率,学习建立有雾图像与透视率间的映射网络。其中,深度生成对抗神经网络由深度判别神经网络与深度生成神经网络组成。深度生成对抗神经网络训练过程如图2所示,其中Fdist表示判别透视率的提取过程,按照公式(3)实现,Fdedaze表示通过透视率完成有雾图像到无雾图像的转换,按照公式(6)实现,G与D分别表示深度生成神经网络与深度判别神经网络,具体实现步骤为:1)构造深度判别神经网络,各层间连接方式如图3所示:输入层→卷积层1→卷积层2→批正则化层1→卷积层3→批正则化层2→卷积层4→批正则化层3→卷积层5→批正则化层4→全连接层→输出层。值得指出的是:由于卷积层到批正则化层的操作里,层间结构没有变化,故图3中分别把卷积层2与批正则化层1、卷积层3与批正则化层2、卷积层4与批正则化层3、卷积层5与批正则化层4放在同结构层中。其中,输入层数据为三层特征分量,为RGB三通道的特征分量,把构造透视率与判别透视率tdist(x)作为输入分别送入深度判别神经网络中,后经卷积操作。第一级卷积选用8*8*48的卷积核;第二级卷积选用6*6*48的卷积核,卷积输出后经批正则层处理,然后进行ReLU激活函数操作,后续卷积输出都经过此操作;第三级卷积层选用4*4*64的卷积核;第四级卷积选用5*5*80的卷积核;第五级卷积选用7*7*80的卷积核;经5次卷积操作后,输出进行全连接操作,之后送入输出层,通过激活函数Sigmoid函数进行分类判别,其中Sigmoid函数为:f(x)=11+e-x---(4)]]>2)构造深度生成神经网络,各层间连接方式如图4所示:输入层→卷积层1→批正则化层1→卷积层2→批正则化层2→反卷积层1→批正则化层3→反卷积层2→批正则化层4→输出层。值得指出的是:由于卷积层(或反卷积层)到批正则化层的操作里,层间结构没有变化,故图4分别把卷积层1和批正则化层1、卷积层2和批正则化层2、反卷积层1和批正则化层3、反卷积层2和批正则化层4放在同结构层中。其中,输入层为输入样本数据的RGB、HSL和局部低亮特征7层特征分量,第一级卷积选用9*9*64的卷积核;第二级卷积4*4*128的卷积核,之后进行反卷积操作。第一级反卷积选用9*9*224的卷积核,步长为3;第二级反卷积选用11*11*3的卷积核,步长为2。其中所有卷积层与反卷积层输出后都经批正则层处理,然后进行ReLU(整流线性单元)激活函数操作。经过卷积的特征提取与反卷积的映射还原,对输出数据进行均值池化处理,选用18*18模板对数据进行池化,步长为1,本发明中池化操作主要解决网络中图像生成出现的网格问题,并将池化输出的构造透视率作为输出层;3)为保障分量间的相关性,在训练深度生成对抗神经网中加入先验约束模型,设定目标的代价函数:minGmaxDT(G,D)=1mΣi=1m[logD(tdist(i))+log(1-D(G(z(i))))]---(5)]]>式中,m表示训练中最小批次的样本个数,为深度判别神经网络输出结果,表示第i个样本的判别透视率,G(z(i))为深度生成神经网络输出结果,z(i)表示深度生成神经网络中第i组输入样本特征;4)在深度生成对抗神经网络训练中包括深度生成神经网络与深度判别神经网络的训练,首先初始化整个深度生成对抗神经网络参数,参数初始规则为:卷积层中随机参数符合均值为0,方差为0.02的正态分布,批正则化层中随机参数符合均值为1,方差为0.02正态分布。之后设定判别标签{0,1},其中1表示输入数据是判别透视率,0表示输入数据为构造透视率。深度生成神经网络训练里,把上述7层特征分量送入深度生成神经网络中,输出构造透视率作为深度判别神经网络的输入量,在此深度生成神经网络中,构造透视率的标定信息设为1,结合判别结果,利用SGD算法进行参数调整,其中更新参数的梯度为深度判别神经网络里,分别把判别透视率与构造透视率输入深度判别神经网络中,并且判别透视率标定信息设为1,构造透视率标定信息设为0,结合判别结果,利用SGD算法进行参数调整,其中更新参数的梯度为通过深度判别神经网络与深度生成神经网络对构造透视率的标定信息进行0与1的不同标定,使得深度生成神经网络可以得到最优的透视率,深度判别神经网络对透视率进行准确分类,实现深度生成对抗神经网络的对抗式训练。5、图像去雾测试对测试样本集中的有雾图像进行HSL变换,得到HSL空间下的特征分量,并提取测试图像的局部低亮特征,之后把RGB、HSL与局部低亮特征分量送入上述训练的深度生成神经网络中,得到构造透视率后续按照大气光值模型进行去雾处理,按照下式进行去雾变换:J~c(x)=Ic-(1-t~c)Act~c,t~c≠0Ic-0.92×Ac0.08t~c=0---(6)]]>式中,为通道层为c对应的去雾后图像,为c对应深度生成神经网络的输出的透视率。上述实施例为本发明的具体实施例,所要明确的是,本发明的实施方式并不仅限制于上述实施例,后续在实施例上进行的各种各样的改动与相似方法的替换,都不会偏离所附权利要求书所定义的范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1