一种基于决策树的道路类型识别方法及系统与流程

文档序号:27766198发布日期:2021-12-04 01:02阅读:326来源:国知局
一种基于决策树的道路类型识别方法及系统与流程

1.本发明涉及数据处理技术领域,具体涉及一种基于决策树的道路类型识别方法及系统。


背景技术:

2.车辆行驶道路的识别,对于汽车研发领域进行车辆优化或者新车型开发时,需要了解用户在不同道路类型下的发动机工况、载荷分布情况、能源消耗情况以及尾气排放情况,从而进行汽车零部件的选型、标定参数的优化。传统的利用车联网方式,仅能数据采集到的车辆gps经纬度,无法进一步定位到车辆的行驶道路类型。另一方面,基于国gb 17691

2018给出的实际道路行驶测量方法,一方面仅利用行驶速度来判定车辆道路工况,识别准确率很低,从而严重研发设计与用户习惯的关联程度,另一方面识别类型只有市区

市郊

高速三种,没有覆盖山地等道路类型。


技术实现要素:

3.鉴于现有技术中存在的技术缺陷和技术弊端,本发明实施例提供克服上述问题或者至少部分地解决上述问题的一种基于决策树的道路类型识别方法及系统,具体方案如下:
4.作为本发明的第一方面,提供一种基于决策树的道路类型识别方法,所述方法包括:
5.步骤1,获取已知道路类型的车辆行驶数据,将数据按照δt时间切分为多个数据集,每个数据集标记道路类型标签,将划分好道路类型的数据集进行预处理,获取数据集中的行驶相关指标,作为数据模型样本;
6.步骤2,将数据模型样本利用k折交叉验证对决策树模型进行训练,得到模型指标评分,根据模型指标评分对决策树模型进行最优化,得到车辆行驶道路类型的识别模型;
7.步骤3,获取未知道路类型的行车信号,进行预处理,提取对应的行驶相关指标,将该行驶相关指标输入步骤2得到的识别模型中,输出对应的道路类型标签,即识别出车辆行驶道路类型。
8.进一步地,步骤1具体包括:
9.步骤1.1,从车辆行驶数据中先确定相关的七个行车信号,包括,车速、档位、制动踏板开度、加速踏板开度、方向盘转角速度、纵向加速度和横向加速度;
10.步骤1.2,将已知道路类型的车辆行驶数据按照δt时间切分为多个数据集,每个数据集标记道路类型标签0

3,其中,0表示市区,1表示高速,2表示山地,3表示市郊;
11.步骤1.3,对于每个数据集,从所述数据集中获取相关的七个行车信号,根据得到的行车信号计算出所需要的行驶相关指标,作为数据模型样本,其中,所述数据模型样本包括对应数据集的行驶相关指标和道路类型标签。
12.进一步地,所述行驶相关指标包括:车速大于0时的车速的25%分位点、中位数、均
值、标准差和最大值;车辆停车时长占比和倒车时长占比;制动踏板开度的25%分位点、中位数、均值、标准差和最大值;加速踏板开度的25%分位点、中位数、均值、标准差和最大值;方向盘转角速度的25%分位点、中位数、均值、标准差和最大值;纵向加速度的25%分位点、中位数、均值、标准差和最大值;横向加速度的25%分位点、中位数、均值、标准差和最大值。
13.进一步地,步骤2具包括:
14.步骤2.1,将训练集分为k份,其中一份作为验证集,另外k

1份作为训练集,其中,所述训练集为各数据集经预处理后得到的数据模型样本的集合;
15.步骤2.2,选取其中1份作为验证集,将剩余k

