基于稀疏数据的信号交叉口车辆排队长度预测方法

文档序号:27489300发布日期:2021-11-22 13:55阅读:166来源:国知局
基于稀疏数据的信号交叉口车辆排队长度预测方法

1.本发明属于交通大数据技术领域,涉及一种信号交叉口车辆排队预测的方法。


背景技术:

2.信号交叉口作为城市动静态交通流转化的关键节点,如何能够实时预测信号交叉口车辆排队长度对于提升信号交叉口交通流通行效率至关重要。现有的信号交叉口排队长度预测方法大致分为以下两类:第一类利用架设在信号交叉口上方的视频采集设备获取视频数据进而估算并预测车辆排队长度,第二类利用断面检测器获取车辆瞬时速度等数据结合交通流相关理论建立车辆排队长度估算预测模型。上述两种方法在信号交叉口不处于交通高峰时期时表现较好,而当交通高峰时期来临交通流振荡剧烈时预测精度不高。此外,现有模型还存在着对数据质量要求高等特点,这进一步制约了现有模型的适用性。


技术实现要素:

3.针对现有技术中的缺陷和不足,本发明提供了一种基于稀疏数据的信号交叉口车辆排队长度预测方法,是一种融合深度学习技术与交通流理论的车辆稀疏数据排队长度预测方法,解决了现有技术中存在的信号交叉口环境下车辆排队长度估算方法预测精度不高,数据要求质量高等问题。本发明以现有公开交通数据集(next generation simulation,ngsim)为基础,提取包含车辆排队信息的关键因素,并搭建包含attention机制的seq2seq模型预测信号交叉口车辆排队长度。
4.为达到上述目的,本发明采取如下的技术方案:
5.一种信号交叉口车辆跟驰模型的构建方法,包括以下步骤:
6.步骤a1,从公开交通数据集中筛选出信号交叉口区域所有车辆的车辆信息,按照设定的车辆跟驰数据标签从车辆信息中筛选出后车跟驰数据集和前车跟驰数据集作为车辆跟驰数据;所述车辆跟驰数据包括t时刻跟驰车辆速度、车头间距、速度差以及t+δt时刻跟驰车辆加速度;
7.步骤a2,以双向lstm深度学习框架为基础,构建数据驱动跟驰模型;
8.步骤a3,将步骤a1获取的车辆跟驰数据中的t时刻跟驰车辆速度、车头间距、速度差作为输入,t+δt时刻跟驰车辆加速度作为输出,进行训练直至损失函数收敛,得到训练好的车辆跟驰模型;其中δt为时间步长。
9.本发明还包括如下技术特征:
10.具体的,步骤a3中,数据驱动跟驰模型具体架构:沿着时间流动方向堆叠两层lstm单元,与时间流动相反方向堆叠两层lstm单元,每层lstm单元个数为n,n表示时间点个数。
11.具体的,所述步骤a1具体包括:
12.a1.1车辆跟驰数据标签的值设定如下:v_class=2(表明车辆类型为小汽车),direction=1(表明车辆行驶方向为由南向北),movement=1(表明车辆行驶状态为直行),preceding≠0(表明目标车辆正在跟随前方车辆行驶);
13.a1.2按照上述数据标签从公开交通数据集中进行数据筛选,得到数据集data1为车辆跟驰数据中后车跟驰数据集,再利用数据集data1中的两个数据标签global_time(表明数据的时间戳)和preceding与公开交通数据集进行匹配得到车辆跟驰数据中前车跟驰数据集data2;
14.所述步骤a3中,跟驰车辆速度v(t)、车头间距s_h(t)为已知量,速度差v_d(t)为未知量,利用前车数据集data2中的车辆速度减去后车数据集data1中的车辆速度得到速度差。
15.一种基于稀疏数据的信号交叉口车辆排队长度预测模型的构建方法,包括以下步骤:
16.步骤b1,从公开交通数据集中筛选出信号交叉口区域所有车辆的车辆信息,筛选车辆进入排队状态的时间及其当前位移,得到周期内每辆车进入信号交叉口区域排队状态的离散时间点;
17.步骤b2,根据n个周期内所有车辆进入排队状态离散时间点,利用hermite插值方法拟合n个周期内车辆排队长度数据;
18.步骤b3,构建带有attention机制的seq2seq模型,将步骤b2中拟合的前n

