掌桥专利:专业的专利平台
掌桥专利
首页

路线生成方法和装置、存储介质和电子设备

文献发布时间:2023-06-19 09:26:02


路线生成方法和装置、存储介质和电子设备

技术领域

本公开涉及路径规划领域,具体地,涉及一种路线生成方法和装置、存储介质和电子设备。

背景技术

路径规划是人们生活出行时常用的技术,目前的路径规划算法大多使用了真实的路网信息,然而目前的道路数量多且路况复杂,基于路况的路径规划建模的数据量很大,建模难度和训练难度均较高,路径规划所需的计算成本较高;而无路网的路径规划生成的路线的未考虑真实路况,往往是理想情况下的最优路线,在实际路网中的可行性不高。

发明内容

本公开的目的是提供一种路线生成方法和装置、存储介质和电子设备,已解决上述技术问题。

为了实现上述目的,本公开的第一方面,提供一种路线生成方法,包括:获取待生成路线的起点位置和终点位置;在对路网进行编码得到的预设网格中确定所述起点位置对应的起点网格,和所述终点位置对应的终点网格;将所述起点网格和所述终点网格输入预训练的概率模型,并通过所述概率模型的输出结果和预设的路径搜索算法确定目标网格路线,其中,所述概率模型用于基于终点网格生成任意网格向与该网格相邻的各网格跳转的跳转概率;将所述目标网格路线与路网进行拟合,并将拟合结果作为目标路线。

可选地,所述通过所述概率模型的输出结果和预设的路径搜索算法确定目标网格路线,包括:将所述起点网格作为目标网格,并重复执行基于所述概率模型确定目标网格向相邻网格跳转的跳转概率,并将跳转概率最大的网格作为新的目标网格的步骤,直至所述跳转概率最大的网格为所述终点网格;将各目标网格依次连接,得到目标网格路线。

可选地,所述概率模型包括嵌入层、连接层、输出层,其中,所述嵌入层用于将获取到的所述目标网格转化为目标向量,将获取到的所述终点网格转化为终点向量;所述连接层用于将所述目标向量和所述终点向量连接为连接向量;所述输出层用于基于所述连接向量生成所述目标网格向相邻网格跳转的跳转概率。

可选地,所述概率模型还包括长短期记忆LSTM层,所述LSTM层用于基于当前的目标网格对应的历史序列生成轨迹向量,其中,所述历史序列是通过将已确定的所有目标网格按照获得顺序排列后得到的;所述输出层还用于基于所述轨迹向量和所述目标网格对应的跳转向量生成跳转概率分布,其中,所述跳转向量为在所述概率模型的训练阶段调整得到的参数。

可选地,所述LSTM层还用于:存储当前的目标网格对应的历史序列;所述基于当前的目标网格对应的历史序列生成轨迹向量,包括:获取上一目标网格对应的历史序列,并在所述历史序列中添加当前的目标网格以更新所述历史序列,并基于更新后的所述历史序列生成轨迹向量。

可选地,所述概率模型是通过以下步骤训练得到的:获取用户上传的多条历史轨迹,其中,每条历史轨迹为多个轨迹点组成的集合;针对每条历史轨迹,基于所述历史轨迹的轨迹点的坐标位置,将该轨迹点投射入所述预设网格中,获得多个轨迹点网格,并按照轨迹点的排列顺序连接所述轨迹点网格,获得轨迹网格序列;将多条历史轨迹对应的多个轨迹网格序列输入待训练的概率模型,并基于预设损失函数调整所述概率模型中的参数。

可选地,所述按照轨迹点的排列顺序连接所述轨迹点网格,获得轨迹网格序列,包括:在处于相邻的排列位置的两个轨迹点所对应的轨迹点网格不相邻的情况下,将不相邻的轨迹点网格的中心连接,并将连线经过的网格作为轨迹点网格,依次插入所述不相邻的轨迹点网格的序列位置之间,获得轨迹网格序列。

