APP下载

基于引导滤波和变差函数的图像去雾算法

2019-06-14章星晨孙刘杰

计算机技术与发展 2019年6期
关键词:透射率变差滤波

章星晨,孙刘杰

(上海理工大学,上海 200093)

0 引 言

近年来,环境污染越来越严重,SO2、NOX和颗粒物急剧增加。前两种是气态污染物,但颗粒物是造成雾霾的最重要原因。雾霾会大大降低图像场景的可视性,图像中的远景和细节模糊不清,且会有颜色偏移与失真现象,极大地影响了图像的质量和相关的应用。图像去雾的主要任务是减弱气象因素对图像质量的影响,提高图像的可视性。它是一个具有广泛应用前景的交叉学科,已成为计算机视觉和图像处理领域的热点话题之一。

现如今,人们在图像去雾领域取得了重大的进展,提出了大量的去雾算法。Tan等[1]通过最大化局部对比度的方法实现去雾以增强图像的可视性,然而往往会产生颜色过饱和的结果,并且可能在深度信息变化较大的地方产生光晕伪影现象。这种现象是由于在对比度最大化过程中高估了雾度浓度造成的,这是使用图像增强技术而不是基于物理学的方法的结果。He等[2]假设在清晰图像中暗通道值接近于0,但这种假设在场景物体与大气光相似时是不成立的。并且该方法在对传输图优化时采用的是软抠图算法,这种算法复杂度很高,极大地消耗了内存,使处理速度变得缓慢,不能实现图像的实时处理。为了解决此问题,Shi等[3]采用导向滤波方法代替软抠图算法,但是该方法会出现去雾不彻底的问题。此外,Tang等[4]在基于随机森林的回归框架上研究有雾图像和雾相关的多个特征,相比He方法有较大提升,但是整体图像偏暗。一些研究人员还针对特定的应用提出了相应算法,如Huang等[5]提出了改善道路视觉的方法,Yan等[6]将去雾延伸到交通标志识别中等。由于图像去雾最主要的任务是从输入图像中估计传输图和求出全局大气光的值,所以文中提出了一种基于引导滤波和变差函数的图像去雾算法。该算法相比较于其他算法,所恢复出的图像更加清晰自然,视觉效果更好。

1 暗通道原理

1.1 大气散射模型

在计算机视觉中,描述雾霾图像的模型[7]表达式如下:

I(x)=J(x)t(x)+A(1-t(x))

(1)

其中,x为图像中像素的位置坐标;I(x)和J(x)分别为雾天降质图像和场景辐射照度(清晰无雾的图像);A为整体大气光值;t(x)为介质传输率。假设雾气是均匀的,此时介质传输率t(x)可表示为:

t(x)=e-βd(x),0≤t(x)≤1

(2)

其中,β为大气散射系数;d(x)为场景深度。

式1中J(x)t(x)称为直接衰减项,是描述场景辐射照度在介质中的衰减;A(1-t(x))表示大气光幕,描述场景成像加入的大气散射光,是它造成了场景的模糊和图像失真[7]。

图像去雾的目的是从雾天降质图像I(x)中恢复出J(x),将式1变换得到:

(3)

因此,若想恢复出清晰无雾的图像J(x),需要获得透射率t(x)和整体大气光值A的大小。

1.2 暗原色先验理论

He等[2]提出的暗原色先验理论是通过对大量户外无雾图像做统计得出的一个先验规律。他们通过统计规律发现了在绝大多数户外无雾图像中,总是存在一些像素的RGB通道中某个像素通道的亮度值很低,且接近于0。暗通道先验可用式4表示:

(4)

其中,Jdark(x)表示暗通道图像,这个值往往非常低,甚至趋近于0;Ω(x)表示以x为中心的区域;Jc表示图像RGB三通道的一个颜色通道[8]。

通过变换后的式3可知,要想还原出无雾图像,首先要知道透射率t和大气光值A。首先,假设大气光值A是已知的,将式1两端同时除以A,得出:

(5)

然后对两边做两次最小值处理,得到:

1-t(x)

(6)

根据暗原色先验理论可知,无雾图像的暗原色值很低,且趋近于0,即

(7)

所以可以得到粗略的透射率值,表达式为:

(8)

