基于集成学习策略的高速公路气象识别

2024-01-02 09:25陈德实
广东公路交通 2023年6期
关键词:阴天晴天天气

陈德实

(广东省高速公路有限公司京珠北分公司,广东 韶关 512735)

0 引言

雨天、雾天、雪天及路面积雪、结冰等自然天气现象导致的能见度低、路面湿滑等造成车辆行驶困难,易造成严重的交通事故;同时天气变化多端,同一时间高速公路不同路段天气状况不同,尤其是一些极端天气会对高速公路运行造成影响,因此需要实时监测不同路段的天气状况,对恶劣天气做出及时响应[1-4],实时管控高速公路运行状态,确保高速公路运行安全。

目前,传统的天气识别主要依靠传感器或人类自己的视觉来完成。传感器的前期安装和后期维护需要耗费大量的人力、物力和财力,而且天气状况的识别精度和实时性会受到周围环境的影响,导致天气识别出现误差。相对而言,天气图像的获得比较容易,因此,基于天气图像的天气识别方法逐渐盛行起来。Lu[5]等通过提取图像的天空、阴影、映射和薄雾特征,实现了晴天和多云的天气分类;Roser[6]等和Yan[7]等通过计算天气图像不同区域的亮度、饱和度和色彩等,利用支持向量机实现了车载视觉系统的晴天和雨天的识别;马啸[8]等和孟凡军[9]等在传统K均值聚类的基础上,通过提取图像饱和度分量作为识别雾霾天气的特征,从而实现了雾霾天气的识别;于浩[10]等通过提取图像的色相、饱和度和亮度等特征,采用贝叶斯分类,实现对雨天和雾天的识别。

上述方法手动进行特征的提取,只能进行两种或三种天气类型的识别,泛化性不高,准确率也较低。高速公路监控图像只关注道路特征,天空特征不明显。针对这些问题,本文采用集成学习策略,通过高速公路监控图像对雾天、雪天、雨天、阴天和晴天等五类天气进行识别,及时对恶劣条件下的路面情况进行预警。

1 集成学习策略

集成学习[14]可以使用多个模型进行组合,从而得到一个更好的模型,还可以根据遇到的具体问题研究者自己设计不同的组合方案来获得更优的模型,这是集成学习作为一种组合优化方法的优势。

集成学习算法之间的主要区别在于以下5个方面[15]:不同的集成学习算法选择不同的基础分类器作为构建块;集成学习算法可以采用不同的训练方式;集成学习算法使用不同的集成方法将多个分类器的预测结果进行综合;集成学习算法通过增加分类器之间的差异性来获得更好的集成效果;不同的集成学习算法可以采用不同的预测策略来生成最终的预测结果。在选择合适的集成学习算法时,需要考虑具体问题的特点、数据集的特征以及算法的性能和适用性,以及对于所需性能的需求。

1.1 数据集的构建

收集涵盖不同天气条件下的高速公路气象数据集,包括各种天气条件下的摄像头图像、气象传感器数据等。预处理步骤包括数据清洗、数据标注和图像增强等。从华南、华东和东北各一个省的路面摄像头截取视频帧,共截取 104 621张图片,其中训练集:阴天20 565张、雾天16 145张、雨天20 829张、雪天18 836张、晴天19 006张;测试集:阴天1 918张、雾天1 743张、雨天1 118张、雪天1 639张、晴天2 552张。部分高速公路气象图片如图1所示。

图1 部分高速公路天气图像

1.2 数据增强

图像识别的精确度不仅与算法本身相关,还依赖于训练样本。数据增强被用于模型训练过程中,常用的数据增强方法包括随即缩放裁剪、图像拉伸、旋转、水平翻转等。针对天气图像的特点,本文采用图像随即缩放裁剪进行图像增强,如图2所示。

图2 图像增强

1.3 集成学习策略