可选地,所述预设网格为正六边形网格,所述将该轨迹点投射入预设网格中,获得多个轨迹点网格,包括:判断处于相邻的排列位置的两个轨迹点间的距离是否大于所述正六边形网格的六边形边长;在该距离小于所述正六边形网格的六边形边长的情况下,获取该两个轨迹点对应的轨迹点网格;在该距离小于所述正六边形网格的六边形边长的情况下,连接该两个轨迹点,并将连线经过的网格作为轨迹点网格。

可选地,所述将所述目标网格路线与路网进行拟合,并将拟合结果作为目标路线,包括:确定路网中被所述目标网格路线中的网格包围的多个目标路段;将所述起点位置和所述终点位置之间的目标路段相连,得到至少一条目标路线。

可选地,所述确定路网中被所述目标网格路线中的网格包围的多个目标路段,包括:确定路网中被所述目标网格路线中的网格包围的目标子路网,所述目标子路网包括多个目标路段以及各路段对应的路况信息;将所述起点位置和所述终点位置之间的目标路段相连,得到至少一条目标路线,包括:根据路线生成条件和所述路况信息,将所述起点位置和所述终点位置之间的目标路段相连,在所述目标子路网中生成符合路线生成条件的目标路线;其中,所述路线生成条件包括距离条件、转弯数量条件、红绿灯数量条件、路段类型条件中的至少一种。

本公开的第二方面,提供一种路线生成装置,包括:获取模块,用于获取待生成路线的起点位置和终点位置;定位模块,用于在对路网进行编码得到的预设网格中确定所述起点位置对应的起点网格,和所述终点位置对应的终点网格;确定模块,用于将所述起点网格和所述终点网格输入预训练的概率模型,并通过所述概率模型的输出结果和预设的路径搜索算法确定目标网格路线,其中,所述概率模型用于基于终点网格生成任意网格向与该网格相邻的各网格跳转的跳转概率;拟合模块,用于将所述目标网格路线与路网进行拟合,并将拟合结果作为目标路线。

可选地,所述确定模块,用于将所述起点网格作为目标网格,并重复执行基于所述概率模型确定目标网格向相邻网格跳转的跳转概率,并将跳转概率最大的网格作为新的目标网格的步骤,直至所述跳转概率最大的网格为所述终点网格;将各目标网格依次连接,得到目标网格路线。

可选地,所述概率模型包括嵌入层、连接层、输出层,其中,所述嵌入层用于将获取到的所述目标网格转化为目标向量,将获取到的所述终点网格转化为终点向量;所述连接层用于将所述目标向量和所述终点向量连接为连接向量;所述输出层用于基于所述连接向量生成所述目标网格向相邻网格跳转的跳转概率。

可选地,概率模型还包括长短期记忆LSTM层,所述LSTM层用于基于当前的目标网格对应的历史序列生成轨迹向量,其中,所述历史序列是通过将已确定的所有目标网格按照获得顺序排列后得到的;所述输出层还用于基于所述轨迹向量和所述目标网格对应的跳转向量生成跳转概率分布,其中,所述跳转向量为在所述概率模型的训练阶段调整得到的参数。

可选地,所述LSTM层还用于:存储当前的目标网格对应的历史序列,获取上一目标网格对应的历史序列,并在所述历史序列中添加当前的目标网格以更新所述历史序列,并基于更新后的所述历史序列生成轨迹向量。

可选地,所述装置还包括训练模块,用于获取用户上传的多条历史轨迹,其中,每条历史轨迹为多个轨迹点组成的集合;针对每条历史轨迹,基于所述历史轨迹的轨迹点的坐标位置,将该轨迹点投射入所述预设网格中,获得多个轨迹点网格,并按照轨迹点的排列顺序连接所述轨迹点网格,获得轨迹网格序列;将多条历史轨迹对应的多个轨迹网格序列输入待训练的概率模型,并基于预设损失函数调整所述概率模型中的参数。

