APP下载

基于改进大气散射模型的图像去雾算法研究

2019-07-15龚晓婷段锦黄冠婷韩学辉王尧

关键词:大气滤波像素

龚晓婷,段锦,黄冠婷,韩学辉,王尧

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

在光的传播路径中,图像质量的好坏会受到来自路径中一些杂质微粒,雾霾散尘等诸多因素的影响,阻碍了光沿着本来的路径传播发生了光散射,造成图像质量不佳,为了解决这些问题,需要对图像进行去雾处理。目前,图像去雾主要分为基于非物理模型的图像去雾和基于物理模型的图像去雾。基于非物理模型指的是通过改变图像的对比度来提高图像质量,Edwin.H.Land提出Retinex[1]图像增强算法,是一种既可以压缩图像的动态范围,又可以对不同的图像进行自适应增强的算法。在其基础上,又衍生出了一些重要的算法:中心环绕函数[2]随机路径,金字塔迭代[3]等retinex算法,其后,Jobson等人又提出了基于单尺度和多尺度Retinex增强算法[4];基于物理模型是指从图像的退化原因考虑,分析物理模型求逆的过程来复原图像。该模型由Narasimhan 和 Nayar[5]提出,在该模型基础上,Tarel[6]通过对中值滤波变换的形式对传输率进行估计,但是容易产生Halo效应;He[7]等人提出了暗通道先验算法,假设大气光是已知的先提条件下,无雾图像区域内的最小暗通道值是趋于0的进而恢复有雾图像,但由于天空中出现大面积的白色物体时去雾效果不彻底等缺点,又有大量的基于暗通道算法改进的文章相继出现,陈书贞[8]等人通过混合暗通道映射处理解决传输率图平滑性较差的问题,但有时会发生去雾不彻底的现象;张登银[9]等人用边缘替代法对梯度变换剧烈和变化平缓的区域进行不同的局部滤波处理;赵长霞[10]等人在基于大气散射模型上对偏振图像[11]进行去雾,该算法有效改善了偏振有雾图像的效果。

本文针对He方法提出了一种基于改进的大气散射模型图像去雾的方法,该方法深入研究了影响图像复原的三个因素:(1)大气光的计算;(2)传输率的精确分析;(3)滤波优化传输率。通过剖析He算法去雾后图像偏暗,对比度较低,传输率的结果较粗糙导致还原的图像颜色不准确,对于白色目标物会干扰大气光估计,并结合物理模型去雾和非物理模型去雾的双重优点,最大限度的提取出两种图像的有利信息,且经实验证明了该算法的可行性和有效性。

1 基本理论

1.1 多尺度Retinex算法

场景目标所呈现的图像S(x,y)可以分解为反射光图R(x,y)和入射光图L(x,y)两个图像,S(x,y)=L(x,y)*R(x,y),多尺度Retinex算法的数学模型为:

其中,N表示尺度数,ωn表示尺度n表示加权系数,且满足,F(x,y)为高斯卷积函数。

1.2 暗通道算法

描述大气光散射的物理模型表示为:

其中,x为有雾图像像素点的位置,I(x)为输入的有雾图像,J(x)是待恢复的无雾图像,t(x)为介质传输率,A代表大气光的光照。

He发现,对于大部分无雾图像的非天空区域,至少有一个颜色通道的像素值是趋向于0的,则有:

其中,C代表J的颜色通道,Ω(x)是以x为中心的方形区域。假设大气光是已知的前提下,对式(2)两边取最小值操作,并同时除以A有:

其中,t0为了防止透射率过小,导致J的值过大而设置,在He论文算法中取值0.1。

2 本文算法

本文将经过如图1所示的流程图进行图像去雾优化算法。

图1 算法流程图

2.1 Retinex增强有雾图像

Retinex算法是一种用于消除由光照变化给图像带来负面影响的图像增强算法[12]。Retinex可用于把雾霾图像中的照射光分量L(x,y)和反射光分量R(x,y)分离,消除雾气引起的照度分量变化对图像的影响。用公式(1)转换后的图像初步称为J1(x)。

2.2 大气光的估计

如果直接采用原图像中的最大像素值作为大气光照A的估计容易受到图像中存在的白色物体的干扰,文献[7]中是从暗原色图像中选取0.1%的最大像素,对应原图像中的像素值的最大值作为大气光的估计,但是,在求取大气光的过程中,方形区域Ω(x)的大小也对大气光的求解至关重要,若选取区域过小,会造成去雾颜色过饱和现象,过大会造成景深突变处产生光晕。