本文采用经典识别网络DenseNet121进行五类天气的识别。使用DenseNet121作为基础分类器,在训练集上进行训练,基于训练集的随机子样本进行多次训练,每次使用不同的参数初始化或数据采样,得到多个不同的DenseNet121模型。针对容易混淆的阴、晴两类天气进行识别,在ResNet-18基础上加上度量学习MS-Loss,提高识别的准确率。通过多次实验确认三种模型权重,达到提高识别准确率的目的。

1.3.1 DenseNet121网络

DenseNet121网络在前向反馈模式中,每一层都连接它之后的层,所以DenseNet121每一层的输入包括当前层之前的其他所有层的输入,加强了特征在层之间的传播和特征复用。DenseNet121的主体结构是dense block,其结构如图3所示。

图3 DenseNet121网络结构示例

使用DenseNet121训练后的测试结果混淆矩阵见表1,整体识别准确率为85.8%,其中晴天和阴天两种类别容易识别错误。

表1 DenseNet121测试结果混淆矩阵

1.3.2 ResNet-18

针对晴天、阴天容易识别错误的问题,本文采用ResNet识别网络模型进行晴天和阴天二分类识别。ResNet主要包含5种深度的网络结构,大致可以分为两类:第一种是BasicBlock,主要用于ResNet-18、ResNet-34这些浅层网络上;第二种是Bottleneck,主要用在ResNet-50、101和152甚至更深层的网络结构。本文采用ResNet-18结构网络,主要包含4层,其结构如图4所示。

图4 ResNet-18结构

采用ResNet-18进行晴、阴二分类训练后的测试结果混淆矩阵见表2,整体识别准确率为88.0%,晴天和阴天两种类别的识别准确率得到提高。

表2 模型2测试结果混淆矩阵

1.3.3 度量学习MS-Loss

度量学习是对模型卷积层学到的特征向量,在其特征空间内拉大类间间距,缩小类内间距。计算方式如式(1)所示:

(1)

式中:Sik为样本对的余弦相似性;λ为相似度;α、β为超参数。

如图5所示,对于一个batch里ResNet-18输出的特征向量,计算样本对的自身间的相似度、自身与正样本对的相似差异性、自身与负样本对的相似差异性等三种相似度。流程为:

图5 MS-Loss计算过程

(1)样本筛选,选择样本对的自身间的相似度较大的样本。

(2)样本加权,将自身与正样本对的相似差异性和自身与负样本对的相似差异性对样本加权。

从表3可见,ResNet-18加入采用度量学习计算后,整体的天气识别准确率提高至88.2%。由此可见,采用度量学习可提高天气识别的准确率。

表3 ResNet18+MS-Loss测试结果混淆矩阵

1.3.4 集成学习

集成学习常见的结合策略包括平均法、投票法及学习法等,其中较常用的为加权投票法。

加权投票法[16]首先估计出个体学习器的误差,然后使权重大小和误差大小成反比,最终T个个体学习器加权投票的结果如式(2)所示。

(2)

从以上三种模型的测试结果可以看出,单一模型只关注于一种特征,使用单一模型对高速公路天气进行识别达不到要求,所以采用集成学习对天气进行识别。本文采用的集成学习策略为:

模型1:对完整的五分类训练集采用densenet121模型[11]进行训练,得到85.8%五分类准确率。

模型2:对训练集取晴、阴二分类,并对训练集进行抽帧筛选处理,用ResNet-18[12]进行训练,得到88.0%二分类准确率。

模型3:对五分类训练集进行抽帧筛选处理,用ResNet-18+MS-Loss[13]进行训练,得到88.2%五分类准确率。

模型1输出概率向量a,模型2(晴、阴二分类模型)输出概率向量b,模型3输出概率向量c。模型1发挥模型2的晴、阴二分类的优势,并与模型3进行决策融合,较好地改善了晴、阴二分类的准确率。概率加权平均计算公式如式(3)所示。

p=γ·a+(1-γ)·c

(3)

集成学习策略测试结果见表4,识别准确率达到91.0%。从表1~表4的测试混淆矩阵可以看出,集成学习方法较好地改善了晴、阴二分类的识别准确率。