可选地,所述训练模块,用于在处于相邻的排列位置的两个轨迹点所对应的轨迹点网格不相邻的情况下,将不相邻的轨迹点网格的中心连接,并将连线经过的网格作为轨迹点网格,依次插入所述不相邻的轨迹点网格的序列位置之间,获得轨迹网格序列。

可选地,所述预设网格为正六边形网格,所述训练模块,用于判断处于相邻的排列位置的两个轨迹点间的距离是否大于所述正六边形网格的六边形边长;在该距离小于所述正六边形网格的六边形边长的情况下,获取该两个轨迹点对应的轨迹点网格;在该距离小于所述正六边形网格的六边形边长的情况下,连接该两个轨迹点,并将连线经过的网格作为轨迹点网格。

可选地,所述拟合模块,用于确定路网中被所述目标网格路线中的网格包围的多个目标路段;将所述起点位置和所述终点位置之间的目标路段相连,得到至少一条目标路线。

可选地,所述拟合模块,用于确定路网中被所述目标网格路线中的网格包围的目标子路网,所述目标子路网包括多个目标路段以及各路段对应的路况信息;根据路线生成条件和所述路况信息,将所述起点位置和所述终点位置之间的目标路段相连,在所述目标子路网中生成符合路线生成条件的目标路线;其中,所述路线生成条件包括距离条件、转弯数量条件、红绿灯数量条件、路段类型条件中的至少一种。

本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开的第一方面中任一项所述方法的步骤

本公开的第四方面,提供一种电子设备,包括存储器和处理器;存储器上存储有计算机程序;处理器用于执行所述存储器中的所述计算机程序,以实现本公开的第一方面中任一项所述方法的步骤。

通过上述技术方案,至少可以达到以下技术效果:

可以在基于路网编码所得到的预设网格中,基于概率模型和预设的路径搜索算法确定目标网格路线,并将该目标网格路线与路网进行拟合,得到目标路线,这样,可以在避免对路网进行复杂建模的基础上,生成与路网中的信息相拟合的目标路线,提升了生成的路线的准确性,且降低了生成路线的成本。

本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是根据一示例性公开实施例示出的一种路线生成方法的流程图。

图2是根据一示例性公开实施例示出的一种路线拟合过程的示意图。

图3是根据一示例性公开实施例示出的一种生成轨迹网格序列的示意图。

图4是根据一示例性公开实施例示出的另一种生成轨迹网格序列的示意图。

图5是根据一示例性公开实施例示出的一种通过概率模型和路径搜索算法生成目标网格路线的示意图。

图6是根据一示例性公开实施例示出的一种路线生成装置的框图。

图7是根据一示例性公开实施例示出的一种电子设备的框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

首先对本公开中使用的网格进行说明。路网中的具体位置是通过坐标进行定位的,该坐标可能是通过经纬度编码得到的,也可以是仅具有相对位置的横纵坐标编码得到的,在给出一个具体坐标之后,可以在路网中搜索到该坐标所对应的具体位置以及该位置周围的路况环境。从而,在只考虑路网中的位置信息而不考虑其他路况信息的条件下,可以通过对路网进行编码的方式生成覆盖路网的网格,路网中的各个坐标位置可以投射入网格之中,具有唯一的网格坐标。

目前,可以通过GeoHash编码、H3编码分别生成矩形网格和蜂窝型(即正六边形)网格,GeoHash编码流程如下:第一步,分别对经度值、纬度值做二分计算得到两串等长的二进制编码;第二步,把两串二进制编码组合生成新串,偶数位放经度,奇数位放纬度;最后,将新串每六个一组转换为十进制数,通过查表找出各个十进制数对应的字符,组合成GeoHash编码。根据精度要求的不同,二分计算的次数不同,最终得到的字符编码长度也不同。H3编码中,各六边形之间均为边近邻,不会出现矩形划分里的点近邻,即可以保证各向同性。值得说明的是,本公开不对网格编码方式和网格形状进行限定,并且,本领域技术人员应当知悉,通过其他编码形式生成的任意形状的网格也应当属于本公开中可以选择的预设网格中的一种。