本文提出一个自适应滤波窗口,可以避免这种因窗口大小导致去雾效果不佳的行为。提取出输入图像的行和列的最大值,再用这个值乘以5%,将取得的结果取整作为滤波窗口的大小,这样取得的大气光滤波窗口大小具有自适应性,可以根据图像的大小来决定滤波窗口大小,大气光不会因窗口大小而产生影响。经过大量实验所得该结果适用所有有雾图像,假设一幅图像的规格定义为m×n,则滤波窗口的大小调整为:

由于修改了滤波块的大小,虽不会对去雾结果造成影响,但图像中的白色物体仍会对大气光的估计造成误判,如图2(a)(b)中的白色建筑和白色楼群,因此,考虑这种情况,用输入图像的最小值I(x,y)进行灰度腐蚀和膨胀运算,维持暗区域不变,来滤除白色目标的影响。则有:

为了清除小物体的影响,平滑图像边界,又不改变图像原有面积,对V(x,y)两边进行开运算后的图像为V′(x,y),此时,已经去除了较大白色物体对大气光的影响。而大气光取值是整幅图像中像素较高的部分,因此将经过灰度腐蚀后的V′(x,y)的最大值作为大气光值的参考值。

由于这种大气光的估计是受白色物体干扰而预估的,因此需要进行进一步的修正:

式中,α称为调节参数,且:

min代表求灰度图像V′(x,y)中的最小像素值。其中,通过大气光A恢复介质传输率,这里,重写介质传输率的表达式,称恢复的介质传输率为t1(x):

2.3 可调介质传输率的估计

2.3.1 白平衡估计传输率范围

白平衡是由Buchsbaum提出的灰世界假说而来,在一幅色彩多样的图像中,最终所有颜色的平均统计值应该是一致的,根据这种思想,在图像处理的过程中,为了去除外部光源的影响,将大气光A的值校正为白色(1,1,1)T,那么公式(4)变为:

此时的传输率是一幅经过白平衡后的灰度图像,为了使恢复的图像更自然,这里也赋给一个ω(0<ω≤1),那么:

在传输率的估计过程中,大气光A的范围是A≤1的,有:

即,传输率t2(x)≥t1(x)。在传输率的估计中,传输率过大会引起图像去雾效果不自然,过小会造成去雾效果不彻底,因此根据传输率的范围本文提出了一个可调节传输率估计,用t2(x)-t1(x)来衡量传输率的相对估计,最终得到真正的传输率:

式中,k为可调系数,用来辅助传输率在白平衡估算下的降值幅度,经过大量实验统计结果,将系数设置为0.45,较为适合,由于传输率是不能为0的,因此设置一个阈值,则传输率的最终估计为:

2.3.2 优化的导向滤波

在导向滤波的算法框架中,假设一幅原始图像p,滤波后为q,那么滤波后的图像q中的第i个像素由原始图像p中以第i个像素为中心的窗口ω中的像素权值决定,其实就是一种基于局部线性模型的边缘保持算法[13],用以下模型表示:

其中,ak和bk是以点k为中心,窗口大小为ωk的线性系数,Ii为一幅引导图像,只有当I和q之间是线性关系时以上模型才有意义。

在算法框架中,引导图的选择至关重要,它是决定优质滤波效果的关键,为了使滤波后的传输率图像能够有效抑制边缘的块效应,在本文中选用经sobel算子的输入图像作为引导滤波的引导图,不会丢失景深变化明显的边缘细节,把输入图像I转换成灰度图:Igray用sobel算子对Igray进行边缘检测,并采用均值滤波来对像素点进行平滑得到Iavg,把Iavg作为引导图像,接着,再根据最小二乘法求解线性系数a和b如下:

其中,|ω|为窗口中的像素的个数,μk是引导图像I中以ωk大小为窗口的矩阵内的像素平均值,为方差,为图像p在窗口中像素的均值,ε为平滑因子最终输出图像模型为:

综上,把式(24)得到的优化传输率图进行导向滤波得到精确的传输率图。

如图3(a)(b)(c)中分别给出了He算法的传输率,本文算法的传输率和经过滤波后的传输率图。

最后根据以上求得的大气光和介质传输率得到复原后的图像:

图3 优化前后对比图

2.4 图像融合

由于2.1中先对图像进行了对比度增强算法,增强了图像的细节信息和动态范围,在此基础上和通过物理模型方法得到的J2进行融合作为输出的最终去雾图像的优化算法,这种优化算法可以结合物理模型去雾和非物理模型去雾的双重优点,最大限度的提取出两种图像的有利信息,并综合了两种算法的互补信息,将得到的去雾图像变得更加精确。

