APP下载

一种快速的暗通道去雾算法*

2014-06-13李庆武糜靖峰

微处理机 2014年2期
关键词:雾天原色先验

朱 浩,李庆武,2,糜靖峰,周 妍,2

(1.河海大学物联网工程学院,常州213022;2.常州市传感网与环境感知重点实验室,常州213022)

1 引言

在雾天情况下,由于场景的能见度降低,导致图像对比度低、颜色特征衰减、整体模糊、细节不清晰,无法满足室外视频工作系统对图像清晰度的要求,所以降低雾气对图像产生的影响,是很必要的图像处理步骤。

目前,对于雾天图像的处理算法主要分为两类:基于图像处理的雾天图像增强算法和基于物理模型的雾天图像复原算法[1]。图像增强算法能有效提高对比度,突出细节,但是没有考虑到雾天图像中景深的多样性,因而有时无法得到很好的效果。基于物理模型的图像复原算法针对性强,得到的结果自然,能够取得较为理想的去雾效果。

由于雾是跟场景深度有关的一个量,因此基于物理模型的单幅图像去雾实际上是一个欠约束问题。在先验假设基础上,单幅图像的去雾算法有了很大进展[2]。其中 He Kai- ming[3]等人提出的暗通道先验假设算法取得了很好效果,但其优化透射图的计算复杂、耗时较长,无法满足实时性要求。

针对以上问题,文中在Tarel[4]单幅图像去雾算法基础上采用函数构造的方法精确计算透射图,该透射图在天空等白色区域也有准确的结果,同时,根据人眼视觉特性对处理后的图像进行亮度调整,整体算法在保证去雾质量的前提下,实现了速度提升。

2 相关理论

在计算机视觉和计算图形学中,对雾天图像的描述采用McCartney[5]于1975年提出的大气散射模型,该模型描述如下:

式(1)中,x表示二维空间位置,I(x)为雾天图像,J(x)为期望的去雾图像,A是天空光亮度,t(x)是介质透射率,由于透射率随像素的位置而变化,因此后文称为透射图(Transmission Map)。

暗通道先验假设基于对无雾自然场景的一个观察统计信息:在绝大多数户外无雾图像的局部区域内,至少存在一些像素,其一个通道的强度值很低[6]。对于任意图像,其暗通道先验通过式(2)描述。

其中,Jc是J颜色通道,Ω(x)是以x为中心的分块。当图像J是不含雾的自然场景图像时,除去天空区域以外,Jdark值接近于0。

对于雾天图像,可以从暗通道先验处理后的结果中得到初始透射图t~和天空光亮度值A。由于暗通道处理时使用了分块计算,即认为分块中的大气透射率为定值,这使得初始透射图t~存在严重的分块现象,不能很好地保留原始图像的边缘特性。为了得到更加精确的透射图 t,He使用了 Levin等人[7]提出的Soft Matting方法,将透射图的优化过程转化为最小化代价函数过程,如公式(3)所示。

式中,第一项为平滑项,第二项为数据项,通过λ来改变权重,L为Matting Laplacian矩阵[8]。得到优化后的透射图t,结合计算出的天空光亮度A和雾天图像I,便可以求出期望的去雾图像J。

3 文中算法

3.1 算法流程

算法舍弃了He采用的Soft Matting方法计算透射图,在Tarel中值滤波算法的基础上,采用函数构造的方式得到更加准确的透射图,该透射图在天空区域也适用,对暗通道去雾处理之后的图像根据人眼视觉特性进行亮度调整。具体流程如图1所示。

图1 去雾算法流程图

3.2 基于函数构造的透射图估计

根据大气散射模型提供的公式(1)得到准确的透射率如公式(4)所示。

采用暗通道先验假设计算得到的透射率t'(x)如公式(5)所示。

