APP下载

一种基于通道差分先验的图像能见度检测算法∗

2024-01-26沈佳凯梁卓然胡德云冯远静杨焕强

传感技术学报 2023年12期
关键词:透射率能见度先验

陈 赞,沈佳凯,梁卓然,胡德云,冯远静,杨焕强

(1.浙江工业大学信息工程学院,浙江 杭州 310023;2.杭州市气象局,浙江 杭州 310051)

能见度随着大气中雾、霾、灰尘的增多而降低,对农业生产、航空、航海[1]和道路安全产生重大的影响,能见度的准确检测,对社会的生产、生活具有重要意义[2]。目前,气象监测站的能见度检测仪主要为前向散射式能见度仪,该类仪器利用光在大气中的散射,实现能见度的检测[3]。由于专业的能见度检测仪需要配备信号发射和接收单元[4],具有价格昂贵、体积大、维护复杂、应用场景有限等缺点。

近年来,随着计算机视觉的快速发展,基于视频图像的能见度检测方法越来越受到研究者的关注[5]。这些方法无需额外的设备,只需要借助已有的监控摄像机拍摄的视频图像,即可估计能见度。基于图像的能见度估计算法构建了图像与能见度值之间的映射关系,主要分为基于深度学习和基于物理模型两类方法。

基于深度学习方法主要通过神经网络构建图像与能见度值之间的映射关系。Chaabani 等[6]使用全连接神经网络对图像进行能见度等级分类;Li 等[7]使用卷积神经网络(Convolutional Neural Networks,CNN)网络,通过预先训练的AlexNet 来估计图像能见度;Choi 等[8]则采用VGG 模型(Visual Geometry Group,VGG)预测能见度等级;吴琪等[9]利用序数关系和三元组相对学习检测能见度;闫宏艳等[10]设计注意力模块融合深度视觉特征、传输矩阵特征和场景深度特征进行能见度等级识别。Song 等[2]使用CNN 和循环神经网络(Recurrent Neural Network,RNN)相结合进行能见度特征提取,并使用条件概率神经网络进行分布预测。基于深度学习的方法需要准确的能见度标注数据进行训练,并且在训练阶段需要消耗较多的计算资源,不适合大范围推广应用。

基于物理模型的方法主要通过提取图像的对比度、颜色等特征或者构建能见度与消光系数的关系来反演能见度。Babari 等[11]使用图像像素的朗伯度作为图像对比度的权重;Xiang 等[12]通过提取平均索贝尔梯度和暗通道比率,构建能见度估计模型;Varjo 和Hannuksela[13]通过将Retinex 滤波后的图像投影并提取特征来计算能见度;Negru 和Nedevschi[14]通过检测图像中拐点和水平线的位置计算能见度,但是该方法需要对相机进行精确的几何校准;Graves 和Newsam[15]根据图像对比度与大气透射率的关系,提出了一种线性回归模型计算消光系数;Li 等[16]通过参考图像和被测图像的透射率比值计算消光系数,进而反演能见度;王涌等[17]通过非局部雾线先验计算透射率。这些方法具有计算复杂度小,对计算机硬件要求低的特点,但是对场景的要求较高,在实际复杂的背景下无法较准确地计算能见度。

综合上述出现的问题,本文提出了一种基于通道差分先验的图像能见度检测算法,通过全景分割网络提取参考图像和被测图像的感兴趣区域(Region of Interest,ROI),计算ROI 的透射率比值,进而反演能见度,相比于其他基于参考图像的能见度计算方法,本文提出的方法降低了平均相对误差,提高了判定系数,并且对于曝光图像具有良好的鲁棒性。

1 大气散射模型

大气散射模型[18]描述了雾天图像的成像原理,如式(1)所示:

式中:x表示图像像素点的坐标,I(x)表示被测试的有雾图像,J(x)表示恢复的无雾图像,t(x)表示透射率,A∞表示大气光值。图1 展示了雾霾天气的图像成像过程,透射衰减项J(x)t(x)会导致图像的亮度降低,环境光散射形成的大气光值项A∞(1-t(x)),提高了图像亮度,降低了饱和度。

图1 雾霾天气的成像示意图

假设大气中雾的分布是均匀的,根据朗伯比尔定律[19],透射率t(x)可表示为:

