APP下载

基于超像素分割的图像去雾算法

2015-12-06郑良缘高颖慧

关键词:雾天原色透射率

郑良缘,王 平,高颖慧

(国防科技大学电子科学与工程学院 ATR重点实验室,长沙 410073)

在雾天等恶劣气候条件下,成像系统由于受到大气散射的影响会发生严重的图像质量下降的情况,诸如图像能见度降低、对比度减小、色彩失真等问题。这种降质的图像极大地限制和影响了户外视觉系统效用的发挥,因此恢复雾天图像的清晰度就显得尤为重要。

近年来,基于单幅图像去雾的算法成为国内外学者研究的热点,多数方法都建立在先验假设基础之上。Tan.R[1]方法是基于同一场景无雾时的对比度高于有雾时的对比度的先验条件,通过最大化局部对比度来恢复图像,但该方法没有基于物理模型恢复反照率或深度,只是增强了视觉效果,导致恢复的图像会出现过饱和现象;Fattal.R[2]方法是基于物体表面投影与大气光传播局部不相关的先验条件,通过估计场景的辐照度来推导透射率,但该方法需要输入的图像含有充分的颜色信息,因此复原后图像失真较大,且在浓雾条件下图像恢复效果较差。Kratz[3]方法基于场景深度和反照度在概率统计上是独立的先验条件,通过求解一个最大后验概率估计景深和辐照度,但该类方法大多以经验值来设定参数,实用性不强。Tarel[4]方法是基于大气幕在绝大部分时间内是平滑的先验条件,通过快速边缘滤波估计大气幕函数来恢复图像,但该方法参数较多,不易调整,且不恰当的参数设置易引入Halo效应,得不到很好的去雾效果。He[5]方法是基于暗原色先验条件,通过估计传输图并利用软抠图(soft matting)算法进行修正,恢复出清晰无雾图像。但基于暗原色先验条件的去雾算法其暗原色区域的大小需要人为凭经验值设定,若区域的尺寸偏大,则不能满足介质透射率在相应的小区域内是不变的假设;若区域的尺寸偏小,则该区域有可能不存在暗原色值趋于0的情况,暗原色先验规律失效,因此不能保证得到精准的介质透射率。另外,软抠优化透射率计算复杂,耗时较长,无法满足实时性要求。

本文提出了基于超像素分割的图像去雾算法,使得透射率的计算更加准确,并在提高去雾速度的同时能更好地保持图像的边缘细节。

1 基于暗原色先验的单幅图像去雾算法

1.1 雾天成像模型

目前对于雾天图像的处理方法主要分为两类:一是基于图像处理的增强算法;另一类是基于物理模型的复原方法。本文主要采用基于模型的方法对雾天成像建立物理模型。依据Mc Cartney[6]提出的大气散射模型,将雾天降质图像光学模型表示为

其中:I(x)为观察到的有雾图像;J(x)表示理想天气条件下场景辐射照度,即清晰无雾的图像;A为整体大气光值;t(x)为介质传输率,代表场景的光线通过大气透射到成像设备而没有被散射的部分。当大气环境是均匀的各向同性的介质时,传输率可表示为

其中:β为大气散射系数;d(x)是场景与相机之间的距离。另外,式(1)中,右边的第1项J(x)t(x)为直接衰减项[1],称为衰减模型,它描述景物光线在透射媒介中经衰减后的部分;第2项(1-t(x))A是大气光成分[7],称为大气光模型。去雾的目标是从I(x)中复原J(x)。

1.2 暗原色先验去雾的基本原理

文献[5]提出了暗原色先验理论(dark channel prior)。对无雾图像进行统计分析获得的规律表明:对于户外晴天图像的任一局部区域中,至少在r、g、b三个颜色通道中有一个通道其像素值Jdark(x)非常小,接近于0,称之为暗原色。通常对于一幅图像J(x),其暗原色图像各像素点的值可以表示为

其中:Jc为原图像的一个颜色通道;Ω(x)是以x为中心像素的一块方形区域。该暗原色图像的物理意义是通过局部最小值滤波,滤去可能干扰大气光取值的白色场景目标,从而使A的取值尽可能准确。假设大气光值A已知,透射率t(x)在某一个局部区域内是恒定不变的,将式(1)两边进行局部区域大小为Ω(x)的最小值滤波,则式(1)可变形为:

