CN114322987A - 一种构建高精地图的方法及装置 - Google Patents
一种构建高精地图的方法及装置 Download PDFInfo
- Publication number
- CN114322987A CN114322987A CN202111615473.9A CN202111615473A CN114322987A CN 114322987 A CN114322987 A CN 114322987A CN 202111615473 A CN202111615473 A CN 202111615473A CN 114322987 A CN114322987 A CN 114322987A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- sub
- determining
- graph
- subgraph
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 230000008859 change Effects 0.000 claims abstract description 56
- 230000007613 environmental effect Effects 0.000 claims abstract description 48
- 238000005457 optimization Methods 0.000 claims abstract description 18
- 230000000875 corresponding effect Effects 0.000 claims description 50
- 230000008569 process Effects 0.000 claims description 35
- 238000004590 computer program Methods 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 16
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 230000002596 correlated effect Effects 0.000 claims description 4
- 238000012216 screening Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 10
- 230000006872 improvement Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000010276 construction Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000000605 extraction Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Traffic Control Systems (AREA)
Abstract
本说明书公开了一种构建高精地图的方法,获取不同采集精度的采集车采集的各第一点云子图以及各第二点云子图,确定各待选子图对,确定其中覆盖范围存在重叠的待选子图对,作为目标子图对,以各目标子图对中对应相同环境点的激光点的位置差值不大于预设阈值为约束,以目标子图对中两个点云子图的位置变化差值,和单个点云子图位置变化最小为优化目标,建立最优解问题,根据解算得到的各第一点云子图以及各第二点云子图的位姿,构建高精地图。本方法通过对不同精度采集车采集的点云数据的位姿调整,解决了难以兼顾采集数据的精度以及采集数据的范围的问题,使得高精度与低精度的点云数据可以合并至同一坐标系下,构建高精地图。
Description
技术领域
本说明书涉及高精地图技术领域,尤其涉及一种构建高精地图的方法及装置。
背景技术
目前,构建高精地图是无人配送领域的关键技术,构建得到的高精地图可为无人车导航以及定位提供数据。而构建高精地图所使用的环境数据的准确度,决定了高精地图的精度。
现有技术中,为了使高精地图构建的更加准确,一般使用高精度传感器采集环境数据。在对道路的环境数据进行采集时,通常将传感器安装在采集车上,通过采集车上路行驶来采集环境数据,并根据采集的环境数据构建高精地图。常见的采集车一般可分为两类,一类是基于汽车改造的采集车,另一类为无人配送车等无人驾驶设备。
为了保证高精地图的精度,通常对所使用的环境数据有精度要求,而汽车能够为传感器提供稳定平台,因此一般选择基于汽车改造的采集车采集的环境数据构建高精地图。
但是,由于汽车可行驶区域限制较多,对窄路或者非机动车道等区域的数据采集受限,导致现有构建高精地图的技术,难以兼顾采集数据的精度以及采集数据的范围。
发明内容
本说明书提供一种构建高精地图的方法及装置,以部分的解决现有技术存在的上述问题。
本说明书采用下述技术方案:
本说明书提供的构建高精地图的方法,包括:
获取第一采集车采集的点云数据,确定各第一点云子图,获取第二采集车采集的点云数据,确定各第二点云子图,所述第一点云子图与所述第二点云子图的精度不同;
根据所述各第一点云子图以及所述各第二点云子图,确定各待选子图对;
从各待选子图对中,确定两个点云子图的覆盖范围存在重叠的待选子图对,为目标子图对;
针对每个目标子图对,确定该目标子图对中对应相同环境点的激光点的位置差值;
根据该目标子图对中,两个点云子图之间的位置变化差值,确定第一损失;
根据各第一点云子图的位置变化,以及各第二点云子图的位置变化,确定第二损失;
以各位置差值不大于预设阈值为约束,所述第一损失与所述第二损失之和最小为优化目标,建立最优解问题,根据解算得到的各第一点云子图以及各第二点云子图的位姿,构建高精地图。
可选的,获取第一采集车采集的点云数据,确定各第一点云子图,获取第二采集车采集的点云数据,确定各第二点云子图,具体包括:
获取第一采集车行驶过程中采集的各帧点云数据,以及确定各帧点云数据的采集时间;
针对所述第一采集车每次行驶过程,根据该行驶过程中采集时间差小于第一预设时长的各连续帧点云数据,分别确定若干第一点云子图;
获取第二采集车行驶过程中采集的各帧点云数据,以及确定各帧点云数据的采集时间;
针对所述第二采集车每次行驶过程,根据该行驶过程中采集时间差小于第二预设时长的各连续帧点云数据,分别确定若干第二点云子图。
可选的,根据所述各第一点云子图以及所述各第二点云子图,确定各待选子图对,具体包括:
根据所述各第一点云子图以及所述各第二点云子图,以一个第一点云子图与一个第二点云子图、两个不同第一点云子图以及两个不同第二点云子图进行配对的方式,确定各待选子图对。
可选的,从各待选子图对中,确定两个点云子图的覆盖范围存在重叠的待选子图对,为目标子图对,具体包括:
针对每个待选子图对,根据该待选子图对中两个点云子图包含的点云的位置,分别确定所述两个点云子图对应的覆盖范围;
若所述两个点云子图对应的覆盖范围重叠,确定该待选子图对为目标子图对。
可选的,针对每个目标子图对,确定该目标子图对中对应相同环境点的激光点的位置差值,具体包括:
针对每个目标子图对,确定该目标子图对中两个点云子图包含的各激光点的点云特征;
根据各激光点的点云特征之间的相似度,确定相似度大于预设阈值的激光点,作为对应相同环境点的匹配激光点对;
根据该目标子图对中,确定各匹配激光点对中激光点的位置差值。
可选的,根据该目标子图对中,两个点云子图之间的位置变化差值,确定第一损失,具体包括:
确定该目标子图对中,两个点云子图在基于优化算法进行位置调整前后,所述两个点云子图的位置变化值;
确定所述两个点云子图的位置变化值的差值;
根据基于各目标子图对确定的差值,确定所述第一损失。
可选的,所述第一采集车采集点云数据的精度高于所述第二采集车采集点云数据的精度;
根据各第一点云子图的位置变化,以及各第二点云子图的位置变化,确定第二损失,具体包括:
针对每个第一点云子图,确定该第一点云子图基于优化算法进行位置调整前后,该第一点云子图的位置变化值,以通过预设的第一权重,确定第一加权值;
针对每个第二点云子图,确定该第二点云子图基于优化算法进行位置调整前后,该第二点云子图的位置变化值,以通过预设的第二权重,确定第二加权值;
根据各第一加权值以及各第二加权值,确定所述第二损失;
其中,所述第一权重和所述第二权重的比值,与所述第一点云子图和所述第二点云子图的数据精度差正相关。
本说明书提供的构建高精地图的装置,包括:
获取模块,用于获取第一采集车行驶过程中采集的点云数据,确定各第一点云子图,获取第二采集车行驶过程中采集的点云数据,确定各第二点云子图,所述各第一点云子图与所述各第二点云子图之间存在至少部分重叠,所述第一点云子图与所述第二点云子图的精度不同;
配对模块,用于根据所述各第一点云子图以及所述各第二点云子图,确定各待选子图对;
筛选模块,用于从各待选子图对中,确定两个点云子图的覆盖范围存在重叠的待选子图对,为目标子图对;
位置差值确定模块,用于针对每个目标子图对,确定该目标子图对中对应相同环境点的激光点的位置差值;
第一损失模块,用于根据该目标子图对中,两个点云子图之间的位置变化差值,确定第一损失;
第二损失模块,用于根据各第一点云子图的位置变化,以及各第二点云子图的位置变化,确定第二损失;
建图模块,以各位置差值不大于预设阈值为约束,所述第一损失与所述第二损失之和最小为优化目标,建立最优解问题,根据解算得到的各第一点云子图以及各第二点云子图的位姿,构建高精地图。
本说明书提供的计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述构建高精地图的方法。
本说明书提供的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述构建高精地图的方法。
在本说明书提供的构建高精地图的方法中,获取不同采集精度的采集车采集的各第一点云子图以及各第二点云子图,确定各待选子图对,确定其中覆盖范围存在重叠的待选子图对,作为目标子图对,以各目标子图对中对应相同环境点的激光点的位置差值不大于预设阈值为约束,以目标子图对中两个点云子图的位置变化差值,和单个点云子图位置变化最小为优化目标,建立最优解问题,根据解算得到的各第一点云子图以及各第二点云子图的位姿,构建高精地图。
从上述方法中可以看出,本方法通过对不同精度采集车采集的点云数据的位姿调整,解决了难以兼顾采集数据的精度以及采集数据的范围的问题,使得高精度与低精度的点云数据可以合并至同一坐标系下,构建高精地图。
附图说明
此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本说明书,并不构成对本说明书的不当限定。在附图中:
图1为不同精度采集车采集数据形成重影的示意图;
图2为本说明书实施例提供的一种构建方法的流程示意图;
图3为本说明书实施例提供的两个点云子图的示意图;
图4为本说明书实施例提供的一个点云子图的位置的示意图;
图5为本说明书实施例提供的一种构建高精地图装置的示意图;
图6为本说明书实施例提供的对应于图2的电子设备示意图。
具体实施方式
为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本说明书技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
由于汽车可行驶区域限制较多,基于汽车改造的采集车,难以对汽车行驶受限区域进行数据采集。但是,由于高精地图不仅用于汽车,也可用于低速行驶的无人驾驶设备,如无人配送车等。因此,基于汽车改造的采集车所采集的数据构建的高精地图,由于数据覆盖范围的缺失,难以更广泛的应用。
本说明书中所指受限区域为窄路、辅路、人行道以及小区内部道路等,正常机动车辆无法行驶或者到达的区域。该受限区域包括公共道路以及非公共道路,或者该受限区域还可包括非道路的区域(例如广场等)。
另外,当使用无人配送车等低速行驶的无人驾驶设备,作为采集车上路行驶来采集环境数据时,由于无人驾驶设备更容易受环境因素的影响,无法为传感器提供稳定的平台,使得到的采集数据精度较低。且避障所需的传感器精度相对较低,而无人配送车不是主要用于采集数据工作的,因此出于成本考虑,通常无人配送车安装精度较低的传感器。使用如无人配送车等无人驾驶设备,采集的环境数据构建的高精地图,无法满足高精地图的精度要求。
相对于汽车而言,常见无人配送车等无人驾驶设备体型较小,行驶的受限区域少,可以在汽车的行驶的受限内区域行驶。为了在构建高精地图时,使得到的环境数据更完善,覆盖范围更大,减少地图死角,可对无人驾驶设备采集环境数据和汽车改造的采集车采集的环境数据,进行拼接,再基于拼接环境数据构建高精地图。
但是,由于无人驾驶设备采集得到的环境数据精度较低,在和汽车改造的采集车采集的点云数据,拼接之后,表征相同环境点的点云数据的坐标在两种环境数据中不一致,造成构建得的高精地图中的地图元素出现重影,或者尺寸错误,难以满足高精地图的使用要求,如图1所示。
图1为不同精度采集车采集数据形成重影的示意图,图1中左侧展示的是两种不同精度的采集车采集的点云数据的示意图,其中细实线为一个采集车采集的点云数据的位置,虚线表示另一采集车采集的点云数据的位置,可知对应同样的车道线,两个采集车给出了不同位置的点云数据。在进行点云数据拼接并构建高精地图后,得到车道线对应的地图元素,如图1右侧所示。其位置以及尺寸存在错误,导致该高精地图难以满足使用需求。
为了解决上述问题,本说明书实施例提供了一种构建高精地图的方法,以下结合附图,详细说明本说明书各实施例提供的技术方案。
图2为本说明书中一种构建高精地图的流程示意图,具体包括以下步骤:
S100:获取第一采集车采集的点云数据,确定各第一点云子图,获取第二采集车采集的点云数据,确定各第二点云子图,所述第一点云子图与所述第二点云子图的精度不同。
在本说明书一个或多个实施例中,为了使构建的高精地图更加完整,避免高精地图范围不足的问题,本说明书采用第一采集车和第二采集车采集的点云数据联和构建高精地图。并且,第一采集车和第二采集车行驶受限区域不同,使第二采集车在第一采集车的受限区域内采集点云数据。例如,第一采集车可以是汽车等,第二采集车可以是无人配送车或者三轮自行车等。只要第一采集车和第二采集车行驶受限区域的范围不同即可。当然,由于构建高精地图的计算量较大,因此通常由后台的服务器执行,本说明书以该构建高精地图的流程由服务器执行为例进行后续描述。
另外,第一采集车的传感器的采集精度与第二采集车的传感器的采集精度不同。在本说明书一个或多个实施例中,该传感器可包括定位芯片,例如全球定位系统(GlobalPositioning System,GSP)芯片以及激光雷达等。用于确定激光雷达采集的点云数据在大地坐标系下的坐标。当然,在本说明书中该传感器还可包括其他的电子元器件,例如惯性测量单元(Inertial Measurement Unit,IMU),本说明书不做具体要求,可根据需要设置。只要通过该传感器可以采集点云数据并确定点云数据的坐标即可。
具体的,在本说明书一个或多个实施例中,将采集的点云数据精度相对较高的采集车,作为第一采集车采集,将采集的点云数据精度相对较低的采集车,作为第二采集车采集。其中,无论是该第一采集车,还是该第二采集车,其采集的点云数据均为起在行驶过程中采集的,因此各点云数据存在采集顺序上的先后关系。
在本说明书提供的实施例中,可根据第一采集车采集的点云数据,确定若干第一点云子图。具体的,该服务器先前确定由第一采集车采集的点云数据。然后,对行驶过程中采集的点云数据进行分组。之后,针对每组点云数据,根据该组点云数据在行驶过程中的采集顺序,确定若干第一点云子图。
其中,一帧点云数据构成一个点云子图。具体的,根据第一采集车上安装的传感器,确定第一采集车的当前位置,当第一采集车进行点云数据采集时,根据传感器上的激光雷达,获取到对应第一采集车周围环境的若干激光点,根据第一采集车的当前位置,确定各激光点的位置,根据各激光点的位置,确定当前时刻下,采集到的一帧点云数据,确定该帧点云数据构成一个第一点云子图。或者,由第一采集车在行驶过程中,按时间的先后顺序,采集到的多帧连续的点云数据构成的第一点云子图。
同理,针对第二采集车采集的点云数据,可以采用相同的方法确定个第二点云子图。
进一步地,当第一点云子图的覆盖范围与第二点云子图的覆盖范围存在重叠时,地图元素才有可能存在重影的情况。并且,当第一点云子图的覆盖范围与第二点云子图的覆盖范围存在重叠时,才能进行位置校正。因此本说明书中的第一点云子图与第二点云子图的覆盖范围至少部分存在重叠。
图3为本说明书实施例提供的两个点云子图的示意图。图3中的竖线分别表示第一采集车和第二采集车的行驶轨迹。图中的圆形表示一帧点云数据,圆的中心点表示采集车采集该帧点云数据时的位置。其中,b1、b2、b3和b4表示第一采集车行驶时,按时间的先后顺序,依次在b1、b2、b3和b4坐标点处采集到的四帧点云数据。a1、a2、a3和a4表示第二采集车行驶时,按时间先后顺序,依次在a1、a2、a3和a4坐标点处采集到的四帧点云数据。由连续帧的点云数据,确定一个第一点云子图或一个第二点云子图。以a1、a2和a3为圆心形成三帧连续的点云数据确定一个第二点云子图,或者以a2、a3和a4为圆心形成三帧连续的点云数据构成一个第二点云子图。当然,也可以根据b1、b2和b3为圆心形成三帧连续的点云数据确定一个第一点云子图,或者根据b2、b3和b4为圆心形成三帧连续的点云数据构成一个第一点云子图。
进一步地,对某一区域构建高精地图,在获取点云数据时,可以派出第一采集车和第二采集车进行数据的采集,也可以根据已派出的第一采集车和第二采集车,获取点云数据。
S102:根据各第一点云子图以及各第二点云子图,确定各待选子图对。
在本说明书一个或多个实施例中,该服务器在确定出各第一点云子图以及各第二点云子图后,便可确定各待选子图对。本说明书提供的构建地图的方法需要将不同的精度的点云子图进行融合,并避免融合后的点云子图生成的地图中的地图元素出现重影。因此需要调整至少部分点云子图的位置,使得不同点云子图中表征同一环境点的激光点的位置的误差在预设阈值内。
而表征同一环境点的激光点的位置的误差,一般出现在不同精度的点云子图中,即,出现在第一点云子图与第二点云子图分别包含的激光点表征同一环境点的情况下。因此,至少需要先将各第一点云子图分别与各第二点云子图进行两两组对,得到待选子图对,以便后续进行位置调整。
当然,由于第一点云子图之间以及第二点云子图之间,也存在包含的点云数据表征同一环境点的情况,为了避免调整后第一点云子图之间以及第二点云子图之间,出现点云数据的位置的误差。同样需要确定两两第一点云子图,以及两两第二点云子图组成的待选子图对。
具体的,在本说明书一个或多个实施例中,该服务器可根据各第一点云子图以及各第二点云子图,以一个第一点云子图与一个第二点云子图、两个不同第一点云子图以及两个不同第二点云子图进行配对的方式,确定各待选子图对。
进一步的,由于只有两个点云子图的覆盖范围有重叠,两个点云子图中的点云数据才有可能是表征同一环境点的。而只有点云子图的位置相近,其覆盖范围才有可能重叠,因此在确定各待选子图对时,该服务器还可根据各第一点云子图以及各第二点云子图的位置,确定各待选子图对。
具体的,首先,确定各第一点云子图以及各第二点云子图的位置。其中,由于在本说明书中第一点云子图,可由多帧点云数据组成,因此对于每个第一点云子图,该服务器可确定该第一点云子图包含的各帧点云数据中激光点的位置,并根据各激光点的位置,确定包围各点云的最小外接多边形,以该最小外接多边形的中心点,作为该第一点云子图的位置。如图4所示,图4中的点表示一个第一点云子图中各帧点云数据中的激光点,确定各激光点的位置,通过线段连接最外层激光点形成一个最小外接多边形,确定最小外接多边形的中心点“×”,将中心点“×”作为该第一点云子图的位置。同理,对于第二点云子图,该服务器也可采用相同的方式,确定第二点云子图的位置。
其次,根据各第一点云子图的位置和各第二点云子图的位置,确定各点云子图之间的距离,点云子图之间的距离小于预设的距离阈值的,作为各待选子图对。其中,距离阈值根据经验设置,或者,根据传感器的采集距离进行确定。例如,传感器的监测距离是100米,则相距200米以上点云覆盖范围重叠可能性较小,所以可以根据该传感器采集距离进行设置。本说明书中该距离阈值的设置方式具体不做限制,可根据需要设置。
在本说明书一个或多个实施例中,最小外接多边形的覆盖范围就是点云子图的覆盖范围,后续可以根据两个点云子图的覆盖范围有重叠的,确定目标子图对。
S104:根据各待选子图对中,确定两个点云子图的覆盖范围存在重叠的待选子图对,为目标子图对。
在本说明书的一个或多个实施例中,只有待选子图对中,两个点云子图的覆盖范围有重叠,两个点云子图包含的各激光点中才可能存在表征同一环境点的激光点。且,当表征同一环境点的两个激光点的坐标不一致时,根据该两个激光点构建地图后,会出现地图元素重影问题。因此,为了避免重影问题,该服务器可对各点云子图中,与其他点云子图的覆盖范围存在重叠的点云子图进行位置调整。于是,该服务器可以从各待选子图对中,确定覆盖范围有重叠的待选子图对,作为目标子图对。以在后续步骤中对目标子图对中包含的点云子图进行位置调整。
具体的,首先,该服务器可针对步骤S102确定出的每个待选子图对,分别确定该待选子图对中两个点云子图对应的覆盖范围。当然,由于待选子图对可由两个不同第一点云子图、两个不同第二点云子图,或者一个第一点云子图和一个第二点云子图,因此上述两个点云子图,也可以是上述三种情况之一。
其次,判断该两个点云子图对应的覆盖范围是否存在重叠;
若是,则确定该待选子图对为目标子图对;
否则,确定该待选子图对不是目标子图对。
进一步地,在本说明书的一个或多个实施例中,该服务器在判断该两个点云子图对应的覆盖范围是否存在重叠时,可根据两个点云子图覆盖范围的边界是否交叉,判断两个点云子图是否重叠。也就是说所,如果两个点云子图覆盖范围的边界有交叉,则可确定两个点云子图的覆盖范围重叠,否则不重叠。
更进一步地,若两个点云子图的覆盖范围重叠的面积较小,则也有可能重叠区域没有表征同一环境点的两个激光点。也就是说,重叠面积越小,两个点云子图中有表征同一环境点的两个激光点的概率越低。如果没有这样的激光点,则后续步骤该服务器,无法以表征同一环境点的两个激光点的坐标应当一致为约束条件,对点云子图的位置调整。例如,一个第一点云子图的覆盖范围与一个第二点云子图的覆盖范围的重叠的面积只有1平方厘米,那么在这个区域内存在表征同一环境点的两个激光点可能性很小。
于是,在本说明书的一个或多个实施例中,该服务器在判断该两个点云子图对应的覆盖范围是否存在重叠时,还可根据预设覆盖范围阈值,判断该两个点云子图对应的覆盖范围是否存在重叠。若该两个点云子图对应的覆盖范围的重叠区域大于预设覆盖范围阈值时,则确定该两个点云子图对应的覆盖范围存在重叠。若该两个点云子图对应的覆盖范围的重叠区域小于预设覆盖范围阈值时,则确定该两个点云子图对应的覆盖范围没有重叠。
其中,该服务器判断该两个点云子图对应的覆盖范围的重叠区域越大,则两个点云子图中存在表征同一环境点的两个激光点的概率越高。
S106:针对每个目标子图对,确定该目标子图对中对应相同环境点的激光点的位置差值。
通常来说点云数据越密集,则基于该点云数构建的高精地图就越准确。因此,在本说明书的一个或多个实施例中,第一采集车以及第二采集车,可通过反复对同一区域进行点云数据采集的方式,增加服务器在步骤S100获取的数据的丰富程度。
但是,即使是同一辆采集车,该采集车在对同一区域进行多次数据采集得到的点云数据,也会受传感器误差、环境因素、采集车行驶时的状态速度等影响,导致采集的表征同一环境点的激光点位置存在偏差。更何况本说明书中该服务器获取的是由采集精度不同的第一采集车和第二采集车,分别采集的点云数据。
为减少由于采集精度带来的构建地图后地图元素重影的问题,需要避免对应相同环境点的激光点的位置差值带来的影响。因此,该服务器可针对每个目标子图对,确定该目标子图对中对应相同环境点的激光点的位置差值,以便后续以确定出的各位置差值均小于预设阈值为约束,调整至少部分点云子图的位置。
具体的,首先,针对每个目标子图对,该服务器可先确定该目标子图对中两个点云子图包含的每个激光点的点云特征。其中,该点云特征可包括:激光点对应的环境点的相对传感器的距离、方位、高度等信息,也可包括:环境点所在物体的材质、纹理、反射率的等信息。当然,由于目前点云特征的提取已经较为成熟,且有多种方式,本说明书对此不作限制,可根据需要设置。
然后,根据各激光点的点云特征之间的相似度,确定相似度大于预设阈值的激光点,作为对应相同环境点的匹配激光点对。该服务器可通过计算重叠区域中各激光点之间点云特征的余弦距离,确定两两激光点之间的相似度。当然,由于只有不同点云子图中的激光点,才可能是表征同一环境点的激光点,因此,在确定相似度时,可以只确定重叠区域内不同点云子图中激光点之间的相似度。
其中,根据余弦距离确定两两激光点之间的相似度后,可以根据预设的相似度阈值,将相似度高于该相似度阈值的两个激光点,作为对应相同环境点的两个激光点,即匹配激光点对。例如,假设该相似度阈值为99%,则只有两个激光点的点云特征的相似度大于99%,才可确定该两个激光点云表征的是同一环境点。进一步地,点云特征之间相似度的预设阈值,本说明书不做具体限制,可根据需要设置。
最后,确定在该目标子图对中,各匹配激光点对中激光点的位置差值。其中,激光点的位置可以用一个1×3的矩阵表示。
S108:根据该目标子图对中,两个点云子图之间的位置变化差值,确定第一损失。
在本说明书的一个或多个实施例中,由于若只根据步骤S106确定各位置差值,对各点云子图对进行位置调整,可能会出现相邻的点云子图之间出现错位的情况,因此为了避免构建的高精地图出现错位的现象,还可限制目标子图对中两个点云子图的位置变化的差值大小。并且,由于通过步骤S104将两两点云子图关联起来,得到各目标子图对,因此通过确定每个目标子图所对应的位置变化的差值大小,可以从整体上保证位置调整后点云子图之间的连贯性。
具体的,采用以下公式,确定各目标子图对中两个点云子图位置调整前后确定的差值之和,作为第一损失。
其中,m,n分别表示采集该目标子图对中两个点云子图的采集车,FPS表示第一采集车和第二采集车的集合,i表示第i个目标子图对,p表示的是点云子图的位姿,基于在本说明书步骤S102中确定的点云子图的位置,并增加其朝向对应的表示,因此可采用1×6矩阵表示。其中前三位用于表征坐标、后三位用于表征俯仰角、偏航角、滚转角。Smn表示目标子图对的集合。
表示位置变化值的差值,其中,m,n可以是同一辆第一采集车,或者同一辆第二采集车,也可以表示一辆第一采集车和一辆第二采集车。若m,n是同一辆第一采集车,则和表示根据同一辆第一采集车确定的两个不同的点云子图的位姿。
Wi表示对该目标子图对中两个点云子图优化前和优化后的预设权重,通过预设一个6×6的矩阵表示,使得到一个数值结果,表征第i个目标子图对中两个点云子图的位置变化值的差值。可见,E表示确定各目标子图对中两个点云子图的位置变化值的差值的累计结果。
需要说明的是,本说明书所构建高精地图是由各第一点云子图和各第二点云子图中的点云数据合并而来的,因此在进行各点云子图的位置调整时,根据一个目标子图对,确定的一个第一损失只作为总体第一损失的一部分,而得到的所有的第一损失之和,作为第一损失。
S110:根据各第一点云子图的位置变化,以及各第二点云子图的位置变化,确定第二损失。
并且,由于本说明书提供的构建地图的方法,是为了避免地图元素出现重影,因此对于点云位置的调整通常较小,一般不会出现大范围的位置调整。而使步骤S104中的任意目标子图对中表征同一环境点的激光点位置差值为零,存在多种点云子图位置调整的解,为了避免调整后的点云子图位置偏差过大,在本说明书一个或多个实施例中,该服务器还可根据各第一点云子图的位置变化,以及各第二点云子图的位置变化,确定第二损失。
具体的,该服务器可采用公式确定第二损失。其中,m表示各第一采集车或者各第二采集车,k表示第一点云子图以及第二点云子图集合中的第k个点云子图,表示第k个点云子图进行位置调整前的位姿,表示第k个点云子图进行位置调整后的位姿,该第k个点云子图是由第m个采集车采集的。则E′为所有第一点云子图的位置变化,以及所有第二点云子图的位置变化之和,即第二损失。
另外,在本说明书的一个或多个实施例中,由于第一采集车采集点云数据的精度高于第二采集车采集点云数据的精度,因此在进行点云子图的位置调整时,可更多调整第二点云子图的位置,以保证最终构建的高精地图中地图元素位置的准确性。因此,该服务器在计算该第二损失时,还可针对第一点云子图以及第二点云子图设置不同的权重,以在通过步骤S112解算出各点云子图的位置时,对第一点云子图位置调整的总量小于对第二点云子图位置调整的总量。
具体的,该服务器可根据预设的第一点云子图对应的第一权重,以及第二点云子图对应的第二权重,确定第二损失。其中,第一权重大于第二权重,使得当第一点云子图与第二点云子图的位置变化相同时,对第二损失的贡献不一致,即在相同的位置变化下,第二点云子图带来的损失小于第一点云子图带来的损失。使得后续步骤S112中,以损失最小解算最优解问题时,整体上对各第一点云子图调整后的位置变化,小于对各第二点云子图调整后的位置变化。
采用下述公式表示在加入预设的权重后计算的第二损失。
其中,E′表示第二损失,m表示各第一采集车或者各第二采集车,FPS表示第一采集车和第二采集车的集合。k表示在第一点云子图以及第二点云子图集合中的第k个点云子图。Wm表示第m个采集车对应的权重,其中当m为第一采集车时,Wm为第一权重,当m为第二采集车时,Wm为第二权重。表示第k个点云子图进行位置调整前的位姿,表示第k个点云子图进行位置调整后的位姿,该第k个点云子图是由第m个采集车采集的。
可见,当k为第一点云子图时,第m个采集车为第一采集车。为了在调整后计算总损失时,体现出第一点云子图的位姿在调整时对整个高精地图的构建影响较大,Wm为预设的第一权重。同理,当k为第二点云子图时,第m个采集车为第二采集车,Wm为预设的第二权重。通过上述公式,获取对应的第二损失,即E′的数值。
另外,在本说明书的一个或多个实施例中,第一权重和第二权重的比值,与第一点云子图和第二点云子图的数据精度差正相关。具体的,当第一点云子图的精度和第二点云子图的精度差值较大时,则第一权重和第二权重的比值也是一个较大的数值。例如,当第一点云子图和第二点云子图的定位精度相差越大,第一权重和第二权重的比值就越大,以此来使构建的高精地图,更加准确。
S112:以各位置差值不大于预设阈值为约束,所述第一损失与所述第二损失之和最小为优化目标,建立最优解问题,根据解算得到的各第一点云子图以及各第二点云子图的位姿,构建高精地图。
为使构建得到的高精地图在拼接之后没有重影,需要建立最优解问题。在本说明书的一个或多个实施例中,该服务器可采用以下公式确定总损失。
通过来表示总损失,在确定的数值时,W1表示预设E的对应权重,E表示在步骤S108中计算的第一损失,W2表示预设E′的对应权重,E′表示在步骤S110中计算的第二损失,以最小为优化目标,该服务器可给定一个迭代的方向,不断进行迭代,在满足各位置差值不大于预设阈值为约束条件的情况下,通过对各第一点云子图和各第二点云子图的点云进行位姿调整,使构建高精地图时,各第一点云子图和各第二点云子图在重叠之后,没有重影。
更进一步地,通过解算得到的各第一点云子图以及各第二点云子图的位姿,获取点云数据,进行拼接,构建完整的高精地图。
需要说明的是,在步骤S100中说明了第一点云子图和第二点云子图的覆盖至少有部分重叠,但是通常来说,当需要对某个区域构建高精地图时,可以通过第一采集车和第二采集车采集该区域点云数据,并执行后续操作。第一点云子图和第二点云子图都是该区域内的点云数据。
基于图2所示的构建高精地图方法,获取不同采集精度的采集车采集的各第一点云子图以及各第二点云子图,确定各待选子图对,确定其中覆盖范围存在重叠的待选子图对,作为目标子图对,以各目标子图对中对应相同环境点的激光点的位置差值不大于预设阈值为约束,以目标子图对中两个点云子图的位置变化差值,和单个点云子图位置变化最小为优化目标,建立最优解问题,根据解算得到的各第一点云子图以及各第二点云子图的位姿,构建高精地图。
从上述方法可以看出,本方法通过对不同精度采集车采集的点云子图的位姿调整,解决了难以兼顾采集数据的精度以及采集数据的范围的问题,使得高精度与低精度的点云数据可以合并至同一坐标系下,构建高精地图。
另外,需要说明的是,本说明书提供的一个或多个实施例中,步骤S108和步骤S110均涉及到表征点云子图位置变化的损失,即第一损失以及第二损失。而上述损失在每次迭代过程中,均可以基于当前迭代过程调整后的位置与上一迭代过程调整后的位置确定。
当然,对于第二损失来说,由于第二损失是减小调整后的点云子图的位置,与点云子图初始的位置距离过远,导致构建的高精地图的位置出现偏差,因此该服务器可以根据点云子图初始的位置与当前迭代过程调整后的位置,确定第二损失。即,根据步骤S102中确定的各点云子图的初始位置,与当前迭代过程调整后确定的对应的各点云子图位置的位置变化,确定第二损失。
以上为本说明书的一个或多个实施例提供的构建高精地图的方法,基于同样的思路,本说明书还提供了相应的构建高精地图装置,如图5所示。
图5为本说明书实施例提供的一种构建高精地图装置的示意图,具体包括:
获取模块501,用于获取第一采集车采集的点云数据,确定各第一点云子图,获取第二采集车采集的点云数据,确定各第二点云子图,所述第一点云子图与所述第二点云子图的精度不同;
配对模块502,用于根据各第一点云子图以及各第二点云子图,确定各待选子图对;
筛选模块503,用于从各待选子图对中,确定两个点云子图的覆盖范围存在重叠的待选子图对,为目标子图对;
位置差值确定模块504,用于针对每个目标子图对,确定该目标子图对中对应相同环境点的激光点的位置差值;
第一损失模块505,用于根据该目标子图对中,两个点云子图之间的位置变化差值,确定第一损失;
第二损失模块506,用于根据各第一点云子图的位置变化,以及各第二点云子图的位置变化,确定第二损失;
建图模块507,用于以各位置差值不大于预设阈值为约束,所述第一损失与所述第二损失之和最小为优化目标,建立最优解问题,用于根据解算得到的各第一点云子图以及各第二点云子图的位姿,构建高精地图。
可选的,所述获取模块501具体用于,获取第一采集车行驶过程中采集的各帧点云数据,以及确定各帧点云数据的采集时间,针对所述第一采集车每次行驶过程,根据该行驶过程中采集时间差小于第一预设时长的各连续帧点云数据,分别确定若干第一点云子图,获取第二采集车行驶过程中采集的各帧点云数据,以及确定各帧点云数据的采集时间,针对所述第二采集车每次行驶过程,根据该行驶过程中采集时间差小于第二预设时长的各连续帧点云数据,分别确定若干第二点云子图。
可选的,所述配对模块502具体用于,根据所述各第一点云子图以及所述各第二点云子图,以一个第一点云子图与一个第二点云子图、两个不同第一点云子图以及两个不同第二点云子图进行配对的方式,确定各待选子图对。
可选的,所述筛选模块503具体用于,针对每个待选子图对,根据该待选子图对中两个点云子图包含的点云的位置,分别确定所述两个点云子图对应的覆盖范围,若所述两个点云子图对应的覆盖范围重叠,确定该待选子图对为目标子图对。
可选的,所述位置差确定模块504具体用于,针对每个目标子图对,确定该目标子图对中两个点云子图包含的各激光点的点云特征,根据各激光点的点云特征之间的相似度,确定相似度大于预设阈值的激光点,作为对应相同环境点的匹配激光点对,根据该目标子图对中,确定各匹配激光点对中激光点的位置差值。
可选的,所述第一损失模块505具体用于,确定该目标子图对中,两个点云子图在基于优化算法进行位置调整前后,所述两个点云子图的位置变化值,确定所述两个点云子图的位置变化值的差值,根据基于各目标子图对确定的差值,确定所述第一损失。
可选的,所述第二损失模块506具体用于,所述第一采集车采集点云数据的精度高于所述第二采集车采集点云数据的精度,根据各第一点云子图的位置变化差值,以及各第二点云子图的位置变化差值,确定第二损失。
可选的,所述建图模块507具体用于,针对每个第一点云子图,确定该第一点云子图基于优化算法进行位置调整前后,该第一点云子图的位置变化值,以通过预设的第一权重,确定第一加权值,针对每个第二点云子图,确定该第二点云子图基于优化算法进行位置调整前后,该第二点云子图的位置变化值,以通过预设的第二权重,确定第二加权值,根据各第一加权值以及各第二加权值,确定所述第二损失,其中,所述第一权重大于所述第二权重,所述第一权重与所述第二权重的比值,与所述第一点云子图和所述第二点云子图的数据精度差正相关。
本说明书还提供了一种计算机可读存储介质,该存储介质存储有计算机程序,计算机程序可用于执行上述图2提供的构建高精地图方法。
本说明书还提供了图6所示的电子设备的示意结构图。如图6所述,在硬件层面,该无人驾驶设备包括处理器、内部总线、网络接口、内存以及非易失性存储器,当然还可能包括其他业务所需要的硬件。处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,以实现上述图2所述的构建高精地图方法。当然,除了软件实现方式之外,本说明书并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。
Claims (10)
1.一种构建高精地图的方法,其特征在于,包括:
获取第一采集车采集的点云数据,确定各第一点云子图,获取第二采集车采集的点云数据,确定各第二点云子图,所述第一点云子图与所述第二点云子图的精度不同;
根据所述各第一点云子图以及所述各第二点云子图,确定各待选子图对;
从各待选子图对中,确定两个点云子图的覆盖范围存在重叠的待选子图对,为目标子图对;
针对每个目标子图对,确定该目标子图对中对应相同环境点的激光点的位置差值;
根据该目标子图对中,两个点云子图之间的位置变化差值,确定第一损失;
根据各第一点云子图的位置变化,以及各第二点云子图的位置变化,确定第二损失;
以各位置差值不大于预设阈值为约束,所述第一损失与所述第二损失之和最小为优化目标,建立最优解问题,根据解算得到的各第一点云子图以及各第二点云子图的位姿,构建高精地图。
2.如权利要求1所述的方法,其特征在于,获取第一采集车采集的点云数据,确定各第一点云子图,获取第二采集车采集的点云数据,确定各第二点云子图,具体包括:
获取第一采集车行驶过程中采集的各帧点云数据,以及确定各帧点云数据的采集时间;
针对所述第一采集车每次行驶过程,根据该行驶过程中采集时间差小于第一预设时长的各连续帧点云数据,分别确定若干第一点云子图;
获取第二采集车行驶过程中采集的各帧点云数据,以及确定各帧点云数据的采集时间;
针对所述第二采集车每次行驶过程,根据该行驶过程中采集时间差小于第二预设时长的各连续帧点云数据,分别确定若干第二点云子图。
3.如权利要求1所述的方法,其特征在于,根据所述各第一点云子图以及所述各第二点云子图,确定各待选子图对,具体包括:
根据所述各第一点云子图以及所述各第二点云子图,以一个第一点云子图与一个第二点云子图、两个不同第一点云子图以及两个不同第二点云子图进行配对的方式,确定各待选子图对。
4.如权利要求1所述的方法,其特征在于,从各待选子图对中,确定两个点云子图的覆盖范围存在重叠的待选子图对,为目标子图对,具体包括:
针对每个待选子图对,根据该待选子图对中两个点云子图包含的点云的位置,分别确定所述两个点云子图对应的覆盖范围;
若所述两个点云子图对应的覆盖范围重叠,确定该待选子图对为目标子图对。
5.如权利要求1所述的方法,其特征在于,针对每个目标子图对,确定该目标子图对中对应相同环境点的激光点的位置差值,具体包括:
针对每个目标子图对,确定该目标子图对中两个点云子图包含的各激光点的点云特征;
根据各激光点的点云特征之间的相似度,确定相似度大于预设阈值的激光点,作为对应相同环境点的匹配激光点对;
根据该目标子图对中,确定各匹配激光点对中激光点的位置差值。
6.如权利要求1所述的方法,其特征在于,根据该目标子图对中,两个点云子图之间的位置变化差值,确定第一损失,具体包括:
确定该目标子图对中,两个点云子图在基于优化算法进行位置调整前后,所述两个点云子图的位置变化值;
确定所述两个点云子图的位置变化值的差值;
根据基于各目标子图对确定的差值,确定所述第一损失。
7.如权利要求1所述的方法,其特征在于,所述第一采集车采集点云数据的精度高于所述第二采集车采集点云数据的精度;
根据各第一点云子图的位置变化,以及各第二点云子图的位置变化,确定第二损失,具体包括:
针对每个第一点云子图,确定该第一点云子图基于优化算法进行位置调整前后,该第一点云子图的位置变化值,以通过预设的第一权重,确定第一加权值;
针对每个第二点云子图,确定该第二点云子图基于优化算法进行位置调整前后,该第二点云子图的位置变化值,以通过预设的第二权重,确定第二加权值;
根据各第一加权值以及各第二加权值,确定所述第二损失;
其中,所述第一权重和所述第二权重的比值,与所述第一点云子图和所述第二点云子图的数据精度差正相关。
8.一种构建高精地图的装置,其特征在于,具体包括:
获取模块,用于获取第一采集车采集的点云数据,确定各第一点云子图,获取第二采集车采集的点云数据,确定各第二点云子图,所述各第一点云子图与所述各第二点云子图之间存在至少部分重叠,所述第一点云子图与所述第二点云子图的精度不同;
配对模块,用于根据所述各第一点云子图以及所述各第二点云子图,确定各待选子图对;
筛选模块,用于从各待选子图对中,确定两个点云子图的覆盖范围存在重叠的待选子图对,为目标子图对;
位置差值确定模块,用于针对每个目标子图对,确定该目标子图对中对应相同环境点的激光点的位置差值;
第一损失模块,用于根据该目标子图对中,两个点云子图之间的位置变化差值,确定第一损失;
第二损失模块,用于根据各第一点云子图的位置变化,以及各第二点云子图的位置变化,确定第二损失;
建图模块,以各位置差值不大于预设阈值为约束,所述第一损失与所述第二损失之和最小为优化目标,建立最优解问题,根据解算得到的各第一点云子图以及各第二点云子图的位姿,构建高精地图。
9.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述权利要求1~7任一项所述的方法。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现上述权利要求1~7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111615473.9A CN114322987B (zh) | 2021-12-27 | 2021-12-27 | 一种构建高精地图的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111615473.9A CN114322987B (zh) | 2021-12-27 | 2021-12-27 | 一种构建高精地图的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114322987A true CN114322987A (zh) | 2022-04-12 |
CN114322987B CN114322987B (zh) | 2024-02-23 |
Family
ID=81013056
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111615473.9A Active CN114322987B (zh) | 2021-12-27 | 2021-12-27 | 一种构建高精地图的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114322987B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019126950A1 (zh) * | 2017-12-25 | 2019-07-04 | 深圳前海达闼云端智能科技有限公司 | 一种定位方法、云端服务器、终端、系统、电子设备及计算机程序产品 |
CN111288971A (zh) * | 2020-03-26 | 2020-06-16 | 北京三快在线科技有限公司 | 一种视觉定位方法及装置 |
WO2020139373A1 (en) * | 2018-12-28 | 2020-07-02 | Didi Research America, Llc | Interactive 3d point cloud matching |
CN111968229A (zh) * | 2020-06-28 | 2020-11-20 | 北京百度网讯科技有限公司 | 高精度地图制图方法及装置 |
US20210082132A1 (en) * | 2018-04-09 | 2021-03-18 | Beijing Sankuai Online Technology Co., Ltd | Laser sensor-based map generation |
WO2021128297A1 (zh) * | 2019-12-27 | 2021-07-01 | 深圳市大疆创新科技有限公司 | 三维点云地图构建方法、系统和设备 |
CN113252022A (zh) * | 2020-02-11 | 2021-08-13 | 北京图森智途科技有限公司 | 一种地图数据处理方法及装置 |
WO2021223465A1 (zh) * | 2020-05-06 | 2021-11-11 | 北京嘀嘀无限科技发展有限公司 | 一种高精度地图构建方法及系统 |
-
2021
- 2021-12-27 CN CN202111615473.9A patent/CN114322987B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019126950A1 (zh) * | 2017-12-25 | 2019-07-04 | 深圳前海达闼云端智能科技有限公司 | 一种定位方法、云端服务器、终端、系统、电子设备及计算机程序产品 |
US20210082132A1 (en) * | 2018-04-09 | 2021-03-18 | Beijing Sankuai Online Technology Co., Ltd | Laser sensor-based map generation |
WO2020139373A1 (en) * | 2018-12-28 | 2020-07-02 | Didi Research America, Llc | Interactive 3d point cloud matching |
WO2021128297A1 (zh) * | 2019-12-27 | 2021-07-01 | 深圳市大疆创新科技有限公司 | 三维点云地图构建方法、系统和设备 |
CN113252022A (zh) * | 2020-02-11 | 2021-08-13 | 北京图森智途科技有限公司 | 一种地图数据处理方法及装置 |
CN111288971A (zh) * | 2020-03-26 | 2020-06-16 | 北京三快在线科技有限公司 | 一种视觉定位方法及装置 |
WO2021223465A1 (zh) * | 2020-05-06 | 2021-11-11 | 北京嘀嘀无限科技发展有限公司 | 一种高精度地图构建方法及系统 |
CN111968229A (zh) * | 2020-06-28 | 2020-11-20 | 北京百度网讯科技有限公司 | 高精度地图制图方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114322987B (zh) | 2024-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108253975B (zh) | 一种建立地图信息及车辆定位的方法与设备 | |
US11531110B2 (en) | LiDAR localization using 3D CNN network for solution inference in autonomous driving vehicles | |
CN110388931A (zh) | 将对象的二维边界框转换成自动驾驶车辆的三维位置的方法 | |
CN111311902B (zh) | 一种数据处理方法、装置、设备和机器可读介质 | |
CN111582189B (zh) | 交通信号灯识别方法、装置、车载控制终端及机动车 | |
US11055546B2 (en) | Automatic positioning of 2D image sign sightings in 3D space | |
CN111508258A (zh) | 一种定位方法及装置 | |
JP2021140822A (ja) | 車両制御方法、車両制御装置及び車両 | |
RU2757234C2 (ru) | Способ и система для вычисления данных для управления работой беспилотного автомобиля | |
CN111062372B (zh) | 一种预测障碍物轨迹的方法及装置 | |
EP4184119A1 (en) | Travelable region determination method, intelligent driving system and intelligent vehicle | |
CN112013853B (zh) | 一种对无人驾驶设备的轨迹点验证的方法及装置 | |
CN113450455A (zh) | 用于生成停车场的道路链路的地图的方法、设备和计算机程序产品 | |
CN114295119A (zh) | 一种构建地图的方法及装置 | |
CN112912894A (zh) | 道路边界识别方法和装置 | |
CN111288971B (zh) | 一种视觉定位方法及装置 | |
CN110530398B (zh) | 一种电子地图精度检测的方法及装置 | |
CN113968243A (zh) | 一种障碍物轨迹预测方法、装置、设备及存储介质 | |
CN116958316B (zh) | 拓扑图生成方法、装置、计算机设备及存储介质 | |
CN112818968A (zh) | 一种目标物分类方法及装置 | |
CN113074748A (zh) | 一种无人驾驶设备的路径规划方法及装置 | |
CN112649012A (zh) | 一种轨迹规划方法、设备、介质及无人设备 | |
CN115143985B (zh) | 车辆定位方法、装置、车辆及可读存储介质 | |
CN116740680A (zh) | 一种车辆定位方法、装置及电子设备 | |
CN114322987B (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 |