1份作为训练集输入决策树模型进行训练,得到训练后的决策树模型;
16.步骤2.3,将选取的验证集输入训练后的决策树模型,验证模型指标评分并保存;
17.步骤2.4,重复步骤2.2~2.3k次,每一次选取的验证集均不相同,得到k个模型指标评分,取k个模型指标评分的平均值即得到决策树模型的最终评分。
18.进一步地,步骤3具体包括:从车辆can总线中实时采集运动过程中的行车信号并存储,每隔x秒将采集的行车信号序列进行预处理,提取对应的行驶相关指标,将得到的行驶相关指标输入识别模型中,从而得到该x秒内车辆行驶的道路类型标签。
19.作为本发明的第二方面,提供一种基于决策树的道路类型识别系统,所述系统包括样本获取模块、模型训练模块以及道路类型识别模块;
20.所述样本获取模块用于获取已知道路类型的车辆行驶数据,将数据按照δt时间切分为多个数据集,每个数据集标记道路类型标签,将划分好道路类型的数据集进行预处理,获取数据集中的行驶相关指标,作为数据模型样本;
21.所述模型训练模块用于将数据模型样本利用k折交叉验证对决策树模型进行训练,得到模型指标评分,根据模型指标评分对决策树模型进行最优化,得到车辆行驶道路类型的识别模型;
22.所述道路类型识别模块用于获取未知道路类型的行车信号,进行预处理,提取对应的行驶相关指标,将该行驶相关指标输入识别模型中,输出对应的道路类型标签,即识别出车辆行驶道路类型。
23.进一步地,所述样本获取模块具体用于:
24.从车辆行驶数据中先确定相关的七个行车信号,包括,车速、档位、制动踏板开度、加速踏板开度、方向盘转角速度、纵向加速度和横向加速度;
25.将已知道路类型的车辆行驶数据按照δt时间切分为多个数据集,每个数据集标记道路类型标签0

3,其中,0表示市区,1表示高速,2表示山地,3表示市郊;
26.对于各数据集,从所述数据集中获取相关的七个行车信号,根据得到的行车信号计算出所需要的行驶相关指标,作为数据模型样本,其中,所述数据模型样本包括对应数据集的行驶相关指标和道路类型标签。
27.进一步地,所述行驶相关指标包括:车速大于0时的车速的25%分位点、中位数、均值、标准差和最大值;车辆停车时长占比和倒车时长占比;制动踏板开度的25%分位点、中位数、均值、标准差和最大值;加速踏板开度的25%分位点、中位数、均值、标准差和最大值;方向盘转角速度的25%分位点、中位数、均值、标准差和最大值;纵向加速度的25%分位点、中位数、均值、标准差和最大值;横向加速度的25%分位点、中位数、均值、标准差和最大值。
28.进一步地,所述模型训练模块具体用于:
29.a,将训练集分为k份,其中一份作为验证集,另外k

1份作为训练集,其中,所述训练集为各数据集经预处理后得到的数据模型样本的集合;
30.b,选取其中1份作为验证集,将剩余k

