本发明涉及基于快速导向滤波改进的暗通道先验图像去雾算法,属于图像去雾算法技术领域。
背景技术:
秋冬时节我国大范围出现雾霾等恶劣天气,空气中的悬浮颗粒对光线的吸收和散射作用,导致成像设备捕获的图像出现对比度低、颜色失真等退化现象,对计算机视觉应用如视频监控、地形勘测、遥感航拍等领域产生了重大的影响,图像去雾算法的研究显得尤其重要。
技术实现要素:
针对现有技术的不足,本发明提供了基于快速导向滤波改进的暗通道先验图像去雾算法,解决了现有暗通道先验的单幅图像去雾算法中全局大气光强估计易受图中白色物体干扰,天空区域颜色失真,和使用软抠图方法优化透射率计算复杂的问题。
本发明解决其技术问题所采用的技术方案是:基于快速导向滤波改进的暗通道先验图像去雾算法,ⅰ.采用改进的四叉树搜索算法来精确估计全局大气光强a,算法步骤如下:
step1:对输入的雾霾图像i进行灰度化处理,得到灰度图像g;
step2:对图像g进行四叉树分割,并顺时针标记为1,2,3,4区域;
step3:利用公式θi=mean(gi)-σi,计算区域1和区域2的数值;
step4:比较θ1和θ2的值,θ值大的区域重复step2和step3,若分割出的图像大小或小于设定的阈值尺寸,停止分割;
step5:对所确定的区域w定义为天空区域,为避免所选的区域中没有天空区域,对区域w判断其方差σ2,若σ2≤0.01所确定的区域w就是真正的天空区域,分割得到的橙色区域就是天空区域,取橙色区域的最大值作为全局大气光强a,若σ2≥0.01则确定的区域w是非天空区域,则按照亮度大小从暗通道图中选取前0.1%的像素点,在原始图像中找到这些像素点对应值,取这些像素值的平均值作为全局大气光强a;
ⅱ.采用改进的快速导向滤波细化透射率,算法步骤如下:
导向滤波中输出图像q和导向图i是一个局部线性模型即
其中q是滤波输出图像,k是速率为r的局部窗口w的索引,输出图像p,通过公式θi=mean(gi)-σi最小化p和q的重建误差,
μk和σk是图像i在窗口k中的均值方差,∈是一个调整平滑度的正则化参数。滤波输出可用下面公式计算:
快速导向滤波的算法实现过程,伪代码为:
本发明的有益效果为:基于快速导向滤波改进的暗通道先验图像去雾算法,结合大气散射模型,采用改进的四叉树搜索算法对全局大气光进行精确地估计,利用快速导向滤波算法细化透射率复原无雾图像;有效改善了去雾效果,恢复的图像颜色鲜明,视觉效果清晰自然,处理时间也有一定的改善。
附图说明
图1是本发明的实施例的去雾算法框架结构示意图。
图2是本发明的实施例的一幅天空区域的雾天图像与其四叉树分割效果图的对比图。
图3是本发明的实施例的另一幅天空区域的雾天图像与其四叉树分割效果图的对比图。
具体实施方式
下面结合附图和具体实施方式对本发明进一步说明。
如图1至图2所示,本发明的实施例提供了基于快速导向滤波改进的暗通道先验图像去雾算法,雾天成像模型常被用于图像去雾中,该模型可表达为下式:
i(x)=j(x)t(x)+a(1-t(x))(1.1)
i(x)表示拍摄到的有雾图像,j(x)表示要复原的清晰无雾图像,a表示全局大气光强,t(x)是媒介透射率。在同质大气中:
t(x)=e-βd(x)(1.2)
β为大气散射系数,d(x)为景深。依据暗通道先验规律,在大多数非天空区域局部区域内,至少存在一个通道内的像素点的亮度值非常低甚至接近于0。图像的暗通道jdark(x)定义如下:
1、jc是图像j的颜色通道,其中c∈{r,g,b},ω(x)是中心点在x的局部区域。假设已知全局大气光强a,对(1.1)式两边同除以a,
进一步假设在每一个局部窗口ω(x)内,透射率t(x)是一个常数,用
根据无雾图像的暗通道先验规律可知:
因此,估算出的粗透射率公式如下:
因为在晴天的条件下大气中也存在着一定的微小颗粒,远景图像中保留一定的雾气可以感觉到景深的存在,复原出的无雾图像更加真实自然。因此引入一个调整参数w∈(0,1],本文中取w=0.95。
天空区域具有亮度较高、灰度平坦、位置偏上等特性,本文将满足以上特性的区域称为天空区域,采用一种改进的四叉树搜索算法来精确估计全局大气光强a。算法步骤如下:
step1:对输入的雾霾图像i进行灰度化处理,得到灰度图像g;
step2:对图像g进行四叉树分割,并顺时针标记为1,2,3,4区域;
step3:利用公式(2.1),计算区域1,2的数值;
θi=mean(gi)-σi(2.1)
step4:比较θ1和θ2的值,θ值大的区域重复步骤(2)和步骤(3),若分割出的图像大小小于设定的阈值尺寸,停止分割。
step5:对所确定的区域w定义为天空区域。为避免所选的区域中没有天空区域,对区域w判断其方差σ2,若σ2≤0.01所确定的区域w就是真正的天空区域,图2和图3中分割得到的橙色区域就是天空区域,取橙色区域的最大值作为全局大气光强a。若σ2≥0.01则确定的区域w是非天空区域,则按照亮度大小从暗通道图中选取前0.1%的像素点,在原始图像中找到这些像素点对应值,取这些像素值的平均值作为全局大气光强a。
图2中左侧图和图3中的左侧图是含有天空区域的雾天图像,图2中右侧图和图3中的右侧图是分别对应的四叉树分割效果图,橙色区域就是真正的天空区域,因此可以准确的估计出全局大气光强a,本文设定的阈值尺寸为30*30。
采用改进的快速导向滤波细化透射率,该算法的时间复杂度与滤波窗口大小无关,不仅可以保持边缘和细节纹理,处理速度上更是大有提高。
导向滤波中输出图像q和导向图i是一个局部线性模型即
其中q是滤波输出图像,k是速率为r的局部窗口w的索引,考虑到输出图像p,通过公式(2.1)和(2.2)最小化p和q的重建误差。
μk和σk是图像i在窗口k中的均值方差,∈是一个调整平滑度的正则化参数。滤波输出可用下面公式计算:
快速导向滤波的算法实现过程,伪代码如下:
所有框滤波器的计算把时间复杂度从o(n)减少到o(n/s2),最后的双线性上采样和滤波输出的时间复杂度为o(n),但是只占用了计算量的较小部分,实际中当s=4时我们可观察到近10倍的加速效果。
当透射率t的值趋向于0时,公式(1.1)中的乘积项j(x)t(x)便会趋向于0。因此设置一个阈值t0=0.1,当t值小于t0时,令t=t0。因此,最终无雾图像的复原公式如下:
经实验仿真结果发现,基于暗通道先验的去雾算法复原后的图像在色彩上整体偏暗,本文对复原后的图像进行增强处理。具体的算法如下:
step1:将复原后的无雾图像转换到hsv空间;
step2:用msr(多尺度retinex)算法对v通道进行增强;
step3:把增强后的hsv图像再转换到rgb空间。
虽然本发明所揭示的实施方式如上,但其内容只是为了便于理解本发明的技术方案而采用的实施方式,并非用于限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭示的核心技术方案的前提下,可以在实施的形式和细节上做任何修改与变化,但本发明所限定的保护范围,仍须以所附的权利要求书限定的范围为准。