为了使复原后的图像更加真实自然,可以引入一个参数w(0

(9)

粗略的透射率t估计值已求出,接下来是求出大气光A的大小。A的值由暗原色像素亮度值最大的前0.1%的平均光强决定。当t和A的值都已经求出来了,就可以用物理模型来得到最后的无雾图像[9-11]。因为当透射率t的值很小时,J的值就会偏大,从而使图像整体白场过度,所以通常设置一个阈值t0,当t

(10)

2 去雾算法的改进

2.1 基于引导滤波的透射率估计

引导滤波是一种较好的边缘平滑滤波器,对图像细节增强、图像边缘平滑和图像融合去噪的实现都有不错的效果。引导滤波的基本原理[12]:输入图像可通过一幅引导图像来进行滤波,输出图像能够保留输入图像的整体特征,并且又能够获取引导图像的细节变化。式9估计的透射率是不够精确的,He等为了提高透射率的精确度,采用软抠图的方法进行优化,但是这种方法实现起来所花费的时间较多,且过程复杂,实时处理效果不好。因此文中采取引导滤波对透射率t(x)进行估计。首先将p记为输入图像,q记为输出图像,I记为引导图像。以k为中心的窗口wk中有如下的线性关系[13]:

qi=akIi+bk,∀i∈wk

(11)

其中,i和k是像素索引;ak和bk是当窗口中心位于k时该线性函数的系数,是两个固定值。

对式11两边取梯度,可以得到如下关系式:

(12)

即当输入图像I有边缘时,输出q也有类似的边缘,所以引导滤波才会有良好的边缘保持特性。接下来要求出线性系数ak和bk,也就是线性回归,即希望输出图像与输入图像之间的差值最小,最小代价函数表达式如下:

(13)

其中,ε为规整化因子,主要是防止ak取值过大。

要进行透射率估计,首先把透射率图作为输入图像,使之进行自引导滤波处理,此时滤波半径r取值为1,规整化因子取值为0.01,这是对输入图像进行去噪处理,得到滤波后的图像q1。将滤波后的图像作为输入图像,此时取滤波半径r为30,规整化因子取值为0.01,再次进行引导滤波,得到平滑后的图像q2。因为在进行引导滤波的过程中,滤波半径r越大,透射图的边缘细节会更加优化,但如果r值过大,又会使去雾后的图像出现过饱和现象,达不到预期效果。之后利用公式I'=(I-q2)t+q2对透射率图进行增强处理,t表示倍乘系数,通常倍乘系数取值为6时,亮度及信息熵达到最好状态。最后将I'作为输入图像,再次执行上述步骤,得到最后的增强图像。

对透射率图进行两次引导滤波处理,可以使图像得到进一步增强,但是若继续进行第三次引导滤波处理,则会使图像出现光晕现象。

2.2 基于变差函数估计大气光值

大多数单幅图像去雾算法从图像相关像素中获取大气光值。Tan等[1]使用最大亮度值作为原始图像中的大气光照,但在实际应用中,最亮的像素可能驻留在白色物体中。He等[2]使用暗通道先验规则来估计大气光值,按降序排列每个像素的亮度值,并确保顶部0.1%像素的亮度值位于暗通道位置。因此,原始雾天图像中这些位置的最大值就是大气光照值A。这种方法在实验中很有效,但因为天空区域对大气光照值的选择有相当大的影响,所以受到一定的限制。在RGB色彩空间中,因为三通道值大,所以使得整个图像的大气光值变大。在He等的工作基础上,提出了基于变差函数估计大气光,可以减少或消除天空区域对大气光值的影响。

把RGB颜色空间看做一个正方体,有雾的天空区域主要分布在对角线周围,所以,对于原始雾天图像,有:

(14)

m=(b+g+r)/3

(15)

其中,S为单个像素的方差;k为一个比例系数;m为单个像素的平均灰度值。

S在天空区域的值非常小,但在非天空区域的值较大。可以使用颜色波动的概念来衡量S。颜色波动越大,S就越大,颜色就越亮。但随着景深距离的增加,明亮的物体会变暗。

为了拉伸变差函数的对比度,使之效果更加明显,引入了一个比例系数λ代入式14、式15,得出:

(16)

(17)

文中取k=30,所以λ=17。

另外,可以利用变差函数概念[14]来选取合适的阈值,通过像素是来自天空区域还是其他的白色物体来判断原始暗通道图像中的亮点是否有效。使用Δ作为选定的阈值。设置Δ=36,如果S的值小于等于36,就认为最明亮的点来自天空区域或白色物体,并丢弃此数据;如果S的值大于等于36,那么该值就是测量大气光照值的有效基础。通过使用该阈值来避免白色或天空区域的影响,可以有效地保证为整个图像选择的大气光照值是合理的。

3 实验结果与分析

为了验证文中算法的有效性,将文中算法与算法AHE、DCP进行比较。选取了两幅原始雾天图像,采用不同算法进行处理,并采用主客观的方式[15]进行评价。结果如图1和图2所示。

图1 文中算法与AHE、DCP算法的去雾效果对比(1)

由图2的处理结果可以看出,文中算法对于天空区域的处理具有较好的效果,这是由于大气光估计的比较准确。而从其他图像可以看出,经过自适应直方图均衡化处理后的结果图有过饱和、颜色偏移和失真现象,DCP方法较之AHE方法有很大的进步,但整体颜色偏暗,而文中算法就很好地克服了这些缺点,恢复的图像比较清晰自然,色彩保持度也非常好。

图2 文中算法与AHE、DCP算法的去雾效果对比(2)

为了客观评价上述各算法的去雾效果,文中采取峰值信噪比(PSNR)和信息熵(IE)两种评价指标来进行定量分析。峰值信噪比在图像评价中是最直接、应用时间最长的一种指标,反映了待评价图像的结构完整度以及逼真度。PSNR值越大,说明抗噪声能力越好。信息熵表示图像包含的信息量,信息熵越大,说明图像包含的信息量越大,图像细节也越丰富。根据表1和表2的数据分析,可知文中算法与其他两种算法相比有很大的优势,去雾效果更好。

表1 图1中不同算法处理结果比较

表2 图2中不同算法处理结果比较

4 结束语

文中提出了一种基于引导滤波和变差函数的图像去雾算法。首先,使用两次引导滤波对暗原色先验模型的透射率进行优化,然后利用变差函数来选取合适的阈值,从而选取准确的大气光值,最后将得到的参数代入去雾物理模型中完成去雾处理。实验结果表明,提出的变差函数可以对大气光进行准确估计,有效避免了天空区域的影响。而两次引导滤波的处理也对透射率进行很好的优化。从处理后的图和相应的数据可以看出,该算法恢复出的图像较于其他去雾算法相比更加清晰自然,视觉效果更好。

猜你喜欢

透射率变差滤波
船岸通信技术下舰船导航信号非线性滤波
献血后身体会变差?别信!
噪声对相干衍射成像重构物体图像的影响
滞后型测度泛函微分方程的Φ-有界变差解*
一种考虑GPS信号中断的导航滤波算法
高效LCL滤波电路的分析与设计
图像去雾中的大气光强度自适应恢复算法研究
电流变液光学性能的研究
双次幂变差与价格跳跃的分离
合成孔径雷达图像的最小均方误差线性最优滤波