1份作为训练集输入决策树模型进行训练,得到训练后的决策树模型;
31.c,将选取的验证集输入训练后的决策树模型,验证模型指标评分并保存;
32.d,重复b~c k次,每一次选取的验证集均不相同,得到k个模型指标评分,取k个模型指标评分的平均值即得到决策树模型的最终评分。
33.进一步地,所述模型训练模块具体用于:从车辆can总线中实时采集运动过程中的行车信号并存储,每隔x秒将采集的行车信号序列进行预处理,提取对应的行驶相关指标,将得到的行驶相关指标输入识别模型中,从而得到该x秒内车辆行驶的道路类型标签。
34.本发明具有以下有益效果:
35.本发明先对已知道路类型的车辆行驶数据进行处理,获取行驶相关指标,作为数据模型样本,然后将数据模型样本利用k折交叉验证对决策树模型进行训练,得到车辆行驶道路类型的识别模型;之后将获取车辆的实际行车信号并进行预处理,提取所需的特征,然后把特征值放入训练好的识别模型中进行计算,输出道路类型标签,即识别出车辆行驶道路类型。相比于现有技术,识别类型覆盖更广,识别准确率更高。
附图说明
36.图1为本发明实施例提供的一种基于决策树的道路类型识别方法的流程图;
37.图2为本发明实施例提供的决策树算法示意图;
38.图3为本发明实施例提供的k折交叉验证的流程图;
39.图4为本发明实施例提供的最终决策树算法分类结果树状示意图。
具体实施方式
40.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
41.如图1所示,作为本发明的第一实施例,提供一种基于决策树的道路类型识别方法,所述方法包括:
42.步骤1,获取已知道路类型的车辆行驶数据,将数据按照δt时间切分为多个数据集,每个数据集标记道路类型标签,将划分好道路类型的数据集进行预处理,获取数据集中的行驶相关指标,作为数据模型样本;
43.步骤2,将数据模型样本利用k折交叉验证对决策树模型进行训练,得到模型指标评分,根据模型指标评分对决策树模型进行最优化,得到车辆行驶道路类型的识别模型;
44.步骤3,获取未知道路类型的行车信号,进行预处理,提取对应的行驶相关指标,将该行驶相关指标输入步骤2得到的识别模型中,输出对应的道路类型标签,即识别出车辆行驶道路类型。
45.其中,步骤1具体为:
46.根据车辆行驶数据首先进行数据预处理,提取需要用到的指标,所用到的数据集是已知道路类型的车辆行驶数据做训练,步骤如下:
47.1)从车辆行驶数据中先提取相关的七个信号,包括:
48.车速、档位、制动踏板开度、加速踏板开度、方向盘转角速度、纵向加速度、横向加速度。
49.2)将数据按照δt时间切分为多个数据集,每个数据集标记道路类型标签0、1、2或3,其中,0表示市区,1表示高速,2表示山地,3表示市郊,同时根据得到的信号计算出所需要的32个指标,包括:
50.①
车速大于0时的车速的25%分位点、中位数、均值、标准差、最大值,5个指标;
51.②
车辆停车时长占比和倒车时长占比,2个指标;
52.③
制动踏板开度、加速踏板开度、方向盘转角速度、纵向加速度、横向加速度的25%分位点,中位数,均值,标准差,最大值,共25个指标。
53.所以,每个数据模型样本共有32个指标和一个道路标签。
54.其中,步骤2中,车辆行驶道路识别算法是基于决策树(dt)算法来构建,是一种无监督学习算法,其优点是便于理解,可以可视化,分类速度快;
55.一颗决策树包含一个根节点,若干个内部节点,和若干个叶节点,决策结果对应的就是叶节点,其他每个节点都对应一个属性测试;每个节点包含的样本集合根据属性测试的结果被划分到子节点中;根节点包含样本全集。从根节点到叶每一个节点的路径对应了一个判定测试序列。决策树学习的目的是为了产生一颗泛化能力强,处理未知结果样本能力强的决策树,基本流程就是简单的分而治之。
56.决策树算法流程如下:
57.令训练集d有m个样本,属性集a有d个判断属性。
58.第一步,生成节点node。
59.第二步,如果训练集d中所有样本全属于同一类别c,那么将当前节点node标记为c类叶节点,返回(情形1)。
60.第三步,如果属性集a为空集或者训练集d各个样本在属性集a上所有属性的取值都相同,那么将node标记为叶节点,其类别标记为训练集d中样本数最多对应的类,进行递归返回(情形2)。
61.第四步,若第一步和第二步都不符合,进行遍历,具体为:从属性集a中选择最优划分属性a,对于a所对应的每个值av(离散属性按值划分,连续属性按大小分)生成分支节点,dv为该节点上的样本子集。
62.第五步,如果dv是空集,那么其对应的分支节点标记为叶节点,其类别标记为(父节点)训练集d中样本最多的类(将父节点的样本分布当成当前节点的先验分布),若所有都为空,那么父节点就是叶子;进行递归返回(情形3)。
63.第六步,否则,在dv上再次执行第四步,但是此时a中要去除最优属性a,重新再选最优属性。
64.第七步,在a的每个值av都遍历结束后结束。
65.决策树算法示意图2所示。
66.另外,随着划分过程的不断进行,希望决策树的分支结点包含的样本尽可能属于同一类别,纯度越来越高,最后达到一定程度不用再进行划分,生成叶结点,所以要选择最佳划分属性,主要看该属性对数据的划分是不是更有区分性,更有区分性则划分后纯度越大。
67.这里选择基尼指数(gini index)作为决策树算法的划分属性,计算公式为:
[0068][0069]
其中,p
k
表示选中的样本属于k类别的概率,则这个样本被分错的概率是(1

p
k
),样本集合中有n个类别,一个随机选中的样本可以属于这n个类别中的任意一个,因而对类别的概率就加和。
[0070]
数据集的基尼系数反映了从数据集d中随机抽取两个样本,其类别不一样的概率,因此,g越大,数据的不确定性越高;g越小,数据的不确定性越低;g=0,表示数据集中的所有样本都是同一类别。
[0071]
对处理好的数据模型样本,利用k折交叉验证,选取训练集和测试集,进行决策树模型训练,k折交叉验证通过对k个不同分组训练的结果进行平均来减少方差,因此模型的性能对数据的划分就不那么敏感。
[0072]
k折,就是将原训练集分为k份,其中k

1份作训练集,另一份作验证集,如图3所示,k折交叉验证的基本思路如下:
[0073]
第一步,不重复地将数据集随机分为k份;
[0074]
第二步,挑选其中1份作为验证集,剩余k