本文采用像素融合:对于最终的去雾图像其表达式为:

式中,β是加权系数,这里取有雾图像暗原色亮度均值。

图4 融合前后对比图

图4所示分别为多尺度Retinex算法,暗通道算法以及融合算法后的输出的去雾图像,图b恢复的颜色对比度较高但色彩有一定的失真现象;图c恢复的图像虽然饱和度符合标准,但是存在去雾效果不彻底对比度较低的问题;图d是经过图像融合得到的最终的输出图像,其弥补了图像失真和对比度较低的双重问题,使得恢复后的去雾图像效果更自然更加符合人眼的主观感受,且在车尾的底部,图b和图c恢复的效果不理想,没有看出反光的部分反射出的人的影子,而图d可以较清楚的看到车尾底部的人影,细节更明显,复原的效果更符合人眼的主观判断。

3 实验结果分析

本文通过五组在有代表性的图像进行说明,并通过客观数据对以上算法进行有利的阐述。

本文将与He的暗通道先验算法,Tarel提出的算法进行比较,图5中给出了原始的有雾图像,从上倒下依次为a、b、c、d、e五组有雾图像,从左到右依次为原始的有雾图像,He算法去雾结果,Tarel去雾结果和本文算法去雾结果。不难发现,Tarel算法有效的对有雾图像进行了去雾,但是对于景深变化明显的地方有光晕存在,例如图a中的铁塔存在光晕现象,本文效果图像避免了这种缺点;He算法中的去雾效果清晰度较高但整体偏暗,细节信息不明显,纹理细节不够清晰,例如,图b中的人物以及黄色的建筑基本很难用肉眼看清,本文算法克服了以上缺点,效果明显优于He的算法,不仅在亮度上有了明显提高,在对比度上也更加鲜明;对于色彩恢复方面,例如图像d中的云朵在He算法中颜色偏黄,Tarel算法中颜色偏灰,而本文算法对于云朵的恢复效果较自然;对于天空恢复方面,图e中的He算法对于天空部分恢复的图像曝光较强,而本文算法在大气光部分进行了优化,效果更为柔和自然。客观评价分析如表1,本文从标准差和图像信息熵以及平均梯度对以上三种算法进行了详细的对比分析。

从表1中能够看出,相比于He的算法和Tarel的算法,本文算法的标准差明显高于另外两种算法,或者相差无几,标准差代表着图像的离散程度,复原后的图像像素值的离散程度应该是较大的,那么恢复的图像效果越好;在信息熵和平均梯度方面,本文算法更优于He的算法和Tarel的算法,说明图像的纹理特征更加突出,由此本文算法恢复来的图像细节信息更丰富,更有力证明了本文算法的有效性。

图5 a、b、c、d、e图像采用不同算法去雾结果图

4 结论

本文提出一种基于改进的大气散射模型的图像去雾算法。该算法从影响图像复原的三个因素分别做出了严格分析。提出了一个自适应滤波窗口大小,避免滤波块求取不当影响大气光的结果,去雾图像效果不佳,又根据图像中大面积白色目标的干扰进一步优化大气光;接着又提出了一个可调节介质传输率估计,避免了传输率过小,去雾效果不彻底,传输率过大,去雾效果不真实;

表1 各算法评价指标

然后通过选择严格的导向图对导向滤波进行优化,使透射率更精准;最后将经Retinex增强的图像和改进的算法相融合,提取了物理模型去雾和非物理模型去雾的双重优点,同时提高了去雾图像偏暗,不符合人眼的主观感受的缺点,最后通过实验和客观数据验证了该算法的可行性,算法相对He算法和Tarel算法具有更好的去雾效果,但经过大量的实验研究,本文算法对于浓雾天气下的图像处理效果会出现一些颜色偏差,对比度较低的现象,因此,将对此在下一步进行深入研究。

猜你喜欢

大气滤波像素
像素前线之“幻影”2000
宏伟大气,气势与细腻兼备 Vivid Audio Giya G3 S2
如何“看清”大气中的二氧化碳
“像素”仙人掌
ÉVOLUTIONDIGAE Style de vie tactile
大气古朴挥洒自如
高像素不是全部
一种GMPHD滤波改进算法及仿真研究
基于自适应Kalman滤波的改进PSO算法
RTS平滑滤波在事后姿态确定中的应用