APP下载

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

2017-07-25王凯刘智杨阳李龙龙蒋余成

关键词:透射率像素点算子

王凯,刘智,杨阳,李龙龙,蒋余成

(长春理工大学 电子信息工程学院,长春 130022)

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

王凯,刘智,杨阳,李龙龙,蒋余成

(长春理工大学 电子信息工程学院,长春 130022)

暗通道去雾算法存在导向滤波精细化求取透射率后边缘细节不突出和剧烈变化的边缘处有伪影,针对这种问题提出一种基于优化的Sobel算子对导向滤波器进行自适应加权改进;同时通过判断天空区域是否存在并结合约束条件法解算大气参数,实现透射率的补偿,从而解决高亮区域失真的问题。实验结果表明,与采用统一的规整化因子导向滤波器的传统暗通道算法相比,本文算法去雾后结果图像边缘更突出,更清晰,同时消除高亮区域失真。

暗通道去雾;导向滤波;透射率;图像去雾

当前的去雾方法主要分为两类,一类是基于图像增强理论的去雾方法,一类是基于雾天成像物理模型的去雾方法。基于图像增强的去雾方法没有考虑到图像本身和雾天的特点[1],一般效果没有基于物理模型去雾方法好。基于物理模型去雾的如文献[2][3]使用偏振光获取场景深度来实现图像去雾;Kratz等人提出场景深度和场景反射率在假设统计上相互独立,以此建立模型进行去雾处理;Tan等人[1]通过实验分析大气光波长与降质图像对比度下降的关系,将场景深度先验模型拓展应用到彩色场景的复原;Fattal等人[1]提出局部小区域反射率是常量的假设,利用独立分量分析方法求取反射率,进而实现图像去雾。

何恺明(He)等人[4]提出一种基于暗通道先验原理假设的去雾方法,该方法因其新颖的思想和良好的去雾效果受到国内外广泛关注,但该方法存在一些问题和不足,针对导向滤波器的滤波后图像边缘不突出和剧烈变化的边缘处有伪影缺点,采用一种基于优化的Sobel算子对导向滤波器进行自适应加权改进,针对解算大气参数时容易受到高亮物体干扰问题,通过判断天空区域是否存在并结合约束条件法解算全局大气参数[5],实现了透射率的补偿,从而解决了高亮区域失真的问题。

1 暗通道先验去雾算法

首先,在去雾处理中,下述方程所描述的雾图成像模型被广泛使用:

其中,I(x)表示输入的雾图,J(x)代表去雾后结果图像,A代表全局大气参数,t(x)为透射图,现在只有I(x)是已知的,要求取J(x),根据基本的代数知识可以知道这是一个无数解的方程,只有在一些先验信息基础上才能求出定解。

将式(1)变换为下式:

式中,c代表三个颜色分量。假定在局部窗口内透射图t(x)为常数,将其定义为t(x),假设A的值是已知的,后续小节会给出A值的求解方法,然后对上式两边同时进行求两次最小值运算,得到下式:

式中,y代表原始雾图取的一个邻域的中心像素点,He大约分析了5000幅图像,发现自然景物中到处都是阴影或者彩色,这些景物的暗原色总是表现出较为灰暗的状态,即这些图像的暗通道值接近于零,因此有下式:

因此,可推导出:

把上式的结论带回原式中,得到:

这就是透射率t(x)的预估值。

为了使去雾结果图像看上去更自然,使用ω来控制去雾的程度,ω一般取值为0.95,则上式修正为:

根据成像模型公式可以推导出最后去雾复原公式为:

为了防止J值超过255,t值不能过小,因此一般可以设置一个阈值t0,当t值小于t0时,令t=t0。后续处理的图像示例均采用t0=0.1为标准进行计算。

2 算法改进

2.1 解算大气参数

按照He的方法:首先从暗通道图中按照亮度的大小提取最亮的前0.1%像素,然后在原始有雾图像I中寻找对应位置上的具有最高亮度的点的值,并以此值作为大气参数。大气参数一般为天空最亮的点,所以这样估计容易受到高亮物体干扰。

本文使用结合天空区域判断的方法[5],首先,判断天空区域是否存在。选取雾天降质图像的前Ntop行并求取像素亮度的平均值vavg,和最大亮度值vmax,μ1为调节系数,若vavg>μ1vmax,则判断为天空区域[6]。对于存在大面积天空区域的雾图使用He的方法在雾图中部以及上部估计全局大气参数。

