基于支持向量机的路面积水危险水位判断
2022-11-04王思祺王世妍
王思祺, 吴 悠, 王世妍
(1.吉林大学 交通学院, 长春 130022; 2.福州大学 土木工程学院, 福州 350000)
随着交通多项技术的不断发展,车载设备和路侧设备都在不断成熟[1-2],对路侧系统信息的全面性和精度的要求逐渐增高,但因行驶过程中,车辆的快速移动导致监测外界环境复杂多变,当前的感知技术在多个方面的精度都不够高,而监测路况信息需要准确高效,为解决这一供需矛盾,深度学习理论因其学习能力强[3],覆盖范围广,适应性强等优点被广泛应用[4-6],目前在交通领域[7-11]是一个研究热点。
LUO等[8]提出了一种新的数据驱动系统,该系统由3个阶段组成:使用灰色和归一化RGB通道上的最大稳定极值区域提取每一帧的交通标志,通过提出的多任务卷积神经网络对此进行细化并分配到详细类别,最终结合所有帧的结果作出识别决策。丁洁等[9]提出一种利用卷积神经网络对交通拥堵图像进行检测的方法,通过模型构建、模型训练及模型验证,表明该模型能更有效地检测交通拥堵。
在城市积水深度监测方面,国外提出的洪涝模型有数10种,并利用物联网、图像处理等监测城市水位[12-13]。我国在城市积水监测方面的研究与国外相比较少,仲志远[14]通过云台拍摄水尺图像,利用图像处理算法计算城市涵洞积水水位。王彭辉[15]利用超声波模块、电子水尺、温湿度模块及定位模块采集数据,完成水位的监测及预警。此外,已有研究中将深度学习用于环境感知方面,感知的内容主要是交通信号灯等交通标志、交通拥堵、建筑物以及路面凸起凹陷等[8-10],但没有对路面积水水位判断感知的研究报道。
在雨季,我国城市道路极易出现积水,驾驶在积水路面十分危险。为此,本文提出一种基于支持向量机SVM(Support Vector Machine)的路面水位监测判断机制模型,通过设定多种驾驶情况下的道路属性,找寻不同路况的路面上驾驶的安全界限,将其应用于优化路侧设备的环境感知模块。对于同一车型及车速的不同道路状况下,水位的安全阈值不同,同样地,对于不同车型及车速条件下的同一道路条件,水位的安全阈值也会不同,本文主要以普通小轿车的最低底盘高度及正常车速为典型例子,考虑其不同道路环境下的危险水位判断。若对于其他车型情况,则只需修改水位阈值,即可使用本文的模型。
1 模型建立
支持向量机SVM是一种高效的监督学习算法,被广泛用于分类及回归领域。其优势:高维空间非常高效;在数据维度大于样本数量时仍然有效;可根据场景选取不同的核函数,具有通用性。SVM具有超强的分类能力,本文将其用于交通领域,通过模型训练,对不同路况的路面进行积水危险水位的判断,以服务于智能网联系统的环境感知模块。
1.1 支持向量机
支持向量机基本思想是寻找一个超平面使得其能够尽可能将样本正确分开,同时使分开的样本距超平面最远[16],其原理示意如图1所示。中间H为超平面,H1、H2均平行于H且间距相同,同时是能够将2种类型数据准确分开的最远平面。依据该原理,以一个点代表一种路况,每个点包含水位信息和道路属性信息,通过样本训练,寻找超平面,得出综合考虑不同路况的水位划分模型。
在此,以在二维空间的线性二分类为例,该算法是在二维数据集T={(x1,y1),(x2,y2),…,(xN,yN)}中进行,其中xi∈Rn且yi∈{+1,-1},i=1,2,…,N,为了更好地解释其原理,假设数据是线性可分的。
图1 支持向量机原理示意
超平面H表示为:
ωx+b=0
(1)
式中:ω为超平面法线向量;b为分类直线的偏移量。
数据集中各个样本点(xi,yi)至超平面的集合间隔为:
(2)
则求解最大分割距离超平面的问题可转化下面的最优化问题:
s.t.
(3)
(4)
类似地,可将其推广至高维空间及非线性的分类中,正适合于本文对于复杂路况下危险水位的判断。
1.2 建模过程
1.2.1 参数确定
路面积水量在不同道路属性的情况下,对于车辆涉水行驶的影响并不是单一的随水位的变化而改变,同一水位在不同道路属性的情况下,涉水行驶的安全性并不相同。为了更好地适应多变复杂的路况,将道路等级、道路类型、所处路段位置3项作为道路属性的描述参数,如图2所示,通过对不同道路属性相互组合的结果,与积水量一同作为支持向量机的训练集特征对模型进行训练。
图2 道路属性分类
1.2.2 训练集确定
由于路面积水量与所处位置的气象条件及其他诸多因素有关,因此路面积水量是均匀随机的,无法用具体的函数来进行计算和确定其分布,且在不同路况条件下,同一水位对于车辆涉水通过的安全性有所不同。根据不同路况下安全水位与危险水位存在一个界限值,低于界限值的水位为安全水位,高于界限值的为危险水位。结合中国公路的排水现状,借助Python中numpy.random.rand()函数生成了300条介于均匀分布于0 mm~60 mm之间的积水量数据作为模型的训练数据,具体数据分布如图3所示。
图3 非标准化积水数据分布
由于支持向量机算法本身不能很好地支持非标准化的数据,为了得到更好的效果,将生成的数据进行标准化处理,其公式如下:
(5)
(6)
由式(5)可计算得出:
μ=30.688 261 017 093 186
σ=17.586 844 413 072 924
据此对原始数据进行逐一标准化,用于模型训练。
为量化验证数据标准化,确定标准化后的数据有利于提高模型精度,拟定模型惩罚系数C分别为0.1、0.5、1,使用标准化与非标准化的数据分别进行训练,模型精度结果对比如表1所示。
表1 模型精度对比
对比表1中相同惩罚系数使用不同数据训练的模型精度可以看出,对数据进行标准化处理可提升支持向量机模型的精确度。
1.2.3 最优参数选择
为提高支持向量机模型的准确性,需确定惩罚系数C以及核函数参数gamma,为了获取最优的参数,使用网格搜索法[17-19]。
网格搜索是对网格中每个交点进行遍历,从而找到最优组合,网格搜索适合3个及3个以下的超参数优化,超参数过多时,搜索的时间复杂度呈指数上升,此时若仍用网格搜索容易导致优化时间过长,但是相较于适合大量超参数的随机搜索,网格搜索法更容易得到全局最优参数。在本模型中,所需确定的最优参数有2个,适合选用网格搜索法。
取惩罚系数C的范围为(0,3],核函数参数gamma(0,3],以0.2为网格大小进行搜索,将模型在训练数据集上预测的正确率作为评估标准,得到的正确率如图4所示。
从图4可以看出,正确率的最大区域存在于C=2.6,gamma=0.4附近,再进一步求精,通过细化搜索区域,得到的正确率如图5所示。根据图5,可得到最优参数C=2.640,gamma=0.48,此时模型具有97.66%的精确度。
图4 大区间搜索正确率
图5 小区间搜索正确率
2 模型验证
为了预防模型过拟合,同时也为了验证模型在实际使用中的可行性及泛化能力,依据假设场景中共43种不同的道路环境,使用numpy生成了每种路况随机且不同的积水深度数据,并进行前文的标准化处理数据,将该数据输入模型,使用训练得到的模型进行判断,输出判断结果是否为危险水位,对比判断结果和实际情况,绘制不同道路环境下的预测正确率,结果如图6所示。
图6 不同路况下的模型可行性验证
图6结果表示,在验证数据集上模型的正确率依然能达到0.97左右,证明在先前的训练中模型并未出现过拟合的情况。另外计算得到正确率数据的标准差为0.018,最低正确率为0.92,可据此得出该模型在各种路况下都具有可靠性的结论。
3 结束语
1) 本文通过利用支持向量机对路面积水量水位进行分类,利用不同路况所对应的不同界限值,准确的将积水水位划分为安全水位和危险水位,模型的准确率达到97.66%。
2) 通过再次选取数据进行模型验证,结果表明该模型能够准确判别不同路况下的危险水位。
3) 本模型可应用于路侧信息系统中,补充路况信息的不足,同时可通过修改水位阈值用于不同的车型情况。此外,还可升级模型,将车辆因素作为交互信息,利用车路协同技术,进行车型和路况的匹配,更好地进行水位的预警。笔者在本模型中选择的参数仍然有限,不能全面准确地反映车辆行进过程中存在的复杂路况,所以模型的训练结果存在一定的不足,在后续的研究中将重点针对上述问题进行改进。