图1是根据一示例性公开实施例示出的一种路线生成方法的流程图。如图1所示,所述路线生成方法包括以下步骤:

S11、获取待生成路线的起点位置和终点位置。

该起点位置和终点位置可以是基于用户的选择而确定的,也可以是基于配送订单而生成的。可以基于获取到的配送订单,确定所述配送订单对应的起点位置和终点位置。例如,当获取到了从A商场配送至B居民楼的订单时,可以在路网中确定A商场和B居民楼分别对应的位置坐标,并将该A商场对应的位置坐标作为起点位置,将B居民楼对应的位置坐标作为终点位置。

S12、在对路网进行编码得到的预设网格中确定所述起点位置对应的起点网格,和所述终点位置对应的终点网格。

在本公开中,该预设网格的精度可以固定,也可以根据应用场景进行调整。例如,在外卖配送的场景下,终点位置和起点位置之间的距离通常不远,并且用户需要精细的路线,因此,可以将预设网格的精度设置得较高,即各网格实际覆盖的路网面积较小,从而可以生成精细且准确的配送路线;而在城市驾驶导航的场景下,终点位置和起点位置之间的距离可能较远(还可能出现跨区、跨市的情况),而网格的精度越高则生成路线时需要的迭代时间越长,因此,可以将预设网格的精度设置得偏中,即各网格实际覆盖的路网面积适中,从而可以较快地生成驾驶路线。

S13、将所述起点网格和所述终点网格输入预训练的概率模型,并通过所述概率模型的输出结果和预设的路径搜索算法确定目标网格路线。

其中,所述概率模型用于基于终点网格生成任意网格向与该网格相邻的各网格跳转的跳转概率。也就是说,将任意网格和终点网格输入该概率模型,可以得到从该网格出发前往终点网格的条件下,该网格向与该网格相邻的各网格跳转的概率。

值得说明的是,该目标网格路线可以是带有排列顺序的目标网格的序列,也可以是没有顺序的目标网格的集合,本公开对此不作限制。

在该概率模型为LSTM(Long short-term memory,长短期记忆)模型或包括LSTM层的情况下,概率模型可以提取前序的概率预测过程中生成的历史序列的隐状态,概率模型可以基于该历史序列的隐状态输出当前目标网格向相邻网格跳转的概率。该隐状态可以为LSTM层基于历史序列生成的轨迹向量。

例如,将起点网格和终点网格输入概率模型,得到概率模型输出的起点网格向相邻网格跳转的跳转概率后,基于预设的路径搜索算法确定起点网格所跳转的网格A,概率模型再基于起点网格-网格A的历史序列的隐状态和终点网格输出网格A向相邻网格跳转的跳转概率,基于该预设的路径搜索算法确定网格A所跳转的网格B,概率模型再基于起点网格-网格A-网格B的历史序列的隐状态和终点网格输出网格B向相邻网格跳转的跳转概率,并重复上述过程。这样,可以基于LSTM层保存历史序列,并基于历史序列生成更精确的跳转概率。

该概率模型是通过多条历史轨迹和/或多条指定的样本轨迹训练得到的,训练样本的数量越多,则概率模型预测得到的跳转概率的准确性越高。

在本公开中,该预设的路径搜索算法可以是Dijkstra算法、A星算法等寻路算法,将概率模型得到的跳转概率作为寻路算法中的通行收益,或将跳转概率的补数、倒数等可以将跳转概率的大小进行逆向排序的值作为通行成本,通过算法预设的迭代或遍历方式,结合算法需要的通行收益和/或通行成本,得到目标网格路线。

在一种可能的实施方式中,目标网格路线是通过以下的算法得到的:

将所述起点网格作为目标网格,并重复执行基于所述概率模型确定目标网格向相邻网格跳转的跳转概率,并将跳转概率最大的网格作为新的目标网格的步骤,直至所述跳转概率最大的网格为所述终点网格;将各目标网格依次连接,确定目标网格路线。

