本发明属于物理技术领域,更进一步涉及路径搜索技术领域中的一种基于深度神经网络的预测车辆最佳驾驶路径方法。本发明可利用深度神经网络预测未来预设时间段内的道路状况,在所述路况预测结果的基础上搜索路径,可用于城市交通的车辆导航中获取车辆在指定起止地点情况下的预测驾驶路径。
背景技术:
路径选择方法是车辆导航系统中的一个重要课题,它可以为用户提供一条从源点到目标点之间的最优路径。根据用户的需求,路径选择方法可以在最短行驶距离、最短行驶时间和最少转弯次数等不同目标下实现路径搜索。城市道路和车辆数量的急剧增长,导致了城市交通中拥堵日益严重的情况。作为导航系统的核心部分,路径选择方法需要进行优化,以缓解交通拥堵、增强交通规划和管理的科学性。传统的路径选择方法通常基于当前的交通状况,不能有效地预测未来预设时间段内的交通拥堵。
北京奇虎科技有限公司在其申请的专利文献“一种基于路况预测的智能导航方法及装置”(申请号cn201811642857.8,公开号cn110646004a)中提出了一种基于路况预测结果生成预测驾驶路线的车辆路径选择方法。该方法基于指定范围内各条道路当前的路况数据生成所述指定范围内的路况预测基础结果,然后基于各用户的历史轨迹数据,获取所述各用户在未来预设时间段内的预测驾驶路线。该方法存在的不足之处是:由于该方法预测驾驶路线仅仅依据当前路况数据和历史行驶轨迹,导致预测得到的拥堵情况主要依赖于当前数据,而不能准确地拟合将来的变化趋势,因此容易使得路况预测结果与实际存在较大差别,从而导致预测的驾驶路线无法避开拥堵路段。
宣丙龙在其发表的论文“基于时间最短原则的路径规划算法研究”(工学硕士学位论文,哈尔滨工程大学,2014年)中提出了一种以时间最短为原则的路径选择方法。该方法的特征是按照时间顺序对道路的历史通行状态进行分段处理,形成分时段路况数据库,然后引入所述路况数据库信息,并通过将其与道路固有属性信息相结合,实现以最短行驶时间为目标的路径搜索。该方法利用当前时间段的路况数据库计算道路行驶时间值,用时间值代替a*算法中的距离值,从而进行路径搜索得到最短行驶时间的路径。该方法存在的不足之处是:由于该方法路径搜索时对节点的权值的计算仅仅基于当前路况下的行驶时间,而路况信息具有的时变性会导致节点的权值的变化,因此无法规避搜索所得的行驶路径中出现的路段拥堵状况。
技术实现要素:
本发明的目的是针对上述现有技术的不足,提出了一种基于深度神经网络的预测车辆最佳驾驶路径方法,以解决城市交通中规划的驾驶路径无法避开拥堵路段的问题。
实现本发明目的的思路是,由于车流量数据在时间上存在显著的周期性,将全国各个城市中获取的车流量数据组成训练集,对构建的深度神经网络进行训练,深度神经网络对车流量数据进行回归分析,可以有效提高数据预测的准确性。当请求预测路径车辆的导航装置收到驾驶者发出的路径规划请求时,利用训练好的深度神经网络对未来的车流量数据进行预测,可以在规划驾驶路径时避开潜在的拥堵路段,得到最佳驾驶路径。
为实现上述目的,本发明的具体步骤如下:
步骤1,构建深度神经网络:
搭建一个6层的卷积神经网络,其结构依次为:输入层→第一卷积层→第一池化层→第二卷积层→第二池化层→全连接层;
设置每层参数如下:将第一和第二卷积层的卷积核个数分别设置为64、128,卷积核尺寸均设置为3*3;每个池化层均采用最大池化方式,池化层的池化核尺寸均设置为2*2,全连接层的神经元个数设置为1440个;
步骤2,生成训练集:
获取全国每个城市中至少1000组车流量数据,每组数据包括该城市每24小时内不同路口的不同方向的车流量数据,将每个城市的所有车流量数据组成一个样本集,将所有样本集组成训练集;
步骤3,训练深度神经网络:
将训练集输入到深度神经网络中,利用反向传播梯度下降算法,更新迭代深度神经网络中各层参数直到目标函数收敛,得到训练好的深度神经网络;
步骤4,预测车流量数据:
当请求预测路径的车辆的导航装置收到驾驶者发出的路径规划请求时,导航装置从公共道路图中查找路径规划请求的起点和终点、以及查找起点到终点方向上所有可能经过的路口;
探测设备实时搜索并发送当前时刻的每个可能经过的路口在通往终点方向上的车流量数据,并将该路口的车流量数据输入到训练好的深度神经网络,输出该路口在通往终点方向上的未来24小时内的预测车流量数据;
步骤5,计算预测行驶时间并构建对应的节点拓扑文件:
利用行驶时间计算公式,计算请求预测路径的车辆在未来24小时内的可能通过每个路口的预测行驶时间,该时间与预测车流量数据一一对应;
构建与导航装置从公共道路图中查找到的所有路口对应的节点拓扑文件;
步骤6,查找路径搜索的范围:
在节点拓扑文件中查找请求预测路径的车辆的起点节点和终点节点,以及起点节点和终点节点方向上所有可能经过的路口,将起点节点作为当前节点;
步骤7,搜索路径:
利用
将当前节点所有邻节点的权值按照从小到大排序;
步骤8,判断当前节点的所有邻节点中是否包括终点节点,若是,则执行步骤9,否则,将权值最小的邻节点作为当前节点,执行步骤7;
步骤9,选择路径:
从起点节点开始,将起点节点到终点节点之间的每一个节点与其权值最小的邻节点连接,组成预测路径车辆请求选择的最佳路径。
本发明与现有的技术相比具有以下优点:
第一,由于本发明利用获取的全国每个城市中每24小时内不同路口的不同方向的车流量数据组成的训练集,对构建的深度神经网络进行训练,得到训练好的深度神经网络。当请求预测路径的车辆的导航装置收到驾驶者发出的路径规划请求时,探测设备实时搜索并发送当前时刻的每个可能经过的路口在通往终点方向上的车流量数据。再将探测到的每个路口的车流量数据输入到训练好的深度神经网络,输出该路口在通往终点方向上的未来24小时内的预测车流量数据,克服了现有技术中预测得到的拥堵情况主要依赖于当前数据,而不能准确地拟合将来的变化趋势的问题,使得本发明具有路况预测结果与实际情况拟合准确度高的优点。
第二,由于本发明根据请求预测路径的车辆从起点节点到达每个邻节点的预测行驶时间来计算该邻节点的权值,将从起点节点到终点节点的每一个节点与其权值最小的邻节点连接组成预测驾驶的最佳路径,克服了现有技术中路径搜索时对节点的权值的计算仅仅基于当前路况下的行驶时间,搜索得到的路径不一定是未来最畅通路径的不足,使得本发明规划的在未来24小时内最佳的驾驶路径能够有效避开潜在的拥堵路段。
附图说明
图1是本发明的流程图;
图2是本发明构建的深度神经网络的结构示意图;
图3是本发明城市道路网的示意图;
图4是本发明构建节点拓扑文件的示意图。
具体实施方式
下面结合附图对本发明做进一步的描述。
参照附图1,对本发明的实现具体步骤做进一步的描述。
步骤1,构建深度神经网络。
参照附图2,搭建一个6层的卷积神经网络,其结构依次为:输入层→第一卷积层→第一池化层→第二卷积层→第二池化层→全连接层。
设置每层参数如下:第一和第二卷积层的卷积核个数分别设置为64、128,卷积核尺寸均设置为3*3;每个池化层均采用最大池化方式,池化层的池化核尺寸均设置为2*2,全连接层的神经元个数设置为1440个。
步骤2,生成训练集。
在全国每个城市中提取至少1000组车流量数据,每组数据包括该城市每24小时内不同路口的不同方向的车流量数据,将每个城市的所有车流量数据组成一个样本集,将所有样本集组成训练集。
所述的不同路口的不同方向是指,在城市道路网中的每一个不相同的路口与其相邻的每一个路口指向该路口的方向。
参照附图3进一步说明生成训练集的过程。
图3中以菱形标示的点表示路口,直线表示道路。路口a具有四个可通行的方向,路口a的不同方向的车流量数据就是从这四个方向通往路口a的车流量数据;对应该城市的一组车流量数据就是24小时内图中每一个路口的不同方向的车流量数据,采集至少1000组车流量数据组成该城市的样本集,将所有样本集组成训练集。
步骤3,训练深度神经网络。
将训练集输入到深度神经网络中,利用反向传播梯度下降算法,更新迭代深度神经网络中各层参数直到目标函数收敛,得到训练好的深度神经网络。
步骤4,预测车流量数据。
当请求预测路径的车辆的导航装置收到驾驶者发出的路径规划请求时,导航装置从公共道路图中查找路径规划请求的起点和终点、以及查找起点到终点方向上所有可能经过的路口。
探测设备实时搜索并发送当前时刻的每个可能经过的路口在通往终点方向上的车流量数据,并将该路口的车流量数据输入到训练好的深度神经网络,输出该路口在通往终点方向上的未来24小时内的预测车流量数据。
步骤5,计算预测行驶时间并构建对应的节点拓扑文件。
利用行驶时间计算公式,计算请求预测路径的车辆在未来24小时内的可能通过每个路口的预测行驶时间,该时间与预测车流量数据一一对应。
所述的行驶时间计算公式如下:
其中,ti表示请求预测路径车辆预计通过第i个路口的行驶时间,
构建与导航装置从公共道路图中查找到的所有路口对应的节点拓扑文件。
所述的构建与导航装置从公共道路图中查找到的所有路口对应的节点拓扑文件的步骤如下:
将每个路口均抽象为一一对应的节点;
将每个路口节点按照在公共道路图中从北到南、从西到东的顺序依次进行编号;
将每个路口节点的编号作为其索引值,构造一个路口节点哈希表;将每个路口节点的索引值作为路口节点哈希表的一个键,将每个路口节点的相邻节点的索引值、每个相邻节点通往该路口节点的方向和距离作为对应键的值,构成的路口节点哈希表作为节点拓扑文件。
附图4表示导航装置查找到的请求预测路径的车辆可能经过的道路网图,参照附图4进一步说明节点拓扑文件的构建过程。
图4中以菱形标示的点表示路口,直线表示道路。每个点上方的数字表示每个路口对应的编号,编号为1的路口节点,其索引值为1,则对应的键为1。编号为2和4的相邻路口节点到1号路口节点的距离分别为100米和200米,分别位于1号路口节点的东和南,1号路口节点的邻节点的键值对分别为{2,e100}和{4,s200},将其组合作为1号路口节点的键对应的值,则1号路口节点对应的键值对如下:{1,[{2,e100},{4,s200}]}。对图中每个路口节点依次这样构建键值对,组成的哈希表构成节点拓扑文件。
步骤6,查找路径搜索的范围。
在节点拓扑文件中查找请求预测路径的车辆的起点节点和终点节点,以及起点节点和终点节点方向上所有可能经过的路口,将起点节点作为当前节点。
步骤7,搜索路径。
利用
将当前节点所有邻节点的权值按照从小到大排序。
步骤8,判断当前节点的所有邻节点中是否包括终点节点,若是,则执行步骤9,否则,将权值最小的邻节点作为当前节点,执行步骤7。
步骤9,选择路径。
从起点节点开始,将起点节点到终点节点之间的每一个节点与其权值最小的邻节点连接,组成预测路径车辆请求选择的最佳路径。