王相海, 邢湘筠, 娄婉琪, 刘 爽, 唐 媛, 宋传鸣
(1.辽宁师范大学 计算机与信息技术学院,辽宁 大连 116081; 2.辽宁师范大学 数学学院,辽宁 大连 116029)
雾作为一种常见的天气现象,在一定程度上影响着人们视觉观测自然场景的效果和识别能力.雾天环境下,由于场景的点辐射光受大气颗粒散射的影响,导致户外视觉系统所拍摄的图像质量下降、特征模糊,有时甚至无法识别,这种情况下将直接影响到对诸如交通监控、安防监控等户外视觉系统拍摄影像的智能处理.近年来图像去雾方法研究作为多学科的一个交叉领域受到关注并成为一个研究热点问题[1-3].目前图像去雾方法总体上可分为三类,即基于图像增强、图像融合和图像复原的方法[4],其中,图像增强方法将含雾图像作为一个“低质”图像,直接利用图像处理的一些典型算法对其对比度、细节信息等进行增强来改善图像的视觉效果,该类方法通常会形成细节和颜色的偏差;图像融合方法利用同一场景的多源图像的信息互补来提高含雾图像的质量,该类方法的效果通常会受到所需要的多幅影像的互补性的影响,而具有强互补性的同场景含雾图像的获取比较困难;基于图像复原的方法考虑含雾图像的退化机理,通过相应的物理建模补偿退化失真信息已提高图像的质量,该类方法具有针对性强、复原效果好的特点,但需要构建相应的物理模型并对其参数进行估计,而有效的物理模型的种类总体而言还不是很多,比较典型的有暗通道先验模型[5]等.总体而言,天气情况的随机性导致了含雾图像的复杂性,尽管目前已出现的图像去雾方法在一定程度或某一方面取得了很好的效果,但总体而言该领域还处于发展之中,很多问题还有待进一步深入研究.
考虑到在智能交通中交通图像主要用于路况监控、违章自动监控和记录、收费监视等交通监控,这样不同于一般的可视场景图像,含雾交通图像的去雾在关注其去雾后视觉效果的同时,更应重视其对原始交通图像中纹理、边缘信息的保持.基于该思路,本文提出一种基于纹理提取与注入的暗通道先验去雾算法,首先将含雾交通图像的颜色空间转换为HSV颜色空间,并提取其亮度分量进行非下采样Contourlet(Nonsubsampled Contourlet, NSCT)变换获得高频子带;然后对所获得的NSCT高频子带进行引导滤波获得平滑结果,并从原高频子带中去除这些平滑结果获得相应子带的纹理信息;最后将这些纹理信息注入经大气散射物理模型的初步去雾结果中,在保证去雾效果的同时,有效提高了去雾后交通图像的纹理、边缘特征信息.
McCartney[6]于1976年提出了著名的大气散射模型,其中两个子模型——入射光衰减模型和大气光成像模型分别描述了入射光从场景中的客体到观测点的衰减过程和环境光对观测点所接收到的光强的影响,雾天环境下这两个模型所揭示的规律同时存在且起主导作用,由此形成了雾天环境下大气物理成像模型,并成为雾天户外视觉系统拍摄图像信息退化、衰减等形成机理的理论基础.模型的具体形式如下:
E(d,λ)=EL(d,λ)+ES(d,λ).
(1)
其中,EL(d,λ)和ES(d,λ)分别为入射光衰减模型和大气光成像模型,表现形式如式(2)所示.
(2)
其中,Eo(λ)为反射光强度,E∞(λ)为大气光的总强度,β(λ)为大气散射系数,d表示客体目标到观测点之间的距离,λ表示光的波长.
进一步令t(x)=e-β d(x),A=E∞(λ),J(x)=Eo(λ),I(x)=E(d,λ),则式(1)为
I(x)=J(x)t(x)+A[1-t(x)].
(3)
这就是在之前提到的著名的暗通道先验模型(简称 He 算法)[5].在利用该模型进行图像去噪时,大气光值和透射率需要进行估计和确定.
考虑到式(3)当透射率t(x)趋近于0时,直接衰减项J(x)t(x)也近似于0,这样恢复出的复原图像J极易产生噪声,所以通常给透射率设置一个较小的下界,这样复原有雾图像为
(4)
其中,t0为一常数,通常取值为0.1.
本文所提出算法的总体架构参见图1.
图1 本文算法流程图
NSCT[7]属于后小波时发展起来的多尺度几何分析工具,该工具除具有传统下采样Contourlet变换[8]的多尺度和多方向特性外,同时还具有平移不变特性和冗余特性,克服了传统下采样Contourlet变换子带系数频率混叠现象.
图像的NSCT变换包括两个过程:一是通过非下采样拉普拉斯塔式分解(Nonsubsampled Laplacian Pyramid, NSLP)进行尺度变换获得各尺度子带;二是对各尺度子带图像进行非下采样的方向滤波器组分解(Nonsubsampled Directional Filter Banks, NSDFB) 获得多方向子带.其变换过程参见图2.
图2 NSCT变换示意图[7]
引导滤波器是文献[9]中提出的一种基于引导图的滤波器,其基本原理是在滤波的过程中通过一引导图实现滤波后图像总体上保持与原图像一致,而纹理与引导图相近.其中引导图可以是其他图像,也可以是输入图像本身.其表现形式如下:
qi=akIi+bk, ∀i∈ωk.
(5)
其中,Ii表示引导图像,qi表示引导滤波后的输出图像,ωk是以像素k为中心的一固定大小的窗口,(ak,bk)为对应窗口ωk的线性系数,该系数可通过输出图像q和待滤波图像p的最小代价函数(参见式(6))进行估计获得:
(6)
其中,ε为正则化参数,用以约束ak,避免其值过大.
进一步可通过线性回归估计对式(6)进行估计求解:
(7)
(8)
其中,
(9)
其中,Im为含雾图像的R、G、B通道,Am为对应通道的全局大气光照值(参见文献[5]),ω是一用于平衡去雾强度的调节因子,一般选取其为0.95.
进一步利用文献[9]的引导滤波对预估值粗透射率图进行细化可获得更加精细的透射率图t(x),图3给出了两个透射率图的一个实例对比.
图3 He算法的粗透射率和细化后透射率图
将输入含雾图像由RGB颜色空间转换为HSV颜色空间,对HSV颜色空间的3个通道进行NSCT变换,对3个通道的低频子带按如下过程获得其最大值maxh、maxs和maxv处理:
(10)
其中,Jc表示c通道低频子带系数,Ω(x)表示以y为中心的局部区域.
进一步取3个通道低频子带最大值的平均值作为大气光值的估计值,即有:
(11)
在前面工作基础上,可通过式(4)获得初步去雾图像.
获得的初步复原去雾图像存在着一定的边缘虚化问题,为此本文利用引导滤波器提取含雾图像中的边缘、纹理信息对获得的初步去雾图像进行注入,以强化复原交通图像的边缘细节信息.
所提出算法的具体过程如下:
Step 2 根据HSV模型,将原始含雾图像由RGB颜色空间转换为HSV颜色空间;
Step 3 利用式(10)(11)计算大气光值的估计值A;
Step 4 将t(x)和A代入式(4)获得初步去雾图像J;
Step 5 对原始含雾图像V通道进行NSCT变换,获得其低频子带Lv和高频子带Hv;
Step 6 对Hv进行引导滤波,获得H′v;
Step 7 将Hv与H′v做差,获得纹理信息H″v;
Step 8 将H″v注入初步去雾图像J中,获得最终的复原结果图像.
对本文算法进行了实验,并与经典暗通道先验算法[5]、Tan算法[10]和Fattal算法[11]的复原结果进行了对比,图4和图5分别给出了自然雾图像和人工加雾图像的算法结果.
进一步,本文利用文献[12]提出的无参考客观质量评测方法对图4和图5的实验结果进行了定量分析,对应的统计结果参见表1和表2.
表2 复原结果比较(人工加雾图像)
由图4和图5可以看出,暗通道算法和本文所提出的算法在去雾方面都取得了较好的效果,但在天空区域还是存在着一定的块状效应;Tan算法和Fattal算法去雾效果也很好,但都出现了颜色失真现象,前者出现了曝光过度现象,后者出现了过饱和现象.此外由表1和表2可以看出,从定量分析上可以看出,本文在总体综合评测上取得了较好的成绩,在细节强度上具有一定的优势.
针对交通图像在去雾过程中应注意保持图像纹理、边缘等信息的问题,本文提出一种基于纹理提取与注入的暗通道先验去雾算法,利用引导滤波器从含雾交通图像的V分量NSCT变换高频子带中提取纹理信息,然后将其注入交通图像基于暗通道模型的初步去雾图像中,在保持图像整体去雾效果的前提下,一定程度上增强了交通图像去雾后的纹理细节信息,为交通图像进一步的智能处理奠定了基础.