1个周期车辆排队长度数据作为输入,第n个周期车辆排队长度数据作为输出,对模型进行训练得到车辆排队长度预测模型。
19.具体的,所述步骤b3中,构建的基于attention机制的seq2seq模型包括:
20.模型编码层,该层堆叠两层lstm网络,每层有n个lstm单元对应包含n个数据点的1个车辆排队周期长度,该层输入为1个车辆排队周期长度,输出为每个lstm单元的隐藏状态encoder_output矩阵和第二层最后一个lstm单元隐藏状态h_t,将h_t重复n次得到语义向量c;
21.模型解码层,该层同样堆叠两层lstm网络,该层的输入为语义向量c,输出为每个lstm的隐藏状态decoder_output矩阵;
22.attention机制层,首先encoder_output矩阵与decoder_output矩阵横向拼接,其次并将其输入激活函数为softmax的全连接层得到每个状态的概率值矩阵attention_weight,最后attention_weight矩阵与decoder_output矩阵相乘得到模型输出量,即第n个周期车辆排队长度。
23.具体的,步骤b3中模型训练前需要对车辆排队长度数据进行归一化处理,压缩到(0,1)区间;采用statsmodels库中的自相关函数计算具体的信号交叉口车辆排队长度周期。
24.一种基于稀疏数据的信号交叉口车辆排队长度预测方法,该方法首先利用公开交通数据集获取信号交叉口车辆信息;并利用所述的信号交叉口车辆跟驰模型的构建方法建立的车辆跟驰模型补全车辆信息中缺失的普通车辆信息;根据排队条件提取车辆进入排队状态离散点并进行拟合得到车辆排队长度实时数据;利用所述的基于稀疏数据的信号交叉口车辆排队长度预测模型的构建方法建立的车辆排队长度预测模型预测不同时间跨度下的车辆排队长度。
25.具体的,包括以下步骤:
26.步骤1,获取待预测的信号交叉口网联车辆的车辆信息;
27.步骤2,根据步骤1所获得的网联车辆的车辆信息,利用泊松分布模拟所有普通车辆的车辆初始信息;车辆初始信息包括车辆到达时间、初始速度以及车辆初始位移;
28.步骤3,利用车辆跟驰模型结合步骤2得到的车辆初始信息迭代计算重构丢失的信号交叉口普通车辆时车辆信息,从而得到一个排队周期内所有车辆的车辆信息;
29.步骤4,将步骤3得到的一个排队周期内所有车辆的速度和位置信息输入到车辆排队长度预测模型,得到车辆排队长度预测结果。
30.本发明与现有技术相比,有益的技术效果是:
31.1、可在现存混联交通流条件下(网联车辆与普通车辆共存),通过提取网联车辆轨迹重构一个信号灯周期内所有车辆通行轨迹,该方法无需额外交通硬件设备辅助,所重构车辆轨迹精度较高。
32.2、通过本发明所提出的车辆排队预测算法,即可在现有信号交叉口交通环境下较为精准地预测未来时间段内车辆排队长度,为网联车辆在信号交叉口区域的纵向速度控制提供实时排队长度信息。
附图说明
33.图1是系统整体框架图;
34.图2是截取的信号交叉口车辆时空轨迹图;
35.图3是基于双向lstm深度学习框架的数据驱动跟驰模型示意图;
36.图4是带有attention机制的车辆排队长度预测模型。
具体实施方式
37.本发明以现有公开交通数据集(next generation simulation,ngsim)为基础,提取包含车辆排队信息的关键因素,并搭建包含attention机制的seq2seq模型预测信号交叉口车辆排队长度。
38.以下对本发明涉及的定义或概念内涵做以说明:
39.网联车辆:含有智能车载设备的乘用车,该设备具备gps功能及互联网功能,可与路侧通信基站进行数据交换。
40.普通车辆:不含有智能车载设备的乘用车。
41.跟驰车辆:处于跟驰行为的一个跟驰对(包含前后两辆车)中,后方车辆被称为跟驰车辆。
42.跟驰车辆速度:处于跟驰行为的一个跟驰对中,后方车辆速度。
43.车头间距:处于跟驰行为的一个跟驰对中,前方车辆后保险杠与后方车辆前保险杠之间的距离。
44.速度差:处于跟驰行为的一个跟驰对中,前方车辆速度与后方车辆速度之差称为速度差。
45.t时刻跟驰车辆加速度:处于跟驰行为的一个跟驰对中,后方车辆t时刻加速度。
46.车辆跟驰数据:包含在公开交通数据集中,需要通过数据处理提取。
47.遵从上述技术方案,以下结合说明书附图和具体实施方式对本发明做具体说明,需要说明的是本发明并不局限于以下具体实施例,凡在本技术技术方案基础上做的等同变
换均落入本发明的保护范围。
48.实施例1:
49.本实施例提供一种信号交叉口车辆跟驰模型的构建方法,如图1和图2所示,包括以下步骤:
50.步骤a1,从公开交通数据集中筛选出信号交叉口区域所有车辆的车辆信息,所述车辆信息包括时空轨迹和速度;
51.具体的,本实施例是从ngsim数据集中筛选出交叉口附近区域所有车辆(小汽车)时空轨迹、速度等信息,限定数据采集时间为车辆停止以及启停行为(即车辆速度为零停止等待通过交叉口)前10秒和后10秒;
52.步骤a2,以双向lstm深度学习框架为基础,构建数据驱动跟驰模型;如图3所示;
53.步骤a3,从步骤a1获取的车辆信息中筛选出车辆跟驰数据并将其中的t时刻跟驰车辆速度、车头间距、速度差作为输入,t+δt时刻跟驰车辆加速度作为输出,进行训练直至损失函数收敛,得到训练好的车辆跟驰模型;其中δt为时间步长;
54.步骤a3中,为突出跟驰行为前后时间的强关联性,选取堆叠双向lstm单元的网络架构构建数据驱动跟驰模型;数据驱动跟驰模型具体架构:数据驱动跟驰模型具体架构如下:沿着时间流动方向堆叠两层lstm单元,与时间流动相反方向堆叠两层lstm单元,每层lstm单元个数为n,n表示时间点个数;
55.步骤a3中从公开交通数据集中筛选出车辆跟驰数据具体包括:该车辆跟驰数据包括前车跟驰数据集和后车跟驰数据集;
56.a3.1车辆跟驰数据标签的值设定如下:v_class=2(表明车辆类型为小汽车),direction=1(表明车辆行驶方向为由南向北),movement=1(表明车辆行驶状态为直行),preceding≠0(表明目标车辆正在跟随前方车辆行驶);
57.a3.2按照上述数据标签从公开交通数据集中进行数据筛选,得到数据集data1为车辆跟驰数据中后车跟驰数据集,再利用数据集data1中的两个数据标签global_time(表明数据的时间戳)和preceding与公开交通数据集进行匹配得到车辆跟驰数据中前车跟驰数据集data2;
58.a3.3将前车跟驰数据集和后车跟驰数据集中的跟驰车辆速度v(t)、车头间距s_h(t)、速度差v_d(t)作为输入;t+δt时刻跟驰车辆加速度a(t+δt)作为输出,δt为时间步长;其中跟驰车辆速度、车头间距为已知量,速度差为未知量,利用前车数据集data2中的车辆速度减去后车数据集data1中的车辆速度得到速度差。
59.本实施例中,跟驰行为数据提取:ngsim

