基于暗通道先验的单幅图像去雾算法改进∗

2019-11-29 05:14缑新科孙维江
计算机与数字工程 2019年11期
关键词:透射率复原滤波器

缑新科 孙维江

(兰州理工大学电气工程与信息工程学院 兰州 730050)

1 引言

近几年,雾霾天气在我国多个地方频繁出现,严重影响了人们的生活,在这种天气条件下,空气中的各种微小粒子增多,这些粒子会对光的传播造成衰减,使得户外获取的图像,其中的信息被大量的丢失,进而对图像的后续处理造成严重的影响,所以通过相关技术来恢复有雾图像是非常重要的。到目前为止,对于去雾算法的研究主要包括以下两类方法,第一类是基于图像增强的去雾方法,该类方法主要是通过对有雾图像中的灰度、对比度等图像参数的调节实现图像去雾。常见的方法有直方图均衡化[1]、同态滤波[2]、Retinex 算法[3]、小波变换[4]等,该类方法虽然有一定的去雾能力,但是由于其忽略了雾霾图像的成像过程,只是单纯地增强了图像的细节信息,所以本质上并没有实现图像去雾。第二类是基于物理成像模型的图像去雾算法,该类方法的主要特点是,通过分析雾霾天气中粒子对光线的传播影响,从根本上解释了有雾图像的成像过程及原理,然后通过数学建模实现大气散射物理模型。目前的方法主要有:Tan[5]提出有雾图像的对比度要比无雾图像要低并且大气散射物理模型中的局部大气光变化缓慢,可以认为是一个常数,通过提高图像的局部对比度,实现图像去雾,但是该方法使得复原图像的对比度过高。Fattal[6]认为图像的反射率与大气透射率在局部是互不影响的,因此可以推断出物体的反射率,但是该方法容易受到雾浓度的影响,导致去雾不稳定。Tarel[7]假设其大气光成像函数在局部范围是不变的,利用中值滤波估计大气光成像函数,该方法能够满足快速去雾的要求,但是最终的复原图像中的景物边缘出现光晕。He[8~9]等提出暗通道理论,结合物体成像模型推导出图像的透射率,实现去雾。该方法简单并且去雾效果较好,但是该算法非常耗时。由于暗通道理论是一个客观统计规律,而且其具有较好的去雾能力,所以越来越多研究人员开始关注该理论,并对其进行了大量的研究改进。陈书贞[10]等提出通过引入混合暗通道,来解决有雾图像中出先大面积天空和白色物体时暗通道先验失效的问题,张晓刚[11]等通过对图像的边缘进行细致划分,改善了现有方法出现的过度去雾情况,陈丹丹[12]等通过修正大气耗散函数,进而使得透射率估计更加准确。

基于暗通道先验的图像去雾算法虽然能取得较好的去雾效果,但是该算法耗时严重,且无法处理天空区域,因此本文提出基于透射率优化和补偿的改进算法。首先在获取暗通道图像的过程中,采用两种大小不同滤波窗口,获取不同的透射率粗估计,使用两次导滤波优化透射率,并且对有雾图像天空范围的透射率进行系数补偿,同时采用四叉树多层次搜索获取大气光的准确值,最后通过复原公式获得复原图像。

2 基于暗通道先验的图像去雾

通常利用大气散射物理模型[13~14]来解释有雾图像的形成过程和原理,该物理模型可以表示为

其中I(x)为有雾图像,J(x)为最终要恢复的目标图像,A 为大气光值。

其中t( x )为透射率,β 为散射系数,d(x)为图像的深度。根据大气散射物理模型可以看出,只有准确估计环境光A 和透射率t(x)的值,才能得到去雾效果较好的复原图像J(x)。

He 经过对室外晴朗天气下的图像的研究分析后,发现了一个客观事实:对于不包含天空区域的无雾图像,其中三个颜色通道中总是有一个颜色通道的值非常的低,几乎等于0,这就是暗通道理论,所以晴朗天气条件下的图像J(x)的暗通通道定义为

其中,Ω( x )为邻域窗口,C 为图像中颜色通道。根据暗通道理论可知

通常认为一幅图像的大气光值为固定不变的常数,并且透射率在Ω( )x 内也是不变的,因此对式(1)两边先取最小值通道,然后在进行局部最小值滤波,整理之后得到透射率的粗估计表达式如下所示

为了使得复原的图像更加符合人体的主观视觉感受,必须在复原图像中保留微量的雾,所以通过约束参数ω(0 <ω <1),来控制去雾的程度,即

