当前位置:舍宁秘书网 > 专题范文 > 公文范文 > 一种基于空域占比自适应暗通道去雾算法

一种基于空域占比自适应暗通道去雾算法

时间:2024-11-12 10:00:02 来源:网友投稿

尹宋麟,谭 飞,2,周 晴,鲜 阳,赵 亮

(1.四川轻化工大学自动化与信息工程学院,四川 宜宾 644000;
2.人工智能四川省重点实验室,四川 宜宾 644000)

随着现代社会科技水平的不断进步,图像作为信息传递的媒介在智能交通、医学图像检测等领域应用广泛。设备采集图像时需要良好的光照,若在雾霾天气下,图像存在特征信息模糊、细节丢失、色彩失真等现象,严重影响了设备对图像的分析与理解。因此,如何处理有雾图像获取有效信息具有重要的研究意义。

图像去雾算法主要分为图像增强和图像复原两类,图像增强以直方图均衡化[1]和基于 Retinex 理论[2]的相关算法为代表,这一类算法优点是处理速度快、色彩恒定;
缺点是在光照变化较大区域会产生光晕现象,导致图像细节丢失。图像复原以暗通道先验算法[3]最为经典,此类算法优点是能够将图像的细节信息尽可能保留,去雾效果较为自然;
缺点是当图像中存在大面积高亮区域时,复原图像亮度整体偏暗。丁洁等[4]采用四分加权算法和导向滤波[5]对暗通道进行优化,并结合MSR算法[6]提升了图像亮度和清晰度,但在处理含有天空区域的图像时会产生Halo 效应。彭静等[7]采用四叉树搜索法获取大气光值并用双边滤波[8]优化透射率,通过Canny算子[9]和二维伽马函数[10]校正了图像亮度,恢复了有雾图像的细节信息,但对浓雾图像去雾并不理想。Ngo 等[11]通过图像特征函数估计传输图,设计自适应大气光值改善图像亮度不均匀现象,但算法复杂度高,且复原图像过于饱和。Zhu 等[12]通过图像融合算法,构建基于全局和局部曝光的像素权重图进行去雾,平衡了复原图像的色彩饱和度,但光照变化处的残雾没有消除。

针对以上问题,本文提出一种基于空域占比自适应暗通道去雾算法。首先对输入图像的灰度图自适应迭代出阈值,识别出天空区域并分割;
接着计算天空区域与输入图像的占比,若占比大于5%,大气光值取天空区域中前1%最亮像素点均值,否则采用加权平均求取大气光值;
对不满足暗通道理论的天空区域透射率进行修正,并引入引导滤波细化;
最后通过大气散射模型恢复无雾图像。

1.1 大气散射模型

在计算机视觉以及图像处理领域,所采用的描述有雾图像的大气散射模型[13]的数学表达式为:

式中I(x)为有雾图像;
J(x)为需要恢复的无雾图像;
A为大气光值;
t(x)为透射率。由于I(x)为已知量,只需计算A与t(x)的值就能反解出J(x)。由此可知,如何准确求解透射率和大气光值是大气散射模型去雾的关键。

1.2 暗通道先验理论

暗通道先验理论[3]表明,在无雾图像J(x)的非天空区域,即使图像曝光良好,R、G、B 3个通道中也会存在一个通道的某些像素值趋近于零,这个客观事实由数学表达式描述为:

式中,Jdark(x)为图像J(x)的暗通道;
Jc(y)表示图像的R、G、B 3个颜色通道中的其中一个;
Ω(x)表示像素点x的局部窗口,通常取15×15。

假设大气光值A已知,利用大气光值对式(1)进行归一化:

假设~(x)表示Ω(x) 中的透射率且为固定值,计算式(3)暗通道:

将式(2)代入式(4),化简求得t~(x):

为了保留图像深度,需要保留一定程度的雾。因此在式(5)中引入在[0,1]区间的参数ω=0.95,修正为:

计算出透射率后即可求出无雾图像J(x),同时为了避免分母的透射率趋于0,设置下限t0防止公式无意义,一般t0取值为0.1。最后由式(1)得到去雾图像公式如下:

由于暗通道先验算法只能较好地适用于非天空区域,但在实际情况中图像会出现天空区域,此时暗通道去雾易造成复原图像颜色失真,去雾效果不理想。因此,需要将天空与非天空区域分割后,采用不同的方法去雾。