例如,网格1为起点网格,将网格1作为目标网格输入概率模型,得到网格1向相邻的各网格跳转的跳转概率分别为5%(网格2)、15%(网格3)、25%(网格4)、55%(网格5),则可以确定新的目标网格为网格5;将网格5作为目标网格输入概率模型,得到网格5向相邻网格跳转的跳转概率分别为0%(网格1)、50%(网格6)、25%(网格7)、25%(表格8),则可以确定新的目标网格为网格8;循环执行上述的步骤,直至得到的新的目标网格为终点网格,则将各目标网格依次连接,得到目标网格路线。

S14、将所述目标网格路线与路网进行拟合,并将拟合结果作为目标路线。

在一种可能的实施方式中,确定路网中被所述目标网格路线中的网格包围的多个目标路段,并将所述起点位置和所述终点位置之间的目标路段相连,得到至少一条目标路线。

其中,可以通过空间映射算法来实现从路网中确定被目标网格路线中的网格包围的目标路段,即对路网中的所有的路段构建R-tree结构,每一路段对应一个R-tree中的节点,基于目标网格路线的外包矩形获取R-tree中所对应的子索引,并在子索引对应的节点区域的局部使用shapely或其他筛选工具筛选出目标网格路线覆盖的路段。

在确定目标路段之后,将起点位置和终点位置之间的目标路段相连,得到目标路线。值得说明的是,在网格的精度较低的情况下,一个网格覆盖的区域中可能包括多个并行的路段,因此,连接目标路段所得到的目标路线可能有多条。在获取到多条目标路线后,可以基于用户选择的条件筛选出符合用户条件的一条目标路线,并将该目标路线提供给用户。例如,通过上述的步骤生成了两条路线,其中,路线1经过了5个路口、3个红绿灯、长度为1km,路线2经过了4个路口、4个红绿灯、长度为0.8km,则当用户选择的条件为“红绿灯数量最少”时,可以向用户提供路线1,当用户选择的条件为“长度最短”时,可以向用户提供路线2。

如图2所示的是一种路线拟合过程的示意图,如图2所示,两点之间的连线为一个路段,被网格覆盖的目标路段已加粗展示,分别为a、b、c、d、e、f、g、h、i、j、k、l、m、n,则将起点A和终点B之间的目标路段相连,可以得到目标路线:A-b-c-g-j-m-B。

在一种可能的实施方式中,确定路网中被所述目标网格路线中的网格包围的目标子路网,所述目标子路网包括多个目标路段以及各路段对应的路况信息,根据路线生成条件和所述路况信息,将所述起点位置和所述终点位置之间的目标路段相连,在所述目标子路网中生成符合路线生成条件的目标路线;其中,所述路线生成条件包括距离条件、转弯数量条件、红绿灯数量条件、路段类型条件中的至少一种。

也就是说,在拟合路线时,并非直接将起点位置和终点位置之间的目标路段连接,而是基于一定的路线生成策略,在所有的目标路段中生成符合路线生成条件的最优路线。该路线生成条件可以是系统预置的,也可以是响应于用户的条件设置操作而生成的。

在一种可能的实施方式中,S13中的概率模型包括嵌入层、连接层、输出层,其中,所述嵌入层用于将获取到的所述目标网格转化为目标向量,将获取到的所述终点网格转化为终点向量;所述连接层用于将所述目标向量和所述终点向量连接为连接向量;所述输出层用于基于所述连接向量生成所述目标网格向相邻网格跳转的跳转概率。

在一种可能的实施方式中,该概率模型还包括长短期记忆LSTM层,所述LSTM层用于基于当前的目标网格对应的历史序列生成轨迹向量,其中,所述历史序列是通过将已确定的所有目标网格按照获得顺序排列后得到的;所述输出层还用于基于所述轨迹向量和所述目标网格对应的跳转向量生成跳转概率分布,其中,所述跳转向量为在所述概率模型的训练阶段调整得到的参数。

