当前位置:首页 期刊杂志

基于天空区域分割和条件约束优化的图像去雾研究

时间:2024-08-31

李树平,张辽,刘俊利

(河南理工大学 机械与动力工程学院,河南 焦作 454000)

0 引言

当使用成像设备在雾天环境中工作时,容易造成图像模糊、目标丢失、成像质量差等诸多问题,其中户外监控设备就是成像设备的一种,特别对高速发展的社会而言,户外监控设备对于社会的稳定起着直接和间接不可替代的作用,然而这类设备极易受到雾天环境的影响,使工作人员无法获取重要的信息,从而使工作效率大幅降低,为降低或者消除雾天对成像质量的影响,相关研究工作已取得显著成效。

图像去雾方法一般分3类[1],即基于图像增强、基于物理模型复原和基于数据驱动的方法。第一类去雾的本质是图像复原,利用可用的景深信息恢复无雾图像;第二类去雾的本质是对比度增强和颜色校正,根据视觉感受改善图像的质量[2];第三类是基于数据驱动的去雾方法,其深度学习面临的本质问题是数据之间相关特征的刻画,利用合成图像作为训练集,训练不同的网络结构达到去雾的目的。

近几年的研究偏向于后两类去雾方法,最初利用不同时间大气中粒子质量浓度的不同特性恢复场景[3-4],当场景接近雾霾颜色的时候,去雾效果并不太理想,而有些学者在一个场景中用偏振度的不同估计环境光[5-6],由于该算法受到环境光的影响,会出现去雾效果不太稳定的现象。何凯明等[7]提出了基于暗原色先验理论图像去雾技术,获得了很高的评价,但这一理论符合场景中不存在天空区域的部分;MENG G等[8]提出了直接利用暗原色先验和边界约束映射的分段传输进行图像去雾处理,不可否认的是边界约束对去雾的过程约束非常弱;WANG G等[9]提出将雾霾图像分割成天空区域和非天空区域,分别对这两个区域的系数进行估计,然后合并后进行细化,其算法对去雾后的图像需要进一步提高亮度和辨别图像中是否含有天空区域;孙小明等[10]又提出了通过分块思想,自适应估计完成透射率。后期,有人把暗原色规律去雾用到了视频和遥感方面;王昕等[11]通过最小化信息丢失和转换色彩颜色空间满足去雾的实时性要求,然而最小化信息依赖于像素的可靠值;代树波等[12]通过直接求取每个像素点3个颜色通道强度值的最小值来获取图像的暗原色图,然而对阈值的选取不好把握。

随着机器学习在应用技术上取得快速发展,基于数据驱动的去雾算法得到广泛应用,人们在提高处理图像的时效性上有了质的飞跃,前期科研人员利用不同的方法提取图像的特征进行建模[13-15],该算法普遍耗时,后期人们利用深度学习,使用卷积神经网络一次性可训练上千万张的雾天图像。REN W 等[16]利用多尺度的去雾网络模型估计透射率,分别利用粗调和细调网络方法对透射率精确估计,随着进一步研究,出现一批利用卷积神经网络对雾天图像进行特征提取和融合的去雾方法,张泽洁等[17]利用卷积神经网络,结合特征融合和提取的方法对图像细节进行重建,根据原始图像求出大气光值和透射率图,求出无雾图像;陈永等[18]通过设计一个端到端的CNN模型,卷积层提取浅层特征,卷积核提取深层特征,再将两者进行融合,通过非线性回归得到透射率图特征,由大气散射模型恢复场景亮度。

深度学习在处理批量图像的时效性上有很大提高,但是对于自然图像去雾后的效果不够稳定,依赖于大气散射模型。在基于物理模型的去雾方面,暗原色先验由于其理论和方法简单,备受科研人员的关注,然而暗通道先验理论只适合于非天空区域,对天空区域或者一些明亮的区域这一理论不成立。

本文在介绍暗原色先验方法去雾后,避免使用该方法导致天空区域出现大面积晕圈和严重的失真现象,以及进一步提升图像的质量,提出一种基于天空区域分割和条件约束优化的去雾方法,该方法能够增强图像天空区域的对比度,提升图像的质量,对提高成像设备在雾天环境下图像的识别率和工作效率具有重要的意义。

1 暗原色先验去雾方法

雾天环境中使用最广泛的模型为[19]

式中:I(x)为在雾天环境中观察到的景物图像;J(x)为在无雾环境下拍摄到的景物;t(x)为天空透射率;A为大气光;J(x)t(x)为反射光受大气散射衰减的剩余部分;A(1-t(x))为环境光受大气散射衰减的剩余部分。

暗原色先验规律:在给定的无雾图像中,每一个局部区域都可能存在阴影,或者纯颜色和黑色的东西。因此,每一个局部区域中,都存在至少一个很低值的颜色通道。