其中暗通道处理采用的是Tarel中值滤波算法,该算法简单快速,可以很好地保持图像边缘,但是在天空区域,Jdark(x)并不约等于0,故采用式(5)计算得到的透射图是不准确的。蒋建国等人提出了一种设定阈值、分段计算透射图的算法[9]。该算法设定的阈值不能满足所有图像精确分离出天空和非天空区域的要求,而且也没有考虑到非天空区域采用暗通道计算得到的透射图不准确的问题。

文中的设想是:在Idark(x)/A项之前乘以一个w(x)函数来近似(4)式中的(I(x)-J(x))/(A-J(x))项。其中,w(x)要满足的条件有:①在暗原色图像灰度值小的部分,由于J(x)经过暗通道处理接近0,t'(x)和t(x)差值很小,故w(x)趋于1;②在暗原色图像灰度值接近大气光强的部分(天空部分),t'(x)比t(x)大得多,故w(x)趋于0;③w(x)在暗原色图像低灰度值部分变化梯度较小,在高灰度值部分变化梯度较大。根据以上要求,文中构造出来的w(x)函数表达式如式(6)所示。

w(x)函数曲线如图2所示。

基于函数构造的透射图估计操作具体步骤如下:

(1)根据式(2)得到暗原色图像,计算大气光值A。大气光值的计算,文中采用的方法是:统计直方图中灰度值最大的五个值像素点个数的总和,用这五个值像素灰度值的总和除以这五个值像素个数总和得到大气光值A。这种方法相对于取暗原色图像中的最大值点更加准确,避免了选取亮度最大的像素点是图像中白色物体而导致错误的A值。

图2 函数曲线图

(2)对暗原色图像使用中值滤波平滑。

式(7)中,s是滤波矩形块大小,文中采用15×15的矩形。然后考虑到有较好对比度的纹理区域可能没有雾,这部分就不需要做去雾处理,因此用P(x)减去Jdark(x)的局部标准差。

式(8)中,通过对|P(x)-Jdark(x)|执行中值滤波来估计Jdark(x)的局部标准差,这样可以保证标准差估计的鲁棒性。

(3)为了得到适用于天空区域以及更加准确的透射函数,需要在中值滤波后的透射图中加入w(x)项,最终的透射图计算公式如式(9)所示。

3.3 亮度调整

将计算得到的透射图t(x),大气光值A,原始有雾图像I(x)带入式(10)计算去雾图像。

其中,t0取0.1,是为了给远景图像保留一些雾气,同时也避免分母为0。

计算得到的去雾图像整体亮度偏暗,需要进行亮度调整。人眼的视觉特性是对于亮度变化敏感,敏感度随着亮度值的增加成正比增加。故可以在直方图上通过扩大低亮度部分的范围、压缩高亮度部分的范围的方式来使低亮度部分细节变得清晰,而高亮度部分虽然范围被压缩,但是由于人眼敏感度增加的原因,并不会太大的影响图像质量。采用对数函数为拉伸主体函数是为了满足人眼主观视觉特性[10]。拉伸函数如式(11)所示。

其中,k从2到n-1,n为直方图中不为0的灰度值个数。

为了保证颜色不失真,文中根据式(11)对去雾处理后图像各个像素点在RGB三通道中的最大值所构成的矩阵L(x)进行直方图拉伸,再采用式(12)进行颜色恢复。

其中L'(x)为直方图拉伸后的矩阵,Lc(x)为去雾图像 r,g,b三通道分量。

4 实验结果分析

为了验证算法的有效性和实时性,采用Matlab R2010a 在 Centrino 2,2.00GHz,1.99GB 内存的 PC上对数百幅雾天图像进行了处理,并且与He、Tarel的算法进行了主观和客观比较,其中客观比较采用图像去雾算法清晰化[11]评价指标。图3-4分别给出了多种算法去雾效果图示例。

图3 几种去雾算法效果图对比

图4 几种去雾算法效果图对比

从图3到图4的一系列图像可以看出,Tarel算法处理后的图像去雾不彻底,图像整体偏白;文中算法和He的算法去雾效果最为接近,但是在细节上保留的更多。下面通过图5来主要比较He算法和文中算法去雾效果。