对于不存在天空区域的,对有雾降质图像暗原色图的亮度值进行排序,选取其亮度最大的前0.2%的像素点,取其对应的输入原始图像像素点总数平均值记为Aavg,在这些选取的备用像素点中找到亮度最大的像素点Amax,为了确保求取全局大气参数的准确性,对Amax进行约束,满足两个约束条件:第一Amax≤μ2Aavg;第二≤μ3(是选取的Amax像素点对应原始雾图三通道最小差值,μ2、μ3为校正系数)。满足约束条件的Amax对应的输入原始雾图的像素点即为全局大气参数。

2.2 导向滤波器的改进

He提出使用导向滤波处理精细化求取透射率,但是该滤波器使用统一的正规化因子来调节整幅图像的滤波效果,这样没有顾及到不同窗口区域之间的图像变化特性,导致边缘细节不够突出和伪影现象。Li等人[7]提出使用局部邻域窗口内的方差作为加权因子进行动调节。但该方法没能准确的增加对图像平坦区域的滤波作用,边缘区域的保持锐化调节,导致对滤波效果的提升有限。本文采用一种基于优化的Sobel算子对导向滤波器进行自适应加权改进[5]。

Sobel是一种一阶经典的边缘检测算子,因其具有检测速度快,定位精准,而得到广泛的应用,但是容易受到噪声的影响。后来很多研究人员针对其不足进行改进,其中何春华等人[8]提出的Sobel算子改进方法取得很好的处理效果。他们利用Sobel算子模板内像素值之和与算子内模板之和比较来设置一个权值。利用这个全值可以排除误检噪声的干扰,这种方法计算简单而检测效率高。其表达式为:

其中f11、f12、f13代表3×3边缘检测模板各个像素点的值,∇f代表边缘检测模板的差值,令A=f11+2f12+f13,B=f31+2f32+f33则上述模板可以变换为:

而何春华等人Sobel改进算法行间隔的差值可以表示如式(11),∇fs代表行间的差值。

何春华等人Sobel算子改进具体步骤为:第一将Sobel算子的水平模板和垂直模板的中心点分别与输入图像对应像素点某个位置重合,然后移动两个模板直至遍历整幅输入图像;第二将矩阵模板内的值与对应像素值相乘的结果再相加,其结果用SA表示;第三将矩阵模板内的值与对应像素值相乘的结果取绝对值再相加,其结果用SB表示;第四求取255*SA/SB的比值;第五将第四步求取的两个模板的值进行比较大小,将较大的值付给输入图像对象模板中心像素点。

Sobel算子处理速度相对较快,检测精度受噪声影响;综合对比分析,何春华等人改进的Sobel算子适合本文对导向滤波改进的需求,因此可以使用改进后的Sobel算子构造权重调节因子,其表达式如下:

其中,S(i)代表改进的Sobel算子;i代表中心像素点;i′代表遍历整幅图像像素点;N代表图像像素点的总数目;||·代表取式子绝对值。经过多次实验,调节因子γ取值为0.065536时改进后的Sobel算子可以较准确的检测出边缘,因此在变化的边缘点处所取的绝对幅值较大,所以计算出来的权重调节因子Φ(i)会大于1,而在相对于平坦区域,检测算子计算出来的绝对幅值要小一些,因此Φ(i)会小于1。为了提高权重因子的鲁棒性,对求出的Φ(i)进行快速高斯平滑滤波[9]。利用检测算子求取权重因子,权重因子的大小和图像的纹理相对应,因此获得较好的滤波效果同时保持良好的图像边缘。

经过对权重因子的改进,导向滤波的损耗函数公式可变换为:

接下来对式(13)实施最小二乘法,可以求得:

式中,μk和分别代表以ωk为邻域窗口内的引导图像I的灰度平均值和方差;|ω|代表邻域窗口内总像素数目;代表以ωk为邻域窗口内的输入待滤波图像p的灰度均值。和分别为窗口中心点位于k时的线性函数系数。

经过加权改进的导向滤波器可表示为式(15),其中为最终滤波后图像

在图1中,图(c)加权最小二乘法滤波存在平滑噪声效果不理想;图(d)双边滤波存在人为处理痕迹明显,保边效果不理想;图(e)导向滤波保持较好的边缘但是存在滤出噪声不够彻底;图(f)本文加权导向滤波滤出噪声明显并较好的保持边缘,由此可知本文算法滤波效果要比前三种要好。

图1 滤波器滤波处理效果对比