2.1 基于自适应阈值的天空区域分割

在包含天空之类的明亮区域中,它们的像素值很大,在RGB 通道中找不到像素值接近于0 的点,此时暗通道理论在这些区域并不成立。因此本文提出自适应阈值迭代法分割天空区域,以便后续对天空区域去雾,具体步骤如下:

1)为降低算法运算量,将有雾图像I(x)转化为灰度图像G(x):

2)求出灰度图中最大灰度值Gmax(i,j)和最小灰度值Gmin(i,j),设置初始阈值表达式:

3)分别计算灰度值小于和大于阈值T的灰度总值S0和S1,以及灰度个数n0和n1,表达式如下:

4)分别计算小于和大于阈值的均值,得到新的阈值表达式:

当T与T′相差小于0.1 时,停止阈值迭代,此时T′即是最佳分割阈值,选择灰度值大于T′的区域连通,将面积最大的区域作为最终分割出的天空区域。算法具体流程图如图1所示。

图1 天空分割算法流程图

通过最佳灰度阈值对天空进行分割后的结果如图2所示。

图2 天空区域识别结果

2.2 大气光值改进

大气光值选取的准确性与图像去雾的结果密切相关,He 等[3]对大气光值的估计是选取图像暗通道中像素值最大的前0.1%的点,然后对应到原图中找到像素最大点作为结果。但该方法存在一定问题:当雾图中出现明亮物体时,该方法估计出的大气光值会偏大,影响去雾效果。于是Wang等[14]提出取天空区域像素均值作为大气光值的估计,但对于天空较小甚至某些没有天空的图像,这种方法还不够合理。因此,本文提出一种改进的大气光值A的获取方法。

首先通过2.1 节得到的最佳阈值计算天空区域像素与整幅图像像素比例,若占比大于5%,则选取天空区域中前1%个最高亮度像素均值作为大气光值,否则采用加权平均[15]求全局大气光值。定义U(x)为原图天空区域,M为原图像素点总个数;
m为天空区域的像素点总数,Ur(x) 记录原图中像素值最大的前0.1%的点,则改进后求取A的表达式为:

式中,n=m/M表示天空区域的权值;
Umed=med(Ur(x))表示取Ur(x)中值;
Imax(x)表示由暗通道先验选到的大气光值。

He 法和改进方法效果如图3 所示,图中蓝色方框标记的为He 的方法,红色方框标记的为改进方法。可以看出,He法错误地将大气光候选区域定位在白色物体上,而改进方法将大气光候选区域定位在远处的天空区域内,避免了白色物体所造成的估值偏差。

图3 He法和改进方法估计大气光值结果

2.3 透射率修正

由上述分析知,含天空之类的明亮区域不适用于暗通道理论,因此计算出的透射率是不准确的。若不考虑暗通道理论,则由式(4)推导出的准确透射率函数应为:

式(14)、(15)中Y为经验公式,为透射率修正因子,As为天空区域亮度值均值,Ps为空域占比。

修正后的透射率在图像边缘处过小,导致去雾图像出现块状效应。为了得到较为理想的透射率,采用引导滤波[5]对其进行优化,引导滤波器在对图像进行重建的同时能够保持图像平滑,具有一定的边缘保持性,数学模型表示为:

其中,qi为输出图像;
Ii为引导图像;
i、k表示像素索引;
wk表示像素点k的局部窗口;
ak和bk为wk的代价函数确定的线性系数。代价函数式为:

其中,ε为防止ak和bk过大的正则化因子;
pi为有雾图像。通过最小二乘法求解线性系数ak、bk为:

其中,|w| 为wk中所有像素点总个数;
μk为Ii在wk的均值;
σk为wk的方差。由于ak、bk在不同窗口区域值不同,因此需对各窗口区域中的线性系数求均值:

其中,分别表示像素i处wk的平均系数。使用输入图像的灰度图作为导向图,对引导滤波修正前后的结果图进行对比,如图4 所示。可以看出优化后的透射图更加光滑,细节部分也更完整。

图4 引导滤波优化前、后的透射率

为验证本文改进算法的有效性,选取6 幅含有天空区域的有雾图像进行仿真实验,其空域占比值见表1,同时从主观和客观两方面出发,与其他经典的去雾算法进行对比分析。实验所用到的软件是Matlab R2020a,操作系统为Windows 10,处理器为Intel(R) Core(TM) i7-11800H@2.30 GHz,16 G内存。

