在智能交通系统中,车辆常通过摄像头等传感器获取外界的路况、交通标志等信息,用以辅助驾驶员驾驶,但在雾天、沙尘等能见度较低的天气条件下,道路环境的可视性变差,采集的图像对比度、色彩等特征信息严重衰减,因此需要对采集到的交通场景图像消除雾气的影响以确保相关特征信息在雾霾天气条件下被准确获取。
目前常用的去雾算法主要为分两类[1-2]:一类是雾天图像增强方法,如直方图均值化[3]、同态滤波[4]、小波变换[5]、Retinex算法[6]等,这类方法不考虑雾天图像的降质原因,适用范围较广,通过提高雾天图像对比度以突出图像细节,改善图像的视觉效果,但可能会损失图像中的部分信息,导致图像失真;另一类是雾天图像复原方法,通过建立雾天图像降质的物理模型,然后求解降质的逆过程反演出原无雾图像,如基于深度关系[7]、基于暗原色先验(dark channel prior)理论[8]等方法,该类方法处理的关键是对物理模型中的参数估计,针对性较强,得到的去雾效果较为自然,一般不会出现信息损失。目前,使用图像复原方法进行去雾处理更具有优势。
近年来,众多研究者对在图像复原方法中基于先验信息的单幅图像去雾方面进行了大量的研究,并取得了重要的突破。2008年,Tan等[9]利用最大化复原图像的局部对比度来达到无雾的目的,但通过该方法复原后的图像颜色容易出现过饱和状态。Fattal[10]通过估计场景的辐照度进而推导出传播图像,求出无雾图像,但该方法基于数理统计,并且要求具有足够的颜色信息,因此在处理浓雾条件下颜色暗淡的图片时会出现较大失真。Tarel等[11]使用一种结合中值滤波的对比增强的逼近方法进行去雾,但容易引发方块效应。2009年,He等[8]提出基于暗原色先验的单幅图像去雾算法,根据雾气浓度局部修复图像各部分的颜色,从而达到了很好的去雾效果,但对于接近大气光值的明亮区域会因失效而产生严重色偏及边缘效应;后续学者也在此方向提出了对应的改进算法,如导向滤波算法[12]、双边滤波算法[13-14]等。
在对于雾天交通标志图像的去雾清晰化处理中,需要根据交通标志场景图像中的特征,有针对性地实现去雾处理,由于交通标志检测系统多应用于车载装置中,因此获取的交通图像中天空区域、色彩明亮的车辆等因素较多,不符合暗原色先验原理,将现有的去雾算法直接应用于交通图像去雾中时容易出现过渡区域明显、偏色严重甚至去雾失败等问题,严重影响后续交通标志检测系统的参数提取。
本文针对交通标志图像去雾的难点问题,基于暗原色先验理论,提出了一种改进的去雾算法:采用改进的均值漂移方法将雾天交通图像分割为天空区域与非天空区域后分别进行去雾处理,以得到满足后续系统处理要求的清晰图像。
1 暗原色先验去雾算法根据光在雾天传输的物理特性,雾霾天气下的图像退化模型如下:
$\mathit{\boldsymbol{I}}(x) = \mathit{\boldsymbol{J}}(x)t(x) + \mathit{\boldsymbol{A}}(1 - t(x))$ | (1) |
$t(x) = {e^{ - \beta d(x)}}$ | (2) |
其中:I(x)为现有待去雾图像,J(x)为处理后的复原图像,A为大气光值,t(x)表示透射率,β表示大气散射系数,d(x)为景物深度。已知待去雾图像I(x),要求目标图像J(x),需要用到先验知识。
暗原色先验理论是根据大量无雾图像特征统计得出的一种图像统计规律。文献[8]中指出:在绝大多数非天空的局部区域中,总存在至少一个像素的某一个或几个颜色通道的强度值为一个很小且接近为0的值,称之为暗原色。对于任意的输入图像,其暗原色的点可用如下公式求解:
${J^{{\rm{dark}}}}(x) = \mathop {\min }\limits_{c \in \{ {\rm{r}},{\rm{g}},{\rm{b}}\} } (\mathop {\min }\limits_{y \in \mathit{\Omega }(x)} ({J^c}(y)))$ | (3) |
其中:Jdark(x)表示图像暗原色,Jc(x)为J的某个颜色通道,Ω是以x为中心的局部区域。
根据暗原色先验理论可得出:
${J^{{\text{dark}}}}(x) \to 0$ | (4) |
将式(1) 变形为:
$\frac{{{I^c}(x)}}{{{A^c}}} = t(x)\frac{{{J^c}(x)}}{{{A^c}}} + 1 - t(x)$ | (5) |
假设在每一个小区域窗口内透射率t(x)为常数,定义为
$\tilde t(x) = 1 - \mathop {\min }\limits_{y \in \mathit{\Omega }(x)} \left( {\mathop {\min }\limits_c \frac{{{I^c}(y)}}{{{A^c}}}} \right)$ | (6) |
在实际生活中,即使是晴朗的天气,空气中也有粉尘颗粒等杂质,因此引入一个在[0, 1]的因子ω修正式(6),使去雾后图像更具有真实感:
$\tilde t(x) = 1 - \omega \mathop {\min }\limits_{y \in \mathit{\Omega }(x)} \left( {\mathop {\min }\limits_c \frac{{{I^c}(y)}}{{{A^c}}}} \right)$ | (7) |
选取有雾图像暗原色中亮度最高的0.1%像素点,将这些像素中亮度的最大值作为大气光估计值A,结合式(7)、(8) 可以将退化图像I(x)恢复为清晰图像J(x)。
$\mathit{\boldsymbol{J}}(x) = \frac{{\mathit{\boldsymbol{I}}(x) - \mathit{\boldsymbol{A}}}}{{\max (t(x),{t_0})}} + \mathit{\boldsymbol{A}}$ | (8) |
其中t0是一个常数,为t(x)的一个下限,一般取0.1。
暗原色先验去雾方法是当前单幅图像去雾算法中效果较好,且近年来影响较大的一种方法,对于求出的透射率粗略分布式(7),He等先后提出利用软抠图[8]、导向滤波[12]算法对其进行优化,得到了细致的透射率分布图并得到了较好的去雾图像。此后,大量去雾算法都是基于暗原色先验去雾算法进行改进或补充,例如:Ding等[15]、Zhu等[16]针对He等提出的软抠图算法进行了不同程度的改进,从不同角度提升了算法的处理效率及灵活程度,但同时也存在降低算法稳定性等问题。
2 交通图像去雾算法在处理包含天空等大面积明亮区域的交通图像时,一般景深较广,暗原色先验算法无法找到像素值接近于0的暗原色点,会使天空出现明显的过渡区域和偏色现象,造成图像失真。
因此,本文通过对交通图像基本特征的分析,提出一种适合交通图像去雾的方法,过程如下:
步骤1 利用改进的均值漂移算法对交通图像进行分割,提取出非天空区域与天空区域;
步骤2 非天空区域图像采用暗原色先验方法进行去雾;
步骤3 将天空区域图像采用直方图均衡化方法进行去雾;
步骤4 将步骤2与步骤3去雾后的图像进行融合,得到最终的交通图像去雾结果。
2.1 改进的均值漂移算法分割天空区域均值漂移(Mean Shift)[17]算法是一种使用广泛的聚类、特征分析方法,具有原理简单、对噪声鲁棒性强、分割效果良好等优点,最初由Fukunaga和Hostetler于1975年提出,用于处理复杂的多模态特征空间分析和特征聚类识别,后普遍应用于图像分割和目标跟踪等领域。对于图像分割,将图像的像素点作为样本集,对每个像素点都作为初始点进行迭代计算,导致迭代次数过多、分割时间长、分割效率低,不利于实时处理。因此本文对均值漂移算法进行改进,以适应雾天交通图像的天空区域分割和实时处理的需求。
传统Mean Shift算法核心思想是根据一个核函数算出当前像素点的偏移均值向量,移动该点到其偏移均值,再次计算新的偏移向量,循环执行,直至满足收敛或一定条件结束。其本质是梯度下降法,利用一个核函数估计样本概率分布函数的概率密度并以此求取密度梯度方向,梯度方向指向概率密度的极大值。这样多次迭代之后,一个向量就能找到其分布函数的概率密度极大值点,同一分布的向量最终将会收敛到同一密度极大值处,并将指向同一极大值点的像素划分到一起,从而实现图像分割。
改进后的算法利用少量的像素点代替所有像素点进行迭代,即在分割过程中对于出现在高维球区域内的像素点不作为初始点进行迭代,而在所有迭代结束后对这些点进行归类,以减少迭代次数,缩短分割时间,提高分割效率。算法的具体步骤如下:
步骤1 读取图像,初始化,将所有像素点都标记为0,设置带宽h、均值收敛阈值ε、归类阈值。
步骤2 从未被访问过的像素点中选择一个作为初始点x,并产生一个新类。
步骤3 用式(9) 计算其均值漂移量m(x),并将访问过的像素点标记为1。
$\mathit{\boldsymbol{m}}(x) = \frac{{\sum\limits_{i = 1}^k {G(\frac{{{x_i} - x}}{h})w(x{}_i){x_i}} }}{{\sum\limits_{i = 1}^k {G(\frac{{{x_i} - x}}{h})w(x{}_i)} }}$ | (9) |
其中:G(x)是核函数;w(x)是样本点的权值,样本点距中心点近则权值较大,距离远则权值较小。
步骤4 若‖mh(x)-x‖≤ε,则终止迭代并对该点进行归类;否则,将mh(x)赋值给x,然后重复步骤3。
步骤5 判断是否有未被访问过的像素点,若有,转到步骤2。
步骤6 将被访问过但未作为初始点进行迭代的像素点根据归类阈值判断其距各类中心的距离:若小于归类阈值,则合并到已有的类中;否则产生一个新的类,并得到分割后的结果。
改进后的算法分割雾天交通图像效果如图 1所示。其中:传统算法的迭代像素数是1 088 000,分割时间56.671 s; 改进算法的迭代像素数是37,分割时间仅0.732 s。
分割后的非天空区域图像是符合暗原色先验去雾算法的,因此仍采用该算法对非天空区域进行去雾。选取非天空区域中暗原色中亮度最高的0.1%的像素点中亮度的最大值作为大气光估计值A,根据式(7) 求出初始透射率t(x),由于初始透射率较为粗糙,会使复原后的图像出现块效应,因此需要对透射率进行精细化。文献[8]中提出用软抠图算法处理,但速度很慢,不具有实时性。针对这一问题,文献[8]作者又提出利用导向滤波[12]的方式进行改进,提升了算法的速度。本文则采用快速双边滤波[18]来细化透射率图,以进一步提升算法速度。
双边滤波是一种快速的非迭代算法,由几何空间距离决定的空域滤波和像素差值决定的值域滤波结合而成:
$h(x) = {k^{ - 1}}(x)\int_{ - \infty }^{ + \infty } {\int_{ - \infty }^{ + \infty } {f(\zeta )} } c(\zeta ,x)s(f(\zeta ),f(x)){\rm{d}}\zeta $ | (10) |
其中: f(x)为输入图像;h(x)为输出图像;c(ζ, x)为邻域中心点与邻近点ζ的几何邻近度;k(x)为归一化参数;s(f(ζ), f(x))度量了邻近中心点x与邻近点ζ的光度相似性。
利用双边滤波估计透射率为:
$t(x) = \frac{1}{{w(x)}}\sum\limits_{y \in \mathit{\Omega }(x)} {{G_{{h_s}}}(||x - y||) \cdot {G_{{h_r}}}(|{L_x} - {L_y}|)} {t_0}(x)$ | (11) |
其中:t0(x)表示透射率的初步估计值;w(x)为归一化系数;Ω(x)表示中心点(x, y)的(2N+1) *(2N+1) 大小的邻域窗口,其值越大平滑作用越强,但运算量增加;L是图像的强度值;G为高斯函数,受输入图像的L值影响。将双边滤波器分解成一组空域与值域并行的滤波器,实现并行处理,能大大提高运算速度。
图 2分别为利用软抠图、导向滤波与本文算法对透射率进行细化后的透射率图,它们对透射率进行细化所花费的时间分别是18.344 s, 2.156 s和0.675 s。可以看出,本文快速双边滤波算法在处理时间远优于软抠图算法,且效果较好。利用细化后的透射率图即可根据式(8) 求出非天空区域去雾图像。
在车载装置采集到的交通图像中,天空区域所占比例通常较大,暗原色先验去雾算法对天空区域的处理效果较差,易出现过渡区域明显和偏色现象。由于天空区域像素值分布比较均匀,无深度突变的图像,因此,采用直方图均衡化算法计算天空区域的局部直方图,重新分布亮度来来改变图像对比度,对天空区域进行较好的处理。
将处理后的天空区域与非天空区域通过图像融合的方法进行融合,获得最终无雾的交通图像。由于只对原交通图像的非天空区域进行暗原色先验算法去雾,因此,整幅图像的去雾时间将大大减少,从而能提高算法效率。
3 实验结果与分析本文算法在Intel Xeon E5620 CPU @2.40 GHz 2.40 GHz,内存为4 GB的PC上进行实验验证,操作系统为Windows 7,开发平台为VS2008。
在本文算法中,主要涉及了改进的均值漂移、快速双边滤波以及直方图均值化。快速双边滤波和直方图均值化算法相当于一个常数阶的复杂度,因此整体复杂度主要取决于改进的均值漂移算法中平均每一个像素点每一次迭代的计算代价和参与迭代的像素点数,而算法中参与迭代的像素数远小于像素点总数,所以理论上本文算法能够快速有效地去除交通图像中的雾气,并解决暗原色先验算法中天空区域色彩失真等问题。
本文所提去雾算法的最终目的是为后续交通标志检测系统服务,消除交通图像中天空区域去雾效果不理想对交通标志识别的影响,因此通过对去雾效果以及后续交通标志识别对比实验来验证本文算法的可行性。
实验采用的交通标志图像数据库是通过自行采集、网络搜索与公开数据库相结合等方式获取构建的,库中共有雾霾天气下交通标志图片300张,图片原始分辨率为922×691,为满足现阶段及未来一段时间内的图像质量水平,通过专业图像编辑处理软件对数据库中图片分辨率进行调整,调整后数据库内图片分辨率为1 360×800。
3.1 实验结果图 3是对数据库中的图片分别用文献[8]、文献[9]、文献[12]和本文算法进行去雾的效果比较,从实验结果中可以直观看出,本文算法在非天空区域的去雾效果与对比算法效果接近,均能有效去雾,而在天空区域则很好地解决了对比算法中天空区域失真、存在偏色等问题。
本文算法主要是为后续交通标志检测系统提供服务,因此对去雾后的交通标志检测效果进行验证,图 4是分别对原图和利用四种算法进行处理去雾后的图像进行交通标志检测的结果。从实验结果中可以直观看出,对通过本文算法处理后的图片进行检测的准确度更高。
为了更好地说明本文算法的实时性与有效性,对上述四种对比算法从新增的可见边之比(e)、可见边的规范化梯度均值(r)、信息熵、算法运行时间以及后续交通标志检测数量五个方面进行定量分析,结果如表 1所示。其中:检测数是指对图像进行检测时,算法中判定为交通标志的个数;误检数指误判为交通标志的个数;真实数指图像中交通标志的真实数量。
新增可见边之比e值越大,表明复原后可见像素点相对原图像越多,根据可见像素点确定的可见边数目也越多;而且去雾效果越好新增可见边之比e值有可能为负值,主要是因为对于一些去雾图像尽管复原后可见像素点相对原图增多,但由于这些像素点连成片区域,因此在统计可见边数目时,反而比原图像的可见边数目减少,从而导致e值为负数。梯度均值r表示图像的相对清晰程度,梯度均值越大,图像层次越多,图像越清晰。信息熵是图像带有的信息量的度量,图像的信息量越大,信息熵也越大。从表 1中数据可以看出,本文去雾算法所得图像在可见边之比(e)、可见边的规范化梯度均值(r)和信息熵指标上都有所提升,运行时间较对比算法也均有所减少,后续交通标志检测数量与图像中真实数目最接近,能够满足交通标志检测系统图像预处理的需求。
4 结语现有去雾算法处理天空区域时存在过渡区域和色彩失真现象,不能满足交通标志检测系统参数提取的需求,为此本文提出采用改进的均值漂移算法先对交通图像进行分割,对分割后的非天空采用暗原色先验算法去雾,并用快速双边滤波对透射率进行平滑和细化;对天空区域则采用直方图均值化算法去雾。经过实验验证,该方法能够避免暗原色先验算法在天空区域出现的明显过渡区域和色彩失真现象,在去雾效果与实时性上均能满足后续交通标志检测系统的应用需求,在后续交通标志检测准确率上有较大提升。本文算法由于算法过程略微复杂,目前只能应用于单幅交通标志图像上,未来将进一步优化算法,在不降低去雾效果的情况下对算法进行改进,提升算法运行效率,并把算法应用到交通视频序列中,以适应更多的交通环境情景。
[1] | 郭璠, 蔡自兴, 谢斌, 等. 图像去雾技术研究综述与展望[J]. 计算机应用, 2010, 30(9): 2417-2421. (GUO F, CAI Z X, XIE B, et al. Review and prospect of image dehazing techniques[J]. Journal of Computer Applications, 2010, 30(9): 2417-2421.) |
[2] | 吴迪, 朱青松. 图像去雾的最新研究进展[J]. 自动化学报, 2015, 41(2): 221-239. (WU D, ZHU Q S. The Lastest research progress of image dehazing[J]. Acta Automatica Sinica, 2015, 41(2): 221-239.) |
[3] | KIM J-Y, KIM L-S, HWANG S-H. An advanced contrast enhancement using partially overlapped sub-block histogram equalization[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2001, 11(4): 475-484. DOI:10.1109/76.915354 |
[4] | SEOW M-J, ASARI V K. Ratio rule and homomorphic filter for enhancement of digital colour image[J]. Neurocomputing, 2006, 69(7/8/9): 954-958. |
[5] | RUSSO F. An image enhancement technique combining sharpening and noise reduction[J]. IEEE Transactions on Instrumentation and Measurement, 2002, 51(4): 824-828. DOI:10.1109/TIM.2002.803394 |
[6] | RAHMAN Z U, JOBSON D J, WOODELL G A. Retinex processing forautomatic image enhancement[J]. Electronic Imaging, 2002, 13(1): 100-110. |
[7] | OAKLEY J P, SATHERLEY B L. Improving image quality in poor visibility conditions using a physical model for contrast degradation[J]. IEEE Transactionson on Image Processing, 1998, 7(2): 167-179. DOI:10.1109/83.660994 |
[8] | HE K, SUN J, TANG X. Single image hazeremoval using dark channel prior[J]. IEEE Transacions on Pattern Analysis and Machine Intelligence, 2010, 33(12): 2341-2353. |
[9] | TAN R T. Visibility in bad weather from a single image[C]//CVPR 2008:Proceedings of the 2008 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC:IEEE Computer Society, 2008:1-8. |
[10] | FATTAL R. Single image dehazing[J]. ACM Transations on Graphics-Proceedings of ACM SIGGRAPH 2008, 2008, 27(3): Article No. 72. |
[11] | TAREL J P, HAUTIERE N. Fast visibility restoration from a single color or gray level image[C]//Proceedings of the 2009 IEEE 12th International Conference on Computer Vision. Piscataway, NJ:IEEE, 2009:2201-2208. |
[12] | HE K, SUN J, TANG X. Guided image filtering[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013, 35(6): 1397-1409. DOI:10.1109/TPAMI.2012.213 |
[13] | ZHANG J, LI L, YANG G, et al. Local albedo-insensitive single image dehazing[J]. The Visual Computer, 2010, 26(6/7/8): 761-768. |
[14] | 孙伟, 李大健, 刘宏娟, 等. 基大气散射模型的单幅图像快速去雾[J]. 光学精密工程, 2013, 21(4): 1040-1046. (SUN W, LI D J, LIU H J, et al. Fast single image fog removal based on atmospheric scattering model[J]. Optics and Precision Engineering, 2013, 21(4): 1040-1046.) |
[15] | DING M, TONG R F. Efficient dark channel based image dehazing using quadtress[J]. SCIENCE CHINA Information Sciences, 2012, 56(9): 1-9. |
[16] | ZHU Q, HENG P A, SHAO L, et al. A novel segmentation guided approach for single image dehazing[C]//Proceedings of the 2013 IEEE Internationgal Conference Robotics and Biomimentics. Piscataway, NJ:IEEE, 2013:2414-2417. |
[17] | FUKUNAGA K, HOATEFLER L D. The estimation of the gradient of a density function, with applications in pattern recognition[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1975, 21(1): 32-40. |
[18] | YANG Q X, TAN K H, AHUJA N. Real-time O(1) bilateral filtering[C]//CVPR 2009:Proceedings of the 2009 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC:IEEE Computer Society, 2009:557-564. |