此处的基于所述轨迹向量和所述目标网格对应的跳转向量生成跳转概率分布,可以是通过将该轨迹向量和跳转向量点乘,得到各个相邻网格的评分,并对各网格的评分进行归一化处理实现的。

在一种可能的实施方式中,所述LSTM层还用于存储当前的目标网格对应的历史序列;在生成当前目标网格对应的轨迹向量时,获取上一目标网格对应的历史序列,并在所述历史序列中添加当前的目标网格以更新所述历史序列,并基于更新后的所述历史序列生成轨迹向量。

这样,可以避免LSTM层重复计算,在每一次确定目标网格的时候,直接调用前继的LSTM层存储的历史序列相关参数,并储存当前LSTM生成的历史序列相关的参数,提升LSTM层的工作效率。

在一种可能的实施方式中,S13中的概率模型是通过以下的方式训练得到的:

获取用户上传的多条历史轨迹,其中,每条历史轨迹为多个轨迹点组成的集合;针对每条历史轨迹,基于所述历史轨迹的轨迹点的坐标位置,将该轨迹点投射入所述预设网格中,获得多个轨迹点网格,并按照轨迹点的排列顺序连接所述轨迹点网格,获得轨迹网格序列;将多条历史轨迹对应的多个轨迹网格序列输入待训练的概率模型,并基于预设损失函数调整所述概率模型中的参数。

该上传历史轨迹的用户可以是外卖、快递的配送员,也可以是普通的车主、普通导航使用用户,用户可以通过专用的位置上传装置来上传历史轨迹,也可以通过车载终端、移动终端、穿戴设备等任意可以获取地理位置坐标的装置来上传历史轨迹。该历史轨迹可以是用户实时上传的,也可以是存储在本地之后通过物理拷贝等方式上传到终端,并由终端上传到服务器的,或者,可以是离线存储后通过特定的通讯形式上传的。

在训练时,可以基于应用场景来确定训练集的历史轨迹的类型,例如,当该概率模型是用于生成外卖配送员的路线的场景时,可以用外卖配送员上传的历史轨迹训练概率模型,当该概率模型是用于私家车路线规划的场景时,可以用私家车车主上传的历史轨迹训练概率模型;进一步的,可以为不同的交通工具型号确定不同的训练集,以训练不同的概率模型,例如,可以确定所有车辆型号为型号1的车主上传的历史轨迹,训练一个概率模型,该概率模型用于为车辆型号为型号1的用户提供路径规划。

在一种可能的实施方式中,该预设损失函数的设定方式如下:

给定历史轨迹集合

通过条件概率分解和对数变换,该目标路线的函数可以转换为:

其中,l

因此,为了最大化所有历史轨迹发生的概率,设n

基于上述的损失函数和历史轨迹,可以训练上述的概率模型。

但是,本领域技术人员应当知悉,上述的损失函数是为了最大化所有历史轨迹发生的概率而设置的,而考虑到不同应用场景下的训练目的的不同,本领域技术人员可以对上述的损失函数进行简单变形,或另行设计,例如,将对数化的数据项转换成其他数据处理方式,已达到与对数化类似的数据项处理效果,从而获得可以用于训练概率模型的损失函数。也就是说,损失函数的设置可以存在多种不同的实施方式,本公开不对损失函数的设置方式进行限定。

为了利用历史轨迹进行模型训练,需将历史轨迹投射入预设网格中,但是,由于历史轨迹是通过用户实时上报坐标位置生成的,在信号不良或采集频率较低的情况下,历史轨迹的轨迹点投射入预设网格中可能存在相邻轨迹点所在的网格不连续的情况,难以生成一条完整的网格序列,不利于概率模型的训练。

因此,在一种可能的实施方式中,在处于相邻的排列位置的两个轨迹点所对应的轨迹点网格不相邻的情况下,将不相邻的轨迹点网格的中心连接,并将连线经过的网格作为轨迹点网格,依次插入所述不相邻的轨迹点网格的序列位置之间,获得轨迹网格序列。