lankershim数据集是ngsim项目的子数据集,包含了美国加利福尼亚州附近的lankershim街道上三个交叉口区域的详细车辆数据,该数据由24个数据标签组成。
60.更进一步的,本实施例为提升模型预测精度,对每个维度的训练数据采用归一化方法处理,归一化公式如下式所示,其中x
i
表示每个维度中第i个数据,x
min
表示该维度中的最小值,x
max
表示该维度中的最大值;y归一化后的数据;
[0061][0062]
将归一化后的数据放入数据驱动跟驰模型进行训练得到训练好的车辆跟驰模型。
[0063]
实施例2:
[0064]
本实施例提供一种基于稀疏数据的信号交叉口车辆排队长度预测模型的构建方法,如图1和图2所示,该方法包括以下步骤:
[0065]
步骤b1,从公开交通数据集中筛选出信号交叉口区域所有车辆的车辆信息,筛选车辆进入排队状态的时间及其当前位移,得到周期内每辆车进入信号交叉口区域排队状态的离散时间点;
[0066]
车辆进入排队状态筛选条件为:(1)车速小于5km/h。(2)车头时距小于20m。根据上述两个判断条件,对每辆车的速度和车头时距逐秒进行判断,确定车辆进入排队状态的时间点。
[0067]
步骤b2,根据六个周期内所有车辆进入排队状态离散时间点,利用hermite插值方法拟合六个周期内车辆排队长度数据;
[0068]
步骤b3,如图4所示,构建带有attention机制的seq2seq模型,将步骤b2中拟合的前五个周期车辆排队长度数据作为输入,第六个周期车辆排队长度数据作为输出,对模型进行训练得到车辆排队长度预测模型。
[0069]
具体的,步骤b3包括:
[0070]
步骤b3.1:对车辆排队长度数据进行归一化处理,压缩到(0,1)区间;
[0071]
本实施例中,采用augumented dickey

