路口面数据生成方法、装置、电子设备及存储介质与流程
未命名
09-17
阅读:86
评论:0

1.本技术涉及地图技术领域,特别是涉及一种路口面数据生成方法、装置、电子设备及存储介质。
背景技术:
2.随着自动驾驶技术的发展,通常需要能准确识别出路口,从而能够为自动驾驶在路口处的决策提供数据支持,防止车辆行驶超过路口范围。相关技术中,通常基于图像识别的方式识别道路的边界进而拼接生成路口面,然而,由于图像识别的方式容易受到拍摄角度、遮挡物遮挡等因素的影响,因此降低了生成的路口面数据的准确性。
技术实现要素:
3.以下是对本技术详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
4.本技术实施例提供了一种路口面数据生成方法、装置、电子设备及存储介质,能够提升生成的路口面数据的准确性。
5.一方面,本技术实施例提供了一种路口面数据生成方法,包括:在连接目标路口的各个路段组中提取路段边界,基于朝向所述目标路口的方向对所述路段边界进行边界点采样;每当采样的目标边界点缺失时,在所述路段边界中获取历史采样的参考边界点,根据所述参考边界点补全所述目标边界点,直到相邻 的两条所述路段边界被延长至相交,得到目标交点;在各个所述路段组中生成用于指示进入所述目标路口的横切线,基于所述目标交点生成连接曲线,其中,所述连接曲线用于连接相邻两个所述路段组中的所述横切线;根据所述横切线和所述连接曲线得到所述目标路口的路口面数据。
6.另一方面,本技术实施例还提供了一种路口面数据生成装置,包括:边界点采样模块:用于在连接目标路口的各个路段组中提取路段边界,基于朝向目标路口的方向对路段边界进行边界点采样;目标交点获取模块:用于每当采样的目标边界点缺失时,在路段边界中获取历史采样的参考边界点,根据参考边界点补全目标边界点,直到相邻的两条路段边界被延长至相交,得到目标交点;连接曲线生成模块:用于在各个路段组中生成用于指示进入目标路口的横切线,基于目标交点生成连接曲线,其中,连接曲线用于连接相邻两个路段组中的横切线;路口面生成模块:用于根据横切线和连接曲线得到目标路口的路口面数据。
7.进一步,上述目标交点获取模块具体用于:在所述路段组中识别出车道线,在所述路段组的范围内,根据所述参考边界点与车道宽度补全所述目标边界点,直到所述路段边界被延长至进入所述目标路口;
在所述目标路口的范围内,根据所述参考边界点与所述路段边界的边界曲率补全所述目标边界点,直到相邻的两条所述路段边界被延长至相交,得到目标交点。
8.进一步,上述目标交点获取模块具体用于:在所述车道线中,确定与所述参考边界点的采样切面相交的第一车道线点,以及与所述目标边界点的采样切面相交的第二车道线点;根据所述第一车道线点与所述参考边界点之间的距离确定车道宽度,以所述第二车道线点作为参照,根据所述车道宽度补全所述目标边界点。
9.进一步,上述目标交点获取模块具体用于:确定多个所述参考边界点的所述车道宽度的平均值,得到平均宽度;以所述第二车道线点作为参照,根据所述平均宽度补全所述目标边界点。
10.进一步,上述目标交点获取模块具体用于:将位于所述目标边界点之前的连续两个所述参考边界点作为参考点对,确定所述参考点对之间的所述路段边界的边界曲率;以与所述目标边界点相邻的所述参考边界点作为参照,根据所述边界曲率补全所述目标边界点。
11.进一步,所述参考点对的数量为多个,所述参考点对位于所述目标边界点的预设距离范围内,上述目标交点获取模块具体用于:确定位于所述目标边界点之前的连续多个所述参考点对的所述边界曲率的平均值,得到平均曲率;以与所述目标边界点相邻的所述参考边界点作为参照,根据所述平均曲率补全所述目标边界点进一步,上述连接曲线生成模块具体用于:获取所述目标路口的道路图像,在所述道路图像中提取各个所述路段组的路口交通标志;在各个所述路段组中,根据所述路口交通标志的位置生成用于指示进入所述目标路口的横切线。
12.进一步,所述路段组包括利用方向分界线区分行驶方向的第一路段子组和第二路段子组,所述路口交通标志为普通停止线,所述普通停止线的数量为多条,各条所述普通停止线分别阶梯式地分布于所述第一路段子组的各条车道中,上述连接曲线生成模块具体用于:将所述第一路段子组中第一车道的所述普通停止线,朝向所述路段组的第一路段边界进行延长,得到与所述第一路段边界之间的第一交点,其中,所述第一车道为与所述第一路段边界相邻的车道;将所述第一路段子组中第二车道的普通停止线,朝向所述路段组的第二路段边界进行延长,分别得到与所述方向分界线之间的第二交点、与所述第二路段边界之间的第三交点,其中,所述第二车道为与所述方向分界线相邻的车道;依次连接所述第一交点、所述第二交点和所述第三交点,生成用于指示进入所述目标路口的横切线。
13.进一步,上述连接曲线生成模块具体用于:
将所述第一车道的所述普通停止线朝向所述第二路段边界进行延长,将所述第二车道的所述普通停止线朝向所述第一路段边界进行延长,将第三车道的所述普通停止线分别朝向所述第一路段边界和所述第二路段边界进行延长,分别得到与所述第一路段子组中的车道线的第四交点;依次连接所述第一交点、所述第四交点、所述第二交点和所述第三交点,生成用于指示进入所述目标路口的横切线;其中,所述第三车道为所述第一路段子组中除了所述第一车道和所述第二车道以外的其他车道。
14.进一步,所述路口交通标志为斑马线,上述连接曲线生成模块具体用于:基于背向所述目标路口的方向,在距离所述斑马线第一距离阈值的位置,生成用于指示进入所述目标路口的横切线。
15.进一步,所述连接曲线为贝塞尔曲线,上述连接曲线生成模块具体用于:确定各条所述横切线与所在路段组的所述路段边界之间的第五交点;以相邻的两条所述路段边界上的所述第五交点以及对应的所述目标交点作为控制点,生成所述贝塞尔曲线。
16.进一步,路口面数据生成装置还包括:第五交点选取模块:用于生成包含所有的所述第五交点的目标区域,确定所述目标区域的第一中心点;分别确定各个所述第五交点相对于所述第一中心点的航向角;根据所述航向角的大小对多个所述第五交点进行排序,将排名相邻且位于不同所述路段组的所述第五交点,确定为相邻的两条所述路段边界上的所述第五交点。
17.进一步,上述第五交点选取模块具体用于:在所述目标区域中任意确定一个初始点,确定所述初始点与各个所述第五交点所形成的三角形区域的第二中心点以及第一区域面积;根据多个所述第一区域面积之和得到所述目标区域的第二区域面积,确定各个所述第一区域面积在所述第二区域面积中的面积占比;获取各个所述第二中心点的第一坐标,根据所述面积占比对多个所述第一坐标进行加权,得到第二坐标,根据所述第二坐标确定所述目标区域的第一中心点。
18.进一步,路口面数据生成装置还包括:路段组生成模块:用于获取路网数据,将所述路网数据中首尾相连的道路片段进行组合,得到多个目标路段;根据连接所述目标路口的所述目标路段之间的行驶方向关系以及平行关系,将多个所述目标路段进行组合,得到连接所述目标路口的多个路段组。
19.另一方面,本技术实施例还提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的路口面数据生成方法。
20.另一方面,本技术实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行实现上述的路口面数据生成方法。
21.另一方面,本技术实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行实现上
述的路口面数据生成方法。
22.本技术实施例至少包括以下有益效果:通过在连接目标路口的各个路段组中提取路段边界,基于朝向所述目标路口的方向对所述路段边界进行边界点采样,每当采样的目标边界点缺失时,在所述路段边界中获取历史采样的参考边界点,根据所述参考边界点补全所述目标边界点,实现对道路边界的延长效果,能够准确地对不完整的路段边界进行还原,从而提升后续生成的路口面数据的准确性,在此基础上,当相邻的两条所述路段边界延长至相交时能够得到目标交点,再在各个所述路段组中生成用于指示进入所述目标路口的横切线,基于所述目标交点生成用于连接相邻两个所述路段组中的所述横切线的连接曲线,从而能够根据所述横切线和所述连接曲线自然且平滑地得到所述目标路口的路口面数据,进一步提升路口面数据的准确性。
23.本技术的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。
附图说明
24.附图用来提供对本技术技术方案的进一步理解,并且构成说明书的一部分,与本技术的实施例一起用于解释本技术的技术方案,并不构成对本技术技术方案的限制。
25.图1a、图1b是相关技术中识别得到的路口面的示意图。
26.图2为本技术实施例中提供的一种可选的实施环境的示意图。
27.图3为本技术实施例中提供的路口面数据生成方法的一种可选的流程图。
28.图4为本技术实施例中根据目标道路图像提取得到的路段边界和车道线的示意图。
29.图5为本技术实施例中行驶方向为上下行方向的目标路段的示意图。
30.图6为本技术实施例中行驶方向为同向的目标路段的示意图。
31.图7为根据目标路段得到路段组的示意图。
32.图8为本技术实施例中不完整路段边界的示意图。
33.图9为本技术实施例中路段组的相邻关系示意图。
34.图10为本技术实施例中路口面数据示意图。
35.图11为本技术又一实施例中路口面数据示意图。
36.图12为本技术实施例中采样切面示意图。
37.图13为本技术实施例中基于车道线进行路段边界补全的过程示意图。
38.图14为本技术实施例中基于多个参考边界点计算车道宽度平均值进行路段边界补全的过程示意图。
39.图15是本技术实施例中的采样切面不与车道线相交的示意图。
40.图16为本技术实施例中基于边界曲率进行路段边界补全的过程示意图。
41.图17为本技术实施例中基于边界曲率的平均值进行路段边界补全的过程示意图。
42.图18为本技术实施例中利用普通停止线进行横切线的生成示意图。
43.图19为本技术又一实施例中利用普通停止线进行横切线的生成示意图。
44.图20为本技术又一实施例中直线型停止线的示意图。
45.图21为本技术实施例中根据斑马线生成横切线的示意图。
46.图22为本技术实施例种提供的识别斑马线的一种可选的示意图。
47.图23为本技术实施例中根据路段组的路段边界生成对应的横切线的示意图。
48.图24为本技术实施例中连接曲线示意图。
49.图25为本技术实施例中连接曲线的生成原理示意图。
50.图26为本技术实施例中为选取第五交点的过程示意图。
51.图27为本技术实施例中确定目标区域的第一中心点的示意图。
52.图28为本技术实施例提供的路口面数据生成方法的一种可选的总体流程示意图。
53.图29为本技术实施例提供的路口面数据生成装置的一种可选的结构示意图。
54.图30为本技术实施例提供的终端的部分结构框图。
55.图31为本技术实施例提供的服务器的部分结构框图。
具体实施方式
56.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
57.需要说明的是,在本技术的各个具体实施方式中,当涉及到需要根据目标对象属性信息或属性信息集合等与目标对象特性相关的数据进行相关处理时,都会先获得目标对象的许可或者同意,而且,对这些数据的收集、使用和处理等,都会遵守相关法律法规和标准。其中,目标对象可以是用户。此外,当本技术实施例需要获取目标对象属性信息时,会通过弹窗或者跳转到确认页面等方式获得目标对象的单独许可或者单独同意,在明确获得目标对象的单独许可或者单独同意之后,再获取用于使本技术实施例能够正常运行的必要的目标对象相关数据。
58.为便于理解本技术实施例提供的技术方案,这里先对本技术实施例使用的一些关键名词进行解释:智能交通系统(intelligent traffic system,its)又称智能运输系统(intelligent transportation system),是将先进的科学技术(信息技术、计算机技术、数据通信技术、传感器技术、电子控制技术、自动控制理论、运筹学、人工智能等)有效地综合运用于交通运输、服务控制和车辆制造,加强车辆、道路、使用者三者之间的联系,从而形成一种保障安全、提高效率、改善环境、节约能源的综合运输系统。
59.智能车路协同系统(intelligent vehicle infrastructure cooperative systems,ivics),简称车路协同系统,是智能交通系统(its)的一个发展方向。车路协同系统是采用先进的无线通信和新一代互联网等技术,全方位实施车车、车路动态实时信息交互,并在全时空动态交通信息采集与融合的基础上开展车辆主动安全控制和道路协同管理,充分实现人车路的有效协同,保证交通安全,提高通行效率,从而形成的安全、高效和环保的道路交通系统。
60.路段:在交通网络中,路段是一个基本的元素,用于表示道路系统中的各个部分。每个路段都具有唯一的标识符或id,以区分其他路段。路段通常由起点和终点位置、长度、道路类型(例如高速公路、城市街道等)、速度限制、行驶方向等属性组成。通过将多个路段连接在一起,可以形成完整的交通网络。
61.随着自动驾驶技术的发展,通常需要能准确识别出路口,从而能够为自动驾驶在路口处的决策提供数据支持,防止车辆行驶超过路口范围。相关技术中识别路口面有两种常用方式,第一种是连接路段的扩展边,形成首尾相连的闭环,从而构造路口面。第二种是基于图像识别的方式识别道路的边界进而拼接生成路口面。参照图1a,图1a是第一种方式识别得到的路口面,可见其无法真实反映道路的宽度,以及进入路口的准确位置。参照图1b,图1b是第二种方式识别得到的路口面,可见第二种方式中图像识别的方式容易受到拍摄角度、遮挡物遮挡等因素的影响,生成的路口面可能不完整。这两种方式得到的路口面数据的准确性都较低。
62.基于此,本技术实施例提供了一种路口面数据生成方法、装置、电子设备及存储介质,能够提升路口面数据的准确性。
63.参照图2,图2为本技术实施例提供的另一种可选的实施环境的示意图,该实施环境包括终端201和数据处理服务器202,其中,终端201和数据处理服务器202之间通过通信网络连接。
64.示例性地,以终端201为车载终端为例,数据处理服务器202可以获取目标道路图像,在连接目标路口的各个路段组中提取路段边界,基于朝向目标路口的方向对路段边界进行边界点采样,每当采样的目标边界点缺失时,在路段边界中获取历史采样的参考边界点,根据参考边界点补全目标边界点,直到相邻的两条路段边界被延长至相交,得到目标交点,接着在各个路段组中生成用于指示进入目标路口的横切线,基于目标交点生成连接曲线,其中,连接曲线用于连接相邻两个路段组中的横切线。最后根据横切线和连接曲线得到目标路口的路口面数据。数据处理服务器202也可以接入导航引擎,将生成的路口面数据显示在地图产品中,增强导航界面的可视化效果,并为自动驾驶在路口处决策时提供数据支持,防止车辆行驶超出路口范围,从而降低路口处事故发生的概率,提升自动驾驶的安全性。其中,地图产品可以是高精度虚拟地图、普通精度地图、城市道路模型等各种虚拟地图产品。然后终端201通过通信网络连接到数据处理服务器202,获取生成的路口面数据,使得终端201可以根据目标路口的路口面数据确定目标路口的可通行区域,从而实现车辆导航、路口偏离预警、辅助驾驶等功能。
65.终端201可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端等,但并不局限于此。终端201以及服务器202可以通过有线或无线通信方式进行直接或间接地连接,本技术实施例在此不做限制。
66.服务器202可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。另外,服务器202还可以是区块链网络中的一个节点服务器。
67.本技术实施例提供的方法可应用于各种场景,包括但不限于云技术、智慧交通、辅助驾驶、地图、导航等场景。
68.下面详细描述本技术实施例提供的路口面数据生成方法的原理。
69.参照图3,图3为本技术实施例提供的路口面数据生成方法的一种可选的流程图,该路口面数据生成方法可以由服务器执行,或者也可以由终端执行,或者也可以由服务器和终端配合执行,在本技术实施例中,以该方法由服务器执行为例进行说明。该路口面数据
生成方法包括但不限于以下步骤301至步骤304。
70.步骤301:在连接目标路口的各个路段组中提取路段边界,基于朝向目标路口的方向对路段边界进行边界点采样。
71.在一种可能的实现方式中,服务器可以通过对目标道路图像进行数据提取得到包括各个路段组的路段边界、车道线以及目标路口在内的道路数据,其中,目标道路图像用于反映道路以及道路周围的景象,比如,目标道路图像中可以包括道路、建筑物、行人、车辆等元素。另外,该目标道路图像可以是点云图像,相应地,本技术实施例中的目标道路图像为点云数据,点云数据以三维坐标表示,相比于二维图像数据,点云能够更准确地捕捉到道路的形状、高度、倾斜度等几何信息细节,有助于更精确地识别道路的几何属性,同时在点云中每个点可以通过其位置、法向量、颜色等属性来表示,利用这些属性能够提取各种特征,比如点密度、曲率、表面法线等,通过对这些特征的分析和组合,可以更好地识别道路的各种特征,如斑马线、停止线、车道线、路牌等,能够得到准确的道路数据。并且相比于其他传感器或设备,如摄像头、雷达阵列等,点云数据获取所需的设备相对简单,只需要一个激光雷达或深度摄像头即可获取目标道路图像对应的点云数据,降低了目标道路图像的获取成本,能够得到更多的目标道路图像用于提升算法性能。
72.在一种可能的实现方式中,可以是服务器获取终端上传的目标道路图像,或者也可以是服务器获取本地存储的目标道路图像,或者也可以是其中一台服务器获取另一台服务器传输的目标道路图像,等等。
73.在一种可能的实现方式中,目标道路图像也可以是车载终端上传的,相应地,目标道路图像可以是车辆的图像采集设备采集后由车载终端上传,其中,该图像采集设备可以是摄像头或者激光雷达、毫米波雷达等雷达设备;或者,也可以基于车辆的车载终端上运行的地图应用获得后由车载终端上传;或者,还可以由位于车辆上的智能终端(例如智能手机等)上运行的地图应用获得并传输至车载终端后由车载终端上传;或者,还可以由设置于遥感车、舰船或者飞行器等遥感平台的遥感器采集并传输至车载终端后由车载终端上传,或者,还可以由智能车路协同系统获得后传输至车载终端由车载终端上传,等等。
74.在一种可能的实现方式中,通过点云识别技术提取得到目标路口的各个路段组的路段边界和车道线的具体过程包括:首先对目标道路图像的原始点云数据进行预处理,其中预处理包括去噪、滤波和降采样等,通过预处理步骤减少原始点云数据中的噪声和冗余信息,提升后续处理的效果。接着采用地面提取算法分离道路上的地面点和非地面点,本实施例中地面提取算法可以是基于平面拟合的算法或统计学方法。再使用聚类算法将非地面点云划分为不同的聚类簇,本实施例中,道路通常在点云中表现为相互连续的聚类簇。其中,聚类算法可以是基于邻域关系的算法或基于密度的算法。得到聚类簇后对每个聚类簇进行特征提取,进行特征提取的方式包括:几何特征或纹理和颜色特征,其中几何特征包括:点云的高度、法向量、曲率等。提取到每个聚类簇的特征后再利用分类器或预设规则判断每个聚类簇表示路段边界还是车道线。至此,从目标道路图像中提取到路段边界和车道线。其中,一个路段组中可以包括一条或一条以上车道线,多个路段边界构成对应的路段组,多个路段组交接的位置定义为目标路口。
75.参照图4,图4为本技术实施例中根据目标道路图像提取得到的路段边界和车道线的示意图。图4中以实线表示路段边界,以虚线表示车道线,相关联的路段边界构成对应的
路段组,每个路段组中包括一条或一条以上车道线,车道线的两侧定义为车道。同时,图4中示出了多个路段组交接的位置为目标路口。
76.在一种可能的实现方式中,生成路段组的过程具体包括:获取路网数据,将路网数据中首尾相连的道路片段进行组合,得到多个目标路段,接着根据连接目标路口的目标路段之间的行驶方向关系以及平行关系,将多个目标路段进行组合,得到连接目标路口的多个路段组。
77.其中,路网数据指包含了道路、交叉口和其他交通设施等元素的地理信息数据集合,用于描述和表示一个区域或城市的道路网络。在路网数据中将一条道路划分成若干个连续的线段,每个线段就称为一个道路片段。道路片段通常由起点和终点坐标、几何形状、长度、连接关系等属性组成。其中,起点和终点坐标表示道路片段的起点和终点位置;几何形状表示道路片段所描述的道路的实际形状,通常使用线段或曲线进行表示;长度表示道路片段的实际距离;连接关系表示道路片段与其他道路片段之间的连接关系,根据连接关系即可得到道路拓扑信息。
78.在一种可能的实现方式中,拉取得到路网数据后,从中得到道路片段的道路拓扑信息,根据道路拓扑信息将路网数据中首尾相连的道路片段进行组合,得到多个目标路段。再次参照图4,每个目标路段可以理解为一个车道,因此目标路口会连接多个目标路段,为了计算方便,根据连接目标路口的目标路段之间的行驶方向关系以及平行关系,将多个目标路段进行组合,得到连接目标路口的多个路段组。
79.参照图5,图5为本技术实施例中行驶方向为上下行方向的目标路段的示意图。图5中目标路段之间的行驶方向为上下行方向。如果目标路段1和目标路段2之间的行驶方向为上下行方向(相反方向),理论上其对应的有向矢量线段的夹角为:180
°
,但是考虑到点云识别过程中的误差,设定一个夹角浮动范围,此时夹角范围表示为:,其中,可以是10
°
,可以理解的是,10
°
仅为示例,并不对其进行限定。
80.同样地,参照图6,图6为本技术实施例中行驶方向为同向的目标路段的示意图。目标路段之间的行驶方向为同向,即目标路段之间为平行关系。如果目标路段1和目标路段2之间为平行关系,理论上其对应的有向矢量线段的夹角为:0
°
或360
°
,但是考虑到点云识别过程中的误差,设定一个夹角浮动范围,此时夹角范围表示为:0
°
~或,其中,可以是10
°
,可以理解的是,10
°
仅为示例,并不对其进行限定。
81.接着参照图7,图7为根据目标路段得到路段组的示意图。图7中将行驶方向关系为相反方向以及平行关系的多个目标路段进行组合,得到连接目标路口的多个路段组。例如路段组1中包含两个目标路段,其行驶方向关系为相反方向。路段组2中包含四个目标路段,具有两个行驶方向,每个行驶方向包括两个平行关系的目标路段。路段组3和4中包含三个目标路段,具有两个行驶方向,其中一个行驶方向包括两个平行关系的目标路段。
82.上述过程中从目标道路图像中提取得到路段组之后,即可获取每个路段组的路段边界以及路段组中的车道线。接下来对路段边界进行边界点采样。
83.在一种可能的实现方式中,步骤301在连接目标路口的各个路段组中提取路段边界,并基于朝向目标路口的方向对路段边界进行边界点采样得到每个路段边界上的目标边界点,图5中以路段边界上的空心圆点为例表征采样得到的目标边界点。可以理解的是,目
标边界点以坐标形式存储。可以理解的是,图4中仅示出了路段边界上的部分目标边界点。
84.步骤302:每当采样的目标边界点缺失时,在路段边界中获取历史采样的参考边界点,根据参考边界点补全目标边界点,直到相邻的两条路段边界被延长至相交,得到目标交点。
85.其中,目标边界点即如图4中对路段边界采样得到的采样点(以某一条路段边界上的空心圆点进行示意),相邻的两条路段边界分别位于两个相邻且相互不平行的路段组中,并且,这两条路段边界之间为两个路段组中相距最近的路段边界。可以理解的是,每个路段边界都能得到对应的多个目标边界点。由于目标道路图像中可能存在树荫等障碍物遮挡,通过点云识别的路段边界大部分情况并不完整,因此需要对路段边界的边界点进行补全,使得路段边界更完整。参照图8,图8为路段边界不完整的两个示意图,图8中某个路段组的两个路段边界都出现了缺失,某个路段组的其中一个路段边界出现缺失。因此本实施例为了更精准的生成路口面数据,针对路段边界不完整的数据,进行边界点补齐。
86.在一种可能的实现方式中,假如当前的目标道路图像提取的路段边界存在采样点缺失或不完整时,可以利用目标道路相关历史数据来填补这些缺失。由于历史数据是在实际场景中获取的,因此能够准确地反映对应路段组的路段边界的实际形状,通过历史数据对路段边界的边界点进行补全,可以生成更准确的路段边界信息。参考边界点为历史采样成功的边界点,或者是进行补全后得到的目标边界点,本实施例中将路段边界分为延续部分和缺失部分,延续部分能够进行边界点采样得到多个目标采样点,并且将延续部分的目标采样点作为历史采样的参考边界点,利用参考边界点对缺失部分进行补全。
87.在一种可能的实现方式中,每当采样的目标边界点缺失时,在路段边界中获取历史采样的参考边界点,根据参考边界点补全目标边界点,直到相邻的两条路段边界被延长至相交,得到目标交点,具体可以是:在路段组中识别出车道线,在路段组的范围内,根据参考边界点与车道宽度补全目标边界点,直到路段边界被延长至进入目标路口,接着在目标路口的范围内,根据参考边界点与路段边界的边界曲率补全目标边界点,直到相邻的两条路段边界被延长至相交,得到目标交点。
88.其中,路段组中包括至少一个车道线,路段边界是路段组的边界线,参考边界点位于路段边界上,因此参考边界点与车道线之间的距离能够得到车道宽度相关信息,本实施例基于车道宽度信息在路段组的范围内补全目标边界点,利用目标边界点延长路段边界。由于目标路口是多个路段组中间围住的区域,因此将每个路段组的路段边界延长后,会进入目标路口,在目标路口内两个相邻的路段边界会被延长至相交,这个交点即为目标交点。
89.通过在路段组中识别出车道线,以车道宽度作为基准来补全目标边界点,能够使得目标边界点的预测位置更加贴合现实道路,从而使得补全的路段边界更加准确,在此基础上,在目标路口的范围内以边界曲率作为基准来进一步延长路段边界,能够使得路段边界的延长更加自然,可见,通过车道宽度与边界曲率相结合的方式来补全目标边界点,能够使得目标交点的位置更加准确合理。
90.在一种可能的实现方式中,在根据参考边界点补全目标边界点时,也可以在路段组的范围和目标路口的范围内,均根据参考边界点与路段边界的边界曲率补全目标边界点,也能够在一定程度上自然地对路段边界进行延长。
91.上述步骤描述了基于车道线计算的车道宽度进行路段边界补全以及基于边界曲
率进行路段边界补全的过程,通过对路段边界补全,使得相邻的路段边界被延长至目标路口内相交,得到一个交点,将该交点作为目标交点。接下来描述基于目标交点生成横切线的过程。
92.步骤303:在各个路段组中生成用于指示进入目标路口的横切线,基于目标交点生成连接曲线。
93.其中,对同一个目标路口的路段组按照顺时针或者逆时针进行编号,也能得到路段组之间的相邻关系,上述连接曲线用于连接相邻两个路段组中的横切线。横切线用于指示对象即将进入目标路口,这里的对象可以是车辆。连接曲线用于连接相邻路段组的横切线,通过连接曲线连接相邻路段组的横切线,有利于提升所有横切线和连接曲线所构成的封闭区域的平滑程度。
94.参照图9,图9为本技术实施例中路段组的相邻关系示意图。图9中示出了3种不同的路段组分布。第一种由四个路段组构成,对每个路段组进行顺时针编号,路段组1-1、路段组1-2、路段组1-3和路段组1-4,则根据编号顺序能够得到:路段组1-1和路段组1-4相邻、路段组1-2和路段组1-1相邻等多个相邻的路段组。第二种由三个路段组构成,对每个路段组进行顺时针编号,路段组2-1、路段组2-2和路段组2-3,则根据编号顺序能够得到:路段组2-1和路段组2-3相邻、路段组2-2和路段组2-1相邻等多个相邻的路段组。第三种由两个路段组构成,对每个路段组进行顺时针编号,路段组3-1和路段组3-2,则根据编号顺序能够得到:路段组3-1和路段组3-2相邻。因此通过对路段组进行编号,即可得到相邻的两个路段组,在生成对应的横切线后,可以利用连接曲线对横切线进行连接。
95.步骤304:根据横切线和连接曲线得到目标路口的路口面数据。
96.其中,可以直接将横切线和连接曲线作为目标路口的路口面数据,即路口面数据为横切线和连接曲线构成的封闭区域的边缘,或者,也可以将横切线和连接曲线构成的封闭区域作为目标路口的路口面数据。
97.例如,参照图10,图10为本技术实施例中路口面数据示意图。图10中目标路口包括4个路段组,将每个路段组的横切线以及相邻的两条路段边界对应的连接曲线进行首尾连接构成一个封闭区域。其中,封闭区域的边缘和封闭区域本身都可以作为路口面数据,两者择一即可,当路口面数据为封闭区域的边缘时,具体包括封闭区域的边缘中各个点的坐标,而当路口面数据为封闭区域时,具体包括封闭区域内各个点的坐标。
98.在一些特殊的目标路口,例如三岔路口或者单转弯路口,则路口面数据的形态会根据目标路口的特征进行适应性改变。参照图11,图11为本技术又一实施例中路口面数据示意图。图11中第一种情况下,三岔路口中有两个相邻的路段组相对设置,两者的行驶路线一致,在行驶时不需要转弯,则无需生成这两个路段组的连接曲线,此时得到的路口面数据如图11中所示,将这两个路段组对应位置的路段边界延长至重合,根据这两个路段组的横切线得到路段边界重合段,根据三条横切线、两条连接曲线和路段边界重合段得到路口面数据。图11中第二种情况下,单转弯路口中包含两个路段组,此时仅需生成一条连接曲线,然后按照连接曲线的曲率,对应生成目标路口的边界曲线,根据边界曲线、横切线、连接取消和路段组的部分路段边界得到路口面数据。可以理解的是,本实施例以封闭区域的边缘作为路口面数据的示意,并不代表路口面数据不能是封闭区域本身。
99.通过在连接目标路口的各个路段组中提取路段边界,基于朝向目标路口的方向对
路段边界进行边界点采样,每当采样的目标边界点缺失时,在路段边界中获取历史采样的参考边界点,根据参考边界点补全目标边界点,实现对道路边界的延长效果,能够准确地对不完整的路段边界进行还原,从而提升后续生成的路口面数据的准确性,在此基础上,当相邻的两条路段边界延长至相交时能够得到目标交点,再在各个路段组中生成用于指示进入目标路口的横切线,基于目标交点生成用于连接相邻两个路段组中的横切线的连接曲线,从而能够根据横切线和连接曲线自然且平滑地得到目标路口的路口面数据,进一步提升路口面数据的准确性。
100.在一种可能的实现方式中,根据参考边界点与车道宽度补全目标边界点,具体可以是:在车道线中,确定与参考边界点的采样切面相交的第一车道线点,以及与目标边界点的采样切面相交的第二车道线点,接着根据第二车道线点与目标边界点之间的距离确定车道宽度,以第一车道线点作为参照,根据车道宽度补全目标边界点。
101.其中,参照图12,图12为本技术实施例中采样切面示意图。采样切面可以是经过路段边界的参考采样点与路段组的多个路段边界垂直或接近垂直的切面,这里的采样切面可以与路段组的一个路段边界垂直,与另一个路段边界垂直或接近垂直。采样切面也可以是经过路段边界的参考采样点与地理方向(如东、南、西、北)垂直的切面。本实施例对此不做限定。
102.在一种可能的实现方式中,参考采样点为均匀采样得到。参照图13,图13为本技术实施例中基于车道线进行路段边界补全的过程示意图。图13中示出了2个车道线,自右往左分别是车道线d1和车道线d2。假如沿着行驶方向,在路段组的路段边界间隔1m进行均匀采样,得到多个目标边界点,路段边界出现缺失,此时根据目标边界点得到多个历史采样的参考边界点。例如将最后一个目标边界点a2作为参考边界点。然后经过目标边界点和参考采样点设定对应地采样切面,采样切面和路段边界垂直,同一个路段组中采样切面之间互相平行。假设一个采样切面同时穿过车道线和路段边界,则将车道线与参考边界点的采样切面相交的点设为第一车道线点,由于参考边界点a2对应的采样切面与车道线相交,假如选取车道线d1,则得到的第一车道线点为a1。接着按照均匀采样的原则,选取与参考边界点的采样切面平行的最近采样切面作为目标边界点的采样切面,对应地,根据车道线d1与目标边界点的采样切面的相交关系,得到第二车道线点b1。接着根据第一车道线点a1与参考边界点a2之间的距离确定车道宽度d=|a1-a2|,由于距离相近的车道线宽度相似,因此在得到参考边界点a2对应的车道宽度后,以第二车道线点b1作为参照,沿着路段边界向前补齐,推算下一个目标边界点的位置,目标边界点的位置为图13中的b2。以此类推,直至路段边界被延长至进入目标路口。
103.在一种可能的实现方式,也可以直接计算参考边界点与车道线之间的垂直距离作为车道宽度,然后选取参考边界点的采样切面的下一个相邻的采样切面,获取第二车道线点b1,根据第二车道线点b1和车道宽度得到目标边界点。
104.例如,参照图13,对同一个目标路口的路段组的路段边界按照顺时针或者逆时针进行编号,其中,相邻的路段边界指的是编号相邻且不属于同一个路段组的两个路段边界,例如编号为“5”和编号为“6”的两条路段边界。如果路段边界存在缺失,则将两个相邻的路段边界分别按照上述方式进行路段边界补全,使得补全后的路段边界延长至目标路口内相交。
105.在一种可能的实现方式中,为了提升路段边界补全过程中目标边界点选取的准确性,选取多个参考边界点,并且参考边界点位于目标边界点的预设距离范围,基于预设距离范围选取与目标边界点相距较近的多个参考边界点,来提升计算准确性。本技术实施例中,以第二车道线点作为参照,根据车道宽度补全目标边界点,具体可以是:确定多个参考边界点的车道宽度的平均值,得到平均宽度,接着以第二车道线点作为参照,根据平均宽度补全目标边界点。
106.参照图14,图14为本技术实施例中基于多个参考边界点计算车道宽度平均值进行路段边界补全的过程示意图。在路段边界的历史采样中选取n个参考边界点,这些参考边界点均匀分布在路段边界上,接着生成每个参考边界点的采样切面,多个采样切面互相平行,计算每个参考边界点的采样切面与车道线的第一车道线点,然后分别计算车道宽度di,再根据n个对应的车道宽度计算得到车道宽度平均值,记为:(d1+d2+
…
+dn)/n。接着根据与最后一个参考边界点的采样切面平行的相邻采样切面得到第二车道线点c1,由于距离相近的车道线宽度相似,因此在得到多个参考边界点对应的平均车道宽度后,以第二车道线点作为参照,沿着路段边界向前补齐,推算下一个目标边界点的位置,目标边界点的位置为图14中的c2。以此类推,直至路段边界被延长至进入目标路口。
107.上述路段边界补全过程中需要根据车道线与采样切面之间的交点得到第一车道线点和第二车道线点,但是当路段边界靠近目标路口时,无需设置车道线,参照图15,图15是本技术实施例中的采样切面不与车道线相交的示意图,因此本技术实施例利用边界曲率进行路段边界的补全。
108.在一种可能的实现方式,根据参考边界点与路段边界的边界曲率补全目标边界点,具体可以是:将位于目标边界点之前的连续两个参考边界点作为参考点对,确定参考点对之间的路段边界的边界曲率,接着以与目标边界点相邻的参考边界点作为参照,根据边界曲率补全目标边界点。
109.其中,参考点对中包括两个连续的参考边界点,这两个参考边界点为历史采样的最后两个目标边界点。由于路段边界进入目标路口后可能变为曲线,一般来说该曲线的曲率变化相对稳定,因此可以根据历史采样的目标边界点的曲率变化,推测需要补全的路段边界的曲率变化。本技术实施例中获取路段边界上参考点对中参考边界点之间的路段边界曲线段,然后根据路段边界曲线段计算对应于参考点对的边界曲率。具体的计算过程为:将路段边界曲线段表示为参数化方程,即将路段边界曲线段上的点表示为参数t的函数形式,例如将路段边界曲线段表示为点的集合(x(t),y(t)),接着对参数化方程进行求导得到路段边界曲线段在每个t值处的切线向量,由于路段边界曲线段是二维平面上的曲线,因此切线向量可以表示为(x'(t),y'(t))。再根据切线向量的定义,将切线向量单位化得到速度单位向量v。然后对速度单位向量v再次求导得到加速度向量a,利用速度向量v和加速度向量a分别表示路段边界曲线段的方向和变化速率。接着根据加速度向量a和速度单位向量v按照公式k=||a||/(||v||3)计算路段边界曲线段对应的边界曲率k。然后根据边界曲率补全目标边界点沿着路段边界向前补齐,推算下一个目标边界点的位置。
110.在一种可能的实现方式中,参考采样点为均匀采样得到。参照图16,图16为本技术实施例中基于边界曲率进行路段边界补全的过程示意图。图16中假如沿着行驶方向,在路段组的路段边界间隔1m进行均匀采样,得到多个目标边界点,路段边界出现缺失,此时根据
目标边界点得到多个历史采样的参考边界点。同时经过目标边界点和参考采样点设定对应地采样切面,采样切面和路段边界垂直,同一个路段组中采样切面之间互相平行。例如将最后两个连续的目标边界点a3和目标边界点a4构成参考点对,计算参考点对对应的路段边界曲线段a3a4的边界曲率q,由于距离相近的路段边界的曲率相似,因此根据边界曲率q计算下一个路段边界曲线段的边界曲率,下一个路段边界曲线段对应的参考点对包括:目标边界点a4和预估的目标边界点c3,即路段边界曲线段a3a4和路段边界曲线段a4c3的边界曲率一致,以边界曲率q作为参照,沿边界曲率q的方向在下一个采样切面上得到目标边界点c3的具体位置。以此类推,直至路段边界被延长至进入目标路口。并且将两个相邻的路段边界按照上述方式进行路段边界补全,都延长至目标路口内相交。
111.在一种可能的实现方式中,为了提升路段边界补全过程中基于边界曲率目标边界点选取的准确性,选取多个参考点对,并且参考点对中的参考边界点位于目标边界点的预设距离范围,基于预设距离范围选取与目标边界点相距较近的多个参考边界点构成参考点对,来提升计算准确性。本技术实施例中,以与目标边界点相邻的参考边界点作为参照,根据边界曲率补全目标边界点,具体可以是:确定位于目标边界点之前的连续多个参考点对的边界曲率的平均值,得到平均曲率,接着以与目标边界点相邻的参考边界点作为参照,根据平均曲率补全目标边界点。
112.参照图17,图17为本技术实施例中基于边界曲率的平均值进行路段边界补全的过程示意图。在路段边界的历史采样中选取n个参考点对,这些参考点对的参考边界点均匀分布在路段边界上,接着生成每个参考点对的采样切面,多个采样切面互相平行。计算每个参考点对的边界曲率qi,再根据n个对应的边界曲率计算得到边界曲率的平均值,记为:(q1+q2+
…
+qn)/n。接着沿边界曲率的平均值对应的曲率方向进行延长,与最后一个参考边界点的采样切面平行的相邻采样切面相交,得到目标边界点c4。以此类推,直至路段边界被延长至进入目标路口。可以理解的是,也可以计算整个路段边界的平均曲率作为边界曲率的平均值。
113.在一种可能的实现方式中,在各个路段组中生成用于指示进入目标路口的横切线,具体可以是:获取目标路口的道路图像,在道路图像中提取各个路段组的路口交通标志,接着在各个路段组中,根据路口交通标志的位置生成用于指示进入目标路口的横切线。由于横切线是用于指示对象进入目标路口,而目标路口都有对应的路口交通标志,因此本实施例根据各个路段组的路口交通标志生成对应路段组的横切线。其中,路口交通标志包括:斑马线、红绿灯、停止线等,路口交通标志可以通过点云识别的方式进行识别,本实施例对路口交通标志的类型和识别方式均不进行限定。
114.在一种可能的实现方式中,当路口交通标志为停止线时,停止线用于指示车辆即将进入目标路口,停止线分为普通停止线和待转区停止线。参照图18,图18为本技术实施例中利用普通停止线进行横切线的生成示意图。待转区停止线是用来指示车辆在待转区域停车的标识线条,一般位于目标路口内的交叉口的进口处。普通停止线一般是一条横贯道路的白色实线,位于将要进入目标路口的适当位置。由于代转区停止线位于目标路口内,在进行路口面数据生成时蕴含的信息量少于普通停止线,因此本实施例选择普通停止线进行横切线的生成。
115.普通停止线包括两种,一种是直线型停止线,另一种是阶梯型停止线。其中,直线
型停止线指的是同个路段组内同一方向的目标路段的停止线基本在一条水平线上对齐。但是在一些复杂的、具有多个车道的路口,为了更好地引导驾驶员将车辆停在合适的位置,避免车辆之间的相互干扰和交通冲突,有可能同个路段组内同一方向的目标路段的停止线不在一条水平线上对齐,而是呈现出错落有序的分布形式,类似于阶梯形,这种停止线称为阶梯型停止线。
116.在本技术实施例中,对于普通停止线来说,会根据识别得到的普通停止线的形态(阶梯型或者直线型)来生成横切线,从而使得生成的横切线更加准确以及合理。
117.首先介绍根据阶梯型停止线生成横切线的过程。其中,将路段组分为利用方向分界线区分行驶方向的第一路段子组和第二路段子组,可以理解的是,无论路段组中包括多少目标路段,在这里仅需将同一行驶方向的目标路段进行组合即可得到路段子组,由于行驶方向有两个方向,因此对应得到路段组的两个路段子组,分别是第一路段子组和第二路段子组。
118.在一种可能的实现方式中,对于阶梯型停止线来说,普通停止线的数量为多条,假设各条普通停止线分别阶梯式地分布于第一路段子组的各条车道中,根据路口交通标志的位置生成用于指示进入目标路口的横切线,具体可以是:将第一路段子组中第一车道的普通停止线,朝向路段组的第一路段边界进行延长,得到与第一路段边界之间的第一交点,其中,第一车道为与第一路段边界相邻的车道,然后将第一路段子组中第二车道的普通停止线,朝向路段组的第二路段边界进行延长,分别得到与方向分界线之间的第二交点、与第二路段边界之间的第三交点,其中,第二车道为与方向分界线相邻的车道,最后依次连接第一交点、第二交点和第三交点,生成用于指示进入目标路口的横切线。
119.例如,参照图18,利用方向分界线m1将第一路段子组和第二路段子组进行分隔,将第一路段子组中与第一路段边界相邻的车道的定义为第一车道,将第一路段子组中与方向分界线相邻的车道定义为第二车道,该路段组的两个路段边界为第一路段边界m2和第二路段边界m3。将第一路段子组中第一车道的普通停止线朝向路段组的第一路段边界m2进行延长得到与第一路段边界之间的第一交点j1,然后将第一路段子组中第二车道的普通停止线朝向路段组的第二路段边界m3进行延长与方向分界线相交,得到第二交点j2,以及与第二路段边界m3相交,得到第三交点j3,依次连接第一交点j1、第二交点j2和第三交点j3,生成用于指示进入目标路口的横切线h1。由于这里的普通车道线为阶梯型车道线,第一交点j1、第二交点j2和第三交点j3并不一定位于一条直线,因此通过这种方式得到的横切线由多个直线或者斜线构成。
120.通过依次连接第一交点、第二交点和第三交点,生成用于指示进入目标路口的横切线,能够使得生成的横切线尽可能地适配普通停止线的形态,从而使得横切线的位置更加准确。
121.在一种可能的实现方式中,如果普通车道线的阶梯状分布较为分散,此时为了提高横切线的指示效果,需要根据阶梯型车道线的特性生成阶梯状的横切线。依次连接第一交点、第二交点和第三交点,生成用于指示进入目标路口的横切线,具体可以是:将第一车道的普通停止线朝向第二路段边界进行延长,将第二车道的普通停止线朝向第一路段边界进行延长,将第三车道的普通停止线分别朝向第一路段边界和第二路段边界进行延长,分别得到与第一路段子组中的车道线的第四交点;依次连接第一交点、第四交点、第二交点和
第三交点,生成用于指示进入目标路口的横切线;其中,第三车道为第一路段子组中除了第一车道和第二车道以外的其他车道。
122.例如,参照图19,图19为本技术又一实施例中利用普通停止线进行横切线的生成示意图。将需要生成横切线的路段组利用方向分界线m4将第一路段子组和第二路段子组进行分隔,将第一路段子组中与第一路段边界相邻的车道的定义为第一车道,将第一路段子组中与方向分界线相邻的车道定义为第二车道,将第一路段子组中除了第一车道和第二车道以外的其他车道定义为第三车道,该路段组的两个路段边界为第一路段边界m5和第二路段边界m6。首先基于图19的方式得到:第一车道的普通停止线朝向路段组的第一路段边界m5进行延长得到的第一交点j1、第二车道的普通停止线朝向路段组的第二路段边界m6进行延长,与方向分界线m4相交得到的第二交点j2、以及第二车道的普通停止线与第二路段边界m6相交得到第三交点j3。接着将第一车道的普通停止线朝向第二路段边界m6的方向进行延长与相邻的车道线相交构成第四交点j4,同时将第二车道的普通停止线朝向第一路段边界m5的方向进行延长,同样地,与相邻的车道线相交构成第四交点j4,接着将第三车道的普通停止线分别朝向第一路段边界m5和第二路段边界m6的方向进行延长,得到多个与第一路段子组中的车道线相交的第四交点j4。可以理解的是,第四交点j4为多个,位于第一路段子组中的车道线上,是第一车道、第二车道和第三车道的普通停止线与车道线对应的交点。最后依次连接第一交点j1、第四交点j4、第二交点j2和第三交点j3,生成用于指示进入目标路口的横切线h2。可见横切线h2为阶梯状,符合阶梯型车道线的特性。
123.通过依次连接第一交点、第四交点、第二交点和第三交点,生成用于指示进入目标路口的横切线,能够使得生成的横切线最大限度地适配普通停止线的形态,从而使得横切线的位置更加准确。
124.在一种可能的实现方式中,当路口交通标志为直线型停止线,路段组之间的目标路段具有平行关系。如果不同目标路段的停止线之间存在距离偏移,则穿过不同目标路段生成一条直线作为停止线,目的是保证对应的路段组中车辆停止的位置相同。参照图20,图20为本技术又一实施例中直线型停止线的示意图。参照图20,对于直线型停止线,在背离目标路口的方向,以预设距离生成直线型停止线的平行线,这里的预设距离可以是3m~6m等,然后将该平行线作为直线型停止线的横切线h3。
125.可以理解的是,上述三种计算横切线的方式可以根据目标路口的停止线的状态进行组合,本实施例并不限定基于停止线的横切线计算方式。
126.在一种可能的实现方式中,如果目标道路图像中无法提取到停止线,但是存在斑马线,则路口交通标志设为斑马线,根据斑马线生成用于指示进入目标路口的横切线。根据路口交通标志的位置生成用于指示进入目标路口的横切线,具体可以是:基于背向目标路口的方向,在距离斑马线第一距离阈值的位置,生成用于指示进入目标路口的横切线。
127.参照图21,图21为本技术实施例中根据斑马线生成横切线的示意图。目标路口的路段组附近能够识别到斑马线,由于斑马线近似为矩形,其包括内边缘和外边缘,其中,内边缘定义为远离路段组的矩形边,外边缘定义为靠近路段组的矩形边,内边缘和外边缘的距离为斑马线宽度。此时需要选取斑马线的内边缘或外边缘(斑马线区域为矩形,选取内边缘和外边缘),然后在第一预设距离处生成与外边缘平行的线,并且将该平行线延长与路段组的两个路段边界相交,得到对应与外边缘的横切线h4。或者在第一预设距离加上斑马线
宽度的位置处生成与内边缘平行的线,并且将该平行线延长与路段组的两个路段边界相交,得到对应与内边缘的横切线。可以理解的是,第一预设距离使得横切线能够穿过路段组,第一预设距离的取值可以是3m~6m等。
128.在一种可能的实现方式中,参照图22,图22为本技术实施例提供的识别斑马线的一种可选的示意图,在识别斑马线时,可能会有多个原始识别结果,原始识别结果可以包含图22中所示的多个多边形,先对这些多边形进行形状筛选,将近似矩形的多边形确定为目标多边形,再根据这些目标多边形的中心点位置,对目标多边形进行分组,对于其中一个分组,比较这个分组内各个目标多边形的覆盖范围,将覆盖范围最大的目标多边形确定为识别得到的斑马线。通过对原始识别结果进行筛选分组,再根据覆盖范围来确定斑马线的识别结果,有利于提升斑马线识别的准确性。
129.在一种可能的实现方式中,如果目标道路图像中无法提取到停止线和斑马线,但是存在红绿灯,则路口交通标志设为红绿灯。此时假设红绿灯位置为地面红绿灯,则延长路段组的车道线至目标路口,然后沿着地面红绿灯的坐标点生成垂直于车道线延长线的垂线,沿车道线方向,背离目标路口在第二预设距离处生成垂线的平行线,并且将该平行线延长与路段组的两个路段边界相交,得到对应的横切线。可以理解的是,第二预设距离使得横切线能够穿过路段组,第二预设距离的取值可以是3m~6m等。
130.在一种可能的实现方式中,如果目标道路图像中无法提取到停止线、斑马线和红绿灯,此时需要根据路段组的路段边界生成对应的横切线。参照图23,图23为本技术实施例中根据路段组的路段边界生成对应的横切线的示意图。将要生成横切线的路段组作为目标路段组,分别选取目标路段组的两个路段边界对应的相邻路段边界,获取相邻路段边界与目标路段组的两个路段边界的两个相交点,连接这两个相交点得到一个连接线,沿着背离目标路口的方向在第三预设距离处生成连接线的平行线,并且将该平行线延长与路段组的两个路段边界相交,得到对应与连接线的横切线h5。可以理解的是,第三预设距离使得横切线能够穿过路段组,第三预设距离的取值可以是3m~6m等。
131.经过上述过程得到目标交点以及不同路段组的横切线,下面描述基于目标交点和横切线生成连接曲线的过程。
132.在一种可能的实现方式中,基于目标交点生成连接曲线,具体可以是:确定各条横切线与所在路段组的路段边界之间的第五交点,然后以相邻的两条路段边界上的第五交点以及对应的目标交点作为控制点,生成贝塞尔曲线。
133.其中,连接曲线可以是贝塞尔曲线或圆弧线。当连接曲线为贝塞尔曲线,而贝塞尔曲线由起点、终点以及控制点生成,并且各条横切线与所在路段组的路段边界之间相交,因此将横切线与路段边界的交点即为第五交点,将相邻的两条路段边界上的两个第五交点分别作为起点和重点,将对应的目标交点作为控制点,生成相邻的两条路段边界对应的贝塞尔曲线。另外,也可以根据目标交点和两个第五交点拟合一个圆弧线,即目标交点、两个第五交点位于同一个圆上,将两个第五交点之间的圆弧线作为连接曲线。其中,根据目标交点和两个第五交点确定圆弧线的圆心和半径,从而生成圆弧线的过程为:首先将第五交点分别于目标交点两两连接,得到两个线段,接着生成这两个线段的中垂线,获取两条中垂线的交点,将中垂线的交点作为圆弧线的圆心,然后计算圆心到任意一个给定点的距离得到圆弧线的半径,接着通过计算圆心和两个第五交点的夹角确定圆弧线的起始角度和结束角
度,最后根据求得的圆心、半径以及起始角度和结束角度,构造出圆弧线的方程或参数方程,进而绘制圆弧线,将绘制得到的圆弧线作为连接曲线。本实施例对连接曲线的类型不做限定。
134.参照图24,图24为本技术实施例中连接曲线示意图。图24中示出了4个路段组,分别是:路段组1、路段组2、路段组3和路段组4,每个路段组对应一个横切线,同时均存在两个路段边界,因此得到8个第五交点。由于相邻的路段边界共有4组,因此对应得到4组第五交点(图24中空心黑色圆点),同时存在4组目标交点(图24中实心黑色圆点)。对于每一组相邻的路段边界,根据对应的两个第五交点和目标交点得到连接曲线。依次生成连接曲线,可以得到4条连接曲线。
135.参照图25,图25为本技术实施例中连接曲线的生成原理示意图。图25中第五交点p0和第五交点p2分别表示贝塞尔曲线的起点和终点,目标交点p1作为控制点进行贝塞尔曲线拟合过程。首先根据第五交点p0和目标交点p1生成第一贝塞尔曲线,然后根据第五交点p2和目标交点p1生成第二贝塞尔曲线。其中,第一贝塞尔曲线和第二贝塞尔曲线都是一次贝塞尔曲线,一次贝塞尔曲线也称为线性贝塞尔曲线,其没有控制点,是起点和终点生成的直线段,曲线上的点位于起点和终点之间,主要用于构建更高阶的贝塞尔曲线。例如第一贝塞尔曲线就是由第五交点p0和目标交点p1生成的直线段,第二贝塞尔曲线就是由第五交点p2和目标交点p1生成的直线段。接着从第一贝塞尔曲线上选取第一控制点a,第一贝塞尔曲线表示为:a=lerp(p0,p1,t)=(1-t)*p0+t*p1,其中,lerp()函数为插值函数,t表示时间。同样地从第二贝塞尔曲线上选取第二控制点b,第二贝塞尔曲线表示为:b=lerp(p1,p2,t)=(1-t)*p1+t*p2,可见随着时间t的变化,第一控制点a和第二控制点b的位置会改变,此时将第一控制点a和第二控制点b作为起点和终点,进行一次贝塞尔曲线的拟合,即可得到连接曲线,连接曲线上的点p在时间t变化时,会沿着连接曲线向着第五交点p0、目标交点p1和第五交点p2进行运动,即点p的运动轨迹构成了连接曲线,连接曲线表示为:p=lerp(a,b,t)=(1-t)*a+t*b=(1-t)
²
*p0+2t*(1-t)*p1+t
²
*p2由此即可得到连接两个相邻路段组的横切线的连接曲线。
136.在一种可能的实现方式中,如果某个目标路口中包括多个路段组,则包含多个路段边界,利用横切线与路段边界相交得到的第五交点则更多,本实施例利用下述方式更准确地选取相邻的两条路段边界上的第五交点。即在生成贝塞尔曲线之前,选取第五交点的过程具体可以是:生成包含所有的第五交点的目标区域,确定目标区域的第一中心点,然后分别确定各个第五交点相对于第一中心点的航向角,接着根据航向角的大小对多个第五交点进行排序,将排名相邻且位于不同路段组的第五交点,确定为相邻的两条路段边界上的第五交点。通过根据航向角的大小对多个第五交点进行排序,当需要将连接曲线和横切线连接成封闭区域时,能够准确地确定连接顺序。
137.具体地,参照图26,图26本技术实施例中为选取第五交点的过程示意图。目标路口包括6个路段组,路段组之间分布较为分散,因此获取每个路段组的两个第五交点,共有12个第五交点。然后生成包含所有的第五交点的最小的目标区域并获取目标区域的第一中心点,如图26中所示目标区域中包括所有的第五交点,且目标区域的每个顶点都是一个第五交点,可以理解的是,目标区域是由多个第五交点依次连接的折线段构成的封闭图形,且目标区域可以不包括所有的第五交点。这里目标区域的第一中心点位于目标区域中,接着将
第一中心点作为坐标原点,构建坐标轴,该坐标轴的横轴可以是地理范围的东西向,纵轴可以是地理范围的南北向。然后在该坐标轴上计算每个第五交点相对于第一中心点的航向角。本技术实施例中,航向角的计算过程是:将第五交点与第一中心点连接得到航向线,计算航向线与纵轴正向的夹角,将该夹角作为对应的第五交点的航向角,依次得到每个第五交点对应的航向角。接着按照航向角的大小对12个第五交点进行排序,得到一个顺时针的编号点序,编号可以是图26中的{1,2,
…
,12}。在该点序中,将排名相邻且位于不同路段组的第五交点,确定为相邻的两条路段边界上的第五交点。例如图26中编号2和编号3的第五交点为相邻的两条路段边界上的第五交点,编号4和编号5的第五交点为相邻的两条路段边界上的第五交点等,可以理解的是,这里仅对相邻的两条路段边界上的第五交点进行示意,并不代表本实施例只有这两组相邻的两条路段边界上的第五交点。
138.在一种可能的实现方式中,确定目标区域的第一中心点,具体可以是:在目标区域中任意确定一个初始点,确定初始点与各个第五交点所形成的三角形区域的第二中心点以及第一区域面积,接着根据多个第一区域面积之和得到目标区域的第二区域面积,确定各个第一区域面积在第二区域面积中的面积占比,最后获取各个第二中心点的第一坐标,根据面积占比对多个第一坐标进行加权,得到第二坐标,根据第二坐标确定目标区域的第一中心点。
139.参照图27,图27为本技术实施例中确定目标区域的第一中心点的示意图。图27中包括目标区域的顶点包括6个第五交点,分别是:a’、b’、c’、d’、e’和f’。首先随机选取一个初始点p’,确定初始点p’与各个第五交点所形成的三角形区域,这里的三角形区域由目标区域每个边分别和初始点p’构成,由于6个第五交点构成的目标区域包括六条边,因此对应的三角形区域有6个,并对这6个三角形区域进行编号,利用不同的编号表示不同的三角形区域。例如将第i个三角形区域表示为三角形区域si,其中,i的取值为{1,2,
…
,6}。
140.然后确定每个三角形区域si的第二中心点。其中,第二中心点为抽象出来的三角形区域的中心点,每个三角形区域都包括一个抽象的第二中心点,第二中心点表示为:其中,、和分别表示三角形区域si的三个顶点的坐标。可以理解的是,不同的三角形区域,其对应的顶点不同,例如三角形区域s1为三角形区域a’b’p’,其三个顶点为a’、b’和p’,则计算三角形区域s1的第二中心点表示为:接着计算每个三角形区域的第一区域面积,再根据多个第一区域面积之和得到目标区域的第二区域面积。假设三角形区域si的第一区域面积表示为:,因此第二区域面积表示为:。
141.然后计算每个三角形区域的第一区域面积在第二区域面积中的面积占比,面积占比表示为:
例如图27中三角形区域s1对应的第一区域面积表示为:,第二区域面积表示为:,因此三角形区域s1的面积占比表示为:依次计算每个三角形区域的面积占比。接着获取各个第二中心点的第一坐标,根据面积占比对多个第一坐标进行加权,得到第二坐标,根据第二坐标确定所述目标区域的第一中心点。其中,第一坐标为第二中心点的坐标值,第二坐标为第一中心点的坐标值。其中,第二坐标表示为:例如图27中的第一中心点的第二坐标中x的计算过程为:同样地,第一中心点的第二坐标中y的计算过程为:经过上述计算过程得到第二坐标,进而确定目标区域的第一中心点,然后根据第一中心点对目标区域内的第五交点按照航向角进行排序,选取相邻的两条路段边界上的第五交点,结合相邻的两条路段边界的目标交点生成连接曲线。这样做通过选取正确的相邻的两条路段边界上的第五交点来提升连接曲线的生成准确率,最终提升路口面数据的准确率。
142.本技术实施例中得到路面口数据后,将路面口数据发送至高精度地图的导航引擎,可以精准的定位路口位置,有效提升高精度地图的制作效率,同时在高精度地图中增强导航界面的可视化效果。精准的路口面数据能够为自动驾驶或辅助驾驶在路口处决策时提供数据支持,防止车辆在进入目标路口时行驶超出目标路口的范围,进而降低路口处交通事故发生的概率,提升自动驾驶或辅助驾驶的安全性。
143.下面详细说明本技术实施例提供的路口面数据生成方法的原理。
144.参照图28,图28为本技术实施例提供的路口面数据生成方法的一种可选的总体流程示意图。
145.步骤2810:对目标道路图像进行数据提取得到包括各个路段组的路段边界、车道线以及目标路口在内的道路数据。
146.其中,道路数据可以通过点云识别技术进行提取。本技术实施例的目标路口对应多个路段组,生成路段组的过程是:获取路网数据,从中得到道路片段的道路拓扑信息,根据道路拓扑信息将路网数据中首尾相连的道路片段进行组合,得到多个目标路段,每个目标路段可以理解为一个车道,因此目标路口会连接多个目标路段,为了计算方便,根据连接目标路口的目标路段之间的行驶方向关系以及平行关系,将多个目标路段进行组合,得到连接目标路口的多个路段组。
147.步骤2820:在连接目标路口的各个路段组中提取路段边界,基于朝向目标路口的方向对路段边界进行边界点采样。
148.其中,采样可以是均匀采样,即间隔相同的距离进行采样得到目标边界点。
149.步骤2830:当采样的目标边界点缺失时,在路段边界中获取历史采样的参考边界点,根据参考边界点补全目标边界点,直到相邻的两条路段边界被延长至相交,得到目标交点。
150.假如当前的目标道路图像提取的路段边界存在采样点缺失或不完整时,可以利用目标道路相关历史数据来填补这些缺失,对路段边界进行补全。例如将路段边界分为延续部分和缺失部分,延续部分能够进行边界点采样得到多个目标采样点,因此将延续部分的目标采样点作为历史采样的参考边界点。
151.其中,进行路段边界补全的具体过程是:步骤2831:在路段组中识别出车道线,在路段组的范围内,根据参考边界点与车道宽度补全目标边界点,直到路段边界被延长至进入目标路口。
152.本技术实施例中,根据参考边界点与车道宽度补全目标边界点的过程是:在车道线中确定与参考边界点的采样切面相交的第一车道线点,以及与目标边界点的采样切面相交的第二车道线点,接着根据第二车道线点与目标边界点之间的距离确定车道宽度,以第一车道线点作为参照,根据车道宽度补全目标边界点,直至路段边界被延长至进入目标路口。
153.本技术实施例中,为了提升路段边界补全过程中目标边界点选取的准确性,选取多个参考边界点,并且参考边界点位于目标边界点的预设距离范围,基于预设距离范围选取与目标边界点相距较近的多个参考边界点,来提升计算准确性。具体过程是:确定多个参考边界点的车道宽度的平均值,得到平均宽度,接着以第二车道线点作为参照,根据平均宽度补全目标边界点。
154.步骤2832:在目标路口的范围内,根据参考边界点与路段边界的边界曲率补全目标边界点,直到相邻的两条路段边界被延长至相交,得到目标交点。
155.进一步地,考虑到当路段边界靠近目标路口时,无需设置车道线,采样切面并不能与车道线相交,因此还需要利用参考边界点与路段边界的边界曲率补全目标边界点。具体的过程是:将位于目标边界点之前的连续两个参考边界点作为参考点对,确定参考点对之间的路段边界的边界曲率,接着以与目标边界点相邻的参考边界点作为参照,根据边界曲率补全目标边界点。其中,参考点对中包括两个连续的参考边界点,这两个参考边界点为历史采样的最后两个目标边界点。本技术实施例中确定参考点对之间的路段边界的边界曲率的过程是:确定位于目标边界点之前的连续多个参考点对的边界曲率的平均值,得到平均曲率,接着以与目标边界点相邻的参考边界点作为参照,根据平均曲率补全目标边界点。基于车道线计算的车道宽度进行路段边界补全以及基于边界曲率进行路段边界补全之后,使得相邻的路段边界被延长至目标路口内相交得到目标交点。进一步地,为了提升路段边界补全过程中基于边界曲率目标边界点选取的准确性,基于预设距离范围选取与目标边界点相距较近的多个参考边界点构成参考点对,来提升计算准确性。以与目标边界点相邻的参考边界点作为参照,根据边界曲率补全目标边界点的具体过程是:确定位于目标边界点之前的连续多个参考点对的边界曲率的平均值,得到平均曲率,接着以与目标边界点相邻的参考边界点作为参照,根据平均曲率补全目标边界点。
156.步骤2840:在各个路段组中生成用于指示进入目标路口的横切线,基于目标交点生成连接曲线。
157.其中,在各个路段组中生成用于指示进入目标路口的横切线的过程是:获取目标路口的道路图像,在道路图像中提取各个路段组的路口交通标志,接着在各个路段组中,根据路口交通标志的位置生成用于指示进入目标路口的横切线。由于路口交通标志包括:斑马线、红绿灯、停止线等。因此针对不同的道路交通标志生成横切线。
158.当路口交通标志为停止线,且停止线为阶梯型停止线,则生成横切线的过程包括:步骤2841:将第一路段子组中第一车道的普通停止线,朝向路段组的第一路段边界进行延长,得到与第一路段边界之间的第一交点,其中,第一车道为与第一路段边界相邻的车道。
159.步骤2842:第一路段子组中第二车道的普通停止线,朝向路段组的第二路段边界进行延长,分别得到与方向分界线之间的第二交点、与第二路段边界之间的第三交点,其中,第二车道为与方向分界线相邻的车道。
160.步骤2843:依次连接第一交点、第二交点和第三交点,生成用于指示进入目标路口的横切线。
161.另外,为了提升阶梯型停止线对应地横切线的生成准确率,还可以将第一车道的普通停止线朝向第二路段边界进行延长,将第二车道的普通停止线朝向第一路段边界进行延长,将第三车道的普通停止线分别朝向第一路段边界和第二路段边界进行延长,分别得到与第一路段子组中的车道线的第四交点;依次连接第一交点、第四交点、第二交点和第三交点,生成用于指示进入目标路口的横切线;其中,第三车道为第一路段子组中除了第一车道和第二车道以外的其他车道。
162.当路口交通标志为停止线,且停止线为直线型停止线,生成横切线的过程包括:
步骤2844:在背离目标路口的方向,以预设距离生成直线型停止线的平行线,将该平行线作为横切线。
163.当路口交通标志为斑马线,生成横切线的过程包括:步骤2845:基于背向目标路口的方向,在距离斑马线第一距离阈值的位置,生成用于指示进入目标路口的横切线。
164.经过上述步骤得到目标交点以及不同路段组的横切线后,基于目标交点和横切线生成连接曲线,连接曲线用于连接相邻路段组的横切线,生成连接曲线的具体过程为:步骤2846:确定各条横切线与所在路段组的路段边界之间的第五交点,然后以相邻的两条路段边界上的第五交点以及对应的目标交点作为控制点,生成贝塞尔曲线。
165.本技术实施例中,为了提升第五交点的选择准确率,生成包含所有的第五交点的目标区域,确定目标区域的第一中心点,然后分别确定各个第五交点相对于第一中心点的航向角,接着根据航向角的大小对多个第五交点进行排序,将排名相邻且位于不同路段组的第五交点,确定为相邻的两条路段边界上的第五交点。其中,确定目标区域的第一中心点的过程是:在目标区域中任意确定一个初始点,确定初始点与各个第五交点所形成的三角形区域的第二中心点以及第一区域面积,接着根据多个第一区域面积之和得到目标区域的第二区域面积,确定各个第一区域面积在第二区域面积中的面积占比,最后获取各个第二中心点的第一坐标,根据面积占比对多个第一坐标进行加权,得到第二坐标,根据第二坐标确定目标区域的第一中心点。
166.步骤2850:根据横切线和连接曲线得到目标路口的路口面数据。
167.本技术实施例中,路口面数据可以是横切线和连接曲线构成的闭合边缘数据,也可以是横切线和连接曲线构成的闭合区域数据。例如将每个路段组的横切线以及相邻的两条路段边界对应的连接曲线进行连接并构成一个封闭的边缘,该封闭的边缘内为封闭的区域。将封闭的边缘可以作为闭合边缘数据,或者封闭的区域作为闭合区域数据,两者择一作为路口面数据。
168.可以理解的是,在本技术的路口面数据生成方法中,通过在连接目标路口的各个路段组中提取路段边界,基于朝向目标路口的方向对路段边界进行边界点采样,每当采样的目标边界点缺失时,在路段边界中获取历史采样的参考边界点,根据参考边界点补全目标边界点,实现对道路边界的延长效果,能够准确地对不完整的路段边界进行还原,从而提升后续生成的路口面数据的准确性,在此基础上,当相邻的两条路段边界延长至相交时能够得到目标交点,再在各个路段组中生成用于指示进入目标路口的横切线,基于目标交点生成用于连接相邻两个路段组中的横切线的连接曲线,从而能够根据横切线和连接曲线自然且平滑地得到目标路口的路口面数据,进一步提升路口面数据的准确性。
169.在一种可能的实现方式中,利用城市路网数据对本技术实施例的路口面数据生成方法进行验证。
170.该验证方案的数据来源式随机选取的一个城市采集区域的目标道路图像,该目标道路图像的来源包括:服务器获取终端上传的目标道路图像、服务器获取本地存储的目标道路图像、其中一台服务器获取另一台服务器传输的目标道路图像或车载终端上传的。其中车载终端上传的目标道路图像是利用车辆的图像采集设备采集或者由智能车路协同系统获得后传输至车载终端,该图像采集设备可以是摄像头或者激光雷达、毫米波雷达等雷
达设备。接着对目标道路图像的原始点云数据进行预处理,通过点云识别技术提取得到目标路口的各个路段组的路段边界和车道线等道路数据。共计得到2000组道路数据。
171.在验证时,首先利用人工标注的方式,通过数据分析平台对存在的路口面数据,进行标注,将标注的结果作为真值集合。然后利用程序执行本技术实施例的路口面数据生成方法,得到每组道路数据的预测路口面数据,接着将程序执行后的预测路口面数据与真值集合中的标注结果进行对比,根据对比结果分析算法召回率以及算法准确率。
172.其中,人工标注得到的真值个数为2000个,程序执行后的预测路口面数据为2000个,因此算法召回率达到100%,满足上线标准。同时将程序执行后的预测路口面数据与真值集合中的标注结果进行对比,比对结果中评测判定正确的数据个数为1994,评测判定错误的数据个数为6,评测判定错误的数据中斑马线形态识别错误的数量为4个,错误占比0.2%,路口面形态整体出现偏移的数量为2个,错误占比0.1%,算法准确率达到99.70%,满足上线标准。对于路口面形态整体出现偏移的情况,原因主要是轨迹漂移带来的定位不准,可以通过提高图片点和路网的吸附准确率来解决。
173.示例性地,本技术实施例提供的路口面数据生成方法可以应用于车辆导航、辅助驾驶、地图绘制及更新等场景。
174.可以理解的是,虽然上述各个流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本实施例中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时间执行完成,而是可以在不同的时间执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
175.参照图29,图29为本技术实施例提供的路口面数据生成装置的一种可选的结构示意图,该路口面数据生成装置2900包括:边界点采样模块2901:用于在连接目标路口的各个路段组中提取路段边界,基于朝向目标路口的方向对路段边界进行边界点采样;目标交点获取模块2902:用于每当采样的目标边界点缺失时,在路段边界中获取历史采样的参考边界点,根据参考边界点补全目标边界点,直到相邻的两条路段边界被延长至相交,得到目标交点;连接曲线生成模块2903:用于在各个路段组中生成用于指示进入目标路口的横切线,基于目标交点生成连接曲线,其中,连接曲线用于连接相邻两个路段组中的横切线;路口面生成模块2904:用于根据横切线和连接曲线得到目标路口的路口面数据。
176.进一步,上述目标交点获取模块2902具体用于:在所述路段组中识别出车道线,在所述路段组的范围内,根据所述参考边界点与车道宽度补全所述目标边界点,直到所述路段边界被延长至进入所述目标路口;在所述目标路口的范围内,根据所述参考边界点与所述路段边界的边界曲率补全所述目标边界点,直到相邻的两条所述路段边界被延长至相交,得到目标交点。
177.进一步,上述目标交点获取模块2902具体用于:在所述车道线中,确定与所述参考边界点的采样切面相交的第一车道线点,以及
与所述目标边界点的采样切面相交的第二车道线点;根据所述第一车道线点与所述参考边界点之间的距离确定车道宽度,以所述第二车道线点作为参照,根据所述车道宽度补全所述目标边界点。
178.进一步,上述目标交点获取模块2902具体用于:确定多个所述参考边界点的所述车道宽度的平均值,得到平均宽度;以所述第二车道线点作为参照,根据所述平均宽度补全所述目标边界点。
179.进一步,上述目标交点获取模块2902具体用于:将位于所述目标边界点之前的连续两个所述参考边界点作为参考点对,确定所述参考点对之间的所述路段边界的边界曲率;以与所述目标边界点相邻的所述参考边界点作为参照,根据所述边界曲率补全所述目标边界点。
180.进一步,所述参考点对的数量为多个,所述参考点对位于所述目标边界点的预设距离范围内,上述目标交点获取模块2902具体用于:确定位于所述目标边界点之前的连续多个所述参考点对的所述边界曲率的平均值,得到平均曲率;以与所述目标边界点相邻的所述参考边界点作为参照,根据所述平均曲率补全所述目标边界点进一步,上述连接曲线生成模块2903具体用于:获取所述目标路口的道路图像,在所述道路图像中提取各个所述路段组的路口交通标志;在各个所述路段组中,根据所述路口交通标志的位置生成用于指示进入所述目标路口的横切线。
181.进一步,所述路段组包括利用方向分界线区分行驶方向的第一路段子组和第二路段子组,所述路口交通标志为普通停止线,所述普通停止线的数量为多条,各条所述普通停止线分别阶梯式地分布于所述第一路段子组的各条车道中,上述连接曲线生成模块2903具体用于:将所述第一路段子组中第一车道的所述普通停止线,朝向所述路段组的第一路段边界进行延长,得到与所述第一路段边界之间的第一交点,其中,所述第一车道为与所述第一路段边界相邻的车道;将所述第一路段子组中第二车道的普通停止线,朝向所述路段组的第二路段边界进行延长,分别得到与所述方向分界线之间的第二交点、与所述第二路段边界之间的第三交点,其中,所述第二车道为与所述方向分界线相邻的车道;依次连接所述第一交点、所述第二交点和所述第三交点,生成用于指示进入所述目标路口的横切线。
182.进一步,上述连接曲线生成模块2903具体用于:将所述第一车道的所述普通停止线朝向所述第二路段边界进行延长,将所述第二车道的所述普通停止线朝向所述第一路段边界进行延长,将第三车道的所述普通停止线分别朝向所述第一路段边界和所述第二路段边界进行延长,分别得到与所述第一路段子组中的车道线的第四交点;
依次连接所述第一交点、所述第四交点、所述第二交点和所述第三交点,生成用于指示进入所述目标路口的横切线;其中,所述第三车道为所述第一路段子组中除了所述第一车道和所述第二车道以外的其他车道。
183.进一步,所述路口交通标志为斑马线,上述连接曲线生成模块2903具体用于:基于背向所述目标路口的方向,在距离所述斑马线第一距离阈值的位置,生成用于指示进入所述目标路口的横切线。
184.进一步,所述连接曲线为贝塞尔曲线,上述连接曲线生成模块2903具体用于:确定各条所述横切线与所在路段组的所述路段边界之间的第五交点;以相邻的两条所述路段边界上的所述第五交点以及对应的所述目标交点作为控制点,生成所述贝塞尔曲线。
185.进一步,路口面数据生成装置2900还包括:第五交点选取模块:用于生成包含所有的所述第五交点的目标区域,确定所述目标区域的第一中心点;分别确定各个所述第五交点相对于所述第一中心点的航向角;根据所述航向角的大小对多个所述第五交点进行排序,将排名相邻且位于不同所述路段组的所述第五交点,确定为相邻的两条所述路段边界上的所述第五交点。
186.进一步,上述第五交点选取模块具体用于:在所述目标区域中任意确定一个初始点,确定所述初始点与各个所述第五交点所形成的三角形区域的第二中心点以及第一区域面积;根据多个所述第一区域面积之和得到所述目标区域的第二区域面积,确定各个所述第一区域面积在所述第二区域面积中的面积占比;获取各个所述第二中心点的第一坐标,根据所述面积占比对多个所述第一坐标进行加权,得到第二坐标,根据所述第二坐标确定所述目标区域的第一中心点。
187.进一步,路口面数据生成装置2900还包括:路段组生成模块:用于获取路网数据,将所述路网数据中首尾相连的道路片段进行组合,得到多个目标路段;根据连接所述目标路口的所述目标路段之间的行驶方向关系以及平行关系,将多个所述目标路段进行组合,得到连接所述目标路口的多个路段组。
188.上述路口面数据生成装置2900与路口面数据生成方法基于相同的发明构思,上述过程描述了本技术实施例的路口面数据生成方法,通过在连接目标路口的各个路段组中提取路段边界,基于朝向目标路口的方向对路段边界进行边界点采样,每当采样的目标边界点缺失时,在路段边界中获取历史采样的参考边界点,根据参考边界点补全目标边界点,实现对道路边界的延长效果,能够准确地对不完整的路段边界进行还原,从而提升后续生成的路口面数据的准确性,在此基础上,当相邻的两条路段边界延长至相交时能够得到目标交点,再在各个路段组中生成用于指示进入目标路口的横切线,基于目标交点生成用于连接相邻两个路段组中的横切线的连接曲线,从而能够根据横切线和连接曲线自然且平滑地得到目标路口的路口面数据,进一步提升路口面数据的准确性。
189.本技术实施例提供的用于执行上述路口面数据生成方法的电子设备可以是终端,参照图30,图30为本技术实施例提供的终端的部分结构框图,该终端包括:摄像头组件3010、第一存储器3020、输入单元3030、显示单元3040、传感器3050、音频电路3060、无线保
真(wireless fidelity,简称wifi)模块3070、第一处理器3080、以及第一电源3090等部件。本领域技术人员可以理解,图30中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
190.摄像头组件3010可用于采集图像或视频。可选地,摄像头组件3010包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及vr(virtual reality,虚拟现实)拍摄功能或者其它融合拍摄功能。
191.第一存储器3020可用于存储软件程序以及模块,第一处理器3080通过运行存储在第一存储器3020的软件程序以及模块,从而执行终端的各种功能应用以及数据处理。
192.输入单元3030可用于接收输入的数字或字符信息,以及产生与终端的设置以及功能控制有关的键信号输入。具体地,输入单元3030可包括触摸面板3031以及其他输入装置3032。
193.显示单元3040可用于显示输入的信息或提供的信息以及终端的各种菜单。显示单元3040可包括显示面板3041。
194.音频电路3060、扬声器3061,传声器3062可提供音频接口。
195.第一电源3090可以是交流电、直流电、一次性电池或可充电电池。
196.传感器3050的数量可以为一个或者多个,该一个或多个传感器3050包括但不限于:加速度传感器、陀螺仪传感器、压力传感器、光学传感器等等。其中:加速度传感器可以检测以终端建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器可以用于检测重力加速度在三个坐标轴上的分量。第一处理器3080可以根据加速度传感器采集的重力加速度信号,控制显示单元3040以横向视图或纵向视图进行用户界面的显示。加速度传感器还可以用于游戏或者用户的运动数据的采集。
197.陀螺仪传感器可以检测终端的机体方向及转动角度,陀螺仪传感器可以与加速度传感器协同采集用户对终端的3d动作。第一处理器3080根据陀螺仪传感器采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变ui)、拍摄时的图像稳定、游戏控制以及惯性导航。
198.压力传感器可以设置在终端的侧边框和/或显示单元3040的下层。当压力传感器设置在终端的侧边框时,可以检测用户对终端的握持信号,由第一处理器3080根据压力传感器采集的握持信号进行左右手识别或快捷操作。当压力传感器设置在显示单元3040的下层时,由第一处理器3080根据用户对显示单元3040的压力操作,实现对ui界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
199.光学传感器用于采集环境光强度。在一个实施例中,第一处理器3080可以根据光学传感器采集的环境光强度,控制显示单元3040的显示亮度。具体地,当环境光强度较高时,调高显示单元3040的显示亮度;当环境光强度较低时,调低显示单元3040的显示亮度。在另一个实施例中,第一处理器3080还可以根据光学传感器采集的环境光强度,动态调整摄像头组件3010的拍摄参数。
200.在本实施例中,该终端所包括的第一处理器3080可以执行前面实施例的路口面数据生成方法。
201.本技术实施例提供的用于执行上述路口面数据生成方法的电子设备也可以是服务器,参照图31,图31为本技术实施例提供的服务器的部分结构框图,服务器3100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上第二处理器3122(例如,一个或一个以上处理器)和第二存储器3132,一个或一个以上存储应用程序3142或数据3144的存储介质3130(例如一个或一个以上海量存储装置)。其中,第二存储器3132和存储介质3130可以是短暂存储或持久存储。存储在存储介质3130的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器3100中的一系列指令操作。更进一步地,第二处理器3122可以设置为与存储介质3130通信,在服务器3100上执行存储介质3130中的一系列指令操作。
202.服务器3100还可以包括一个或一个以上第二电源3126,一个或一个以上有线或无线网络接口3150,一个或一个以上输入输出接口3158,和/或,一个或一个以上操作系统3141,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等等。
203.服务器3100中的处理器可以用于执行路口面数据生成方法。
204.本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质用于存储程序代码,程序代码用于执行前述各个实施例的路口面数据生成方法。
205.本技术实施例还提供了一种计算机程序产品,该计算机程序产品包括计算机程序,该计算机程序存储在计算机可读存介质中。计算机设备的处理器从计算机可读存储介质读取该计算机程序,处理器执行该计算机程序,使得该计算机设备执行实现上述的路口面数据生成方法。
206.本技术的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便描述本技术的实施例,例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或装置不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或装置固有的其它步骤或单元。
207.应当理解,在本技术中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
208.应了解,在本技术实施例的描述中,多个(或多项)的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。
209.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,
仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
210.作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
211.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
212.集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)执行本技术各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等各种可以存储程序代码的介质。
213.还应了解,本技术实施例提供的各种实施方式可以任意进行组合,以实现不同的技术效果。以上是对本技术的较佳实施进行了具体说明,但本技术并不局限于上述实施方式,熟悉本领域的技术人员在不违背本技术精神的共享条件下还可作出种种等同的变形或替换,这些等同的变形或替换均包括在本技术权利要求所限定的范围内。
技术特征:
1.一种路口面数据生成方法,其特征在于,包括:在连接目标路口的各个路段组中提取路段边界,基于朝向所述目标路口的方向对所述路段边界进行边界点采样;每当采样的目标边界点缺失时,在所述路段边界中获取历史采样的参考边界点,根据所述参考边界点补全所述目标边界点,直到相邻的两条所述路段边界被延长至相交,得到目标交点;在各个所述路段组中生成用于指示进入所述目标路口的横切线,基于所述目标交点生成连接曲线,其中,所述连接曲线用于连接相邻两个所述路段组中的所述横切线;根据所述横切线和所述连接曲线得到所述目标路口的路口面数据。2.根据权利要求1所述的路口面数据生成方法,其特征在于,所述根据所述参考边界点补全所述目标边界点,直到相邻的两条所述路段边界被延长至相交,得到目标交点,包括:在所述路段组中识别出车道线,在所述路段组的范围内,根据所述参考边界点与车道宽度补全所述目标边界点,直到所述路段边界被延长至进入所述目标路口;在所述目标路口的范围内,根据所述参考边界点与所述路段边界的边界曲率补全所述目标边界点,直到相邻的两条所述路段边界被延长至相交,得到目标交点。3.根据权利要求2所述的路口面数据生成方法,其特征在于,所述根据所述参考边界点与车道宽度补全所述目标边界点,包括:在所述车道线中,确定与所述参考边界点的采样切面相交的第一车道线点,以及与所述目标边界点的采样切面相交的第二车道线点;根据所述第一车道线点与所述参考边界点之间的距离确定车道宽度,以所述第二车道线点作为参照,根据所述车道宽度补全所述目标边界点。4.根据权利要求3所述的路口面数据生成方法,其特征在于,所述参考边界点的数量为多个,所述参考边界点位于所述目标边界点的预设距离范围内,所述以所述第二车道线点作为参照,根据所述车道宽度补全所述目标边界点,包括:确定多个所述参考边界点的所述车道宽度的平均值,得到平均宽度;以所述第二车道线点作为参照,根据所述平均宽度补全所述目标边界点。5.根据权利要求2所述的路口面数据生成方法,其特征在于,所述根据所述参考边界点与所述路段边界的边界曲率补全所述目标边界点,包括:将位于所述目标边界点之前的连续两个所述参考边界点作为参考点对,确定所述参考点对之间的所述路段边界的边界曲率;以与所述目标边界点相邻的所述参考边界点作为参照,根据所述边界曲率补全所述目标边界点。6.根据权利要求5所述的路口面数据生成方法,其特征在于,所述参考点对的数量为多个,所述参考点对位于所述目标边界点的预设距离范围内,所述以与所述目标边界点相邻的所述参考边界点作为参照,根据所述边界曲率补全所述目标边界点,包括:确定位于所述目标边界点之前的连续多个所述参考点对的所述边界曲率的平均值,得到平均曲率;以与所述目标边界点相邻的所述参考边界点作为参照,根据所述平均曲率补全所述目标边界点。
7.根据权利要求1所述的路口面数据生成方法,其特征在于,所述在各个所述路段组中生成用于指示进入所述目标路口的横切线,包括:获取所述目标路口的道路图像,在所述道路图像中提取各个所述路段组的路口交通标志;在各个所述路段组中,根据所述路口交通标志的位置生成用于指示进入所述目标路口的横切线。8.根据权利要求7所述的路口面数据生成方法,其特征在于,所述路段组包括利用方向分界线区分行驶方向的第一路段子组和第二路段子组,所述路口交通标志为普通停止线,所述普通停止线的数量为多条,各条所述普通停止线分别阶梯式地分布于所述第一路段子组的各条车道中,所述根据所述路口交通标志的位置生成用于指示进入所述目标路口的横切线,包括:将所述第一路段子组中第一车道的所述普通停止线,朝向所述路段组的第一路段边界进行延长,得到与所述第一路段边界之间的第一交点,其中,所述第一车道为与所述第一路段边界相邻的车道;将所述第一路段子组中第二车道的普通停止线,朝向所述路段组的第二路段边界进行延长,分别得到与所述方向分界线之间的第二交点、与所述第二路段边界之间的第三交点,其中,所述第二车道为与所述方向分界线相邻的车道;依次连接所述第一交点、所述第二交点和所述第三交点,生成用于指示进入所述目标路口的横切线。9.根据权利要求8所述的路口面数据生成方法,其特征在于,所述依次连接所述第一交点、第二交点和所述第三交点,生成用于指示进入所述目标路口的横切线,包括:将所述第一车道的所述普通停止线朝向所述第二路段边界进行延长,将所述第二车道的所述普通停止线朝向所述第一路段边界进行延长,将第三车道的所述普通停止线分别朝向所述第一路段边界和所述第二路段边界进行延长,分别得到与所述第一路段子组中的车道线的第四交点;依次连接所述第一交点、所述第四交点、所述第二交点和所述第三交点,生成用于指示进入所述目标路口的横切线;其中,所述第三车道为所述第一路段子组中除了所述第一车道和所述第二车道以外的其他车道。10.根据权利要求7所述的路口面数据生成方法,其特征在于,所述路口交通标志为斑马线,所述根据所述路口交通标志的位置生成用于指示进入所述目标路口的横切线,包括:基于背向所述目标路口的方向,在距离所述斑马线第一距离阈值的位置,生成用于指示进入所述目标路口的横切线。11.根据权利要求1所述的路口面数据生成方法,其特征在于,所述连接曲线为贝塞尔曲线,所述基于所述目标交点生成连接曲线,包括:确定各条所述横切线与所在路段组的所述路段边界之间的第五交点;以相邻的两条所述路段边界上的所述第五交点以及对应的所述目标交点作为控制点,生成所述贝塞尔曲线。12.根据权利要求11所述的路口面数据生成方法,其特征在于,所述以相邻的两条所述
路段边界上的所述第五交点以及所述目标交点作为控制点,生成所述贝塞尔曲线之前,所述路口面数据生成方法还包括:生成包含所有的所述第五交点的目标区域,确定所述目标区域的第一中心点;分别确定各个所述第五交点相对于所述第一中心点的航向角;根据所述航向角的大小对多个所述第五交点进行排序,将排名相邻且位于不同所述路段组的所述第五交点,确定为相邻的两条所述路段边界上的所述第五交点。13.根据权利要求12所述的路口面数据生成方法,其特征在于,所述确定所述目标区域的第一中心点,包括:在所述目标区域中任意确定一个初始点,确定所述初始点与各个所述第五交点所形成的三角形区域的第二中心点以及第一区域面积;根据多个所述第一区域面积之和得到所述目标区域的第二区域面积,确定各个所述第一区域面积在所述第二区域面积中的面积占比;获取各个所述第二中心点的第一坐标,根据所述面积占比对多个所述第一坐标进行加权,得到第二坐标,根据所述第二坐标确定所述目标区域的第一中心点。14.根据权利要求1所述的路口面数据生成方法,其特征在于,所述在连接目标路口的各个路段组中提取路段边界之前,所述路口面数据生成方法还包括:获取路网数据,将所述路网数据中首尾相连的道路片段进行组合,得到多个目标路段;根据连接所述目标路口的所述目标路段之间的行驶方向关系以及平行关系,将多个所述目标路段进行组合,得到连接所述目标路口的多个路段组。15.一种路口面数据生成装置,其特征在于,包括:边界点采样模块:用于在连接目标路口的各个路段组中提取路段边界,基于朝向所述目标路口的方向对所述路段边界进行边界点采样;目标交点获取模块:用于每当采样的目标边界点缺失时,在所述路段边界中获取历史采样的参考边界点,根据所述参考边界点补全所述目标边界点,直到相邻的两条所述路段边界被延长至相交,得到目标交点;连接曲线生成模块:用于在各个所述路段组中生成用于指示进入所述目标路口的横切线,基于所述目标交点生成连接曲线,其中,所述连接曲线用于连接相邻两个所述路段组中的所述横切线;路口面生成模块:用于根据所述横切线和所述连接曲线得到所述目标路口的路口面数据。16.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至14任意一项所述的路口面数据生成方法。17.一种计算机可读存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至14任意一项所述的路口面数据生成方法。
技术总结
本申请实施例公开了一种路口面数据生成方法、装置、电子设备及存储介质,通过基于朝向目标路口的方向对路段边界进行边界点采样,每当采样的目标边界点缺失时,在路段边界中获取历史采样的参考边界点,根据参考边界点补全目标边界点,对不完整的路段边界进行还原,提升路口面数据的准确性。当相邻的两条路段边界延长至相交时得到目标交点,在各个路段组中生成用于指示进入目标路口的横切线,基于目标交点生成用于连接相邻两个路段组中的横切线的连接曲线,从而根据横切线和连接曲线自然且平滑地得到目标路口的路口面数据,进一步提升路口面数据的准确性,可广泛应用于云技术、智慧交通、辅助驾驶、地图、导航等场景。导航等场景。导航等场景。
技术研发人员:杨文慧 张俊雅 张伟超 杨永光 贾一洋
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:2023.08.15
技术公布日:2023/9/14
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/