结合高斯滤波和导向滤波的单幅图像去雾算法
来源:用户上传
作者:
摘 要: 针对暗原色去雾后图像偏暗的问题,提出一种基于结合高斯滤波和导向滤波的单幅图像去雾算法。假设图像的最大值作为全局大气光强的初始值,然后使用高斯滤波获取分块图像的局部大气光强,使用最小值滤波获取分块图像的局部透射率。最后使用导向滤波分别对大气光强和透射率再次细化以处理分块后图像的边界跳跃问题。实验测试结果表明,所提算法去雾后的图像明亮度较高,视觉效果自然。
关键词: 图像去雾; 高斯滤波; 导向滤波; 最小值滤波; 去雾效果分析; 大气光强估算
中图分类号: TN911.73?34; TP333 文献标识码: A 文章编号: 1004?373X(2020)01?0028?03
Single image dehazing algorithm based on Gaussian filtering and guided filtering
TANG Bin1, LONG Wen2, TANG Ruixue1
Abstract: A single image dehazing algorithm based on Gaussian filtering and guided filtering is proposed in this paper to deal with the fact that the image is dark after dark primary color dehazing. The maximum value of the image is assumed to be the initial value of the global atmospheric light intensity, then the local atmospheric light intensity of the image blocks is obtained by Gaussian filtering, and the partial transmissivity of the image blocks is obtained by minimum value filtering. Finally, the atmospheric light intensity and the transmissivity are refined again by guided filtering to deal with the image boundary jump after blocking. The experimental results show that the image after dehazing by the proposed algorithm has higher brightness and natural visual effect.
Keywords: image dehazing; Gaussian filtering; guided filtering; minimum value filtering; dehazing effect analysis; atmospheric light intensity estimation
0 引 言
在雨、霧、霾环境下,景物的光线受大气粒子散射的影响而发生衰减,导致采集的图像可见度下降,对比度不足,明亮度不够,影响图像的后续处理。为提高图像质量,给图像的后续处理提供丰富的图像细节特征,图像去雾具有重要的工程应用价值。
目前的去雾方法可以分为两类:一类是以Retinex[1]、直方图均衡算法等为代表的图像增强方法,该类方法通过提高对比度增强图像细节,但处理后的图像一般存在色彩失真问题;另一类是以文献[2]提出的大气散射模型为代表的图像复原方法,该方法通常使用一些统计的先验知识和假设,结合大气散射模型恢复图像。文献[3]采用大气光幕和中值滤波估算大气散射模型中的透射率。文献[4]通过四叉树的方法估算全局大气光,优化构建的成本函数方法估算透射率,算法的特点是对天空区域的处理较好,但透射率的精确度取决于计算步长,精确度有限。文献[5]则利用图像中存在暗点的统计知识提出暗通道先验去雾算法,该算法简单实用,但透射率细化耗时较长。文献[6]使用导向滤波方法优化透射率的处理时间,但处理后的图像都存在偏暗的问题。
本文使用最大值滤波作为全局大气光强的初始值,由于大气光强存在非均匀性特点,故对全局图像分块,不同块具有不同的大气光强;然后借鉴Retinex理论求解亮度的方法,使用高斯滤波获取分块图像的全局大气光,结合最小值滤波获取局部透射率,使用导向滤波获取细化全局图像的透射率和全局大气光强;最后根据大气散射模型恢复图像。
1 去雾理论
1.1 大气散射模型
MCCARTNEY认为有雾图像的形成符合大气散射模型,物理模型描述如下所示:
[I(x)=J(x)t(x)+A(x)(1-t(x))] (1)
式中:[I]表示有雾图像;[J]表示无雾图像;[A]表示全局大气光;变量[t]表示介质的传输率;[x]代表像素空间坐标。因为雾的存在,景物在相机上的成像衰减为[J(x)t(x)],投射到相机的大气光幕为[V(x)=A(x)(1-t(x))]。
1.2 暗原色去雾算法
在大气散射模型中,由于全局大气光[A]和透射率[t]未知,恢复[J]本身属于一个病态问题。为了求解[J],必须设置相关假设或利用部分先验知识。根据大气散射模型式(1)可知: [I(x)≥A(x)(1-t(x))] (2)
根据公式(2)可推导出:
[t(x)≥1-I(x)A(x)] (3)
文献[5]的暗原色先验理论指出:在非天空区域的一个邻域内,图像的红、绿、蓝三个通道中存在亮度值接近0的像素,根据此先验知识,同时为了确保去雾后图像的真实感,式(3)调整为:
[t(x)=1-εminc∈(r,g,b)miny∈Ω(x)Ic(y)Ac(y)] (4)
式中:[c]代表RGB三个颜色通道;[Ω(x)]代表以[x]为中心图像的区域;根据经验通常将[ε]设置为0.95。
2 大气光估算
根据暗原色先验理论可以估算出透射率,根据式(5)可以完成图像的恢复:
[J(x)=A+I(x)-Amax(t(x),t0)] (5)
为防止[t(x)]为0,通常会设置[t0]为下限透射率。
根据式(5)可知,为了恢复图像,还需要获取全局大气光强[A]。在全局大气光的估算中,文献[4]使用四叉树搜索的方法估算全局大气光,文献[5]对暗通道中亮度排序,前0.1%所对应像素点的最大值即为全局大气光。本文使用最大值滤波作为全局大气光的初始值,并对全局图像分块,然后借鉴Retinex理论中求解亮度的方法,使用高斯滤波获取分块图像的全局大气光。
在Retinex理论中,亮度可以使用有雾图像与环绕函数做卷积运算获取,卷积过程如式(6)所示:
[I(i,j)=s=-LL t=-WWG(s,t)p(i+s,j+t) ] (6)
式中:环绕函数通常使用高斯函数[G(x,y)];系数[L]和[W]表示滑动窗口的大小。在Retinex理论中估算亮度时,窗口直接选取为全局图像的尺寸,在本文中由于采用分块处理,故窗口与分块图像大小相同。
对高斯滤波后的分块图像做最大值滤波获取局部大气光[ALocal],对分块图像最小值获取暗点像素,局部透射率如式(7)所示:
[tLocal(x)=1-εminc∈(r,g,b)miny∈Ω(x)(Ic(y))ALocal] (7)
本文假设分块中各像素点的RGB三通道的大气光相同,取值都为[ALocal];同时各像素点的透射率也都为[tLocal(x)]。
3 导向滤波
由于采用分块方式处理图像,块与块之间的大气光和透射率不同,块与块之间亮度不均匀,存在块状现象,边界出现跳跃。为解决此问题,采用导向滤波分别对大气光做平滑处理,对透射率边缘保留滤波。导向滤波如下:
[qi=akIi+bk, ?i∈wk] (8)
式中:[Ii]为导向图像;[qi]为滤波输出图像;[wk]为导向图像[K]像素点邻域窗口。如果为了使输出图像与输入图像接近,同时具备导向图像的纹理特征,必须使得损失函数式(9)差值最小。系数[ak]和[bk]通过使用最小二乘法的方法[7]获取。
[Eak,bk=i=0ω-1(akIi+bk-pi)2+εa2k] (9)
为平滑图像块之间的大气光,将图像块局部的大气光[ALocal]拼接成完整图像的大气光[AGlobal]作为输入图像,对全局图像最大值滤波再做高斯濾波,其结果作为导向滤波图像,滤波过程如式(10)所示:
[A(x)=Guidfilter(Gaussian(maxc∈(r,g,b)(maxy∈Ω(x)(Ic(y)))),AGlobal,r,ε)] (10)
为细化透射率,将图像块局部透射率[tLocal]拼接成完整图像的透射率[tGlobal]并作为导向滤波图像和输入图像,细化过程如式(11)所示:
[t(x)=Guidfilter(tGlobal(x),tLocal(x),r,ε)] (11)
在式(10)和式(11)中,[ε]的取值一般建议为10-3;[r]代表滤波半径,该值越大,块状效应消除得越明显,边缘过渡更自然,但会增加滤波时间[8]。
4 实验结果及分析
本文所使用的硬件实验环境为: Intel[?] coreTM i5?4210U(CPU@1.7 GHz),内存容量为4 GB;软件为Matlab R2014b。各种滤波算法的实验参数如下:图像块大小为32×32;暗通道最小值滤波半径设置为15;引导滤波半径值也设置成15;[ε]取值较大,设置为0.64;透射率的下限值设置为0.1。
为了验证去雾效果,选择小区、火车和航拍三幅不同场景的图片,分别使用文献[6]的算法和本文算法进行单幅图像去雾。实验结果如图1所示,其中图1a)为一组有雾图像,图1b)为使用文献[6]的算法去雾后的图像,图1c)为本文算法的结果。从主观视觉效果来看,与有雾图像相比,采用本文算法去雾后的图像细节清晰,色彩自然,去雾效果较好;与文献[6]的结果相比,本文算法的去雾图像更为明亮自然。
由于人的个体差异,主观视觉评价并不是十分可靠,因此还需要客观指标评价去雾后的效果。本文采用文献[9]中的熵、峰值信噪比等指标评估去雾后的图像质量,同时,采用文献[10]中的均值(亮度)指标评价图像的明亮度。本文统计的有雾图像、文献[6]算法的去雾图像和本文算法的去雾图像的客观指标值如表1所示。
熵越大,表征图像包含的信息越丰富。从熵的统计结果可以看出:去雾后的图像比有雾图像的熵增大,本文算法与文献[6]算法去雾后图像的熵大致相同,本文算法去雾的熵甚至更大,因此去雾效果大致相同。亮度可以反映图像的明亮度,其值越大表明图像越明亮。平均亮度统计结果表明:去雾后的图像比有雾图像的平均亮度值减少,但是与文献[6]去雾的图像的亮度相比,本文算法去雾后图像亮度值较大,与主观效果评价结果一致。 5 结 论
本文使用最大值滤波作为全局大气光强的初始值,并对全局图像分块,然后借鉴Retinex理论中求解亮度的方法,使用高斯滤波获取分块图像的全局大气光,结合最小值滤波获取局部透射率,使用导向滤波获取细化全局图像的透射率和全局大气光强,最后根据大气散射模型恢复图像。实验的测试结果表明,本文算法去雾后图像明亮度较高,视觉效果自然,具有较好的工程应用价值。
参考文献
[1] 赵冬梅,李斯娜.改进单尺度Retinex的彩色图像增强算法[J].现代电子技术,2018,41(17):71?75.
[2] MCCARTNEY E J. Optics of the atmosphere: scattering by molecules and particles [M]. New York, US: John Wiley & Sons, Inc, 1976.
[3] TAREL J P, HAUTIERE N. Fast visibility restoration from a single color or gray level image [C]// 2009 IEEE 12th International Conference on Computer Vision. Kyoto, Japan: IEEE, 2009: 2201?2208.
[4] KIM J H, JANG W D, SIM J Y, et al. Optimized contrast enhancement for real?time image and video dehazing [J]. Journal of visual communication and image representation, 2013, 24(3): 410?425.
[5] HE K M, SUN J, TANG X O. Single image haze removal using dark channel prior [J]. IEEE transactions on pattern analysis and machine intelligence, 2011, 33(12): 2341?2353.
[6] HE K M, SUN J, TANG X O. Guided image filtering [J]. IEEE transactions on pattern analysis and machine intelligence, 2013, 35(6): 1397?1409.
[7] 张昌利,孟颖,李鹏超,等.基于导向滤波优化暗原色先验的公路能见度检测方法[J].科学技术与工程,2018,18(6):162?168.
[8] 秦绪佳,葛春霞,范颖琳,等.邻域自适应暗原色先验的单幅图像快速去雾算法[J].小型微型计算机系统,2016,37(8):1843?1847.
[9] 谢伟,余瑾,涂志刚,等.消除光晕效应和保持细节信息的图像快速去雾算法[J].计算机应用研究,2019,36(4):1228?1231.
[10] 曹永妹,张尤赛.基于三边滤波的Retinex图像去雾算法[J].现代电子技术,2013,36(24):77?80.
作者简介:唐 斌(1981—),男,湖南邵阳人,硕士,讲师,主要从事电子系统设计自动化、图像处理研究。
龙 文(1977—),男,湖南邵阳人,博士,教授,主要从事进化计算研究。
唐瑞雪(1987—),女,贵州贵阳人,硕士,讲师,主要从事进化计算研究。
转载注明来源:https://www.xzbu.com/8/view-15122287.htm