CN111681163A - 构建点云地图的方法、装置、电子设备和存储介质 - Google Patents
构建点云地图的方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN111681163A CN111681163A CN202010327550.XA CN202010327550A CN111681163A CN 111681163 A CN111681163 A CN 111681163A CN 202010327550 A CN202010327550 A CN 202010327550A CN 111681163 A CN111681163 A CN 111681163A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- data
- positioning data
- positioning
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 230000009286 beneficial effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 40
- 238000005457 optimization Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000153 supplemental effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
- G06T3/4038—Scaling the whole image or part thereof for image mosaicing, i.e. plane images composed of plane sub-images
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/26—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
- G01C21/34—Route searching; Route guidance
- G01C21/3446—Details of route searching algorithms, e.g. Dijkstra, A*, arc-flags, using precalculated routes
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/206—Drawing of charts or graphs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration by the use of more than one image, e.g. averaging, subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/32—Indexing scheme for image data processing or generation, in general involving image mosaicing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10028—Range image; Depth image; 3D point clouds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Databases & Information Systems (AREA)
- Automation & Control Theory (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Navigation (AREA)
Abstract
本申请公开了构建点云地图的方法、装置、电子设备和存储介质,一种构建点云地图的方法包括:获取具有对应关系的定位数据和点云数据,所述定位数据包括位置信息和定位可信度;从定位数据中选取定位可信度大于预设阈值的第一定位数据;根据选取的第一定位数据的位置信息,以及选取的第一定位数据所对应的点云数据构建点云地图;将定位数据中未被选取的第二定位数据所对应的点云数据作为补充数据,基于补充数据和点云匹配算法,对所述点云地图进行迭代更新。根据本申请实施例构建的点云地图,在相对精度和绝对精度两方面都具有较好的表现,有利于提升自动驾驶的可靠性和安全性。
Description
技术领域
本申请涉及自动驾驶技术领域,具体涉及一种构建点云地图的方法、装置、电子设备和存储介质。
背景技术
随着技术的进步,具有环境感知、路径规划等功能的自动驾驶车辆受到人们越来越多的关注,通过对自动驾驶车辆的控制,可以使自动驾驶车辆自动按照预先规划的行驶路径行驶。点云地图是自动驾驶技术领域十分重要的内容,它能够提供准确的道路结构、道路元素信息、周边场景信息等。但是现有点云地图的精度不高,影响制约着自动驾驶的发展,有待进一步解决。
发明内容
鉴于上述问题,提出了本申请以便提供一种克服上述问题或者至少部分地解决上述问题的一种构建点云地图的方法、装置、电子设备和存储介质,提高了点云地图的精确性,提升自动驾驶的安全性、可靠性。
依据本申请的一个方面,提供了一种构建点云地图的方法,包括:
获取具有对应关系的定位数据和点云数据,所述定位数据包括位置信息和定位可信度;
从定位数据中选取定位可信度大于预设阈值的第一定位数据;
根据选取的第一定位数据的位置信息,以及选取的第一定位数据所对应的点云数据构建点云地图;
将定位数据中未被选取的第二定位数据所对应的点云数据作为补充数据,基于补充数据和点云匹配算法,对所述点云地图进行迭代更新。
依据本申请的另一个方面,提供了一种构建点云地图的装置,包括:
获取模块,用于获取具有对应关系的定位数据和点云数据,所述定位数据包括位置信息和定位可信度;
选择模块,用于从定位数据中选取定位可信度大于预设阈值的第一定位数据;
构图模块,用于根据选取的第一定位数据的位置信息,以及选取的第一定位数据所对应的点云数据构建点云地图;
迭代模块,用于将定位数据中未被选取的第二定位数据所对应的点云数据作为补充数据,基于补充数据和点云匹配算法,对所述点云地图进行迭代更新。
依据本申请的又一方面,提供了一种电子设备,包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如上述所述的方法。
依据本申请的再一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现如上述所述的方法。
由上述可知,本申请的技术方案,通过获取具有对应关系的定位数据和点云数据,从定位数据中选取定位可信度大于预设阈值的第一定位数据,根据选取的第一定位数据的位置信息以及选取的第一定位数据所对应的点云数据构建点云地图,由于定位可信度高的第一定位数据与实际环境中目标之间的误差小,使用这些定位数据所对应的点云构建点云地图,从而保证了构建的点云地图的绝对精度。而且,通过将定位数据中未被选取的第二定位数据所对应的点云数据作为补充数据,基于补充数据和点云匹配算法,对点云地图进行迭代更新,不断修补,保证了构建的点云地图的相对精度。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了现有技术中点云地图的示意图;
图2示出了根据本申请一个实施例的构建点云地图方法的流程图;
图3示出了根据本申请一个实施例的构建点云地图方法的流程示意图;
图4示出了根据本申请一个实施例的骨架图的示意图;
图5示出了对图4所示骨架图去重后的示意图;
图6示出了根据骨架图构建的点云地图的示意图;
图7示出了在图6所示的骨架图中加入新节点的示意图;
图8示出了根据本申请一个实施例的点云地图的示意图;
图9a示出了迭代优化前的点云地图的示意图;
图9b示出了迭代优化后的点云地图的示意图;
图10示出了根据本申请一个实施例的构建点云地图的装置的框图;
图11示出了根据本申请一个实施例电子设备的结构示意图;
图12示出了根据本申请一个实施例的计算机可读存储介质的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施例。虽然附图中显示了本申请的示例性实施例,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
有一种依据三维点云数据构建点云地图的技术方案,通过自动驾驶车辆搭载的激光雷达系统采集传感器数据生成点云地图。实际应用中这种技术方案又可分为两大类:基于惯性测量信息构建点云地图以及基于SLAM(Simultaneous Localization And Mapping,同步定位与地图构建)算法构建点云地图。
基于惯性测量信息建图的主要思路是,利用高精度惯性测量单元(InertialMeasurement Unit,简称IMU)提供的目标(比如自动驾驶车辆)的6DoF(Degree ofFreedom,自由度)位姿信息进行建图,即,将激光雷达采集的点云数据按其对应的位姿进行点云拼接建图,这类方法可以保证建图的绝对精度,即地图在UTM(Universal TransverseMercator,统一横轴墨卡托投影)坐标系下的绝对精确,但是该地图不能保证相对精度,比如当将GPS(Global Positioning System,全球定位系统)状态差的定位数据加入点云地图后无法与点云地图实现对齐,会出现重影现象,如图1所示,点云地图中的重影较多(参见图1中的圆圈所示)。此外,如果一个地点自动驾驶车辆经过了多次,则这种方法还会多次构建该地点的地图,从而浪费了大量存储空间。
基于SLAM算法的建图,一般由前端、后端和回环检测组成,这类方案可以保证构建的点云地图的质量和相对精度(基本不会出现重影的现象),但是该方案不能保证构建的点云地图的绝对精度,经过回环优化之后的地图上的位置点可能与GPS输出的绝对位置坐标有较大偏差。
由上可知,现有激光点云建图要么不能保证构建的点云地图的绝对精度,要么不能保证构建的点云地图的相对精度,影响和制约了自动驾驶的安全性和可靠性。
为此,本申请实施例提供了一种构建点云地图的技术方案,本申请实施例的技术构思是:使用定位可信度高,如GPS状态好的定位数据构建骨架图,并利用骨架图进行点云地图构建,保证了点云地图在全局坐标系下的绝对精度。而且,利用剩余的点云数据与点云地图进行点云匹配,保证建图的相对精度。
为便于理解,这里对本申请实施例中所涉及的地图精度进行简要说明。地图精度,也就是地图的精确度或地图的误差大小,是衡量地图质量的重要标志之一。绝对精度是在UTM坐标系下地图的位置点指示的位置与物理空间中的位置之间的误差。相对精度是横向的对象间的距离误差,比如车道和车道之间距离的误差,车道和车道线的相对位置的误差。
图2示出了根据本申请一个实施例的构建点云地图方法的流程图,如图2所示,本申请实施例的构建点云地图的方法包括:
步骤S210,获取具有对应关系的定位数据和点云数据,所述定位数据包括位置信息和定位可信度。
定位数据包括的位置信息比如是通过GPS(Global Positioning System,全球定位系统)获得的目标的经度、纬度、海拔高度信息。此外,通过GPS系统,还可以获得定位可信度、采集地理坐标时间、目标移动速度等信息。定位可信度是指示GPS系统工作状态的信息,比如GPS卫星信号的强度。当GPS卫星信号强时,定位数据的定位可信度高,当GPS卫星信号较弱时,定位数据的定位可信度低。
需要说明的是,利用GPS卫星定位系统获取定位数据只是示意性的,本申请实施例对定位数据的来源并不做限制,例如,也可以采用北斗导航卫星定位系统获取定位数据。
构建点云地图所使用的点云数据通常为激光雷达探测得到的激光点云数据,但本申请实施例中的点云数据也可以包括视觉点云数据等。
步骤S220,从定位数据中选取定位可信度大于预设阈值的第一定位数据。
根据定位数据中的定位可信度,对获取的定位数据进行筛选,选取定位可信度大于预设阈值的第一定位数据。比如,将各定位数据中的定位可信度与预设阈值比较,如果定位可信度大于预设阈值,则将该定位数据选取出来作为第一定位数据。
步骤S230,根据选取的第一定位数据的位置信息,以及选取的第一定位数据所对应的点云数据构建点云地图。
本步骤中,基于选取的第一定位数据的位置信息以及第一定位数据对应的点云数据构建点云地图。注:点云数据,是空间中物体表面海量采样点数据的集合,每个采样点数据都包含三维空间坐标信息。根据定位数据的位置信息和点云数据构建点云地图可采用现有技术中的点云拼接算法,通过将点云数据逐帧拼接形成点云地图,本申请实施例不做限制。
步骤S240,将定位数据中未被选取的第二定位数据所对应的点云数据作为补充数据,基于补充数据和点云匹配算法,对所述点云地图进行迭代更新。
定位数据中未被选取的第二定位数据包括定位可信度大于预设阈值但未被选取的定位数据,以及,定位可信度不大于预设阈值的定位数据。
这里,将定位数据中未被选取的第二定位数据所对应的点云数据作为补充数据,未被选取的第二定位数据可以是定位可信度不大于预设阈值的定位数据,由于这些定位数据的定位可信度不大于预设阈值,即定位可信度不高,所以本申请实施例在初步构建点云地图时不选取这些定位数据,而是在构建点云地图之后,为了提高点云地图的相对精度,将定位可信度不大于预设阈值的第二定位数据作为补充数据,基于补充数据和点云匹配算法,对点云地图进行迭代更新,如此,保证了构建的点云地图的相对精度。
也就是说,在本申请实施例中,优选地,根据定位可信度不大于预设阈值的第二定位数据确定补充数据。由于未被选取的定位可信度大于预设阈值的第二定位数据与点云地图中点云数据的重复率高,采用这些定位数据所对应的点云数据来更新优化点云地图,会导致算法时间长且生成的点云地图的质量不高,而定位可信度不大于预设阈值的第二定位数据在第一阶段未被选取用于构建点云地图,因此,在点云地图构建后的第二阶段,采用定位可信度不大于预设阈值的第二定位数据的点云数据对点云地图进行迭代更新,能够比较快速、准确的构建高精度的点云地图。
由图2所示可知,本申请实施例的构建点云地图的方法,通过选取定位可信度大于预设阈值的第一定位数据,根据选取的第一定位数据的位置信息以及选取的第一定位数据所对应的点云数据构建点云地图,保证了构建的点云地图的绝对精度;而且,通过将定位数据中未被选取的第二定位数据所对应的点云数据作为补充数据,基于补充数据和点云匹配算法,对点云地图进行迭代更新,保证了构建的点云地图的相对精度,方便后续应用地图进行自动驾驶、实时导航等,有利于提升自动驾驶的可靠性和安全性。
在本申请的一个实施例中,前述步骤S230,根据选取的第一定位数据的位置信息,以及选取的第一定位数据所对应的点云数据构建点云地图包括:根据选取的第一定位数据的位置信息,将选取的第一定位数据所对应的点云数据进行拼接,得到点云地图。点云拼接是将不同视角下采集到的点云数据进行融合,使不同视角下的局部点云数据转换到统一坐标系下,进而可以得到被测物体的完整点云数据。本申请实施例根据选取的定位数据的位置信息,确定属于同一物体的点云数据,将属于同一物体的点云数据拼接到一起,形成点云地图。
为了提高点云地图的构建效率,节省时间,本申请实施例提出根据选取的定位数据构建点云地图的骨架图,并基于骨架图构建点云地图。
图3示出了根据本申请一个实施例的构建点云地图方法的流程示意图,参见图3,本申请实施例的构建点云地图方法包括下列步骤:
流程开始,执行步骤S310,选取第一定位数据,生成骨架图。
本申请实施例的定位数据包括位置信息和定位可信度,流程开始后,根据定位数据中的定位可信度,选取定位可信度大于预设阈值的第一定位数据。另外,定位数据还包括定位时间信息,本申请实施例根据选取的第一定位数据构建点云地图的骨架图,骨架图的各节点与选取的第一定位数据具有对应关系,节点的编号根据对应定位数据中的定位时间信息确定;根据所述骨架图构建所述点云地图。
图4示出了根据本申请一个实施例的骨架图的示意图,如图4所示,提取所有GPS定位可信度大于预设阈值的第一定位数据(GPS定位可信度可以从GPS系统中读取),构建骨架图,骨架图的各节点与选取的第一定位数据具有一一对应关系,根据第一定位数据的定位时间信息,确定对应节点的编号。比如图4所示,根据第一定位数据的定位时间信息,将起始节点编号记为k,节点k的下一个节点的编号为k+1,节点k+1的下一个节点的编号为k+2,依次类推,终点节点编号记为k+12。需要说明的是,骨架图中节点的数量不限于本申请实施例中的示意性举例,应当根据实际应用确定。
图4所示的由节点组成的骨架图中,节点比较密集,并且含有许多位置邻近的节点,如图4中的节点k和节点k+10、节点k+1和节点k+11、节点k+2和节点k+12,这是由于当自动驾驶车辆多次经过一个位置地点,则会多次采集该位置地点的点云数据,这就导致了指定范围内(比如0.5米)存在位置邻近甚至位置重复的定位数据,浪费大量存储空间。为此,本申请实施例在构建骨架图的基础上,对骨架图中的节点进行去重。
步骤S320,删除骨架图节点中位置上相近或重复的节点。
本步骤中,根据选取的第一定位数据构建点云地图的骨架图,包括:对骨架图的节点进行去重,使去重后的骨架图中每个节点的邻近节点数量不超过预设值;所述邻近节点根据节点对应的定位数据中的位置信息确定。本申请实施例中对骨架图的节点搜索其邻近节点,将节点的邻近节点集中的节点进行删除,以实现去重目的。这里的邻近节点是根据节点对应的定位数据中的位置信息确定的,比如图4中节点k的位置信息指示的位置与节点k+10的位置信息指示的位置在一定范围内,即两节点属于一对邻近节点,同理,节点k+1对应定位数据中位置信息指示的位置与节点k+11对应定位数据中位置信息指示的位置邻近,节点k+1与节点k+11为一对邻近节点。
图5示出了对图4所示骨架图去重后的示意图,如图5所示,将图4所示的骨架图中位置邻近或重复的节点删除后,骨架图大为精简,去重后的骨架图中每个节点的邻近节点数量不超过预设值(预设值比如为1),从而大大节省了存储空间,避免了存储空间浪费。
为了加快搜索速度,节省地图构建时间,本申请实施例对骨架图的节点进行去重具体包括:根据节点对应的第一定位数据的位置信息构建k-d树;基于所述k-d树进行邻近节点集的搜索,从骨架图中删除邻近节点集中编号较大的节点。也就是说,本申请实施例在搜索时使用k-d树进行加速,k-d树(即k-dimensional tree)是一种对k维空间中的采样点进行存储以方便对其进行快速检索的树形数据结构,k-d树可以用于多维空间关键数据的搜索,例如范围搜索和最近邻搜索。实际应用中,先根据节点对应的第一定位数据的位置信息构建k-d树,然后基于k-d树进行邻近节点集的搜索,即,根据待查询的指定范围以及当前节点,从k-d树中搜索得到所有与当前节点距离在指定范围内的节点,获得包括当前节点的邻近节点集。
由于节点的编号根据节点对应的第一定位数据中的定位采集时间信息而定,所以时间较早的第一定位数据相对比较精确,累积误差较小,为此,本申请实施例在进行节点去重时,采取的策略是保留邻近节点集中编号较小的节点,删除编号较大的重复节点,保证了节点之间存在一定的距离间隔。去重后的骨架图如图5所示,可见,图5中是将邻近节点集中的编号较大的节点删除,保留了编号较小的节点。
步骤S330,根据骨架图的节点进行点云拼接生成点云地图。
实际的采集过程中,受限于被测物体尺寸过大,物体表面被遮挡或者三维扫描设备的扫描角度等因素,单次扫描往往得不到物体完整的几何信息。为了获得被测物体的完整几何信息,就需要将不同视角即不同参考坐标下的点云数据统一到同一坐标系下,进行点云的拼接。基于此,本申请实施例中,在骨架图去重之后,根据骨架图的节点对应的点云数据,进行点云拼接生成点云地图。图6示出了根据骨架图构建的点云地图的示意图,如图6所示,图6中灰色部分即为生成的点云地图。
步骤S340,将补充数据与点云地图进行点云匹配。
为了提高点云地图的相对精度,本申请实施例将定位数据中未被选取的第二定位数据所对应的点云数据作为补充数据,基于补充数据和点云匹配算法,对步骤S330中生成的点云地图进行迭代更新。也就是说,根据给定的新点云(即补充数据),进行全局匹配。即,将新点云和已经生成的点云地图进行匹配,以此迭代更新点云地图。图8示出了根据本申请一个实施例的点云地图的示意图,如图8中的圆圈处所示,通过将定位数据中未被选取的第二定位数据所对应的点云数据作为补充数据,基于补充数据和点云匹配算法,对点云地图进行迭代更新,本申请实施例构建的点云地图避免了重影现象。
步骤S350,将匹配度大于阈值的节点加入骨架图和点云地图。
为了提高点云匹配的效率,本申请实施例中还在骨架图中生成与迭代更新所使用的补充数据对应的新节点,在满足迭代停止条件时,将当前版本的骨架图与当前版本的点云地图对应保存,方便后续应用。
比如,本申请实施例中将匹配度(又称点云匹配度)大于阈值的节点加入骨架图,这里的匹配度例如是根据ICP(Iterative Closest Point,就近点搜索)算法计算出的补充数据与点云地图中最近点云的距离,如果距离小说明点云匹配度高,从而得到点云匹配度,然后将点云匹配度与预设的匹配度阈值进行比较,如果点云匹配度大于匹配度阈值,则生成与补充数据对应的节点,将节点加入骨架图中,并且将点云匹配度大于匹配度阈值的节点加入点云地图,得到一次迭代后的新版本点云地图。图7示出了在图6所示的骨架图中加入新节点的示意图,如图7所示,在骨架图中加入了点云匹配度大于匹配度阈值的节点(图7中带斜线的圆圈所示)。
步骤S360,是否达到迭代停止条件,是,结束流程,否,返回执行步骤S340。
本步骤中,将定位数据中未被选取的第二定位数据所对应的点云数据作为补充数据,基于补充数据和点云匹配算法,对点云地图进行迭代更新。具体的包括:在每次迭代时,选取补充数据与当前版本的点云地图进行点云匹配,获得点云匹配度,在点云匹配度不小于预设阈值的情况下,将选取的补充数据与当前版本的点云地图进行融合,得到新版本的点云地图,并结束本次迭代;在点云匹配度小于预设阈值的情况下,重新选取补充数据与当前版本的点云地图进行点云匹配,直至选取到与当前版本的点云地图的点云匹配度不小于预设阈值的补充数据,或者所有补充数据与当前版本的点云地图的点云匹配度均小于预设阈值。
也就是说,本步骤中对点云地图进行迭代更新并判断是否达到迭代停止条件,如果达到迭代停止条件,则结束流程;如果未达到迭代停止条件,则继续获取补充数据,将补充数据与上一次迭代后的点云地图进行匹配,实现点云地图的迭代更新,直至选取到与当前版本的点云地图的点云匹配度不小于预设阈值的补充数据,或者所有补充数据与当前版本的点云地图的点云匹配度均小于预设阈值。这里的迭代停止条件比如是点云匹配度是否不小于匹配度阈值。
图9a示出了迭代优化前的点云地图的示意图,图9b示出了迭代优化后的点云地图的示意图;对比图9a和图9b可知,本申请实施例中迭代优化后新版本的点云地图精度更高,地图更清晰。
至此,本申请一个实施例的点云地图的构建方法,针对如何保证建图的绝对精度和相对精度的技术问题,通过选取定位可信度高的第一定位数据构建骨架图,并利用骨架图构建点云地图,保证了点云地图在全局坐标系下的绝对精度,而且,将定位数据中未被选取的第二定位数据(比如GPS状态不好的定位数据)作为补充数据与点云地图进行点云匹配,保证了构建的点云地图的相对精度,从而,依据本申请实施例构建的点云地图在相对精度和绝对精度两方面都具有较好的表现。
图10示出了根据本申请一个实施例的构建点云地图的装置的框图,参见图10,本申请实施例的构建点云地图的装置1000包括:
获取模块1010,用于获取具有对应关系的定位数据和点云数据,所述定位数据包括位置信息和定位可信度;
选择模块1020,用于从定位数据中选取定位可信度大于预设阈值的第一定位数据;
构图模块1030,用于根据选取的第一定位数据的位置信息,以及选取的第一定位数据所对应的点云数据构建点云地图;
迭代模块1040,用于将定位数据中未被选取的第二定位数据所对应的点云数据作为补充数据,基于补充数据和点云匹配算法,对所述点云地图进行迭代更新。
在本申请的一个实施例中,构图模块1030用于根据选取的第一定位数据的位置信息,将选取的第一定位数据所对应的点云数据进行拼接,得到点云地图。
在本申请的一个实施例中,构图模块1030具体用于根据选取的第一定位数据构建点云地图的骨架图,所述骨架图的各节点与选取的第一定位数据具有对应关系,节点的编号根据对应第一定位数据中的定位时间信息确定;根据所述骨架图构建所述点云地图。
在本申请的一个实施例中,构图模块1030具体用于对骨架图的节点进行去重,使去重后的骨架图中每个节点的邻近节点数量不超过预设值;所述邻近节点根据节点对应的第一定位数据中的位置信息确定。
在本申请的一个实施例中,构图模块1030用于根据节点对应的第一定位数据的位置信息构建k-d树;基于所述k-d树进行邻近节点集的搜索,从骨架图中删除邻近节点集中编号较大的节点。
在本申请的一个实施例中,迭代模块1040,用于在骨架图中生成与迭代更新所使用的补充数据对应的新节点;在满足迭代停止条件时,将当前版本的骨架图与当前版本的点云地图对应保存。
在本申请的一个实施例中,迭代模块1040,具体用于在每次迭代时,选取补充数据与当前版本的点云地图进行点云匹配,获得点云匹配度,在点云匹配度不小于预设阈值的情况下,将选取的补充数据与当前版本的点云地图进行融合,得到新版本的点云地图,并结束本次迭代;在点云匹配度小于预设阈值的情况下,重新选取补充数据与当前版本的点云地图进行点云匹配,直至选取到与当前版本的点云地图的点云匹配度不小于预设阈值的补充数据,或者所有补充数据与当前版本的点云地图的点云匹配度均小于预设阈值。
需要说明的是,上述装置实施例中各模块的具体实施方式可以参照前述对应方法实施例的具体实施方式进行,在此不再赘述。
综上所述,本申请的技术方案,一方面,通过获取具有对应关系的定位数据和点云数据,选取定位可信度大于预设阈值的第一定位数据,根据选取的第一定位数据的位置信息以及选取的第一定位数据所对应的点云数据构建点云地图,由于直接使用定位可信度高的第一定位数据所对应的点云构建点云地图,从而保证了构建的点云地图的绝对精度。另一方面,通过将定位数据中未被选取的第二定位数据所对应的点云数据作为补充数据,基于补充数据和点云匹配算法,对点云地图进行迭代更新,保证了构建的点云地图的相对精度。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本申请也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本申请的内容,并且上面对特定语言所做的描述是为了披露本申请的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的构建点云地图的装置中的一些或者全部部件的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
本文中使用的词语“自动驾驶车辆”包括在地面上行驶的车辆(例如汽车,卡车,公交车等),但也可以包括在空中行驶的车辆(例如无人机,飞机,直升机等),在水上行驶的车辆(例如船,潜艇等)。此外,本文中讨论的一个或多个“车辆”可以在其中容纳或不容纳一个或多个乘客。本文讨论的自动驾驶车辆也可以应用于无人配送比如快递物流,或外卖送餐等领域。
图11示出了根据本申请一个实施例的电子设备的结构示意图。该电子设备1100包括处理器1110和被安排成存储计算机可执行指令(计算机可读程序代码)的存储器1120。存储器1120可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM(ErasableProgrammable Read-Only Memory,可擦除可编程只读存储器)、硬盘或者ROM(Read OnlyMemory,只读存储器)之类的电子存储器。存储器1120具有存储用于执行上述方法中的任何方法步骤的计算机可读程序代码1131的存储空间1130。例如,用于存储计算机可读程序代码的存储空间1130可以包括分别用于实现上面的方法中的各种步骤的各个计算机可读程序代码1131。计算机可读程序代码1131可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。这样的计算机程序产品通常为例如图12所述的计算机可读存储介质。图12示出了根据本申请一个实施例的一种计算机可读存储介质的结构示意图。该计算机可读存储介质1200存储有用于执行根据本申请的方法步骤的计算机可读程序代码1131,可以被电子设备1100的处理器1110读取,当计算机可读程序代码1131由电子设备1100运行时,导致该电子设备1100执行上面所描述的方法中的各个步骤,具体来说,该计算机可读存储介质存储的计算机可读程序代码1131可以执行上述任一实施例中示出的方法。计算机可读程序代码1131可以以适当形式进行压缩。
应该注意的是上述实施例对本申请进行说明而不是对本申请进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (10)
1.一种构建点云地图的方法,其特征在于,包括:
获取具有对应关系的定位数据和点云数据,所述定位数据包括位置信息和定位可信度;
从定位数据中选取定位可信度大于预设阈值的第一定位数据;
根据选取的第一定位数据的位置信息,以及选取的第一定位数据所对应的点云数据构建点云地图;
将定位数据中未被选取的第二定位数据所对应的点云数据作为补充数据,基于补充数据和点云匹配算法,对所述点云地图进行迭代更新。
2.如权利要求1所述的方法,其特征在于,所述根据选取的第一定位数据的位置信息,以及选取的第一定位数据所对应的点云数据构建点云地图包括:
根据选取的第一定位数据的位置信息,将选取的第一定位数据所对应的点云数据进行拼接,得到点云地图。
3.如权利要求1所述的方法,其特征在于,所述定位数据还包括定位时间信息,所述根据选取的第一定位数据的位置信息,以及选取的第一定位数据所对应的点云数据构建点云地图包括:
根据选取的第一定位数据构建点云地图的骨架图,所述骨架图的各节点与选取的第一定位数据具有对应关系,节点的编号根据对应第一定位数据中的定位时间信息确定;
根据所述骨架图构建所述点云地图。
4.如权利要求3所述的方法,其特征在于,所述根据选取的第一定位数据构建点云地图的骨架图包括:
对骨架图的节点进行去重,使去重后的骨架图中每个节点的邻近节点数量不超过预设值;所述邻近节点根据节点对应的第一定位数据中的位置信息确定。
5.如权利要求4所述的方法,其特征在于,所述对骨架图的节点进行去重包括:
根据节点对应的第一定位数据的位置信息构建k-d树;
基于所述k-d树进行邻近节点集的搜索,从骨架图中删除邻近节点集中编号较大的节点。
6.如权利要求3所述的方法,其特征在于,所述将定位数据中未被选取的第二定位数据所对应的点云数据作为补充数据,基于补充数据和点云匹配算法,对所述点云地图进行迭代更新包括:
在骨架图中生成与迭代更新所使用的补充数据对应的新节点;
在满足迭代停止条件时,将当前版本的骨架图与当前版本的点云地图对应保存。
7.如权利要求1-6中任一项所述的方法,其特征在于,所述将定位数据中未被选取的第二定位数据所对应的点云数据作为补充数据,基于补充数据和点云匹配算法,对所述点云地图进行迭代更新包括:
在每次迭代时,选取补充数据与当前版本的点云地图进行点云匹配,获得点云匹配度,在点云匹配度不小于预设阈值的情况下,将选取的补充数据与当前版本的点云地图进行融合,得到新版本的点云地图,并结束本次迭代;在点云匹配度小于预设阈值的情况下,重新选取补充数据与当前版本的点云地图进行点云匹配,直至选取到与当前版本的点云地图的点云匹配度不小于预设阈值的补充数据,或者所有补充数据与当前版本的点云地图的点云匹配度均小于预设阈值。
8.一种构建点云地图的装置,其特征在于,包括:
获取模块,用于获取具有对应关系的定位数据和点云数据,所述定位数据包括位置信息和定位可信度;
选择模块,用于从定位数据中选取定位可信度大于预设阈值的第一定位数据;
构图模块,用于根据选取的第一定位数据的位置信息,以及选取的第一定位数据所对应的点云数据构建点云地图;
迭代模块,用于将定位数据中未被选取的第二定位数据所对应的点云数据作为补充数据,基于补充数据和点云匹配算法,对所述点云地图进行迭代更新。
9.一种电子设备,其特征在于,该电子设备包括:处理器;以及被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储一个或多个程序,所述一个或多个程序当被处理器执行时,实现如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010327550.XA CN111681163A (zh) | 2020-04-23 | 2020-04-23 | 构建点云地图的方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010327550.XA CN111681163A (zh) | 2020-04-23 | 2020-04-23 | 构建点云地图的方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111681163A true CN111681163A (zh) | 2020-09-18 |
Family
ID=72451733
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010327550.XA Pending CN111681163A (zh) | 2020-04-23 | 2020-04-23 | 构建点云地图的方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111681163A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112382116A (zh) * | 2020-11-12 | 2021-02-19 | 浙江吉利控股集团有限公司 | 一种用于获取车辆的点云地图的方法和系统 |
CN113156971A (zh) * | 2021-05-08 | 2021-07-23 | 珠海市一微半导体有限公司 | 一种纠正行走路径的方法、芯片和机器人 |
CN113219488A (zh) * | 2021-05-08 | 2021-08-06 | 珠海市一微半导体有限公司 | 一种机器人的建图的方法 |
CN113503883A (zh) * | 2021-06-22 | 2021-10-15 | 北京三快在线科技有限公司 | 采集用于构建地图的数据的方法、存储介质及电子设备 |
CN113568997A (zh) * | 2021-07-30 | 2021-10-29 | 京东鲲鹏(江苏)科技有限公司 | 点云地图更新方法、装置、电子设备和计算机可读介质 |
CN113639745A (zh) * | 2021-08-03 | 2021-11-12 | 北京航空航天大学 | 一种点云地图的构建方法、装置及存储介质 |
WO2022143713A1 (zh) * | 2020-12-31 | 2022-07-07 | 杭州海康机器人技术有限公司 | 一种v-slam地图校验方法、装置及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160379366A1 (en) * | 2015-06-25 | 2016-12-29 | Microsoft Technology Licensing, Llc | Aligning 3d point clouds using loop closures |
CN108230379A (zh) * | 2017-12-29 | 2018-06-29 | 百度在线网络技术(北京)有限公司 | 用于融合点云数据的方法和装置 |
CN108765487A (zh) * | 2018-06-04 | 2018-11-06 | 百度在线网络技术(北京)有限公司 | 重建三维场景的方法、装置、设备和计算机可读存储介质 |
CN108921947A (zh) * | 2018-07-23 | 2018-11-30 | 百度在线网络技术(北京)有限公司 | 生成电子地图的方法、装置、设备、存储介质以及采集实体 |
CN108955677A (zh) * | 2018-08-02 | 2018-12-07 | 苏州中德睿博智能科技有限公司 | 一种基于激光雷达与gps的拓扑地图创建方法及建图装置 |
CN110276834A (zh) * | 2019-06-25 | 2019-09-24 | 达闼科技(北京)有限公司 | 一种激光点云地图的构建方法、终端和可读存储介质 |
-
2020
- 2020-04-23 CN CN202010327550.XA patent/CN111681163A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160379366A1 (en) * | 2015-06-25 | 2016-12-29 | Microsoft Technology Licensing, Llc | Aligning 3d point clouds using loop closures |
CN108230379A (zh) * | 2017-12-29 | 2018-06-29 | 百度在线网络技术(北京)有限公司 | 用于融合点云数据的方法和装置 |
CN108765487A (zh) * | 2018-06-04 | 2018-11-06 | 百度在线网络技术(北京)有限公司 | 重建三维场景的方法、装置、设备和计算机可读存储介质 |
CN108921947A (zh) * | 2018-07-23 | 2018-11-30 | 百度在线网络技术(北京)有限公司 | 生成电子地图的方法、装置、设备、存储介质以及采集实体 |
CN108955677A (zh) * | 2018-08-02 | 2018-12-07 | 苏州中德睿博智能科技有限公司 | 一种基于激光雷达与gps的拓扑地图创建方法及建图装置 |
CN110276834A (zh) * | 2019-06-25 | 2019-09-24 | 达闼科技(北京)有限公司 | 一种激光点云地图的构建方法、终端和可读存储介质 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112382116A (zh) * | 2020-11-12 | 2021-02-19 | 浙江吉利控股集团有限公司 | 一种用于获取车辆的点云地图的方法和系统 |
WO2022143713A1 (zh) * | 2020-12-31 | 2022-07-07 | 杭州海康机器人技术有限公司 | 一种v-slam地图校验方法、装置及设备 |
CN113156971A (zh) * | 2021-05-08 | 2021-07-23 | 珠海市一微半导体有限公司 | 一种纠正行走路径的方法、芯片和机器人 |
CN113219488A (zh) * | 2021-05-08 | 2021-08-06 | 珠海市一微半导体有限公司 | 一种机器人的建图的方法 |
CN113503883A (zh) * | 2021-06-22 | 2021-10-15 | 北京三快在线科技有限公司 | 采集用于构建地图的数据的方法、存储介质及电子设备 |
CN113568997A (zh) * | 2021-07-30 | 2021-10-29 | 京东鲲鹏(江苏)科技有限公司 | 点云地图更新方法、装置、电子设备和计算机可读介质 |
CN113639745A (zh) * | 2021-08-03 | 2021-11-12 | 北京航空航天大学 | 一种点云地图的构建方法、装置及存储介质 |
CN113639745B (zh) * | 2021-08-03 | 2023-10-20 | 北京航空航天大学 | 一种点云地图的构建方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111681163A (zh) | 构建点云地图的方法、装置、电子设备和存储介质 | |
CN109285220B (zh) | 一种三维场景地图的生成方法、装置、设备及存储介质 | |
KR102145109B1 (ko) | 지도 생성 및 운동 객체 위치 결정 방법 및 장치 | |
KR102273559B1 (ko) | 전자 지도를 업데이트하기 위한 방법, 장치 및 컴퓨터 판독 가능한 저장 매체 | |
CN109214248B (zh) | 用于识别无人驾驶车辆的激光点云数据的方法和装置 | |
JP6595182B2 (ja) | マッピング、位置特定、及び姿勢補正のためのシステム及び方法 | |
CN108280866B (zh) | 道路点云数据处理方法及系统 | |
CN111351493A (zh) | 一种定位方法和系统 | |
JP7149362B2 (ja) | 環境変化を検出するための方法及び装置、計算装置、記憶媒体並びにコンピュータプログラム | |
WO2021207999A1 (zh) | 车辆定位的方法和装置、定位图层生成的方法和装置 | |
WO2024012211A1 (zh) | 自动驾驶环境感知方法、介质及车辆 | |
CN112041210B (zh) | 用于自动驾驶的系统和方法 | |
CN114485698B (zh) | 一种交叉路口引导线生成方法及系统 | |
CN113639745B (zh) | 一种点云地图的构建方法、装置及存储介质 | |
US20210358166A1 (en) | Methods, apparatuses, systems, and storage media for loading visual localization maps | |
CN112652062A (zh) | 一种点云地图构建方法、装置、设备和存储介质 | |
CN114187357A (zh) | 一种高精地图的生产方法、装置、电子设备及存储介质 | |
JP2022111060A (ja) | 道路情報変化領域補完方法及びシステム | |
CN111982133A (zh) | 基于高精地图对车辆进行定位的方法、装置及电子设备 | |
Amin et al. | Reconstruction of 3D accident scene from multirotor UAV platform | |
CN116486377B (zh) | 可行驶区域的生成方法及装置 | |
CN115493603B (zh) | 地图对齐方法、计算机设备及计算机可读存储介质 | |
CN110163880B (zh) | 一种在Unity中获取点云路面高度的方法 | |
CN116626670A (zh) | 自动驾驶模型的生成方法、装置、车辆及存储介质 | |
CN111912418A (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 |