基于新的中值引导滤波的交通视频去雾算法
2018-07-14黄鹤宋京郭璐王萍王会峰
黄鹤, 宋京, 郭璐, 王萍, 王会峰
1.长安大学 电子与控制工程学院, 陕西 西安 710064;2.陕西省道路交通智能检测与装备工程技术研究中心, 陕西 西安 710064;3.西北工业大学 第365研究所, 陕西 西安 710065
雾霾天气下,图像采集设备受大气中悬浮的小水滴、灰尘对光线散射、折射等影响,使采集到的图像信息受到很大程度衰减,这限制了交通信息监控等国计民生行业的发展。含雾交通图像的对比度和颜色饱和度都比较低,图像灰白不清,导致单幅图像去雾时已知信息过少,处理难度增大。因而,图像去雾是一项非常具有挑战性的难题。
目前,国内外图像去雾的主流方法从原理上大致可分为2类:基于图像增强的去雾方法和基于物理模型的图像复原方法。前者的缺点是未考虑导致图像降质的因素,仅通过提升图像对比度实现去雾,并没有从本质上去除,效果并不理想[1-2]。在基于物理模型的图像复原方法研究过程中,Oakley等人建立了一个多参数统计退化模型[3],考虑外界天气条件对成像的影响,利用统计模型估计参数,对灰度场景进行可见性复原。Tan等人对统计退化模型进行了改进[4],将其用于彩色雾天图像的可见性复原。这些方法都是建立在已知图像场景深度的基础上,一般情况下含雾图像的详细深度信息都要依靠高精度测距设备才能获得,因此,实际应用有一定的局限性。Nayar和Narasimhan等人通过获取图像的辅助信息,从多个角度研究了场景深度的获取方法,进而恢复出图像[5]。这类方法在使用中要求提供多幅不同天气条件下的同一场景退化图像作为辅助信息,实际应用也受到局限。近年来,很多学者转向研究依托先验知识或者假设的单幅图像去雾方法[6]。He等人统计分析大量图像后,发现在不含有天空的清晰图像区域中,取局部区域像素R,G,B的最小值,该值总是趋向于0,将其定义为暗通道[7]。利用暗通道作为先验信息估计大气光和透射率,同时通过软抠图对获取的透射率粗估计滤波,得到精确透射率,再利用雾霾天气下成像模型来恢复出清晰图像。一般情况下,此方法得到的去雾效果较好,但暗通理论不适用图像中天空等明亮区域,且软抠图的计算量过大。后来,He等人又提出了引导滤波算法[8],对透射率图像进行滤波处理,相对于软抠图和双边滤波,引导滤波的时效性有了较大提高,但仍有进一步的提升空间。
因此,本文在引导滤波算法的基础上改进,提出了一种基于新的中值引导滤波的去雾算法。该算法不仅保留传统引导滤波算法平滑图像和保持引导图像特征的优点,且较大的提升了运算效率,实时性得到保证,适用于视频处理。
1 雾天交通图像降质模型
雾霾天气下,空气中悬浮微粒会对光线造成散射和折射,使采集的图像模糊不清且含有较多噪声。在分析含雾图像时,要充分考虑空气介质对成像的影响,即入射光衰减和大气光成像过程,并建立模型,才能对雾天图像的降质原理进行分析。建立的降质模型如图1所示[9],通过分析该模型可以得到雾霾颗粒对光线及成像的影响。
图1 雾霾颗粒对成像影响示意图
(1)
公式(1)由入射光衰减模型和大气光成像模型组成,其中,L(x,y)是可见光镜头采集的雾天降质图像,L0(x,y)e-kd(x,y)为入射光衰减模型,Ls(1-e-kd(x,y))为大气光成像模型。由于大气微粒的散射作用导致一部分入射光线无法到达镜头,造成入射光衰减。在入射光衰减模型中,L0(x,y)表示该点的场景反射光强度,即固有未衰减时光的强度。d(x,y)为场景深度,可见入射光衰减率与场景点到接收装置的距离有关。k为大气散射系数,其与波长λ和大气中微粒大小γ关系如公式(2)所示。
(2)
在大气光成像模型中,Ls为环境光亮度,e-kd(x,y)为透射率分布。通过模型分析可以看出导致雾霾天图像降质的原因是由于雾霾颗粒(1~10 μm)的尺寸远远大于纯空气微粒(10-4μm左右),使得此时公式(2)中相对于波长,决定大气散射系数的因子变成微粒的大小,此时可认为大气对不同颜色的可见光散射系数近似,即所有可见光等量散射,所以看到的雾霾为灰白色,雾霾天气下得到的图像也就变得灰白不清。此外,由于雾霾微粒影响光线散射,从入射光衰减模型L0(x,y)e-kd(x,y)可以看出图像固有亮度受到景深影响呈指数衰减,导致雾天图像亮度降低,同时雾霾微粒对光线散射和折射也会产生较多噪点,导致获取图像质量较差。
2 引导滤波器
去雾中引导滤波器的工作流程是:将含雾的待处理图像作为引导图像,利用其边缘轮廓信息,将透射率的粗估计作为待滤波图像,得到精细化后的透射率。用数学公式表示引导滤波时,首先定义一个局部线性滤波器,像素点滤波结果可表示为
(3)
式中,I为输入引导图像,P为输入待滤波图像,Pj为待滤波图像中的像素点,q为输出的滤波图像,qi代表输出像素点,i,j为像素索引,Wij是由引导图像和待滤波图像组成的滤波核函数。
假设滤波过程是局部范围内的线性变换。当前待滤波窗口中心像素为k,待滤波像素为i,窗口大小为Wk,局部线性窗口内滤波输出图像表示为
qi=akIi+bk,∀i∈ωk
(4)
式中,ak和bk是以像素k为中心的窗口系数,对上式两边求梯度,可得
q=aI
(5)
公式(5)说明,输出图像q和输入图像I具有梯度相关性,这也是引导滤波保持边缘原因。为使输入图像和输出图像之间差异最小,即需求出ak和bk的一组最优解,等价为下式的值最小,即:
(6)
式中,调节系数ε用来预防系数a过大,也可以调节滤波效果。通过最小二乘法求出公式(6)的最优解为
(7)
(8)
3 中值引导滤波器的设计
由公式(4),(7),(8)可知,在计算系数ak和bk时,同一个像素会被多个窗口包含计算,则就会有多个系数。为解决这一问题,在具体计算某一点的系数时,用该点在这些不同窗口中的系数平均值作为该点系数,将原公式修订为
(9)
可简化为:
(10)
(11)
(12)
式中,Ikm为引导图像I在窗口ωk中的Z中值,Pkm为输入滤波图像P在窗口ωk中的中值,ε为调整系数,此处取ε=10-6。本文中窗口wk的大小为3×3。
对比公式(7)和(8),新算法采用中值方法来构造系数ak和bk,在计算系数ak和bk时避免了文献[9]方法中需要对引导图像和滤波图像求方差和协方差,同时对滤波框内临近像素点采用同一ak和bk,减少了引导滤波器的计算量,提升了计算速度。
4 透射率的二次精确估计
透射率t(x)与距离和雾的浓度有关,其大小表征了光线在大气中的穿透能力。透射率越大,表示较多光线能够穿过雾霾进入图像采集设备,即光线传输能力较强,光线受散射影响较小。透射率越低,则表示光线较难穿透雾霾进入图像采集设备,光线受散射影响较大,较少参与成像。
基于物理模型的图像去雾方程经过变形为:
(13)
(14)
根据He等人统计不含雾霾图像的暗通道规则[7],即:
(15)
而大气光的值Ac相对大很多,即
(16)
得到透射率为
(17)
(18)
这里根据经验取ω=0.8。
公式(18)完成了对透射率的粗估计。但此时估计值还不够精确,容易出现“halo”效应。利用中值引导滤波对透射率的粗估计进行精细化处理,得到透射率的精确估计,从而得到去雾图像:
(19)
式中,I(x,y)为输入含雾图像中的某点像素,A为大气光值,J(x,y)为去雾后该像素点的值,t-d为中值引导滤波处理后的精准透射率。有些像素所对应透射率t(x)很小,几乎趋近于0,其衰减项J(x)t(x)也趋于0。在这种情况下,若依然根据(19)式直接计算,在透射率过小时,图像中的噪声信息将会被过度增强,且图像局部区域对比度会下降,图像偏白,因而对透射率设下限t0。最终复原的雾化图像J1为
(20)
根据经验取t0=0.1。
5 实验结果
实验采用GPU硬件平台——NVIDIA GeForce GTX650M,由于目前并无标准雾天视频库,需采集相关含雾交通图像视频。将采集的每帧像素为1 200×1 000的一段含雾视频分别采用双边滤波去雾算法、梯度双边滤波去雾算法及引导滤波去雾算法及本文算法进行处理,第1 068,2 016,3 012,4 096关键帧实验结果如图2中所示。同时,表1中引入了模糊系数K、平均梯度、信息熵等客观参数,来对不同算法的去雾效果进行客观评价。
图2 去雾结果对比
结合图1和表1~表2分析实验结果可以看出,经过双边滤波去雾算法得到的复原图像与原图像相比,虽然有一定的去雾效果,但模糊系数较小即图像清晰度较低,细节不够明显,去雾效果差且算法耗时较高。与双边滤波相比,梯度双边滤波去雾结果在模糊系数和平均梯度等方面均有一定提升,但算法耗时最高,难以应用于实际交通视频去雾处理中。引导滤波效果与双边滤波和梯度双边滤波相近,处理时间有较大幅度的缩短,但仍然有提升空间。而本文算法得到复原图像与原图像相比模糊系数最大,清晰度最高,图像平均梯度、信息熵及细节强度较高,处理时间与前几种算法相比有较大幅度缩短,实时性最高。
表1 去雾图像参数评价
表2 GPU平台下去雾算法耗时比较
6 结 论
现有传统图像去雾算法虽然能取得一定的去雾效果,但是处理时间较长,在交通监控视频处理等应用场合难以满足要求。本文提出了一种新的中值引导滤波去雾算法,对雾霾天气下交通视频的去雾效果略优于同类文献的几种算法,同时较大提升了运算效率,实时性得到保证,可处理交通视频。