一种驾驶行为的模仿学习方法

文档序号:30918985发布日期:2022-07-29 22:36阅读:210来源:国知局
一种驾驶行为的模仿学习方法

1.本发明涉及人工智能模仿学习技术领域,尤其涉及一种对驾驶行为的模仿学习方法。


背景技术:

2.驾驶员行为的分类结果是其驾驶行为的综合体现,可以通过车辆的运动状况以及驾驶员对驾驶环境变化率的敏感度进行驾驶员分类,特别是通过驾驶员的加速度变化率、跟车时的车头时距和车头间距、换道的频率、是否发生违规行为等指标进行界定。一般情况,根据驾驶行为的综合体现,驾驶员的行为往往被分为普通型,保守型,激进型。
3.在交通场景中,保守型驾驶员对环境中发生的微小变化感知最强,如若前方车辆的速度减缓,保守型驾驶员会产生较强的减速意识甚至产生刹车行为;若前方车辆发生并道行为,保守型驾驶员会剧烈减速以让行,交通安全意识强,倾向于保持最大的安全距离。相反,激进型驾驶员对交通安全意识不强,如若前方车辆的速度减缓,激进型驾驶员往往倾向于进行换道;若前方车辆发生并道行为,激进型驾驶员往往在并道完成前加速超车而不是减速、让行。激进驾驶员还会做出违背交通驾驶规则的行为,如在城市快速路中加塞、强制并道,连续换道。这样的交通行为对于其它车辆的驾驶行为会产生巨大的影响,严重时甚至会导致道路堵塞或者交通事故出现。普通型驾驶员的驾驶行为介于保守型和激进型之间,将非保守,非激进型的驾驶员记为普通型驾驶员。学习不同类型驾驶员在不同交通场景状态下采取不同驾驶行为的概率,有助于在交通流模拟仿真时更加真实地还原交通情况。
4.现有的驾驶行为模型学习方法主要有强化学习和模仿学习两类。强化学习方法将车辆看作是由一个驾驶模型控制的智能体,智能体是设计者设计的拥有一定属性和行为特性的对象。智能体和环境进行交互,采取动作进而获取反馈。通过设计合适的奖励函数,更新驾驶模型,驾驶模型能够获得最好的长期回报。但是使用强化学习方式进行建模,要求研究人员手动针对不同的场景设计复杂的奖励,这些奖励的主观依赖程度大,回报函数的好坏取决于研究人员的经验和能力。平衡各种特征需求,需要进行费时费力的手工调试,并且即使是同一个场景,不同的需求也会带来驾驶特征的变化。
5.传统的学习方式往往采用相机、激光雷达等传感器的采集数据进行学习,由于经济、社会因素,这样的数据是难以获取的;没有针对性地对驾驶数据稀少的问题提出有效解决,因此造成了模型难以拟合的问题;传统的强化学习或者模仿学习方法,仅仅是对整体的车流进行学习,没有针对性地对交通场景中不同类型的驾驶行为进行学习。
6.专利《基于模仿学习算法的高速公路车辆跟驰行为重构方法》(cn114328448a)公开了一种基于模仿学习的高速公路跟驰行为,主要使用仿真数据模拟高速公路上的车辆驾驶,并读取每个时间的状态作为输入,仿真车辆输出的加速度作为标签进行学习。但是该方法只学习了车辆的跟驰行为,没有涉及换道行为;使用的数据为仿真数据,不具备模仿真实驾驶行为的能力;没有针对性地学习出不同类型驾驶员的驾驶行为。
7.因此,本领域的技术人员致力于开发一种驾驶行为的模拟学习方法。


技术实现要素:

8.有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是如何对不同的驾驶行为进行模拟学习,在交通流模拟仿真时真实地还原交通情况。
9.发明人考虑到获取真实世界海量的驾驶数据是难以实现的,从数据形式简单,获取途径广泛的原始轨迹数据出发,通过数据增强算法,构建进行模仿学习的增强驾驶轨迹数据集。再通过驾驶行为分类算法,将增强驾驶轨迹数据集中的数据分为普通行为型,保守行为型,激进行为型。最后构造三个模仿学习模型,分别使用三种数据对三个模型进行训练,获得普通行为型模仿学习模型、保守行为型模仿学习模型和激进行为型模仿学习模型。
10.本发明的一个实施例中,提供了一种驾驶行为的模拟学习方法,包括以下步骤:
11.s100、原始轨迹数据处理,获取原始轨迹数据,使用轨迹数据处理算法对原始轨迹数据进行处理获得驾驶轨迹数据;
12.s200、驾驶轨迹数据集数据增强,使用数据增强算法对驾驶轨迹数据集进行数据增强,获得增强驾驶轨迹数据集;
13.s300、增强驾驶轨迹数据集聚类,使用驾驶行为分类算法对增强驾驶轨迹数据集进行聚类,得到普通行为型增强驾驶轨迹数据集、保守行为型增强驾驶轨迹数据集、激进行为型增强驾驶轨迹数据;
14.s400、模仿学习模型训练,使用模仿学习模型对普通行为型增强驾驶轨迹数据集、保守行为型增强驾驶轨迹数据集、激进行为型增强驾驶轨迹数据集分别进行模仿学习,获得普通行为型模仿学习模型,保守行为型模仿学习模型,激进行为型模仿学习模型。
15.可选地,在上述实施例的驾驶行为的模拟学习方法中,步骤s100包括以下步骤:
16.s110、获取原始轨迹数据,原始轨迹数据的格式使用每一条轨迹的时间-位置表示;
17.s120、计算状态信息和动作信息,通过轨迹数据处理算法,计算每一个时刻车辆的状态信息和动作信息,得到驾驶轨迹数据;
18.s130、保存驾驶轨迹数据,驾驶轨迹数据包括车辆的时间信息、位置信息、状态信息、动作信息。
19.进一步地,在上述实施例的驾驶行为的模拟学习方法中,原始轨迹数据通过采样摄像头对交通道路进行拍摄获得,采样摄像头一秒内产生的图像的张数称为帧数(fps),采样时间间隔(t)为帧数的倒数,即t为一个定值,对于一条总时长为t的轨迹,轨迹间隔个数(n)的定义为原始轨迹数据的格式表示为:
20.{(t
0t
,p
0t
),(t
1t
,p
1t
),
……
,(t
it
,p
it
),
……
,(t
nt
,p
nt
)},
21.其中,元组(t
it
,p
it
)代表轨迹在第i个时间间隔的时间t
it
以及位置p
it

22.进一步地,在上述实施例的驾驶行为的模拟学习方法中,驾驶轨迹数据集的格式表示为:
23.{(t
0t
,p
0t
,s
0t
,a
0t
),(t
1t
,p
1t
,s
1t
,a
1t
),
……
,(t
it
,p
it
,s
it
,a
it
),
……
,(t
nt
,p
nt
,s
nt
,a
nt
)},
24.其中,元组(t
it
,p
it
,s
it
,a
it
)代表驾驶轨迹在第i个时间间隔的时间信息t
it
,位置信息p
it
,状态信息s
it
,以及动作信息a
it