图5 He算法和文中算法去雾效果图对比

从图5中可以看出,文中算法去雾效果图和He的算法效果图相比,远处天空部分不够清晰,但在中间山坡和近处土壤部分,细节更多;同时,能够保持颜色的不失真。

图3-4的客观评价采用CNC清晰化指标,其值越大,对应图像的去雾效果越好。CNC的计算公式如式(13)所示。

其中,n(x)、n(y)、n1、n2、图像色彩自然度(CNI)、图像色彩丰富度(CCI)的计算参考文献[12]。CNC的计算结果如表1所示。

表1 三种去雾算法的评价指标值

从CNC评价指标可以看出各种算法差距不大。文中算法相对于He算法在CNC评价值上大一点,原因是文中算法在所选图像的细节清晰度上面要优于He的算法。

此算法相对于He算法的主要优势还在于大幅度缩短了计算时间、降低了计算复杂度。由于舍弃了抠图算法,而采用中值滤波加上函数构造的方式计算透射图,使得算法实时性有了很大提高。对于一幅432×283大小的bmp格式图像,文中算法在以上所说配置的电脑上采用Matlab平台运行时间为3.622s,而采用 He的算法所需时间为54.431s。对于大一点的图像,如450×600大小的bmp格式图像,文中算法需要6.471s,而 He的算法则需要295.478s。

5 结束语

为了对雾天退化图像进行去雾处理,文中提出了一种改进的暗通道去雾算法。与已有的单幅图像去雾算法相比,文中算法简单快速,大幅度提高了实时性、降低了对硬件内存的要求,而且去雾后图像细节清晰,颜色鲜艳,因此具有更为广泛的应用空间。

[1]郭璠,蔡自兴,谢斌,等.图像去雾技术研究综述与展望[J].计算机应用,2010,30(9):2417 -2421.

[2]刘楠,程咏梅,赵永强.基于加权暗通道的图像去雾方法[J].光子学报,2012,41(3):320 -325.

[3]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.

[4]TAREL J.Fast Visibility Restoration from a Single Color or Gray Level Image[C].IEEE Conference on Computer Vision,2009:2201 -2208.

[5]McCartney E J.Optics of Atmosphere Scattering by Molecules and Particles[M].New York John Wiley and Sons,1976:23-32.

[6]嵇晓强,戴明,孙丽娜,等.暗原色先验图像去雾算法研究[J].光电子·激光,2011,22(6):926 -930.

[7]LEVIN A,LISCHINSKI D,WEISS Y.A closed - from solution to natural image matting[J].IEEE Transaction on Pattern Analysis and Machine Intelligence,2008,30(2):228-242.

[8]胡伟,袁国栋,董朝,等.基于暗通道优先的单幅图像去雾新方法[J].计算机研究与发展,2010,47(12):2132-2140.

[9]蒋建国,侯天峰,齐美彬.改进的基于暗原色先验的图像去雾算法[J].电路与系统学报,2011,16(2):7-12.

[10]谌琛,李卫军,陈亮,等.一种自适应的仿生图像增强方法 LDRF算法[J].智能系统学报,2012,7(5):1-6.

[11]郭璠,蔡自兴.图像去雾算法清晰化效果客观评价方法[J].自动化学报,2012,38(9):1410 -1419.

[12]Huang K Q,Wang Q,Wu Z Y.Natural color image enhancement and evaluation algorithm based on human visual system[J].Computer Vision and Image Understanding,2006,103(1):52-63.

猜你喜欢

雾天原色先验
为什么在雾天不适宜进行晨练
基于无噪图像块先验的MRI低秩分解去噪算法研究
微波辐射计对昆明雾天的监测及应用
基于自适应块组割先验的噪声图像超分辨率重建
针对明亮区域的自适应全局暗原色先验去雾
大雾天气
一种应用于车牌检测的改进暗原色去雾算法
基于平滑先验法的被动声信号趋势项消除
原色儿童村:让孩子回归自然