值得说明的是,还可以通过连接轨迹点并确定轨迹点连线经过的网格为轨迹点网格的形式解决轨迹点所在网格不连续的问题。

如图3所示,轨迹点1(在图3中用标号为1的圆形标示)和轨迹点2(在图3中用标号为2的圆形标示)所在的网格不相邻,则可以连接轨迹点1所在网格的中心和轨迹点2所在网格的中心,将连线经过的网格作为轨迹点网格。在图3中,轨迹点网格已加粗显示。

或者,在一种可能的实施方式中,预设网格为正六边形网格,则可以判断处于相邻的排列位置的两个轨迹点间的距离是否大于所述正六边形网格的六边形边长,在该距离小于所述正六边形网格的六边形边长的情况下,获取该两个轨迹点对应的轨迹点网格,在该距离小于所述正六边形网格的六边形边长的情况下,连接该两个轨迹点,并将连线经过的网格作为轨迹点网格。

如图4所示,轨迹点3(在图4中用标号为3的圆形标示)和轨迹点4(在图4中用标号为4的圆形标示)分别位于两个网格中,且轨迹点3和轨迹点4之间的连线大于六边形网格的边长,则可以连接轨迹点3和轨迹点4,并将连线经过的网格作为轨迹点网格。在图4中,轨迹点网格已加粗显示。

图5是根据一示例性公开实施例示出的一种通过概率模型和路径搜索算法生成目标网格路线的流程示意图。该概率模型包括了LSTM层,可以获取并存储历史序列,并生成表征历史序列的状态信息的隐状态,概率模型可以基于LSTM层输出的历史序列的信息生成跳转概率。如图5所示,该流程包括以下步骤:

S51、将待生成路线的起点网格和终点网格输入概率模型中。

S52、概率模型基于起点网格生成历史序列,并将起点网格作为目标网格加入目标网格集合中。

S53、存储当前的历史序列,并基于当前的历史序列,确定目标网格向相邻网格跳转的跳转概率,并确定跳转概率最大的网格。

S54、判断目标网格是否为终点网格。若是,则执行步骤S56;若否,则执行步骤S55。

S55、将跳转概率最大的网格作为目标网格,加入目标网格集合中,并更新已存储的历史序列。并回到步骤S53。

S56。将目标网格集合输出为目标网格路线。

通过上述技术方案,可以在基于路网编码所得到的预设网格中,基于概率模型和预设的路径搜索算法确定目标网格路线,并将该目标网格路线与路网进行拟合,得到目标路线,这样,可以在避免对路网进行复杂建模的基础上,生成与路网中的信息相拟合的目标路线,提升了生成的路线的准确性,且降低了生成路线的成本。

通过上述技术方案,至少可以达到以下技术效果:

可以在基于路网编码所得到的预设网格中,基于概率模型和预设的路径搜索算法确定目标网格路线,并将该目标网格路线与路网进行拟合,得到目标路线,这样,可以在避免对路网进行复杂建模的基础上,生成与路网中的信息相拟合的目标路线,提升了生成的路线的准确性,且降低了生成路线的成本。

图6是根据一示例性公开实施例示出的一种路线生成装置的框图。如图6所示,所述装置600包括:

获取模块610,用于获取待生成路线的起点位置和终点位置.

定位模块620,用于在对路网进行编码得到的预设网格中确定所述起点位置对应的起点网格,和所述终点位置对应的终点网格.

确定模块630,用于将所述起点网格和所述终点网格输入预训练的概率模型,并通过所述概率模型的输出结果和预设的路径搜索算法确定目标网格路线,其中,所述概率模型用于基于终点网格生成任意网格向与该网格相邻的各网格跳转的跳转概率.

拟合模块640,用于将所述目标网格路线与路网进行拟合,并将拟合结果作为目标路线。

可选地,所述确定模块630,用于将所述起点网格作为目标网格,并重复执行基于所述概率模型确定目标网格向相邻网格跳转的跳转概率,并将跳转概率最大的网格作为新的目标网格的步骤,直至所述跳转概率最大的网格为所述终点网格;将各目标网格依次连接,得到目标网格路线。