根据暗原色先验原理,在无雾情况下Jdark(x)值趋近于0,即

因Ac为正值,故可以推导出:

将式(7)代入到式(5)中,可以求得粗略估计的透射率:

为使图像更加自然真实,保证晴朗天空下场景远处仍存有一定的雾气,在式(8)中引入一个常量参数 ω(0<ω<1),通常情况下其值设置为0.95,以使图像达到远近层次感。

将式(9)代入到式(1)中,同时考虑到入射光衰减模型项J(x)t(x)在传输图t(x)趋近于0时t(x)也近似为0[5],因此将传输图t(x)限制在一个较小的范围内。令t0=0.1,使传输图t(x)有一个下限,以保证在原图雾气浓度较深的区域保留少量的雾气影响。因此,通过粗略估计透射率得到的去雾图像可以表示为

由式(9)估计出介质透射率属于粗略估计,求得的去雾图像会因滤波窗口尺寸选取偏大产生明显的“halo”效应,不能很好地保留原始图像的边缘特征。为了得到更精确的透射图,He使用Levin等[8]提出的soft matting方法,将透射图优化的过程转变为最小化式价值函数的过程,如式(11)所示。

从而得到优化后的透射图t,并根据已知大气光值A和观测得到的有雾图像I(x),利用式(10)求得精确估计透射率条件下的去雾图像J。

1.3 基于暗原色先验去雾存在的问题

He方法是通过固定区域求取暗原色,然后依据暗原色先验理论,对大气散射模型公式进行数学转化运算求得介质透射率的估计值。该算法求解成立必须满足一个前提条件,即在求取暗原色的固定区域内假设该区域内介质透射率的值是一样的。但依据均匀大气介质中介质透射率公式t(x)=e-βd(x)可知,介质透射率和物体对各种波段散射的散射系数β以及场景深度d(x)有关。实际操作中为保证区域内存在暗原色值,在确定区域范围时需要尽量设定较大窗口,但若选取的区域覆盖多个景深的场景,则d(x)会产生较大的变化,边缘部分暗原色值就会被错误估计,导致粗略恢复图在场景深度发生变化的边缘地带产生较为明显的光晕现象(见图2(d)内红色实线框内所示)。

基于暗原色先验去雾算法在使用暗原色先验律的过程中需进行对原始雾天图像在小邻域内求最小的操作。受小的邻域内最小操作的影响,在得到的介质透射率的初始估计中存在大量的方块效应。为了消除上述方法造成的方块效应,文献[5]采用图像软抠算法。但该抠图算法涉及对一个大型Laplacian矩阵求逆运算,而大型矩阵求逆运算的时间和空间复杂度非常高,且其编程实现也较困难。

2 基于分割的单幅图像去雾算法

针对雾天图像目标边缘模糊、对比度低等特点,本文采用基于信息熵率的超像素分割算法[9]分别对各个小区域求取透射率,其目的在于通过分割减少图像中边缘部分暗原色值误判的概率,减小方块效应。之后根据分割区域估计暗原色值获取透射率图像。最后采用相对简单的指导滤波器算法代替抠图算法获得优化后的传输率图,并通过暗原色图定位大气光所在区域,恢复雾天图像。具体算法流程如图1所示。

图1 算法流程

2.1 局部区域分割

目前,图像分割的算法主要可以分为基于特征空间(feature-space based)、基于图像空间(image-domain based)、基于物理特征(physics based)三大类。本文算法基于图论理论[10],针对雾天图像目标边缘模糊、对比度低等特点,采用超像素分割方法[9],其主要思想是将图像分割问题转换为基于图的区域相似性的问题,利用最大转移概率定义相应的目标函数,通过求解目标函数最大值获得相应的区域,即超像素。然后将分割出的图像进行暗通道计算来估算透射率,以减少图像中边缘部分暗原色值误判的概率。

2.2 引导滤波

通过超像素分割后求取的透射率相对更准确,利用粗略透射率恢复的雾天图像的方块效应明显减少。在这种情况下,利用软抠图来细化透过率t就不再必要,且利用优化透射率的算法会耗费大量的运算时间,为此采用引导滤波[12]的方法,对经过分割后获得的介质透射率图像进行精细化操作。

引导滤波原理:输出的矩阵在局部范围内为指导矩阵的线性变换,因此引导滤波过程可以表示为

