一种基于Retinex的深度网络单幅图像去雾方法与流程

文档序号:23342038发布日期:2020-12-18 16:39阅读:324来源:国知局
一种基于Retinex的深度网络单幅图像去雾方法与流程

本发明涉及一种图像去雾算法,具体说是一种基于retinex的深度网络单幅图像去雾方法。



背景技术:

图像是视觉的基础,是计算机视觉获取并利用外界视觉信息的重要途径。然而,外界成像条件严重影响着图像质量,制约着计算机视觉研究领域的发展。复杂的光照条件和恶劣的天气是图像退化的主要原因,信噪比低、色偏、雾化和浑浊是图像退化的主要表现形式。在恶劣天气中,雾天气以其多发性和影响的严重性受到科研领域的广泛关注。雾天行人无法看清过往车辆,司机看不清前方行程,海上大雾将直接导致来往船只相撞。

图像去雾是一种通过算法或多传感器融合等技术去除图像中雾的干扰,提高图像的视觉效果,获取更多的有效视觉信息的图像处理技术。该技术主要分为两类:一类为基于物理模型的复原方法;一类为基于图像处理的增强方法。复原方法主要研究成像模型的建立与模型参数的求解,通过逆模型方法获得复原图像。增强方法则不考虑成像过程,直接调节图像像素值以及像素值分布,获得视觉效果较好的增强图像。

现有图像复原方法虽然能够得到较为自然的图像结果,但由于其使用的模型为简化模型,且需要估计的参数与引入的先验较多,因此算法的普适性和鲁棒性较差。图像增强方法由于未考虑成像过程,在实现全局增强的过程中,易造成图像突出部分的过度增强,导致图像失真和信息损失等问题。



技术实现要素:

目前,图像去雾算法针对性较强,无法适用多变的雾天成像环境,普适性和鲁棒性很难达到实用要求。针对上述技术不足,本发明的目的是提供一种基于retinex的深度网络单幅图像去雾方法。该方法采用的分解模型能更好地描述有雾图像的组成成分,且该方法在去雾方面,鲁棒性较好,泛化能力较强,处理速度较快,在多种有雾场景均能表现出良好的适应能力。

实现本发明目的所采用的具体技术方案如下:一种基于retinex的深度网络单幅图像去雾方法,包括以下步骤:

步骤一:利用卷积层、池化层、残差密集连接网络块rdb和转置卷积层建立残余光照图像提取子网络、定义光照损失函数,扩充训练集图像并输入该子网络进行迭代训练、优化子网络模型用于输出对应的残余光照图像;

步骤二:根据基于retinex方法的去雾分解模型计算无雾图像;

if(x,y)=inf(x,y)*lrf(x,y);

其中,if(x,y)表示有雾图像,inf(x,y)表示无雾图像,lrf表示残余光照图像;

步骤三:利用注意力机制网络块csa、池化层、残差密集连接网络块rdb和转置卷积层建立空间域和通道域注意力机制的去雾u-net子网络、定义去雾损失函数,将无雾图像输入该子网络进行迭代训练、优化子网络模型用于最终输出对应的自然光照下无雾图像;

步骤四:采集实际有雾图像依次输入优化后的残余光照图像提取子网络模型、空间域和通道域注意力机制的去雾u-net子网络模型,得到处理后的自然光照下无雾图像。

所述训练集图像包括合成的有雾图像和无雾图像对。

所述扩充训练集图像的方法包括:对数据集进行裁剪、变换和旋转操作,避免由于数据集过小出现过拟合问题。

所述残余光照图像提取子网络的结构包括:

将有雾图像输入多个尺度的池化层进行下采样操作,获取多尺度图像数据;

将多尺度图像数据分别输入多个残差密集连接网络块rdb,提取多尺度特征;

将不同尺度特征输入转置卷积层上采样操作为统一尺寸,获得相同尺寸的多尺度特征;

将有雾图像和相同尺寸的多尺度特征串联后输入最后一层卷积层,输出残余光照图。

所述残差密集连接网络块rdb包括多个密集连接块db、层级特征融合hff模块和残差学习rl模块,用于提取有雾图像的多尺度特征。

是通过计算光照损失函数并与预设阈值比较判断残余光照图像提取子网络模型是否迭代截止:

式中:ll表示输出的残余光照图像的光照损失函数;分别表示输出的残余光照图像的绝对损失函数、ssim损失函数和光滑损失函数;ωal、ωsml和ωsl分别表示相应损失函数的权重。

所述去雾分解模型的推导过程如下:

根据retinex理论可知,有雾图像可以描述为:

if(x,y)=r(x,y)*lf(x,y)

式中:if表示有雾图像;r(x,y)表示反射图像;lf表示受雾散射和吸收影响的光照图像;

去雾后的图像被定义为:

inf(x,y)=r(x,y)*ln(x,y)

式中:inf表示无雾图像,ln表示自然光照图像;

因此有雾图像可以被进一步分解为:

if(x,y)=inf(x,y)*lrf(x,y)

式中:lrf(x,y)=lf(x,y)/ln(x,y),表示残余光照图像。

所述空间域和通道域注意力机制去雾u-net的结构包括:

网络由收缩路径和扩张路径两部分组成:收缩路径用来获取语义信息,对称的扩张路径用来恢复位置信息;每一部分路径都包含四步,其中收缩路径的每一步均为残差密集连接网络块rdb和最大池化层组成,扩张路径的每一步均为残差密集连接网络块rdb和转置卷积层组成,并且在连接收缩路径和扩张路径之间设置注意力机制网络块csa。

是通过计算去雾损失函数并与预设阈值比较判断空间域和通道域注意力机制的去雾u-net子网络模型是否迭代截止:

式中:ld表示输出的自然光照下无雾图像的去雾损失函数;分别表示输出的自然光照下无雾图像的绝对损失函数、ssim损失函数和边缘损失函数;ωad、ωssd和ωegd分别表示相应损失函数的权重。

本发明的有益效果为:

1.本发明方法基于retinex理论提出了新的有雾图像的分解方法,将原有雾图像分解为自然光照下的无雾图像和残余光照图像,描述了有雾图像的各组成成分之间的关系和差异,有效地用retinex理论指导了图像的去雾过程。

2.本发明方法建立了残余光照图像提取子网络,该网络能够处理多尺度图像数据,并获得处理后的多尺度图像特征。

3.本发明方法建立了空间域和通道域注意力机制去雾u-net,通过收缩路径来获取上下文信息以及用对称的扩张路径来精确定位,获得更加精细的去雾效果。

4.本发明方法提出的光照损失函数和去雾损失函数能更好地指导网络的训练,得到最终的去雾模型。

5.本发明方法的最终图像去雾结果较好,与其他方法相比,本发明方法具有较好的普适性和鲁棒性。

附图说明

图1是本发明整体深度网络框架;

图2是本发明用到的残差密集连接网络块;

图3是本发明用到的注意力机制网络块;

图4是合成雾图像去雾结果;

图5是真实雾图像去雾结果。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。此处说明若涉及到具体实例时仅仅用以解释本发明,并不限定本发明。

本发明的具体框架如图1所示,方法主要分为五个步骤:建立基于retinex理论的去雾分解模型、建立残余光照图像提取子网络、建立空间域和通道域注意力机制去雾u-net、设定光照损失函数和去雾损失函数、完成网络优化和训练。

步骤一:建立基于retinex理论的去雾分解模型,将有雾图像分解为然光照下的无雾图像和残余光照图像。

原图像去雾模型为大气散射简化模型,该模型对先验的依赖性较强且有多个未知参数需要估计,因此模型的普适性较差,在去雾算法应用中,降低了算法的鲁棒性和自适应能力。retinex理论是一种常用的建立在科学实验和科学分析基础上的图像增强方法,该理论认为:物体的颜色是由物体对不同波长的光的反射能力决定的,和光源无光,物体色彩不受光照非均匀性的影响,具有一致性。retinex理论应用于图像去雾的研究主要集中在提升提取的光照图的精确度,以获得更好的不受光照影响的反射图像。然而,在去雾任务中,获得自然光照下的无雾图像比获得真实的反射图像更加重要。因此我们需要重新推导去雾分解模型。

根据retinex理论可知,有雾图像可以描述为:

if(x,y)=r(x,y)*lf(x,y),(1)

式中:if表示有雾图像;r(x,y)表示反射图像;lf表示受雾的散射和吸收影响的光照图像,去雾后的图像被定义为:

inf(x,y)=r(x,y)*ln(x,y),(2)

式中:inf表示自然光照下的无雾图像;ln表示自然光照图像。因此有雾图像可以被进一步分解为:

if(x,y)=inf(x,y)*lrf(x,y),(3)

式中:lrf(x,y)=lf(x,y)/ln(x,y),表示残余光照图像。因此,根据该有雾图像分解模型,去雾的主要步骤为获得残余光照图像。

步骤二:利用卷积层、池化层、残差密集连接网络块(residualdenseblock,rdb)和转置卷积层,建立残余光照图像提取子网络,对输入的图像进行处理并计算光照损失函数判断残余光照图像提取子网络是否优化合格,获取优化的残余光照图像提取子网络,最终输出此时的残余光照图像。

