一种雾天退化场景快速复原方法
2015-11-19王伟鹏戴声奎项文杰
王伟鹏,戴声奎,项文杰
(华侨大学 信息科学与工程学院,福建 厦门361021)
雾霾是由于大气中悬浮的微小颗粒和气溶胶的折射、散射等复杂作用,导致能见度严重降低的现象.它直接影响交通运输的安全和户外监控系统的正常工作.因此,对雾天降质图像进行有效的清晰化处理是使户外成像系统可靠、稳健工作的保证.图像去雾是一个具有挑战性的课题,因为单幅图像中雾气所依赖的深度信息是未知的,从而使这一问题的解决受到制约.近年来,基于先验信息或假设的单幅图像去雾技术成为研究的热门对象[1-7].本文结合雾图成像模型,提出一种新的场景复原算法.
1 雾图成像模型及其特性
在计算机视觉和图形学中,描述雾天成像的基本模型[8-9]为
式(1)中:L(x,y)为观测到的雾天图像,即输入图像;L0(x,y)为场景的光线强度,即复原图像,也称为场景反照率;β为大气散射系数;d(x,y)为场景深度;exp(-βd(x,y))表示透射率分布;A为大气光辐射强度,一般假设为全局常量.
由式(1)可知:雾图成像模型由L0(x,y)exp(-βd(x,y))和A(1-exp(-βd(x,y)))两项组成.第1项表示直接衰减,由于大气中介质粒子的散射作用,部分物体的反射光因散射而损失,未散射部分直接到达成像传感器的强度;第2项为环境光模型,反映全局大气光强度的散射,导致场景颜色的偏移.
对式(1)进行改写,得到另一种等价形式,即
式(2)中:V(x,y)表示大气耗散函数,即V(x,y)=A(1-exp(-βd(x,y))).因此,只需估计出V(x,y)和A,即可求得L0(x,y),得到理想条件下的无雾图像.
2 图像复原算法
2.1 大气耗散函数的物理约束条件
雾天场景下的图像采集过程中,物体的颜色是由于对光的3个颜色分量的反射和吸收特性生成,对于颜色丰富的彩色物体或者单一的灰白色物体,至少有1个颜色分量的反射系数较低,强度值较小.因此,对于雾天图像,其大气耗散函数应该满足物理特性的约束条件,即
2.2 大气耗散函数的生成
根据大气耗散函数V与场景深度d的关系可知:在同一景深或变化平缓的区域,V基本不变;当d跳变时,V同样产生跳变,即大气耗散函数的取值仅与景深相关,与目标物体的细节纹理无关.因此,需要消除图像中的细节信息,同时保留景深跳变的边缘.该细节的平滑和边缘的保护可以看作是一类滤波问题,而双边滤波器能够满足这类要求.
双边滤波[10]是1种保持边缘的非线性平滑滤波方法,它的权重由空域S和值域R平滑函数的乘积给出,滤波窗口内各像素点的权重值与该像素点距离窗口中心点的距离,以及两者的灰度差值相关.文中使用空间域和幅值域均为高斯函数的双边滤波器,即
式(4)中:Gσs,Gσr分别为空间域和幅值域上以σs,σr为参数的核函数;S为以p为中心点的邻域;Ip,Iq分别为像素点p,q对应的灰度值.由此可见:该滤波方法同时考虑了幅值的相似关系和空间的邻近关系,可以有效保持图像的边缘信息,从而抑制复原图像中由于景深跳变而在边缘处引入的光晕现象.
文献[4-5]提出了用最小颜色分量W来粗略估计大气耗散函数,然后,采用双边滤波操作得到局部平滑的结果.文献[7]则是对W进行2次不同尺度的双边滤波来估计大气耗散函数和局部对比度.在此基础上,文中同样利用双边滤波的局部平滑特性对W(x,y)进行预处理,滤除纹理细节的同时,保留了图像中的边缘特性,从而得到大气耗散函数的初始估计,即
通过式(5)计算得到的结果,如图1(b)所示.由图1(b)可知:远景房子与前景草地的3个颜色分量值较高,V(x,y)的估计值较大,若直接用该结果作为最终的大气耗散函数,则易将灰度较亮的目标错误地估计为浓雾区域.因此,有必要进一步修正部分区域的雾浓度估计.
由于大气耗散函数仅与大气光值A和场景深度d相关,而大气光值假定为全局常量.因此,在雾浓度较高的远景处,大气耗散函数的取值较大,在雾浓度较低的近景处,取值较小,即远景区域相对于近景区域受到全局大气光的散射程度更高,对比度更低.局部对比度可以通过灰度标准差来近似表示,文献[3]和文献[5]分别采用中值滤波和双边滤波器来估计局部均值和标准差.然而,此类滤波器属于非线性滤波方法,由于其在边缘处的特殊性,导致估计的结果不够理想.因此,通过均值滤波器准确估计W(x,y)的局部均值E(x,y)和局部标准差D(x,y),进一步区分近景和远景区域,有
式(6),(7)中:AF(·,s)为局部均值滤波,选取s×s的矩形窗口进行移动式搜索处理.通过对W(x,y)执行局部均值计算来估计标准差可以保证估计的可靠性和鲁棒性,较文献[3]和文献[5]的方法更准确.由于对比度较好的纹理区域雾气较少,因此,应减少该部分的雾浓度估计,即用大气耗散函数的初始估计减去W(x,y)的局部标准差,有
当近景区域出现颜色鲜艳的目标且细节较丰富时,使用上述方法减弱该区域的去雾处理,可有效避免复原结果出现颜色过饱和的现象.最后,考虑物理约束条件0≤V(x,y)≤W(x,y),求得大气耗散函数的最终估计,即
式(9)中:p∈(0,1)为去雾调节参数,有针对性地保留远景的小部分雾气,使去雾后的图像更加自然.
为了提高运算速度,采用快速双边滤波[11-12]的近似方法来进行加速,该算法将双边滤波器表示为三维空间中的线性卷积,在降采样的高维空间中执行高斯低通滤波,通过三维线性插值来获得最终的滤波结果.由于该方法可以并行计算,因此,可采用GPU进一步加速.
2.3 图像的复原
求解雾图成像方程的另一个关键因素是大气光A值的估计,也可理解为雾最浓处的像素值估计.文献[2]选取暗通道图像前0.1%亮的像素值,对应雾天图像中的最大像素作为大气光.然而,该方法只取单个最大值不具有鲁棒性,因为降质图像中可能伴随噪声的影响.由以上分析可知:大气耗散函数V近似体现了雾气浓度分布.因此,在文献[2]的基础上,根据V的直方图统计来估计A值.假设V的总像素个数为N,直方图为Vhist,计算其直方图累加当·N时,寻找V中灰度值为j的像素所在区域,在雾天图像中的相应区域即可认定为浓雾区域.然后,分别计算该浓雾区域中3个颜色通道的平均值,将最大的平均值作为大气光A值的估计.这种方法简单有效,比文献[2]中采用浓雾区域的“最高亮度像素”的方法具有更强的鲁棒性.
利用已估计的大气耗散函数V和全局大气光A,可根据式(2)恢复出场景在理想条件下的辐射强度,有
利用文中方法得到的大气耗散函数及复原结果,如图1所示.由图1可知:由V(x,y)的初始估计直接恢复结果会导致去雾后图像中的房子和草地的颜色过于饱和,与原图像的色调不符,如图1(d)所示;而利用文中方法进一步修正部分区域的雾浓度估计,得到准确的大气耗散函数,如图1(c)所示;复原结果如图1(e)所示.该结果很好地将雾气去除,同时保留了背景中颜色较亮的区域,以及房子和草地的真实色彩.
图1 文中算法结果Fig.1 Result of proposed algorithm
3 实验结果和分析
文中算法去雾调节参数p用于控制雾气移除的比例,若取0,则没有去雾效果;若取1,则完全将雾气去除.文中取90%,目的是保留小部分雾气,使复原结果更加自然.双边滤波的参数自适应的取σs=0.05·min(w,h),σr=0.1·(|w-h|).其中:w和h为图像的宽和高.均值滤波的矩形窗口s决定了局部标准差的精度,取值越小则精度越高,文中大部分实验中取较小值5.所有实验均在3.40GHz的AMD Athlon双核处理器、系统内存为2GB的普通PC机上运行.
3.1 实验结果比较
文中算法的去雾效果及局部细节对比,如图2所示.去雾后图像整体的能见度和对比度得到极大改善,还原了晴天条件下的真实场景,且避免了光晕效应和颜色过饱和现象,这得益于雾图成像模型的有效性和文中估计大气耗散函数的准确性.图2(c)为复原前后图像的局部细节放大,通过比较可知:文中方法对于图像的细节和颜色恢复非常有效,有利于图像特征的分析和识别.
为验证文中方法的优势,将其与He方法[2]及Tarel方法[3]的结果进行比较,如图3所示.图3(a),(e),(i)为相关雾天场景的原始图像.图3(b),(f),(j)为He算法的结果,该方法对场景色彩、对比度等信息实现了较好的恢复,但图3(b)的复原结果偏暗,图3(f)远景楼房的去雾效果还不够理想.图3(c),(g),(k)为Tarel算法的结果图,该算法在处理场景深度跳变的边缘时,去雾效果欠佳.图3(c),(g)中细小树叶之间的雾气没有完全去除,图3(k)的复原结果显得颜色失真.图3(d),(h),(l)为文中处理结果,相比He算法而言,图3(d)整体亮度有所提升,层次感更强,图3(h)的远景城市更清晰,能够识别更多细节信息,并且克服了Tarel方法中的边缘残雾和颜色失真现象.图2,3的实验结果表明:对于不同雾天环境、不同场景深度以及不同光照条件下的降质图像,文中方法均能够获得较理想的场景反照率.
图2 文中方法对图像细节的提升Fig.2 Enhancement of image detail using proposed method
图3 文中算法与其他算法的结果比较Fig.3 Comparisons with other methods
3.2 时间复杂度分析
He方法中修复透射率采用的软抠图算法[2]是1个大规模稀疏线性矩阵的求解问题,对系统的资源及计算能力要求较高.对图像尺寸为x×y,Tarel算法[3]的时间复杂度为O(xys2lns).其中:s为中值滤波的模板尺寸,在图3中s取45.而文中算法所用快速双边滤波器[11-12]的时间复杂度可达到O(xy),是图像像素数量的线性函数,其他步骤均较为简单.因此,具有很高的执行效率.
4 结束语
提出1种快速雾天退化场景的复原方法.该算法结合雾图成像模型与光学反射成像机理分析大气耗散函数的物理特性,利用双边滤波器的边缘保持特性对其进行初步估计;通过引入局部标准差来降低部分区域的去雾处理,缓解颜色过饱和现象,达到更加完善的复原效果.通过与当前去雾效果较好的方法进行对比,验证文中方法对于图像细节和颜色恢复的有效性,同时可避免边缘残雾现象和颜色失真等不足.然而,当图像中出现大面积灰色天空时,复原结果会显得偏暗,导致视觉效果不够自然,下一步工作将是针对这一不足进行改进,实现更加完善的图像去雾功能.
[1]FATTAL R.Single image dehazing[J].ACM Transactions on Graphics,2008,27(3):1-9.
[2]HE Kai-ming,SUN Jian,TANG Xiao-ou.Single image haze removal using dark channel prior[C]∥IEEE Conference on Computer Vision and Pattern Recognition.Miami:IEEE Press,2009:1956-1963.
[3]TAREL J,HAUTIERE N.Fast visibility restoration from a single color or gray level image[C]∥IEEE 12th International Conference on Computer Vision.Kyoto:IEEE Press,2009:2201-2208.
[4]禹晶,李大鹏,廖庆敏.基于物理模型的快速单幅图像去雾方法[J].自动化学报,2011,37(2):143-149.
[5]孙抗,汪渤,周志强,等.基于双边滤波的实时图像去雾技术研究[J].北京理工大学学报,2011,31(7):810-814.
[6]张冰冰,戴声奎,孙万源.基于暗原色先验模型的快速去雾算法[J].中国图象图形学报,2013,18(2):184-188.
[7]甘佳佳,肖春霞.结合精确大气散射图计算的图像快速去雾[J].中国图象图形学报,2013,18(5):583-590.
[8]NARASIMHAN S G,NAYAR S K.Removing weather effects from monochrome images[C]∥IEEE Conference on Computer Vision and Pattern Recognition.Washington DC:IEEE Press,2001:186-193.
[9]NARASIMHAN S G,NAYAR S K.Contrast restoration of weather degraded images[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2003,25(6):713-724.
[10]TOMASI C,MANDUCHI R.Bilateral filtering for gray and color images[C]∥Proceedings of IEEE international Conference on Computer Vision.Bombay:IEEE Press,1998:839-846.
[11]CHEN J W,PARIS S,DURAND F.Real-time edge-aware image processing with the bilateral grid[J].ACM Transactions on Graphics,2007,26(3):103-111.
[12]PARIS S,DURAND F.A fast approximation of the bilateral filter using a signal processing approach[J].International Journal of Computer Vision,2009,81(1):24-52.