鲁 丹,方 帅,2,邵 堃
1.合肥工业大学 计算机与信息学院,合肥 230009
2.中国科学院 安徽光学精密机械研究所,合肥 230031
在夜间,图像同样会受到雾、霾的影响而造成图像清晰度降低,尤其夜间的环境光主要是来自人造光,这又会导致图像明暗不一,因此需要一种新的算法来解决以上两个问题以保证精确的图像特征提取、目标分割与跟踪、场景理解等计算机视觉任务。
近年来,国内外学者对光照充足情况下(白天)雾天图像复原技术进行了深入的研究并取得了很高的成就。依据是否依赖大气散射模型可以将现有的图像去雾技术分为两类。一是基于非物理模型的方法,主要是使用图像增强算法[1-6],比较典型和常用的包括Retinex算法、直方图均衡化算法。另一种是基于模型的方法。目前,广泛使用的是基于物理模型[7-11]的图像复原算法。该算法使用大气散射模型来求解复原场景的反照率。由于该模型的求解是一个病态的问题,因此对于单幅图像复原处理需要依靠一定的先验,来缩小解空间范围,使其变成可解的优化问题。针对夜间的图像去雾,由于受到雾气散射和人造光照的双重影响,因而呈现出对比度低、亮度低、噪声大、大气光颜色失真等现象。因此传统的针对白天图像去雾的算法不适用于夜间的图像去雾。目前针对夜间图像去雾算法的研究屈指可数,S.C.Pei和T.Y.Lee提出了一种针对夜间图像去雾算法[12]。他主要是根据白天的雾天图像大气光偏灰色,而夜间的雾天图像大气光偏蓝,通过颜色转换预处理,将夜间的图像转换成白天大气光偏灰色的图像。然后按照白天雾天图像成像模型复原出清晰图像。最后使用双边滤波进行对比度校正。该算法在原图信息已经发生变化后(颜色转换后)的基础上进行复原,因此该算法不是完全基于物理模型复原的。
根据夜间图像成像规律,本文提出了一种人造光照下的单幅雾天图像复原算法。该算法不仅考虑到夜间不均匀的环境光,而且还对图像进行光照补偿,提高亮度。实验结果显示,本文取得了较好的去雾结果。
文献[9-11]提出的去雾模型,被广泛应用于计算机视觉领域,通常描述如下:
I表示为雾天图像,N表示清晰图像,即去雾后的图像,A表示环境光,x为像素的坐标,t(x)表示光线透射率。当大气中为均匀介质时,t(x)表示如下:
公式(2)中,β为大气介质消光系数,d(x)为场景深度。
暗原色先验[11]是基于对户外无雾影响的清晰图片的统计而设计的实验假设:在无雾图像的每一个块中,至少存在一个颜色通道值很低。公式表示如下:
Jc表示J的一个颜色通道,Ω(x)表示以x为中心的局部块。
夜晚环境下的人造光通常是由路灯、楼房、车辆照明灯发出的,因此它们的形状是不规则的,并且亮度相对较高。如图1:(a)中人造光主要来自路灯,(b)的人造光主要来自汽车,(c)中的人造光主要来自楼房。
图1 夜间图片
夜晚,大部分场景都偏暗,因此光源的亮度特性会格外突出,从而检测光源可以从亮度信息着手。夜间大多数情形下,光源中心亮度最强并且接近白色,而向四周扩散时,颜色和亮度都会逐渐衰弱。利用这种特性可以检测出光源,并且控制检测光源区域面积的大小。本文统计了1 000幅带人造光源(路灯、大厦灯光、车辆照明灯)的夜间图像,将这些图像适当放大缩小,使得光源大小相同(光源占400个像素)。首先人工标定光源的中心点,然后找出距离中心点一个像素大小的周边像素,分别计算这些像素的每个通道的均值,接下来找出距离中心点为两个像素大小的周边像素,计算均值,以此类推。
距离中心点的像素个数与各通道像素均值大小分布的折线图如图2。
图2 距离中心点的像素个数与各通道像素均值大小分布的折线图
距离中心点的像素个数与(1-最小通道值/最大通道值)均值的百分比分布的折线图如图3。
图3 距离中心点的像素个数与(1-最小通道值/最大通道值)均值的百分比分布的折线图
根据图2的统计结果,光源区域(距离中心像素9个点,图2中浅紫色线左边的位置,面积大小约为400)及其邻近区域(图2中浅紫色线与深紫色线之间的位置)最大通道值始终很大,而远离光源位置(距离中心点14个像素以外),最大通道值迅速降低。因此根据最大通道值的范围可以检测出光源区域及其邻近区域。
公式表述如下:
由以上统计结果:ν取230,η取0.2即可。本文从Flickr选出了200幅夜间雾天图像,并用公式(4)(5)来检测光源。图4中展示了部分实验结果,根据统计结果与实验结果图可以看出,该算法不仅对简单光源场景(如图4(a))适用,而且对复杂光源场景(如图4(b))同样适用。该算法能够快速无误地检测出光源,因此该算法具有一定的鲁棒性。
图4 光源检测结果
与传统的大气散射模型相比,本文模型多考虑了两个方面,一是不均匀的环境光,二是光照补偿项。
由公式(1)得到传统的去雾模型:
I(x)在本文中为夜间的雾天图像,N(x)为直接对夜间图像进行去雾后的图像,即夜晚清晰图像。该图像明暗不均,远离光源的位置亮度较低。为了得到光照均匀的复原图像J(x),对N(x)进行光照补偿,增加了光照补偿项S(x),其中:
ρ(x)为光照补偿系数,离光源越近位置(图中较亮的部分),补偿系数越小,远离光源的位置(图中较暗的部分),补偿系数越大。N(x)+S(x)表示对夜晚去雾后的图像进行光照补偿,得到光照均衡的清晰图像J(x)(N(x)+S(x)=J(x)),该图像对比度增强,明暗均匀。因此,本文算法的新模型为:
传统的白天雾天图像,光照主要来自无穷远处射入的太阳光,因此场景中的环境光是均匀的,A是一个常量。而人造光源是以光源为中心向四周快速衰减式发散的,因此导致了夜晚图像的环境光照不均匀,环境光A不能假设为常量。根据公式(4)(5)检测到的光源,发现对于发光强度大的光源(离相机近的光源,或者是强光源),检测出的面积多,对于发光强度弱的光源,检测的面积小。如图4中(b),前面的路灯发出的光对整幅图影响比较大,因此检测的面积比较大,后面路灯影响小,检测的面积也小。
根据以上结论,本文提出了一种人造光照下的环境光A的求法。首先把每个检测区域的像素点看成一个小的点光源,对于发光强度大的光源,它是由很多个点光源叠加成,因此计算后,它对图像的光照影响大,而对于发光弱的光源,检测的面积比较小,每点光源叠加后的影响自然也小。环境光A的表达式如下:
通常情况下,相机离光源有一定距离,光源的影响范围又有一定的局限性,可以假设场景到相机与光源到相机的夹角为0,则:
其中d(xi)为相机到第i个点光源的深度,d(x)为相机到场景深度,则ΔD(xi)为场景到光源的深度。
由公式(9)可以看出,场景到点光源深度与场景到相机深度是有联系的。结合公式(2)中场景的传输图可得到:
天空区域也可能存在部分光,根据公式(8)ΔD→∞,A→0,为了防止A太小,给A一个下界a0的约束。同时考虑到ΔD的近似估计,当距离光源位置较远时,误差就会加大,所以本文还将像素点的位置信息考虑到环境光A的计算中,A的最终表达式如下:
其中:
(xi,yi)为第i个点光源的坐标,(x,y)为图像中每个像素点的坐标。
夜间图像整体偏暗,即使有人造光存在,也只是部分位置光线充足,去雾后,整体视觉效果仍然不好,因此必须对它进行光照补偿。光照补偿的思想主要是,靠近光源的位置,补偿程度较小,离光源较远的位置,补偿程度较大。因此它跟环境光A是成相反的趋势。
公式(7)中,A,ρ都是关于t(x)的函数,该公式是不可解的。因此,本文根据文献[11,13]的算法得到的传输图与复原图像作为初始值,迭代一次来求得本文的传输图和清晰图像。
根据公式(7)可得:
算法1求J的算法
1.初始化:根据文献[11,13]的算法得到t(0),J(0)
2.根据t(0),结合公式(10)、公式(11)求出A0,根据公式(12)求出ρ0。
夜间雾天图像颜色存在失真,从而复原出的结果也会出现颜色失真(偏蓝,偏绿等等),因此文中最后对复原结果进行了颜色校正。本文采用的算法是文献[14]提出的Grey Edge假设:场景中所有物理表面的平均反射的差分是无色差的(灰色的),用公式表示如下:
其中,fx(x)为场景中某物理表面上一点的颜色,X表示空间位置三维坐标;λ为光谱的波长,ω代表整个可见光范围。e(λ)为光源的光谱分布。空间中点X处物体表面的对波长为λ的光线的物理反射率为S(X,λ),成像设备(一般为相机)的感光函数则表示为:c(λ)=(R(λ),G(λ),B(λ))T。
为了得到更具有一般性的Grey Edge算法,闵可夫斯基范式也被引入到Grey Edge算法;同时为了减少噪音的影响,Grey Edge算法还引入了高斯平滑操作,并且将颜色导数推广到更高的n阶。于是得到了一个更为通用颜色恒常性计算的算法框架:
本文采用的硬件平台是Pentium Dual-Core 2.70 GHz处理器,2.00 GB内存,软件仿真环境是MATLAB 7.0。
图5 算法流程图
图5给出了本文算法流程图,首先检测出光源区域,然后用He的方案求出初始传输图t(0)和J(0),根据初始传输图求出环境光A0和光照补偿系数ρ0,然后求出传输图t1和清晰图像J1。最后用EBCC对颜色进行修正。
图6给出了本文的实验结果,(a)为原图,(b)为使用公式(4)(5)检测的光源部分,(c)为环境光,它是以光源为中心向四周快速衰减的,(d)为光照补偿系数,呈现出与环境光相反的趋势,(e)为复原结果,该结果整体偏紫,颜色失真,(f)为使用颜色恒常性对颜色修正后得到的复原结果,该结果比较接近真实场景。如台阶,修正后颜色为灰色。
图6 实验结果
为了测试本文算法的有效性,从图片分享网站Flickr上检索“nighttime haze”,选取了五张代表性的图片进行测试,分别是:“Pavilion”、“Building”、“Bus”、“Yard”和“Street”,其中“Bus”是S.C.Pei论文里的原图。
图7中(a)为原图,(b)为He算法复原的结果,从图中可以看出整体亮度比较低,细节不清晰,颜色失真,复原结果跟原图相差不大。(c)为S.C.Pei的实验结果,相比于He的实验结果,该方法部分细节得以显现,但是噪声比较大,如“Bus”图。同时,该方法是以一幅目标图为标准进行颜色转换的,目标图的选取对图像复原结果的影响也比较大。(d)是本文算法未进行颜色修正的实验结果,从图中可以看出,整体光照比较均衡,大部分细节得以显现,基本上消除了雾的影响,但是颜色失真比较严重。(e)为对原图直接进行颜色校正的结果,直接校正后只是颜色发生了变化,亮度并未提高,细节仍然严重丢失。(f)为本文最终实验结果,它同时保留了(d)与(e)的优点,光照均衡,细节清晰,颜色接近真实场景。因此本文算法有更多的优势。
本文采用文献[15]的图像质量评价方法,计算统计值。值越大,图像质量越好。本文计算了对于不同输入图像使用不同方法处理得到结果的统计值,如表1所示。
图7 实验结果对比
表1 ˉ×的统计结果(单位1E+3)
表1 ˉ×的统计结果(单位1E+3)
Pavilion Building Bus Yard Street Night haze 3.28 0.85 4.77 2.50 1.59 HE 2.85 0.79 4.11 2.04 1.45 S.C.Pei 2.90 1.93 4.80 3.76 3.27 EBCC 3.36 0.80 3.85 2.32 1.32本文方法7.32 4.67 5.42 5.65 5.22
从表1可以看出,He的方法处理后的图像统计值低于原始图像(Night haze)的统计值,这与图7(b)中展现的其结果偏暗、细节较少且不清晰的现象吻合。S.C.Pei的方法处理的结果统计值较原图有所提高,但提高幅度有限。这与图7(c)中结果也比较一致。直接对原图进行颜色校正后,统计值接近原图值。因此对于人造光照下雾天图像,本文算法能够取得较好的去雾效果,图像质量显著提高。
为进一步验证本文算法的实用性,本文还人工采集了夜间雾天图像进行测试,图8为部分实验结果。
图8 采集图片处理结果
从实验结果可以看出,本文算法对于现实中复杂多样的环境仍然能取得较好的效果。
本文针对人造光照下的雾天图像成像规律,提出了一种新的模型。该模型不仅考虑到了人造光照导致环境光的不均匀,还且还考虑到对图像进行光照补偿,从而消除图像的明暗不一,最后对复原后的图像进行颜色修正处理,恢复真实色彩。在实验部分给出了本文算法与相关算法结果的定量评价指标,定量地说明了本文算法具有更好的视觉质量。
[1]王子须,于素萍.一种避免颜色失真的图像增强算法[J].计算机工程与应用,2013,49(12):106-109.
[2]席志红,赵蓝飞,刑代玉.基于格林函数的图像增强算法[J].计算机工程与应用,2013,49(15):204-209.
[3]方帅,杨静荣,曹洋,等.图像引导滤波的局部多尺度Retinex算法[J].中国图象图形学报,2012,17(7):748-755.
[4]詹翔,周焰.一种基于局部方差的雾天图像增强算法[J].计算机应用,2007,27(2):510-512.
[5]李拂晓,纪玉波.一种有雾图像低对比度增强的方法[J].辽宁石油化工大学学报,2011,31(2):45-49.
[6]朱凯军,周焰,兰祖送.基于区域分割的雾天图像增强算法[J].计算机测量与控制,2006,14(5):661-663.
[7]游谦,黎英,李玉成,等.基于双边滤波的RGB通道去雾算法研究[J].计算机工程与应用,2014,50(6):157-160.
[8]孙洪伟,朱志超,方帅,等.一种提高雾天图像清晰度的方法[J].合肥工业大学学报:自然科学版,2011,34(1):83-86.
[9]Tan R T.Visibility in bad weather from a single image[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition,2008:1-8.
[10]Fattal R.Single image dehazing[J].ACM Transactions on Graphics,2008,27(3):1-9.
[11]He K,Sun J,Tang X.Single image haze removal using dark channel prior[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition,2009:1956-1963.
[12]Pei S C,Lee T Y.Nighttime haze removal using color transfer pre-processing and dark channel prior[C]//19th IEEE International Conference on Image Processing,2012:957-960.
[13]He K,Sun J,Tang X.Guided image filtering[C]//LNCS 6311:ECCV 2010,2010:1-14.
[14]van de Weijer J,Gevers T,Gijsenij A.Edge-based color constancy[J].IEEE Transactions on Image Processing,2007,16(9):2207-2214.
[15]Jobson D J,Rahman Z,Woodell G A.The statistics of visual representation[C]//Proceedings of the International Society forOpticalEngineering VisualInformation,2002:25-35.