其中:I为指导矩阵;p为输入矩阵;q为输出矩阵;ij为矩阵中元素,wij(I)是引导滤波器的核,影响输出矩阵q对场景结构信息的保持性。根据引导滤波定义,在图像处理中,引导滤波器即在像素k处的输出是指导矩阵I中以像素k为中心的窗口wk中所有元素的线性组合,表达式为

其中ak和bk是窗口wk中和输入图像P有关的常量线性变换系数。为求得ak和bk,将最小化输入图像P和输出图像Q之间的差异性问题转化为代价函数的极小值问题,定义代价函数

其中ε为防止ak过大的归一化参数。对式(15)取最小值,可以得到ak和bk。最后对所有局部窗口应用上述局部线性模型,得到最终的滤波效果,输出图像Q为

本文算法中,将观测到的原始有雾图像I(x)设定为指导图,将经过超像素分割后获取的粗略透射率估计图作为输入图像P,通过引导滤波得到精细化透射率图像Q。由于利用指导滤波的时间复杂度仅为O(N),大大减少了软抠算法中矩阵的求逆运算,因此运算速度明显提高。

2.3 估计大气光值A

本文采用He[5]方法估算大气光值。首先对暗原色信息图中的像素强度从高到低排序,选取排序后亮度值为前0.1%的像素点。在这些像素对应于原图像的像素点中,选取亮度最大值作为大气光A的值。该方法能快速、准确、有效地估计出A的值。

2.4 图像去雾

利用获取的传播图信息t(x)和大气光A,根据式(10)可求得去雾后的图像J(x)。为保证整体去雾效果,同时为避免因去雾过度产生图像失真问题,本文选取t0=0.3,可以较好地抑制天空部分的噪声影响。

3 实验结果与分析

为了验证算法的效果,对相关网页中雾天图像进行算法验证对比实验。将本文基于超像素分割求取的暗通道图和利用固定区域分块求取的暗通道图进行比较,固定区域与本文算法的去雾效果对比见图2。图2中:(a)和(e)为同一幅有雾图像(614×953);(b)是采用9×9区域得到的暗原色通道暗通道图像;(f)是采用基于超像素分割算法得到的暗通道图像;为了从视觉上更加直观地展现两个算法的差别,(c)和(g)分别对(b)和(f)作了彩色化操作,暗原色值相等的部分用同一种颜色来表示;(d)和(h)分别是基于9×9尺寸区域求得的粗略透射率估计值恢复的无雾图像和基于超像素分割后求取粗略透射率估计值恢复的无雾图像;(b1)和(f1)分别为两种方法获取的暗原色图局部放大部分;(d1)和(h1)分别为恢复的雾天图像局部放大部分。

通过对图2中几个关键环节效果的对比可以发现:图(d)中红色实线框标记处白边较多、较粗,光晕现象较明显,说明基于固定区域分块求取暗通道图的方法存在较高概率的暗原色值误判;相比而言,(h)中红色实线框标记处白边较少、较细,光晕现象轻微,说明采用本文算法估计出的透射率相比原固定区域估计透射率的方法其数值更为准确。此外,在视觉效果方面,本文算法更能体现图像的远近层次感。从(d)中红色虚线标记处可以看到,远处与天空相接的房屋整体上亮度值较低,基本未达到去雾的效果;而从(h)中红色虚线标记处可以看到,其房屋处亮度值由近至远逐渐降低,在保证去雾效果的同时又体现了图像的层次感。

图2 固定区域法与本文算法的去雾效果对比

为了更加直观地显示本文算法的效果,将本文算法与Fattal去雾算法、He去云雾算法进行比较,对比实验结果如图3所示。其中:(a)~(c)组图像为雾气较浓时的图像,(d)组图像为薄雾时的图像。末位数字为1的图像为原始雾天图像,末位数字为2的图像为采用Fattal算法恢复的无雾图像,末位数字为3的图像为He算法恢复的无雾图像,末位数字为4的图像为本文算法恢复的无雾图像。

