麻文刚,张亚东,郭 进
(西南交通大学信息科学与技术学院,四川成都 611756)
雾天降质图像[1]的清晰化处理在航空、遥感、公路及铁路等场景的工业操作中扮演着重要角色.尤其是在铁路及公路场景,有雾图像的清晰化处理将能有效提高铁路及公路异物图像的识别与检测精度,因此具有相当重要的应用意义.目前图像领域的去雾方法已有很多,但总体可分为三大类:图像增强、暗通道先验和深度学习.这三种方法对不同的去雾场景分别有不同应用,且时间复杂度相差较多.例如,传统的图像增强由于未将图像处理时的退化信息加以考虑,仅通过不断提升图像的对比度来突出细节信息,通过减弱某些信息干扰来提高图像质量,这种方式很大程度上会导致去雾不彻底[2];而基于暗通道先验[3~8]的方法通过使用包含在单个图像中的先验信息来提出合理的假设条件,同时根据各种类型相关的约束函数进行求解与迭代来实现图像去雾,虽能取得较好的效果,但参数设置存在局限性,导致去雾鲁棒性不强.如Tan 等人[3]根据最大化局部对比度的方法实现去雾,通过计算局部对比度及对饱和度进行相关补偿来优化图像,该方法获得的图像在一定程度上较为清晰,但是由于没有做出阈值截断,恢复图像的颜色往往会过饱和;Fattal 等人[4]基于独立分量分析来估计场景的反射率,根据提出的约束函数对透射率进行优化,且对不同场景的图像进行去雾分析,可以达到一定的效果,但由于该方法固有的统计特性弱点,因此对浓雾图像的去雾效果不好;He 等人[5]根据暗通道先验实现了良好的去雾效果,然而使用了软抠图技术,导致运行时间较长,不能实现图像的实时处理;Gibson 等人[6]根据中值滤波计算大气散射函数,通过计算不同场景图像的透射率及大气光值来实现图像复原,但由于滤波参数选取不当,容易导致图像边缘信息丢失,因此复原图像易产生黑斑效应[7~10].此外,使用暗通道先验去雾时,大多数散射模型的去雾方法在处理天空区域时都会产生过增强[11~14]现象,致使图像的主观视觉质量较差.
机器学习的发展,尤其是深度学习中卷积神经网络的快速发展,使得去雾越来越优越,性能已超过了传统去雾方法.例如,Tang 等人[15]根据随机森林的回归框架,利用迭代优化方法提出了一种基于学习的去雾方法.该方法虽能取得一定效果,但在去雾过程中必须先提取图像特征向量,然后将其输入随机森林进行分类,最后实现去雾,因此计算复杂度较高,不适合实时性去雾;文献[16,17]通过建立雾天图像库,通过卷积神经网络得到图像传输图来实现图像去雾,由于只获取传输图,仍需应用大气成像模型得到清晰图像,因此去雾效果会受到成像模型的参数影响;文献[18]首先以有雾图像作为输入,输出了有雾图像与无雾图像之间的残差图像,然后直接从有雾图像中去除霾层图像,最后引入残差学习来直接估计初始霾层,从而得到无雾图像,由于利用最优学习率减少了计算量,因此收敛过程被大大加快,实验结果表明该方法能够取得较好的去雾效果;文献[19]提出了并联卷积神经网络的单幅图像去雾方法,首先采用RGB 图像YUV 构建并联卷积神经网络,自适应地获得有雾图像特征,同时采用递归双边滤波对去雾后的图像进行滤波,虽能得到较为清晰的无雾图像,但运行时间较长.
综上分析可知:虽然图像增强与传统暗通道先验去雾能取得一定的效果,但这两种方式须依赖参数选取,因此计算量过大,且对于复杂场景的有雾图像效果一般;而基于深度学习的方法通过训练模型库,以清晰图像作为训练标签,保证了雾天图像与清晰图像像素点的对应关系,因此效果较好,尤其对交通、航天及其野外等环境的图像处理效果最好[20,21].
复杂场景的图像去雾对图像清晰性要求较高.因此本文提出了景深先验引导与环境光优化的图像去雾方法.具体过程为:根据景深引导网络(Depth Guided Network,DGN)的两个优化分支恢复图像边界结构,在深度引导网络基础上,利用空间特征变换(Spatial Feature Transform,SFT)层将细调后的景深图转化为空间特征;采用缩放及平移操作与去模糊分支中的图像特征进行融合,通过景深引导对初始清晰图像进行优化;使用动态环境光替代全局大气光来进一步优化图像去雾,得到最终复原图像.主客观评价表明,本文方法恢复出的图像轮廓清晰且平滑性好,在各类性能指标最优的情况下,平均运行时间最短.
本文提出的去雾流程如图1 所示.首先根据景深先验复原出初始清晰图像,同时采用景深细调网络恢复出景深图的边界与结构;然后,利用SFT 层将图像进行迭代变换使细调后景深信息转化为图像特征,结合缩放及平移与初始清晰图像特征融合,根据景深引导对初始清晰图像进行优化;最后,为使复原图像具有适宜色彩与较高对比度,将动态环境光细化后用于图像去雾,进一步优化细节信息,得到最终复原图像.
图1 本文方法去雾流程
根据原始暗通道先验原理,有雾图像与复原图像存在如下关系:
其中,I为有雾图像;J为最终复原图像;t为透射率;d为场景深度;A为大气光值.去雾的主要目标为:求出最优的场景深度d,进而求出透射率t,最终带入式(1)求出复原图像J.
DGN的网络结构如图2所示,主要由去模糊分支与景深细调分支两个主体结构组成.为了更加清晰地恢复出图像结构信息,细调分支将有雾图像的粗略景深图进行估计分析,通过编码计算进行不断优化;初始清晰图像由DGN 中的去模糊分支利用细调的景深图优化得到.最终设计的DGN 网络输入为有雾图像I及初始模糊景深由I估计),通过上述两个分支进行编码解码计算,复原出初始清晰图像J1.初始模糊景深βb的获取过程如下所述.
图2 景深引导的DGN结构图
一般而言,雾浓度随着场景深度递增而增加,因此假设场景深度、雾浓度及亮度值呈正相关[22]关系,即
其中,d(x)表示场景深度;c(x)为雾浓度;v(x)表示场景亮度,可转换到HSV 空间进行求解,但该分量在包含白色物体的图像中往往会失效.因为白色物体通常具有较高的亮度值,而图像亮度分量图中的白色场景通常对应景物较深处,因此容易导致亮度值估计不准确.为此,对大量有雾图像进行统计后发现RGB 这3 种光的波长(700 nm,520 nm,440 nm)不同,且RGB这3个通道对光的散射强度为Sr<Sg<Sb.因此假设大气中介质同质且均匀分布,雾浓度与景深之间呈正相关性关系[22],此时散射强度也会随着景深增加而增加.因此可由RGB这3个通道的散射强度来逼近景深,具体表达为
其中,SC代表图像某一通道的散射强度.通过叠加原理可知:在图像越亮的区域,RGB 某个分量会越大,但考虑到实际像素的不确定性,本文采用RGB 这3 个通道的算数平均值来逼近浓度,具体表达为
其中,mean(·)表示取均值,Ic(x)为有雾图像的某一颜色通道.通常雾浓度随着景深增加而变化,且两者为正相关关系[22],因此最终可以粗略得到初始模糊景深图的估计,具体表达为
其中,c(x)表示雾浓度;βb(d(x))表示最终获得的初始模糊景深图;符号∝~表示近似相关关系;wθ是修正参数.
由于初始模糊景深图βb从模糊图像I中估计得到,因此图像中包含的清晰结构信息不足.为此本文根据景深细调分支对βb进行细化,从而使得βb达到最优,优化的具体过程如图2 下半部分所示.图中景深细调分支(以λD表示)的基础结构为1个“编码器-解码器”,其中编码器与解码器之间存在部分跳跃的网络连接.编码器由3个特征尺度组成,每个尺度由1个跨步卷积层与3个残差块组成,其中跨步卷积层步长设置为2,目的是将上层特征图分辨率通过采样计算变为原来的二分之一;与之相对应的为解码器,结构上与编码器对称.同时为使得DGN 网络的性能更佳,设计解码器包含3 个残差块与1个转置卷积层,作用为将上层特征图分辨率通过采样计算变为原来的2倍.最终设计的景深细调分支结构含卷积层(Conv)、跨步卷积层(SC)、转置卷积层(TC)、SFT层、Res 残差块及Tanh 正切激活函数,参数的详细信息如表1所示.除了Conv2层,每个卷积层后面均连接一个线性整流单元激活层ReLU来优化图像景深信息.
表1 景深细调分支
由于初始清晰图像未经过细化,因此初始景模糊深βb不能完全体现出图像所包含的具体信息.为此本文通过SFT层将原始输入图像中的特征进行不断提取,然后传递到景深细调分支,经过景深引导来优化初始清晰图像.在此过程中,网络将通过残差学习方式细调初始模糊景深βb,恢复其中的边界并生成细调景深βr,继续分析图像特征后,得到初始清晰图像J1,βr细化的过程为
景深细调分支设计完后,本文继续给出了图像去模糊分支的构建过程,将其网络结构设计为解码器-编码器的一一对应模型结构,设计思路与细调分支相同(篇幅原因,具体设计过程不再阐述),参数信息如表2所示.为了更好地恢复初始清晰图像J1,继续采用残差学习对其优化分析,具体如下:
表2 去模糊分支
常用的特征融合方法有特征串联或特征点乘,此类方法虽在处理无雾图像时具有很好效果,但在处理有雾图像时,不能很好地提取图像中的特征空间信息,导致特征融合效果一般,恢复的图像细节信息有可能会被滤除.因此为了尽可能地提取图像特征空间信息,本文利用SFT层进行图像特征融合,快捷地提取特征中的空间信息,然后有效地融合由先验及输入图像提取的特征,具体过程如图3所示.
由图3 可知,采用SFT 层进行特征融合的具体原理如下:首先将条件图γ根据DGN 网络中的三个卷积层进行不间断的提取分析,之后传递到卷积块中通过卷积层的特征分析进行计算,最终得到图像空间特征信息的调制参数χ与θ.同时为了输出图像平移特征,原始图像输入特征φ在通过SFT 层时,按照式(9)进行调制,参数χ为
图3 空间特征变换(SFT)结构图
其中,⊙代表点乘运算.
综上分析,基于景深先验引导的图像去雾流程主要如下:对于景深细调分支结构来说,首先将原始有雾图像I视作DGN网络的先验信息,作为网络输入进行去雾分析;然后利用SFT 层进行图像特征融合,快捷地提取特征的空间信息,同时有效地融合先验与输入图像特征,进而获得细调景深βr;在获得细调景深βr后,根据DGN网络中的去模糊分支将βr作为此层的输入进行计算分析,通过设计的SFT 层将Conv1 层的输出特征与先验信息进行融合,得到初始清晰图像J1.在此过程中,通过DGN 网络中的两个去雾分支进行编码、解码计算,使得图像避免了传统暗通道先验带来的细节信息恢复不完善与低对比度弱点,最终更好地完成图像去雾.在具体训练中,加入Dropout 层来改善深度神经网络的过拟合问题,dropout rate 为0.5,使得图像数据集的训练效果更好,最终的复原图像效果更佳.
为了更好地衡量去雾方法的性能,本文将对DGN网络存在的损失函数进行推导.由于搭建的网络为DGN 结构,此结构包括两个分支结构,因此在结合感知图像的基础上,推导出3 个损失函数,依次为去模糊分支损失、感知损失及景深精调损失.
(1)去模糊分支损失
对于去模糊分支损失,采用的是均方误差损失,计算初始清晰图像J1与“伪真实”图像Jgt之间的均方误差,如下所示:
伪真实图像与模糊核尺寸相关,模糊核尺寸反映了图像的模糊程度.当输入的模糊核尺寸与伪真实图像核尺寸相同时,可以得到较准确的模糊核以及清晰的复原图像.
(2)感知损失
感知损失是初始清晰图像J1与真实清晰图像Jreal在高维特征空间之间的差距.传统方法为将半监督学习中的分类网络作为特征提取工具来分析图像信息.在参阅文献[23]后,根据VGG 网络进行图像特征分析并完成信息提取.在提取特征后,输入到分类器中进行训练得到感知损失,感知损失计算如下:
其中,Vt代表分类网络模型中的第t层特征,本文根据VGG-19 网络[23]的三层卷积神经网络进行计算感知损失,通过分析感知损失使去雾效果达到最佳.
(3)景深精调损失
为了使得DGN 网络训练过程更好,同时使细调景深最优,本文将真实清晰图像估计得到的景深图作为一个监督信息,通过最小化细调景深βr与“伪真实”景深图βgt之间的MSE损失来训练网络,具体如下:
根据上述分析,总损失函数为3个损失函数的加权和,即
其中,δa,δb及δc分别代表图像内容损失、感知损失、及景深细调损失的权重,取值分别为δa=1,δb=0.01,δc=1.
为了分析各个损失函数对图像复原结果的贡献,将式(13)中的各项损失权重值分别设置为0,并保持其余两个权重参数不变.表3 首先给出了本文网络结构在不同损失函数组合下的图像复原能力对比,继而表4又给出了3种不同权重组合值下的图像复原能力对比.选取结构相似性(Structure Similarity Index Measure,SSIM)与峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)对图像进行评价[19].SSIM衡量两幅图像的相似度,该值越大表明图像细节信息越好;PSNR 衡量图像质量,该值越大表明去雾图像越接近无雾图像.从表3、表4 可知,只有当3 个损失函数都存在时,DGN 模型才能够复原出更加逼真的清晰图像.更进一步,只有当权重组合设置为δa=1,δb=0.01及δc=1时,复原效果才会最好.
表3 损失函数有效性分析
表4 损失函数权重有效性分析
在利用传统方法进行图像去雾时,全局大气光的使用会使得图像对比度在复原后变低.图像天空及远景区域也会因为光照不均而导致去雾效果变差.同时当原始有雾图像的环境较为恶劣或者阴影部分区域较多时,有雾区域也会出现光照不均问题,从而导致图像色彩不均衡,对比度不适宜.因此在考虑全局大气光带来的缺点后,本文提出了一种动态环境光优化策略,通过自适应地给图像的不同区域分配光照,使得图像去雾可以克服全局大气光的光照不均衡问题,最终改善图像去雾中低对比度的弱点.
由于原始输入图像景物特点的不同,必须自适应地为图像不同区域进行分配光照,因此本文借鉴一种四叉树搜索方法来[24]获得全局大气光AG,通过分析图像每个区域特征将图像分为3个区域,具体为
其中,A1,A2及A3分别表示有雾图像中的浓雾区域、近景区域及阴影偏暗区域;R(i,j)表示图像在HSV 空间中的亮度通道;ρ为图像天空区域的分割系数;i,j分别表示像素点的行与列.本文首先通过分析原始有雾图像的通道直方图将图像区域进行划分.分割思路具体为:当图像存在大面积浓雾信息时,图像的通道直方图具有明显波峰,因此确定此时通道图波峰波谷的位置即可很好地将有雾图像进行分割.处理完浓雾区域后,非浓雾区域的处理为利用式(14)设置的ρAG/2 将图像分割为近景与阴暗区域.当然一些图像包含的信息较为简单,图像中结构信息较少,因此可通过一种大津阈值方法将图像简易分割为天空与非天空区域,此时将天空区域得到的阈值称为大津阈值.最终利用四叉树方法可以动态的给图像不同区域分配大气光,同时通过大津阈值方法得到大津阈值,进而确定分割系数ρ.大多数实验分析表明:有雾图像的大津阈值与全局大气光比值在0.8~1.0 范围内,因此本文将分割系数设置为ρ=0.9.为了验证不同分割阈值对图像去雾的影响,图4(b)~(e)分别给出了ρ=0.7,ρ=0.8,ρ=1.0 及ρ=0.9 时分割的去雾结果,从图可知分割系数为0.9 时不仅可分割出有雾图像中的浓雾区域,而且还可较好地分割出图像中的阴影偏暗区域与近景区域.
图4 不同ρ值的图像处理效果对比
将有雾图像的V通道图像分割为3 个区域后,取各自区域亮度均值为对应区域的大气光,此时会生成粗略环境光图集合,具体表达为
实验结果表明,适度增大近景区域的大气光值有利于改善去雾图像的整体视觉效果,因此在计算近景区域的大气光值时引入增益系数k,令k=1,2.
在具体的去雾过程中,对于浓雾图像,增益系数k设置为2,对于非浓雾图像,增益系数k设置为1.同时为了更直观地验证增益系数选择原则,本文分别给出了不同有雾图像在不同增益系数下的去雾效果对比(第一幅为浓雾图像,第二幅为非浓雾图像),具体结果如图5 所示,从图可知,浓雾图像在k为2 时去雾较好,非浓雾图像在k为1时去雾较好.
图5 不同增益系数下的去雾效果对比
图像虽然根据四叉树搜索方法能够动态分配环境光,但初始环境光图较为粗略.因此本文根据闭运算操作对不同区域的动态环境光进行细化,使得环境光中的不连续区域被减少.为了直观地说明细化环境光的作用,实验给出了ρ=0.7,ρ=0.8,ρ=1.0 及ρ=0.9 的分割图像在细化环境光、粗略环境光及未使用环境光的平滑损失对比(图6(a)~(d)).从图6 可知:第一,随着迭代次数增加,利用细化环境光进行优化去雾时,平滑损失值会一直下降,而其他两种情况的平滑损失值在迭代次数增加时情况不一,例如,未使用环境光时平滑损失值会增大(图6(a)(c)(d)),同时粗略环境光的曲线收敛性较差(图6(a)(c)(d)),因此间接证明了细化环境光的优势;第二,细化环境光得到的平滑损失值下降幅度较大(图6(a)(c)(d)),且在ρ=0.9 时的效果最好(图6(c)),虽然图6(b)中三者的平滑损失值相差不大,但还是细化环境光最小,图6(d)中虽然粗略环境光的平滑损失在某些情况下小于细化环境光,但由于分割值设置不是最优,曲线收敛性较差.而从图6(c)可知:当分割值最优时,细化环境光的平滑损失值会随着迭代次数增加一直下降,因为动态地给图像分配光照后,能使得图像克服全局大气光的光照不均衡问题,因此平滑损失最小,去雾效果也会最好.
图6 不同分割值的平滑损失值对比
作为对比,实验也给出了3种情况下的景深图及复原图像(图7).从图7 可知,当最终利用细化环境光优化去雾时,细化环境光后的景深图最优,如图7(d)所示,此时环境光为,可以看出细化之后的环境光图较为平滑,且复原图像光照适宜,主观效果较好.
图7 环境光优化效果对比
根据景深引导网络优化去雾后,得到了初始清晰图像J1(x)与细调后的景深βr,根据βr及式(2)计算出透射率t(x),此时对初始清晰图像进行环境光优化处理,在估算出动态环境光之后,根据式(1)得到终复原图像J(x),数学表达为
4.2.1 本文方法去雾效果验证
图8、图9 给出了5 幅有雾图像利用本文方法去雾的效果图,从图可知:5 幅图像的清晰度与对比度都得到了很大程度的提高,浓雾区域图像边缘细节信息保持良好,天空区域去雾之后,没有产生黑斑效应及图像失真.由此验证了本文方法去雾的性能.
图8 有雾图像
图9 本文方法去雾效果
为了进一步验证本文方法每个步骤去雾的必要性,建立了逐步去雾对比实验.主要思路为:选取两幅有雾图像分别在图像去模糊分支优化(图10(b)),在图10(b)基础上利用图像细调分支优化(图(c)),在图(c)基础上使用粗略环境光去雾(图10(d))及在图10(d)基础上使用优化动态环境光去雾(图10(e))情况下进行去雾对比.从图10 可以看出,仅使用去模糊分支优化恢复的图像在浓雾区域去雾不彻底,两幅图像的部分浓雾依旧存在,且天空区域较为暗淡,基本没有达到去雾效果;当利用图像细调分支进行优化后,景物(图10(c)第一幅图)中浓雾相对减少,天空区域较之前者亮度适宜,景物(图10(c)第二幅图)中火车部分浓雾相对减少,但是远处浓雾区域还有雾气干扰,图像较远处信息显示不清晰;利用动态环境光代替全局大气光后,可以看到景物(图10(d)第一幅图)图像亮度适宜,且光照强度比较适宜,同时可以看到,较远处的图像信息处理较好(红框标记部分),景物(图10(d)第二幅图)图像对比度更加适宜,但由于是粗略环境光,所以天空区域较暗;在经过动态环境光细化后,图像整体恢复效果较好,边缘细节信息能得到一定的复原(图10(e)红框标记部分),暗影现象基本消失且不存在halo效应,由此验证了每个步骤的必要性.
图10 去雾过程效果对比图
4.2.2 合成有雾图像对比实验
为了进一步验证所提方法的有效性,实验选择了去雾领域一些经典的方法来比较去雾效果.主要有He方法、Gibson方法、Cai方法、基于深度学习的文献[18]方法及文献[19]方法.实验首先在合成有雾图像上进行上述方法的去雾对比,选取的图像素材分别为偏向天空区域景物(去雾效果见图11)及建筑景物(去雾效果见图12).
对于天空区域景物来说,当采用He 方法进行去雾时,基本能够消除图像中的雾气干扰,去雾效果较好,但是可看出天空区域景物还是较为模糊(图11(b)的第一幅图),同时图像色彩较为暗淡(图11(b)的第二及第三幅图),这主要是全局大气光估计不准确造成的.当采用Gibson 方法进行去雾时,图像对比度较之He 方法好,但可以看出复原图像具有明显的偏色现象(图11(c)的第一幅图),因此去雾存在局限性.当采用Cai 方法进行去雾时,与He 方法一样,复原图像整体色彩较淡,但是比He 方法恢复的图像清晰度高,且具有良好的亮度,但对天空区域进行处理时,存在严重的偏色现象(图12(d)的第三幅图).当采用文献[18,19]方法进行去雾时,由于使用了基于神经网络的训练方法,因此去雾效果较好,复原图像的清晰度较高(图12(e)(f)),但是也有各自的不足,例如,会形成整体去雾偏色现象(图11(e)(f)的第一幅图),且天空区域失真及远处景物处理效果较差(图11(e)(f)的第三幅图).图11(g)及图12(g)是本文方法实现的去雾效果,与前几种方法相比,本文方法恢复了很多细节,天空区域处理较好,特别是在远景区域,亮度相对较好,图像主观效果较好.
图11 合成景物1(去雾效果对比)
图12 合成景物2(远处建筑景物)
主观对比不足以证明本文方法对于去雾的有效性.因此本文继续选取结构相似性(SSIM)与峰值信噪比(PSNR)对图像继续进行客观对比评价,客观对比实验结果如表5、表6所示.
从表5、表6 可知,在PSNR 指标对比方面,图像1得到的PSNR 值都比较偏低,这是因为各方法都不同程度地产生了偏色现象,本文方法仅有第一幅图像PSNR 值略小于文献[19]方法,但均大于其余5 种方法,而在另外5 幅图像的PSNR 对比中,本文方法均有最高的PSNR 值,这就表明本文方法去雾误差相对较低,能够较大程度地恢复图像的细节信息,去雾性能较好.在SSIM 指标对比方面,综合6 幅图像对比来看,本文方法复原图像的SSIM 值仅有第六幅图像略低于文献[19]方法,但另外几幅图像,本文得到的SSIM 值均最高,因此平均值也最高.这就表明经过本文方法去雾的图像更接近于标准无雾图像,复原质量相对较高.由此验证了本文方法去雾的有效性.
表5 合成有雾图像的PSNR指标对比/dB(↑)
表6 合成有雾图像的SSIM值对比/%(↑)
4.2.3 真实有雾图像对比实验
图13、图14 为真实有雾图像的去雾效果对比.He方法能够在一定基础上降低图像雾气,但图像深度区域还是会存在去雾不彻底的问题(图13(b)第二幅图),且恢复细节能力较差(图13(b)第二、三幅图).相对于He 方法,Gibson 方法去雾能够使得复原图像具有较好的对比度((图13(c)第一幅图),但会使得图像存在黑斑效应及浓雾区域去雾不彻底等问题(图13(c)第二、三幅图),也会使得局部区域产生过增强现象(图14(c)第三幅图),因此去雾存在很大的局限性.Cai 方法相对于前两种方法得到的复原图像整体效果较好,且从图13(d)可看出,图像整体亮度较为适宜,恢复的细节信息较多,但由于网络模型学习能力有限,部分区域去雾不彻底(图14(d)第四幅图),可以看到大片区域还是存留残雾.文献[18,19]方法均为基于神经网络的去雾方法,因此去雾效果比前3 种方法好,例如从图13(e)与图14(e)可看到,文献[18]方法复原的图像整体对比度较高,浓雾区域去雾效果较好,同时也可从图13(f)与图14(f)看到,文献[19]方法还可消除Gibson 方法去雾的黑斑效应问题,得到的图像色彩适宜.但是由于神经网络的训练库本身数据小及过拟合问题,2 种方法也各有不足,例如,文献[18]复原的图像还是会产生较为严重的偏色现象(图13(e)第三幅图与图14(e)第四幅图),文献[19]复原图像会存在天空区域雾气处理不完整的问题(图13(f)第四幅图).图13(g)和图14(g)为本文算法实现的去雾效果,由图可知,本文方法恢复出了图像的很多细节,使得图像更加直观清晰,且图像饱和度与亮度相对较好.对比其他去雾方法,本文复原的4 类图像边缘特性较为良好,在有效去雾的同时失真最小,同时复原图像的整体直观视觉性效果较好.
图13 真实景物1(近景景物)
图14 真实景物2(远景景物)
为了进一步验证本文方法对真实有雾图像去雾的性能,继续使用客观对比参数再次评价去雾性能,参数为细节强度与色彩还原程度[25].细节强度As表示图像的总细节强度,使用Canny 算子检测图像的边缘并求和;光晕强度Ahalo表示图像的明亮通道估计.细节强度值越大,图像细节越好,且图像更加清晰.细节强度的表达式如下:
色彩还原程度的表达式如下:
对图13、图14 的去雾图像进行上述客观参数对比分析,得到如表7的客观对比结果.从表7可以看出,在细节强度的对比中,文献[18]与文献[19]方法均采用神经网络进行训练图像,因此得到的Aν相对较大,其中第三、四幅图的Aν值,文献[19]方法均略高于本文方法,但是另外几幅图像得到的Aν值,本文均是最大.因此综合来看,相较于He方法、Gibson方法、Cai方法及文献[18]方法,本文复原图像得到的Aν值最大,虽有2 幅图像略小于文献[19]方法,但是本文方法在9幅图像中得到的平均Aν值还是最高,这也证明了本文方法获得的复原图像细节信息最好,且去雾性能较好.而在色彩还原程度对比结果中,He 方法、Gibson 方法及Cai 方法得到的M(h,h*)值相差不大,这是由于3 种方法恢复出的图像可能存在黑斑效应及去雾不彻底现象,因此图像某些细节信息没有被恢复出来,色彩还原能力较弱;而文献[18]与文献[19]方法虽然得到的M(h,h*)比上述3 种方法都大,但是却均小于本文方法;本文方法通过深度引导网络优化图像景深,从而使得复原图像的信息较为丰富,因此得到的M(h,h*)在几种对比方法中最大,这也就表明本文方法具有较好的图像色彩恢复能力.综上所述,细节强度与色彩还原程度方面的实验结果再次证明了本文方法去雾的优越性与有效性.
表7 真实有雾图像的实验结果数据分析
4.2.4 鲁棒性与时间分析
为了分析本文模型对噪声的鲁棒性,将真实场景的图像加上噪声进行去雾鲁棒性的验证,该噪声为等级从0(未添加噪声)到5%的高斯随机噪声.在添加噪声后的测试集上评估本文方法的复原效果,并与几种方法对比平均PSNR 值及SSIM 值,具体如图15(a)(b)所示.从图15(a)可知,所有方法在PSNR 值的对比中均对噪声敏感,因此复原能力随着噪声等级增大而下降,但是本文方法的复原能力还是最好;从15(b)可以看出,本文方法在SSIM 值的对比中对等级低于2%的噪声不太敏感,因此具有良好的复原效果.然而随着噪声等级增大,本文方法的复原效果也会变差,尤其是等级在3%以上时,复原效果会下降.但也可看出本文方法在测试过程中一直比其他去雾方法的评估结果好,由此也证明了本文方法在噪声存在时的鲁棒性.
图15 不同噪声等级下的复原能力对比
表8给出了不同图像利用不同方法去雾时的平均运行时间对比,其中文献[18]、文献[19]及本文方法均对比测试时间.从表8可以看到He方法由于采用了软抠图技术,因此运行时间最长,其他方法运行时间次之,本文方法运行时间最短.因此又从时间对比可以得知:本文方法相比于其他去雾方法,更适合实时性去雾,且效果较好.
表8 各方法去雾的时间对比/s
本文提出了一种基于景深先验引导与环境光优化的图像去雾方法,结合DGN 的两个优化分支、SFT 层及细化动态环境光实现了优化去雾,使得复原图像清晰度较好.本文方法中景深先验引导的深度神经网络能够复原模糊图像,图像去模糊分支利用景深先验从输入的模糊图像复原出了初始清晰图像;景深细调分支利用模糊图像作为先验信息去除了景深图中的模糊信息,进而恢复出了清晰边界;使用动态环境光替代全局大气光能够优化图像去雾,使得图像不同区域能够自适应获得环境光,进而使得复原图像具有更高的对比度,且平滑损失较小.与当前去雾领域经典的去雾方法相比,本文方法具有较好的直观去雾效果,去雾更加彻底,且细节信息较好,在客观评价指标取得最优的同时运行时间最短,能够适用于实时性去雾.更进一步,在不同噪声等级干扰下,本文方法去雾鲁棒性较好.