25.进一步地,在上述实施例的驾驶行为的模拟学习方法中,状态信息包括驾驶轨迹状态信息和驾驶轨迹环境状态信息,其中驾驶轨迹状态信息包括速度、是否换道、是否超车,每一条驾驶轨迹的加速踏板开度最大值、车辆制动踏板开度次数与变化率、车辆速度最大值、车辆加速度平均值、换道次数;驾驶轨迹环境状态信息包括驾驶轨迹的车头时距、车头间距、横向位移、与周围车辆的距离、周围车辆的速度信息。
26.进一步地,在上述实施例的驾驶行为的模拟学习方法中,动作信息包括加速度、转向角。
27.进一步地,在上述实施例的驾驶行为的模拟学习方法中,步骤s120中的轨迹数据处理算法包括以下步骤:
28.s121、计算驾驶轨迹状态信息,根据驾驶轨迹的位置、时间信息,计算出驾驶轨迹在每一个时刻下的速度、是否换道、是否超车,每一条驾驶轨迹的加速踏板开度最大值、车辆制动踏板开度次数与变化率、车辆速度最大值、车辆加速度平均值、换道次数,获得驾驶轨迹状态信息;
29.s122、计算驾驶轨迹环境状态信息,判断出距离该驾驶轨迹最近的车辆,计算出驾驶轨迹的车头时距、车头间距、横向位移、与周围车辆的距离、周围车辆的速度信息,获得驾驶轨迹环境状态信息;
30.s123、计算驾驶轨迹的动作信息,计算出驾驶轨迹在每一个时刻下采取的动作信息,即加速度和转向角。
31.可选地,在上述任一实施例的驾驶行为的模拟学习方法中,步骤s200中的数据增强算法包括以下步骤:
32.s210、设置期望轨迹数量,设置增强驾驶轨迹数据集中期望包含的轨迹数量;
33.s220、修改轨迹信息,随机从驾驶轨迹数据集中挑选一个驾驶轨迹,将该驾驶轨迹的状态信息中的任一条信息随机进行修改,修改方式为随机赋值;
34.s230、判断轨迹是否合理,判断修改驾驶轨迹的状态信息后,该驾驶轨迹是否会出现危险行为,危险行为包括撞墙、撞车,若不发生危险行为,则认为驶轨迹合理,数据增强成功,否则返回步骤s220;
35.s240、生成增强驾驶轨迹数据集,重复步骤s220和步骤s230,直至驾驶轨迹个数达到期望轨迹数量,即得到增强驾驶轨迹数据集。
36.可选地,在上述任一实施例的驾驶行为的模拟学习方法中,步骤s300中的驾驶行为分类算法包括以下步骤:
37.s310、保存时空特征向量,将增强驾驶轨迹数据集中每一条驾驶轨迹的时间和位置保存到一个特征向量中,该特征向量称为时空特征向量,并保存该时空特征向量对应的增强驾驶轨迹的id,所有的时空特征向量的集合称为时空特征向量集合;
38.s320、确定聚类半径e、簇类型的个数m、最小阈值点数minpts;聚类是将具有相似性特征属性的样本归为一类的过程,经过聚类后产生的具有相似特征属性的数据对象的集合,称为簇;其中,簇类型的个数m代表生成的簇的个数,最小阈值点数minpts代表每一个簇的最小样本个数;
39.s330、查找核心轨迹段,核心轨迹段拥有簇内大多数样本的共同属性,遍历时空特征向量集合中的时空特征向量,如果时空特征向量的聚类半径e邻域内的时空特征向量个
数大于最小阈值点数minpts,认为是核心轨迹段,则以核心轨迹段为中心,聚类半径e为半径作轨迹簇生成,如果不是核心轨迹段,则继续寻找新的时空特征向量;当寻找到的核心轨迹段个数和簇类型的个数m相同时结束本步骤;
40.s340、时空特征向量聚类,遍历时空特征向量集合中的非核心轨迹段的时空特征向量,计算出该非核心轨迹段与m个核心轨迹段的距离,将该时空特征向量聚类至最近的核心轨迹段簇内;重复上述过程直至所有的非核心轨迹段都完成聚类,获得m个时空特征向量簇;
41.s350、增强驾驶轨迹数据集分类,根据每一条增强驾驶轨迹的id,将每个时空特征向量簇的时空特征向量替换为对应的增强驾驶轨迹,获得m个增强驾驶轨迹簇,按照分类规则对增强驾驶轨迹数据集进行分类。
42.进一步地,在上述任一实施例的驾驶行为的模拟学习方法中,步骤s320中,簇类型的个数m=3。
43.进一步地,在上述任一实施例的驾驶行为的模拟学习方法中,s350中的分类规则为:分别统计三个增强驾驶轨迹簇中所有车辆的车辆制动踏板开度次数并相加,得到车辆制动踏板开度总次数,把车辆制动踏板开度总次数最小的增强驾驶轨迹簇中的所有增强驾驶轨迹定义为保守行为型增强驾驶轨迹集,把车辆制动踏板开度总次数最大的增强驾驶轨迹簇中的所有增强驾驶轨迹定义为激进行为型增强驾驶轨迹集,其他数据定义为普通行为型增强驾驶轨迹集。
44.可选地,在上述任一实施例的驾驶行为的模拟学习方法中,步骤s400包括以下步骤:
45.s410、初始化三个全连接神经网络,分别记为普通行为型模仿学习模型、保守行为型模仿学习模型和激进行为型模仿学习模型,三个全连接神经网络的隐含层层数为3,隐含层的节点个数分别为128、256、64,初试化节点参数,将所有参数设置为0;
46.s420、使用普通行为型增强驾驶轨迹数据集,以状态信息为模型的输入,动作信息作为模型的标签,对普通行为型模仿学习模型进行模仿学习训练;
47.s430、使用保守行为型增强驾驶轨迹数据集,以状态信息为模型的输入,动作信息作为模型的标签,对保守行为型模仿学习模型进行模仿学习训练;
48.s440、使用激进行为型增强驾驶轨迹数据集,以状态信息为模型的输入,动作信息作为模型的标签,对激进行为型模仿学习模型进行模仿学习训练。
49.可选地,在上述任一实施例的驾驶行为的模拟学习方法中,普通行为型模仿学习模型、保守行为型模仿学习模型和激进行为型模仿学习模型的损失函数定义为:
[0050][0051]
其中,n代表训练集中一条轨迹数据的时间间隔数,对于不同长度的轨迹数据,其时间间隔个数不同,对于一条总时长为t的轨迹,ai是轨迹数据中第i个时刻的动作信息,si是轨迹数据中第i个时刻的状态信息,π(si)为将si输入后的输出结果。
[0052]
本发明从只包含时间位置信息的原始轨迹数据出发,通过轨迹数据处理算法计算
出驾驶轨迹的状态信息与动作信息,获得驾驶轨迹数据集,通过驾驶轨迹数据的数据增强算法,生成增强轨迹数据集,通过驾驶行为分类算法,将增强驾驶轨迹数据集中的轨迹数据分为普通行为型、保守行为型、激进行为型,分别对增强驾驶轨迹数据集中的普通行为型、保守行为型、激进行为型数据进行训练,获得普通行为型模仿学习模型、保守行为型模仿学习模型、激进行为型模仿学习模型。本发明提出的轨迹数据处理算法能够有效计算出状态信息和动作信息,有助于深入挖掘影响驾驶行为的特征;本发明提出的驾驶数据增强集增强方法,有效解决了获取大量驾驶轨迹数据困难的问题;本发明的驾驶轨迹数据集聚类方法,能够将不同的驾驶轨迹数据进行分类,有助于分析不同类型数据的驾驶特性。本发明打通了从原始轨迹数据到驾驶行为学习的全流程,对不同的驾驶行为进行模拟学习,在交通流模拟仿真时提高了交通状况还原的真实性。
[0053]
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
[0054]
图1是图示根据示例性实施例的一种驾驶行为的模仿学习方法流程图;
[0055]
图2是图示根据示例性实施例的原始轨迹数据处理流程图;
[0056]
图3是图示根据示例性实施例的驾驶轨迹数据集增强流程图;
[0057]
图4是图示根据示例性实施例的增强驾驶轨迹数据集聚类流程图。
具体实施方式
[0058]
以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
[0059]
在附图中,结构相同的部件以相同数字标号表示,各处结构或功能相似的组件以相似数字标号表示。附图所示的每一组件的尺寸和厚度是任意示出的,本发明并没有限定每个组件的尺寸和厚度。为了使图示更清晰,附图中有些地方示意性地适当夸大了部件的厚度。
[0060]
发明人设计了一种驾驶行为的模仿学习方法,如图1所示,包括以下步骤:
[0061]
s100、原始轨迹数据处理,获取原始轨迹数据,使用轨迹数据处理算法对原始轨迹数据进行处理获得驾驶轨迹数据;具体包括:
[0062]
s110、获取原始轨迹数据,原始轨迹数据的格式使用每一条轨迹的时间-位置表示;原始轨迹数据通过采样摄像头对交通道路进行拍摄获得,采样摄像头一秒内产生的图像的张数称为帧数(fps),采样时间间隔(t)为帧数的倒数,即t为一个定值,对于一条总时长为t的轨迹,轨迹间隔个数(n)的定义为原始轨迹数
[0063]
据的格式表示为:
[0064]
{(t
0t
,p
0t
),(t
1t
,p
1t
),
……
,(t
it
,p
it
),
……
,(t
nt
,p
nt
)},
[0065]
其中,元组(t
it
,p
it
)代表轨迹在第i个时间间隔的时间t
it
以及位置p
it