可选地,所述概率模型包括嵌入层、连接层、输出层,其中,所述嵌入层用于将获取到的所述目标网格转化为目标向量,将获取到的所述终点网格转化为终点向量;所述连接层用于将所述目标向量和所述终点向量连接为连接向量;所述输出层用于基于所述连接向量生成所述目标网格向相邻网格跳转的跳转概率。

可选地,概率模型还包括长短期记忆LSTM层,所述LSTM层用于基于当前的目标网格对应的历史序列生成轨迹向量,其中,所述历史序列是通过将已确定的所有目标网格按照获得顺序排列后得到的;所述输出层还用于基于所述轨迹向量和所述目标网格对应的跳转向量生成跳转概率分布,其中,所述跳转向量为在所述概率模型的训练阶段调整得到的参数。

可选地,所述LSTM层还用于:存储当前的目标网格对应的历史序列,获取上一目标网格对应的历史序列,并在所述历史序列中添加当前的目标网格以更新所述历史序列,并基于更新后的所述历史序列生成轨迹向量。

可选地,所述装置600还包括训练模块,用于获取用户上传的多条历史轨迹,其中,每条历史轨迹为多个轨迹点组成的集合;针对每条历史轨迹,基于所述历史轨迹的轨迹点的坐标位置,将该轨迹点投射入所述预设网格中,获得多个轨迹点网格,并按照轨迹点的排列顺序连接所述轨迹点网格,获得轨迹网格序列;将多条历史轨迹对应的多个轨迹网格序列输入待训练的概率模型,并基于预设损失函数调整所述概率模型中的参数。

可选地,所述训练模块,用于在处于相邻的排列位置的两个轨迹点所对应的轨迹点网格不相邻的情况下,将不相邻的轨迹点网格的中心连接,并将连线经过的网格作为轨迹点网格,依次插入所述不相邻的轨迹点网格的序列位置之间,获得轨迹网格序列。

可选地,所述预设网格为正六边形网格,所述训练模块,用于判断处于相邻的排列位置的两个轨迹点间的距离是否大于所述正六边形网格的六边形边长;在该距离小于所述正六边形网格的六边形边长的情况下,获取该两个轨迹点对应的轨迹点网格;在该距离小于所述正六边形网格的六边形边长的情况下,连接该两个轨迹点,并将连线经过的网格作为轨迹点网格。

可选地,所述拟合模块640,用于确定路网中被所述目标网格路线中的网格包围的多个目标路段;将所述起点位置和所述终点位置之间的目标路段相连,得到至少一条目标路线。

可选地,所述拟合模块640,用于确定路网中被所述目标网格路线中的网格包围的目标子路网,所述目标子路网包括多个目标路段以及各路段对应的路况信息;根据路线生成条件和所述路况信息,将所述起点位置和所述终点位置之间的目标路段相连,在所述目标子路网中生成符合路线生成条件的目标路线;其中,所述路线生成条件包括距离条件、转弯数量条件、红绿灯数量条件、路段类型条件中的至少一种。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

通过上述技术方案,至少可以达到以下技术效果:

可以在基于路网编码所得到的预设网格中,基于概率模型和预设的路径搜索算法确定目标网格路线,并将该目标网格路线与路网进行拟合,得到目标路线,这样,可以在避免对路网进行复杂建模的基础上,生成与路网中的信息相拟合的目标路线,提升了生成的路线的准确性,且降低了生成路线的成本。

图7是根据一示例性实施例示出的一种电子设备700的框图。如图7所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(I/O)接口704,以及通信组件705中的一者或多者。

其中,处理器701用于控制该电子设备700的整体操作,以完成上述的路线生成方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件705可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。

在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的路线生成方法。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的路线生成方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的路线生成方法。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

相关技术
  • 基于图纸的路线生成方法、装置、电子设备及存储介质
  • 路线的生成方法、装置、电子设备和存储介质
技术分类

06120112165325