2.3 透射率补偿修正

蒋等人[10]提出使用容差机制对透射图进行修正。主要思想是人为设立一个阈值,当雾图像素值大于这个阈值时增大透射率从而减小图像三通道的差值进而使复原图像色彩协调。龚等人[11](Gong)认为蒋等人使用的容差双曲线提升修正透射率的提升率低而不能完全解决失真问题。他们根据容差机制提出线性方法提升修正透射率,其具体公式为:

t′(x)是经过引导滤波处理的透射率;是修正后透射率;k代表容差调节因子,当 |I(x)-A|大于k时,对应图像为非高亮区域取值为,不进行修正。当 |I(x)-A|<k时,会伴随|I(x)-A|递减而线性增加,直到 |I(x)-A|递减到0时,会增加到极值1。因此该算法是线性修正透射率的。其中k取值为50。

2.4 雾图去雾复原

为了满足特定场合对去雾后图像高质量的需求,本文对暗通道图像去雾方法进行改进,具体去雾步骤如下:

(1)首先获取像素RGB三通道最小值,然后使用最小值滤波求取雾图的暗通道图像;

(2)取雾图前Ntop,当vavg>μ1vmax时存在天空区域,对于雾图含有天空区域的,直接使用He的方法在图像中部以上区域求取大气参数。对于雾图不包含天空区域的,使用约束条件法求取全局大气参数。经过大量实验得出,Ntop取最上部前10%、μ1取值为0.9,μ2取值为1.1,μ3取值为5,可以有效避免高亮区域的干扰;

(3)使用式(5)求取预估透射图;

(4)使用改进后的导向滤波器对预估透射图进行精细化处理,具体使用公式(12)计算出的值,其中原始图像作为引导图像pi,然后使用公式(13)滤波输出精细化透射图,为了提高速度处理,可以使用暗通道图作为引导图;

(5)对于存在高亮区域的雾图,进行透射图修正,使用公式(14);

(6)使用公式(6)进行无雾图像复原。

针对去雾后图像偏暗淡问题,本文采用胡韦伟等人(Hu)提出的Gamma校正改进算法对去雾结果图像进行亮度调节[12]。Hu算法将待处理图像的像素值压缩到[0,1]范围内,接下来使用经过改进优化的Gamma算法对其进行校正处理,其算法的表达式为:

y(i)代表经过算法调整后的结果;i表示输入待处理图像像素点值;a代表调节系数,a值决定调整函数曲线的形状,由于基于暗通道去雾方法处理后图像的像素值有一定比例偏小,经过大量实验得出,a值取0.6对绝大部分图像调节效果较好。

3 实验结果评价与分析

本文实验环境为:处理器是Intel Core i7-6700,操作系统是64位Windows7,内存是8G,使用MATLAB R2015b和C++混合编程实现。

为了验证本文提出改进算法的有效性,本文改进算法和近年来比较优秀的去雾算法进行对比,并使用主观、客观评价方法进行评价和对比分析。

对图2进行主观评价,He、Tarel[1]、Meng[1]的方法去雾结果图天空存在失真,He的方法处理后图像边缘细节不够突出,Tarel的方法存在光晕;Meng的方法过度去雾;Gong[11]的方法改善天空失真,但是边缘细节不够突出影响视觉效果;本文方法处理后图像改善天空失真现象,图像边缘轮廓清晰,细节信息丰富,视觉效果较好。

图2 去雾结果图像对比

表1是图3的客观评价表。其中gˉ代表图像的平均梯度,其值越大图像层次越多越清晰;EN代表熵,其值越大,表明去雾后图像的信息相对去雾前有明显的提高;σ2表征图像对比度,一般情况其值越大越好;PSNR代表峰值信噪比,其值越大表明去雾能力越强。He的方法和Gong的方法结果数据接近,但是He的PSNR值低于Gong的方法,这是由于Gong的方法改善了天空失真问题;Fattal14[1]的方法对比度最大,PSNR值最小,这是由于他的方法处理图像饱和度过大,天空失真造成的,去雾结果图像看起来不自然;Zhu[13]的方法对比度、信息熵等评价指标都较低,但是PSNR值最大,说明它的去雾能力弱;本文算法的对比度、信息熵、平均梯度等与He方法都有较大幅度提升,但是PSNR值大小适中,说明本文去雾结果图像轮廓清晰,边缘细节信息丰富,图像质量较好。

图3 去雾结果图像对比

表1 去雾结果图定量评价表

