|
发布时间: 2016-11-25 |
图像处理和编码 |
|
|
收稿日期: 2016-06-20; 修回日期: 2016-07-21
第一作者简介: 邢晓敏(1979-),女,讲师,2006年于武汉理工大学获检测技术与自动化装置专业硕士学位,主要研究方向为数字图像处理。E-mail:josephson870921@163.com
中图法分类号: TP301.6
文献标识码: A
文章编号: 1006-8961(2016)11-1440-08
|
摘要
目的 针对雾天交通场景中通常含有大片天空区域,传统去雾方法在复原这些图像时容易产生光晕、色彩失真等现象。提出一种基于天空区域分割和暗通道先验理论的图像去雾方法。 方法 首先提出一种基于最大类间方差法(OTSU)的图像分割算法来自动分离天空区域,然后将天空区域的平均强度值作为大气光值,从而改进场景传输率的估计。 结果 本文方法不仅有效地解决了图像去雾后出现光晕和色彩失真等问题,与He Kaiming以及Fattal的方法相比,本文方法去雾后的图像更加真实、自然、平滑。 结论 实验结果表明,本文方法能够很好地完成对雾天交通图像的复原,可为道路交通监管提供一种有效的理论基础和技术支撑。
关键词
雾天交通场景; 暗原色先验; 图像去雾; 图像分割; 图像复原; 雾天退化模型
Abstract
Objective Several tiny particulates are suspended in air during poor weather condition (e.g., haze or fog). The color and contrast of the captured picture from image devices are severely degraded because of scattering, thereby consequently affecting visual experience. Haze is a common phenomenon in China's cities and towns, especially in the metropolis. Haze reduces visibility and seriously affects the closed circuit television surveillance system, thereby leading to difficulties in traffic monitoring and increase in traffic accidents. Using traditional methods to remove the haze in traffic image usually results in various problems, such as halo and color distortion. To remove the large sky area in traffic image, this paper proposes a haze-removal method based on sky segmentation and dark channel prior. Method We use the maximum of the top 0.1 percent brightest pixels in the dark channel (as selected by He) corresponding to the original image as the value to the atmospheric extinction coefficient A. Accordingly, the value of A in each channel can be made closer to the maximum pixel value of 255. Resulting image after haze removal can generate color cast or a large number of color spots. According to the characteristics of haze image in traffic scene, we propose a novel algorithm that automatically separates sky regions to optimize the model and thus solve the image distortion of sky region after dehazing by dark channel prior. For sky segmentation, we introduce an OTSU method to complete the task. In our haze removal algorithm, we present the average intensity of the sky as the atmospheric extinction coefficient, and estimate the scene transmission of the sky and the non-sky regions. Then, we combine two parts of the scene transmission as a whole to refine the transmission. This step makes the restored sky region highly natural looking. Result Compared with Fattal's method and He's method, our algorithm obtains better image sharpness and edge details of the recovered image. The distortion of the recovered image is also lower than that of the recovered image by Fattal's method and He's method. In the rehabilitation of the sky region, our algorithm exhibits highly natural looking and smooth resulting image. On the contrary, Fattal's method and He's method show a large number of spots or halos appearing in the sky region. Conclusion The proposed method can effectively restore the traffic haze image. Specifically, no spots or distortions are found in the sky region of the recovered image by our method. The proposed method can also provide an effective theoretical basis and technical support for road traffic supervision. However, our algorithm has the following limitations. The effect of the recovered image is poor when distant objects are under a thick-haze environment. This result is due to the optimization of scene transmittance. The attenuation coefficient of the transmittance (scattering coefficient) is assumed to be constant. However, in the actual atmosphere, the scattering coefficient changes under different weather conditions. Therefore, our future research will incorporate the weather factor into our algorithm to optimize an accurate and robust approach for removing the haze from traffic scene image.
Key words
haze traffic scene; dark channel prior; haze-removal; image segmentation; image restoration; haze image formation
0 引言
雾天空气中悬浮着大量微小悬浮粒子,由于其散射作用造成户外图像颜色和对比度严重退化,影响人们的视觉感受。在中国的道路交通环境中,特别是城市道路交通,时常都会有雾霾的出现,不仅造成能见度的降低,还严重影响着交通视频监管系统,非常不利于交通监测,大大提高了交通安全事故率。
近年来,国内外关于雾天图像的清晰化问题,提出了很多去雾算法,主要有基于图像复原[1-6]和图像增强[7-8]两类方法。前者主要是以雾天图像降质的物理过程为基础,建立雾天退化模型,在反演图像退化的过程中完成对参数的最优化估计,补偿退化过程中所造成的图像失真,从而改善雾天图像质量;后者主要是增强被降质图像的对比度,突出图像中景物的特征和有价值的信息,从而改善图像的质量。但是图像增强方法从本质上来讲只是提高了图像的对比度和清晰度,并没有真正意义上实现对图像的去雾,因此图像复原的去雾算法得到越来越多学者的关注与研究。
Tan等人[1]观测到与有雾图相比无雾图具有更高的对比度,从而提出了利用最大化图像局部对比度来实现图像的去雾,但是去雾后的图像往往会出现颜色过于饱和的现象,原因是没有考虑大气光成分这一因素的影响。
Fattal等人[2]通过假设场景目标表面投影和光的传播局部不相关,提出一种估算场景反射率从而推导出场景透射率的方法来实现雾天图像的去雾。因为该方法基于数理统计,并且要求具有足够的颜色信息,所以当处理浓雾天气下颜色暗淡的图像时,由于统计信息不足导致图像复原后出现失真。
为解决以上几种方法的问题,He等人[3]在2009年提出了一种基于暗原色先验理论并结合雾天成像模型的方法来实现雾天图像的去雾,该方法能够很好地实现有雾图像的复原,但是,由于该算法建立在暗原色先验基础之上,因此对于诸如天空、白云等不存在暗原色的明亮区域,其恢复结果往往会出现明显的颜色失真。然而交通场景中,很多图像往往包含有大片的天空区域。
基于此,本文在基于He的暗原色先验理论的基础上,提出一种新的方法来实现对雾天交通图像的去雾。首先将雾天图像进行图像分割得到天空区域和非天空区域,然后分别对不同的区域进行图像去雾操作,从而改进暗原色先验模型对天空区域过度增强的缺陷。
1 背景
1.1 雾天图像退化模型
雾天图像成像的过程中主要受两方面因素的影响。一方面,由于受大气中微小颗粒的散射作用,使得从景物反射到达成像设备的入射光出现衰减现象;另一方面,大气粒子的散射作用还将天空中的自然光一起参与图像成像,造成雾天拍摄图像整体偏向于灰白色。因此,在计算机视觉和计算机图形学领域中,被广泛用于描述雾天图像成像模型[2-4],即
$ I\left( x \right) = J\left( x \right)t\left( x \right) + A\left( {1 - t\left( x \right)} \right) $ | (1) |
式中,右边第1项
$ J\left( x \right) = \frac{{I\left( x \right) - A\left( {1 - t\left( x \right)} \right)}}{{t\left( x \right)}} $ | (2) |
从式(2)中可以看到,要想得到复原后的图像
$ t\left( x \right) = {{\rm{e}}^{ - \beta d\left( x \right)}} $ | (3) |
式中,β[9]代表的是光线受到大气微粒散射和吸收所造成的散射系数,d指的是图像中的场景深度。方程式(3)指示的是场景的对比度随着场景深度的增加而成指数的形式衰减。通常式(3)被称为大气均匀条件下的传输图,认为散射系数β是恒定不变的。
1.2 暗原色先验理论
暗原色先验理论是由He等人[3]对室外大量无雾图像进行统计观察后所提出来的:在绝大部分不包含天空区域的局部区域里,至少会有一个颜色通道中存在一些亮度很低的像素点,甚至趋近于零。相当于区域中最小亮度值趋于零。因此,对任意一幅图像J,其暗通道[3]被定义为
$ {J^{{\rm{dark}}}}\left( x \right) = \mathop {\min }\limits_{y \in \Omega \left( x \right)} \left( {\mathop {\min }\limits_{c \in \left\{ {r,g,b} \right\}} {J^c}\left( y \right)} \right) $ | (4) |
式中,
$ {J^{{\rm{dark}}}} \to 0 $ | (5) |
2 基于天空区域分割的去雾算法
2.1 天空区域分割算法
由于雾天交通场景中图像整体呈现灰白色状态,对比度与亮度变化缓慢,且图像中前景目标一般比较色彩鲜艳,而背景特别是天空区域,几乎呈白色状态。实验中,如果采用边缘检测算法来进行图像天空区域的分割,由于雾所造成的图像边缘模糊,得到的往往是断续的、不完整的图像结构信息;虽然基于神经网络的分割算法能够很好地分割图像,但是其计算量大,所耗时间长且收敛速度慢。与这些算法相比较,大津算法(OTSU)不仅计算简单,且结合雾天交通图像的特点,其不受图像对比度与亮度变化的影响。因此采用大津算法[10-11]对交通雾图进行天空区域的分割具有很好的应用效果,大大简化了后期雾天交通图像的复原工作。其分割后的图像如图 1所示。
假定一幅图像有M个灰度级,图像中的灰度级记作i,
$ {p_i} = \frac{{{f_i}}}{N},{p_i} \ge 0,\sum\limits_{i = 0}^{M - 1} {{p_i} = 1} $ | (6) |
设置阈值t将图像中的像素按灰度级分为两类,一类为目标T,一类为背景B,即
1)假设t为图像的分割阈值,分别计算前景产生概率
2)计算前景平均灰度值
3)计算图像的总平均灰度值
4)求取最大化类间方差值作为最佳分割阈值。两类出现的概率分布分别为
$ {\omega _T} = \sum\limits_{i = 0}^t {{p_i} = } \omega \left( t \right) $ | (7) |
$ {\omega _B} = \sum\limits_{i = t + 1}^{M - 1} {{p_i} = 1 - } \omega \left( t \right) $ | (8) |
两类的灰度均值分别为
$ {\mu _T} = \sum\limits_{i = 0}^t {\frac{{i{p_i}}}{{{\omega _T}}}} = \sum\limits_{i = 0}^t {\frac{{i{p_i}}}{{\omega \left( t \right)}}} $ | (9) |
$ {\mu _B} = \sum\limits_{i = t}^{M - 1} {\frac{{i{p_i}}}{{{\omega _B}}} = \frac{{{\mu _r} - \mu \left( t \right)}}{{1 - \omega \left( t \right)}}} $ | (10) |
式中,
OTSU中的类间方差可以定义为
$ \begin{array}{l} {\sigma ^2} = {\omega _T}{\left( {{\mu _T} - {\mu _r}} \right)^2} + {\omega _B}{\left( {{\mu _B} - {\mu _r}} \right)^2} = \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;{\omega _T}{\omega _B}{\left( {{\mu _T} - {\mu _B}} \right)^2} \end{array} $ | (11) |
从以上各式中可以看到
$ T = \arg \mathop {\max }\limits_{0 \le i \le M - 1} \left\{ {{\sigma ^2}\left( t \right)} \right\} $ | (12) |
2.2 大气光和场景传输率估计
在进行大气光估计、场景传输率估计之前,首先需要描述如何应用暗原色先验理论来实现雾天图像去雾。结合雾天图像成像模型式(1),He[3]假设大气光A是一个已知的常量,并且假设在一个局部区域
$ \begin{array}{l} \mathop {\min }\limits_{y \in \Omega \left( x \right)} \left( {\mathop {\min }\limits_{c \in \left\{ {{\rm{r,g,b}}} \right\}} \frac{{{I^c}\left( y \right)}}{{{A^c}}}} \right) = \\ \tilde t\left( x \right)\mathop {\min }\limits_{y \in \Omega \left( x \right)} \left( {\mathop {\min }\limits_{c \in \left\{ {{\rm{r,g,b}}} \right\}} \frac{{{J^c}\left( y \right)}}{{{A^c}}}} \right) + 1 - \tilde t\left( x \right) \end{array} $ | (13) |
由于场景辐射
$ \mathop {\min }\limits_{y \in \Omega \left( x \right)} \left( {\mathop {\min }\limits_{c \in \left\{ {{\rm{r,g,b}}} \right\}} \frac{{{J^c}\left( y \right)}}{{{A^c}}}} \right) = 0 $ | (14) |
将式(14)代入式(13)得到透射率的估计值为
$ \tilde t\left( x \right) = 1 - \mathop {\min }\limits_{y \in \Omega \left( x \right)} \;\left( {\mathop {\min }\limits_{c \in \left\{ {{\rm{r,g,b}}} \right\}} \frac{{{I^c}\left( y \right)}}{{{A^c}}}} \right) $ | (15) |
但是在现实生活中,即使是晴天白云,空气中也存在着一些颗粒,当观看远处的物体时依然能够感觉到雾的影响。因此,为了使去雾后的图像看起来更自然,在去雾时有必要保留一定程度的雾。He[3]为方程式(15)引入一个常数
$ \tilde t\left( x \right) = 1 - \omega \mathop {\min }\limits_{y \in \Omega \left( x \right)} \;\left( {\mathop {\min }\limits_{c \in \left\{ {{\rm{r,g,b}}} \right\}} \frac{{{I^c}\left( y \right)}}{{{A^c}}}} \right)\left( {\omega \in \left( {0,1} \right]} \right) $ | (16) |
设定
但是在以上的推论中,大气光A的值都是已知的。而在进行传输率
为了更好地估计大气光A的值,将之前分割后的原始图像天空区域的平均强度值作为A的估计值。因为天空区域的景深可以被认为是无穷远的,即
$ d\left( x \right) \to + \infty $ | (17) |
将式(17)代入式(3)可知
$ t\left( x \right) \approx 0 $ | (18) |
再将式(18)代入式(1)可知
$ I\left( x \right) \approx A $ | (19) |
此时,式(19)中的A值可以认为是最大雾区域的亮度值[1]。因此,将天空区域的平均强度作为大气光A的值,认为是合理的。即
$ {A^c} = \mathop {{\rm{mean}}}\limits_{c \in \left\{ {{\rm{r,g,b}}} \right\}} I_{{\rm{sky}}}^c\left( y \right) $ | (20) |
式中,
$ \tilde t\left( x \right) = 1 - \omega \mathop {\min }\limits_{y \in \Omega \left( x \right)} \;\left( {\mathop {\min }\limits_{c \in \left\{ {{\rm{r,g,b}}} \right\}} \frac{{{I^c}\left( y \right)}}{{\mathop {{\rm{mean}}}\limits_{c \in \left\{ {{\rm{r,g,b}}} \right\}} I_{{\rm{sky}}}^c\left( y \right)}}} \right) $ | (21) |
2.3 场景传输率优化及恢复
从图 2(a)中可以看到,通过暗原色先验所得到的场景透射率图是很粗糙的,并且图 2(a)中出现了很多的块状效应,这将导致最后的去雾图像中出现光晕现象或者雾没有除尽的现象。造成这种结果的原因是由于在图像的每个局部区域里
1)对应之前图像分割后的天空区域找到原图像的天空区域;
2)计算原图像天空区域的平均值
3)计算天空区域的传输率值
本文中选取T=0.75,其优化后的传输率图如图 3(b)所示,对比图 2(b)仅仅采用导向滤波优化后的传输率图,本文改进后的优化传输图的天空区域对比度更高。
在得到大气光系数A和场景传输率
$ J\left( x \right) = \frac{{I\left( x \right) - A}}{{t\left( x \right)}} + A $ | (22) |
通过式(22)得到最终去雾后的图像如图 3(c)所示。
3 实验与分析
实验图片部分来自百度、google等网站,部分来自于实际采集的图像数据,使用15×15的卷积核,
图 3为本文算法与He的算法的对比分析。本文算法的去雾结果(图 3(c))在天空区域并没有出现颜色失真或大量色斑出现的情况。He算法[3]之所以对天空区域的处理会出现这种情况,是由于天空区域像素值通常较大并不存在暗通道,造成天空区域的传输率
与Fattal的算法[2]对比如图 4所示。图 4(a)的图像为大雾环境下的雾天交通图像。从图 4(c)中可以看到,在雾浓度较大时,由于统计信息的不足导致Fattal算法的传输图几乎无法辨认,从而使得恢复后的图像出现了严重的失真(图 4(e)),并且天空区域也出现了过度增强的现象。而本文所提算法在雾浓度较大的情况下也取得了较好的去雾效果(图 4(f)),并且天空区域没有被过度增强。
在图 5中,比较了本文算法与He、Fattal算法的更多的去雾结果图。从图 5可以看到,本文算法保持着相同的结果,都得到了比较满意的结果且天空区域没有被过度增强,去雾后的图像也显得更加的真实、自然、平滑。在Fattal的结果中,均出现了图像失真的问题,且天空区域均出现过度增强的现象。在He的结果中,天空区域普遍存在过度增强的效果,特别在有些图片的天空区域出现了颜色偏红的现象(图 5(c)最上面的两幅去雾图像)。然而本文算法也不是完美的,因为很好地保护了天空区域不被过度增强,因此离天空区域较近的位置,也就是图像中景深较远位置的去雾效果并不是很好。
4 结论
本文对基于暗原色先验的去雾算法进行了理论分析和实验观察,应用此方法对雾天交通图像实现了去雾。从中发现原算法在处理交通雾图时存在不足,原因是由于交通场景中通常含有大片天空区域的图像。因此,本文提出一种基于天空区域分割的改进暗原色先验去雾算法。此算法解决了暗原色先验在明亮区域估计透射率偏小的问题,使其更接近实际情况,避免在处理这些区域时产生色彩失真。实验结果表明,改进的算法能够明显提高雾天交通图像的整体对比度、层次感,为道路交通监管部门提供了一个可靠的应用实施方案。
然而,本文算法还存在它的极限性,对于浓雾环境下景深较远的物体,其复原效果不是很好(如图 3(c))。导致这样的结果是由于在场景传输率的优化中,假设传输率的散射系数是固定不变的,而在实际的大气中,散射系数是随着不同天气条件下空气中微粒的不同而变化着的。因此,在未来的工作中,可以将气象因素引入到去雾算法中,从而优化出更准确、鲁棒性更好的算法来实现雾天交通图像的去雾。
参考文献
-
[1] Tan R T. Visibility in bad weather from a single image[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition. Anchorage, AK: IEEE, 2008: 1-8.[DOI: 10.1109/CVPR.2008.4587643] http://www.oalib.com/references/17176576
-
[2] Fattal R. Single image dehazing[J]. ACM Transactions on Graphics , 2008, 27 (3) : #72. DOI:10.1145/1360612.1360671
-
[3] He K M, Sun J, Tang X O. Single image haze removal using dark channel prior[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence , 2011, 33 (12) : 2341–2353. DOI:10.1109/TPAMI.2010.168
-
[4] Gonzalez R C, Woods R E. Digital Image Processing[M]. Reading, MA: Addison-Wesley, 1992.
-
[5] Guo J, Wang X T, Hu C P, et al. Single image dehazing based on scene depth and physical model[J]. Journal of Image and Graphics , 2012, 17 (1) : 27–32. [ 郭珈, 王孝通, 胡程鹏, 等. 基于单幅图像景深和大气散射模型的去雾方法[J]. 中国图象图形学报 , 2012, 17 (1) : 27–32. DOI:10.11834/jig.20120104 ]
-
[6] Huang M J, Liu Q, Xiong Y F, et al. Atmospheric light estimating algorithm based on inland haze image[J]. Journal of Transport Information and Safety , 2013, 31 (3) : 33–38. [ 黄明晶, 刘清, 熊燕帆, 等. 面向内河雾天图像的大气光亮度值估算方法研究[J]. 交通信息与安全 , 2013, 31 (3) : 33–38. DOI:10.3963/j.issn.1674-4861.2013.03.007 ]
-
[7] Zhan X, Zhou Y. Algorithm based on local variance to enhance contrast of fog-degraded image[J]. Journal of Computer Applications , 2007, 27 (2) : 510–512. [ 詹翔, 周焰. 一种基于局部方差的雾天图像增强方法[J]. 计算机应用 , 2007, 27 (2) : 510–512. ]
-
[8] Li J X, Yu X L. Enhance algorithm for fog images based on improved multi-scale Retinex[J]. Computer Science , 2013, 40 (3) : 299–301. [ 李菊霞, 余雪丽. 雾天条件下的多尺度Retinex图像增强算法[J]. 计算机科学 , 2013, 40 (3) : 299–301. DOI:10.3969/j.issn.1002-137X.2013.03.068 ]
-
[9] McCartney E J. Optics of the Atmosphere: Scattering by Molecules and Particles[M]. New York: John Wiley and Sons, Inc., 1976 : 421.
-
[10] Gong Q, Fu Y F, Ye J Y, et al. Otsu image segmentation algorithm based on rebuilding of two-dimensional histogram[J]. Computer Science , 2013, 40 (8) : 313–315. [ 龚劬, 付云凤, 叶剑英, 等. 基于二维直方图重建的Otsu图像分割算法[J]. 计算机科学 , 2013, 40 (8) : 313–315. DOI:10.3969/j.issn.1002-137X.2013.08.068 ]
-
[11] Ding R, Liu J J, Li B L, et al. Modified multilevel thresholding Otsu method for image segmentation[J]. Journal of Computer Applications , 2013, 33 (S1) : 214–217. [ 丁锐, 刘甲甲, 李柏林, 等. 改进的Otsu图像多阈值分割方法[J]. 计算机应用 , 2013, 33 (S1) : 214–217. ]
-
[12] He K M, Sun J, Tang X O. Guided image filtering[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence , 2013, 35 (6) : 1397–1409. DOI:10.1109/TPAMI.2012.213