虚拟交叉路口生成方法、装置、电子设备及存储介质与流程

文档序号:29857717发布日期:2022-04-30 09:51阅读:69来源:国知局
虚拟交叉路口生成方法、装置、电子设备及存储介质与流程

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.基于预设的虚拟交叉路口的宽度,在相邻所述投射后的连接所述交点与所述中心点的连线中靠近所述中心点的线段的夹角的中线上生成所述部分外轮廓线条的中间点。
26.在一些示例性实施例中,所述根据相邻所述投射后的连接所述交点与所述中心点的连线中远离所述中心点的线段生成所述部分外轮廓线条的端点,具体包括:
27.基于预设的道路的宽度,在所述投射后的连接所述交点与所述中心点的连线中远离所述中心点的线段的垂直方向,生成所述部分外轮廓线条的端点。
28.在一些示例性实施例中,所述连接所述部分外轮廓线条形成封闭的面,作为所述虚拟交叉路口,具体包括:
29.对于所述部分外轮廓线条,基于预设的弧度进行曲线细分,得到曲线细分后的部分外轮廓线条。
30.在一些示例性实施例中,在所述连接所述部分外轮廓线条形成封闭的面,作为所述虚拟交叉路口之后,还包括:
31.连接所述细分后的连接所述交点与所述中心点的连线中的线段的端点和所述曲线细分后的部分外轮廓线条中的线段的端点,形成拓扑结构。
32.在一些示例性实施例中,在所述连接所述细分后的连接所述交点与所述中心点的连线中的线段的端点和所述曲线细分后的部分外轮廓线条中的线段的端点,形成拓扑结构之后,还包括:
33.对于所述拓扑结构的内部的端点,将该端点移动到该端点相邻的两个端点之间的中心位置。
34.在一些示例性实施例中,所述获取若干表示道路的道路线条,具体包括:
35.所述道路线条为包括若干线段的折线。
36.基于同一发明构思,本公开示例性实施例还提供了一种虚拟交叉路口生成装置,包括:
37.道路线条获取模块,被配置为获取若干表示道路的道路线条;
38.道路线条聚类模块,被配置为对所述道路线条的端点进行聚类,得到端点集合,将属于同一所述端点集合的端点融合为一个端点作为所述虚拟交叉路口的中心点,并将属于同一所述端点集合的端点所在的所述道路线条延伸到所述中心点,得到延伸后的道路线条;
39.交叉路口生成模块,被配置为在连接于同一所述中心点的相邻所述延伸后的道路线条之间生成所述虚拟交叉路口的部分外轮廓线条,并连接所述部分外轮廓线条形成封闭的面,作为所述虚拟交叉路口。
40.基于同一发明构思,本公开示例性实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一项所述的方法。
41.基于同一发明构思,本公开示例性实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行如上任一所述方法。
42.从上面所述可以看出,本公开实施例提供的虚拟交叉路口生成方法、装置、电子设备及存储介质,包括:获取若干表示道路的道路线条;对道路线条的端点进行聚类,得到端点集合,将属于同一端点集合的端点融合为一个端点作为虚拟交叉路口的中心点,并将属于同一端点集合的端点所在的道路线条延伸到所述中心点,得到延伸后的道路线条;在连接于同一中心点的相邻延伸后的道路线条之间生成虚拟交叉路口的部分外轮廓线条,并连接部分外轮廓线条形成封闭的面,作为虚拟交叉路口。本公开通过确定不同道路之间的交叉口,能够在三维空间中自动生成虚拟交叉路口,无需人工建模,降低了人力成本,提高了效率。
附图说明
43.为了更清楚地说明本公开或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
44.图1为根据本公开实施例提供的应用场景的示意图;
45.图2为本公开实施例提供的虚拟交叉路口生成方法的流程示意图;
46.图3为根据本公开实施例提供的道路线条的第一种示意图;
47.图4为根据本公开实施例提供的道路线条的第二种示意图;
48.图5为根据本公开实施例提供的端点集合的示意图;
49.图6为根据本公开实施例提供的虚拟交叉路口的中心点的示意图;
50.图7为根据本公开实施例提供的参考用圆柱体的示意图;
51.图8为根据本公开实施例提供的道路线条与参照用圆柱体表面的交点的示意图;
52.图9为根据本公开实施例提供的连接交点与中心点的连线的示意图;
53.图10为根据本公开实施例提供的细分后的连接交点与中心点的连线的示意图;
54.图11为根据本公开实施例提供的投射后的连接交点与中心点的连线的示意图;
55.图12为根据本公开实施例提供的相邻连接交点与中心点的连线的示意图;
56.图13为根据本公开实施例提供的部分外轮廓线条的示意图;
57.图14为根据本公开实施例提供的细分后的部分外轮廓线条的示意图;
58.图15为根据本公开实施例提供的部分拓扑结构的示意图;
59.图16为根据本公开实施例提供的拓扑结构的示意图;
60.图17为根据本公开实施例提供的拓扑结构的内部的端点的示意图;
61.图18为根据本公开实施例提供的平滑后的拓扑结构的示意图;
62.图19为根据本公开实施例提供的虚拟交叉路口的示意图;
63.图20为根据本公开实施例提供的带交叉路口的虚拟道路网的第一种示意图;
64.图21为根据本公开实施例提供的带交叉路口的虚拟道路网的第二种示意图;
65.图22为本公开实施例提供的虚拟交叉路口生成装置的结构示意图;
66.图23为本公开实施例提供的电子设备的示意图。
具体实施方式
67.为使本公开的目的、技术方案和优点更加清楚明白,下面将参考若干示例性实施方式来描述本技术的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本技术的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
68.根据本公开的实施方式,提出了一种虚拟交叉路口生成方法、装置、电子设备及存储介质。
69.在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
70.需要说明的是,除非另外定义,本公开实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
71.下面参考本技术的若干代表性实施方式,详细阐释本技术的原理和精神。
72.相关技术中,构建虚拟交叉路口的成本较高。
73.本公开的发明人发现,造成上述相关技术中构建虚拟交叉路口的成本较高的原因是:在存在多条道路的场景中,当多条道路交叠在一起时,就会形成交叉路口,在三维空间中构建带交叉路口的模型,是道路建模中的难点,相关技术在构建交叉路口的模型时,通常是由美术工程师利用三维建模软件手动建模制作,即在三维软件中细致地调点调线,而道路是场景中常见的元素,当面临交叉路口较多的情况下,人力成本较高。
74.为了解决上述问题,本技术提供了一种虚拟交叉路口生成方案,具体包括:获取若干表示道路的道路线条;对道路线条的端点进行聚类,得到端点集合,将属于同一端点集合的端点融合为一个端点作为虚拟交叉路口的中心点,并将属于同一端点集合的端点所在的道路线条延伸到所述中心点,得到延伸后的道路线条;在连接于同一中心点的相邻延伸后的道路线条之间生成虚拟交叉路口的部分外轮廓线条,并连接部分外轮廓线条形成封闭的面,作为虚拟交叉路口。本公开通过确定不同道路之间的交叉口,能够在三维空间中自动生成虚拟交叉路口,无需人工建模,降低了人力成本。
75.在介绍了本技术的基本原理之后,下面具体介绍本技术的各种非限制性实施方式。
76.参考图1,其为本公开实施例提供的虚拟交叉路口生成方法的应用场景示意图。该应用场景包括终端设备101、服务器102和数据存储系统103。其中,终端设备101、服务器102以及数据存储系统103之间均可通过有线或无线的通信网络连接。终端设备101包括但不限于桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备、个人数字助理(personal digital assistant,pda)或其它能够实现上述功能的电子设备等。服务器102和数据存储系统103均可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。
77.服务器102用于向终端设备101的用户提供虚拟交叉路口生成服务,终端设备101中安装有与服务器102通信的客户端,用户可通过该客户端输入若干条道路线条,点击确定按钮后,客户端将道路线条发送给服务器102,服务器102根据该道路线条生成虚拟交叉路口,并将该虚拟交叉路口发送给客户端,客户端向用户展示该虚拟交叉路口,用户可以将该虚拟交叉路口应用在项目开发中。
78.数据存储系统103用于存储数据。
79.下面结合图1的应用场景,来描述根据本公开示例性实施方式的虚拟交叉路口生成方案。需要注意的是,上述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制。相反,本公开的实施方式可以应用于适用的任何场景。
80.参考图2,其为本公开实施例提供的虚拟交叉路口生成方法的流程示意图。
81.虚拟交叉路口生成方法,包括以下步骤:
82.步骤s210、获取若干表示道路的道路线条。
83.参考图3,其为根据本公开实施例提供的道路线条的第一种示意图。通过弯曲、连续的线条,表示三维空间中高低起伏的道路,其中,一条弯曲、连续的线条,表示一条道路。以图3为例,其中有5条弯曲、连续的线条,分别表示道路1、道路2、道路3、道路4和道路5。
84.在一些示例性实施例中,道路线条的来源包括但不限于已有的数据库、从互联网爬取的数据或者在用户使用客户端时上传的数据。其中,在用户使用客户端时上传的数据可以是用户通过客户端在三维空间中绘制的道路线条。
85.参考图4,其为根据本公开实施例提供的道路线条的第二种示意图。
86.在一些示例性实施例中,道路线条为包括若干线段的折线。
87.如图4所示,包含若干线段的折线,具有曲折、连续的特征,可以用于表示三维空间中高低起伏的道路。其中,一条折线中包含的线段的数量越多,则其曲折的特征越丰富。
88.步骤s220、对道路线条的端点进行聚类,得到端点集合,将属于同一端点集合的端点融合为一个端点作为虚拟交叉路口的中心点,并将属于同一端点集合的端点所在的道路线条延伸到所述中心点,得到延伸后的道路线条。
89.参考图5,其为根据本公开实施例提供的端点集合的示意图。
90.同一端点集合中的端点分别属于的道路线条可以用于形成一个交叉路口。
91.在一些示例性实施例中,对道路线条的端点进行聚类,得到端点集合,具体包括:
92.对于道路线条的任一端点,将与该端点的距离小于距离阈值的其他端点和该端点加入同一端点集合。
93.在一些示例性实施例中,对于道路线条的任一端点,将与该端点的距离小于距离阈值的其他端点和该端点加入同一端点集合,具体包括:
94.将道路线条的任一端点作为初始端点,计算初始端点与其他道路线条的端点之间的距离,将与初始端点之间的距离小于距离阈值的端点与该初始端点加入备用端点集合中;
95.分别计算备用端点集合中除初始端点外的其他备用端点与其他道路线条的端点之间的距离,将与其他备用端点之间的距离小于距离阈值的端点加入备用端点集合中;重复执行上述操作,直到不存在与备用端点集合中的备用端点之间的距离小于距离阈值的端点,将备用端点集合作为端点集合。
96.参考图6,其为根据本公开实施例提供的虚拟交叉路口的中心点的示意图。
97.将同一端点集合中的端点融合为一个端点作为虚拟交叉路口的中心点,可以建立同一端点集合中的端点分别属于的道路线条之间的联系。
98.在一些示例性实施例中,将属于同一端点集合的端点所在的道路线条延伸到中心点,得到延伸后的道路线条,具体包括:
99.在中心点处生成参照用圆柱体,确定道路线条与参照用圆柱体表面的交点,连接交点与中心点,得到延伸后的道路线条。
100.参考图7,其为根据本公开实施例提供的参考用圆柱体的示意图。
101.在中心点处生成参照用圆柱体,参照用圆柱体即圈定了交叉路口的范围。
102.参考图8,其为根据本公开实施例提供的道路线条与参照用圆柱体表面的交点的示意图。
103.道路线条与参照用圆柱体表面的交点即为道路和交叉路口的连接点。
104.参考图9,其为根据本公开实施例提供的连接交点与中心点的连线的示意图。
105.将道路线条与参照用圆柱体表面的交点与中心点连接,将连接交点与中心点的连线作为道路线条在圆柱体范围内的组成部分。
106.在一些示例性实施例中,在连接交点与中心点之后,还包括:
107.将连接交点与中心点的连线细分为包括若干线段的折线,作为细分后的连接交点与中心点的连线;
108.将细分后的连接交点与中心点的连线投射到道路线条上,得到投射后的连接交点与中心点的连线。
109.参考图10,其为根据本公开实施例提供的细分后的连接交点与中心点的连线的示意图。
110.参考图11,其为根据本公开实施例提供的投射后的连接交点与中心点的连线的示意图。
111.在这种情况下,延伸后的道路线条与延伸前的道路线条更加匹配贴合。
112.步骤s230、在连接于同一中心点的相邻延伸后的道路线条之间生成交叉路口的部分外轮廓线条,并连接部分外轮廓线条形成封闭的面,作为虚拟交叉路口。
113.在一些示例性实施例中,在连接于同一中心点的相邻延伸后的道路线条之间生成交叉路口的部分外轮廓线条,具体包括:
114.根据相邻连接交点与中心点的连线生成交叉路口的部分外轮廓线条。
115.参考图12,其为根据本公开实施例提供的相邻连接交点与中心点的连线的示意图。
116.在一些示例性实施例中,根据相邻连接交点与中心点的连线生成交叉路口的部分外轮廓线条,具体包括:
117.根据相邻投射后的连接交点与中心点的连线中靠近中心点的线段生成部分外轮廓线条的中间点,根据相邻投射后的连接交点与中心点的连线中远离中心点的线段生成部分外轮廓线条的端点,连接部分外轮廓线条的中间点和部分外轮廓线条的端点,得到部分外轮廓线条。
118.参考图13,其为根据本公开实施例提供的部分外轮廓线条的示意图。
119.在一些示例性实施例中,根据相邻投射后的连接交点与中心点的连线中靠近中心点的线段生成部分外轮廓线条的中间点,具体包括:
120.基于预设的虚拟交叉路口的宽度,在相邻投射后的连接交点与中心点的连线中靠近中心点的线段的夹角的中线上生成部分外轮廓线条的中间点。
121.在一些示例性实施例中,根据相邻投射后的连接交点与中心点的连线中远离中心点的线段生成部分外轮廓线条的端点,具体包括:
122.基于预设的道路的宽度,在投射后的连接交点与中心点的连线中远离中心点的线段的垂直方向,生成部分外轮廓线条的端点。
123.参考图14,其为根据本公开实施例提供的细分后的部分外轮廓线条的示意图。
124.在一些示例性实施例中,连接部分外轮廓线条,形成虚拟交叉路口,具体包括:
125.对于部分外轮廓线条,基于预设的弧度进行曲线细分,得到曲线细分后的部分外轮廓线条。
126.对部分外轮廓线条进行曲线细分,使部分外轮廓线条的效果更加自然。
127.参考图15,其为根据本公开实施例提供的部分拓扑结构的示意图。
128.在一些示例性实施例中,在连接部分外轮廓线条,形成虚拟交叉路口之后,还包
括:
129.连接细分后的连接交点与中心点的连线中的线段的端点和曲线细分后的部分外轮廓线条中的线段的端点,形成拓扑结构。
130.参考图16,其为根据本公开实施例提供的拓扑结构的示意图。
131.完成所有线条的封面,端点交叉路口的拓扑结构。
132.在一些示例性实施例中,在连接细分后的连接交点与中心点的连线中的线段的端点和曲线细分后的部分外轮廓线条中的线段的端点,形成拓扑结构之后,还包括:
133.对于拓扑结构的内部的端点,将该端点移动到该端点相邻的两个端点之间的中心位置。
134.参考图17,其为根据本公开实施例提供的拓扑结构的内部的端点的示意图。
135.参考图18,其为根据本公开实施例提供的平滑后的拓扑结构的示意图。
136.对于拓扑结构的内部的端点,将该端点移动到该端点相邻的两个端点之间的中心位置,该操作实质上是对拓扑结构的内部的端点进行平滑操作,并通过迭代,使拓扑结构更加工整。
137.参考图19,其为根据本公开实施例提供的虚拟交叉路口的示意图。
138.根据获取的若干道路线条,构建若干端点集合,对于每一个端点集合进行上述虚拟交叉路口生成操作,得到若干虚拟交叉路口。
139.参考图20,其为根据本公开实施例提供的带交叉路口的虚拟道路网的第一种示意图。
140.将虚拟交叉路口与虚拟道路结合,可以给予道路线条以与交叉路口的尺寸相匹配的宽度,得到带交叉路口的虚拟道路网。
141.参考图21,其为根据本公开实施例提供的带交叉路口的虚拟道路网的第二种示意图。
142.隐藏拓扑结构线条,可以看到,交叉路口的过度较为自然,且具有高低起伏的视觉效果。
143.从上面所述可以看出,本公开实施例提供的虚拟交叉路口生成方法,包括:获取若干表示道路的道路线条;对道路线条的端点进行聚类,得到端点集合,将属于同一端点集合的端点融合为一个端点作为虚拟交叉路口的中心点,并将属于同一端点集合的端点所在的道路线条延伸到所述中心点,得到延伸后的道路线条;在连接于同一中心点的相邻延伸后的道路线条之间生成虚拟交叉路口的部分外轮廓线条,并连接部分外轮廓线条形成封闭的面,作为虚拟交叉路口。本公开通过确定不同道路之间的交叉口,能够在三维空间中自动生成虚拟交叉路口,无需人工建模,降低了人力成本,提高了效率。
144.本公开能自动生成具有高低差,交叉处具有起伏的虚拟交叉路口及道路网,且具有真实感与可信度。进一步的,本公开能生成虚拟交叉路口及道路网的拓扑结构,便于虚拟交叉路口及道路网的后续应用。
145.需要说明的是,本公开实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本公开实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
146.需要说明的是,上述对本公开的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
147.基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种虚拟交叉路口生成装置。
148.参考图22,所述虚拟交叉路口生成装置,包括:
149.道路线条获取模块2210,被配置为获取若干表示道路的道路线条。
150.道路线条聚类模块2220,被配置为对道路线条的端点进行聚类,得到端点集合,将属于同一端点集合的端点融合为一个端点作为虚拟交叉路口的中心点,并将属于同一端点集合的端点所在的道路线条延伸到所述中心点,得到延伸后的道路线条。
151.交叉路口生成模块2230,被配置为在连接于同一中心点的相邻延伸后的道路线条之间生成虚拟交叉路口的部分外轮廓线条,并连接部分外轮廓线条形成封闭的面,作为虚拟交叉路口。
152.在一些示例性实施例中,道路线条聚类模块2220,具体被配置为:
153.对于道路线条的任一端点,将与该端点的距离小于距离阈值的其他端点和该端点加入同一端点集合。
154.在一些示例性实施例中,道路线条聚类模块2220,具体被配置为:
155.在中心点处生成参照用圆柱体,确定道路线条与参照用圆柱体表面的交点,连接交点与中心点,得到延伸后的道路线条。
156.在一些示例性实施例中,道路线条聚类模块2220,具体被配置为:
157.将道路线条的任一端点作为初始端点,计算初始端点与其他道路线条的端点之间的距离,将与初始端点之间的距离小于距离阈值的端点与该初始端点加入备用端点集合中;
158.分别计算备用端点集合中除初始端点外的其他备用端点与其他道路线条的端点之间的距离,将与其他备用端点之间的距离小于距离阈值的端点加入备用端点集合中;重复执行上述操作,直到不存在与备用端点集合中的备用端点之间的距离小于距离阈值的端点,将备用端点集合作为端点集合。
159.在一些示例性实施例中,道路线条聚类模块2220,具体被配置为:
160.将连接交点与中心点的连线细分为包括若干线段的折线,作为细分后的连接交点与中心点的连线;
161.将细分后的连接交点与中心点的连线投射到道路线条上,得到投射后的连接交点与中心点的连线。
162.在一些示例性实施例中,交叉路口生成模块2230,具体被配置为:
163.根据相邻连接交点与中心点的连线生成交叉路口的部分外轮廓线条。
164.在一些示例性实施例中,交叉路口生成模块2230,具体被配置为:
165.根据相邻投射后的连接交点与中心点的连线中靠近中心点的线段生成部分外轮廓线条的中间点,根据相邻投射后的连接交点与中心点的连线中远离中心点的线段生成部
分外轮廓线条的端点,连接部分外轮廓线条的中间点和部分外轮廓线条的端点,得到部分外轮廓线条。
166.在一些示例性实施例中,交叉路口生成模块2230,具体被配置为:
167.基于预设的虚拟交叉路口的宽度,在相邻投射后的连接交点与中心点的连线中靠近中心点的线段的夹角的中线上生成部分外轮廓线条的中间点。
168.在一些示例性实施例中,交叉路口生成模块2230,具体被配置为:
169.基于预设的道路的宽度,在投射后的连接交点与中心点的连线中远离中心点的线段的垂直方向,生成部分外轮廓线条的端点。
170.在一些示例性实施例中,交叉路口生成模块2230,具体被配置为:
171.对于部分外轮廓线条,基于预设的弧度进行曲线细分,得到曲线细分后的部分外轮廓线条。
172.在一些示例性实施例中,交叉路口生成模块2230,具体被配置为:
173.连接细分后的连接交点与中心点的连线中的线段的端点和曲线细分后的部分外轮廓线条中的线段的端点,形成拓扑结构。
174.在一些示例性实施例中,交叉路口生成模块2230,具体被配置为:
175.对于拓扑结构的内部的端点,将该端点移动到该端点相邻的两个端点之间的中心位置。
176.为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本公开时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
177.上述实施例的装置用于实现前述任一实施例中相应的虚拟交叉路口生成方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
178.基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的虚拟交叉路口生成方法。
179.图23示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器2310、存储器2320、输入/输出接口2330、通信接口2340和总线2350。其中处理器2310、存储器2320、输入/输出接口2330和通信接口2340通过总线2350实现彼此之间在设备内部的通信连接。
180.处理器2310可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
181.存储器2320可以采用rom(read only memory,只读存储器)、ram(random access memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器2320可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器2320中,并由处理器2310来调用执行。
182.输入/输出接口2330用于连接输入/输出模块,以实现信息输入及输出。输入/输出模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、
扬声器、振动器、指示灯等。
183.通信接口2340用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
184.总线2350包括一通路,在设备的各个组件(例如处理器2310、存储器2320、输入/输出接口2330和通信接口2340)之间传输信息。
185.需要说明的是,尽管上述设备仅示出了处理器2310、存储器2320、输入/输出接口2330、通信接口2340以及总线2350,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
186.上述实施例的电子设备用于实现前述任一实施例中相应的虚拟交叉路口生成方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
187.基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的虚拟交叉路口生成方法。
188.上述非暂态计算机可读存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(mo)等)、光学存储器(例如cd、dvd、bd、hvd等)、以及半导体存储器(例如rom、eprom、eeprom、非易失性存储器(nand flash)、固态硬盘(ssd))等。
189.上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上示例性方法部分中任一实施例所述的虚拟交叉路口生成方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
190.本领域技术技术人员知道,本发明的实施方式可以实现为一种系统、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
191.可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举示例)例如可以包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
192.计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于
由指令执行系统、装置或者器件使用或者与其结合使用的程序。
193.计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
194.可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络(包括局域网(lan)或广域网(wan))连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
195.应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
196.也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置的产品。
197.也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
198.此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
199.申请文件中提及的动词“包括”、“包含”及其词形变化的使用不排除除了申请文件中记载的那些元素或步骤之外的元素或步骤的存在。元素前的冠词“一”或“一个”不排除多个这种元素的存在。
200.虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1