4 结论

针对导向滤波器的滤波效果不理想,图像边缘不突出的缺点,本文采用一种基于优化的Sobel算子对导向滤波器进行自适应加权改进处理,然后判断是否存在大面积天空区域,结合使用约束条件法解算大气参数,从而提高解算大气参数的精度,并实现了高亮区域的透射率补偿修正,从而解决高亮区域失真的问题,有效地提高了图像去雾的整体效果。实验结果表明:通过对比当前主流的图像去雾算法,改进后的去雾算法很好地消除噪声干扰,并且信息熵、图像对比度、峰值信噪比等都有明显的提高。

[1] 吴迪,朱青松.图像去雾的最新研究进展[J].自动化学报,2015(02):221-239.

[2] 张丽媛,杨华民,蒋振刚,等.结合金字塔技术的暗原色先验快速去雾方法[J].长春理工大学学报:自然科学版,2015,38(02):121-124.

[3] 赵长霞,段锦,李光明,等.基于大气散射模型的偏振图像去雾方法[J].长春理工大学学报:自然科学版,2015,38(03):107-111.

[4] He K M,Sun J,Tang X O.Single image haze removal using dark channel prior[C].In Proceedings of the 2009 IEEE Conference on Computer Vision and Pattern Rec⁃ognition,Miami,USA:IEEE,2009:1956-1963.

[5] 王凯.基于暗通道先验原理的图像去雾方法研究[D].长春:长春理工大学,2016.

[6] 李坤,兰时勇,张建伟,等.改进的基于暗原色先验的图像去雾算法[J].计算机技术与发展,2015(02):6-11.

[7] Li Z,Zheng J,Zhu Z,et al.Weighted guided image fil⁃tering[J].IEEE Transactions on Image Processing,2015,24(1):120-129.

[8] 何春华,张雪飞,胡迎春.基于改进Sobel算子的边缘检测算法的研究[J].光学技术,2012(3):323-327.

[9] 彭耀旺.图像去雾技术的研究[D].成都:电子科技大学,2015:1-68.

[10] 蒋建国,侯天峰,齐美彬.改进的基于暗原色先验的图像去雾算法[J].电路与系统学报,2011(02):7-12.

[11] 龚昌来,罗聪.一种改进的容差机制图像去雾算法[J].液晶与示,2016(11):1098-1104.

[12] 胡韦伟,汪荣贵,方帅,等.基于双边滤波的Retinex图像增强算法[J].工程图学学报,2010(02):104-109.

[13] Zhu Q,Mai J,Shao L.A fast single image haze remov⁃al algorithm using color attenuation prior[J].IEEE Transactions on Image Processing,2015,24(11):3522-3533.

Improved Image Haze Removal Algorithm Using Dark Channel Prior

WANG Kai,LIU Zhi,YANG Yang,LI Longlong,JIANG Yucheng
(School of Electronics and Information Engineering,Changchun University of Science and Technology,Changchun 130022)

Dark channel defog algorithm exists guided filter refinement to obtain transmittance after the edge of the details are not prominent and dramatic changes in the edge of the artifacts And the Sobel operator based on optimization is used to improve the adaptive weighting of the guide filter.At the same time,the global atmospheric parameters are solved by determining whether the sky region exists and combined with the constraint condition method,so that the transmittance is compensated.Highlight the problem of regional distortion.Experimental results show that the edge of the proposed algorithm is more prominent and clearer than that of the traditional dark channel algorithm combined with the sky region,and it can eliminate the highlight region distor⁃tions when compared with the conventional filter method with uniform regularization factor.

dark channel to defog;guided filter;transmission pattern;image to defog

TP391

A

1672-9870(2017)03-0080-05

2016-12-05

王凯(1985-),男,硕士研究生,E-mail:wangtrygood@163.com

猜你喜欢

透射率像素点算子
与由分数阶Laplace算子生成的热半群相关的微分变换算子的有界性
噪声对相干衍射成像重构物体图像的影响
拟微分算子在Hp(ω)上的有界性
Heisenberg群上与Schrödinger算子相关的Riesz变换在Hardy空间上的有界性
基于局部相似性的特征匹配筛选算法
各向异性次Laplace算子和拟p-次Laplace算子的Picone恒等式及其应用
一种改进的场景透射率修正图像去雾算法
基于5×5邻域像素点相关性的划痕修复算法
纯色太阳镜镜片耐日光辐照性能试验研究
基于canvas的前端数据加密