式中:β为消光系数,表示被测图像的大气浑浊度,d(x)为物体到相机的距离,透射率t(x)描述了物体反射光中未被散射并到达相机的光的占比,本文提出的基于通道差分先验的能见度检测方法正是基于透射率来计算的。

2 通道差分先验的能见度检测算法

本文提出的能见度检测算法的整体结构如图2所示,首先使用统一全景分割网络(Unified Panoptic Segmentation Network,UPSNet)[20]对参考图像进行像素级分割,提取ROI,并计算其最大外接矩阵,采用颜色恒常先验法(Color Constancy Prior,CCP)[21]计算最大外接矩阵的大气光值,然后使用通道差分先验模型(Channel Difference Prior,CDP)[22]计算其透射率,通过加权插值和引导滤波[22]相结合的方法对透射率进行优化,最后,利用被测图像和参考图像在ROI 上的透射率比值,通过非线性拟合模块计算能见度。

图2 基于通道差分先验的能见度检测算法框架图

2.1 全景分割选取ROI

由于天空区域的像素点接近于白色,灰度值较高,并且极易受到云朵飘动和日光直射的影响,因此该区域计算的透射率往往是不准确的;而图像近景区域中的路面容易受到车流和雨水反光的影响,植被容易因季节变化而改变颜色和形状,因此会导致被测图像近景区域计算的透射率与参考图像的透射率不匹配。针对以上问题,在计算图像透射率前对图像进行全景分割,选取远景区域作为ROI。

使用UPSNet 全景分割网络对图像进行像素分割,UPSNet 的主要结构如图3 所示,该结构的骨干网络通过深度残差网络(Deep Residual Network,ResNet)[23]和特征金字塔网络(Feature Pyramid Networks,FPN)[24]提取不同层次的特征,分别输入到语义分割头部和实例分割头部。语义分割头部使用来自FPN 的多尺度特征,通过可变形卷积网络预测语义类,实例分割头部则参考Mask R-CNN[25]设计,输出包括类别、边界框和分割掩码,最后,通过全景分割头部融合两个分支的输出信息,生成全景分割预测结果。

图3 UPSNet 模型结构

2.2 基于颜色恒常先验计算大气光值

大气光值的估计是计算图像透射率的关键步骤之一,通常将雾最浓或者最不透明区域的像素值作为大气光值[26]。最常用的大气光值估计法是暗通道先验(Dark Channel Prior,DCP)[27]中的估计方法,具体地,对于输入图像I(x),其暗通道Idark(x)定义为:

式中:Ic表示c颜色通道的图像,Ω表示以像素点x为中心的局部图像块,而大气光值A∞可以根据暗通道中最亮的0.1%像素点来确定:

采用DCP 的方法很容易将发光物体(如灯和天空)的像素值当作大气光值,导致估计值偏高,因此,本文采用CCP 估计大气光值,视图像中场景深度较大的区域为最不透明的区域,具体实现如下,首先计算图像I(x)的pi:

式中:v表示图像HSV 颜色空间中的明度,由pi构成的集合P可表示为:

式中:L和W分别表示图像I(x)的长和宽,对集合P的元素进行降序排列,得到U1:

取出U1中前α%的像素点并统计其明度:

式中:代表明度值前α%像素点的索引M1为:

对集合KB的元素进行降序排列,得到U2:

删去U2中前γ%的像素点,统计剩余像素点的明度:

式中:代表明度值前γ%像素点的索引M2为:

取出集合Kb中的最大元素(一个或者多个):

计算集合M3的元素在原图I(x)的像素索引:

像素索引F即为图像中最不透明区域的像素索引:

大气光值A∞即为图像I(x)在像素索引F上的像素值:

2.3 基于通道差分先验计算透射率

透射率反映了图像中同一景深下雾浓度的大小,本文采用通道差分先验法计算透射率,由式(1)可得:

式中:大气光值A∞采用CCP 求解,通过以ε的步长遍历不同大小的t(x)(0≤t(x)≤1),可求得不同t(x)下的J(x),采用如下度量函数判断不同J(x)的去雾效果:

Jc,c∈{r,g,b}表示去雾图像J(x)的RGB 三通道,Ac,c∈{r,g,b}表示大气光值A∞的三通道值,实验结果表明,M0越大,图像去雾的效果越好[22],因此,采用M0最大时对应的t(x)作为图像的透射率。