暗原色先验基于户外大部分非天空部分景象,在局部区域Ω(x)至少有一个颜色通道存在一个非常低的值,这个值趋近于0,即

在一个局部区域Ω(x)中,对两边进行暗原色最小值计算,可得

考虑到大气透视现象存在,如果完全溢出雾气,去除后的图像看起来不自然,并且可能丢失深度信息,所以需要对远处的对象保留少量的雾,于是在式中引入一个恒参ξ,其值一般定为0.95。因此,由式(4)可得

根据环境光和透射率的值,利用大气散射模型恢复场景亮度:

当透射率值较小时,得到的无雾图像噪声被放大,给定透射率一个最小的值,当t的值小于t0时,令t=t0,t0值一般设置为0.1。

暗原色先验规律并不适用于天空区域和明亮的区域,式(7)中,透射率t(x)一般取值为[0,1],如果取值不正确,会导致J(x)扩大十倍甚至几十倍不等,再加上估算环境值A也不准确,严重影响J(x)的结果,导致图像噪声被放大,图1为文献[7]利用暗原色先验规律去雾的结果,去雾后导致天空区域部分出现大面积晕圈和失真。

图1 暗原色先验去雾结果Fig.1 Defogging result of dark channel prior

2 改进的算法

2.1 图像预处理和天空区域分割

为避免使用暗原色先验去雾后导致图像失真等问题,提出一种基于天空区域分割和条件约束优化的去雾方法。天空区域是一个非常大、联通、高强度的区域,这为天空区域分割提供一个良好的基础,使其算法能更容易识别出来天空区域和非天空区域,图像的预处理过程和分割结果如图2所示。

图2 图像预处理过程和分割结果Fig.2 Image preprocessing process and segmenation result

图像预处理具体步骤:

(1)将图像转化为灰度图像。

(2)利用Sobel算子把灰度图像转换为边缘梯度图。

(3)用中值滤波对梯度图进行滤波去噪。

(4)按照设定的阈值对梯度信息进行区分。

(5)识别天空,对图像进行分割。

在式(1)中,已知的只有I(x),若要求出无雾图像J(x),需求出2个参数,即环境光A和透射率t(x)。本文图像去雾算法的具体流程如图3所示。

图3 本文算法的具体流程Fig.3 Specific flow chart of the algorithm in this paper

2.2 估算环境光的值

在原始的算法中[7]环境光取值是在暗通道取0.1%中最亮的像素,在图中找到与之对应的像素点作为环境光值,文献[9]利用天空区域的平均强度作为环境光值,这种方法未考虑天空区域占据整幅图像的比例较小时的情况;文献[20]首先估计暗通道中天空区域亮度最大的对应像素,然后找到对应原图中亮度的平均值,最后利用自适应校正公式估算出环境光值,该方法计算环境光值较为复杂。

图像灰度直方图的峰值位置能准确地反映出图像的亮度程度,如图4所示,当图像亮度普遍低时,直方图的峰值会出现在较左部分,然而当图像亮度普遍高时,直方图灰度值的峰值会出现在较右部分,天空一般是高强度、亮度普遍高的区域,利用这一规律,估算环境光值时,在分割为天空区域的图像中,取像素灰度值150~200的像素总数,假定像素总数为N,取N的1%~3%作为环境光值,大量实验数据表明,这种取值方法求得的环境光值具有代表性和普适性,符合人眼观察景物的习惯。

图4 图像灰度直方图与其亮度的关系Fig.4 Relation between gray histogram and brightness of image

2.3 估算透射率的值

在非天空局部区域中,设定一个图像像素值范围,然后由有效像素和透射率的值域得到两个条件,同时对透射率进行一个边界约束,估算出非天空区域的透射率,在此基础上,提出一种自适应校正公式,准确计算出天空区域的透射率,将此两区域的透射率合并之后对其滤波细化,使用此种方法求出透射率的值,其真实性和可靠性进一步提高,去雾后图像的细节和对比度都有所增强。

在估计非天空区域透射率时,首先需在无雾图像J的一个通道中,这个颜色通道定为Jc,通过缩小像素的区域范围,确定局部区域范围为Ω(x)和局部中心点为x。在本文实验中,取局部区域的大小为16像素×16像素,设JC的像素值域为

任何一幅图像的像素值都存在界限,其像素的有效值域为[0,255],超出这个范围,图像像素会溢出,利用像素的取值范围求得约束条件,即得到式(10);对非天空区域的透射率tr(x)也定义一个边界约束,即