从整体上看,Fattal去雾算法对于去薄雾情况效果较好,但随着雾气加重,恢复后的图像会使图像对比度增加,特别是在浓雾情况下,恢复后的雾天图像出现明显失真。图3中:(a2)中远处的布娃娃因亮度值过大,导致基本无法看出物体的轮廓,灰度值与大气光值相近部分也会受到其影响而无法识别,如边缘部分的白色物体;(c2)中树木细节无法识别,例如红色虚线标记处所示。另外,从(a2)、(a3)、(a4)中红色实线标记对比中可以看出,经过Fattal算法去雾后的布娃娃头发颜色出现明显失真;经过He去云雾算法后,布娃娃细节部分如眼睛、鼻子与面部灰度相近比较暗淡,而本文算法去雾后的布娃娃头发、脸部等细节更加清晰和突出,脸部与头发之间的对比度更显自然。

在体现场景目标的层次感方面,本文算法也具有一定优势。从图3第2组图中的红色实线标记对比可以看到:对于由近及远接近大气光的部分,(b2)的去雾效果不是很明显,与天空相接处仍有雾存在;(b3)和(b4)相比,两者都实现了去雾,但前者图像标记部分较模糊,后者图像清晰,在树叶与树叶之间、树叶与树枝之间的细节方面表现更好,且边缘交接部分层次更为清晰。最后,从(d2)、(d3)、(d4)的红色虚线标记对比中可以看出:Fattal算法和He云雾算法去雾后的图像整体偏暗,而本文算法去雾后的图像亮度相对较高,有利于后期的图像处理。

图3 不同算法的去雾效果比较

4 结束语

本文提出一种基于超像素分割的图像去雾新算法,其主要思想是用图像分割确定的小区域来代替固定区域,再对分割后的小区域分别求取透射率,目的是通过分割减少图像中边缘部分暗原色值误判的概率,减少光晕效应,然后根据分割区域估计各区域暗原色值获取透射率图像,最后采用相对简单的指导滤波器算法代替抠图算法获得优化后的传输率图。实验结果表明:本文算法在提高图像去雾运算速度的同时有效抑制了光晕效应,不仅不会降低图像的对比度,而且能很好地保留边缘细节。

[1]Tan R.Visibility in bad weather from a single image.CVPR[M].Anchorage,Alaska:IEEE Computer Society,2008:1-8.

[2]Fattal R.Single image dehazing[J].Los Angeles:ACM Transactions on Graphics,2008,27(3):1-9.

[3]Kratz L,Nishino K.Factorizing scene albedo and depth from a single foggy image[C]//Proceedings of the IEEE International Conference on Computer Vision.Kyoto,Japan:IEEE,2009:1701-1708.

[4]Tarel J P,Hautiere N.Fast visibility restoration from a single color or gray level image[C]//Proceedings of the 12thIEEE International Conference on Computer Vision.Kyoto,Japan:IEEE,2009:2201-2208.

[5]He K M,Sun J,Tang X O.Single image haze removal using dark channel prior[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Miami.USA:IEEE,2009:1956-1963.

[6]McCartney E J.Optics of the Atmosphere:Scattering by molecules and particles[J].John wiley and sons,1975(11):371-379.

[7]KOSCHMIEDER H.Theorie der horizontalen sichtweite[J].Beitr Phys Frei Atmos,1924(12):171-181.

[8]Levin A,Lischinski D,Weiss Y.A closed form solution to natural image matting[J].IEEE Transactions on Pattern Analysis andMachineIntelligence,2008,30(2):228-242.

[9]Ming-Yu Liu,Oncel Tuzel,Srikumar Ramalingam.Rama Chellappa[Z].Entropy Rate Superpixel Segmentation,CVPR2011.

[10]王朝瑞.图论[M].3版.北京:北京理工大学出版社,2004.

[11]ACHANTA R,SHAJI A.SLIC superpixels compared to state-of-the-art superpixel methods[J].IEEE Transactions on PAMI,2012,34(11):2274-2282.

[12]HE Kai-ming,SUN Jian,TANG Xiao-ou.Guided image filtering[C]//Proc of ICCV.USA:[s.n.],2010:1-14.

猜你喜欢

雾天原色透射率
噪声对相干衍射成像重构物体图像的影响
为什么在雾天不适宜进行晨练
一种改进的场景透射率修正图像去雾算法
纯色太阳镜镜片耐日光辐照性能试验研究
雾天尽量减少室外运动
大雾天气
一种应用于车牌检测的改进暗原色去雾算法
原色儿童村:让孩子回归自然
光子晶体耦合缺陷的透射特性研究