对于高分辨率的雾霾图像,逐像素地估计其透射率是一项非常耗时的工作。为了节省运行时间,采用基于分块的快速透射率估计方法,将输入图像分成大小固定的小块,如图4 所示,估计每一小块图像的透射率,得到粗略透射率估计图(x),如图5(a)所示,每个小块内的透射率都是一个常数。

图4 输入图像分块

图5 透射率估计图

进一步采用加权插值法对~t(x)进行优化,首先计算tL(x0):

式中:x0表示当前位置的像素索引,寻找距离x0最近的N个小块,采用如下公式计算(x):

式中:xi表示第i个小块中心的像素索引,σI为常数。经过加权插值后的透射率估计图(x)得到了一定的细化,如图5(b)所示。最后,通过引导滤波对(x)做进一步优化,得到最终的图像透射率t(x),如图5(c)所示。

2.4 计算能见度

式中:t(ROI)表示ROI 区域的透射率,E表示计算-ln(t(ROI))的平均值,同样的,计算参考图像的平均透射率,并通过回归模型反演能见度:

式中:参数a和b为通过交叉验证法拟合的参数[28]。

3 实验及结果分析

3.1 实验设置

本文在CPU 为Intel i5-10600KF 4.10GHz,内存为16 GB 的PC 机上进行实验。使用杭州市气象局提供的图像数据进行测试分析,图像数据主要分为区域站图像和社会视频图像,其中区域站图像指专业气象观测站内监控摄像头拍摄的图像,社会视频图像指城市监控摄像头拍摄的图像。区域站图像的能见度标注数据来自区域站内的专业能见度检测仪,社会视频图像的能见度标注数据使用距离最近的气象观测站(距离小于3 km)的观测数据。

采集了4 组区域站图像和2 组社会视频图像,对数据进行清洗整理,删除镜头污染图像。由于雾在大气中的分布是不均匀的,即使是区域站内能见度仪器检测的观测值,其对应图像的能见度值也会产生一定的偏差,因此,在杭州市气象局专业人员的帮助下,对区域站图像数据和社会视频图像数据进行进一步的清洗,删除了观测值与图像实际能见度不符的数据,最终得到的数据集详细情况如表1 所示。对图像能见度进行分类,分为0~1 km、1 km~2 km、2 km~5 km、5 km~10 km 和>10 km,图6 为不同能见度范围的图像实例。

表1 测试的能见度图像数据集

图6 不同能见度等级图像实例

3.2 评价标准

为了验证所提方法在不同能见度等级下的准确性和稳健性,本文采用平均相对误差(Mean Relative Error,MRE)和判定系数(Coefficient of Determination,R2)作为评价指标,MRE 的定义如下:

式中:n表示图像数量,Vpre表示算法预测值,Vgt表示仪器观测值,MRE 能够反映预测值与观测值的接近程度。R2的定义如下:

3.3 实验结果和分析

3.3.1 对比实验

采用四折交叉验证法评估算法的性能,并选择以下基于计算透射率比值的能见度估计方法进行对比。

方法一:基于文献[16]的方法,采用DCP 和边缘塌陷[16]的方法计算透射率比值,使用基于暗通道阈值[16]的方法提取ROI,该方法通过参考图像和被测图像的透射率比值,并结合参考图像消光系数来反演能见度。

方法二:基于文献[29]的方法,采用DCP 和引导滤波[29]的方法计算透射率比值并反演能见度,引导滤是一种边缘保持滤波器,将被测图像的灰度图作为引导图像,可以对透射率进行细化。

方法三:基于文献[30]的方法,采用雾线先验[30]计算透射率比值并反演能见度,雾线先验通过像素点在RGB 颜色空间中进行聚类来计算透射率。

区域站的对比实验结果如表2、表3 和表4 所示,黑体数字表示最优结果,其中表2 和表3 分别为富阳国家站和淳安站在不同能见度等级下的MRE实验结果,表4 为4 个区域站的MRE 和R2的实验结果。从表2 和表3 可以看出,本文方法在不同能见度等级下都取得了最优的结果,总体的平均相对误差降低到了15.5%和22.0%。

