基于k-means 聚类和神经网络的超速行为识别研究
2022-02-02李开放刘忠涛柏兴涛张冰战
李开放,刘忠涛,柏兴涛,张冰战
(1. 合肥学院 先进制造工程学院,安徽 合肥 230601;2. 合肥工业大学 汽车与交通工程学院,安徽 合肥 230009;3. 中国重汽集团,山东 济南 250000)
随着社会的快速发展,人民的生活水平不断提高,汽车已经成为家家户户必备的交通工具,给人们的出行带来了很大的便捷,但另一方面,汽车驾驶事故给人们的生命与财产安全造成了威胁[1]。超速行为是影响交通安全的一个重要因素,据统计,中国2016 年超速驾驶行为位居交通违法查处量首位[2]。超速驾驶行为与道路交通安全有着密切联系,规范驾驶人的驾驶行为是保障道路交通安全的重要举措[3]。近年来,大量学者对驾驶行为与道路交通安全进行了研究。董军[4]等基于北斗卫星定位数据的车辆超速行为识别方法提出了一种新的基于可变时间距离阈值的超速行为识别算法,此算法提升了超速事件的快速辨别与响应能力;Stephen[5]等通过在车上安装GPS 来获取驾驶员的驾驶行为,并且通过问卷调查进一步挖掘影响驾驶员超速驾驶的因素;李云强[6]等设计了智能手机端APP,通过蓝牙连接超速报警系统,当速度超过预设报警值时,报警系统会发出蜂鸣声或真人语音提示驾驶员超速行驶;林一鸣[7]等设计了一套酒后驾驶与超速行驶监测系统,实现对驾驶员酒后驾车和超速行驶的实时监测;刘应吉[8]等提出了一种带抗噪声的违规驾驶行为辨识的方法,通过比较当前车辆实时行驶速度、当前路段限速值和违规阈值等参数判断是否发生违规超速行为;Tseng[9]等通过研究出租车的超速行驶数据发现驾驶员的驾驶风格、工作时长和日行驶距离与超速驾驶行为之间有着密切的联系;汪建良[10]基于卷积神经网络设计了危险驾驶行为检测模型,并通过迁移学习对危险驾驶行为进行检测,准确率高达98.60%。
在以往的超速驾驶行为识别方法中,由于条件的限制,采用设定单一固定值的方法对超速行为进行识别,但是由于路况的复杂,不同的路段设定的超速阈值不尽相同,单一超速阈值方法的识别结果不够科学准确。本文选取20 种循环工况作为初始数据进行短工况片段划分提取行驶工况特征参数,以此采用主成分分析法对特征参数进行降维处理;得到降维结果后采用k-means 算法进行初次聚类;然后以k-means 聚类结果计算协方差矩阵、混合系数等输入值,运用高斯混合聚类算法进行二次聚类;根据聚类结果选取训练样本,利用BP 神经网络进行学习得到训练模型;利用训练模型对工况进行实时识别得到不同行驶工况的超速阈值,从而对超速行为进行准确的识别。通过对行驶工况进行识别,进而得到不同行驶工况的超速阈值,提高了超速行为检测的准确性和科学性。
1 基于聚类与神经网络的工况识别
本文提出的基于行驶工况识别的超速行为研究流程图如图1 所示,其步骤为:(1)选取20 种循环工况作为初始数据进行短工况片段划分提取行驶工况特征参数;(2)利用主成分分析法对特征参数进行降维处理;(3)采用k-means 算法进行初步聚类;(4)运用高斯混合聚类算法进行二次聚类;(5)设计创建BP 神经网络,选取训练样本训练;(6)利用训练完毕的BP 神经网络模型进行工况识别,进而得到超速阈值;(7)设计创建超速行为识别模型,并将超速阈值代入其中进行超速识别。
图1 基于行驶工况识别的超速行为研究流程图
1.1 行驶工况特征参数提取
行驶工况主要是根据汽车的速度和加速度等参数体现出来的,考虑汽车在不同工况下的速度、加速度以及运行时间的不同[11-12],本研究选取的15 种行驶工况特征参数如表1 所示。
表1 行驶工况特征参数
本文选取20 种循环工况分别为:UDDS、NEDC、EUDC、SC03、NurembergR36、New York Bus、WVUSUB、WVUINTER、US06_HWY、INDIA_URBAN_SAMPLE、CBDTRUCK、HL07、NYCC、HWFET、_ARB02、ECE、IM240、WVUCITY、NYCTRUCK、LA92、ARTERIAL、 REP05。 采 用320 s 为时间间隔,将20 种循环工况进行等时间划分,一共得到139 组数据,利用特征参数计算公式获取上述所需的特征参数,短工况片段划分方法如图2 所示。
图2 短工况片段划分方法
1.2 主成分分析方法降维
本文选择主成分分析(PCA)对行驶工况特征参数进行降维处理。此方法的降维步骤主要如下所示[13]:
(1)对初始数据进行标准化处理,公式如下:
(2)计算各个数据之间的相关系数矩阵R=(rij)m×n,计算公式如下:
(4)计算各个主成分的贡献率,并将每个主成分贡献率累积,计算累积贡献率,依据上述计算结果选择主成分。主成分贡献率Zj与累积贡献率Z的计算公式如下所示:
1.3 特征参数聚类分析
本文采用k-means 聚类算法对降维后的数据集进行初步聚类,行驶工况的分类为四种,所以k-means 聚类算法的最终类别个数k=4,将初步聚类的聚类中心作为高斯混合聚类的输入进行二次聚类,来提升行驶工况分类的准确性。k-means 聚类算法的计算流程图如图3 所示。
图3 k-means 聚类算法计算流程图
高斯混合聚类模型计算每个点的高斯混合模型概率分布,依据每个类别生成其概率的大小将数据划分到相应的类别。高斯混合聚类模型的计算步骤如下:
(1)初步选定高斯混合聚类分布的模型参数αi,μi,∑i,其中αi表示混合系数,μi表示一个n维的均值向量,∑i表示协方差矩阵。将经过k-means聚类得出的聚类中心作为高斯混合分布初始模型参数中的均值向量,将每个类中间包含的数据点到各个聚类中心的距离,作为高斯混合聚类的方差计算数据。
(3)根据步骤(2)计算出的结果,依据下列公式重新得出高斯混合概率分布的模型参数。
(4)进行迭代运算,重复上面的计算步骤,直到运算达到程序设定的停止条件。
(5)比较上述计算过程的计算结果,将每个样本数据划分到产生其概率最大的类别中,完成聚类运算。
1.4 BP 神经网络结构设计
目前,神经网络技术已经很成熟并广泛应用于人工智能、机器学习等领域,其中,BP 神经网络是应用最广泛的神经网络模型之一[14]。本文采用三层神经网络结构:输入层、中间层和输出层,行驶工况的特征参数有15 个,所以BP 神经网络的初始输入层神经元个数为15 个,行驶工况分为4 个类别,故最终结果输出层神经元个数为4 个。选择Sigmoid 函数作为BP 神经网络的激活函数,设置BP 神经网络的最大迭代次数为5 000 次,权值学习效率为0.5,阈值学习效率为0.4。
2 基于工况识别的超速行为识别
驾驶员的超速行为识别主要判断标准为汽车在行驶过程中的最高车速超过道路限定车速,并产生持续行为。本文依据《道路限速规定及超速处罚标准》对不同的行驶工况设定不同的超速识别阈值,在拥堵与城市工况中,汽车的最高行驶速度不能超过60 km/h,在郊区工况中汽车的最高行驶速度不能超过80 km/h,在高速工况中汽车的最高行驶速度不能超过120 km/h。
基于工况识别后得到道路超速阈值,令道路限定车速vl等于超速阈值进行超速行为识别。为了避免采集数据时出现的随机数据点,将单次超速时间设置为2 s,超速时间大于2 s 后才对该次超速行为进行记录。单次超速行为识别流程如图4 所示。
图4 单次超速行为识别图
3 研究结果
采用主成分分析法对139 组短工况特征参数做降维处理,其主成分累计贡献率如图5 所示。从图中可以看出,选择前四个主成分即可满足累积贡献率在85%以上的条件。
图5 主成分累积贡献率
本文将行驶工况类别分为高速工况、郊区工况、城市工况、拥堵工况4 种[15],所以聚类分析的最终类别为4 种。采用k-means 聚类对降维之后得的工况特征数据进行聚类,聚类中心如下表2 所示。
表2 工况数据k-means 聚类中心
在得到k-means 聚类中心后,再以初步聚类结果计算高斯混合聚类的输入值,最后采用高斯混合聚类进行二次聚类分析,得出行驶工况最终聚类结果,四个类别的聚类中心如表3 所示。
表3 工况数据最终聚类中心
表中第四类最高车速为111.6 km/h,平均车速为95.5 km/h,并且在高速区间行驶的比例为96.4%,所以第四类为高速工况;第二类中最高车速为37.4 km/h,平均车速为8.9 km/h,处在高速区间的比例为0.48%,并且怠速所占的比例为47.6%,因而第二类属于拥堵工况;第一类与第三类相比,其处于高速区间行驶的时间比例大,并且第一类的最高车速为91.1 km/h,平均车速为52.0 km/h,而第三类的最高车速为57.2 km/h,平均车速为25.6 km/h,符合城市限速60 km/h 的行驶要求,所以第一类的工况类别为郊区工况,第三类的工况类别为城市工况。
汽车行驶工况识别的过程中,将80%数据集作为算法训练集,对BP 神经网络算法进行训练,将剩余的20%数据集作为测试集,验证BP 神经网络算法识别行驶工况的精确度。本研究对行驶工况识别的BP 神经网络算法进行了5 次测试验证,测试验证的结果如表4 所示。
表4 行驶工况算法识别结果
综合测试结果,5 次测试正确率平均值为0.95,说明将BP 神经网络算法运用于行驶工况的识别精确性良好。
工况识别后将获取的道路速度阈值用于超速行为识别,下图6 为基于工况识别的超速行为识别与普通超速行为识别的结果对比,从图中可以看出,在一段多次超速行驶的工况下,基于行驶工况的超速行为识别方法能够更加准确地识别出超速行为与超速时间,相比普通的采用单一识别阈值的识别方法识别精度更高,识别结果更加准确。
图6 超速行为识别对比
4 总结
本文提出了一种基于工况识别的超速行为识别,提高了超速行为检测的准确性和科学性。通过对选取的20 种循环工况进行短工况片段划分提取行驶工况特征参数,采用主成分分析法对特征参数进行降维处理,采用k-means 算法对降维结果进行初次聚类,为了提高行驶工况分类的准确性,运用高斯混合聚类算法进行二次聚类,从最终聚类结果中选取训练样本对BP 神经网络进行学习得到训练模型,利用训练模型对工况进行实时识别得到工况的超速阈值,从而对超速行为进行准确的识别。