基于车辆轨迹数据的路网结构生成方法及装置转让专利

申请号 : CN202310727185.5

文献号 : CN116465394B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 郝坤坤王江成潘余曦杨子江

申请人 : 西安深信科创信息技术有限公司

摘要 :

本公开提供一种基于车辆轨迹数据的路网结构生成方法及装置,涉及智能交通技术领域,可应用于交通路网生成、高精度地图构建等场景下。具体实现方案包括:获取目标道路区域对应的车辆轨迹数据,车辆轨迹数据包含至少一条车辆轨迹;根据车辆轨迹数据中至少一条车辆轨迹的起始轨迹点和终止轨迹点,确定至少一条车辆轨迹对应的目标行驶方向;根据车辆轨迹数据中与目标行驶方向对应的车辆轨迹,确定目标行驶方向对应的车道和车道线;根据目标行驶方向对应的车道和车道线,生成目标道路区域对应的路网结构。本公开可以根据车辆轨迹数据,低成本、高效率地自动生成路网结构,路网结构的形态效果好、道路粒度细。

权利要求 :

1.一种基于车辆轨迹数据的路网结构生成方法,所述方法包括:获取目标道路区域对应的车辆轨迹数据,所述车辆轨迹数据包含至少一条车辆轨迹;

根据所述车辆轨迹数据中至少一条车辆轨迹的起始轨迹点和终止轨迹点,确定所述至少一条车辆轨迹对应的目标行驶方向;

根据所述车辆轨迹数据中与所述目标行驶方向对应的车辆轨迹,确定所述目标行驶方向对应的车道和车道线,所述车道为所述目标行驶方向对应的车辆轨迹所覆盖或组成的区域,所述车道线是通过提取所述区域的边界得到的;

根据所述目标行驶方向对应的车道和车道线,生成所述目标道路区域对应的路网结构;

所述根据所述车辆轨迹数据中与所述目标行驶方向对应的车辆轨迹,确定所述目标行驶方向对应的车道和车道线,包括:从所述车辆轨迹数据中提取所述目标行驶方向对应的车辆轨迹;

将所述目标行驶方向对应的车辆轨迹所围成的目标区域作为所述目标行驶方向对应的车道,所述目标区域包括并行的多个子区域,每个所述子区域对应一个所述目标行驶方向对应的车辆轨迹所围成的车道;

采用预设边界点提取算法分别提取每个所述子区域的边界;

采用多阶多项式对相邻两个所述子区域的边界进行拟合,得到相邻两个所述子区域的拟合边界的曲线方程;

根据所述曲线方程在所述拟合边界的曲线上进行采样,得到相邻两个所述子区域的共同边界;

根据所述共同边界生成所述目标行驶方向对应的每个车道的车道线。

2.根据权利要求1所述的方法,所述目标道路区域为交叉路口,所述根据所述车辆轨迹数据中至少一条车辆轨迹的起始轨迹点和终止轨迹点,确定所述至少一条车辆轨迹对应的目标行驶方向,包括:采用第一聚类算法,对所述至少一条车辆轨迹的起始轨迹点和终止轨迹点进行聚类,得到聚类中心点,所述聚类中心点用于指示所述交叉路口中包含的各分支路口的中心位置;

将从第一聚类中心点至第二聚类中心点的行驶方向作为第一分支路口至第二分支路口的目标行驶方向;

其中,第一聚类中心点和所述第二聚类中心点分别为每个所述聚类中心点,所述第一聚类中心点和所述第二聚类中心点相同或不同,所述第一分支路口为所述第一聚类中心点所在的分支路口,所述第二分支路口为所述第二聚类中心点所在的分支路口。

3.根据权利要求1所述的方法,所述根据所述车辆轨迹数据中至少一条车辆轨迹的起始轨迹点和终止轨迹点,确定所述至少一条车辆轨迹对应的目标行驶方向之前,所述方法还包括:根据车辆标识,分别提取所述至少一条车辆轨迹中每条车辆轨迹包含的轨迹点;

根据帧标识,分别对所述至少一条车辆轨迹中每条车辆轨迹包含的轨迹点进行排序;

根据所述至少一条车辆轨迹中每条车辆轨迹包含的轨迹点的排序结果,提取每条车辆轨迹对应的第一帧轨迹点作为所述起始轨迹点、最后一帧轨迹点作为所述终止轨迹点。

4.根据权利要求1所述的方法,所述采用预设边界点提取算法分别提取每个所述子区域的边界之前,所述方法还包括:从所述目标行驶方向对应的车辆轨迹中,删除不符合预设条件的车辆轨迹;

其中,所述目标道路区域为交叉路口时,所述预设条件包括以下一种或多种:起始轨迹点至终止轨迹点之间的距离小于第一阈值、起始轨迹点与所在分支路口的中心位置的距离大于第二阈值、终止轨迹点与所在分支路口的中心位置的距离大于第三阈值;

所述目标道路区域为非交叉路口时,所述预设条件包括以下一种或多种:起始轨迹点至终止轨迹点之间的距离小于第四阈值、起始轨迹点至终止轨迹点之间的横向位移大于第五阈值。

5.一种基于车辆轨迹数据的路网结构生成装置,所述装置包括:获取单元,用于获取目标道路区域对应的车辆轨迹数据,所述车辆轨迹数据包含至少一条车辆轨迹;

轨迹分析单元,用于根据所述车辆轨迹数据中至少一条车辆轨迹的起始轨迹点和终止轨迹点,确定所述至少一条车辆轨迹对应的目标行驶方向;

车道提取单元,用于根据所述车辆轨迹数据中与所述目标行驶方向对应的车辆轨迹,确定所述目标行驶方向对应的车道和车道线,所述车道为所述目标行驶方向对应的车辆轨迹所覆盖或组成的区域,所述车道线是通过提取所述区域的边界得到的;

路网生成单元,用于根据所述目标行驶方向对应的车道和车道线,生成所述目标道路区域对应的路网结构;

所述车道提取单元,具体用于:

从所述车辆轨迹数据中提取所述目标行驶方向对应的车辆轨迹;

将所述目标行驶方向对应的车辆轨迹所围成的目标区域作为所述目标行驶方向对应的车道,所述目标区域包括并行的多个子区域,每个所述子区域对应一个所述目标行驶方向对应的车辆轨迹所围成的车道;

采用预设边界点提取算法分别提取每个所述子区域的边界;

采用多阶多项式对相邻两个所述子区域的边界进行拟合,得到相邻两个所述子区域的拟合边界的曲线方程;

根据所述曲线方程在所述拟合边界的曲线上进行采样,得到相邻两个所述子区域的共同边界;

根据所述共同边界生成所述目标行驶方向对应的每个车道的车道线。

6.一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;

其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1‑4任一项所述的方法。

7.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行根据权利要求1‑4任一项所述的方法。

说明书 :

基于车辆轨迹数据的路网结构生成方法及装置

技术领域

[0001] 本公开涉及智能交通技术领域,具体涉及车辆轨迹数据处理、自动驾驶等技术领域,尤其涉及一种基于车辆轨迹数据的路网结构生成方法及装置,可应用于交通路网生成、高精度地图构建等场景下。

