基于暗通道先验的快速图像去雾算法
2014-01-06肖钟捷余文森程仁贵刘长勇
肖钟捷,余文森,程仁贵,刘长勇
(1.武夷学院 数学与计算机学院,福建 武夷山 354300;2.北京航空航天大学 宇航学院, 北京 100191)
基于暗通道先验的快速图像去雾算法
肖钟捷1,2,余文森1,程仁贵1,刘长勇1
(1.武夷学院 数学与计算机学院,福建 武夷山 354300;2.北京航空航天大学 宇航学院, 北京 100191)
探讨了暗通道先验去雾算法的原理,针对暗通道先验去雾算法时间复杂度太大的缺点,提出用快速有效的巴特沃兹低通滤波器代替复杂的软抠图方法实现对透射率的平滑与细化;针对暗原色图像在景深交界处存在白边现象采用求区域最大值法加以修正;并给出了自适应的求解全局大气光算法.实验结果表明,改进的暗通道去雾算法在获得满意的图像去雾效果的同时能大大提高图像去雾算法的速度,能满足工程上的实时应用要求.
去雾;暗通道先验;暗原色图像;大气光;透射率
0 引言
在户外的目标识别与跟踪、智能导航、公路监控、卫星遥感等视觉系统中,雾霭天气往往会造成图像模糊、对比度降低等缺点.近年来,以得到清晰图像为目的研究课题越来越受到各国研究人员的重视,成为图像处理领域的一个研究热点.有关图像的清晰化方法中去雾的研究一般可分两大类:一类是基于图像增强的方法,如直方图均衡化、同态滤波算法、基于大气调制传递函数以及Retinex算法[1]等.虽然每种方法针对不同的场合和对象能取得不错的去雾效果,并不断有新方法和手段被提出,但图像增强角度实际上只是改善图像的视觉效果,并没有实质上改变;另一类是基于物理模型的图像复原,其基于图像退化原因和大气散射规律建立退化模型,利用退化的先验知识实现去雾.最近这方面的研究取得了很大的进展,Tan[2]提出通过利用最大化局部对比度来恢复图像的色彩对比,以达到图像去雾的目的,其结果在视觉上是很吸引人的,但时间复杂度太大,且该方法并不符合真实的物理模型,结果易失真;Fattal[3]通过假定透射率和表面投影在局部是不相关的,估算景物的反射率,推断景物光在空气中传播时的透射率.Fattal的做法比较准确,并且能产生很好的去雾结果.然而在雾浓度较大的时候便显得无能为力,尤其是当他的假想一旦失效的时候.
何凯明等人[4]提出“基于暗通道优先的单幅图像去雾”新方法,该论文被评为CVPR’2009唯一最佳论文,被视为华人在计算机视觉与模式识别领域发表的最高级别论文,该方法被证明是目前最通用、最有效的图像去雾方法.但该方法在透射率优化时采用了软抠图(soft matting)算法[5],需要计算拉普拉斯矩阵并求解线性方程组,导致该算法在时间复杂度和空间复杂度上都很高.随后,He等人又提出了导向滤波[6]算法,并建议可以用导向滤波来代替soft matting算法实现对透射图的优化,以提高“暗通道优先去雾”算法的处理速度.
本文算法的改进在于提出采用更快速的巴特沃兹低通滤波代替导向滤波或软抠图算法实现对透射图的平滑与细化操作;并针对暗原色图像去雾在景深变化边界处存在的白边现象应用边缘区域求最大值法进行修正;并给出了详细的求解大气光值自适应算法,提高了全局大气光值的鲁棒性和准确性.实验结果表明,本文改进算法在得到满足视觉要求的去雾图像效果的同时,大大提高了暗原色去雾算法的速度,能满足工程上的实时应用要求.
1 暗通道先验(dark channel prior)原理
1.1 雾天图像退化基本模型
在计算机视觉及图像处理领域中,根据McCarneg散射理论得到的米氏散射物理模型是最常被用来描述雾霭等恶劣天气条件对图像造成的影响,该物理模型表达式为:
I(x,y)=J(x,y)e-βd(x,y)+A(1-e-βd(x,y))
(1)
式(1)中,(x,y)为图像像素的空间坐标;I是观察到的有雾图像;J是待恢复的无雾图像;β表示大气散射系数;d为场景深度;A是全局大气光,通常情况下假设为全局常量.J(x,y)e-βd(x,y)则是到达观测者的目标辐射信息直接衰减,表示景物表面的反射光在介质中传播时因散射等作用而衰减;A(1-e-βd(x,y))表示在光路上由于大气粒子的散射作用,杂散光会融入到成像光路中,与目标物体的反射光一起参与成像,即图像复原中的“噪声”.
对于式(1),我们可以用传输透射率t(x,y)来表示指数衰减项e-βd(x,y);则式(1)的大气散射模型可简化为式(2):
I(x,y)=J(x,y)t(x,y)+A(1-t(x,y))
(2)
在式(2)中,如果已知透射率t(x,y),大气光A和有雾图像I,方可求得无雾图像J,如式(3)所示.显然这是一个病态方程的求解问题.
(3)
1.2 暗通道先验知识
He[4]经过对5000幅正常彩色无雾图像的统计发现:如果取彩色图像中每个像素点RGB三通道中的最小值作为该点像素值,则86%的像素值处在[0,16]区域,即该区域值接近于零,该最小值通道被称为暗通道(dark channel).进一步推出,若取像素点(x,y)领域内局部小方块Ω(x,y)中所有像素点的R,G,B三个通道中的最小值作为该像素点值,则可知该值通常非常小,趋近于零,由各像素点领域内暗通道值构成的图像称为暗原色图像(Jdark).由此可得如下式(4)所示的暗原色图像定义:
(4)
2 基于暗通道先验的改进快速去雾
2.1 暗通道先验去雾
根据暗通道先验知识,对式(2)按指定窗口方块Ω(x),两边取最小运算,并同除以A,可得如下式(5):
(5)
(6)
(7)
式(6)和式(7)中求得的透射率t(x,y)是在假设局部小区域Ω(x,y)内具有相同透射率基础上求取的,所以会有小块状光晕,即所谓的“halo”效应.为此,He[4]提出利用soft matting算法[5]来细化和平滑透射率图,实验证明效果很好(如图1中透射率图(b)所示),但速度极慢,不适用于工程上的应用.
利用求得的透射率t(x,y)和大气光A,以及有雾图像I(x,y),即可通过式(3)求得无雾图像J(x,y)(如下式(8)所示).
(8)
2.2 改进的暗通道优先快速去雾算法
暗通道优先去雾算法存在时间复杂度大,图像不同景深交界处会存在白边现象,求取大气光值不够准确等不足,本文所提快速去雾算法针对以上不足方面进行了改进.
(1)求取大气光值A
通过式(8)求取去雾图像时必须已经求得大气光值A,一般大气光值是全局常量.与文献[2-3]或一般暗通道去雾算法文献中求取A(指定一个值在220至250之间接近255的一个常量)不同的是,本文根据He[4]的想法:首先选取暗原色图像中亮度最大的0.1%个像素,并搜索其在I中对应的最大亮度值作为大气光A的估计值.具体求A算法描述如下:
①求暗原色图Dcp;
②设置一规格与Dcp相同的0矩阵Dcp0,求Dcp中前(M*N)/1000个最大元素,及其所在位置;
③利用得到的Dcp0(其在(M*N)/1000个最大值位置为1,其它位置为0),得到的I0中保存的是前0.1%个相应位置的最大值,而其它位置值为零;在I0中可以求得最大亮度A([ArAgAb])作为图像I的大气光值.
以上该自适应算法求取的大气光值相比于前面提到的两种方法具有更强的鲁棒性.
(2)透射率t(x,y)的平滑与细化
在He[4]的暗通道优先去雾算法中,在透射率图t的计算过程中,如果未进行优化,不同景深交界处会存在白边(雾未除尽)现象,同时,由于总是假设所有局部小区域Ω(x,y)内具有相同透射率,所以透射率图时会出现即所谓的“halo”光晕效应.He引入了软抠图算法(Soft matting)对透射率t进行平滑与细化,但Soft matting算法却耗费了大量的运算时间.为此,He等在文献[6]中提出了利用导向滤波替代软抠图的方法,文献[7,9]提出利用双边滤波替代软抠图.经验证这些方法都能实现对透射率t更快速的平滑与细化,并取得满意的去雾效果,虽然去雾效果不如软抠图算法那么完美,但速度更快.
本改进算法提出采用更快速的巴特沃兹低通滤波器代替导向滤波或软抠图算法实现对透射图的平滑操作.巴特沃兹滤波器具有通带内最大平坦的振幅特性,对整幅图像进行邻域内加权平均的过程,巴特沃兹滤波器的传递函数如式(9)所示:
H(u,v)=1/(1+[D(u,v)/D0]2n)
(9)
具体的改进算法步骤如下:
①如前所述,求取含雾图像的暗原色图:
②对Idark(x,y)边界处暗原色进行修正:
③根据式(7)可得透射率t(x,y)为:
④利用巴特沃兹滤波器H(U,v)对透射率图t(x,y)进行平滑过滤得到tR(x,y)
⑤根据式(8)恢复得到无雾图像:
如图1中透射率图(d)所示,相比于前述几种方法,巴特沃兹滤波后的t会更模糊和更亮一些,但去雾效果仍能很好满足要求,且如下表1所示,去雾速度明显更快.
3 实验结果与讨论
本算法实验的软、硬件环境为:Acer Inter(R) Core(TM) i5-3337U @ 1.80 GHz,RAM4.0 G;在Windows 8 系统下运行64位MatLab2010a对有雾图像进行去雾测试.如表1所示,分别采用文献[4],文献[6]和本文改进算法对各个含雾图像进行了去雾测试,对图2中的去雾效果图(a)~(c)和图3去雾后图像的细节局部放大对比图进行比较可发现:在去雾效果上,以上3种方法分别从高至低排列,本文所提方法仍能达到很好的视觉去雾效果;但在算法的时间复杂度上,如表1所求,利用He在文献[4]中的方法对一幅彩色图像去雾需要几十秒,甚至几分钟;文献[6]方法需要几秒至十几秒;而本文改进算法只要零点几秒至几秒,显然在保证视觉去雾效果的同时,本文改进算法相比原来的暗通道先验去雾算法(文献[4]和文献[6])在时效上分别提高近10倍和5倍以上,大大提升了暗通道优先去雾算法的速度性能.
表1 不同暗通道优先去雾算法的时间复杂度比较表(/s)
图1 含雾源图像及其暗原色和各类透射图
图2 采用不同方法的去雾效果图
图3 去雾后图像的细节局部放大对比图
4 结语
提出可以用巴特沃兹滤波代替导向滤波和软抠图算法以提高暗通道优先去雾算法的执行速度,文中通过实验比较基于暗通道优先的3种图像去雾方法,发现基于软抠图算法对透射率进行优化可以得到最优的透射率和最佳的图像去雾效果,但时间复杂度太大,而基于导向滤波和巴特沃兹滤波的算法在得到满足视觉要求的去雾效果的同时,可以大大提高去雾算法的速度.利用本文所提方法所得到的透射率图不如软抠图或导向滤波精细,但速度快.当然,去雾算法的实际运算速度还可以考虑通过Gpu编程、硬件实现及其它优化编程技术来进一步提高.
[1] 汪荣贵,傅剑峰,杨志学,等.基于暗原色先验模型的Retinex算法[J].电子学报,2013,41(6):1188~1192.
[2]R.Tan.Visibility in bad weather from a single image[C].Proceeding of IEEE Conference on Computer Vision and Pattern Recognition,(CVPR’08).Washington USA:IEEE Computer Society,2008:1~8.
[3]R.Fattal.Single image dehazing[J].Acm Trans-ations on Graphics,2008,27(3):1~9.
[4]K.He,J.Sun,X.O.Tang.Single image haze removal using dark channel prior[C].Proceeding of IEEE Conference on Computer Vision and Pattern Recognition ( CVPR’ 09).Washington,USA:IEEE Computer Society,2009:1956~1963.
[5]A.Levin,D.Lischinski,Y.Weiss.A closed form solution to natural image matting[J].CVPR,2006,(1):61~68.
[6]K.He,J.Sun,X.Tang.Guided Image Filtering[C].Proc Of ECCV,2010:1~14.
[7]孙 抗,汪 渤.基于双边滤波的实时图像去雾技术研究[J].北京理工大学学报,2011,31(7):810~813.
[8]H.Xu,J.Guo,Q.Liu,et al.Fast Image Dehazing Using Improved Dark Channel Prior[J].IEEE Conf.Information Science and Technology,2012:663~667.
[9]郭 磊,杨 升.普适计算环境下基于信任的动态模糊访问控制模型研究[J].吉林师范大学学报(自然科学版),2014,35(1):74~77.
[10]林丽惠,陈 明.基于内容的图像检索在电子商务中的应用[J].吉林师范大学学报(自然科学版),2012,33(3):86~89.
[11]李利荣,汪 蒙.一种高效的图像增强去雾算法[J].湖北工业大学学报.2013,28(5):72~75.
FastImageDehazingMethodBasedonDarkChannelPrior
XIAOZhong-jie1,2,YUWen-sen1,CHENGRen-gui1,LIUChang-yong1
(1.Department of Mathematics and Computer,Wuyi University,Wuyishan 354300,China;2.School of Astronautics,Beihang University,Beijing 100191,China)
The principle of dark channel prior to fog algorithm was discussed in the paper,and the soft matting smooth and refined transmittance was achieved using a quick and efficient Butterworth low-pass filter instead of the complex method according to the shortcoming of time complexity of the algorithm.For the white edge image existing at the junction of the phenomenon in depth of dark colors,the method of seeking the maximum area was used,and an adaptive algorithm for solving global atmospheric light was also given in the paper.Experimental results showed that the improved algorithm in the dark passage to fog the image not only obtained satisfactory results but also greatly increased the speed of the image to fog algorithms to achieve the real-time applications requirements of engineering.
dehazing;dark channel prior;dark channel image;atmospherics;transmittance
郎集会)
2014-05-15
国家自然科学基金项目(61272351);福建省教育厅科技项目(JA13318)
肖钟捷(1971-),男,福建省建瓯市人,现为武夷学院数学与计算机学院副教授,硕士.研究方向:计算机视觉与模式识别、软件设计与开发.
TP751
A
1674-3873-(2014)03-0106-05