[0066]
s120、计算状态信息和动作信息,通过轨迹数据处理算法,计算每一个时刻车辆的
状态信息和动作信息,得到驾驶轨迹数据;驾驶轨
[0067]
迹数据集的格式表示为:
[0068]
{(t
0t
,p
0t
,s
0t,a0t
),(t
1t
,p
1t
,s
1t
,a
1t
),
……
,(t
it
,p
it
,s
it
,a
it
),
……
,(t
nt
,p
nt
,s
nt
,a
nt
)},
[0069]
其中,元组(t
it
,p
it
,s
it
,a
it
)代表驾驶轨迹在第i个时间间隔的时间信息t
it
,位置信息p
it
,状态信息s
it
,以及动作信息a
it
;轨迹数据处
[0070]
理算法包括以下步骤:
[0071]
s121、计算驾驶轨迹状态信息,根据驾驶轨迹的位置、时间信息,计算出驾驶轨迹在每一个时刻下的速度、是否换道、是否超车,每一条驾驶轨迹的加速踏板开度最大值、车辆制动踏板开度次数与变化率、车辆速度最大值、车辆加速度平均值、换道次数,获得驾驶轨迹状态信息;
[0072]
s122、计算驾驶轨迹环境状态信息,判断出距离该驾驶轨迹最近的车辆,计算出驾驶轨迹的车头时距、车头间距、横向位移、与周围车辆的距离、周围车辆的速度信息,获得驾驶轨迹环境状态信息;
[0073]
s123、计算驾驶轨迹的动作信息,计算出驾驶轨迹在每一个时刻下采取的动作信息,即加速度和转向角。
[0074]
s130、保存驾驶轨迹数据,驾驶轨迹数据包括车辆的时间信息、位置信息、状态信息、动作信息;状态信息包括驾驶轨迹状态信息和驾驶轨迹环境状态信息,其中驾驶轨迹状态信息包括速度、是否换道、是否超车,每一条驾驶轨迹的加速踏板开度最大值、车辆制动踏板开度次数与变化率、车辆速度最大值、车辆加速度平均值、换道次数;驾驶轨迹环境状态信息包括驾驶轨迹的车头时距、车头间距、横向位移、与周围车辆的距离、周围车辆的速度信息;动作信息包括加速度、转向角。
[0075]
s200、驾驶轨迹数据集数据增强,使用数据增强算法对驾驶轨迹数据集进行数据增强,获得增强驾驶轨迹数据集;数据增强算法包括以下步骤:
[0076]
s210、设置期望轨迹数量,设置增强驾驶轨迹数据集中期望包含的轨迹数量;
[0077]
s220、修改轨迹信息,随机从驾驶轨迹数据集中挑选一个驾驶轨迹,将该驾驶轨迹的状态信息中的任一条信息随机进行修改,修改方式为随机赋值;
[0078]
s230、判断轨迹是否合理,判断修改驾驶轨迹的状态信息后,该驾驶轨迹是否会出现危险行为,危险行为包括撞墙、撞车,若不发生危险行为,则认为驶轨迹合理,数据增强成功,否则返回步骤s220;
[0079]
s240、生成增强驾驶轨迹数据集,重复步骤s220和步骤s230,直至驾驶轨迹个数达到期望轨迹数量,即得到增强驾驶轨迹数据集。
[0080]
s300、增强驾驶轨迹数据集聚类,使用驾驶行为分类算法对增强驾驶轨迹数据集进行聚类,得到普通行为型增强驾驶轨迹数据集、保守行为型增强驾驶轨迹数据集、激进行为型增强驾驶轨迹数据;驾驶行为分类算法包括以下步骤:
[0081]
s310、保存时空特征向量,将增强驾驶轨迹数据集中每一条驾驶轨迹的时间和位置保存到一个特征向量中,该特征向量称为时空特征向量,并保存该时空特征向量对应的增强驾驶轨迹的id,所有的时空特征向量的集合称为时空特征向量集合;
[0082]
s320、确定聚类半径e、簇类型的个数m、最小阈值点数minpts;聚类是将具有相似
性特征属性的样本归为一类的过程,经过聚类后产生的具有相似特征属性的数据对象的集合,称为簇;其中,簇类型的个数m代表生成的簇的个数,m=3,最小阈值点数minpts代表每一个簇的最小样本个数;
[0083]
s330、查找核心轨迹段,核心轨迹段拥有簇内大多数样本的共同属性,遍历时空特征向量集合中的时空特征向量,如果时空特征向量的聚类半径e邻域内的时空特征向量个数大于最小阈值点数minpts,认为是核心轨迹段,则以核心轨迹段为中心,聚类半径e为半径作轨迹簇生成,如果不是核心轨迹段,则继续寻找新的时空特征向量;当寻找到的核心轨迹段个数和簇类型的个数m相同时结束本步骤;
[0084]
s340、时空特征向量聚类,遍历时空特征向量集合中的非核心轨迹段的时空特征向量,计算出该非核心轨迹段与m个核心轨迹段的距离,将该时空特征向量聚类至最近的核心轨迹段簇内;重复上述过程直至所有的非核心轨迹段都完成聚类,获得m个时空特征向量簇;
[0085]
s350、增强驾驶轨迹数据集分类,根据每一条增强驾驶轨迹的id,将每个时空特征向量簇的时空特征向量替换为对应的增强驾驶轨迹,获得m个增强驾驶轨迹簇,按照分类规则对增强驾驶轨迹数据集进行分类;分类规则为:分别统计三个增强驾驶轨迹簇中所有车辆的车辆制动踏板开度次数并相加,得到车辆制动踏板开度总次数,把车辆制动踏板开度总次数最小的增强驾驶轨迹簇中的所有增强驾驶轨迹定义为保守行为型增强驾驶轨迹集,把车辆制动踏板开度总次数最大的增强驾驶轨迹簇中的所有增强驾驶轨迹定义为激进行为型增强驾驶轨迹集,其他数据定义为普通行为型增强驾驶轨迹集。
[0086]
s400、模仿学习模型训练,使用模仿学习模型对普通行为型增强驾驶轨迹数据集、保守行为型增强驾驶轨迹数据集、激进行为型增强驾驶轨迹数据集分别进行模仿学习,获得普通行为型模仿学习模型,保守行为型模仿学习模型,激进行为型模仿学习模型;具体包括:
[0087]
s410、初始化三个全连接神经网络,分别记为普通行为型模仿学习模型、保守行为型模仿学习模型和激进行为型模仿学习模型,三个全连接神经网络的隐含层层数为3,隐含层的节点个数分别为128、256、64,初试化节点参数,将所有参数设置为0;普通行为型模仿学习模型、保守行为型模仿学习模型和激进行为型模仿学习模型的损失函数定义为:
[0088][0089]
其中,n代表训练集中一条轨迹数据的时间间隔数,对于不同长度的轨迹数据,其时间间隔个数不同,对于一条总时长为t的轨迹,ai是轨迹数据中第i个时刻的动作信息,si是轨迹数据中第i个时刻的状态信息,π(si)为将si输入后的输出结果;
[0090]
s420、使用普通行为型增强驾驶轨迹数据集,以状态信息为模型的输入,动作信息作为模型的标签,对普通行为型模仿学习模型进行模仿学习训练;
[0091]
s430、使用保守行为型增强驾驶轨迹数据集,以状态信息为模型的输入,动作信息作为模型的标签,对保守行为型模仿学习模型进行模仿学习训练;
[0092]
s440、使用激进行为型增强驾驶轨迹数据集,以状态信息为模型的输入,动作信息
作为模型的标签,对激进行为型模仿学习模型进行模仿学习训练。
[0093]
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1