其中w 一般取0.95,如果将式(6)的透射率粗估计,直接用于图像去雾,导致的结果就是图像中的边缘出现模糊现象,因此必须对透射率进行优化,He 提出通过软抠图方法来细化透射率,最后根据细化的透射率得到最终的复原图像:

上式中t0为一个限定常数,一般取0.1,因为当t( x)等于0 时,大气散射物理模型中的第一项J( x )t( x)也等于0,这样导致最终的复原图像几乎为噪声。所以必须对透射率做出限定。

3 本文算法

3.1 透射率的优化

由于在获取暗通道时,当最小值滤波器的窗口大小为15×15 时,容易将图像的边缘的信息模糊,但滤波窗口中暗通道出现的几率增大使得最后的去雾效果更自然,而最小值滤波器的窗口大小为3×3 时,图像的边缘信息保留,但是会使得滤波窗口中暗通道出现的几率降低,导致最后的复原图像出现过度去雾的情况,而He 提出的引导滤波器[14]的特点是能够保持图像的边缘,同时对于图像的非边缘起到平滑作用。因此利用引导滤波器可以结合这两种暗通道的优点来优化透射率具体步骤为

1)通过使用滤波窗口分别为3×3 和15×15最小值滤波器获取到两种暗通道图像,并且得到最初的透射率粗估计t1(x)、t2(x)。

2)对t2(x)采用15×15 最小值滤波器处理,得到t3(x)。

3)使用引导滤波器,对t1(x)进行优化,其中t1(x)为输入图像,t3(x)为引导图,得到优化的透射率t4(x)。

3.2 透射率的补偿

在利用式(1)求取暗通道时做如下处理:

将式(7)、(8)代入到式(1)得到

整理式(9)得到

根据暗通道理论,式(11)中Jdark为0,但是由于天空区域不满足暗通道理论所以天空区域的Jdark不等于0,所以导致式(11)中Jdark-A 偏大,进而造成天空区域的t(x)偏小。所以本文提出对天空区域的透射率进行系数补偿。

在一幅有雾图像中,大气光A 是图像中除了亮白色物体之外值最大的点,我们可以采用下面的表达式的值,来标记图像中的天空范围

其中Imin(x)表示有雾图像的最小值通道图,这里引入一个标志参数L,当L >∇,表示该像素点在图像中的所处的位置为天空区域,当L ≤∇,表示该像素点在图像中所处的位置为非天空区域,本文中L 取值为65,因此得到了图像天空区域的透射率补偿系数,其表达式为

上式中,ρ 为补偿系数,所以对优化后的透射率t4(x)进行系数补偿,得到补偿后的透射率tT( x ):

在对优化后的透射率t4(x)进行修正补偿过程中,会使得补偿后的tT(x) 图像的一些细节信息丢失,所以再次使用引导滤波器,此时的引导滤波器的引导图为获取到的有雾图像的最小值图像Imin(x),输入图为补偿后的透射率估计tT( )x ,获得最终的透射率估计t6(x)。

3.3 大气光的估计

大气光A 的准确估计,直接影响最终的图像去雾效果,Tan 和He 提出的大气光估计方法,都会受到有雾图像中亮白色物体的影响,区别只是Tan提出的方法对于有雾图像中任何尺寸的亮白色物体都非常的敏感,而He 等的提出方法会对有雾图像中尺寸较小的亮白色物体进行忽略,但是对于有雾图像中的存在大面积的亮白色物体时,同样会受到影响。

因此本文采用四叉树多层次分解[15]结合暗通道图像,来确定大气光的估计值,如图1 所示为该方法的操作示意图。

图1 大气光估计示意图

具体的步骤如下:

1)首先通过暗通道理论获取有雾图像的暗通道图像;

2)将暗通道图像进行四叉树分解,分别计算四块图像的像素均值,减去分别对应的方差得到判定值,然后比较选出判定值最大的图像块,继续对这一块图像进行四叉树分解,只有当分解的图像块的中的像素点小于等于100 是停止搜索,确定最终的图像块。

3)利用在步骤2)中确定的最终图像块,然后找到原有雾图像中的对应的图像块,统计图像块的像素点的平均值为最终的大气光值。

3.4 本文算法步骤描述

输入有雾图像,获取最小值滤波窗口分别为3×3 和15×15 时的暗通道图像,并且获得相对应的初始透射率粗估计t2(x),t1(x),对初始透射率粗估计t1(x)利用窗口大小为15×15 的最小值滤波器的滤波处理后得到初始透射率估计t3(x)。

