肖 杰,李同亮,翟东海
(西南交通大学信息科学与技术学院,四川成都611756)
在雾霾天气下,空气中漂浮着很多细微颗粒物,导致其散射波长较长的光比较多,最终导致交通图像模糊不清,对道路交通的安全造成很大影响;同时,还会造成彩色图像的颜色出现严重的失真和错位,给计算机视觉系统地应用带来很大困难;例如城市交通,智能车辆,高速公路上视频监控等。因此,图像去雾霾技术已成为数字图像处理和计算机视觉领域的一个重要课题。
交通图像去雾霾的目的是将模糊的交通图像恢复成清晰的交通图像。近年,基于大气散射模型的图像去雾霾的算法主要有两类,第一类是利用多幅同一场景图像得到清晰的无雾霾图像,即在不同天气下获取的多幅图像[1-2],或者是不同偏振程度的多幅图像[3]。但是,在实际应用场景中,这样的特殊条件通常无法满足。第二类是,通过估计单幅图像的景深或景深相关项[4-5],恢复清晰准确的图像[6-9]。Tan[6]发现无雾霾图像的对比度比有雾霾图像更高,通过将有雾霾图像的局部对比度扩大,从而达到去雾霾的目的。尽管该算法在一些场景下取得一定的效果,但是这种算法主要依据颜色的对比度处理,并不符合真实的物理模型。Fattal[7]根据物体的传播衰减率与投影系数之间互不相关性,获得介质透射率最终复原无雾霾图像,但是该方法对于雾霾浓度高的图像处理效果不佳。He等[8]通过对户外无雾霾图像数据库进行统计,提出一种简单有效的暗原色先验单一图像去雾霾方法,对一般户外图像取得了很好的去雾霾效果。但是该算法的时间复杂度高、执行速度慢、并且对于不符合暗原色通道原理的图像的白色区域不能很好地处理、导致图像的失真。蒋建国等[10]提出改进的基于暗原色先验的图像去雾霾算法,引入一种容差机制,虽然能够很好地处理图像中一些不符合暗原色通道原理的区域,但是并没有提高算法的效率。
为了有效提高图像去雾霾效率,很多相关算法被提出。褚宏莉等[11]提出基于黑色通道的图像快速去雾霾优化算法,对图像边缘和非边缘分别采用不同的模板处理得到透射率,虽然算法的时间复杂度降低,但是未实现处理不符合暗原色原理区域的图像。文献[12]利用一种新的引导滤波器优化投射率代替软抠图算法,该算法在很大程度上提升了计算效率,但是该算法去雾霾效果不够彻底,在处理后的图像中仍存在雾霾,且仍然导致明亮区域色彩失真。文献[13]采用效率较高的中值滤波的优化大气散射光,提升了去雾霾效率,但是因为中值滤波不能很好的保留边缘信息,导致去雾霾后的图像不够真实。
虽然目前一些单幅图像去雾霾算法针对相应场景下的图像可以获得不错的效果,但都存在不同程度的缺陷,比如采用较复杂的方法优化投射率会产生效率低问题;采用一些快速滤波算法造成的边缘信息丢失问题以及天空、地面的白色区域失真问题。为了有效改善图像去雾霾效果,提高算法的执行效率,提出一种基于局部维纳滤波的去雾霾算法。该算法从两方面出发:首先,利用大气散射光构造维纳滤波去噪模型,并结合暗通道先验原理估计出相关参数进行求解;其次,分析基于暗通道理论的去雾霾算法在白色区域产生色彩失真的原因,并基于此提出一种自适应调节参数大小的方法以进一步优化透射率;最后,通过实例验证文中算法的时效性。
图像去雾霾问题是一个需要利用场景的先验知识及相关推理方法来解决的约束性问题。在图像中观测到的雾霾量取决于物体与相机间的距离、光线的波长和大气中散射粒子的尺寸大小。给定雾霾天图像的像素位置x,I(x)∈R3,去雾霾后的图像J(x)∈R3,二者的关系由大气散射模型[14]描述如下
式中t(x)∈R表示介质的透射率,A表示天空光亮度,A∈R3。式(1)中J(x)t(x)称为直接衰减项,它描述了场景的真实辐射值及其在介质中的衰减。(1-t(x))A称为大气散射光,源于大气散射,并使场景的颜色发生偏移,因而大气散射光计算公式可以表示为
文献[14]表明透射率t的取值依赖于一个空间不变量β和场景深度r(x),结合式(1)中J(x)t(x)说明雾霾的存在是导致场景辐射照度发生直接衰减的重要原因,并且这种衰减因场景深度r的变化产生指数级变化。
将(3)式带入式(2)得V(x)=A(1-e-βr(x)),可以看出大气散射光取值取决于大气光自身的特性和图像中场景的深度信息。
假设知道所有期望的参数,则可以得到
t0为一个很小的数,文献[8]建议取0.01。A的具体求解过程参考文献[8-10]中方法。
根据暗通道先验理论假设原始图像中任意一点在某一个或多个通道内像素值趋近于零则有
式中c代表某一颜色通道,暗通道先验知识通常被用于粗略估计透射率,文中则与之不同,而是利用暗通道先验理论粗略估计大气散射光(如式5),然后利用后文算法细化大气散射光,之后再利用以下模型求解透射率。
在式(6)中ω(0<ω≤1)为一常数,目的是保留一定的景深,让复原后的图像看起来更加真实,与ω相乘的项可以看做是Ic(y)/Ac的暗通道,A代表已知的大气光。
式(5)得到的大气散射光V(x)是一种粗略的估计,因为当图像中明亮区域较多时存在某些像素点在各个颜色通道内像素值均不为零,这时暗通道先验理论失效。另外,图像中场景的纹理也是引入噪声的一个重要因素。而此时V(x)的估计值偏差较大,因此需要对其进行优化。目前优化大气耗散耗散函数的方法有基于统计平滑算子的方法和谱抠图算法。提出一种利用局部维纳滤波优化V(x)方法。而且文中算法可以根据图像中的雾霾程度执行多次迭代优化处理,进而获得更加精确的大气散射光。同时,算法在处理天空,地面等明亮区域时采用里动态调节参数大小的策略,可以保证去雾霾后的图像颜色不失真。
根据局部维纳滤波[15]理论,结合大气散射光的特点,给出如下模型
式中V0dark(x)为实际观察量,具有局部统计特性。Vdark(x)为期待的有效值,n(x)为加性噪声。进而可以得到局部维纳滤波模型
方法简单容易实现,并且该滤波器的步长可以自动更新,以适应场景深度的不连续性,当μ(x)变小时则可以做平滑处理,当μ(x)变大时则可以保留场景深度的不连续性。式中Vkdark为第k此迭代得到的估计值为第k-1次估计值Vk-1dark在局部区域Ω(x)内的均值,式(9)中的分子部分为第k-1次估计值Vk-1dark在局部区域Ω(x)内x点的方差。分母为第k-1次估计场景中的噪声方差与Vk-1dark在局部区域Ω(x)内x点的方差之和。式中各参数值得估计如下
初始时,V0dark(x)为式(5)中得到的粗略估计值
模型的难点在于如何估计各参数值,借鉴文献[13]的思想:利用信号自身估计该信号的局部方差和均值。由此可以估计大气散射光在局部区域Ω(x)内的均值和方差。
Ω(x)代表局部抽样区域内像素的个数。而噪声方差的估计和文献[6]和[7]的方法类似,即透射率的估计与抽样窗口的大小及较低的信号方差相关。这里假设初始时,信号的方差远远小于噪声方差,则随着滤波迭代次数的增加信号中所含的噪声信号越来越小,为此,构造了如下噪声方差估计方法k为迭代次数,M为整幅图像中像素点个数,ε定义为平衡调节参数(0<ε<1)在实验过程中经过反复试验ε取值0.2效果比较好。
通过大量实验得知,对一些雾霾图像,基于暗原色先验的去雾霾结果出现色彩失真,如图1(b)所示,(去雾霾后的图像)中的天空区域出现严重的光晕现象。通过实验统计观察,这些图像中一般包含天空、水面、偏白色物体等白色区域。实际上,这些白色区域即使在无雾霾条件下,它们的像素值也很大,在该区域内很难找到像素值接近于零的暗原色点,所以暗原色先验理论在这些区域不成立。所以单纯用暗原色理论去雾霾会出现颜色失真,光晕等现象。为了克服这个缺点,必须扩展暗原色先验,以应对交通场景的雾霾图像,提高算法鲁棒性。从估计大气光A的算法可以看出,当图像存在白色区域时,A基本落在这些白色区域。通过式(4)求解透射率t的分布时不难发现:当I与A的值越接近其t值就越小,由于图像中白色区域的暗通道像素值与A值接近,所以该区域对应的t值变很小,即透射率很小。然而,这样计算得到的t值是建立在暗原色先验理论在该区域成立的基础之上,但是由前面的分析可知,该区域显然不满足暗原色先验理论,进而得知该区域透射率的计算结果不准确。
假设不考虑暗原色,那么由式(1)可以直接求解得到准确透射率为
图1 原始算法去雾霾结果
根据暗原色先验理论可知,在实际计算中(14)式中的分母近似为1,但对于雾霾图像中的白色区域不符合暗通道理论,因此实际的透射率应该比根据暗通道算法得到的值明显要大。所以单纯运用暗通道算法会出现色彩失真或者明亮的光晕(如图1)。
针对上述原因提出一种简单的自适应参数大小的透射率求解算法,见式(15)和式(16)
式中A为雾霾图像中的大气光的值,Idark(x)为暗原色图像中的某一像素点的像素值。之前的算法中参数ω(取值为大于0小于1的数)大小是固定不变,该参数的作用是为了保持图像的景深,使去雾后的图像显得更加真实。然而,固定的参数必然导致去雾霾过程的固化,不能区分白色区域和普通区域,最终导致白色区域的色彩失真,或者出现光晕现象。而文中算法中ω的值是动态变化的,不难看出,在白色区域(不符合暗通道理论的区域)暗原色的像素值与大气光的值很接近时,|1-Idark(x)/Adark|变小,透射率t(x)变大(接近于1),这时去雾霾强度减弱,更加符合理论值;而在符合暗通道理论的区域,|1-Idark(x)/Adark|值接近1,去雾霾强度变大,此时符合暗通道理论。
用matlab语言在PC机上验证文中算法。代码运行环境为Windows 7系统,Intel(R)Core(TM)i3-2350M CPU@2.30GHZ with 2.00 GB RAM,32位操作系统。去雾霾算法中核心部分是对大气散射光的估计和细化以及参数ω的自适应调节。维纳滤波中参数ε和k的选取会影响去雾霾效果,输入图像不同,选取的参数也不同。但是对于大部分雾霾图像,ε=0.2和k=2时可以得到不错的去雾霾效果。在实验过程中,取值为ε=0.2,k=2。在以上参数选择的基础上,图2和图3展现了文中算法在去雾霾过程中的对相关图像的处理。不难看出,去雾霾后的图像与原始雾霾图像相比更加清晰,很好保留了图像深度和边缘信息,并且在天空区域图像的颜色没有失真。
图2 去雾霾处理中间过程
图3 去雾霾处理中间过程
为了验证文中算法的有效性和可靠性,将文中算法与文献[8]的算法及文献[11]的算法进行性能比较,图4给出了实验结果对比图。其中图4(b)、(c)分别利用文献[8]和文献[11]的算法得到的实验结果,可以明显的看出文献[8]的算法在处理雾霾交通图像的天空区域时出现彩色失真现象,主要表现为不规则的彩色光晕现象。而文献[11]的处理结果在景深及边缘细节上处理的不够精细,部分细节信息丢失。图4(d)为文中算法的去雾霾结果,可以看出文中算法在景深及边缘细节处理上更加精细,明显地改善了恢复后的图像,图像的对比度更强,同时,让去雾霾后的图像没有出现色彩失真现象。
图4 去雾霾结果对比
除了以上主观的实验比较外,还引用信息熵、标准差和平均梯度作为去雾霾效果的客观定量评价指标。对于信息熵、标准差和平均梯度,输出值越大表示实验结果越好。文中算法和文献[8]算法及文献[11]算法去雾霾后结果客观上的评价比较如表1所示。可以看出文中算法去雾霾后的图像在标准差,信息熵和平均梯度方面均有不同程度的提升,进而从客观角度表明文中算法处理后的图像更加清晰,证明了文中算法的有效性。
表1 客观比较结果
算法效率主要是通过算法处理完一幅图片所消耗的时间体现,因此通过表2从图像去雾霾耗时角度将文中算法分别与文献[8]算法和文献[11]算法分别进行比较,实验过程中3幅原始图片大小分别为236×176、305×203、461×247。实验数据表明文中算法明显缩短了去雾霾过程消耗的时间,提升了算法效率。
表2 去雾霾算法效率比较结果
介绍了大气散射模型,并分析了原始的基于暗通道先验理论去雾霾算法中存在的问题。然后采用局部维纳滤波方法并结合暗通道理论求解并优化大气散射光,极大提升了去雾霾效率。除此之外还研究了传统基于暗通道理论的去雾霾算法在白色区域产生色彩失真的原因,并提出一种自适应参数大小的透射率求解算法,用以解决色彩失真问题。最后提出的算法用于实例验证,实验结果表明:文中算法在去雾霾效率上较提升了2~倍,同时,保证了图像白色区域的色彩不失真。
[1] NARASIMHAN S G,NAVAR S K.Chromatic framework for vision in bad weather[C]//Proc of IEEE CVPR 00.Washington:IEEE Computer Society,2000:598-605.
[2] NARASIMHAN S G,NAVAR S K.Contrast restoration of weather degraded images[J].IEEE Trans on Pattern Analysis and Machine Intelligence,2003,25(6):713-724.
[3] YOU Y L,KAVEH M.Fourth-order partial differential equations for noise removal[J].IEEE Trans on Image Processing,2000,9(10):1723-1730.
[4] TAREL J P,HAUTIERE N.Fast visibility restoration from a single color or gray level image[C].IEEE International Conference on Computer Vision,Kyoto,Japan:IEEE Press,2009:1-8.
[5] 郭珈,王孝通,胡程鹏,等.基于邻域相似性的暗原色先验图像去雾方法[J].计算机应用,2011,31(5):1224-1226.
[6] TAN R T.Visibility in bad weather from a single image[C].IEEE Conference on Computer Vision and Pattern Recognition,Anchorage,USA:IEEE Press,2008:1-8.
[7] FATTAL R.Single image dehazing[J].ACM Transactions on Graphics,2008,27(3):1-9.
[8] HE K,SUN J,TANG X.Single image haze removal using dark channel prior[C].IEEE Conference on Computer Vision and Pattern Recognition,Miami,USA:IEEE Press,2009:1956-1963.
[9] 周雨薇,陈强,孙权森,等.结合暗通道原理和双边滤波的遥感图像增强[J].中国图象图形学报,2014,19(2):313-321.
[10] 蒋建国,侯天峰,齐美彬.改进的基于暗原色先验的图像去雾算法[J].电路与系统学报,2011,16(2):7-12.
[11] 褚宏莉,李元祥,周则明,等.基于黑色通道的图像快速去雾优化算法[J].电子学报,2013(4):791-797.
[12] He K,Sun J,Tang X.Guided image filtering[C]//Proceedings of European Conference on Computer Vision.Crete,Greece:Springer,2010:1-14.
[13] Tarel J,Hauti N.Fast visibility restoration from a single color or gray level image[C]//Proceedings of IEEE International Conference on Computer Vision.Kyoto,Japan:IEEE Computer Society,2009:2201-2208.
[14] K Gibson,T Nguyen.Fast single image fog removal using the adaptive wiener filter[C].in Proc.20th IEEE ICIP,Sep,2013:714-718.
[15] Xiaobo Zhang,Xiangchu Feng.Hybrid gradient-domain image denoising[J].International Journal of Electronics and Communications,2014,68(3):179-185.