表1 空域占比值

3.1 主观分析

主观分析可以最直观地观察图像复原后的效果。将本文算法分别与文献[3]、文献[11]和文献[12]进行对比,实验结果见表2。He 算法和Ngo 算法处理的天空区域出现偏色,虽然Ngo 算法处理后的图像整体色调稍有提升,但细节部分处理不够理想导致复原后的图像显得过于饱和;
Zhu 算法复原效果较好,但在光照变化处残雾依然存在,高亮度区域导致了图像整体偏暗;
所提改进算法复原后的图像更加清晰自然,天空区域颜色得到改善,光照变化区域没有出现伪影,有效恢复了有雾图像的细节信息,去雾较为彻底。

表2 不同算法去雾效果对比

3.2 客观评价

采用信息熵H、峰值信噪比(PSNR)、平均梯度r和运行时间t作为评价去雾效果的客观指标[18]。信息熵用于度量图像中所包含信息的丰富程度,其值越大说明图像携带的信息量越多。PSNR是一种衡量图像质量和失真度的指标,其值越大说明图像失真越小、质量越好。平均梯度描述的是图像边界或影线两侧附近灰度值的变化,反映了图像微小细节反差变化的速率,该指标主要用来表征图像的相对清晰度,其值越大说明图像越清晰。表达式分别为:

其中,i为图像像素值;
pi为i出现的概率;
n为每个采样值的比特数;
MSE为原图像与去雾图像之间的均方误差;
rt为原图像与去雾图像对应像素点的平均梯度比值;
℘为去雾图像可见边的集合。采用客观指标对各算法处理后的图像进行评价,各项数据见表3~6。

表3 不同算法信息熵对比 bit

表4 不同算法峰值信噪比对比 dB

表5 不同算法平均梯度对比

对比表3~5 发现,本文改进去雾算法在信息熵整体优于其他算法,说明复原图像包含信息丰富,去雾更彻底,在图像6 中信息熵对于He 算法提升幅度最大,为36.1%。所提算法峰值信噪比优于He 算法和Ngo 算法,在图像5 中略低于Zhu 算法,在图像3 中相对于Ngo 算法有较大改善,提升15.9%。在图像2 中平均梯度相对于He 算法提升幅度最大,为28.5%,说明复原图像失真小、清晰度高。由表6可知,所提算法的运行时间少于He 算法和Ngo 算法,但略高于Zhu算法,说明改进算法的时间复杂程度也有所降低。综上所述,本文所提改进算法能有效对图像去雾,且具有一定的优势。

表6 不同算法运行时间对比 s

本文主要提出了一种基于空域占比自适应暗通道去雾算法,针对含有天空区域的有雾图像,使用自适应阈值分割出天空区域;
根据天空区域在图像中的占比选择不同的方法获取大气光值,避免了估计偏差;
接着修正天空区域透射率并采用引导滤波平滑,有效恢复了图像细节信息。最后分别与He、Ngo 和Zhu 的算法在有雾图像上进行主、客观结果对比,证明了改进算法去雾的优势,不仅改善了天空区域颜色失真问题,且具有较低的时间复杂度。针对没有空域的有雾图像,暗通道先验就能取得较好的去雾效果。后续将在目标识别任务中运用此方法对含雾数据集进行预处理。

猜你喜欢 透射率灰度大气 大气的呵护军事文摘(2023年10期)2023-06-09采用改进导重法的拓扑结构灰度单元过滤技术北京航空航天大学学报(2022年6期)2022-07-02基于灰度拉伸的图像水位识别方法研究高技术通讯(2021年3期)2021-06-09纯色太阳镜镜片耐日光辐照性能试验研究中国眼镜科技杂志(2018年13期)2018-08-11基于最大加权投影求解的彩色图像灰度化对比度保留算法自动化学报(2017年5期)2017-05-14基于灰度线性建模的亚像素图像抖动量计算光学精密工程(2016年1期)2016-11-07大气古朴挥洒自如河北书画研究(2016年2期)2016-08-24大气、水之后,土十条来了新农业(2016年18期)2016-08-16石墨烯光栅太赫兹透射特性的研究激光与红外(2015年11期)2015-03-23玻璃长波透射率对普通双层中空玻璃热特性的影响建筑材料学报(2014年6期)2014-03-11

推荐访问:空域 算法 自适应

最新推荐

猜你喜欢