1份作为训练集用于模型训练,在训练集上训练后得到一个决策树模型中,用这个模型在验证集上测试,保存模型指标评分;
[0075]
第三步,重复第二步k次,确保每个子集都有一次机会作为验证集;
[0076]
第四步,计算k组测试指标评分的平均值作为模型精度的估计,并作为当前k折交叉验证下模型的性能指标。
[0077]
通常情况下,k一般取10;当原训练集较小时,k可以大一点,这样训练集占整体比例就不至于太小,但训练的模型个数也随之增多;原训练集较大时,k可以小一点。
[0078]
其中,车辆行驶道路识别算法,是基于决策树(dt)算法来构建,是一种无监督学习算法,其优点是便于理解,可以可视化,分类速度快。
[0079]
以下通过一个具体实例进行车辆道路类型模型的具体说明:
[0080]
车辆道路识别模型步骤如下:
[0081]
(1)从车辆行驶数据先提取相关的七个信号,包括:
[0082]
车速(vehspd)、档位(gear_postion)、制动踏板开度(brakepedal)、加速踏板开度(accpedal),方向盘转角速度(sas_steeringanglespd)、纵向加速度(actvehlaltrlaccel)、横向加速度(actvehlaltrlaccel)。
[0083]
(2)将数据按照30分钟切分为多个数据集,每个数据集标记道路类型标签0

3(0:市区,1:高速,2:山地,3:市郊),同时根据得到的信号计算出所需要的32个指标和1个标签,如下表所述:
[0084][0085][0086]
(3)将处理好的数据集进行k折交叉验证,选取训练集和测试集,这里选择k=10,即将数据集随机分为10份,挑选其中1份作为验证集,剩余9份作为训练集用于模型训练,在训练集上训练后得到一个决策树模型中,用这个模型在验证集上测试,保存模型的指标评分,重复10次(确保每个子集都有一次机会作为验证集),即得到10个模型指标评分,结果如下:[0.83286828,0.85383113,0.82170151,0.81694216,0.80963182,0.82136874,0.79702254,0.82514904,0.81328598,0.79439537],取平均值即得到决策树模型的最终评分为:0.8186196559250588。
[0087]
最终决策树算法分类结果树状图如图4所示(只展示了分类前5层的树状图)。
[0088]
其中,步骤3具体包括:从车辆can总线中实时采集运动过程中的行车信号并存储,每隔x秒将采集的行车信号序列进行预处理,提取对应的行驶相关指标,将得到的行驶相关指标输入识别模型中,从而得到该x秒内车辆行驶的道路类型标签。
[0089]
其中,所述行车信号包括车速、档位、制动踏板开度、加速踏板开度、方向盘转角速度、纵向加速度和横向加速度,基于x秒的行车信号序列,即x秒内的车速、档位、制动踏板开度、加速踏板开度、方向盘转角速度、纵向加速度和横向加速度计算车速大于0时的车速的25%分位点、中位数、均值、标准差和最大值;车辆停车时长占比和倒车时长占比;制动踏板开度的25%分位点、中位数、均值、标准差和最大值;加速踏板开度的25%分位点、中位数、均值、标准差和最大值;方向盘转角速度的25%分位点、中位数、均值、标准差和最大值;纵向加速度的25%分位点、中位数、均值、标准差和最大值;横向加速度的25%分位点、中位数、均值、标准差和最大值,将这些行驶相关指标输入识别模型中,通过识别模型,输出该x秒内车辆行驶的道路类型标签。
[0090]
作为本发明的第二实施例,还提供一种基于决策树的道路类型识别系统,所述系统包括样本获取模块、模型训练模块以及道路类型识别模块;
[0091]
所述样本获取模块用于获取已知道路类型的车辆行驶数据,将数据按照δt时间
切分为多个数据集,每个数据集标记道路类型标签,将划分好道路类型的数据集进行预处理,获取数据集中的行驶相关指标,作为数据模型样本;
[0092]
所述模型训练模块用于将数据模型样本利用k折交叉验证对决策树模型进行训练,得到模型指标评分,根据模型指标评分对决策树模型进行最优化,得到车辆行驶道路类型的识别模型;
[0093]
所述道路类型识别模块用于获取未知道路类型的行车信号,进行预处理,提取对应的行驶相关指标,将该行驶相关指标输入识别模型中,输出对应的道路类型标签,即识别出车辆行驶道路类型。
[0094]
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1