一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

高精地图构建方法、装置及电子设备与流程

2022-02-22 03:46:21 来源:中国专利 TAG:


1.本公开涉及数据处理技术领域,尤其涉及自动驾驶技术领域,具体涉及一种高精地图构建方法、装置及电子设备。


背景技术:

2.高精地图也称高精度地图,是自动驾驶汽车使用。高精地图,拥有精确的车辆位置信息和丰富的道路元素数据信息,可以帮助汽车预知路面复杂信息,如坡度、曲率、航向等,更好地规避潜在的风险。随着自动驾驶技术的发展,对高精地图的规模要求逐渐覆盖整个城市甚至全国范围。为了完成高精地图重建,通常需要采集点云数据,基于采集的点云数据在地理空间分布上进行分块,以基于分块得到的区块构建高精地图。
3.目前,在高精地图构建时,通常需要优化区块间的一致性,之后基于优化的区块进行拼接,实现高精地图构建。


技术实现要素:

4.本公开提供了一种高精地图构建方法、装置及电子设备。
5.根据本公开的第一方面,提供了一种高精地图构建方法,包括:
6.获取针对目标区域所采集的点云数据,所述点云数据包括k帧点云和每帧点云的初始位姿,k为大于1的整数;
7.基于所述初始位姿对所述k帧点云进行相互关联,得到所述k帧点云的第一点云关系图;
8.基于所述第一点云关系图和所述初始位姿,对所述k帧点云进行点云配准,得到所述k帧点云中每帧点云的目标相对位姿;
9.基于所述目标相对位姿对所述k帧点云进行拼接,得到所述目标区域的点云地图。
10.根据本公开的第二方面,提供了一种高精地图构建装置,包括:
11.第一获取模块,用于获取针对目标区域所采集的点云数据,所述点云数据包括k帧点云和每帧点云的初始位姿,k为大于1的整数;
12.关联模块,用于基于所述初始位姿对所述k帧点云进行相互关联,得到所述k帧点云的第一点云关系图;
13.点云配准模块,用于基于所述第一点云关系图和所述初始位姿,对所述k帧点云进行点云配准,得到所述k帧点云中每帧点云的目标相对位姿;
14.拼接模块,用于基于所述目标相对位姿对所述k帧点云进行拼接,得到所述目标区域的点云地图。
15.根据本公开的第三方面,提供了一种电子设备,包括:
16.至少一个处理器;以及
17.与至少一个处理器通信连接的存储器;其中,
18.存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,
以使至少一个处理器能够执行第一方面中的任一项方法。
19.根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行第一方面中的任一项方法。
20.根据本公开的第五方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现第一方面中的任一项方法。
21.根据本公开的技术解决了高精地图中的区块整体移动变形的问题,提高了所构建的高精地图质量。
22.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
23.附图用于更好地理解本方案,不构成对本公开的限定。其中:
24.图1是根据本公开第一实施例的高精地图构建方法的流程示意图;
25.图2是点云配准过程中所构建的节点图的结构示意图;
26.图3是点云配准过程中所构建的层级结构节点图的结构示意图;
27.图4是根据本公开第二实施例的高精地图构建装置的结构示意图;
28.图5是用来实施本公开的实施例的示例电子设备的示意性框图。
具体实施方式
29.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
30.第一实施例
31.如图1所示,本公开提供一种高精地图构建方法,包括如下步骤:
32.步骤s101:获取针对目标区域所采集的点云数据,所述点云数据包括k帧点云和每帧点云的初始位姿。
33.其中,k为大于1的整数。
34.本实施例中,高精地图构建方法涉及数据处理技术领域,尤其涉及自动驾驶技术领域,其可以广泛应用于无人驾驶和智能驾驶等场景下。本公开实施例的高精地图构建方法,可以由本公开实施例的高精地图构建装置执行。本公开实施例的高精地图构建装置可以配置在任意电子设备中,以执行本公开实施例的高精地图构建方法。该电子设备可以为服务器,也可以为终端,这里不做具体限定。
35.该步骤中,目标区域可以指的是具有空间概念的任一区域,可以为某一国家、某一城市、某一市区或某一园区等,这里不进行具体限定。
36.点云数据可以指的是该目标区域内的点云数据,该点云数据可以作为高精地图构建的初始数据,构建目标区域的点云地图,该点云地图可以指的是由三维3d点构建的高精地图,可以用于自动驾驶或智能驾驶等应用场景中。
37.该点云数据可以包括k帧点云,其中,点云可以指的是在一个三维坐标系统中一组
向量的集合,这些向量通常以x、y和z的三维坐标形式表示,通常用于表示一个物体的外表面形状。一帧点云与一帧图像的区别在于:一帧点云为三维3d的多媒体数据,而一帧图像为2d的多媒体数据,通过视觉visual lidar里程计等可以扫描得到物体表面一定范围内的点,得到一帧点云。而针对目标区域所采集的k帧点云,通常可以用于表示该目标区域的外表面形状,从而可以基于该k帧点云构建该目标区域的点云地图。
38.每帧点云具有一个初始位姿,相应的,该点云数据也可以包括每帧点云的初始位姿,初始位姿可以指的是该帧点云采集时的位置,若通过车辆来采集点云数据,则车辆在采集一帧点云时的位置则可以表示该帧点云的初始位姿,该初始位姿可以为3d的,比如,一帧点云的初始位姿可以包括经度、纬度和高程。本实施例的目的即是通过这k帧点云以及这k帧点云的初始位姿所表征的各帧点云采集的时间先后顺序和空间采集距离,来确定各帧点云的相对位姿即确定各帧点云的拼接位置,以基于各帧点云的相对位姿对k帧点云进行拼接,从而构建该目标区域的点云地图。
39.可以通过激光雷达lidar同步定位与建图(simultaneous localization and mapping,slam)技术、全球定位系统(global positioning system,gps)或惯性测量单元(inertial measurement unit,imu)来获取该点云数据。
40.具体可以在采集工具如车辆上安装视觉visual lidar、全球导航卫星系统(global navigation satellite system,gnss)、gps或imu等,通过车辆在目标区域内的行进过程中,采集各帧点云,同时可以采用位置定位技术对车辆进行初步定位,比如,通过gps imu,采用里程计odometry或slam等方式对车辆进行初步定位,以得到点云数据。
41.针对车辆在目标区域内的行进过程中所采集的数据,可以直接将所采集的数据确定为针对目标区域所采集的点云数据,也可以通过visual lidar里程计以及gnss位置处理等技术对所采集的数据进行后处理,得到时间上连续的且可以带有置信度估计的一组初始轨迹(该初始轨迹可以包括各帧点云的初始位姿)以及运动补偿后的各帧点云,得到针对目标区域所采集的点云数据,所得到的点云数据可以作为高精地图构建的基础数据。
42.所述点云数据可以针对目标区域的一条点云采集轨迹得到,为了使点云数据可以将目标区域覆盖完整,所述点云数据也可以针对目标区域的多条点云采集轨迹得到,这里不进行具体限定。另外,在点云数据针对目标区域的多条点云采集轨迹得到的情况下,可以分别对每条点云采集轨迹采集的数据进行下采样,以滤掉一些路口静止的等无用或不可用的数据,这样可以按照点云采集轨迹的采集批次进行分布式并行化,提高数据处理的效率,从而提高高精地图构建的效率。
43.需要说明的是,高精地图构建装置对该点云数据的获取方式可以包括多种,比如,可以安装视觉visual lidar、全球导航卫星系统(global navigation satellite system,gnss)、gps或imu等,来采集该点云数据,也可以接收其他电子设备如采集车辆的车载设备发送的针对目标区域所采集的点云数据,还可以获取预先存储的针对目标区域所采集的点云数据,亦或是从网络上下载针对目标区域所采集的点云数据。
44.步骤s102:基于所述初始位姿对所述k帧点云进行相互关联,得到所述k帧点云的第一点云关系图。
45.该步骤中,可以基于该初始位姿,在时间维度和/或空间维度上对k帧点云进行相互关联,以建立k帧点云的关联关系,得到所述k帧点云的第一点云关系图。第一点云关系图
可以表征这k帧点云中各帧点云之间的关联关系,第一点云关系图的表现形式可以为k-dimensional树(kd-tree),也可以为节点图,这里不进行具体限定。其中,kd-tree是一种对k维空间中的实例点进行存储以便对其进行快速检索的树形数据结构。
46.比如,针对目标区域的同一点云采集轨迹,可以将时间顺序上先后采集的各帧点云进行相互关联,即可以按照点云采集轨迹的方向,将基于该点云采集轨迹在相邻时间采集的各帧点云进行相互关联。也就是说,若将针对目标区域的点云采集轨迹的方向记为纵向,则该种关联方式可以称之为纵向关联。
47.举个例子来说,基于一点云采集轨迹进行数据采集,得到3帧点云,采集的时间先后顺序为点云a1、点云a2和点云a3,可以将点云a1和点云a2进行关联,将点云a2和点云a3进行关联,得到这3帧点云的关联关系。
48.又比如,可以基于各帧点云的初始位姿确定各帧点云之间的采集距离,将与每帧点云距离预设范围如30米内的其他帧点云进行相互关联,该种关联方式是基于空间距离进行点云关联的。
49.举个例子来说,点云数据中可以包括3帧点云,分别为点云b1、点云b2和点云b3,点云b1和点云b2之间的采集距离为15米,点云b2和点云b3之间的采集距离为18米,点云b1和点云b3的采集距离为33米,则可以将点云b1和点云b2关联,将点云b2和点云b3关联,得到这3帧点云的关联关系。
50.还比如,针对目标区域的不同点云采集轨迹,可以将不同点云采集轨迹所采集的同一段路上的各帧点云进行相互关联。即可以基于第一点云采集轨迹采集的第一目标帧点云与基于第二点云采集轨迹采集的第二目标帧点云进行相互关联,第一点云采集轨迹和第二点云采集轨迹为针对目标区域的不同点云采集轨迹,第二目标帧点云位于第一点云采集轨迹方向的垂直方向上,且第二目标帧点云的初始位姿与第一目标帧点云的初始位姿相邻。也就是说,若将针对目标区域的第一点云采集轨迹的方向的垂直方向记为横向,通过横向的距离抑制,即在其他点云采集轨迹对应的点云数据中搜索距离第一目标帧点云较近的其他帧点云如直接或间接相邻的第二目标帧点云,以搜索到经过同一段路的点云最小集,并将搜索到的第二目标帧点云与第一目标帧点云进行关联,其中,第一目标帧点云可以为第一点云采集轨迹上的任一帧点云,该种关联方式可以称之为横向关联。
51.举个例子来说,针对目标区域的点云采集轨迹可以包括两条点云采集轨迹,分别为点云采集轨迹c1和点云采集轨迹c2,基于点云采集轨迹c1在目标路段所采集的点云数据中可以包括点云d1、点云d2和点云d3,基于点云采集轨迹c2在目标路段所采集的点云数据中可以包括点云e1、点云e2和点云e3,针对点云采集轨迹c1上的任一帧点云,可以搜索点云采集轨迹c2上与该帧点云的采集位置距离最近的其他帧点云,若点云d1和点云e1之间的距离较近,点云d2和点云e2之间的距离较近,点云d3和点云e3之间的距离较近,则可以将点云d1和点云e1关联,点云d2和点云e2关联,点云d3和点云e3关联,得到这6帧点云之间的关联关系。
52.另外,为了能够实现分布式并行化,提高高精地图构建的效率,可以首先基于各帧点云的初始位姿将k帧点云按照区块划分,得到m个区块,每个相邻区块之间存在相同的至少一帧点云,即落在相邻区块的点云存在重叠,以保证各区块之间存在数据关联。可以针对每个区块,在时间维度和/或空间维度上对每个区块的各帧点云进行相互关联,以建立该区
块中各帧点云的关联关系,之后,可以基于各区块之间的数据关联与每个区块内的各帧点云的数据关联,建立k帧点云的关联关系,得到k帧点云的第一点云关系图。
53.步骤s103:基于所述第一点云关系图和所述初始位姿,对所述k帧点云进行点云配准,得到所述k帧点云中每帧点云的目标相对位姿。
54.该步骤中,点云配准可以指的是点云融合,即优化各帧点云的位姿,得到各帧点云的相对位姿,以使得基于各帧点云的相对位姿可以进行点云融合,也就是说,通过确定k帧点云中各帧点云之间的相对位置,使得可以基于该相对位置对各帧点云进行拼接,从而融合得到点云地图。
55.可以基于第一点云关系图和各帧点云的初始位姿,采用最大后验估计(maximum a posteriori,map)或最大似然估计(maximum likelihood estimation,mle)等方式,来对k帧点云进行点云配准,得到k帧点云中每帧点云的目标相对位姿。
56.以map为例,点云配准即点云融合的融合问题可以转化为一个map问题,可以将k帧点云中各帧点云的初始位姿作为map问题的先验prior,将第一点云关系图作为点云间的配准量测条件,同时将点云间的配准优化作为map问题的似然likelihood。
57.上述map问题的优化过程中,可以借助于贝叶斯(bayes)结构,将k帧点云中每帧点云作为一个节点,得到k帧点云一一对应的k个节点,将第一点云关系图中各帧点云的关联关系作为k个节点的边约束,基于初始位姿对k个节点的位姿进行优化。另外,该map问题可以转化为一个非线性最小二乘问题,同时使用非线性优化库ceres对该非线性最小二乘问题进行迭代优化,最终得到k个节点中每个节点的第一相对位姿。
58.可以将第一相对位姿确定为点云的目标相对位姿,也可以在确定第一相对位姿之后,基于第一相对位姿确定k个节点中目标节点的关联关系,并将其作为目标节点的边约束,对目标节点继续进行位姿优化,优化得到的目标节点的相对位姿可以反馈给各节点,最终得到点云的目标相对位姿,其具体方式将在下述实施方式中描述,这里不进行具体限定。
59.另外,由于点云配准过程中,某个量测仅影响该量测周围的若干状态,即针对一帧点云,其仅与周围的各帧点云产生关联,也就是说,其仅影响周围的其他帧点云,因此,在点云配准过程中,也可以将k帧点云划分成多个部分进行分布式并行化,以提高高精地图构建的效率。
60.步骤s104:基于所述目标相对位姿对所述k帧点云进行拼接,得到所述目标区域的点云地图。
61.该步骤中,基于每帧点云的目标相对位姿,可以确定该帧点云的拼接位置,基于各帧点云的拼接位置对k帧点云进行拼接,最终可以得到目标区域的点云地图。
62.本实施例中,通过获取针对目标区域所采集的点云数据,所述点云数据包括k帧点云和每帧点云的初始位姿;基于所述初始位姿对所述k帧点云进行相互关联,得到所述k帧点云的第一点云关系图;基于所述第一点云关系图和所述初始位姿,对所述k帧点云进行点云配准,得到所述k帧点云中每帧点云的目标相对位姿;基于所述目标相对位姿对所述k帧点云进行拼接,得到所述目标区域的点云地图。如此,通过基于第一点云关系图和初始位姿对k帧点云进行点云配准,可以避免由于区块的接边问题而导致区块整体的移动变形,从而可以提高所构建的高精地图质量。
63.可选的,所述基于所述初始位姿对所述k帧点云进行相互关联,得到所述k帧点云
的第一点云关系图,包括:
64.基于所述初始位姿将所述k帧点云按照区块划分,得到m个区块,每个相邻区块之间存在相同的至少一帧点云,m为正整数;
65.针对每个区块,将所述区块内的各帧点云进行相互关联,得到所述区块的第二点云关系图;
66.基于所述相同的至少一帧点云,将所述m个区块的m个所述第二点云关系图进行相互关联,得到所述第一点云关系图。
67.本实施方式中,可以首先基于各帧点云的初始位姿将k帧点云按照区块划分,得到m个区块,每个相邻区块之间存在相同的至少一帧点云,即落在相邻区块的点云存在重叠,以保证各区块之间存在数据关联。
68.具体的,在划分区块时,区块可以表达一段街区,即可以将在该街区内采集的各帧点云划分到一个区块。通常可以用1千米的街区来划分区块,根据区块大小及采集的当前帧点云的初始位姿,确定当前帧点云落在哪个区块内。
69.为了保证相邻区块之间的数据关联,可以将位于区块边缘,且在同一段路采集的各帧点云均划分至相邻的区块中,其相邻的区块均包括了在该段路采集的相同的至少一帧点云。
70.针对每个区块,可以在时间维度和/或空间维度上对每个区块的各帧点云进行相互关联,以建立该区块中各帧点云的关联关系,得到所述区块对应的第二点云关系图。
71.该第二点云关系图可以表征一个区块内各帧点云之间的关联关系,第二点云关系图的表现形式可以为k-dimensional树(kd-tree),也可以为节点图,这里不进行具体限定。
72.之后,可以基于各区块之间的数据关联与每个区块内的各帧点云的数据关联,建立k帧点云的关联关系,得到k帧点云的第一点云关系图。比如,k帧点云被划分为两个区块,分别为区块a和区块b,区块a内包括3帧点云,分别为点云a1、a2和a3,a1与a2关联,a2和a3关联,区块b内也包括3帧点云,分别为点云a1、b2和b3,a1与b2关联,b2和b3关联,基于区块a和区块b的数据关联(即点云a1关联)和每个区块内的数据关联,则k帧点云的关联关系为:a1与a2关联,a2和a3关联,a1与b2关联,b2和b3关联。
73.本实施方式中,通过基于所述初始位姿将所述k帧点云按照区块划分,得到m个区块,每个相邻区块之间存在相同的至少一帧点云;针对每个区块,将所述区块内的各帧点云进行相互关联,得到所述区块的第二点云关系图;基于所述相同的至少一帧点云,将所述m个区块的m个所述第二点云关系图进行相互关联,得到所述第一点云关系图。如此,可以针对区块进行数据关联的分布式并行化,从而可以提高高精地图构建的自动化效率和高精地图生产的规模。
74.可选的,所述基于所述初始位姿将所述k帧点云按照区块划分,得到m个区块,包括:
75.基于所述初始位姿将所述k帧点云按照目标子轨迹进行划分,得到n个子区块,一个子区块包括一条目标子轨迹上采集的各帧点云,所述目标子轨迹为针对所述目标区域的l条点云采集轨迹中任一点云采集轨迹上的一段连续轨迹,一条点云采集轨迹包括连续的至少一条所述目标子轨迹,l为正整数,n为大于1的整数;
76.将所述n个子区块按照各子区块的位置关系进行划分,得到所述m个区块,一个区
块包括预设大小空间内的子区块,第一区块与第二区块内至少存在部分子区块不同,所述第一区块为所述m个区块中任一区块,所述第二区块为所述m个区块中与所述第一区块不同的区块。
77.本实施方式中,k帧点云可以按照目标子轨迹进行划分,具体可以针对目标区域的l条点云采集轨迹中每一条点云采集轨迹,可以将该点云采集轨迹划分成连续的至少一条目标子轨迹,将每条目标子轨迹上采集的各帧点云划分至一个子区块中,得到n个子区块。
78.比如,针对目标区域的一条点云采集轨迹,可以按照某一距离(如10米至15米)来将该点云采集轨迹切分成多个目标子轨迹,并将在每段连续的目标子轨迹范围内采集的若干帧点云的集合记为子区块。其中,可以将该目标子轨迹的中心采集的一帧点云称为关键点云帧。
79.之后,可以按照各子区块的位置关系对各子区块进行划分,得到m个区块,具体可以将空间最近的若干子区块的集合确定为区块,比如,对于常见的直路场景,那么区块是包含了各条点云采集轨迹线在该位置的子区块,对于路口的场景,那么区块是包含了该路口附近的子区块,这样可以使构建的区块保持联通性。
80.本实施方式中,通过将基于所述初始位姿将所述k帧点云按照目标子轨迹进行划分,得到n个子区块,一个子区块包括一条目标子轨迹上采集的各帧点云,所述目标子轨迹为针对所述目标区域的l条点云采集轨迹中任一点云采集轨迹上的一段连续轨迹,一条点云采集轨迹包括连续的至少一条所述目标子轨迹;将所述n个子区块按照各子区块的位置关系进行划分,得到所述m个区块,一个区块包括预设大小空间内的子区块,第一区块与第二区块内至少存在部分子区块不同,所述第一区块为所述m个区块中任一区块,所述第二区块为所述m个区块中与所述第一区块不同的区块。如此,可以使构建的区块保持联通性,从而可以保证所构建的高精地图质量。
81.并且,在后续进行点云配准过程中,可以按照点云帧、子区块和区块这三层数据结构进行层级的点云位姿优化,即先针对点云帧进行位姿优化,之后可以逐层向上传播,基于优化得到的第三目标帧点云(如子区块的关键点云帧)的相对位姿确定各个第三目标帧点云的关联关系,并将其作为子区块之间的边约束,继续进行第三目标帧点云的位姿优化,以修正部分点云帧的相对位姿,直至在上层传播过程中对于各帧点云的修正量小于一定阈值时,可以将上层优化得到的各帧点云的相对位姿向下传播,以反馈给下层的各帧点云,最终得到k帧点云中每帧点云的目标相对位姿,从而实现了层级化的位姿优化,进而可以提高点云配准的准确性,提高点云融合的效果。
82.可选的,所述将所述区块内的各帧点云进行相互关联,得到所述区块的第二点云关系图,包括以下至少一项:
83.针对所述区块内的每帧点云,将所述区块内与所述点云距离预设范围内的其他点云进行相互关联,以得到所述第二点云关系图;
84.针对所述目标区域的任一点云采集轨迹,按照所述点云采集轨迹的方向,将所述区块内基于所述点云采集轨迹在相邻时间采集的各帧点云进行相互关联,以得到所述第二点云关系图;
85.将所述区块内基于第一点云采集轨迹采集的第一目标帧点云与所述区块内基于第二点云采集轨迹采集的第二目标帧点云进行相互关联,以得到第二点云关系图,所述第
一点云采集轨迹和所述第二点云采集轨迹为针对所述目标区域的不同点云采集轨迹,所述第二目标帧点云位于所述第一点云采集轨迹方向的垂直方向上,且所述第二目标帧点云的初始位姿与所述第一目标帧点云的初始位姿相邻。
86.本实施方式在进行数据关联时是以区块为范围,将区块内的各帧点云进行相互关联,其也可以在时间维度和/或空间维度上对区块内的各帧点云进行相互关联,以建立区块内的各帧点云的关联关系,得到第二点云关系图。
87.其关联方式与将k帧点云作为一个整体进行数据关联的方式类似,同样可以包括纵向关联、横向关联和基于空间距离进行点云关联的,这里不进行具体赘述。
88.本实施方式中,通过将k帧点云划分为区块,针对区块,对区块内的各帧点云进行数据关联,可以使得数据关联可以进行分布式并行化,从而可以大幅提高高精地图构建的自动化效率,并且可以提高高精地图生产的规模,实现高精地图生产的规模化。
89.可选的,所述基于所述第一点云关系图和所述初始位姿,对所述k帧点云进行点云配准,得到所述k帧点云中每帧点云的目标相对位姿,包括:
90.将所述k帧点云中每帧点云作为一个节点,得到所述k帧点云一一对应的k个节点;
91.将所述第一点云关系图中各帧点云的关联关系作为所述k个节点的边约束,基于所述初始位姿对所述k个节点的位姿进行优化,得到所述k个节点中每个节点的第一相对位姿;
92.基于所述k个节点中每个节点的第一相对位姿,确定所述k帧点云中每帧点云的目标相对位姿。
93.本实施方式中,可以采用map来对k帧点云进行点云配准,得到k帧点云中每帧点云的目标相对位姿。
94.具体的,点云配准即点云融合的融合问题可以转化为一个map问题,可以将k帧点云中各帧点云的初始位姿作为map问题的先验prior,将第一点云关系图作为点云间的配准量测条件,同时将点云间的配准优化作为map问题的似然likelihood。
95.上述map问题的优化过程中,可以借助于贝叶斯(bayes)结构,将k帧点云中每帧点云作为一个节点,得到k帧点云一一对应的k个节点,将第一点云关系图中各帧点云的关联关系作为k个节点的边约束,基于初始位姿对k个节点的位姿进行优化。如图2所示,针对每帧点云均可以构建一个节点201,得到k个节点,基于第一点云关系图中各帧点云的关联关系可以构建k个节点的连接边202,之后可以基于每帧点云的初始位姿对k个节点的位姿进行优化,得到k个节点中每个节点的第一相对位姿。
96.另外,该map问题可以转化为一个非线性最小二乘问题,同时使用非线性优化库ceres对该非线性最小二乘问题进行迭代优化,最终得到k个节点中每个节点的第一相对位姿。
97.当划分了子区块时,可以首先对子区块内的节点位姿进行优化,即在各子区块内进行各帧点云的位姿优化,之后对起到子区块间关联作用的节点(如图2所示的节点203)位姿进行优化,即在子区块间进行各帧点云的位姿优化,最终得到k个节点中每个节点的第一相对位姿。如此,也可以实现分布式并行化的运行。
98.可以将第一相对位姿确定为点云的目标相对位姿,也可以在确定第一相对位姿之后,基于第一相对位姿确定k个节点中目标节点的关联关系,并将其作为目标节点的边约
束,对目标节点继续进行位姿优化,优化得到的目标节点的相对位姿可以反馈给各节点,最终得到点云的目标相对位姿,其具体方式将在下述实施方式中描述,这里不进行具体限定。
99.本实施方式中,通过将所述k帧点云中每帧点云作为一个节点,得到所述k帧点云一一对应的k个节点;将所述第一点云关系图中各帧点云的关联关系作为所述k个节点的边约束,基于所述初始位姿对所述k个节点的位姿进行优化,得到所述k个节点中每个节点的第一相对位姿;基于所述k个节点中每个节点的第一相对位姿,确定所述k帧点云中每帧点云的目标相对位姿。从而可以实现k帧点云的点云配准,实现地图拼接。
100.可选的,所述k帧点云被划分为m个区块,每个区块包括n个子区块,所述基于所述k个节点中每个节点的第一相对位姿,确定所述k帧点云中每帧点云的目标相对位姿,包括:
101.获取所述k个节点中的p个目标节点,所述目标节点为所述子区块中第三目标帧点云对应的节点,p为大于1的整数;
102.将基于所述p个目标节点中每个节点的第一相对位姿所确定的p个目标节点之间的关联关系作为所述p个目标节点的边约束,基于所述p个目标节点的初始位姿对所述p个目标节点的位姿进行优化,得到所述p个目标节点中每个目标节点的第二相对位姿;
103.基于所述p个目标节点中每个目标节点的第二相对位姿,确定所述k帧点云中每帧点云的目标相对位姿。
104.本实施方式中,目标节点可以为子区块中第三目标帧点云对应的节点,第三目标帧点云可以为子区块中任一帧点云,也可以为子区块中的关键帧点云。
105.比如,可以从k个节点中筛选出子区块中关键帧点云对应的目标节点,得到p个目标节点。
106.由于点云配准过程中,某个量测仅影响该量测周围的若干状态,即针对一帧点云,其仅与周围的各帧点云产生关联,也就是说,其仅影响周围的其他帧点云,因此,在点云配准过程中,也可以将k帧点云划分成多个部分进行分布式并行化。
107.同时,可以构建层级的优化结构,首先在底层进行位姿优化,得到k个节点中每个节点的第一相对位姿,即先针对点云帧进行位姿优化,之后可以逐层向上传播,第一相对位姿的约束可以作为地图中边的后验部分,即基于优化得到的目标节点即第三目标帧点云(如子区块的关键点云帧)的相对位姿确定各个第三目标帧点云即各个目标节点的关联关系,并将其作为上层点云帧之间的边约束,继续进行第三目标帧点云的位姿优化,以修正部分点云帧的相对位姿,得到p个目标节点中每个节点的第二相对位姿,直至在上层传播过程中对于各帧点云的修正量小于一定阈值时,可以停止向上传播。
108.如图3所示,左图为底层的节点图,该节点图可以包括很多个子区块301,子区块内可以包括关键帧点云对应的目标节点302(可以称之为根节点)和其他帧点云对应的节点303(可以称之为子节点)。右图为相对于底层的上层的节点图,该节点图可以包括各子区块中的根节点,在针对底层优化得到各个节点的第一相对位姿之后,可以基于p个目标节点中每个节点的第一相对位姿确定p个目标节点之间的关联关系,将其作为p个目标节点之间的连接边304。
109.可以将最终修正得到的部分点云帧的相对位姿和底层未修正的点云帧的第一相对位姿叠加,得到k帧点云中每个点云的目标相对位姿。也可以将上层优化得到的各帧点云的相对位姿向下传播,以反馈给下层的各帧点云,最终得到k帧点云中每帧点云的目标相对
位姿,这样,形成了底层至上层(bottom-to-top),上层至底层(top-to-bottom)的层级迭代优化方式,该种优化模式可以实现新数据的快速加入,新数据只更新地图中相关部分如新增的地图部分及其上层部分,易于并行化分布式执行,增量式增加数据。
110.其中,在划分层级时,可以按照子区域从小到大划分,底层点云帧对应的子区域最小,且划分的层数可以不限定,本实施方式也可以按照点云帧、子区块和区块这三层数据结构进行层级的点云位姿优化,从而实现了层级化的位姿优化,进而可以提高点云配准的准确性,提高点云融合的效果。
111.可选的,所述基于所述p个目标节点中每个目标节点的第二相对位姿,确定所述k帧点云中每帧点云的目标相对位姿,包括:
112.在目标差值小于预设阈值的情况下,基于所述p个目标节点中每个目标节点的第二相对位姿和所述k个节点的初始位姿对所述k个节点的位姿进行优化,得到所述k帧点云中每帧点云的目标相对位姿;
113.其中,所述目标差值为所述p个目标节点的p个第二相对位姿与所述p个目标节点的p个第一相对位姿之间的差值。
114.本实施方式中,目标差值可以为所述p个目标节点的p个第二相对位姿与所述p个目标节点的p个第一相对位姿之间的差值,即上层位姿优化相对于下层位姿优化的各个节点之间的位姿修正量,该目标差值可以为p个差值的和,也可以为p个差值的均值,针对一个目标节点,该差值可以表示该目标节点的第二相对位姿与该目标节点的第一相对位姿之间的差值,这里不进行具体限定。
115.该预设阈值可以根据实际情况进行设置,通常设置的比较小,以保证修正的效果。
116.在修正量小于预设阈值的情况下,可以基于p个目标节点中每个目标节点的第二相对位姿和k个节点的初始位姿对k个节点的位姿进行优化,得到k帧点云中每帧点云的目标相对位姿,具体可以基于p个目标节点中每个目标节点的第二相对位姿优化下层节点的边如子区块之间的各帧点云的边,之后将优化后的边作为边约束,基于k个节点的初始位姿对k个节点的位姿进行优化。即将上层优化得到的各帧点云的相对位姿向下传播,以反馈给下层的各帧点云,最终得到k帧点云中每帧点云的目标相对位姿。
117.这样,形成了底层至上层(bottom-to-top),上层至底层(top-to-bottom)的层级迭代优化方式,该种优化模式可以实现新数据的快速加入,新数据只更新地图中相关部分如新增的地图部分及其上层部分,易于并行化分布式执行,增量式增加数据。如此,能够适用大规模的点云重建场景,并能够方便地部署于分布式云计算系统中,且适用于各种场景,包括立交桥、高速和城市道路等等场景。
118.可选的,所述基于所述初始位姿对所述k个节点的位姿进行优化,得到所述k个节点中每个节点的第一相对位姿之前,还包括:
119.获取针对所述目标区域的l条点云采集轨迹的目标高程值;
120.所述基于所述初始位姿对所述k个节点的位姿进行优化,得到所述k个节点中每个节点的第一相对位姿,包括:
121.将所述目标高程值作为相对位姿中高程均值的约束,基于所述初始位姿对所述k个节点的位姿进行优化,得到所述k个节点中每个节点的第一相对位姿。
122.本实施方式中,目标高程值可以为针对目标区域的l条点云采集轨迹的高程值,其
可以表征所采集的各帧点云所处于的位置高程值。
123.在l等于1的情况下,目标区域的点云采集轨迹的高程值即为目标高程值。对于一些场景下,由于gps后处理搜到的星可能会存在部分遮挡,初始定位会随机产生一些高程,且针对目标区域通常情况下会采集多条点云采集轨迹,以使采集的数据可以将该目标区域覆盖完整,因此可以通过对多条点云采集轨迹的高程值进行投票选择,以确定点云采集轨迹的最佳高度,该最佳高度即为目标高程值,相应地,可以大概确定所采集的各帧点云所处于的位置高程值。
124.之后,可以将所述目标高程值作为相对位姿中高程均值的约束,具体可以使用高斯分布构建位姿中高程值的先验权重,最佳高度作为高斯的均值,基于所述初始位姿对所述k个节点的位姿进行优化,得到所述k个节点中每个节点的第一相对位姿。如此,在位姿漂移时可以降低位姿高程漂移的先验权重,避免位姿高程漂移对位姿优化的错误影响,从而可以显著提升点云的融合效果。
125.第二实施例
126.如图4所示,本公开提供一种高精地图构建装置400,包括:
127.第一获取模块401,用于获取针对目标区域所采集的点云数据,所述点云数据包括k帧点云和每帧点云的初始位姿,k为大于1的整数;
128.关联模块402,用于基于所述初始位姿对所述k帧点云进行相互关联,得到所述k帧点云的第一点云关系图;
129.点云配准模块403,用于基于所述第一点云关系图和所述初始位姿,对所述k帧点云进行点云配准,得到所述k帧点云中每帧点云的目标相对位姿;
130.拼接模块404,用于基于所述目标相对位姿对所述k帧点云进行拼接,得到所述目标区域的点云地图。
131.可选的,所述关联模块402包括:
132.区块划分子模块,用于基于所述初始位姿将所述k帧点云按照区块划分,得到m个区块,每个相邻区块之间存在相同的至少一帧点云,m为正整数;
133.第一关联子模块,用于针对每个区块,将所述区块内的各帧点云进行相互关联,得到所述区块的第二点云关系图;
134.第二关联子模块,用于基于所述相同的至少一帧点云,将所述m个区块的m个所述第二点云关系图进行相互关联,得到所述第一点云关系图。
135.可选的,所述区块划分子模块,具体用于:
136.基于所述初始位姿将所述k帧点云按照目标子轨迹进行划分,得到n个子区块,一个子区块包括一条目标子轨迹上采集的各帧点云,所述目标子轨迹为针对所述目标区域的l条点云采集轨迹中任一点云采集轨迹上的一段连续轨迹,一条点云采集轨迹包括连续的至少一条所述目标子轨迹,l为正整数,n为大于1的整数;
137.将所述n个子区块按照各子区块的位置关系进行划分,得到所述m个区块,一个区块包括预设大小空间内的子区块,第一区块与第二区块内至少存在部分子区块不同,所述第一区块为所述m个区块中任一区块,所述第二区块为所述m个区块中与所述第一区块不同的区块。
138.可选的,所述第一关联子模块,具体用于以下至少一项:
139.针对所述区块内的每帧点云,将所述区块内与所述点云距离预设范围内的其他点云进行相互关联,以得到所述第二点云关系图;
140.针对所述目标区域的任一点云采集轨迹,按照所述点云采集轨迹的方向,将所述区块内基于所述点云采集轨迹在相邻时间采集的各帧点云进行相互关联,以得到所述第二点云关系图;
141.将所述区块内基于第一点云采集轨迹采集的第一目标帧点云与所述区块内基于第二点云采集轨迹采集的第二目标帧点云进行相互关联,以得到第二点云关系图,所述第一点云采集轨迹和所述第二点云采集轨迹为针对所述目标区域的不同点云采集轨迹,所述第二目标帧点云位于所述第一点云采集轨迹方向的垂直方向上,且所述第二目标帧点云的初始位姿与所述第一目标帧点云的初始位姿相邻。
142.可选的,所述点云配准模块403包括:
143.获取子模块,用于将所述k帧点云中每帧点云作为一个节点,得到所述k帧点云一一对应的k个节点;
144.优化子模块,用于将所述第一点云关系图中各帧点云的关联关系作为所述k个节点的边约束,基于所述初始位姿对所述k个节点的位姿进行优化,得到所述k个节点中每个节点的第一相对位姿;
145.确定子模块,用于基于所述k个节点中每个节点的第一相对位姿,确定所述k帧点云中每帧点云的目标相对位姿。
146.可选的,所述k帧点云被划分为m个区块,每个区块包括n个子区块,所述确定子模块包括:
147.节点获取单元,用于获取所述k个节点中的p个目标节点,所述目标节点为所述子区块中第三目标帧点云对应的节点,p为大于1的整数;
148.位姿优化单元,用于将基于所述p个目标节点中每个节点的第一相对位姿所确定的p个目标节点之间的关联关系作为所述p个目标节点的边约束,基于所述p个目标节点的初始位姿对所述p个目标节点的位姿进行优化,得到所述p个目标节点中每个目标节点的第二相对位姿;
149.确定单元,用于基于所述p个目标节点中每个目标节点的第二相对位姿,确定所述k帧点云中每帧点云的目标相对位姿。
150.可选的,所述确定单元,具体用于:
151.在目标差值小于预设阈值的情况下,基于所述p个目标节点中每个目标节点的第二相对位姿和所述k个节点的初始位姿对所述k个节点的位姿进行优化,得到所述k帧点云中每帧点云的目标相对位姿;
152.其中,所述目标差值为所述p个目标节点的p个第二相对位姿与所述p个目标节点的p个第一相对位姿之间的差值。
153.可选的,还包括:
154.第二获取模块,用于获取针对所述目标区域的l条点云采集轨迹的目标高程值;
155.所述优化子模块,具体用于将所述目标高程值作为相对位姿中高程均值的约束,基于所述初始位姿对所述k个节点的位姿进行优化,得到所述k个节点中每个节点的第一相对位姿。
156.本公开提供的高精地图构建装置400能够实现高精地图构建方法实施例实现的各个过程,且能够达到相同的有益效果,为避免重复,这里不再赘述。
157.本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
158.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
159.图5示出了可以用来实施本公开的实施例的示例电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
160.如图5所示,设备500包括计算单元501,其可以根据存储在只读存储器(rom)502中的计算机程序或者从存储单元508加载到随机访问存储器(ram)503中的计算机程序,来执行各种适当的动作和处理。在ram 503中,还可存储设备500操作所需的各种程序和数据。计算单元501、rom 502以及ram 503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。
161.设备500中的多个部件连接至i/o接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
162.计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如高精地图构建方法。例如,在一些实施例中,高精地图构建方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由rom 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到ram 503并由计算单元501执行时,可以执行上文描述的高精地图构建方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行高精地图构建方法。
163.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
164.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
165.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
166.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
167.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
168.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
169.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
170.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献