付 辉,吴 斌,张红英,徐 进( 西南科技大学 信息工程学院,四川 绵阳 621000 )
环境光模型暗通道快速去雾处理
付 辉,吴 斌,张红英,徐 进
( 西南科技大学 信息工程学院,四川 绵阳 621000 )
摘要:传统的暗通道先验算法对单幅图像处理时间长,复杂度高,图像质量能继续优化。本文提出改进算法,结合LOG边缘检测和四叉树快速定位大气光颜色矢量A值区间,应用skyline较为精准地确定A值;利用分区间维纳滤波兼得传统维纳滤波的保边去噪能力强的优点,抑制透射图晕轮效应,并通过膨胀和腐蚀进一步优化投射图边缘。大量测试图像表明,改进算法在优化去雾图像视觉效果的前提下节约处理时间。
关键词:暗通道先验;边缘检测;维纳滤波;膨胀;腐蚀
由于天空悬浮粒子能散射和吸收光线形成雾霾,从而造成室外拍摄成像的对比度和色度都较低。在室外图像质量要求较高的应用中,如军事敌情监控,刑侦犯罪细节斟酌,汽车前方障碍物观测等,都需要对降质图像做去雾处理,还原目标细节。对雾霾处理能显著提高图像质量,使之更好地应用于高级处理领域。
近年来,大量去雾算法被提出,并在单幅图像去雾领域取得突破进展。Tan[1]基于大量观察和统计得出晴天比雾天图像有更高对比度的结论。虽对比度提升显著,但所得图像略微偏离场景原先色度,此外图像出现晕轮效应,图像细节不连续。Fattal[2]假定光在介质中的传播与物体表面阴影不相关,即透射率和场景反照率之间无约束性。该去雾方式依赖于色度变化,不适合处理灰度级图像,某些场景(如浓雾)的透射率和场景反照率不满足上述假设。Tarel[3]引入一种基于中值滤波的新思路,复原场景清晰可见,额外引入的噪声数据少,但其自动调整能力和灵活性稍差。Kopf[4]基于3D模型以及场景深度信息完成去雾,由于需访问数字地图或谷歌地形图等,应用方式有一定局限性。Schechner[5]指出光线散射是部分大气粒子偏振引起的,并基于该理念利用多幅图像不同角度偏振模型实现去雾目的,但此模型的工程应用性偏弱。Narasimhan[6]从RGB色度空间推出基于二进制的物理散射模型,得出无雾场景结构可以通过对比两个或者两个以上的气象图,还原同一场景无雾细节的结论。该方法基于大气散射系数不改变光线波长的假设,但此结论仅在近似雾天的情况成立。He[7]通过统计分析大量户外无雾图片,得出大多数不接近天空光线的物体至少有一个颜色通道值较低的结论,进而提出暗通道先验去雾算法。暗通道先验去雾是迄今为止最有效的去雾方法。
但当场景中主体与天空光亮颜色相近时,传统的暗通道先验算法去雾效果将大打折扣。而且该方法对灰度区域处理不佳,并在深度不连续之处将出现晕轮效应,同时采用的软抠图方法占用大量时间资源。针对上述问题,本文在暗通道先验方法基础上加以改进,使用快速的新方法实现对大气光颜色矢量值A的估计;通过改进的分区维纳滤波及图像形态学[12]方法对透射率进行优化,提高了去雾图像视觉效果,同时节约处理时间。
1.1 雾天图像物理模型
计算机视觉广泛应用的雾天成像物理模型[6]如下:
其中:F(x, y)为图像经过衰减和散射后的最终值,R(x, y)为此场景原始像素值,t(x, y)代表经过介质的光线,即到达成像设备中未被散射和吸收的部分,A代表大气光颜色矢量。模型(1)中,对含有N个像点的彩色图像,存在3N个约束量,4N+3个未知量。其中,R(x, y)含3N个未知量,t(x, y)有N个未知量,A含3个未知量。通过仅有信息,图像去雾过程由雾霾图像F(x, y),t(x, y)和A值估计原始图像R(x, y)。根据病态方程处理技术,需要做特定的假设和先验信息来实现图像去雾的目的。
依据现有物理模型,到达观测者的图像观测强度由两个部分构成:一是直接衰减模型,即Rdark(x,y)→0,散射光线随距离增加在介质中发生衰减的部分,导致场景中色彩变化;二是环境光模型,用A(1-t(x, y ))表示。环境光是造成颜色改变的最基本因素,由自然环境中光照散射产生,包括直射光线,漫反射光线和大地反射光线。模型分别如图1和图2所示。
图1 衰减模型Fig.1 Attenuation model
图2 环境光模型Fig.2 Ambient light mode
1.2 暗通道先验
He[7]统计大量室外无雾霾非天空背景的图像,发现该类图像至少有一个颜色通道像素值很低的结论,由此给出暗通道先验模型。在雾霾图像中,暗通道像素值强度与大气光线强度呈相关性,任意给定一幅图像R(x, y),其暗通道为
式中:C
R是R(x, y)的颜色通道,Ω(x, y)为以像素点(x, y)为中心的方形区域。暗通道是由两个最小值操作量共同作用的结果:表示每个像素点RGB颜色空间中的操作,起最小值滤波器的作用。
在暗通道区域中寻找一个最小颜色通道像素值量,由于R(x, y)除天空之外的区域暗通道值很低,近乎于零,即。若其暗通道出现大量亮度值大的像素,则存在两种可能,即天空和雾霾。雾霾能提高暗通道的亮度值,由此采用暗通道值,可估计输入图像的雾霾程度。
He应用大气散射的物理模型等式(1),其变形如下:
并给出透射率t1(x, y)的估计式:
服务人类感知是图像处理的目的,若彻底消除雾气,得到图像的效果不自然。基于该原因,He引入一个参数w0,可保留部分雾气进行调节。
并采用软抠图优化t1(x, y),选取百分之一的最高雾气灰度值来估测A值,代入式(1)可还原无雾图像,其计算流程如图3所示。
图3 He方法流程图Fig.3 He’s method flowchart
很多去雾算法选取视觉效果浓烈的雾气区来估计大气光颜色矢量A,使得某些镜面反射物质,如水面或反光体表面,被错误地用来估计大气光颜色矢量A。He取整幅图像像素值最大的1%作为大气光颜色值A,精度不高。本文先利用LOG算子进行边缘检测,再通过四叉树结合skyline算法寻找大气光最大值,可较准确地定位A值。并通过维纳滤波,图像形态学方法对透射率优化,提高算法处理效率。
2.1 边缘检测分区
本文利用LOG算子对雾霾图像F(x, y)处理,再对其像素值逐行查找和搜索,并检测边缘两侧15×15区域像素灰度平均值的大小,根据大气光颜色矢量A像素值大的特点,能粗略地判断天空区域的位置。LOG算子是拉普拉斯算子基础上的改进,并通过求取二阶导数零点位置确定边缘。该方法对边缘处图像噪声尤为敏感,其引入二维高斯进行模糊[9],能较好地获得图像边缘,同时平滑图像,消除图像中存在的部分小孤立点和结块状。常用的LOG算子离散化模版:
通过对雾霾图像与LOG算子的离散化模板卷积运算实现对F(x, y)的边缘检测[10],其边缘检测效果如图4(b)。输出后的图像:
2.2 四叉树估计A值
采用LOG算法对雾霾图像F(x, y)边缘检测得F1(x, y),并对边缘两侧区域查找,根据天空区域像素值大的特点确定天空区域m,再进行四叉树构造skyline算法,得到的大气光颜色矢量A值是较精确的。图4(c)首先将天空区域m划分为四个部分,计算每个部分的灰度平均值并比较。再取灰度平均值最大的一块m1继续分块,至分块的尺寸小于给定值a,并对块m1进行skyline搜索。skyline的基本思想为寻找不受其他点支配的点组合。支配的定义是:点支配另外一个点,当且仅当时,至少有一个维度满足。
图5中B2受B1点支配,B4,B5受B3点支配,B5,B7受B6点支配,而B1,B3,B6不受其他点支配,为skyline点。对m1应用skyline搜索算法寻找灰度值最大的点Fmax(x, y),该灰度值近似为大气光颜色矢量值A。
图4 (a) 原始图像; (b) LOG边缘检测; (c) 大气光颜色值估计Fig.4 (a) Original image; (b) LOG edge detection; (c) Estimated value of atmospheric light color
图5 skyline搜索原理图Fig.5 Schematics of skyline search
2.3 改进的分区维纳滤波[8]结合图像形态学优化透射率
由于透射率随景深的变化而变化,并在边缘处快速变化,使得处理后的雾霾图像边缘处往往出现晕轮效应,实质是透射率t(x, y)选取值偏差大。He采用Softmatting中规模较大的系数矩阵处理透射率,但处理代价大,耗时长,计算t(x, y)占用了大部分时间。对此,本文对透射率处理实现改进,采用改进的分区维纳滤波[8]和图像形态学[12]中的膨胀和腐蚀优化透射率。
透射率t(x, y)和景深d(x, y)成指数关系,算法处理中假定一定区域内的景深相同,即t(x, y)一定。由于边缘处景深偏差较大,因而所选取滤波算法在去除噪声的同时,可以尽量完整地保留边缘细节。传统的维纳滤波去除噪声效果明显,视觉上存在良好的感官,但图像边缘区的振铃效应严重。本文选取改进的分区维纳滤波[8]对透射率处理可避免传统维纳滤波的不足。传统维纳滤波是根据最小均方差的卷积模型,其频域表达式:
其中:T(u, v)为透射率图t(x, y)的傅里叶变换,H*(u,v)为退化算子H(u, v)的复共轭,Sf(u, v)为原始图像的功率谱,Sn(u, v)为噪声功率谱,T2(u, v)为输出图像。
改进的分区维纳滤波[8]对图像分为平坦、纹理和边缘三区。大量实验表明,取平坦区γflat= 10-2,纹理区γvein= 10-3,边缘区γedge= 10-5值时,复原图像在亮度、边缘保持、去噪程度上达到最佳效果。传统维纳滤波则对整幅图像取值,当γ=10-5时效果最优。
式(10)与式(11)中Mlocal(x, y )为局部均值,δlocal(x, y)为局部方差,(x, y)为图像像素点,2P +1和2Q +1为使用模板的大小。选择的模板应与暗通道图像分块匹配,因而选取15×15的模板,并求取围绕在(x, y)周围2P +1和2Q +1像素值的均值和方差。
首先计算初始透射率图的局部方差,并获取和保存局部方差最大值δmaxlocal(x, y),将图像分成上述三区处理后,再融合。应用改进的分区维纳滤波可将透射率中的块效应基本清除。但处理后透射率图的边缘与待处理雾霾图像F(x, y)边缘仍有偏离,需深入处理。
本文对T2(u, v)采用傅里叶反变换得t2(x, y),再利用图像形态学方法对t2(x, y)做后续处理,为保留图像细节区域和景深突变区域,应先采用膨胀处理,使图像边缘处部分的零散小细节连通;再进行腐蚀操作,使边缘向内缩小。由于透射率的像素值是二值化的,算法实质为求解块中的最小值。
对t2(x, y)进行腐蚀处理的程度取决于块大小,腐蚀程度过大或过小都将出现与原图F(x, y)不匹配的边缘,通常取块的1/2。与He方法对比,求得的透射率虽未保留所有边缘细节,但对整体信息和边缘部分的处理效果,与真实透射率相近。从图6可看出利用改进的分区维纳滤波[8]结合图像形态学优化透射率的方法可行。
图6 (a) 为原始雾霾图像; (b) 为雾霾图像暗通道;(c) 为初始投射图; (d) 为本文的投射图Fig.6 (a) Original haze map; (b) Dark-channel of haze image; (c) Original projection map; (d) The projection map in our paper
2.4 雾霾图像还原
本文通过LOG边缘检测和四叉树构造skyline算法寻找大气光颜色矢量A,采用改进的分区维纳滤波和图像形态学[12]处理中的膨胀和腐蚀优化透射率得到t3(x, y)。至此,利用所得的A,t3(x, y) ,F(x, y )还原无雾图像R(x, y) ,具体步骤见图7。
图7 改进算法流程图Fig.7 Improved algorithm flowchart
实验所用操作系统为windows 7,并在 Inter corei7-2670QM CPU (5GHz), 4 GB内存的操作平台上运行,基于opencv2.4.8对本文算法进行验证。
3.1 去雾效果的对比
为验证算法的可靠性,利用日常捕获和网络搜素所得的大量雾霾图片进行测试。图8给出了He[7], Retinex[11]和本文改进方法的去除雾霾图像后效果对比。
本文算法与He算法和Retinex算法对比发现,Retinex算法处理后颜色失真严重,He算法处理后天空区域的效果不理想。成因是其处理明亮白灰色区域时不匹配暗通道先验的理论模型,导致透射率的取值有偏差。利用改进算法能有效地解决该问题,得到接近真实值的透射率。处理后的雾霾图像,较好地再现图像细节,色度与日光下真实场景相近。
3.2 处理速度和运算耗时
对于一幅分辨力为600×400的图像,He方法处理时间为14.560 s,其中计算透射率消耗10.200 s,占用了大部分处理时间。Retinex处理时间为768.5 ms,虽时间上占优,但复原图像效果失真严重。本文算法处理时间为821.67 ms,兼顾视觉效果。表1给出不同像素值大小的图片算法处理时间的测试结果,与暗通道先验算法相比,改进算法处理时间显著缩短,本文算法具有一定的鲁棒性。为验证更多不同分辨力图像的处理效率,表中列出测试图1和测试图2加以对照。
图8 (a),(e),(i) 为原始雾霾图像; (b),(f),(j) 为He方法去雾结果; (c),(g),(k) 为Retinex方法去雾结果; (d),(h),(l)为本文方法去雾结果Fig.8 (a),(e),(i) Original haze image; (b),(f),(j) Result of He method; (c),(g),(k) Result of Retinex method; (d),(h),(l) Result of our method
表1 运算效率对照Table 1 Result of operation rate calculation
本文针对He估计透射率计算时间长,处理周期慢,及对大气光颜色矢量A估计偏差大,提出改进。对A估计方法进行创新,采用LOG边缘检测和四叉树构造skyline寻找大气光颜色矢量A。并通过改进的分区维纳滤波以及图像形态学方法对透射率实现优化,其处理边缘景深突变处导致的晕轮效应效果明显。本文算法优化去雾图像视觉效果的同时缩短处理时间,优化效果较为理想,真实地还原了清晰无雾场景的状态。下一步主要针对缩短去雾处理的时间,并将本文的单幅图像去雾算法应用在视频去雾中。
参考文献:
[1] Tan R. Visibility in bad weather from a single image [C]// Proceedings of IEEE Conference on Computer Vision and Pattern Recognition,Washington DC,USA,Jun 23-28,2008:2347-2354.
[2] Fattal R. Single image de-hazing [J]. ACM Transactions on Graphics(S0730-0301),2008,27(3):721-729.
[3] Tarel J P,Hautiere N. Fast visibility restoration from a single color or gray level image [C]// Proceedings of the 12th IEEE International Conference on Computer Vision,Kyoto,Japan,Sep 29-Oct 2,2009:2201–2208.
[4] Kopf J,Neubert B,Chen B,et al. Deep photo:model-based photograph enhancement and viewing [J]. ACM Transition Graph(S1557-7368),2008,27(5):116-1-116-10.
[5] Schechner Y Y,Narasimhan S G,Nayar S K. Instant de-hazing of images using polarization [C]// Proceedings of IEEE Conference on Computer Vision and Pattern Recognition,Hawaii,USA,Dec 9-14,2001,1:325-332.
[6] Narasimhan S G,Nayar S K. Vision and the atmosphere [J]. International Journal of Computer Vision(S0920-5961),2002,48(3):233-254.
[7] HE Kaiming,SUN Jian,TANG Xiaoou. Single image haze removal using dark channel prior [C]// Proceedings of IEEE Conference on Computer Vision and Pattern Recognition,Washington D C,USA,Jun 20-25,2009:1956-1963.
[8] 姜树明,段彩艳. 基于分区改进的维纳滤波图像复原 [J]. 山东科学,2012,25(4):40-46.
JIANG Shuming,DUAN Caiyan. An improved partition image restoration based on Wiener Filter [J]. Shandong Science,2012,25(4):40-46.
[9] 王保云,张荣,尹东,等. 基于最强方向梯度的图像模糊度评价方法 [J]. 光电工程,2013,40(5):80-86.
WANG Baoyun,ZHANG Rong,YIN Dong,et al. A Blurriness assessment method based on maximal oriented gradient [J]. Opto-Electronic Engineering,2013,40(5):80-86.
[10] 邹永星,周仁魁,罗秀娟,等. 一种提取图像目标边缘的新方法 [J]. 光电工程,2005,32(6):76-79.
ZOU Yongxing,ZHOU Renkui,LUO Xiujuan,et al. New method for image target edge extraction [J]. Opto-Electronic Engineering,2005,32(6):76-79.
[11] 张尚伟,曾平,罗雪梅,等. 具有细节补偿和色彩恢复的多尺度Retinex色调映射算法 [J]. 西安交通大学学报,2012,46(4):32-37.
ZHANG Shangwei,ZENG Ping,LUO Xuemei,et al. Multi-Scale retinex with color restoration and detail compensation [J]. Academic Journal of Xi’an Jiaotong University,2012,46(4):32-37.
[12] 邹江威,陈曾平. 应用形态学与图像流法的空间小目标提取方法 [J]. 光电工程,2005,32(4):13-16.
ZOU Jiangwei,CHEN Zengping. Small space target extraction based on morphology and image flow method [J]. Opto-Electronic Engineering,2005,32(4):13-16.
Fast Image Dehazing Based on Dark-chanel Physical Model
FU Hui,WU Bin,ZHANG Hongying,XU Jin
( School of Information Engineering, Southwest University of Science and Technology, Mianyang 621000, Sichuan Province, China )
Abstract:In order to overcome the defects of the traditional de-hazing algorithm based on dark channel, such as a long working time, high complexity, bad image quality, and so on, an improved algorithm is proposed. This proposed algorithm firstly uses edge detection and quad-tree algorithms to locate the interval of the atmospheric light A fast and uses the skyline algorithm to obtain the value of A precisely. Then, use the improved Wiener filter, which has the abilities of de-noising and edge preserving, to inhibit halo effect of the transmission. Finally, optimize the edge information of the transmission by dilation and erosion. A plenty of experimental results show that the improved algorithm has a better visual effect and a lower time consumption comparing with the traditional de-hazing algorithms.
Key words:dark channel prior; edge detection; Wiener filter; dilation; erosion
作者简介:付辉(1991-),女(汉族),山西阳泉人。硕士研究生,主要研究工作是图像处理,DSP。E-mail: 1285110730@qq.com。
基金项目:中国科学院“西部之光”人才培养计划(13zs0106);四川省科技厅科技支撑计划项目(2014SZ0223, 2015GZ0212)
收稿日期:2015-04-08;收到修改稿日期:2015-07-13
文章编号:1003-501X(2016)02-0082-07
中图分类号:TP391.4
文献标志码:A
doi:10.3969/j.issn.1003-501X.2016.02.014