背景技术

[0002] 路网结构一般是指道路中的点互相连接的线所组成的道路拓扑结构。随着智慧城市、智能交通等相关技术的快速发展,路网结构的构建在城市道路地图更新、自动驾驶仿真测试等领域起着越来越重要的作用。
[0003] 目前,路网结构生成方式主要包括:通过专业人员测绘或者遥感图像数字化生成路网结构。
[0004] 但目前的路网结构生成方式,成本较高、更新效率低下,难以满足路网数据跟随道路变化的更新需求。

发明内容

[0005] 本公开提供了一种基于车辆轨迹数据的路网结构生成方法及装置,能够根据车辆轨迹数据,低成本、高效率地自动生成路网结构,路网结构的形态效果好、道路粒度细。
[0006] 根据本公开的第一方面,提供了一种基于车辆轨迹数据的路网结构生成方法,所述方法包括:获取目标道路区域对应的车辆轨迹数据,车辆轨迹数据包含至少一条车辆轨迹;根据车辆轨迹数据中至少一条车辆轨迹的起始轨迹点和终止轨迹点,确定至少一条车辆轨迹对应的目标行驶方向;根据车辆轨迹数据中与目标行驶方向对应的车辆轨迹,确定目标行驶方向对应的车道和车道线;根据目标行驶方向对应的车道和车道线,生成目标道路区域对应的路网结构。
[0007] 一些可能的实现方式中,目标道路区域为交叉路口,所述根据车辆轨迹数据中至少一条车辆轨迹的起始轨迹点和终止轨迹点,确定至少一条车辆轨迹对应的目标行驶方向,包括:采用第一聚类算法,对至少一条车辆轨迹的起始轨迹点和终止轨迹点进行聚类,得到聚类中心点,聚类中心点用于指示交叉路口中包含的各分支路口的中心位置;将从第一聚类中心点至第二聚类中心点的行驶方向作为第一分支路口至第二分支路口的目标行驶方向。
[0008] 其中,第一聚类中心点和第二聚类中心点分别为每个聚类中心点,第一聚类中心点和第二聚类中心点相同或不同,第一分支路口为第一聚类中心点所在的分支路口,第二分支路口为第二聚类中心点所在的分支路口。
[0009] 一些可能的实现方式中,所述根据车辆轨迹数据中至少一条车辆轨迹的起始轨迹点和终止轨迹点,确定至少一条车辆轨迹对应的目标行驶方向之前,所述方法还包括:根据车辆标识,分别提取至少一条车辆轨迹中每条车辆轨迹包含的轨迹点;根据帧标识,分别对至少一条车辆轨迹中每条车辆轨迹包含的轨迹点进行排序;根据至少一条车辆轨迹中每条车辆轨迹包含的轨迹点的排序结果,提取每条车辆轨迹对应的第一帧轨迹点作为起始轨迹点、最后一帧轨迹点作为终止轨迹点。
[0010] 一些可能的实现方式中,所述根据车辆轨迹数据中与目标行驶方向对应的车辆轨迹,确定目标行驶方向对应的车道和车道线,包括:从车辆轨迹数据中提取目标行驶方向对应的车辆轨迹;将目标行驶方向对应的车辆轨迹所围成的目标区域作为目标行驶方向对应的车道;采用预设边界点提取算法提取目标区域的边界,得到目标行驶方向对应的车道线。
[0011] 一些可能的实现方式中,目标区域包括并行的多个子区域;所述将目标行驶方向对应的车辆轨迹所围成的目标区域作为目标行驶方向对应的车道,包括:分别将目标行驶方向对应的车辆轨迹所围成的每个子区域,作为目标行驶方向对应的车道,每个子区域对应一个车道。
[0012] 所述采用预设边界点提取算法提取目标区域的边界,得到目标行驶方向对应的车道线,包括:采用预设边界点提取算法分别提取每个子区域的边界;将相邻两个子区域的边界合并为同一边界;根据边界生成目标行驶方向对应的每个车道的车道线。
[0013] 一些可能的实现方式中,所述将相邻两个子区域的边界合并为同一边界,包括:采用多阶多项式对相邻两个子区域的边界进行拟合,得到相邻两个子区域的拟合边界的曲线方程;根据曲线方程在拟合边界的曲线上进行采样,得到相邻两个子区域的共同边界。
[0014] 一些可能的实现方式中,所述采用预设边界点提取算法提取目标区域的边界,得到目标行驶方向对应的车道线之前,所述方法还包括:从目标行驶方向对应的车辆轨迹中,删除不符合预设条件的车辆轨迹。
[0015] 其中,目标道路区域为交叉路口时,预设条件包括以下一种或多种:起始轨迹点至终止轨迹点之间的距离小于第一阈值、起始轨迹点与所在分支路口的中心位置的距离大于第二阈值、终止轨迹点与所在分支路口的中心位置的距离大于第三阈值。
[0016] 目标道路区域为非交叉路口时,预设条件包括以下一种或多种:起始轨迹点至终止轨迹点之间的距离小于第四阈值、起始轨迹点至终止轨迹点之间的横向位移大于第五阈值。
[0017] 一些可能的实现方式中,所述根据目标行驶方向对应的车道和车道线,生成目标道路区域对应的路网结构,包括:按照预设地图格式,保存目标行驶方向对应的车道和车道线,作为目标道路区域对应的路网结构。
[0018] 一些可能的实现方式中,目标道路区域对应的路网结构包括以下至少一种车道信息:车道线边界、车道方向、车道宽度。
[0019] 一些可能的实现方式中,目标行驶方向包括以下一种或多种:掉头、直行、左转、右转。
[0020] 本公开的第一方面至少具备如下有益效果:通过获取目标道路区域对应的车辆轨迹数据,根据车辆轨迹数据中至少一条车辆轨迹的起始轨迹点和终止轨迹点,确定所述至少一条车辆轨迹对应的目标行驶方向,根据与目标行驶方向对应的车辆轨迹,确定目标行驶方向对应的车道和车道线,以生成目标道路区域对应的路网结构,实现了根据车辆轨迹数据自动生成路网结构。根据车辆轨迹数据自动生成路网结构,可以大大减少路网结构生成所需的成本,减少路网结构的生成周期,实现低成本、高效率地生成路网结构,还可以大大提高路网结构的更新效率,满足路网数据跟随道路变化的更新需求,使得路网结构的形态效果好、道路粒度细。
[0021] 根据本公开的第二方面,提供了一种基于车辆轨迹数据的路网结构生成装置,所述装置包括:获取单元、轨迹分析单元、车道提取单元、路网生成单元。
[0022] 获取单元,用于获取目标道路区域对应的车辆轨迹数据,车辆轨迹数据包含至少一条车辆轨迹。
[0023] 轨迹分析单元,用于根据车辆轨迹数据中至少一条车辆轨迹的起始轨迹点和终止轨迹点,确定至少一条车辆轨迹对应的目标行驶方向。
[0024] 车道提取单元,用于根据车辆轨迹数据中与目标行驶方向对应的车辆轨迹,确定目标行驶方向对应的车道和车道线。
[0025] 路网生成单元,用于根据目标行驶方向对应的车道和车道线,生成目标道路区域对应的路网结构。
[0026] 可选地,目标道路区域为交叉路口,轨迹分析单元,具体用于:采用第一聚类算法,对至少一条车辆轨迹的起始轨迹点和终止轨迹点进行聚类,得到聚类中心点,聚类中心点用于指示交叉路口中包含的各分支路口的中心位置;将从第一聚类中心点至第二聚类中心点的行驶方向作为第一分支路口至第二分支路口的目标行驶方向。
[0027] 其中,第一聚类中心点和第二聚类中心点分别为每个聚类中心点,第一聚类中心点和第二聚类中心点相同或不同,第一分支路口为第一聚类中心点所在的分支路口,第二分支路口为第二聚类中心点所在的分支路口。
[0028] 可选地,轨迹分析单元根据车辆轨迹数据中至少一条车辆轨迹的起始轨迹点和终止轨迹点,确定至少一条车辆轨迹对应的目标行驶方向之前,还用于:根据车辆标识,分别提取至少一条车辆轨迹中每条车辆轨迹包含的轨迹点;根据帧标识,分别对至少一条车辆轨迹中每条车辆轨迹包含的轨迹点进行排序;根据至少一条车辆轨迹中每条车辆轨迹包含的轨迹点的排序结果,提取每条车辆轨迹对应的第一帧轨迹点作为起始轨迹点、最后一帧轨迹点作为终止轨迹点。
[0029] 可选地,车道提取单元,具体用于:从车辆轨迹数据中提取目标行驶方向对应的车辆轨迹;将目标行驶方向对应的车辆轨迹所围成的目标区域作为目标行驶方向对应的车道;采用预设边界点提取算法提取目标区域的边界,得到目标行驶方向对应的车道线。
[0030] 可选地,目标区域包括并行的多个子区域;车道提取单元,具体用于:分别将目标行驶方向对应的车辆轨迹所围成的每个子区域,作为目标行驶方向对应的车道,每个子区域对应一个车道;采用预设边界点提取算法分别提取每个子区域的边界;将相邻两个子区域的边界合并为同一边界;根据边界生成目标行驶方向对应的每个车道的车道线。
[0031] 可选地,车道提取单元,具体用于:采用多阶多项式对相邻两个子区域的边界进行拟合,得到相邻两个子区域的拟合边界的曲线方程;根据曲线方程在拟合边界的曲线上进行采样,得到相邻两个子区域的共同边界。
[0032] 可选地,车道提取单元采用预设边界点提取算法提取目标区域的边界,得到目标行驶方向对应的车道线之前,还用于:从目标行驶方向对应的车辆轨迹中,删除不符合预设条件的车辆轨迹。
[0033] 其中,目标道路区域为交叉路口时,预设条件包括以下一种或多种:起始轨迹点至终止轨迹点之间的距离小于第一阈值、起始轨迹点与所在分支路口的中心位置的距离大于第二阈值、终止轨迹点与所在分支路口的中心位置的距离大于第三阈值。
[0034] 目标道路区域为非交叉路口时,预设条件包括以下一种或多种:起始轨迹点至终止轨迹点之间的距离小于第四阈值、起始轨迹点至终止轨迹点之间的横向位移大于第五阈值。
[0035] 可选地,路网生成单元,具体用于:按照预设地图格式,保存目标行驶方向对应的车道和车道线,作为目标道路区域对应的路网结构。
[0036] 一些可能的实现方式中,目标道路区域对应的路网结构包括以下至少一种车道信息:车道线边界、车道方向、车道宽度。
[0037] 一些可能的实现方式中,目标行驶方向包括以下一种或多种:掉头、直行、左转、右转。
[0038] 根据本公开的第三方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如第一方面所述的方法。
[0039] 根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行根据第一方面所述的方法。
[0040] 根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据第一方面所述的方法。
[0041] 本公开第二方面至第五方面所具备的有益效果可以参考第一方面所具备的有益效果,不再赘述。
[0042] 应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其他特征将通过以下的说明书而变得容易理解。