表2 各方法在富阳国家站上的MRE

表3 各方法在淳安站上的MRE

表4 各方法在区域站上MRE 和R2

值得注意的是,本文方法对高能见度图像的预测准确性相比其他方法有较大的提升,尤其是能见度≥5 km 的图像,主要原因是本文方法在高能见度图像下能够计算出更准确的大气光值和透射率。由表4 可知,本文方法在4 个区域站上都取得了最高的判定系数,除建德站外,本文方法在其他区域站上都取得了最低的平均相对误差。

社会视频图像的对比实验结果如图7 和图8 所示,本文方法在2 个社会视频站点上也取得了最高的判定系数,从图7 和图8 的散点图可以看出,本文方法的预测结果更接近观测值,说明本文方法在不同的场景上具有较好的适用性。

图7 洋溪雅鼎路站点的散点图

图8 运河公园体育场站点的散点图

3.3.2 消融实验

为了验证本文算法中每个模块的有效性,定义如下模块,Med-A 表示只将本文方法中大气光值估计方法替换成DCP[27]中的大气光值估计方法;Med-T 表示只将本文方法中的透射率计算方法替换成DCP[27]中的透射率计算方法;Med-P 表示将本文方法中的全景分割提取ROI 模块去除。

表5 给出了消融实验的结果,其中黑体数字表示最优结果,由表5 可知,将本文方法中的其中一个模块移除或者替换成其他传统方法,都会降低算法的性能。相比本文方法,Med-P 的MRE 明显升高,R2甚至出现了负数,说明引入全景分割提取ROI 模块对算法性能的提高有较大的作用;本文方法与Med-T 相比,MRE 降低0.2%~12%,R2提高0.025~0.418,说明基于通道差分先验的计算透射率的方法优于传统的暗通道先验的方法;本文方法与Med-A相比,MRE 降低2.6%~ 20.1%,R2提高0.076~0.788,说明基于CCP 的大气光值估计模块优于传统方法[27];但是在一些场景中的提升作用较小,主要原因是在某些场景下用传统方法[27]估计的大气光值也较准确。

表5 消融实验结果

3.3.3 曝光图像实验

针对曝光图像实验,筛选得到156 张富阳国家站的曝光图像进行测试,图9 为富阳国家站正常图像与曝光图像的实例。实验结果如表6 和表7 所示,相比其他方法,本文方法取得了最高的判定系数,在能见度范围为5 km~10 km 和≥10 km 的图像上,本文提出算法的MRE 达到了20.9%和31.3%,远远超过其他方法,这得益于本文方法在曝光图像下依然能够计算出相对其他方法更准确的大气光值和透射率,体现出本文方法具有更强的鲁棒性,在能见度范围为1 km~2 km 和2 km~5 km 的图像上,本文方法的MRE 也均低于30%。

表6 曝光图像的MER 结果

表7 曝光图像的R2 结果

图9 富阳国家站正常图像与曝光图像实例

4 结束语

本文提出了一种基于计算透射率比值的能见度估计算法,通过全景分割神经网络分割图像并提取ROI,采用颜色恒常先验法计算图像的大气光值,使用通道差分先验法计算图像的透射率,并通过加权插值和引导滤波优化透射率。最后,计算被测图像和参考图像感兴趣区域的透射率比值,通过非线性拟合模块反演能见度。实验表明,本文提出的方法相比其他基于计算透射率比值的能见度计算方法在MRE 和R2指标上都占有优势,能够更准确有效地估算能见度,同时对于曝光图像具有良好的鲁棒性。由于通道差分先验法需要遍历不同大小的透射率,因此本文方法在计算耗时上比其他两种基于暗通道先验的方法长一些。

猜你喜欢

透射率能见度先验
2005—2017年白云机场能见度变化特征及其与影响因子关系研究
基于无噪图像块先验的MRI低秩分解去噪算法研究
纯色太阳镜镜片耐日光辐照性能试验研究
基于自适应块组割先验的噪声图像超分辨率重建
低能见度下高速公路主动诱导技术的应用
前向散射能见度仪的常见异常现象处理及日常维护
前向散射能见度仪故障实例分析
基于平滑先验法的被动声信号趋势项消除
先验的废话与功能的进路
石墨烯光栅太赫兹透射特性的研究