1)使用引导滤波器优化透射率t2(x),其中利用步骤1)中得到t3(x)作为引导图,t1(x)作为输入图,最后得到优化的透射率估计t4(x);

2)对有雾图像中的天空区域的透射率估计进行补偿,也就时对步骤2)获得的优化的透射率t4(x)图进行补偿,最后得到修正补偿的透射率估计t5(x);

3)再次使用引导滤波器,此时的引导图为第一步获取到的Imin(x),输入图为补偿后的透射率估计t5(x),获得最后的透射率估计t6(x);

4)利用四叉树多层次搜索联合暗通道图像,得到了有雾图像的大气光A 的估计;

5)最后通过步骤4)、5)获得的透射率估计t6(x)和大气光A 的估计,根据式(7)计算出最终的复原图像。

4 实验结果分析

4.1 无天空区域图像去雾

如图2 所示,本文对无天空区域的有雾图像分别使用三种方法去雾,其中在图(a)、(b)中,四幅图像从上到下从左到右依次为输入有雾图像、文献[9]方法、He方法以及本文算法的去雾结果。

图2 无天空区域图像去雾霾

在图2 中,(a)图像的第二幅图中树叶的边缘出现模糊现象,(a)、(b)中的第三幅图像出现去雾不彻底,(a)、(b)中的第四幅图去雾彻底,颜色更真实。

表1 无天空区域的去雾算法的客观评价

在表1 中可以看出,本文算法的运算时间相对于He 的软抠图缩减了90%以上,而且本文算法在结构相似(SSIM)、图像的信噪比(PSNR)这两个参数上都要比其它两种算法要高。对于复原图像的信息熵(H),本文要比其它两种算法低

对于没有天空区域的有雾图像去雾实验结果总结,主观评断:本文的算法消除了文献[14]方法造成的图像边缘模糊的现象,而且去雾更加彻底;客观评断:本文算法的运算时间相对于He 的软抠图方法大幅度缩减,而且其中的两个评判参数也要比其它两种算法要好,综合评判,针对无天空区域的有雾图像去雾,本文算法要优于其它两种算法。

4.2 包含天空区域图像去雾

如图3 所示,本文对包含天空区域的有雾图像,分别使用三种方法去雾,其中在图(a)、(b)中,四幅图像从上到下从左到右依次为输有雾图像,文献[9]方法、Tarel方法以及本文算法的去雾结果。

图3 包含天空区域的图像去雾

在图3 中,由(a),(b)的第二幅图中可以看出,文献[9]方法复原图像的天空区域发生了颜色失真的情况,由(b)的第三幅图可以看出图像中去雾不彻底,且出先了图像颜色失真,由(a),(b)的第四幅图可以看出,图像的天空区域的还原度相对较好

表2 含天空区域的去雾的客观评价

由表2 的(a)、(b)表分析可知,根据去雾算法的消耗的时间来看,Tarel 的方法时间消耗最短,本文算法在结构相似(SSIM)信噪比(PSNR)参数上优与其它两种算法,但是本文算法的复原图像信息熵(H)低于其它两种算法。

对于包含天空区域的有雾图像去雾实验结果总结,主观评断:本文的算法对天空区域的还原度比其他两种算法高,去雾更加彻底。客观评断:本文算法去雾要比其它两种算法更加耗时,但是在可接受的范围内,且在结构相似和信噪比评判参数上要优于其它两种算法。综合评判:针对天空区域的有雾图像去雾,本文算法能够解决天空区域色彩失真问题。

5 结语

针对传统基于暗通道去雾算法,出现的算法时间复杂度高,且天空范围的颜色失真的情况,提出基于暗通道去雾的改进方法,该方法结合两种暗通道图像的优点,利用引导滤波器优化透射率,并对包含天空区域的透射率进行系数补偿,同时采用四叉树多层次分解联合暗通道图像,得到大气光的准确值,最后通过大气物理模型获得复原图像。结果表明,本文算法去雾耗时相对于软抠图减少了90%,而且解决了有雾图像天空区域颜色失真的问题。

猜你喜欢
透射率复原滤波器
温陈华:唐宋甲胄复原第一人
浅谈有源滤波器分析及仿真
基于多模谐振器的超宽带滤波器设计
一起来做颈椎操吧
毓庆宫惇本殿明间原状陈列的复原
一款用于无线通信系统的小型滤波器天线
基于暗原色先验与WLS的图像去雾算法
图像去雾中的大气光强度自适应恢复算法研究
电流变液光学性能的研究
FFT、PFT和多相位DFT滤波器组瞬态响应的比较