基于图像信息熵优化参数的能见度检测方法
2020-03-15唐菊香宋凤丽
唐菊香 宋凤丽
(南京信息工程大学 江苏省南京市 210044)
1 引言
能见度是指人类眼睛在对比视感阈值为0.05 的情况下,能够从天空背景中看到并且能辨认出目标物的最大水平距离[1]。大气能见度能反映空气污染程度,能见度过低会严重影响交通安全,因此,能见度检测变得极其重要。传统的检测方式主要依靠能见度检测仪,但是设备价格比较昂贵而且测量精度不高,所以不能得到很好地普及。因此现阶段,国内外学者研究主要基于图像处理的能见度检测方法,主要分为对比度法和图像拐点法两种[2]。
在对比度法中,Busch[3]等人使用小波变换算法提取图像的对比度,并通多对比度大于5%的边缘信息估算大气能见度值。韩静[4]提出了一种基于图像的平均灰度值与曝光时间检测大气能见度的方法,该方法易受天气影响而且需要提供完整的道路标志信息。安明伟[5]通过边缘检测方法计算能见度,虽然不需要人工标定摄像机,但是当目标区域被遮挡时,该种方法计算会带来误差。在图像拐点法中,Hautiére[6]、张潇[7]利用边缘检测和区域增长提取出路面的亮度特征,通过消光系数计算能见度。宋洪军[8]通过动态标定交通摄像机参数计算景深信息,然后利用场景透射率得到大气消光系数估计能见度。以上这些基于图像拐点的方法一般需要人工精准标定摄像机,适用场景受到限制。HE[9]提出暗通道先验理论,并广泛应用于图像去雾领域,而利用该方法可以获得大气能见度信息。在此基础上,本文提出一种基于改进暗通道先验法的能见度检测方法。该算法无需预置目标物或者人工标定摄像机,实例分析结果表明算法估计精度较高。下面先介绍一下能见度检测理论。
2 能见度检测理论
光在介质中传播时,受空气中颗粒物吸收和散射的影响会有一定的削弱和增强,这种关系用Koschmieder 定律表示:
其中:
L*0和L0代表物体的观测亮度和固有亮度,β代表大气消光系数,反映光强在空气中传播时的相对衰减率,d(x)称为景深,代表图像上像素点x 所对应的真实场景点到观测器的距离,Ls0代表天空亮度。代表物体亮度的削弱,代表物体亮度的增强。t(x)代表大气透射系数,反映大气光未被介质散射的比例。对于天空区域来说,当时,,即天空的观测亮度会等于固有亮度,由(1)得:
图1:原图、粗糙透射图和导向滤波细化后的透射图
图2:高速公路车道线示意图
图3:算法流程图
由(2):
可以看出,大气透射系数t(x)、景深d(x)和大气消光系数β 通过Koschmieder 定律联系起来。本文在此基础上根据大气透射系数和景深信息计算大气消光系数并最终估计能见度。
3 能见度检测算法
3.1 基于暗通道先验算法的大气透射系数估计
HE[9]通过统计5000 多幅无雾图像,发现了暗通道先验理论:图像的任意局部区域(非天空部分)的像素点至少有一个通道的亮度值趋于0。用数学模型表示:
Ω(x)是以像素点x 为中心的一个局部区域,y 是属于这个局部区域里的像素点,C 代表RGB 通道中的某一通道,JC(y)代表图像某一通道对应的像素值。
“机械工程材料基础B”是由上海理工大学机械工程学院开设的一门学科基础课程,授课对象是非材料类的学生,主要包括能源与动力学院和机械工程学院。这些学院的学生在今后学习专业课和进行科研工作的时候,不需要应用高深的材料学方面的知识,但却要掌握应用需要选择材料的方法和改进材料性能的手段,以及运用理论知识解释工程实际中的现象等。根据机械设计制造及其自动化专业工程认证的要求,按照“评价—反馈—改进”的质量监控和持续改进机制,以“机械工程材料基础B”的课程目标及其对毕业要求的支撑为依据,随机抽取该专业学生的考试结果进行分析和达成度计算,探讨改进教学质量的途径,培养符合工程认证要求的毕业生。
雾霾图像数学模型在图像去雾领域中被广泛使用:
其中,I(x)为有雾图像,J(x)为恢复的清晰无雾图像,A 代表大气光强,由图像中最亮的0.1%点的均值估计。对上式做暗通道处理:
为了防止去雾后的图像产生失真现象,HE[9]引入了雾霾保留参数ω 对(9)式进行修正,并取固定值为0.95:
3.2 基于图像信息熵的雾霾保留参数优化
从(10)式可以看出,雾霾保留系数数ω 的取值将会影响能见度估计的精确性。HE[9]把雾霾保留系数ω 固定为0.95,显然不合适,因为在有雾的图像中,不同区域的雾霾浓度是不一样的。当区域雾霾程度不严重时,ω 取值偏小,而当雾霾程度严重时,ω 取值偏大,若选取固定的ω,透射系数和能见度的估计误差会变大[10]。针对此问题,本文利用图像信息熵对雾霾保留系数 进行自适应调整。
信息熵是一种度量“变化性”的指标,当图像中雾霾比较严重时,图像中的大部分信息会被掩盖,信息熵会比较小,当图像中雾霾不严重时,图片的大部分细节容易识别,信息熵会比较大。因此,信息熵可以来度量图像雾霾的浓度。根据信息熵,本文定义一个与雾霾浓度成正比的参数ω(x):
其中,Ω(x)为图像上像素点x 所属的区域,且x 只属于一个Ω(x),HΩ(x)代表区域的信息熵,y 代表图像I 中的任一像素点。HΩ(x)越小意味着区域Ω(x)的雾霾浓度越大,计算如下:
pi表示图像中灰度值为i 的像素所占的比例。区域半径可以根据不同的图片进行调整,具体分析时,可以利用交叉验证原则找出最优半径值。参数经过动态调整后,大气透射系数可表示为:
图4:车道线端点示意图
图5:能见度估计结果
图6:相对误差结果图
3.3 大气透射系数细化
大气透射系数t(x)会影响能见度检测的精度。由(13)式估计的透射系数较为粗糙,导致透射图产生明显的模糊效应。针对这一现象,本文采用导向滤波算法[11]来解决该问题。如图1 所示,经过导向滤波算法细化之后的大气透射图边界分明,轮廓清晰。
设透射系数t(x)经过导向滤波后变为t(x)*,导向图像采用经过灰度化处理的原始雾霾图像I(x)。算法思想是对透射率图像t(x)进行滤波,使得最后输出的图像t(x)*与t(x)相似,边界部分与引导图I(x)相似。它假设在以像素k 为中心的矩形窗wk内,t(x)*与I(x)满足线性关系:
(14)式中,x 是矩形窗内的像素点,ak和bk是wk内恒定不变的系数。为了使得输入图像t(x)与输出图像t(x)*的差距最小,采用如下平方损失函数:其中ε 是正则化参数,为了防止ak过大,以此来控制平滑程度。然后对损失函数进行拉格朗日求导可解出系数ak和bk,即:
|w|是矩形窗口里像素的个数,根据(14)可以求得细化后的大气透射系数t(x)*:
3.4 大气消光系数估计
大气透射系数细化后,下一步就是估计景深d(x),从而计算大气消光系数β。d(x)一般可以由图像中标定或者预置的目标物确定。本文采用的数据是高速公路监控图像,高速公路的车道线长度L 都有国家标准,选定图像中某一个车道线的起点和终点,结合这两个位置的系数t(x)*和车道线长度L 计算大气消光系数β。如图2 所示。
L 为车道线的长度,国家规定长度为6 米。t1和t2为车道线起点和终点的细化后的大气透射系数。由(5):
若图像中能观察到N 条车道线,计算其均值作为最终的大气消光系数。
3.5 动态调整参数的能见度检测方法流程
动态调整参数的能见度检测算法分为三步:首先基于相应局部区域的图像信息熵计算雾霾保留参数,通过暗通道先验初步估计大气透射系数;然后,用导向滤波算法细化大气透射系数;最后,通过车道线起点和终点细化后的大气透射系数反推大气消光系数,根据能见度公式计算能见度。流程如图3 所示。
4 结果分析
为验证本文算法的有效性,在Intel i5 (2.67 GHz)、8 GB 内存、Windows 10(64 bit)环境下,在Matlab 上实现该算法。采用安徽省境内高速公路数据,图像分辨率为445×338,时间为2017年10月28日早上6:12-9:12,间隔是10 分钟,样本数为18 个。大部分图片都可以清楚的看到三道完整的车道线,所以本文提取三道车道线的起点和终点,如图4 所示(黑点标示)。
本文选择的信息熵计算区域半径为3,结果如图5、图6 所示。图5 为参数动态调整算法的测量结果和参数未经过调整的算法结果,图6 为两种算法检测能见度的相对误差,相对误差的定义如下:
由图5 和图6 可以发现,雾霾保留参数动态调整的算法能见度检测结果与实际值更为接近,误差更小,相对误差基本都在20%以内,估计精度较高。在6:12-9:12 时段内(分别对于图片序号1-18),高速公路的能见度数值基本上一直处于上升的趋势,表明能见度情况一直在好转,本文算法估计的能见度趋势与实际变化趋势一致。与现有的能见度检测方法相比,该算法不需人工标定摄像机相应参数,也不需利用复杂的机器学习进行特征提取,检测较为方便。
5 结语
本文从能见度检测原理出发,利用图像中不同雾霾浓度区域的信息熵差异较大的特性对暗通道先验算法中的雾霾保留系数进行自适应调整,然后用导向滤波算法对大气透射系数进行细化,最后再根据大气光学理论公式计算能见度。与传统的暗通道先验算法中雾霾保留系数设为固定值相比,本文提出的算法估计的能见度估计误差更小,估计的精度更高,而且算法运行速率较快,可为图像能见度识别工作提供一定的参考。