李春江,禹素萍,2,许武军,2,范 红,2
(1.东华大学 信息科学与技术学院,上海 201620; 2.东华大学 数字化纺织服装技术教育部工程研究中心,上海 201620)
基于暗原色先验图像去雾的改进算法
李春江1,禹素萍1,2,许武军1,2,范 红1,2
(1.东华大学 信息科学与技术学院,上海 201620; 2.东华大学 数字化纺织服装技术教育部工程研究中心,上海 201620)
基于暗原色先验的方法去雾效果较好,但也存在处理效率不高、天空区域容易产生较为明显的失真等缺点。 采用双边滤波与最大值滤波相结合的方法取代软抠图对透射率进行优化,通过判断大气光强度和暗通道差值绝对值大小来区分雾图中明亮区域与暗原色区域,并削弱明亮天空区域的去雾。实验表明,本文算法不仅有效降低了传统算法的时间复杂度,还达到了较好的视觉效果。
图像去雾;暗原色先验;双边滤波;处理速度
在雾霾的天气条件下,由于空气中大量悬浮粒子的存在,在户外拍摄的图像的质量严重下降。因此,一种快速有效的去雾方法对提高户外视觉系统的稳定性来说意义重大。目前的去雾方法可以分为两大类:图像增强[1]和图像复原[2]。图像增强的方法不考虑图像质量退化的原因,通过改善图像对比度以达到改善雾图像视觉效果,但不能从根本上达到去雾的目的。目前图像增强技术主要包括直方图均衡化、小波分析法、Retinex算法及同态滤波等。而图像恢复方法则是首先分析图像在雾天的降质过程,建立图像退化模型,然后求解出无雾图像。此类方法有基于偏微分方程的雾天图像复原、基于深度信息的雾天图像复原、基于先验的雾天图像复原等。相比较而言,采用图像恢复方法得到的无雾图像更加自然清晰,通常不会丢失原图像信息,因此此类方法是图像去雾领域的热点技术。
2009年,He Kaiming等人[3]提出了基于暗原色先验原理的去雾算法,取得了相当好的去雾效果。通过对大量户外的无雾清晰图像的观察和统计,发现清晰图像至少在某一个颜色通道上存在一些强度值非常低的像素点,甚至低到接近于零。对于有雾图像,可以通过暗原色先验理论对介质的透射率进行估计,然后通过软抠图技术来优化已经估算出的介质传播函数。
但是此算法也存在一些不足之处,首先采用软抠图技术具有较高的计算量,不宜应用到实时监控系统中;其次图像在天空区域恢复后有较明显的失真。本文提出一种基于暗原色先验原理的改进算法,采用双边滤波与最大值滤波相结合的方法取代软抠图对粗略透射率进行精细化求解,从而提高处理效率。同时引入容差参数对天空明亮区域和暗原色区域进行分割,并削弱天空中明亮区域的去雾,从而提高去雾算法的鲁棒性。
1.1 大气散射模型
在计算机视觉领域,雾霾等天气条件下单色大气散射模型可表示为[4-5]:
I(x)=J(x)t(x)+A(1-t(x))
(1)
其中,x表示图像上像素的坐标位置;I表示原始雾天图像;J表示无雾的清晰图像;t表示大气透射率;A表示大气光亮度,一般用来表示无穷远处光照强度。大气散射模型由两部分组成,第一部分J(x)t(x)表示衰减模型(Attenuation Model),第二部分A(1-t(x))表示环境光模型(Airlight Model)。
1.2 暗原色先验去雾
[3]通过对大量户外的无雾清晰图像的观察和统计,发现清晰图像至少在某一个颜色通道上存在一些强度值非常低的像素点,甚至低到接近于零。对于一幅图像J,暗原色可以用公式(2)描述:
(2)
其中,Ω(x)表示以像素点x为中心的局部区域,Jc表示图像J的颜色通道,Jdark为图像J的暗原色。对于非天空区域则有:
Jdark(x)→0
(3)
首先假设大气光值A已知,同时假设大气的透射率在一个局部区域内是恒定不变的。将公式(1)描述的散射模型两边在Ω(x)区域内进行最小值滤波运算并同除以A,可得:
(4)
对上式两边进行三个颜色通道上的最小值滤波运算,得:
(5)
根据暗原色先验原理,无雾图像的暗原色Jdark趋近于0:
(6)
由于Ac总是正值,得到:
(7)
(8)
而在现实生活中,即便是在晴朗的天气下,天空中也总会存在一些杂质微粒,如果把雾彻底去除,复原出的图像就会显得很不真实。所以在公式(8)中引入一个强度系数ω(0<ω≤1),在天空区域保留一部分雾,式(8)修正为:
(9)
由式(9)所得的透射率比较粗糙,有明显的块效应,参考文献[3]采用软抠图方法对透射率进行优化。优化公式如下:
(10)
其中,U是与L同样大小的单位矩阵,L是抠图拉普拉斯矩阵,λ是修正参数。为防止t取零值,为其设置一个下限值t0,则:
(11)
其中,t0的值通常取为0.1。在暗通道图中选取前0.1%最亮的像素点,并且记录它们在原始图像中所对应的坐标位置,在有雾图像中找到其对应坐标的像素点,求出它们在R,G,B三个颜色通道上最大强度值,即为大气光A在三个通道的值。此时便可通过式(11)复原出无雾图像。复原出的图像如图1所示。
图1 暗原色先验去雾效果图
由于基于暗原色先验的去雾方法存在运算量大及天空区域易失真等缺点,近年来出现了很多基于暗原色理论的改进算法。文献[6]和[7]均是在基于暗原色先验理论的基础之上进行改进的,前者重点是对透射率进行优化,显著地减少了运算量,同时也在一定程度上改善了恢复的图像的视觉效果。后者在改善透射率估算方式的同时,还针对恢复的图像在天空、白色物体等明亮区域出现的颜色失真的问题采取了一些改良措施。
本文提出一种改进算法来改善图像去雾的处理效率及视觉效果。首先采用双边滤波取代软抠图对粗略透射率进行精细化处理,同时采用最大值滤波[8]方法对粗略透射率图中被低估的暗像素点的值进行修复。假设输入图像I的像素p其坐标为(x,y),灰度值为Ip,滤波后输出图像为BI。输出图像的p点像素值定义为BIp,p点的邻域像素点用q表示,其坐标为(u,v) ,则双边滤波公式可以表示为:
(12)
且
(13)
其中,Gσd为空间邻近度因子,Gσr为灰度相似度因子,σd是基于高斯函数距离标准差,σr为基于高斯函数的灰度标准差,Wp为归一化因子。
采用双边滤波和最大值滤波相结合的方式对介质透射率进行细化处理,过程如下:
(1)对暗通道图像做最大值滤波和双边滤波处理:
(14)
(15)
(2)由式(9)很容易得到修正后的透射率计算公式:
(16)
为了使恢复后的图像自然,这里依然引入强度系数ω,其值一般取为0.95~0.98。
(17)
本文算法采用Visual Studio 2013结合OpenCV2.4.9实现。PC配置为Inter(R) Core(TM) i7-6700HQ CPU@2.60 GHz,内存8 GB。操作系统为Windows 10。程序运行时间如表1所示。
表1 算法运行时间比较
文献[3]提出的基于暗原色先验算法与本文的改进算法去雾效果如图2所示。可以看出文献[3]的方法恢复出的图像在天空区域有较为明显的失真,而本文算法恢复的图像在天空区域没有产生失真,对图像中物体的边缘细节保持得较好,而且整幅图像的色彩更加自然逼真。
图2 本文方法与文献[3]方法去雾效果比较图
本文研究了文献[3]提出的基于暗原色先验理论的去雾算法,并在其基础上进行了改进。本文采用了双边滤波取代软抠图对粗略透射率进行精细化处理,同时采用最大值滤波方法对粗略透射率图中被低估的暗像素点的值进行修复。针对暗原色原理不适用明亮天空区域的问题,本文引入了容差参数把图像划分为明亮区域和暗原色区域,并弱化了天空中明亮的区域。实验表明,无论是在去雾效率还是视觉效果上,本文算法都达到了令人满意的效果。
参考文献
[1] 郭璠,蔡自兴,谢斌,等.图像去雾技术研究综述与展望[J].计算机应用,2010,30(9):2417-2421.
[2] 葛艳,赵瑞,高占江.基于TV模型和膨胀的图像修复方法研究[J].微型机与应用,2014,33(18):39-41.
[3] He Kaiming,Sun Jian,Tang Xiaoou.Single image haze removal using dark channel prior[C]. IEEE Conference on Computer Vision and Pattern Recognition, CVPR 2009, IEEE, 2009:1956-1963.
[4] NARASIMHAN S G, NAYAR S K. Vision and the atmosphere[J]. International Journal of Computer Vision, 2002, 48(3):233-254.
[5] TAN R T. Visibility in bad weather from a single image[C]. IEEE Conference on Computer Vision and Pattern Recognition, CVPR IEEE, 2008:1-8.
[6] 张冰冰,戴声奎,孙万源.基于暗原色先验模型的快速去雾算法[J].中国图象图形学报, 2013, 18(2):184-188.
[7] 孙小明,孙俊喜,赵立荣,等.暗原色先验单幅图像去雾改进算法[J].中国图象图形学报,2014, 19(3):381-385.
[8] GONZALEZ R C,WOODS R E.Digital image processing(2nded)[M]. 北京:电子工业出版社,2003.
The improvement algorithm of image dehazing based on dark channel prior
Li Chunjiang1, Yu Suping1,2, Xu Wujun1,2, Fan Hong1,2
(1. School of Information Science and Technology, Donghua University, Shanghai 201620, China;2. Engineering Research Center of Digitized Textile & Fashion Technology of Ministry of Education, Donghua University, Shanghai 201620, China)
The method based on dark channel prior can dehaze effectively, but it has some disadvantages, including low processing efficiency and producing more obvious distortion easily in the sky areas. This paper adopts bilateral filtering and maximum filtering method combined to optimize the transmission map instead of soft matting, dividing the image into bright areas and dark channel areas by absolute value of the difference of atmospheric light and dark channel ,and weakening these bright areas to defog. The experimental results show that the algorithm not only reduces the time complexity of the traditional algorithm, but also achieves a good visual effect.
haze removal; dark channel prior; bilateral filtering; processing speed
TP309.7
A
10.19358/j.issn.1674- 7720.2017.16.015
李春江,禹素萍,许武军,等.基于暗原色先验图像去雾的改进算法[J].微型机与应用,2017,36(16):53-55.
2017-02-23)
李春江(1989-),通信作者,男,硕士研究生,主要研究方向:图像处理。E-mail:wylichunjiang@163.com。
禹素萍(1977-),女,博士,副教授,主要研究方向:机器视觉与图像处理。
许武军(1972-),男,博士,副教授,主要研究方向:嵌入式计算与嵌入式系统。