首先将输入图像通过卷积层提升维度以便后面的网络层能提取更丰富的特征,然后将提取到的特征送入多次度模块进一步提取多尺度的特征,通常,小尺寸的图像能够较好地突出图像的全局信息,而大尺寸的图像能够更好地保持图像的局部信息。因此,首先本文对输入的有雾图像通过卷积层提取特征图后进行下采样操作,将其分为三个尺度:1/2、1/4、1/8,形成多尺度图像数据。然后将多尺度图像数据分别送入不用尺寸的残差密集连接网络块(rdb),提取多尺度特征。然后将不同尺度特征上采样为统一尺寸,获得相同尺寸的不同尺度特征。最后将有雾图像和相同尺寸的不同尺度特征串联传入到末端卷积层,输出残余光照图(如图1所示),再根据公式if(x,y)=inf(x,y)*lrf(x,y)得到去雾图像inf(x,y),并计算光照损失函数判断残余光照图像提取子网络是否优化合格,获取优化的残余光照图像提取子网络,最终输出此时的残余光照图像。

其中残差密集连接网络块(rdb)如图2所示,rdb包括密集连接块(db)、层级特征融合(hff)和残差学习(rl)三部分,密集连接块通过充分利用每一层的特征来提取图像特征,层级特征融合(hff)通过1*1的卷积来融合密集块提取的特征,残差学习(rl)进一步融合了密集块之前的图像特征使网络加深时不容易出现梯度消失。该网络块能够充分利用所有卷积层提取到的特征来提高整个网络块的效能。

步骤三:利用注意力机制网络块(channelandspatialattentionblock,csa)、池化层、残差密集连接网络块(rdb)和转置卷积层,建立空间域和通道域注意力机制去雾u-net,对输入的去雾图像inf(x,y)进行处理并计算去雾损失函数判断空间域和通道域注意力机制去雾u-net网络是否优化合格,获取优化的空间域和通道域注意力机制去雾u-net网络,最终输出自然光照下的无雾图像。

网络由收缩路径和扩张路径两部分组成:收缩路径(contractingpath)用来获取上下文语义信息(例如:雾浓度、背景语义),对称的扩张路径(expandingpath)用来恢复位置信息。每一部分路径都包含四步,其中收缩路径的每一步均为残差密集连接网络块(rdb)和最大池化层的组合,扩张路径的每一步均为残差密集连接网络块(rdb)和转置卷积层的组合,并且在连接收缩路径和扩张路径的跳跃连接中引入了由注意力机制网络块(csa)。

其中注意力机制网络块(csa)(如图3所示)能够根据当前像素处雾浓度来调节复原系数(权重),对图像中的不同像素按权重给予不同的关注度。注意力机制网络块包括通道注意力和空间注意力。通道注意力是通过最大池化层(maxpool)和平均池化层(avgpool)来分别提取图像共性的全局特征和差异性的全局特征,然后通过包含一层隐含层的多层感知机(mlp)获取1维的通道注意力。空间注意力通过尺度不变最大池化层(maxpool)、平均池化层(avgpool)和一层卷积层来获取空间的注意力。注意力机制能够给雾重的像素大的权重使去雾更彻底,给雾轻的像素小的权重来避免过度去雾的问题。

步骤四:设定光照损失函数和去雾损失函数。

在残余光照图像提取子网络中的光照损失函数的表达式为:

式中:i是图像序列号,ll表示光照损失函数;分别表示绝对损失函数、ssim损失函数和光滑损失函数;ωal、ωsml和ωsl分别表示相应损失函数的权重。

其中光滑损失函数的表达式为:

式中:i是图像序列号,表示像素点p的残余光照值;分别表示在图像空间的水平方向和垂直方向的偏导数。

空间域和通道域注意力机制去雾u-net的去雾损失函数的表达式为:

式中:ld表示去雾损失函数;分别表示绝对损失函数、ssim损失函数和边缘损失函数;ωad、ωssd和ωegd分别表示相应损失函数的权重。

其中,边缘损失函数的表达式为:

式中:ecanny()w,h为canny边缘检测算子;idh为去雾结果,igt为真正的无雾图像。

步骤五:扩充数据集中的训练集。

对数据集进行裁剪、变换和旋转操作,避免由于数据集过小出现过拟合问题。

利用公式(3)从数据集中的有雾图像和相应的无雾图像获取图像对的残余光照图像。

步骤六:利用训练集进行网络训练。

首先利用有雾和无雾图像对残余光照图像提取子网络进行单独训练,然后将训练好的子网络代入整体网络框架,优化空间域和通道域注意力机制去雾u-net,最后进行网络的整体优化,获得最终优化结果。

图4和图5是本发明方法在合成雾图像和真实雾图像上的去雾结果。本发明方法在处理不同深度和不同雾浓度的有雾图像时,处理结果较为稳定和自然;在处理天空区域时,具有更好的保真度;在处理高亮度图像时,未出现过饱和问题。本发明方法能够通过单幅图像实现残余光照图像提取和图像去雾,所用模型能更好地描述有雾图像的组成成分。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1