CN116821270B - 地图生成方法、装置、设备及存储介质 - Google Patents
地图生成方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116821270B CN116821270B CN202311072907.4A CN202311072907A CN116821270B CN 116821270 B CN116821270 B CN 116821270B CN 202311072907 A CN202311072907 A CN 202311072907A CN 116821270 B CN116821270 B CN 116821270B
- Authority
- CN
- China
- Prior art keywords
- acquisition
- positions
- data set
- acquisition position
- map
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 67
- 230000008859 change Effects 0.000 claims abstract description 33
- 230000007613 environmental effect Effects 0.000 claims description 49
- 238000012545 processing Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 19
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000011218 segmentation Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Instructional Devices (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种地图生成方法、装置、设备及存储介质,可以涉及地图技术,该方法包括:获取第一数据集;其中,第一数据集包括:在生成目标区域的第一地图时,在N个采集位置上采集的N组环境数据、N个采集位置对应的N个采集位置信息和N个采集位置对应的N个采集时间;获取第二数据集;其中,第二数据集包括:针对目标区域中的局部变化区域,在M个采集位置上采集的M组环境数据、M个采集位置对应的M个采集位置信息和M个采集位置对应的M个采集时间;基于第一数据集和第二数据集生成第二地图。从而可以提高地图生成效率。
Description
技术领域
本申请实施例涉及地图领域,尤其涉及一种地图生成方法、装置、设备及存储介质。
背景技术
目前在自动驾驶领域或者导航技术领域中经常涉及到地图生成过程。通常地图生成过程包括:采集车辆通过搭载在其上的传感器采集某个区域的环境数据,如点云数据或者图像数据等,用户终端获取该环境数据,并基于该环境数据生成该区域的地图。
从时间角度来讲,通常某个区域的环境会有一定的变化,例如,某个位置处新增了一处建筑物等。基于此,在相关技术中,当区域的环境发生变化时,采集车辆需要对该区域重新采集环境数据,基于重新采集到的环境数据再次生成该区域的地图。然而,该方式导致地图生成效率较低的问题。
发明内容
本申请实施例提供一种地图生成方法、装置、设备及存储介质,从而可以提高地图生成效率。
第一方面,本申请实施例提供一种地图生成方法,该方法包括:获取第一数据集;其中,第一数据集包括:在生成目标区域的第一地图时,在N个采集位置上采集的N组环境数据、N个采集位置对应的N个采集位置信息和N个采集位置对应的N个采集时间;N为大于1的整数;获取第二数据集;其中,第二数据集包括:针对目标区域中的局部变化区域,在M个采集位置上采集的M组环境数据、M个采集位置对应的M个采集位置信息和M个采集位置对应的M个采集时间;M为大于1的整数;基于第一数据集和第二数据集生成第二地图。
第二方面,本申请实施例提供一种地图生成装置,包括:收发模块和处理模块;收发模块用于获取第一数据集;其中,第一数据集包括:在生成目标区域的第一地图时,在N个采集位置上采集的N组环境数据、N个采集位置对应的N个采集位置信息和N个采集位置对应的N个采集时间;N为大于1的整数;收发模块还用于获取第二数据集;其中,第二数据集包括:针对目标区域中的局部变化区域,在M个采集位置上采集的M组环境数据、M个采集位置对应的M个采集位置信息和M个采集位置对应的M个采集时间;M为大于1的整数;处理模块用于基于第一数据集和第二数据集生成第二地图。
第三方面,本申请实施例提供一种电子设备,包括:处理器和存储器,该存储器用于存储计算机程序,该处理器用于调用并运行该存储器中存储的计算机程序,执行如第一方面或其各实现方式中的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,用于存储计算机程序,计算机程序使得计算机执行如第一方面或其各实现方式中的方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序指令,该计算机程序指令使得计算机执行如第一方面或其各实现方式中的方法。
第六方面,本申请实施例提供一种计算机程序,计算机程序使得计算机如执行如第一方面或其各实现方式中的方法。
通过本申请实施例提供的技术方案,由于用户终端无需对整个目标区域进行环境数据的重新采集,而是仅针对局部变化区域进行环境数据的重新采集,并基于第一地图对应的第一数据集以及局部变化区域对应的第二数据集生成第二地图,从而可以提高地图生成效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为地图区域划分示意图;
图2为本申请一实施例提供的应用场景示意图;
图3为本申请实施例提供的一种地图生成方法的流程图;
图4为本申请实施例提供的一种第一数据集的文件存储示意图;
图5为本申请实施例提供的一种位置信息链表的示意图;
图6为本申请实施例提供的一种k维树的示意图;
图7为本申请实施例提供的一种轨迹示意图;
图8为本申请实施例提供的另一种轨迹示意图;
图9为本申请实施例提供的再一种轨迹示意图;
图10为本申请实施例提供的一种地图生成装置1000的示意图;
图11是本申请实施例提供的电子设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在介绍本申请技术方案之前,下面将对本申请技术方案的相关知识进行阐述:
一、自动驾驶就是车辆在无驾驶员操作的情况下自行实现驾驶,它是车辆的能力。
自动驾驶等级包括:
L0级自动驾驶:无人驾驶。油门、刹车、方向盘全程皆由驾驶者掌控,它是最普通的驾驶方式,包括定速巡航,只能设定固定的速度,车辆不会自动调整速度,如加速/减速或驾驶员的操作需要。
L1级自动驾驶:驾驶操控为主,***适时辅助。主要还是由驾驶者操控车辆,但在特定的时候***会介入,如电子稳定***(Electronic Stability Program,简称ESP)或防抱死刹车***(ABS, Anti-lock Brake System),主要用于提高行车安全性。
L2级自动驾驶:部分自动化,驾驶者仍需专心于路况。L2级自动驾驶可说是目前各大车厂的主流,如果L1级自动驾驶仪是辅助油门和刹车的话,L2级是添加到方向盘,车辆的速度和转向可以在一定的条件下控制。
L3级自动驾驶:有条件自动控制,该***可自动控制车辆在大多数路况下,驾驶注意力不需专注于路况。
L4级自动驾驶:高度自动化,还是具有方向盘等界面提供驾驶适时操控。
L5级自动驾驶:全自动化,人类完全成为乘客。
二、通用横墨卡托网格***(Universal Transverse Mercator Grid System,UTM)坐标系
1、投影带分布
(1)经度分区:编号1-60,其中58个区的东西跨度为6度。其中,图1为地图区域划分示意图,如图1所示,地球的地图可以在经度上可以划分为60个地图区域,换句话讲,地球的地图包括60个经度带(即经度区)。
(2)纬度分区:编号C-X(不含I,O,共20个区),每个区的南北跨度为8度。
(3)A,B,Y,Z覆盖南极和北极区。
(4)N为第一个北纬带,N之后的字母均为北纬带,N之前的字母均为南纬带。
(5)起始分布带为180度,自西向东算起。
经度带的计算公式:经度带=floor(经度/6)+31,其中,floor函数表示向下取整。
2、UTM坐标表示格式
UTM坐标的一般形式,例如为:11U 358657mE 5885532mN
其中,11表示位于经度11区;
U表示位于纬度U区;
358657mE表示东向位置为358657米(meter,m);
5885532mN表示北向位置为5885532m。
三、点云(Point Cloud):点云是空间中一组无规则分布的、表达三维物体或场景的空间结构及表面属性的离散点集。点云是指海量三维点的几何,点云中的每个点至少具有三维位置信息,根据应用场景的不同,还可能具有色彩(颜色)、材质或其他信息例如反射率等附加属性。通常,点云中的每个点都具有相同数量的附加属性。例如,根据激光测量原理得到的点云,包括三维坐标(XYZ)和激光反射强度(reflectance);根据摄影测量原理得到的点云,包括三维坐标(XYZ)和颜色信息(RGB,红绿蓝);结合激光测量和摄影测量原理得到点云,包括三维坐标(XYZ)、激光反射强度(reflectance)和颜色信息(RGB)。
四、k维树(k-dimensional tree,kd-tree),是一种空间划分的数据结构。常被用于高维空间中的搜索,比如范围搜索和最近邻搜索。
其中,k维树是k维的二叉树。其中的每一个节点都是k维的数据。k维树的构建就是按照某种顺序将无序化的点云进行有序化排列,方便进行快捷高效的检索。
下面将对本申请实施例所要解决的技术问题以及发明构思和应用场景进行说明:
如上所述,在相关技术中,当区域的环境发生变化时,采集车辆需要对该区域重新采集环境数据,基于重新采集到的环境数据再次生成该区域的地图。然而,该方式导致地图生成效率较低的问题。
为了解决上述技术问题,本申请实施例提出基于历史地图所关联的环境数据、采集位置、采集时间以及局部变化区域所关联的环境数据、采集位置、采集时间生成当前地图。从而无需采集车辆对整个区域重新采集环境数据,进而可以提高地图生成效率。
示例性地,图2为本申请一实施例提供的应用场景示意图,如图2所示,该场景涉及:采集车辆210、服务器220和用户终端230,其中,该采集车辆210上可以搭载用于采集环境数据的传感器,服务器220分别可以与采集车辆210和用户终端230连接。
在一些可实现方式中,上述传感器可以是激光雷达或者照相机等,但不限于此。其中,当上述传感器是激光雷达时,其所采集的环境数据可以是点云数据。当上述传感器是照相机时,其所采集的环境数据可以是图像数据。
在一些可实现方式中,采集车辆210与服务器220之间可以通过有线或无线通信方式进行直接或间接地连接。或者说,采集车辆210上的传感器与服务器220之间可以通过有线或无线通信方式进行直接或间接地连接。基于此,服务器220可以获取上述传感器所采集的环境数据,并可以存储环境数据。
在一些可实现方式中,服务器220可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
在一些可实现方式中,用户终端230与服务器220之间可以通过有线或无线通信方式进行直接或间接地连接。基于此,服务器220可以将每次生成地图所需的环境数据、环境数据的采集时间、采集位置信息等发送给用户终端230,以使用户终端230基于这些数据生成地图。
在一些可实现方式中,用户终端230包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。
应理解的是,图2所示的应用场景包括一个采集车辆、一个用户终端和一个服务器,实际上,可以包括其他数量的采集车辆、用户终端和服务器,本申请对此不做限制。此外,图2仅是本申请技术方案的一种示例性应用场景,本申请实施例的应用场景不局限于此。
下面将对本申请技术方案进行详细阐述:
图3为本申请实施例提供的一种地图生成方法的流程图,该方法可以应用于用户终端,该用户终端包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端、飞行器等。如图3所示,该方法包括:
S310:获取第一数据集;其中,第一数据集包括:在生成目标区域的第一地图时,在N个采集位置上采集的N组环境数据、N个采集位置对应的N个采集位置信息和N个采集位置对应的N个采集时间;N为大于1的整数;
在一些可实现方式中,用户终端可以从用于存储第一数据集的服务器处获取第一数据集,例如,该服务器可以是图2所示应用场景中的服务器220。
在另一些可实现方式中,用户终端可以从用于采集上述N组环境数据的采集车辆或者传感器获取第一数据集。
总之,本申请实施例对第一数据集的获取方式不做限制。
在一些可实现方式中,用户终端可以在生成第一地图时,获取第一数据集。
在一些可实现方式中,上述N组环境数据分别是采集车辆在上述N个采集位置上所采集的环境数据,其中,N个采集位置与N个采集时间对应。例如,假设N=3,采集车辆在时间2023-08-01-12:00,位置1处采集了一组环境数据,在时间2023-08-01-12:02,位置2处采集了一组环境数据,在时间2023-08-01-12:04,位置3处采集了一组环境数据。
在一些可实现方式中,N组环境数据可以是N组点云数据或者N组图像数据等,本申请实施例对此不做限制。
在一些可实现方式中,N个采集位置信息中的每个采集位置信息包括:经度、纬度和高度。
在一些可实现方式中,第一数据集可以以文件形式存储在用户终端中。其中,包括如下文件:位置文件、环境数据文件。
在一些可实现方式中,该位置文件包括:上述N个采集位置以及对应的N个采集时间。
在一些可实现方式中,该位置文件还包括:N个姿态数据,即采集车辆在采集N组环境数据时的姿态数据。其中,该姿态数据可以包括:采集车辆在世界坐标系的朝向,其可以用四元数表示。例如,0001表示采集车辆朝向北。
在一些可实现方式中,N组环境数据可以分别对应一个环境数据文件,每个环境数据文件可以包括对应的环境数据,其每个环境数据文件可以被命名为对应的环境数据的采集时间。
例如,图4为本申请实施例提供的一种第一数据集的文件存储示意图,如图4所示,第一数据集涉及的文件包括:一个位置文件和三个环境数据文件。其中,该位置文件中每一行包括:一个采集时间、一个采集位置和一个姿态数据。例如,第一行的1656660819.850244表示采集车辆的一次采集时间,(116.270076579,40.037840612,39.924057551)表示采集车辆在该采集时间下的采集位置,(-0.008425821,0.003201394,0.789740063,0.613375419)表示采集车辆在该采集时间下的姿态数据。三个环境数据文件被命名为该环境数据文件所包括的环境数据的采集时间,例如,第一个环境数据文件被命名为1656660819.850244.pcd。
应理解的是,第一数据集存储为上述文件形式,有利于数据处理和访问。例如,当用户终端生成第二地图时,用户终端可以快速地查找到其生成第一地图时,采集车辆的位置文件,以获取采集车辆的采集时间、采集位置等,进一步地,可以快速查找以这些采集时间命名的环境数据文件,从而获取环境数据。
S320:获取第二数据集;其中,第二数据集包括:针对目标区域中的局部变化区域,在M个采集位置上采集的M组环境数据、M个采集位置对应的M个采集位置信息和M个采集位置对应的M个采集时间;M为大于1的整数;
应理解的是,第一数据集是针对目标区域整体而言的,而第二数据集是针对局部变化区域而言的。
在一些可实现方式中,局部变化区域是目标区域中环境发生变化的局部区域。
在一些可实现方式中,所谓环境发生变化,指的是存在如下至少一种情况,但不限于此:
情况一,局部变化区域中新增了物体,例如,在生成第一地图时,局部变化区域中没有建筑物A,而在生成第二地图时,局部变化区域中有建筑物A。
情况二,局部变化区域中存在形状发生变化的物体,例如,在生成第一地图时,局部变化区域中包括形状为圆柱体的建筑物B,而在生成第二地图时,该建筑物B被形状为立方体的建筑物C所代替。
情况三,局部变化区域中存在消失物体,例如,在生成第一地图时,局部变化区域中包括建筑物D,而在生成第二地图时,局部变化区域中没有该建筑物D,或者说建筑物D所在位置处成为一片空地。
在一些可实现方式中,用户终端可以从用于存储第二数据集的服务器处获取第二数据集,例如,该服务器可以是图2所示应用场景中的服务器220。
在另一些可实现方式中,用户终端可以从用于采集上述M组环境数据的采集车辆或者传感器获取第二数据集。
总之,本申请实施例对第二数据集的获取方式不做限制。
在一些可实现方式中,用户终端可以在生成第二地图时,获取第二数据集。或者说,用户终端在获知局部变化区域时,其可以获取第二数据集。
在一些可实现方式中,上述M组环境数据分别是采集车辆在上述M个采集位置上所采集的环境数据,其中,M个采集位置与M个采集时间对应。例如,假设M=3,采集车辆在时间2023-08-02-12:00,位置1处采集了一组环境数据,在时间2023-08-02-12:02,位置2处采集了一组环境数据,在时间2023-08-02-12:04,位置3处采集了一组环境数据。
在一些可实现方式中,M组环境数据可以是M组点云数据或者M组图像数据等,本申请实施例对此不做限制。
在一些可实现方式中,M个采集位置信息中的每个采集位置信息包括:经度、纬度和高度。
S330:基于第一数据集和第二数据集生成第二地图。
其中,用户终端可以采用以下任一种可实现方式实现S330,但不限于此:
在一些可实现方式中,S330可以包括:
S330-1A:基于第一数据集和第二数据集选择P个采集位置;
S330-2A:基于P个采集位置对应的环境数据生成第二地图。
下面将对S330-1A进行解释说明:
应理解的是,P个采集位置是上述N个采集位置和上述M个采集位置中用于生成第二地图的采集位置;P为大于1的整数。
其中,用户终端可以采用以下任一种可实现方式实现S330-1A,但不限于此:
可实现方式一,S330-1A可以包括:
S330-1A-1a:基于N个采集位置信息和M个采集位置信息,确定以第一采集位置为中心的预设范围之内的至少一个第二采集位置;
S330-1A-2a:基于至少一个第二采集位置对应的采集时间,在至少一个第二采集位置中选择最新采集位置;
S330-1A-3a:在至少一个第二采集位置中选择至少一个第三采集位置;
其中,至少一个第三采集位置是与最新采集位置对应的位置信息均属于同一数据集的采集位置; 其中,P个采集位置包括:最新采集位置和至少一个第三采集位置。
下面将对S330-1A-1a进行解释说明:
应理解的是,第一采集位置是N个采集位置和M个采集位置中的任一个采集位置。换句话讲,针对N个采集位置和M个采集位置中的每个采集位置,用户终端都可以确定以该第一采集位置为中心的预设范围之内的至少一个第二采集位置。
应理解的是,每个第二采集位置是N个采集位置或M个采集位置中的采集位置。
在一些可实现方式中,上述预设范围可以是以第一采集位置为中心,半径为预设半径的圆形区域。
在一些可实现方式中,该预设半径的取值与用于采集环境数据的传感器的采集范围有关。例如,假设激光雷达的采集范围是100米,那么该预设半径的取值可以是50米。
在一些可实现方式中,上述至少一个第二采集位置可以包括第一采集位置,也可以不包括第一采集位置,本申请实施例对此不做限制。
在一些可实现方式中,用户终端可以基于N个采集位置信息和M个采集位置信息,生成位置信息链表;遍历位置信息链表,以确定第一采集位置。
在一些可实现方式中,针对N个采集位置和M个采集位置中的每个采集位置,用户终端可以生成该采集位置对应的结构体,其中,该结构体包括,但不限于:该采集位置对应的采集位置信息、该采集位置对应的采集时间、第一标识和第二标识;其中,第一标识用于标识该采集位置是否用于生成第二地图;第一标识的初始值是第一数值;第一数值表示该采集位置不用于生成第二地图;第二标识是该采集位置对应的采集位置信息所属数据集的标识。
在一些可实现方式中,第一数值可以是0,下文将要提到的第二数值可以是1,或者,第一数值可以是1,下文将要提到的第二数值可以是0,或者,第一数值可以是false,下文将要提到的第二数值可以是true,总之,本申请实施例对第一数值和第二数值的取值不做限制。
例如,某采集位置对应的结构体如下:
struct{
double x;
double y;
double z;
double time;
bool newest;
string dataset;
}
其中,x、y和z表示该采集位置的坐标,time表示该采集位置对应的采集时间,newest表示第一标识,dataset表示第二标识。
在一些可实现方式中,采集位置信息包括:经度、纬度和高度。那么该结构体所包括的采集位置的坐标可以是经度、纬度和高度,其中,x表示经度、y表示纬度、z表示高度。或者,用户终端可以将经度、纬度转换为UTM坐标,那么x、y和z可以被理解为世界坐标系下的坐标。
应理解的是,在本申请实施例中,可以仅在x轴和y轴构成的二维平面上的采集位置,因此,某采集位置对应的结构体可以不包括该采集位置的高度。
例如,某采集位置对应的结构体如下:
struct{
double x;
double y;
double time;
bool newest;
string dataset;
}
应理解的是,关于该结构体中各个参数的解释说明可以参考上文,本申请实施例对此不再赘述。
在一些可实现方式中,某采集位置对应的结构体还可以包括:采集车辆在该采集位置的姿态数据,但不限于此。
例如,某采集位置对应的结构体如下:
struct{
double x;
double y;
double z;
double w1;
double w2;
double w3;
double w4;
double time;
bool newest;
string dataset;
}
其中,w1、w2、w3和w4表示采集车辆在世界坐标系下的朝向。关于该结构体中其他参数的解释说明可以参考上文,本申请实施例对此不再赘述。
在一些可实现方式中,用户终端可以将上述N个采集位置和M个采集各自对应的结构体组成位置信息链表;遍历位置信息链表,每次遍历到的结构体,其对应的采集位置可以被确定为第一采集位置。
例如,图5为本申请实施例提供的一种位置信息链表的示意图,如图5所示,该位置信息链表包括:结构体1、结构体2……结构体N+M,假设用户终端遍历到了结构体2,那么该结构体2可以被确定为第一采集位置。
在本申请实施例中,用户终端可以采用以下任一种可实现方式确定至少一个第二采集位置,但不限于此:
在一些可实现方式中,用户终端可以遍历所有的采集位置,以确定以该第一采集位置为中心的预设范围之内的至少一个第二采集位置。
应理解的是,如果用户终端遍历所有的采集位置,以确定以该第一采集位置为中心的预设范围之内的至少一个第二采集位置,那么位置查找过程的时间复杂度是O(N+M),N+M表示采集位置的数量。
为了降低位置查找过程的时间复杂度,本申请实施例提出采用k维树,其中,基于k维树的位置查找方式,其时间复杂度是O(log(N+M)) ,N+M表示采集位置的数量。基于此,本申请实施例提出了如下可实现方式:
在一些可实现方式中,用户终端可以基于N个采集位置信息和M个采集位置信息,生成k维树;基于k维树,确定至少一个第二采集位置。
在一些可实现方式中,该k维树的维树k可以是2,在这种情况下,用户终端在生成k维树时,每个节点是一个二维数,如(x,y),其表示一个采集位置在x轴和y轴构成的平面上的位置信息。
在一些可实现方式中,该k维树的维树k可以是3,在这种情况下,用户终端在生成k维树时,每个节点是一个三维数,如(x,y,z),其表示采集位置在三维空间坐标中的位置信息。
应理解的是,本申请实施例对k维树的维数k不做限制,无论k维树的维数k是多少,在进行位置查找时,可以只使用x和y两个维度。
下面以k维树的维数k=2为例,对第二采集位置的确定过程进行示例性说明:
例如,假设存在 6个采集位置,分别是{(20,30),(50,40),(90,60),(40,70),(80,10),(70,20)}
k维树的构建过程如下:
1、初始化分割轴:
由于x轴的方差较大,所以,最开始的分割轴可以是x轴。
2、确定当前节点:
在{20,50,90,40,80,70}中选择中位数,其中,选择的中位数可以是50或者70,假设用户终端最终选择的7,那么确定的当前节点是(70,20)。
3、划分双支数据:
在x轴维度上,比较其他节点和70的大小,进行划分:
左支:{(20,30),(50,40),(40,70)}
右支:{(90,60),(80,10)}
4、更新分割轴:
由于总共有两个维度,因此,下一个维度是y轴。
5、确定子节点:
左节点:在左支中找到y轴的中位数(50,40),左支数据更新为{(20,30)},右支数据更新为{(40,70)}
右节点:在右支中找到y轴的中位数(90,60),左支数据更新为{(80,10)},右支数据为空。
6、继续更新分割轴:
下一个维度为x轴。
7、确定(50,40)的子节点:
左节点:由于只有一个数据,所以,左节点为(20,30)。
右节点:由于只有一个数据,所以,右节点为(40,70)。
8、确定(90,60)的子节点:
左节点:由于只有一个数据,所以,左节点为(80,10)。
右节点:右节点为空。
最终构建的k维树为图6所示。由于k维树是按照维度划分的,因此,在选择以第一采集位置为中心的预设范围之内的至少一个第二采集位置时,可以通过维度进行比较,来快速定位到这些第二采集位置。
例如,假设以第一采集位置(20,30)为中心,且半径为50米的范围之内的至少一个第二采集位置。首先,计算(20,30)与当前节点(70,20)的距离,等于50.99米,由于当前分割轴的维度20<70,因此选取左支,再计算(20,30)与当前节点(50,40)的距离,等于30.62米,因此选取(50,40),由于当前分割轴的维度30<40,因此继续选取(50,40)的左支,再计算(20,30)与当前节点(20,30)的距离,等于0米,因此,选取(20,30),由于30.62米<50米,因此,(50,40)的右支节点(40,70)可能与(20,30)的距离也小于50米,因此,计算(40,70)与(20,30)的距离,等于44.72米,因此选取(40,70)。最终(50,40)、(20,30)和(40,70)作为第二采集位置。
下面将对S330-1A-2a进行解释说明:
应理解的是,由于上述至少一个第二采集位置都对应唯一的采集时间,因此,用户终端可以在上述至少一个第二采集位置选择最新采集位置。例如,假设上述至少一个第二采集位置的数量是3,其中,3个第二采集位置各自的采集时间是2023-08-02-12:00、2023-08-02-12:02和2023-08-02-12:04。基于此,用户终端可以将2023-08-02-12:04对应的第二采集位置作为最新采集位置。
如上所述,针对N个采集位置和M个采集位置中的每个采集位置,用户终端可以生成该采集位置对应的结构体,其中,该结构体包括,但不限于:该采集位置对应的采集位置信息、该采集位置对应的采集时间、第一标识和第二标识;其中,第一标识用于标识该采集位置是否用于生成第二地图;第一标识的初始值是第一数值;第一数值表示该采集位置不用于生成第二地图;第二标识是该采集位置对应的采集位置信息所属数据集的标识。
基于此,上述至少一个第二采集位置分别对应一个结构体;针对至少一个第二采集位置中的任一个第二采集位置,第二采集位置对应的结构体包括:第二采集位置对应的采集位置信息、第二采集位置对应的采集时间、第一标识和第二标识;其中,第一标识用于标识第二采集位置是否用于生成第二地图;第一标识的初始值是第一数值;第一数值表示第二采集位置不用于生成第二地图;第二标识是第二采集位置对应的采集位置信息所属数据集的标识。
基于此,在一些可实现方式中,用户终端可以基于至少一个第二采集位置对应的采集时间,在至少一个第二采集位置中确定最新采集位置;将最新采集位置对应的第一标识置为第二数值;其中,第二数值表示最新采集位置用于生成第二地图;基于最新采集位置对应的第二数值,选择最新采集位置。换句话讲,当某个第二采集位置的第一标识取值为第二数值时,用户终端将该第二采集位置作为最新采集位置。
例如,假设对于第一采集位置P1,以其为中心,半径为50米的范围内包括5个第二采集位置,分别是:P21、P3、P4、P5和P6,这5个第二采集位置对应的结构体中的第一标识取值为第一数值,5个第二采集位置各自的采集时间是2022-08-02-12:00、2022-08-02-12:02和2023-08-02-12:00、2023-08-02-12:02和2023-08-02-12:04。基于此,用户终端可以将2023-08-02-12:04对应的结构体中的第二标识置为第二数值。基于此,用户终端可以将2023-08-02-12:04对应的第二采集位置视为最新采集位置。
下面将对S330-1A-3a进行解释说明:
在一些可实现方式中,用户终端可以基于至少一个第二采集位置各自对应的第二标识,在至少一个第二采集位置中选择至少一个第三采集位置。例如,假设对于第一采集位置P1,以其为中心,半径为50米的范围内包括5个第二采集位置,分别是:P21、P3、P4、P5和P6,这5个第二采集位置对应的结构体中的第一标识取值为第一数值,5个第二采集位置各自的采集时间是2022-08-02-12:00、2022-08-02-12:02和2023-08-02-12:00、2023-08-02-12:02和2023-08-02-12:04。基于此,用户终端可以将2023-08-02-12:04对应的第二采集位置视为最新采集位置,而假设该最新采集位置与2023-08-02-12:00、2023-08-02-12:02对应的采集位置同属于第二数据集,那么2023-08-02-12:00、2023-08-02-12:02对应的采集位置可以被称为第三采集位置。
下面将通过一个示例对S330-1A的可实现方式一进行示例性说明:
例如,假设由上述N个采集位置构成第一轨迹,由上述M个采集位置构成第二轨迹,图7为本申请实施例提供的一种轨迹示意图,如图7所示,对于第一轨迹中的P1点,以P1点为中心,半径为50米的范围之内包括5个第二采集位置,分别是:P21、P3、P4、P5和P6,5个采集位置各自的采集时间是2022-08-02-12:00、2022-08-02-12:02和2023-08-02-12:00、2023-08-02-12:02和2023-08-02-12:04,基于此,用户终端可以选择最新采集位置,即P6,并且可以在该预设范围内选择与最新采集位置属于同一数据集的采集位置,即选择P4、P5。类似的,对于第一轨迹中的P7点,以P7点为中心,半径为50米的范围之内包括2个第二采集位置,分别是:P8、P9,2个采集位置各自的采集时间是2022-08-02-11:00、2022-08-02-11:04,基于此,用户终端可以选择最新采集位置,即P9,并且可以在该预设范围内选择与最新采集位置属于同一数据集的采集位置,即选择P8。类似的,对于第二轨迹中的P10点,以P10点为中心,半径为50米的范围之内包括2个第二采集位置,分别是:P11、P12,2个采集位置各自的采集时间是2023-08-02-13:00、2023-08-02-13:04,基于此,用户终端可以选择最新采集位置,即P12对应的采集位置,并且可以在该预设范围内选择与最新采集位置属于同一数据集的采集位置,即选择P11。
下面将对S330-1A的可实现方式二进行阐述:
可实现方式二,S330-1A可以包括:
S330-1A-1b:基于N个采集位置信息生成第一轨迹;并基于M个采集位置信息生成第二轨迹;
在一些可实现方式中,用户终端可以采用曲线拟合方式对N个采集位置信息进行曲线拟合,生成第一轨迹。类似的,用户终端可以采用曲线拟合方式对M个采集位置信息进行曲线拟合,生成第二轨迹。
应理解的是,本申请实施例对曲线拟合方式不做限制。
S330-1A-2b:确定第一轨迹和第二轨迹中距离小于预设阈值的第一局部轨迹和第二局部轨迹;
在一些可实现方式中,用户终端可以计算第一轨迹和第二轨迹上的每两个点之间的距离,其中,距离小于预设阈值的点对中属于第一轨迹的点构成第一局部轨迹,属于第二轨迹的点构成第二局部轨迹。
在一些可实现方式中,该预设阈值的取值可以是3米、5米等,本申请实施例对此不做限制。
应理解的是,在一些场景中,可以不存在第一局部轨迹和第二局部轨迹,例如,如果局部变化区域中仅仅新增了物体,这时不存在第一局部轨迹和第二局部轨迹。
S330-1A-3b:确定第一轨迹中除第一局部轨迹以外的第三局部轨迹;并确定第二轨迹中除第二局部轨迹以外的第四局部轨迹;
换句话讲,第一轨迹中除第一局部轨迹以外,其余局部轨迹可以被称为第三局部轨迹,第二轨迹中除第二局部轨迹以外,其余局部轨迹可以被称为第四局部轨迹。
S330-1A-4b:基于N个采集时间和M个采集时间,在第一局部轨迹和第二局部轨迹中选择第二局部轨迹;
应理解的是,用户终端可以选择采集时间较新的第二局部轨迹。
S330-1A-5b:选择第二局部轨迹、第三局部轨迹和第四局部轨迹上的采集位置,作为P个采集位置。
下面将通过一个示例对S330-1A的可实现方式二进行示例性说明:
例如,假设由上述N个采集位置构成第一轨迹,由上述M个采集位置构成第二轨迹,图8为本申请实施例提供的另一种轨迹示意图,如图8所示,对于第一轨迹和第二轨迹中距离小于预设阈值的点对,点对中位于第一轨迹上的点构成第一局部轨迹,点对中位于第二轨迹上的点构成第二局部轨迹,第一轨迹中除第一局部轨迹以外的局部轨迹为第三局部轨迹,第二轨迹中除第二局部轨迹以外的局部轨迹为第四局部轨迹,第二局部轨迹、第三局部轨迹和第四局部轨迹上的采集位置构成用于生成第二地图的采集位置。
例如,假设由上述N个采集位置构成第一轨迹,由上述M个采集位置构成第二轨迹,图9为本申请实施例提供的再一种轨迹示意图,如图9所示,在这种情况下,不存在第一局部轨迹和第二局部轨迹,基于此,第一轨迹可以被看作第三局部轨迹,第二轨迹可以被看作第四局部轨迹,最后第三局部轨迹和第四局部轨迹上的采集位置构成用于生成第二地图的采集位置。
应理解的是,通常只要目标区域中存在局部变化区域,便会触发用户终端生成一次地图,由此可知,地图生成过程是长生命周期过程,在生成第二地图之后,当第二地图对应的区域中部分区域发生变化时,用户终端可以继续采用本申请实施例提供的地图生成方法,包括:获取第三数据集;其中,第三数据集包括:在P个采集位置上采集的P组环境数据、P个采集位置对应的P个采集位置信息和P个采集位置对应的P个采集时间,P为大于1的整数;获取第四数据集;其中,第五数据集包括:针对目标区域中的局部变化区域,在Q个采集位置上采集的Q组环境数据、Q个采集位置对应的Q个采集位置信息和Q个采集位置对应的Q个采集时间;Q为大于1的整数;基于第三数据集和第五数据集生成第三地图。
基于此,在一些可实现方式中,用户终端在基于第一数据集和第二数据集选择P个采集位置之后,还包括:存储第三数据集;其中,第三数据集包括:在P个采集位置上采集的P组环境数据、P个采集位置对应的P个采集位置信息和P个采集位置对应的P个采集时间。
应理解的是,第一地图和第二地图对应的目标区域可以相同,也可以不同,本申请实施例对此不做限制。类似的,在生成第二地图和第二地图时,所涉及的局部变化区域可以相同,也可以不同,本申请实施例对此不做限制。
下面将对S330-2A进行阐述:
在一些可实现方式中,在生成第二地图时,用户终端可以将第二地图对应的区域划分为固定大小的栅格,每个栅格对应唯一的索引,该索引可以是对应的栅格的左上角坐标点的坐标。基于此,当P个采集位置对应的环境数据是点云数据时,用户终端可以基于点云数据中每个点的坐标,确定其所属的栅格,对于每个栅格,只要该栅格中落入了点,则该栅格被占据,最终所有被占据的栅格组成第二地图。
在一些可实现方式中,在生成第二地图时,用户终端可以将第二地图对应的区域划分为固定大小的栅格,每个栅格对应唯一的索引,该索引可以是对应的栅格的左上角坐标点的坐标。基于此,当P个采集位置对应的环境数据是图像数据时,用户终端可以将该图像数据转换为具有三维坐标的点云数据,用户终端可以基于点云数据中每个点的坐标,确定其所属的栅格,对于每个栅格,只要该栅格中落入了点,则该栅格被占据,最终所有被占据的栅格组成第二地图。
应理解的是,本申请实施例对基于环境数据生成第二地图的方法不做限制。
下面对S330的另一种可实现方式进行阐述:
在一些可实现方式中,S330可以包括:
S330-1B:删除第一数据集中局部变化区域对应的数据,得到第四数据集;
S330-2B:基于第四数据集和第二数据集,生成第二地图。
其中,用户终端可以采用以下任一种方式确定局部变化区域对应的数据,但不限于此:
在一些可实现方式中,用户终端可以确定在生成第一地图时,局部变化区域对应的数据的采集时间区间,而第一数据集包括:在生成目标区域的第一地图时,在N个采集位置上采集的N组环境数据、N个采集位置对应的N个采集位置信息和N个采集位置对应的N个采集时间,因此,用户终端可以删除第一数据集中采集时间位于上述采集时间区间内的环境数据、以及对应的采集位置信息和采集时间。
例如,假设在生成第一地图时,局部变化区域对应的数据的采集时间区间是【2022-08-01-12:00,2022-08-01-12:10】,而第一数据集中包括采集时间为2022-08-01-12:00、2022-08-01-12:02、2022-08-01-12:04各自对应的环境数据,因此,用户终端可以删除第一数据集中的这些采集时间对应的环境数据、采集位置信息和采集时间。
在一些可实现方式中,用户终端可以获取局部变化区域的坐标,而第一数据集包括:在生成目标区域的第一地图时,在N个采集位置上采集的N组环境数据、N个采集位置对应的N个采集位置信息和N个采集位置对应的N个采集时间,因此,用户终端可以删除落入局部变化区域内的环境数据、以及对应的采集位置信息和采集时间。
例如,假设局部变化区域在x轴上的坐标范围是【0米,100米】,在y轴上的坐标范围是【0米,80米】,而第一数据集中包括坐标点为(20,30)、(20,60)的点云数据,因此,用户终端可以删除第一数据集中的这些点云数据以及这些点云数据对应的采集位置信息和采集时间。
在一些可实现方式中,用户终端可以基于第四数据集和第二数据集中的环境数据,生成第二地图。
在一些可实现方式中,在生成第二地图时,用户终端可以将第二地图对应的区域划分为固定大小的栅格,每个栅格对应唯一的索引,该索引可以是对应的栅格的左上角坐标点的坐标。基于此,当第四数据集和第二数据集中的环境数据是点云数据时,用户终端可以基于点云数据中每个点的坐标,确定其所属的栅格,对于每个栅格,只要该栅格中落入了点,则该栅格被占据,最终所有被占据的栅格组成第二地图。
在一些可实现方式中,在生成第二地图时,用户终端可以将第二地图对应的区域划分为固定大小的栅格,每个栅格对应唯一的索引,该索引可以是对应的栅格的左上角坐标点的坐标。基于此,当第四数据集和第二数据集中的环境数据是图像数据时,用户终端可以将该图像数据转换为具有三维坐标的点云数据,用户终端可以基于点云数据中每个点的坐标,确定其所属的栅格,对于每个栅格,只要该栅格中落入了点,则该栅格被占据,最终所有被占据的栅格组成第二地图。
应理解的是,本申请实施例对基于环境数据生成第二地图的方法不做限制。
在本申请实施例中,用户终端可以基于第一地图对应的第一数据集以及局部变化区域对应的第二数据集生成第二地图。由于用户终端无需对整个目标区域进行环境数据的重新采集,而是仅针对局部变化区域进行环境数据的重新采集,从而可以提高地图生成效率。
应理解的是,由于自动驾驶技术对地图生成效率要求较高,通过本申请实施例提供的地图生成方法可以为自动驾驶提供可靠的地图支持。
以上结合附图详细描述了本申请的优选实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简单变型,这些简单变型均属于本申请的保护范围。例如,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开的内容。
还应理解,在本申请的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
上文对本申请实施例提供的方法进行了说明,下面对本申请实施例提供的装置进行说明。
图10为本申请实施例提供的一种地图生成装置1000的示意图,如图10所示,该装置1000包括:收发模块1010和处理模块1020。
收发模块1010用于获取第一数据集;其中,第一数据集包括:在生成目标区域的第一地图时,在N个采集位置上采集的N组环境数据、N个采集位置对应的N个采集位置信息和N个采集位置对应的N个采集时间;N为大于1的整数。
收发模块1010还用于获取第二数据集;其中,第二数据集包括:针对目标区域中的局部变化区域,在M个采集位置上采集的M组环境数据、M个采集位置对应的M个采集位置信息和M个采集位置对应的M个采集时间;M为大于1的整数。
处理模块1020用于基于第一数据集和第二数据集生成第二地图。
在一些可实现方式中,处理模块1020具体用于:基于第一数据集和第二数据集选择P个采集位置;其中,P个采集位置是N个采集位置和M个采集位置中用于生成第二地图的采集位置;P为大于1的整数;基于P个采集位置对应的环境数据生成第二地图。
在一些可实现方式中,处理模块1020具体用于:基于N个采集位置信息和M个采集位置信息,确定以第一采集位置为中心的预设范围之内的至少一个第二采集位置;其中,第一采集位置是N个采集位置和M个采集位置中的任一个采集位置;每个第二采集位置是N个采集位置或M个采集位置中的采集位置;基于至少一个第二采集位置对应的采集时间,在至少一个第二采集位置中选择最新采集位置;在至少一个第二采集位置中选择至少一个第三采集位置;其中,至少一个第三采集位置是与最新采集位置对应的位置信息均属于同一数据集的采集位置; 其中,P个采集位置包括:最新采集位置和至少一个第三采集位置。
在一些可实现方式中,处理模块1020还用于:在处理模块1020基于N个采集位置信息和M个采集位置信息,确定以第一采集位置为中心的预设范围之内的至少一个第二采集位置之前,基于N个采集位置信息和M个采集位置信息,生成位置信息链表;遍历位置信息链表,以确定第一采集位置。
在一些可实现方式中,处理模块1020具体用于:基于N个采集位置信息和M个采集位置信息,生成k维树;基于k维树,确定至少一个第二采集位置。
在一些可实现方式中,处理模块1020还用于:在一些可实现方式中,处理模块1020基于至少一个第二采集位置对应的采集时间,在至少一个第二采集位置中选择最新采集位置之前,生成至少一个第二采集位置各自对应的结构体;其中,针对至少一个第二采集位置中的任一个第二采集位置,第二采集位置对应的结构体包括:第二采集位置对应的采集位置信息、第二采集位置对应的采集时间、第一标识和第二标识;其中,第一标识用于标识第二采集位置是否用于生成第二地图;第一标识的初始值是第一数值;第一数值表示第二采集位置不用于生成第二地图;第二标识是第二采集位置对应的采集位置信息所属数据集的标识。
在一些可实现方式中,处理模块1020具体用于:基于至少一个第二采集位置对应的采集时间,在至少一个第二采集位置中确定最新采集位置;将最新采集位置对应的第一标识置为第二数值;其中,第二数值表示最新采集位置用于生成第二地图;基于最新采集位置对应的第二数值,选择最新采集位置。
在一些可实现方式中,处理模块1020具体用于:基于至少一个第二采集位置各自对应的第二标识,在至少一个第二采集位置中选择至少一个第三采集位置。
在一些可实现方式中,处理模块1020具体用于:基于N个采集位置信息生成第一轨迹;并基于M个采集位置信息生成第二轨迹;确定第一轨迹和第二轨迹中距离小于预设阈值的第一局部轨迹和第二局部轨迹;确定第一轨迹中除第一局部轨迹以外的第三局部轨迹;并确定第二轨迹中除第二局部轨迹以外的第四局部轨迹;基于N个采集时间和M个采集时间,在第一局部轨迹和第二局部轨迹中选择第二局部轨迹;选择第二局部轨迹、第三局部轨迹和第四局部轨迹上的采集位置,作为P个采集位置。
在一些可实现方式中,装置1000还包括:存储模块1030,用于在处理模块1020基于第一数据集和第二数据集选择P个采集位置之后,存储第三数据集;其中,第三数据集包括:在P个采集位置上采集的P组环境数据、P个采集位置对应的P个采集位置信息和P个采集位置对应的P个采集时间。
在一些可实现方式中,处理模块1020具体用于:删除第一数据集中局部变化区域对应的数据,得到第四数据集;基于第四数据集和第二数据集,生成第二地图。
在一些可实现方式中,处理模块1020具体用于:基于第四数据集和第二数据集中的环境数据,生成第二地图。
应理解的是,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,图10所示的装置1000可以执行图3对应的方法实施例,并且装置1000中的各个模块的前述和其它操作和/或功能分别为了实现图3中的各个方法中的相应流程,为了简洁,在此不再赘述。
上文中结合附图从功能模块的角度描述了本申请实施例的装置1000。应理解,该功能模块可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过硬件和软件模块组合实现。具体地,本申请实施例中的方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。可选地,软件模块可以位于随机存储器,闪存、只读存储器、可编程只读存储器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
图11是本申请实施例提供的电子设备的示意性框图。
如图11所示,该电子设备可包括:
存储器1110和处理器1120,该存储器1110用于存储计算机程序,并将该程序代码传输给该处理器1120。换言之,该处理器1120可以从存储器1110中调用并运行计算机程序,以实现本申请实施例中的方法。
例如,该处理器1120可用于根据该计算机程序中的指令执行上述方法实施例。
在本申请的一些实施例中,该处理器1120可以包括但不限于:
通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等等。
在本申请的一些实施例中,该存储器1110包括但不限于:
易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
在本申请的一些实施例中,该计算机程序可以被分割成一个或多个模块,该一个或者多个模块被存储在该存储器1110中,并由该处理器1120执行,以完成本申请提供的方法。该一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述该计算机程序在该电子设备中的执行过程。
如图11所示,该电子设备还可包括:
收发器1130,该收发器1130可连接至该处理器1120或存储器1110。
其中,处理器1120可以控制该收发器1130与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。收发器1130可以包括发射机和接收机。收发器1130还可以进一步包括天线,天线的数量可以为一个或多个。
应当理解,该电子设备中的各个组件通过总线***相连,其中,总线***除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。
本申请还提供了一种计算机存储介质,其上存储有计算机程序,该计算机程序被计算机执行时使得该计算机能够执行上述方法实施例的方法。或者说,本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得计算机执行上述方法实施例的方法。
当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。例如,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。
以上内容仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。
Claims (10)
1.一种地图生成方法,其特征在于,包括:
获取第一数据集;其中,所述第一数据集包括:在生成目标区域的第一地图时,在N个采集位置上采集的N组环境数据、所述N个采集位置对应的N个采集位置信息和所述N个采集位置对应的N个采集时间;N为大于1的整数;
获取第二数据集;其中,所述第二数据集包括:针对所述目标区域中的局部变化区域,在M个采集位置上采集的M组环境数据、所述M个采集位置对应的M个采集位置信息和所述M个采集位置对应的M个采集时间;M为大于1的整数;
基于所述第一数据集和所述第二数据集选择P个采集位置;其中,所述P个采集位置是所述N个采集位置和所述M个采集位置中用于生成第二地图的采集位置;P为大于1的整数;
基于所述P个采集位置对应的环境数据生成所述第二地图;
其中,所述基于所述第一数据集和所述第二数据集选择P个采集位置,包括:
基于所述N个采集位置信息和所述M个采集位置信息,确定以第一采集位置为中心的预设范围之内的至少一个第二采集位置;其中,所述第一采集位置是所述N个采集位置和所述M个采集位置中的任一个采集位置;每个所述第二采集位置是所述N个采集位置或所述M个采集位置中的采集位置;
基于所述至少一个第二采集位置对应的采集时间,在所述至少一个第二采集位置中选择最新采集位置;
在所述至少一个第二采集位置中选择至少一个第三采集位置;其中,所述至少一个第三采集位置是与所述最新采集位置对应的位置信息均属于同一数据集的采集位置;
其中,所述P个采集位置包括:所述最新采集位置和所述至少一个第三采集位置。
2.根据权利要求1所述的方法,其特征在于,所述基于所述N个采集位置信息和所述M个采集位置信息,确定以第一采集位置为中心的预设范围之内的至少一个第二采集位置之前,还包括:
基于所述N个采集位置信息和所述M个采集位置信息,生成位置信息链表;
遍历所述位置信息链表,以确定所述第一采集位置。
3.根据权利要求1或2所述的方法,其特征在于,所述基于所述N个采集位置信息和所述M个采集位置信息,确定以第一采集位置为中心的预设范围之内的至少一个第二采集位置,包括:
基于所述N个采集位置信息和所述M个采集位置信息,生成k维树;
基于所述k维树,确定所述至少一个第二采集位置。
4.根据权利要求1或2所述的方法,其特征在于,所述基于所述至少一个第二采集位置对应的采集时间,在所述至少一个第二采集位置中选择最新采集位置之前,还包括:
生成所述至少一个第二采集位置各自对应的结构体;其中,针对所述至少一个第二采集位置中的任一个第二采集位置,所述第二采集位置对应的结构体包括:所述第二采集位置对应的采集位置信息、所述第二采集位置对应的采集时间、第一标识和第二标识;
其中,所述第一标识用于标识所述第二采集位置是否用于生成所述第二地图;所述第一标识的初始值是第一数值;所述第一数值表示所述第二采集位置不用于生成所述第二地图;所述第二标识是所述第二采集位置对应的采集位置信息所属数据集的标识。
5.根据权利要求4所述的方法,其特征在于,所述基于所述至少一个第二采集位置对应的采集时间,在所述至少一个第二采集位置中选择最新采集位置,包括:
基于所述至少一个第二采集位置对应的采集时间,在所述至少一个第二采集位置中确定所述最新采集位置;
将所述最新采集位置对应的第一标识置为第二数值;其中,所述第二数值表示所述最新采集位置用于生成所述第二地图;
基于所述最新采集位置对应的第二数值,选择所述最新采集位置。
6.根据权利要求4所述的方法,其特征在于, 所述在所述至少一个第二采集位置中选择至少一个第三采集位置,包括:
基于所述至少一个第二采集位置各自对应的第二标识,在所述至少一个第二采集位置中选择所述至少一个第三采集位置。
7.根据权利要求1或2所述的方法,其特征在于,所述基于所述第一数据集和所述第二数据集选择P个采集位置之后,还包括:
存储第三数据集;其中,所述第三数据集包括:在所述P个采集位置上采集的P组环境数据、所述P个采集位置对应的P个采集位置信息和所述P个采集位置对应的P个采集时间。
8.一种地图生成装置,其特征在于,包括:收发模块和处理模块;
所述收发模块用于获取第一数据集;其中,所述第一数据集包括:在生成目标区域的第一地图时,在N个采集位置上采集的N组环境数据、所述N个采集位置对应的N个采集位置信息和所述N个采集位置对应的N个采集时间;N为大于1的整数;
所述收发模块还用于获取第二数据集;其中,所述第二数据集包括:针对所述目标区域中的局部变化区域,在M个采集位置上采集的M组环境数据、所述M个采集位置对应的M个采集位置信息和所述M个采集位置对应的M个采集时间;M为大于1的整数;
所述处理模块用于:
基于所述第一数据集和所述第二数据集选择P个采集位置;其中,所述P个采集位置是所述N个采集位置和所述M个采集位置中用于生成第二地图的采集位置;P为大于1的整数;
基于所述P个采集位置对应的环境数据生成所述第二地图;
其中,所述处理模块具体用于:
基于所述N个采集位置信息和所述M个采集位置信息,确定以第一采集位置为中心的预设范围之内的至少一个第二采集位置;其中,所述第一采集位置是所述N个采集位置和所述M个采集位置中的任一个采集位置;每个所述第二采集位置是所述N个采集位置或所述M个采集位置中的采集位置;
基于所述至少一个第二采集位置对应的采集时间,在所述至少一个第二采集位置中选择最新采集位置;
在所述至少一个第二采集位置中选择至少一个第三采集位置;其中,所述至少一个第三采集位置是与所述最新采集位置对应的位置信息均属于同一数据集的采集位置;
其中,所述P个采集位置包括:所述最新采集位置和所述至少一个第三采集位置。
9.一种电子设备,其特征在于,包括:
处理器和存储器,所述存储器用于存储计算机程序,所述处理器用于调用并运行所述存储器中存储的计算机程序,以执行权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311072907.4A CN116821270B (zh) | 2023-08-24 | 2023-08-24 | 地图生成方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311072907.4A CN116821270B (zh) | 2023-08-24 | 2023-08-24 | 地图生成方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116821270A CN116821270A (zh) | 2023-09-29 |
CN116821270B true CN116821270B (zh) | 2023-11-21 |
Family
ID=88113011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311072907.4A Active CN116821270B (zh) | 2023-08-24 | 2023-08-24 | 地图生成方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116821270B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113899355A (zh) * | 2021-08-25 | 2022-01-07 | 上海钧正网络科技有限公司 | 地图更新方法、装置、云端服务器和共享骑行设备 |
CN114322983A (zh) * | 2021-12-17 | 2022-04-12 | 清华大学苏州汽车研究院(吴江) | 一种面向矿山自动驾驶的轻量级地图制作方法和装置 |
CN115344655A (zh) * | 2022-08-19 | 2022-11-15 | 高德软件有限公司 | 地物要素的变化发现方法、装置及存储介质 |
CN115375866A (zh) * | 2022-10-20 | 2022-11-22 | 国家电投集团科学技术研究院有限公司 | 矿区三维地质模型的更新方法、装置、设备和介质 |
CN115585818A (zh) * | 2022-10-31 | 2023-01-10 | 中国星网网络应用有限公司 | 一种地图构建方法、装置、电子设备及存储介质 |
CN115858702A (zh) * | 2022-11-23 | 2023-03-28 | 北京天玛智控科技股份有限公司 | 矿井下点云地图的维护方法、装置、飞行器及电子设备 |
-
2023
- 2023-08-24 CN CN202311072907.4A patent/CN116821270B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113899355A (zh) * | 2021-08-25 | 2022-01-07 | 上海钧正网络科技有限公司 | 地图更新方法、装置、云端服务器和共享骑行设备 |
CN114322983A (zh) * | 2021-12-17 | 2022-04-12 | 清华大学苏州汽车研究院(吴江) | 一种面向矿山自动驾驶的轻量级地图制作方法和装置 |
CN115344655A (zh) * | 2022-08-19 | 2022-11-15 | 高德软件有限公司 | 地物要素的变化发现方法、装置及存储介质 |
CN115375866A (zh) * | 2022-10-20 | 2022-11-22 | 国家电投集团科学技术研究院有限公司 | 矿区三维地质模型的更新方法、装置、设备和介质 |
CN115585818A (zh) * | 2022-10-31 | 2023-01-10 | 中国星网网络应用有限公司 | 一种地图构建方法、装置、电子设备及存储介质 |
CN115858702A (zh) * | 2022-11-23 | 2023-03-28 | 北京天玛智控科技股份有限公司 | 矿井下点云地图的维护方法、装置、飞行器及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN116821270A (zh) | 2023-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108763287B (zh) | 大规模可通行区域驾驶地图的构建方法及其无人驾驶应用方法 | |
Wong et al. | Mapping for autonomous driving: Opportunities and challenges | |
CN112179330A (zh) | 移动设备的位姿确定方法及装置 | |
WO2019052533A1 (zh) | 地图数据的构建方法和设备 | |
CN105446338A (zh) | 云辅助自动驾驶方法及*** | |
CN112069368B (zh) | 数据存储、调用方法及*** | |
CN114111774B (zh) | 车辆的定位方法、***、设备及计算机可读存储介质 | |
CN113135178A (zh) | 泊车路线共享方法、装置、设备以及存储介质 | |
CN111121785A (zh) | 一种基于图搜索的无道路路径规划方法 | |
CN114443784A (zh) | 基于高精度地图的本地动态地图实现方法 | |
CN114047760B (zh) | 路径规划方法、装置、电子设备及自动驾驶车辆 | |
CN116958316B (zh) | 拓扑图生成方法、装置、计算机设备及存储介质 | |
KR102408981B1 (ko) | Nd 맵 생성방법 및 그를 활용한 맵 업데이트 방법 | |
CN116821270B (zh) | 地图生成方法、装置、设备及存储介质 | |
CN113295160A (zh) | 基于视觉导航的地图加载方法、装置、设备及存储介质 | |
CN115830578B (zh) | 物品巡检方法、装置和电子设备 | |
CN116561240A (zh) | 电子地图处理方法、相关装置和介质 | |
CN116679698A (zh) | 用于车辆的自动驾驶方法、装置、车辆、设备和介质 | |
JP7397116B2 (ja) | マップクエリ方法、装置及び電子機器 | |
CN115235482A (zh) | 地图更新方法、装置、计算机设备及介质 | |
CN111476313A (zh) | 一种无人机照片的分类方法、装置及计算机可读存储介质 | |
CN115269763B (zh) | 局部点云地图更新维护方法、装置、移动工具及存储介质 | |
WO2022068558A1 (zh) | 一种地图数据的传输方法及装置 | |
CN115420297B (zh) | 地图更新方法、计算机设备及计算机可读存储介质 | |
CN112513854B (zh) | 一种高精度地图、高精度地图生成方法和使用方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40093788 Country of ref document: HK |