表4 集成学习测试结果混淆矩阵

2 道路状况判断

考虑到天气寒冷时会出现虽然天气是晴朗的,但是路面会存在积雪、积水或结冰的现象,需要对路面情况进行判断。

2.1 语义分割

语义分割网络通常包括编码器和解码器两部分。编码器常用一个预先训练的分类网络,如mobilenet、resnet等,然后使用解码器对编码器学习到的低分辨率的图像特征语义投影到高分辨率的像素空间上,得到像素级的分类。

文献[17]提出了第一种语义分割结构—全卷积神经网络(FCN),也是第一次将深度学习应用到语义分割上,但存在精度较低、对细节不敏感及忽略空间的一致性等缺点。文献[18]提出了SegNet网络,在解码器中加入了最大池化指数,以提高分割分辨率。文献[19]提出了DeepLab网络,将空洞卷积加入了分割网络中,提出了在空间维度上实现金字塔型的空洞池化及全连接条件随机场。文献[12]提出了DeepLabv3+网络,为了扩展DeepLabv3,结合空间金字塔池化结构和编码解码器结构设计一个简单而有效的解码器模块,以细化分割结果,且详细研究了Xception模型,并将深度可分离卷积添加进解码器模块,提升了编码解码的性能,在不影响推理速度的基础上较大地提高了分割的准确度。本文采用DeepLabv3+网络对路面进行分割,从而识别出路面积水、积雪等区域。

2.2 天气识别整体算法流程

由于从高速公路监控视频中很难判断是否结冰,本文采用语义分割算法对路面进行积水和积雪的分割识别。首先识别出路面,再对路面进行积雪和积水的检测,结合天气预报或温度传感器判断路面是否结冰。识别流程如图6所示。

图6 天气识别整体流程

天气识别的步骤:

(1)使用五分类天气识别模型对输入图像进行特征提取,识别出图片中的天气类别,输出阴天、晴天、雾天、雨天及雪天的概率。

(2)若阴天、晴天的概率在前2位,则使用阴、晴二分类模型进行分类,提高阴、晴识别的准确率。

(3)根据步骤2得到的天气识别结果,若为雨天或雪天则对图片进行路面分割,得到路面区域,并通过特征提取判断路面是否积雪或积水。

(4)当路面区域检测出白色雪状时判断路面积雪,当路面区域出现反光且车辆行驶溅起水花时判断路面积水。通过温度传感器或天气预报得到当前温度,若温度低于阈值,则判断为路面结冰,否则为路面积水。

(5)输出图片天气识别结果及路面状态检测结果。

3 工程应用

将基于集成学习策略的天气识别模型接入高速公路视频事件识别系统中,系统每隔5min进行天气识别,图7为视频事件识别系统。系统接入韶关路段的监控视频,统计了12月至1月的天气识别准确率达到了90%,实现了大雨、大雾等恶劣天气的及时告警。

图7 视频事件识别系统

4 结语

本文采用集成学习策略,通过集成多个分类器的预测结果,可以降低由单个分类器引起的误差,提高气象识别的准确性。不同的分类器可能会捕捉到不同的特征和模式,从而提供更准确的预测结果。在气象识别工作中,不同天气条件的样本可能存在类别不平衡。集成学习可以通过综合多个分类器的结果,达到更好的类别平衡,防止模型对少数类别的过拟合。

针对高速公路较难分辨的晴天和阴天,将DenseNet121、ResNet-18、ResNet-18+MS-Losss三个模型进行融合,有效地提高了晴天、阴天的识别准确率。同时,通过语义分割方法在天气晴朗或阴天时也能准确识别天气,并检测出路面积水、积雪或结冰,为高速公路安全运营提供良好的保障。

猜你喜欢
阴天晴天天气
它若安好,便是晴天
天气冷了,就容易抑郁吗?
一起来写“雪”
谁是天气之子
太阳躲在哪里
盛暑天气,觅得书中一味凉
Weather(天气)
给阴天染上色彩
晴天有时下猪
阴天