附图说明

[0043] 附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0044] 图1为本公开实施例提供的基于车辆轨迹数据的路网结构生成方法的流程示意图;
[0045] 图2为本公开实施例提供的图1中S102的一种实现流程示意图;
[0046] 图3为本公开实施例提供的一种交叉路口的车辆轨迹示意图;
[0047] 图4为本公开实施例提供的提取起始轨迹点和终止轨迹点的流程示意图;
[0048] 图5为本公开实施例提供的图1中S103的一种实现流程示意图;
[0049] 图6为本公开提供的图3中分支路口4至分支路口3的目标行驶方向对应的车辆轨迹示意图;
[0050] 图7为本公开实施例提供的图5中S503的一种实现流程示意图;
[0051] 图8为本公开实施例提供的基于车辆轨迹数据的路网结构生成装置的组成示意图;
[0052] 图9为可以用来实施本公开的实施例的示例电子设备900的示意性框图。

具体实施方式

[0053] 以下结合附图对本公开的示范性实施例作出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0054] 应当理解,在本公开各实施例中,字符“/”一般表示前后关联对象是一种“或”的关系。术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。
[0055] 路网结构一般是指道路中的点互相连接的线所组成的道路拓扑结构。随着智慧城市、智能交通等相关技术的快速发展,路网结构的构建在城市道路地图更新、自动驾驶仿真测试等领域起着越来越重要的作用。
[0056] 目前,路网结构生成方式主要包括:通过专业人员测绘或者遥感图像数字化生成路网结构。对于目前的路网结构生成方式而言,一方面需要较高的成本。另一方面,从业人员专业技术要求高且生成周期长,更新效率低下,难以满足路网数据跟随道路变化的更新需求。例如,路网数据难以跟随城市快速发展变化而及时更新。
[0057] 在此背景技术下,本公开提供了一种基于车辆轨迹数据的路网结构生成方法,能够根据车辆轨迹数据,低成本、高效率地自动生成路网结构,路网结构的形态效果好、道路粒度细。
[0058] 示例性地,本公开提供的基于车辆轨迹数据的路网结构生成方法,可以应用于交通路网生成、高精度地图构建等场景下。
[0059] 例如,在自动驾驶仿真测试领域,自动驾驶算法的研究需要不同的路网数据进行训练和测试,以保证在各种环境下驾驶决策的有效性。另外,路网是交通系统的骨架,对路网结构描述的精确度会对交通仿真效果产生影响。通过本公开实施例提供的基于车辆轨迹数据的路网结构生成方法,可以快速生成交通路网,以为自动驾驶仿真测试提供更好的数据支撑。
[0060] 又例如,在城市地图更新方面,不论城市对外扩张和内部结构优化,都可能导致城市路网的改变,准确和快速的路网结构更新在许多城市应用中至关重要,如汽车共享和物流。通过本公开实施例提供的基于车辆轨迹数据的路网结构生成方法,可以快速生成路网结构,并根据路网结构构建高精度地图,实现对城市地图的及时更新。
[0061] 示例性地,本公开实施例提供的基于车辆轨迹数据的路网结构生成方法的执行主体可以是计算机或服务器,或者还可以是其他具有数据处理能力的设备。在此对该方法的执行主体不作限制。
[0062] 例如,该方法的执行主体可以是自动驾驶仿真系统的数据服务器、高精度地图的后台服务器、交通路网控制中心的服务器等。
[0063] 一些实施例中,服务器可以是单独的一个服务器,或者,也可以是由多个服务器构成的服务器集群。部分实施方式中,服务器集群还可以是分布式集群。本公开对服务器的具体实现方式也不作限制。
[0064] 下面以针对目标道路区域构建路网结构为例,对该基于车辆轨迹数据的路网结构生成方法进行示例性说明。
[0065] 图1为本公开实施例提供的基于车辆轨迹数据的路网结构生成方法的流程示意图。如图1所示,该方法可以包括S101‑S104。
[0066] S101、获取目标道路区域对应的车辆轨迹数据,车辆轨迹数据包含至少一条车辆轨迹。
[0067] 示例性地,目标道路区域可以包括直行道路、弯道、交叉路口等类型。其中,交叉路口可以是包括左转路口、右转路口、Y型路口等,也可以是十字路口、环岛等复杂的不规则路口。换言之,交叉路口中可以包括多个(如至少两个)分支路口。本公开中将着重以目标道路区域为交叉路口为例进行展开说明,但本公开对目标道路区域的具体类型并不作限制。
[0068] 车辆轨迹数据是指交通流中车辆在一定时间内的运行状态数据记录,包括每一时刻车辆运行的位置、速度、偏转角等信息。车辆运行的位置可以称为车辆的轨迹点。
[0069] 在本公开实施例中,目标道路区域对应的车辆轨迹数据是指一段时间内途径该目标道路区域的车辆的车辆轨迹数据,目标道路区域对应的车辆轨迹数据中包含至少一条车辆轨迹。
[0070] 示例性地,目标道路区域对应的车辆轨迹数据中可以包括N条车辆轨迹,N为大于0的正整数,每条车辆轨迹对应一个车辆。
[0071] 可选地,上述一段时间可以是指1天、几个小时、几天等、一个或几个月等,在此对一段时间的时长不作限制。
[0072] 一些可能的实现方式中,可以从自动驾驶开源轨迹数据集中获取目标道路区域对应的车辆轨迹数据,例如,自动驾驶开源轨迹数据集可以为互动(interaction)数据集。其他一些实现方式中,也可以从交管系统获取目标道路区域对应的车辆轨迹数据,在此对获取目标道路区域对应的车辆轨迹数据的具体方式不作限制。
[0073] 在获取到目标道路区域对应的车辆轨迹数据后,可以先对车辆轨迹数据进行分析,确定目标道路区域中的道路可能包含的转向信息。转向信息是指从目标道路区域中的某个分支路口至其他分支路口的行驶方向,例如,左转、直行、右转等。
[0074] 示例性地,可以通过下述S102确定目标道路区域中的道路可能包含的转向信息。
[0075] S102、根据车辆轨迹数据中至少一条车辆轨迹的起始轨迹点和终止轨迹点,确定所述至少一条车辆轨迹对应的目标行驶方向。
[0076] 对于每条车辆轨迹而言,存在起始轨迹点和终止轨迹点。根据某一条车辆轨迹的起始轨迹点和终止轨迹点,可以确定出该条车辆轨迹是从哪个位置开始,行驶至哪个位置结束,进而得到该条车辆轨迹对应的行驶方向。
[0077] S102中,可以根据车辆轨迹数据中至少一条车辆轨迹的起始轨迹点和终止轨迹点,确定前述至少一条车辆轨迹中每条车辆轨迹对应的行驶方向。不同车辆轨迹对应的行驶方向可能是重合的,对前述至少一条车辆轨迹中每条车辆轨迹对应的行驶方向进行汇总后,得到的所有行驶方向可以作为前述至少一条车辆轨迹对应的目标行驶方向。
[0078] 示例性地,前述至少一条车辆轨迹可以是指车辆轨迹数据中的一条或多条车辆轨迹(如所有车辆轨迹)。以车辆轨迹数据中的所有车辆轨迹为例,S102中可以根据所有车辆轨迹中每条车辆轨迹的起始轨迹点和终止轨迹点,分别确定出每条车辆轨迹对应的行驶方向,并将所有车辆轨迹对应的行驶方向进行汇总,例如得到行驶方向1、行驶方向2、行驶方向3等三个行驶方向,则前述三个行驶方向可以作为所有车辆轨迹对应的目标行驶方向。换言之,目标行驶方向包括:行驶方向1、行驶方向2、行驶方向3。
[0079] 上述目标行驶方向也可以认为是目标道路区域中可能存在的行驶方向,在确定出目标行驶方向后,可以按照每个目标行驶方向对应的车辆轨迹,来确定每个目标行驶方向对应的车道和车道线。例如,可以执行S103。
[0080] S103、根据车辆轨迹数据中与目标行驶方向对应的车辆轨迹,确定目标行驶方向对应的车道和车道线。
[0081] 示例性地,以目标行驶方向包括行驶方向1、行驶方向2、行驶方向3为例,对于行驶方向1,可以从车辆轨迹数据中确定行驶方向1对应的车辆轨迹(即行驶方向与行驶方向1吻合或接近的车辆轨迹),行驶方向1对应的车辆轨迹所覆盖或组成的区域可以作为行驶方向1对应的车道,如称为车道1,行驶方向1对应的车辆轨迹所覆盖或组成的区域的边界可以作为车道1的车道线。
[0082] 类似地,可以确定出行驶方向2对应的车道2、车道2的车道线,行驶方向3对应的车道3、车道3的车道线。
[0083] 示例性地,在本公开实施例中,目标行驶方向对应的车道和车道线,可以用坐标或其他能够表示在目标道路区域中的位置的元素(如曲线方程)进行表示。例如,车道线可以用一系列点的坐标进行表示,车道可以用车道线或车道内多个点的坐标进行表示。本公开对车道和车道线的数据呈现形式不作限制。
[0084] S104、根据目标行驶方向对应的车道和车道线,生成目标道路区域对应的路网结构。
[0085] 可以理解的,本公开实施例中所述的目标行驶方向实际上可以理解为从某个起始分支路口至其他终止分支路口的方向,一个起始分支路口和一个终止分支路口可以构成一个路口组合,每个路口组合可以对应一个目标行驶方向。本公开实施例中所确定的目标行驶方向对应的车道和车道线,也即一个路口组合对应的车道和车道线,如:从起始分支路口至终止分支路口的车道和车道线。
[0086] 针对每个目标行驶方向,根据目标行驶方向对应的车道和车道线,可以得到该目标行驶方向对应的起始分支路口至终止分支路口之间的车道以及车道线,根据目标道路区域中不同路口组合对应的车道和车道线,即可生成该目标道路区域对应的路网结构。
[0087] 示例性地,结合目标道路区域内包含的分支路口的布局位置,还可以为不同路口组合对应的车道赋予左转、右转、直行等更详细的导向(转向)信息,以能够采用导向箭头为车道内的车辆指示行驶方向。
[0088] 本公开实施例通过获取目标道路区域对应的车辆轨迹数据,根据车辆轨迹数据中至少一条车辆轨迹的起始轨迹点和终止轨迹点,确定所述至少一条车辆轨迹对应的目标行驶方向,根据与目标行驶方向对应的车辆轨迹,确定目标行驶方向对应的车道和车道线,以生成目标道路区域对应的路网结构,实现了根据车辆轨迹数据自动生成路网结构。
[0089] 可以理解的,随着智能交通、车联网等基础设施的建设,交通流中大量的车辆轨迹数据能够更方便地获取。本公开根据车辆轨迹数据自动生成路网结构,可以大大减少路网结构生成所需的成本,减少路网结构的生成周期,实现低成本、高效率地生成路网结构。
[0090] 本公开通过根据车辆轨迹数据高效率地生成路网结构,可以大大提高路网结构的更新效率,满足路网数据跟随道路变化的更新需求,例如,使得路网数据能够跟随城市快速发展变化而及时更新,从而提升城市道路地图构建和更新的速度。
[0091] 另外,车辆轨迹数据能够真实地反应道路情况,本公开根据车辆轨迹数据自动生成路网结构,还可以使得路网结构的形态效果好、道路粒度细,例如,可以细致地体现出车道线边界、车道方向及宽度等车道信息。对于自动驾驶仿真测试、自动驾驶车辆等应用场景而言,可以通过本公开实施例提供的方法提供更加真实的路网结构,为自动驾驶算法训练和交通流仿真提供重要保障。
[0092] 特别地,不论是对直行道路、弯道、左转路口、右转路口、Y型路口等简单的目标道路区域,还是对十字路口、环岛等复杂的不规则路口,本公开实施例提供的方法均可以低成本、高效率地自动生成形态效果好、细粒度的路网结构。
[0093] 在一些可能的实现方式中,上述S102中在确定目标道路区域中的道路可能包含的转向信息时,可以先利用聚类算法获取路口中心坐标,确定道路整体方位,然后利用整体方位标志确定每个车辆轨迹的方向,进而得到转向信息,即目标行驶方向。
[0094] 例如,以目标道路区域为交叉路口为例,交叉路口可以参见前述实施例中所述,图2为本公开实施例提供的图1中S102的一种实现流程示意图。如图2所示,上述S102可以包括S201‑S202。
[0095] S201、采用第一聚类算法,对至少一条车辆轨迹的起始轨迹点和终止轨迹点进行聚类,得到聚类中心点,聚类中心点用于指示交叉路口中包含的各分支路口的中心位置。
[0096] 如前述实施例中所述,前述至少一条车辆轨迹可以是指车辆轨迹数据中的一条或多条车辆轨迹(如所有车辆轨迹)。同样以前述至少一条车辆轨迹为车辆轨迹数据中的所有车辆轨迹为例,可以采用第一聚类算法对车辆轨迹数据中的所有车辆轨迹的起始轨迹点和终止轨迹点进行聚类,第一聚类算法的优化目标是聚类中心没有明显变化,如变化小于预设变化值。
[0097] 对车辆轨迹数据中的所有车辆轨迹的起始轨迹点和终止轨迹点进行聚类时,位于或靠近同一分支路口的起始轨迹点和终止轨迹点可以聚类得到一个聚类中心点。在聚类完成后,得到的每个聚类中心点可以表示一个分支路口,即聚类中心点用于指示交叉路口中包含的各分支路口的中心位置。
[0098] 例如,图3为本公开实施例提供的一种交叉路口的车辆轨迹示意图。如图3所示,交叉路口中的车辆轨迹可以参考图3中的虚线所示,每条虚线表示一条车辆轨迹。本实施例中,可以采用第一聚类算法,对该交叉路口的车辆轨迹的起始轨迹点和终止轨迹点进行聚类。聚类后得到的聚类中心点可以参考图3中的黑色点所示的聚类中心点1、聚类中心点2、聚类中心点3、聚类中心点4。
[0099] 其中,聚类中心点1用于指示图3所示的交叉路口中右侧分支路口的中心位置,右侧分支路口可以称为分支路口1。聚类中心点2用于指示图3所示的交叉路口中上方分支路口的中心位置,上方分支路口可以称为分支路口2。聚类中心点3用于指示图3所示的交叉路口中左侧分支路口的中心位置,左侧分支路口可以称为分支路口3。聚类中心点4用于指示图3所示的交叉路口中下方分支路口的中心位置,下方分支路口可以称为分支路口4。
[0100] 示例性地,第一聚类算法可以包括K‑Means聚类算法。例如,第一聚类算法可以通过下述公式(1)实现。
[0101]               公式(1)。
[0102] 公式(1)中, 表示聚类总数; 为第 类样本中心; 为第 类第个样本; 为第 类样本总数; 表示误差平方和(sum of square error,SSE),可以作为聚类结果的评价指标。
[0103] 其他一些示例中,第一聚类算法也可以是具有类似功能的其他聚类算法,本公开第一聚类算法的具体类型不作限制。
[0104] S202、将从第一聚类中心点至第二聚类中心点的行驶方向作为第一分支路口至第二分支路口的目标行驶方向。
[0105] 其中,第一聚类中心点和第二聚类中心点分别为每个聚类中心点,第一聚类中心点和第二聚类中心点相同或不同,第一分支路口为第一聚类中心点所在的分支路口,第二分支路口为第二聚类中心点所在的分支路口。
[0106] 示例性地,以图3中的聚类中心点1作为第一聚类中心点为例,聚类中心点2、聚类中心点3、聚类中心点4可以分别作为第二聚类中心点,分支路口1可以为第一分支路口,分支路口2、分支路口3、分支路口4分别可以对应作为第二分支路口。从聚类中心点1至聚类中心点2的行驶方向可以作为分支路口1至分支路口2的目标行驶方向,从聚类中心点1至聚类中心点3的行驶方向可以作为分支路口1至分支路口3的目标行驶方向,从聚类中心点1至聚类中心点4的行驶方向可以作为分支路口1至分支路口4的目标行驶方向。
[0107] 结合图3可以看到,对于分支路口1而言,分支路口1至分支路口2的目标行驶方向为右转,分支路口1至分支路口3的目标行驶方向为直行,分支路口1至分支路口4的目标行驶方向为左转。
[0108] 类似地,聚类中心点2、聚类中心点3、聚类中心点4可以分别作为第一聚类中心点,得到每个聚类中心点至其他聚类中心点的行驶方向,进而得到任意两个分支路口之间的目标行驶方向。
[0109] 需要说明的是,上述示例是以第一聚类中心点为每个聚类中心点,第二聚类中心点为除第一聚类中心点之外的每个聚类中心点为例说明的。一些应用场景中,第一聚类中心点和第二聚类中心点也可以相同,即第一聚类中心点和第二聚类中心点可以是同一聚类中心点。
[0110] 例如,以图3中的聚类中心点1同时作为第一聚类中心点和第二聚类中心点为例,分支路口1可以同时作为第一分支路口和第二分支路口。从聚类中心点1至聚类中心点1的行驶方向可以作为分支路口1至分支路口1的目标行驶方向。对于此情况而言,分支路口1至分支路口1的目标行驶方向可以表示车辆驶入的分支路口和驶出的分支路口相同,如车辆在分支路口1进行掉头。
[0111] 通过上述S201‑S202可以获取到任意两个分支路口之间的目标行驶方向,进而得到每条车道的转向信息,即相当于获取了车道的转向箭头。
[0112] 本实施例通过对车辆轨迹的起始轨迹点和终止轨迹点进行聚类的方式确定目标道路区域中包含的分支路口以及分支路口之间的目标行驶方向,不仅可以更快速地确定出目标道路区域中的转向信息,提高路网结构的生成效率,还可以提高路网结构的准确度、细化粒度。例如,可以得到直行、左转、右转、掉头等多种转向信息。
[0113] 其他一些实现方式中,也可以人工或者通过其他方式获取目标道路区域的转向信息,在此不作限制。
[0114] 一些实施例中,上述S102之前,该方法还可以包括提取车辆轨迹的起始轨迹点的和终止轨迹点的步骤。例如,图4为本公开实施例提供的提取起始轨迹点和终止轨迹点的流程示意图。如图4所示,提取起始轨迹点和终止轨迹点的步骤可以包括S401‑S403。
[0115] S401、根据车辆标识,分别提取至少一条车辆轨迹中每条车辆轨迹包含的轨迹点。
[0116] 示例性地,车辆标识可以是车辆唯一标识(track‑Id)。每条车辆轨迹可以对应唯一的车辆标识。根据车辆标识可以分别提取每个车辆标识对应的车辆轨迹包含的所有轨迹点。对每个车辆标识对应的轨迹点而言,既包含起始轨迹点和终止轨迹点,也包含起始轨迹点至终止轨迹点之间的中间轨迹点。
[0117] S402、根据帧标识,分别对至少一条车辆轨迹中每条车辆轨迹包含的轨迹点进行排序。
[0118] 示例性地,车辆轨迹数据为多帧,每一帧数据都包括帧标识(frame‑Id)。根据帧标识可以确定每一帧数据产生的时序。根据帧标识,分别对每条车辆轨迹包含的轨迹点进行排序,可以使得轨迹点按照时序进行排序。
[0119] S403、根据至少一条车辆轨迹中每条车辆轨迹包含的轨迹点的排序结果,提取每条车辆轨迹对应的第一帧轨迹点作为起始轨迹点、最后一帧轨迹点作为终止轨迹点。
[0120] 示例性地,根据帧标识,对车辆轨迹包含的轨迹点进行排序后,对每条车辆轨迹而言,该条车辆轨迹的轨迹点排序结果中,起始轨迹点排在第一位,终止轨迹点排在最后一位。可以根据轨迹点排序结果,提取每条车辆轨迹对应的第一帧轨迹点作为起始轨迹点、最后一帧轨迹点作为终止轨迹点。
[0121] 本实施例通过车辆标识和帧标识,对车辆轨迹包含的轨迹点进行排序,并根据排序结果快速确定出起始轨迹点至终止轨迹点,可以进一步提高路网结构的生成效率。
[0122] 其他一些实施例中,也可以通过坐标或者其他方式提取车辆轨迹的起始轨迹点的和终止轨迹点,在此不作限制。
[0123] 一些可能的实现方式中,上述S103中可以将目标行驶方向对应的车辆轨迹围成的目标区域作为车道,并提取目标区域的边界作为车道线。例如,图5为本公开实施例提供的图1中S103的一种实现流程示意图。如图5所示,S103可以包括S501‑S503。
[0124] S501、从车辆轨迹数据中提取目标行驶方向对应的车辆轨迹。
[0125] 示例性地,以目标行驶方向为图3中分支路口4至分支路口3的目标行驶方向为例,可以从车辆轨迹数据中提取分支路口4至分支路口3的目标行驶方向对应的车辆轨迹。
[0126] 例如,结合图3,图6为本公开提供的图3中分支路口4至分支路口3的目标行驶方向对应的车辆轨迹示意图。如图6所示,对分支路口4而言,分支路口4至分支路口3的目标行驶方向为左转。也即,图6中所示的车辆轨迹为由分支路口4至分支路口3左转的车辆的车辆轨迹。
[0127] S502、将目标行驶方向对应的车辆轨迹所围成的目标区域作为目标行驶方向对应的车道。
[0128] S503、采用预设边界点提取算法提取目标区域的边界,得到目标行驶方向对应的车道线。
[0129] 请继续参考图6所示,由分支路口4至分支路口3左转的车辆的车辆轨迹可以围成区域P。本实施例中,可以将区域P作为分支路口4至分支路口3左转的车道。
[0130] 另外,本实施例中,还可以采用预设边界点提取算法提取区域P的边界,得到目标行驶方向对应的车道线。
[0131] 示例性地,预设边界点提取算法可以是滚球法(alpha shape)算法。通过alpha shape算法可以提取目标区域的边界点,目标区域的边界点可以组成目标行驶方向对应的车道线。
[0132] 其中,alpha shape算法是在散点上设置一个半径为r(r的大小可以设置为0.5)的球,然后从某个边缘点出发,绕离散点滚动一圈所经过的点连成的线就是轮廓线。假设离散点集为S,由n个点组成,这n个点可以组成n*(n‑1)条线段,可以通过任意两点P1(x1,y1)、P2(x2,y2)绘制半径为r的圆(在给定半径时,过确定的两点的圆有两个),如果这两个圆中任意一个圆内没有其他点,则认为点P1、P2是边界点,其连线P1P2即为边界线段。
[0133] 利用alpha shape算法提取边界,能够处理凹包情形,获得更精确的边界。
[0134] 其他一些示例中,预设边界点提取算法也可以是其他边界提取算法,本公开对此不作限制。
[0135] 本实施例通过从车辆轨迹数据中提取目标行驶方向对应的车辆轨迹,将目标行驶方向对应的车辆轨迹所围成的目标区域作为目标行驶方向对应的车道,采用预设边界点提取算法提取目标区域的边界,得到目标行驶方向对应的车道线,可以提高车道和车道线的提取准确度,进一步提高生成的路网结构的形态效果和细化粒度。
[0136] 可选地,在采用预设边界点提取算法提取目标区域的边界,得到目标行驶方向对应的车道线之前,该方法还可以包括:删除目标行驶方向对应的车辆轨迹的起始轨迹点和终止轨迹点组成的集合中的离散点。
[0137] 通过删除目标行驶方向对应的车辆轨迹的起始轨迹点和终止轨迹点组成的集合中的离散点,可以进一步提高车道线的提取精度。
[0138] 可选地,在采用预设边界点提取算法提取目标区域的边界,得到目标行驶方向对应的车道线之前,该方法还可以包括:对目标区域的边界上的轨迹点进行平滑处理。
[0139] 通过对目标区域的边界上的轨迹点进行平滑处理,也可以进一步提高车道线的提取精度。
[0140] 一些可能的实现方式中,某种起始分支路口与终止分支路口之间可能包括多条车道。例如,第一分支路口至第二分支路口之间,可能包括2条或3条左转车道。对于此类情况,上述目标区域可以包括并行的多个子区域。上述将目标行驶方向对应的车辆轨迹所围成的目标区域作为目标行驶方向对应的车道,可以包括:分别将目标行驶方向对应的车辆轨迹所围成的每个子区域,作为目标行驶方向对应的车道,每个子区域对应一个车道。
[0141] 上述采用预设边界点提取算法提取目标区域的边界,得到目标行驶方向对应的车道线时,可以针对每个子区域提取对应的每个车道的车道线。
[0142] 例如,图7为本公开实施例提供的图5中S503的一种实现流程示意图。如图7所示,上述S503可以包括S701‑S703。
[0143] S701、采用预设边界点提取算法分别提取每个子区域的边界。
[0144] 预设边界点提取算法可以参考前述实施例中所述,此处不再赘述。
[0145] S702、将相邻两个子区域的边界合并为同一边界。
[0146] 通过S702可以实现将相邻车道中间的两条边合并成单条边,确定出相邻车道共同的车道线。
[0147] S703、根据边界生成目标行驶方向对应的每个车道的车道线。
[0148] 在将相邻两个子区域的边界合并为同一边界后,相邻两个子区域的共同边界即为相邻两个子区域对应的车道的共同的车道线。
[0149] 可选地,本实施例中,可以采用第二聚类算法,对目标行驶方向对应的车辆轨迹进行聚类,得到目标区域包含的多个子区域。
[0150] 其中,第二聚类算法可以包括DBSCAN聚类算法。DBSCAN聚类算法是一种基于密度的聚类算法,对簇的定义为密度相连的点的最大集合。DBSCAN聚类算法能够把具有足够高密度的区域划分为簇,并可在有噪声的数据中发现任意形状的聚类。假设给定一个集合D,集合D存在点p。如果以p为圆心,r为半径的圆内包含m个点,则称p为核心对象,并且该圆内的区域称为对象p的r邻域,该邻域的点与p是直接密度可达。本公开中可以将m设置为10,r设置为0.5。通过反复寻找核心对象的直接密度可达对象,并对可达簇进行合并,最终当没有新的点可以被添加到任何簇时,聚类结束可以得到多个子区域,从而完成车道分离。
[0151] 通过DBSCAN聚类算法可以精准地识别出目标区域包含的不同子区域,从而提高车道和车道线的提取精度。
[0152] 本实施例通过采用预设边界点提取算法分别提取每个子区域的边界,将相邻两个子区域的边界合并为同一边界,根据边界生成目标行驶方向对应的每个车道的车道线,可以实现针对目标行驶方向存在多条车道的场景,准确地提取出每条车道的车道线,进一步提高了路网结构的准确度,细化了粒度。
[0153] 一些可能的实现方式中,上述将相邻两个子区域的边界合并为同一边界,可以包括:采用多阶多项式对相邻两个子区域的边界进行拟合,得到相邻两个子区域的拟合边界的曲线方程;根据曲线方程在拟合边界的曲线上进行采样,得到相邻两个子区域的共同边界。
[0154] 示例性地,可以采用5阶多项式对相邻两个子区域的边界进行拟合,得到相邻两个子区域的拟合边界的曲线方程,然后可以根据曲线方程在拟合边界的曲线上进行采样,得到多个采样点,多个采样点可以组成相邻两个子区域的共同边界。
[0155] 本实施例通过采用多阶多项式拟合的方式,对相邻两个子区域的边界进行拟合得到相邻两个子区域的共同边界,可以提高边界拟合的准确度,从而提高车道线的提取进度。
[0156] 其他一些实现方式中,也可以采用平均距离、按照权重拟合等方式,对相邻两个子区域的边界进行拟合得到相邻两个子区域的共同边界,本公开对拟合边界的具体方式也不作限制。
[0157] 一些实施例中,所述采用预设边界点提取算法提取目标区域的边界,得到目标行驶方向对应的车道线之前,所述方法还可以包括:从目标行驶方向对应的车辆轨迹中,删除不符合预设条件的车辆轨迹。
[0158] 其中,不符合预设条件的车辆轨迹是指:在提取目标区域的边界时,可能对提取结果造成误导或影响提取结果的准确性的车辆轨迹。
[0159] 一些可能的实现方式,目标道路区域可以为交叉路口,预设条件可以包括以下一种或多种:起始轨迹点至终止轨迹点之间的距离小于第一阈值、起始轨迹点与所在分支路口的中心位置的距离大于第二阈值、终止轨迹点与所在分支路口的中心位置的距离大于第三阈值。
[0160] 示例性地,第一阈值可以是1米,第二阈值可以是10米,第三阈值也可以是10米。起始轨迹点至终止轨迹点之间的距离小于第一阈值时,或者起始轨迹点与所在分支路口的中心位置的距离大于第二阈值时,又或者终止轨迹点与所在分支路口的中心位置的距离大于第三阈值时,表示车辆轨迹为静止或近似静止的车辆的轨迹,或者没有完整从起始分支路口行驶到终止分支路口的轨迹。对于该类车辆轨迹,可以进行删除。
[0161] 另外一些可能的实现方式中,目标道路区域为非交叉路口,预设条件可以包括以下一种或多种:起始轨迹点至终止轨迹点之间的距离小于第四阈值、起始轨迹点至终止轨迹点之间的横向位移大于第五阈值。
[0162] 例如,目标道路区域可以为一段简单的直行道路。第四阈值可以为1米,起始轨迹点至终止轨迹点之间的距离小于第四阈值表示车辆轨迹为静止或近似静止的车辆的轨迹。第五阈值可以为2米,起始轨迹点至终止轨迹点之间的横向位移大于第五阈值,表示车辆轨迹可能为变道的车辆的轨迹数据。
[0163] 需要说明的是,上述第一阈值至第五阈值的大小仅为举例说明,本公开对第一阈值至第五阈值的大小均不作限制。
[0164] 本实施例通过删除符合上述预设条件的车辆轨迹,可以提高边界提取结果的准确性,进而提高路网结构的形态效果和精度。
[0165] 一些可能的实现方式中,所述根据目标行驶方向对应的车道和车道线,生成目标道路区域对应的路网结构,可以包括:按照预设地图格式,保存目标行驶方向对应的车道和车道线,作为目标道路区域对应的路网结构。
[0166] 其中,预设地图格式可以包括一种或多种。在得到目标行驶方向对应的车道和车道线后,可以将目标道路区域内所有目标行驶方向对应的车道和车道线按照预设地图格式进行保存,输出目标道路区域对应的路网结构。预设地图格式可以根据路网结构的应用场景和需求进行设置,例如,预设地图格式可以设置为自动驾驶仿真测试规定的地图格式。
[0167] 以预设地图格式为lanelet2软件输出地图的标准格式OSM为例,OSM的元素主要包括三种:点(Nodes)、路(Ways)和关系(Relations),这三种元素构成了整个地图画面。其中,Nodes定义了空间中点的位置;Ways定义了线或区域;Relations定义了元素间的关系,Relations可以作为可选的元素,即OSM中也可以不包括Relations。
[0168] Nodes主要是从提取的车道线采集而来,也就是从车道线起始开始进行均匀采样(起始和终止点都包含在内),采样间隔长度可以设置为15(不作限制),也就是每隔14个轨迹点采样一个。Nodes主要有三种信息,分别是Node ID、经度和纬度。Ways指车道线,而每个Way包含Way ID与组成Way的所有采样的Node。一个Relation可由一系列Nodes,Ways或者其他的Relations来组成。本公开中,Relation指的是车道的两条车道线,并由ID和组成该Relation的两条Way构成。
[0169] 本实施例通过按照预设地图格式,保存目标行驶方向对应的车道和车道线,作为目标道路区域对应的路网结构,可以实现生成不同地图格式的路网结构,以便于后续应用。例如,可以将路网结构直接导入仿真测试软件,用于自动驾驶仿真测试。
[0170] 如前述实施例中所述,一些可能的实现方式中,本公开实施例所述的目标道路区域对应的路网结构包括以下至少一种车道信息:车道线边界、车道方向、车道宽度。
[0171] 针对不同的目标道路区域,提取到的目标行驶方向可以包括以下一种或多种:掉头、直行、左转、右转。
[0172] 示例性实施例中,本公开实施例还提供一种基于车辆轨迹数据的路网结构生成装置,可以用于实现如前述实施例所述的基于车辆轨迹数据的路网结构生成方法。图8为本公开实施例提供的基于车辆轨迹数据的路网结构生成装置的组成示意图。如图8所示,该装置可以包括:获取单元801、轨迹分析单元802、车道提取单元803、路网生成单元804。
[0173] 获取单元801,用于获取目标道路区域对应的车辆轨迹数据,车辆轨迹数据包含至少一条车辆轨迹。
[0174] 轨迹分析单元802,用于根据车辆轨迹数据中至少一条车辆轨迹的起始轨迹点和终止轨迹点,确定至少一条车辆轨迹对应的目标行驶方向。
[0175] 车道提取单元803,用于根据车辆轨迹数据中与目标行驶方向对应的车辆轨迹,确定目标行驶方向对应的车道和车道线。
[0176] 路网生成单元804,用于根据目标行驶方向对应的车道和车道线,生成目标道路区域对应的路网结构。
[0177] 可选地,目标道路区域为交叉路口,轨迹分析单元802,具体用于:采用第一聚类算法,对至少一条车辆轨迹的起始轨迹点和终止轨迹点进行聚类,得到聚类中心点,聚类中心点用于指示交叉路口中包含的各分支路口的中心位置;将从第一聚类中心点至第二聚类中心点的行驶方向作为第一分支路口至第二分支路口的目标行驶方向。
[0178] 其中,第一聚类中心点和第二聚类中心点分别为每个聚类中心点,第一聚类中心点和第二聚类中心点相同或不同,第一分支路口为第一聚类中心点所在的分支路口,第二分支路口为第二聚类中心点所在的分支路口。
[0179] 可选地,轨迹分析单元802根据车辆轨迹数据中至少一条车辆轨迹的起始轨迹点和终止轨迹点,确定至少一条车辆轨迹对应的目标行驶方向之前,还用于:根据车辆标识,分别提取至少一条车辆轨迹中每条车辆轨迹包含的轨迹点;根据帧标识,分别对至少一条车辆轨迹中每条车辆轨迹包含的轨迹点进行排序;根据至少一条车辆轨迹中每条车辆轨迹包含的轨迹点的排序结果,提取每条车辆轨迹对应的第一帧轨迹点作为起始轨迹点、最后一帧轨迹点作为终止轨迹点。
[0180] 可选地,车道提取单元803,具体用于:从车辆轨迹数据中提取目标行驶方向对应的车辆轨迹;将目标行驶方向对应的车辆轨迹所围成的目标区域作为目标行驶方向对应的车道;采用预设边界点提取算法提取目标区域的边界,得到目标行驶方向对应的车道线。
[0181] 可选地,目标区域包括并行的多个子区域;车道提取单元803,具体用于:分别将目标行驶方向对应的车辆轨迹所围成的每个子区域,作为目标行驶方向对应的车道,每个子区域对应一个车道;采用预设边界点提取算法分别提取每个子区域的边界;将相邻两个子区域的边界合并为同一边界;根据边界生成目标行驶方向对应的每个车道的车道线。
[0182] 可选地,车道提取单元803,具体用于:采用多阶多项式对相邻两个子区域的边界进行拟合,得到相邻两个子区域的拟合边界的曲线方程;根据曲线方程在拟合边界的曲线上进行采样,得到相邻两个子区域的共同边界。
[0183] 可选地,车道提取单元803采用预设边界点提取算法提取目标区域的边界,得到目标行驶方向对应的车道线之前,还用于:从目标行驶方向对应的车辆轨迹中,删除不符合预设条件的车辆轨迹。
[0184] 其中,目标道路区域为交叉路口时,预设条件包括以下一种或多种:起始轨迹点至终止轨迹点之间的距离小于第一阈值、起始轨迹点与所在分支路口的中心位置的距离大于第二阈值、终止轨迹点与所在分支路口的中心位置的距离大于第三阈值。
[0185] 目标道路区域为非交叉路口时,预设条件包括以下一种或多种:起始轨迹点至终止轨迹点之间的距离小于第四阈值、起始轨迹点至终止轨迹点之间的横向位移大于第五阈值。
[0186] 可选地,路网生成单元804,具体用于:按照预设地图格式,保存目标行驶方向对应的车道和车道线,作为目标道路区域对应的路网结构。
[0187] 一些可能的实现方式中,目标道路区域对应的路网结构包括以下至少一种车道信息:车道线边界、车道方向、车道宽度。
[0188] 一些可能的实现方式中,目标行驶方向包括以下一种或多种:掉头、直行、左转、右转。
[0189] 上述基于车辆轨迹数据的路网结构生成装置所具备的有益效果,可以参考前述实施例中所述的基于车辆轨迹数据的路网结构生成装置具备的有益效果,此处不再赘述。
[0190] 根据本公开的实施例,本公开还提供了一种电子设备。该电子设备可以是前述实施例中所述的服务器、计算机等设备,能够用于实现本公开实施例提供的基于车辆轨迹数据的路网结构生成方法。
[0191] 示例性实施例中,电子设备可以包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如以上实施例所述的基于车辆轨迹数据的路网结构生成方法。
[0192] 例如,图9为可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0193] 如图9所示,电子设备900可以包括计算单元901,其可以根据存储在只读存储器(ROM)中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储电子设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口也连接至总线904。
[0194] 电子设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许电子设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0195] 计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如基于车辆轨迹数据的路网结构生成方法。例如,在一些实施例中,基于车辆轨迹数据的路网结构生成方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。
[0196] 在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到电子设备900上。当计算机程序加载到RAM 903并由计算单元901执行时,可以执行上文描述的基于车辆轨迹数据的路网结构生成方法的一个或多个步骤。
[0197] 备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行基于车辆轨迹数据的路网结构生成方法。
[0198] 根据本公开的实施例,本公开还提供了一种可读存储介质和一种计算机程序产品。
[0199] 示例性实施例中,可读存储介质可以是存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使计算机执行根据以上实施例所述的方法。
[0200] 示例性实施例中,计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现根据以上实施例所述的方法。
[0201] 本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置和该至少一个输出装置。
[0202] 用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0203] 在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD‑ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0204] 为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0205] 可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
[0206] 计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端‑服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0207] 应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0208] 上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。