基于深度学习的公路能见度分类及应用
来源:用户上传
作者:黄亮 张振东 肖鹏飞 孙家清 周雪城
摘要以VGG16为基准模型,融合批归一化处理、全局平均池化和联合损失函数,提出了一种基于卷积神经网络的高速公路雾天能见度等级分类方法。实验结果表明,改进后的神经网络模型的平均识别正确率达83.9%,相较于其他几种模型具有较高的正确率和较好的收敛性。将模型封装入业务系统后进行业务化检验,其平均识别正确率可达84.9%,且白天识别效果要优于夜间。通过系统监测到2019年4月4日京沪高速发生了一次团雾动态生消过程。该次团雾过程具有移动快、范围小、生存时间短的特征。系统的应用能够为交通管理部门应对团雾发生时的智能管控和决策调度提供技术支持。
关键词能见度;图像识别;团雾;卷积神经网络
雾是一种发生在近地层的灾害性天气,其引起的视程障碍常造成的追尾、侧翻等事故。这不仅严重威胁着驾车人员生命财产安全,还会降低高速公路通行能力。目前对于雾的预报准确性还不高(费冬冬等,2016;于文金等,2016),而对于团雾的预报和监测就更加困难(滕华超等,2014)。因此团雾监测能力的提高对于高速公路安全管控将是重要的技术保障(张振东等,2016)。
目前对于能见度监测除了人工观测外,最广泛使用的是能见度仪,但由于能见度仪布设和维护成本高,不利于高密度的安装,因此对于局地浓雾和团雾的监测能力有限(王敏等,2017),而利用高速公路视频监控作为雾识别的辅助设备将会是很有效的补充。以往雾图像识别技术多从图像特征的角度进行分析研究,如Hautiereetal.(2006,2008)利用对比度模型获取图像像素灰度值再换算成能见度;Bronteetal.(2009)利用天空和道路的交汇点作为可视点来获取能见度。以上方法均需要特定环境或特殊标注,易受环境因素和障碍物影响,很难大面积应用。近年来,深度卷积神经网络(ConvolutionalNeuralNetwork,CNN)由于采用局部连接和权值共享方式,可无须人为干预自动从图像数据中学习特征(汪泉等,2021),经过优化处理能降低训练参数解决过拟合问题(Geethaetal.,2020),在视觉图像上应用广泛。在能见度识别上也多有尝试,Youetal.(2019)提出了基于卷积神经网络和循环神经网络的模型用于从图像中估计相对能见度,但该模型的适用范围只有300~800m;PalvanovandCho(2019)提出了一个多分支卷积神经网络,结合不同类型的图像场景特征,用于低能见度雾等级估计,但该模型复杂度高,算法效率低,无法满足实际应用要求;Wangetal.(2020)结合可见光图像与红外图像进行全天候能见度估计,但目前公路的红外摄像头较少,无法实现可见光图像与红外图像的匹配,因此无法满足实际应用要求。
因此本研究将寻找一种能够支持多场景、复杂度低、实用性强的模型来解决能见度业务观测问题。Suetal.(2018)研究表明,相对于其他分类模型,多层堆叠式的VGG16具有更高的识别效率,更强的可迁移学习能力,能用结构和数据量有限的训练集构建模型。因此,为实现高效率的公路能见度识别,满足实际应用要求,本文通过改进VGG16模型结构以增加模型稳定性、提升训练速度、提高识别准确率,并通过业务可靠性检验,为高速公路团雾监测和应急处置提供新方法。
1实验方法
1.1模型选择
本实验选择VGGNet中的典型结构VGG16作为基础神经网络模型,将处理后的雾天样本图像输入神经网络中,经过卷积网络处理后会输出样本图像所属类别概率。
VGG16网络模型包含13个卷积层和3个全连接层,在卷积层中由多个大小为3×3的卷积核以步长为1px对上一层特征图进行卷积,提取到这一层的特征图(Newelletal.,2016),获取到一种特征,为加快收敛速度,使用ReLU做非线性变换。获得的特征在池化层中压缩数据和参数数量以对特征进行降维,池化方式采用最大池化(maxpooling),窗口大小为2×2,池化层可以有效防止过拟合并提高模型容错性。全连接层对提取的各层特征映射到样本对应的标记空间,扮演图像分类器的作用。
1.2基于VGG16网络的模型改进
由于实际道路场景与ImageNet数据集中的雾场景差异性较大,直接将VGG16应用于雾天图像分类会影响分类结果,因此根据道路雾天图像特征,在VGG16经典模型上改进,在池化层和卷积层增加了批归一化层,总共设立了5个。在节点的最后用全局平均池化代替原来网络中的全连接层,并用联合损失函数方式来对图像进行最后的分类。整体模型结构如图1所示。
1.2.1批归一化处理
在神经网络训练^程中,因为除了输入层数据外,前面多层训练参数的变化会导致后面层导入的数据也发生变化,这样必定会改变后面每一层输入数据的分布,从而造成“梯度弥散”。为解决训练过程中间层数据发生改变的情况,实验加入了批归一化(BatchNormalization,BN)处理(IoffeandSzegedy,2015),这不仅能够加快模型的收敛速度,还能够解决深层网络中存在的梯度消失情况,让模型更加稳定。
实验将归一化层插入卷积层和激活函数之间,在归一化层中求每个训练批次数据均值和方差,然后激活值被归一化后进行映射,以降低迭代次数,提高准确率。具体处理算法如下:
首先输入m个样本x={x1,x2,…,m},
计算批处理数据均值μ:
方差:
归一化处理:
其中ε为常量,以防止σ=0时等式不成立。
为避免归一化影响特征分布,需通过尺度变换和偏移来恢复原有特征分布:
其中参数γi和βi通过训练得到:
其中:Var为方差函数;E为均值函数。
1.2.2全局平均池化应用
经典VGG16是在卷积层后加入全连接层进行特征向量化处理,但全连接层本身参数量过大,会增加网络的训练量,同时过多的参数也会引起网络过拟合。本实验为增强雾特征和分类结果关系,利用全局平均池化(GlobalAveragePooling,GAP)来代替传统的全连接层(Szegedyetal.,2015)。设计思路是将进入全连接层前的特征图像素均值转换为一个特征点,这样n个特征图就转换为n个特征点,然后组成为1×n的特征向量并代入到softmax中分类(图2)。
nlc202205171632
转载注明来源:https://www.xzbu.com/1/view-15431523.htm