考虑到大气透视现象的存在,如果完全溢出雾气,去除雾后的图像看起来不自然,并且可能丢失深度信息,所以需要对远处的对象保留少量的雾,引入恒参ξ,ξ的值定为0.95,联立式(8)~(11),最终求得非天空区域最优的透射率

天空区域中的透射率不符合暗通道先验规律,图1显示,使用该方法去雾后导致图像晕圈和失真现象,应着重改善天空区域图像的质量,增强图像对比度,因此,应对天空区域透射率的计算确保更加准确和有效,避免天空区域的噪声被放大,出现晕圈和颜色失真现象,应适当增加天空区域的透射比,本文采用一种自适应增加且能校正天空区域透射率的方法,即

式中:ts为天空区域的透射率;m为天空区域占据整幅图像的比例;tr(x)为非天空区域的透射率。

将天空区域部分和非天空部分的透射率进行合并后得到透射率~t(x),选用滤波器对透射率图像进行细化,双边滤波器[20]对输入图像局部起到优化细节和平滑的作用,使用该滤波优化透射率得到t(x),设透射率图像~t(x)中各像素点为p,坐标为(x,y),灰度值为Tp,q为像素点p的局部领域Ω中一点,Gσd,Gσr分别为空间临近度因子和灰度相似度因子,经双边滤波优化得到最终的天空区域透射率,即

细化之后的图像相比原透射率更加平滑,增强恢复场景亮度图像的细节纹理和对比度,如图5所示。

图5 细化前后的透射率图对比Fig.5 Comparison of transmittance image before and after refinement

3 实验结果

由上述提出的理论和方法,估算大气环境光和透射率值之后,利用大气散射模型恢复场景亮度。在软件MATLAB2010b中对图1做去雾仿真实验,结果如图6所示。

图6 本文算法的实验结果Fig.6 Experimental result of the algorithm in this paper

实验结果显示,基于天空区域分割和条件约束优化的去雾方法,图像识别率有很大提高,与图1相比,避免了天空中出现成片的晕圈和失真现象,图像色彩分配比例协调,亮度适中,能够满足去雾的目的。为验证本文提出的去雾算法效果,增加4组不同环境下的雾天图像,并与原始的He算法、文献[8]算法作比较,图7所示为不同算法去雾的实验结果。

图7 不同算法去雾实验结果Fig.7 Experimental results of defogging with different algorithms

从整体视觉效果可以看出,使用文献[7]暗通道先验去雾后,在天空区域中会出现晕圈和颜色失真现象,使用文献[8]的算法去雾后,导致天空部分曝光度过高,该区域已经完全出现失真,而使用本文提出的算法去雾后天空区域颜色恢复自然,避免天空中出现颜色失真和晕圈现象。从局部区域分辨,在Tree的一组实验中,使用本文去雾算法在图像划红圈的区域内,与前两种算法所对应的区域相比,图像细节上有很大改进,亮度也比较适中,而使用前两种算法该区域内还存在不少的雾气,去雾后的效果不彻底,导致图像看起来模糊不清;在最后一组Building的实验中,使用本文去雾算法(图像划红圈的区域内)图像边缘衔接自然,树叶边缘上虽留有部分雾气,但从整体看,去雾后的效果比较理想,而在所对应的红圈区域文献[7]的算法中,沿着树叶的边缘上留有一层雾气,在使用文献[8]的算法所对应的红圈区域内,实验结果中沿着树叶边缘上虽留有残雾,但从整个区域分析,在一定程度上留有雾气。最后从整体和局部综合评价上看,使用本文算法相比前两种算法画面都有所改善,图像轮廓清晰,细节较丰富,亮度适中,能够达到去雾目的。

为验证本文的实验结果和判定图像去雾后的清晰度,通过计算图像的信息熵和平均梯度来客观验证本文算法的可行性,信息熵和平均梯度是被用来作为评价图像的重要量化标准,图像的轮廓越清楚,细节内容越丰富,熵值和梯度值就越大,换而言之:图像去雾后的效果越好,其值就会越大。下面分别用文献[7]和[8]以及本文算法对去雾后的图像效果统一作量化对比,测定数据如表1所示,本文改进后的算法较前几种算法的熵值和梯度值都有所增加,证明算法具有改进效果。

表1 不同算法去雾后图像的信息熵和平均梯度对比Tab.1 Comparisons of information entropy and average gradient of image after defogging with different algorithms

4 结论

(1)将图像划分为天空区域和非天空区域,对天空区域的透射率提出一种自适应的求法,有利于处理天空区域色彩失真的区域。

(2)将天空区域和非天空区域进行合并之后,对透射率图像进行双边滤波细化工作,提高图像恢复细节的能力和增强图像的对比度。

(3)计算非天空区域透射率时,利用已知的信息,对图像像素和透射率进行合理约束,估算结果更加可靠和真实。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!