fuller test(adf)对数据进行平稳性检测;将归一化后的数据传入python中的statsmodels库进行检测。测试统计临界值为1%,5%和10%时数据值为

3.43,

2.86,以及

2.56,函数返回值

7.15均小于上述数据值,且车辆排队长度数据的p值为3.13e

10,与0值非常接近,验证了车辆排队长度数据的平稳性;
[0072]
步骤b3.2:采用statsmodels库中的自相关函数(auto correlation function,acf)计算具体的信号交叉口车辆排队长度周期。(信号交叉口车辆排队长度由于受到交通灯控制,呈现出明显的周期性波动,所以需要明确每个车辆排队长度周期)。具体的,将归一化后的数据输入acf函数计算得到信号交叉口车辆排队长度最小正周期为100s,包含1000个数据点。
[0073]
步骤b3.3:传统的深度学习架构在处理长时间序列数据时,由于架构自身缺陷导致无法“记忆”时间久远的关键数据状态,进而导致模型预测性能下降。经测试,发现现有架构在处理周期为100s的车辆排队长度数据时仅能预测后5s的车辆排队长度,无法进行长时预测。构建带有attention机制的模型(seq2seq)训练预测车辆排队长度;如图4所示,构建的基于attention机制的seq2seq模型包括:
[0074]
模型编码层,该层堆叠两层lstm网络,每层有n个lstm单元对应包含n个数据点的1个车辆排队周期长度,该层输入为1个车辆排队周期长度,输出为每个lstm单元的隐藏状态encoder_output矩阵和第二层最后一个lstm单元隐藏状态h_t,将h_t重复n次得到语义向量c;
[0075]
模型解码层,该层同样堆叠两层lstm网络,该层的输入为语义向量c,输出为每个lstm的隐藏状态decoder_output矩阵;
[0076]
attention机制层,首先encoder_output矩阵与decoder_output矩阵横向拼接,其次并将其输入激活函数为softmax的全连接层得到每个状态的概率值矩阵attention_weight,最后attention_weight矩阵与decoder_output矩阵相乘得到模型输出量,即第n个
周期车辆排队长度。
[0077]
实施例3:
[0078]
本实施例提供一种基于稀疏数据的信号交叉口车辆排队长度预测方法,首先利用公开交通数据集获取信号交叉口车辆信息;并利用车辆跟驰模型补全车辆信息中缺失的普通车辆信息;根据排队条件(前后两车车头间距小于10m,车速低于10km/h)提取车辆进入排队状态离散点并进行拟合得到车辆排队长度实时数据;利用车辆排队长度预测模型预测不同时间跨度下的车辆排队长度。图1所示为本发明整体流程图。具体包括以下步骤:
[0079]
步骤1,获取待预测的信号交叉口网联车辆的车辆信息;
[0080]
在本实施例中,从公开交通数据集中筛选出信号交叉口区域所有车辆的车辆信息,假设所有车辆中,网联车辆数为n,普通车辆数为m,随机删除m个车辆信息,得到n辆网联车辆的车辆信息;假设车辆总数为p,假设网联车辆市场渗透率m_pene的值为:50%,100%,则相应随机删除的普通车辆数为m=p

p*m_pene。
[0081]
步骤2,根据步骤1所获得的网联车辆的车辆信息,利用泊松分布模拟所有普通车辆的车辆初始信息;所述车辆初始信息包括车辆到达时间、初始速度以及车辆初始位移;
[0082]
步骤3,利用实施例1建立的车辆跟驰模型结合步骤2得到的车辆初始信息迭代计算重构丢失的信号交叉口普通车辆时车辆信息,从而得到一个排队周期内所有车辆的车辆信息;
[0083]
步骤4,将步骤3得到的一个排队周期内所有车辆的速度和位置信息输入到实施例2建立的车辆排队长度预测模型,得到车辆排队长度预测结果。
[0084]
实验验证:
[0085]
采用同一数据集对现有已存在的车辆排队预测方法和本发明中所提出的技术进行检验。所有数据在训练预测时同一进行归一化操作,模型精度检验函数选择均方误差(mse,mean square,error),优化器为adam,默认学习率为0.001。检验结果如表1所示:
[0086]
表1:不同预测模型性能对比
[0087][0088]
上述试验结果表明本发明方法与其他算法相比,均方误差更低,这进一步提升了信号交叉口车辆排队长度预测精度。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1