本发明涉及点云拼接,具体而言,涉及一种点云拼接方法、装置、电子设备及存储介质。
背景技术:
1、现有的点云拼接技术,方式一遵循拼接范式x'=t·h·x,其中t表示机械臂末端tcp坐标,h表示手眼标定矩阵,x表示输入的原始数据。方式二,基于配准的方式,基于局部配准的方式,将方式一得到的两幅基坐标系下的点云进行配准拼接,以获得最终的拼接结果。
2、针对方式一,直接进行手眼标定转换的方式会受到手眼标定矩阵误差的影响,当手眼标定存在一定的误差时,拼接重影误差难以消除。
3、针对方式二,基于配准的方式,当外部输入点云之间的交集较少时,会陷入局部最优的情况,依据会出现拼接误差,产生重影。
技术实现思路
1、本发明的目的在于提供一种点云拼接方法、装置、电子设备及存储介质,能够提高点云拼接的准确性,避免拼接误差。
2、为了实现上述目的,本申请实施例采用的技术方案如下:
3、第一方面,本申请实施例提供了一种点云拼接方法,所述方法包括:
4、获取第一待拼接点云和第二待拼接点云;
5、分别对所述第一待拼接点云和所述第二待拼接点云进行预处理,得到第一目标待拼接点云和第二目标待拼接点云;
6、计算所述第一目标待拼接点云与所述第二目标待拼接点云的第一交集和第二交集;
7、计算所述第一交集和所述第二交集的转换矩阵;
8、返回执行所述计算所述第一目标待拼接点云与所述第二目标待拼接点云的第一交集和第二交集至计算所述第一交集和所述第二交集的转换矩阵的步骤,直至满足预设条件,得到目标转换矩阵;
9、基于所述目标转换矩阵对所述第一待拼接点云和所述第二待拼接点云进行拼接。
10、可选地,所述计算所述第一交集和所述第二交集的转换矩阵的步骤,包括:
11、确定所述第一交集与所述第二交集的点对权重以及所述第一交集的质心和所述第二交集的质心;
12、基于所述第一交集、所述第二交集、第一交集的质心、第二交集的质心以及所述第一交集与所述第二交集的点对权重,计算所述第一交集与所述第二交集的转换矩阵。
13、可选地,所述基于所述目标转换矩阵对所述第一待拼接点云和所述第二待拼接点云进行拼接的步骤,包括:
14、基于所述目标转换矩阵,将所述第一待拼接点云转换至所述第二待拼接点云上,得到第三待拼接点云;
15、计算所述第二待拼接点云与所述第三待拼接点云的差集;
16、将所述差集与所述第二待拼接点云的和作为所述第一待拼接点云与所述第二待拼接点云的拼接点云。
17、可选地,所述计算所述第一目标待拼接点云与所述第二目标待拼接点云的第一交集和第二交集的步骤,包括:
18、针对所述第一目标待拼接点云中的各点,计算该点与所述第二目标待拼接点云中各点的第一距离;
19、从各第一距离中获取大于预设阈值的各第一目标距离;
20、基于各所述第一目标距离对应的点构成第一集合;
21、针对所述第二目标待拼接点云中的各点,计算该点与所述第一目标待拼接点云中各点的第二距离;
22、从各第二距离中获取大于预设阈值的各第二目标距离;
23、基于各所述第二目标距离对应的点构成第二集合。
24、可选地,确定所述第一交集与所述第二交集的点对权重的步骤,包括:
25、针对所述第一交集中的各点,计算所述第二交集中与该点对应点的第三距离;
26、基于所述第三距离,得到该点对的权重。
27、可选地,所述第一交集与所述第二交集的转换矩阵满足以下公式:
28、
29、其中,h为第一交集与所述第二交集的转换矩阵,wi为第i个点对的权重,n为点对的数量,pi为第一集合中第i个点的坐标,qi为第二集合中第i个点的坐标,centroidsource为第一集合的质心,centroidtarget为第二集合的质心。
30、可选地,所述返回执行所述计算所述第一目标待拼接点云与所述第二目标待拼接点云的第一交集和第二交集至计算所述第一交集和所述第二交集的转换矩阵的步骤,直至满足预设条件,得到目标转换矩阵的步骤,包括:
31、返回执行所述计算所述第一目标待拼接点云与所述第二目标待拼接点云的第一交集和第二交集至计算所述第一交集和所述第二交集的转换矩阵的步骤,并基于所述转换矩阵和所述第二目标待拼接点云得到第一点云;
32、计算所述第一点云中各点与所述第一目标待拼接点云对应的各点的各第四距离;
33、计算各所述第四距离的和;
34、计算各所述第四距离的和与所述第一点云中各点的数量的比值;
35、将所述比值与预设值进行比较;
36、在所述比值小于或者等于所述预设值时,确定满足预设条件,并得到目标转换矩阵。
37、第二方面,本申请实施例提供了一种点云拼接装置,所述装置包括:
38、获取模块,用于获取第一待拼接点云和第二待拼接点云;
39、预处理模块,用于分别对所述第一待拼接点云和所述第二待拼接点云进行预处理,得到第一目标待拼接点云和第二目标待拼接点云;
40、计算模块,用于计算所述第一目标待拼接点云与所述第二目标待拼接点云的第一交集和第二交集;计算所述第一交集和所述第二交集的转换矩阵;返回执行所述计算所述第一目标待拼接点云与所述第二目标待拼接点云的第一交集和第二交集至计算所述第一交集和所述第二交集的转换矩阵的步骤,直至满足预设条件,得到目标转换矩阵;
41、拼接模块,用于基于所述目标转换矩阵对所述第一目标待拼接点云和所述待拼接点云进行拼接。
42、第三方面,本申请实施例提供了一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现所述点云拼接方法的步骤。
43、第四方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述点云拼接方法的步骤。
44、本申请具有以下有益效果:
45、本申请通过获取第一待拼接点云和第二待拼接点云,分别对第一待拼接点云和第二待拼接点云进行预处理,得到第一目标待拼接点云和第二目标待拼接点云,计算第一目标待拼接点云与第二目标待拼接点云的第一交集和第二交集,计算第一交集和第二交集的转换矩阵,返回执行计算第一目标待拼接点云与第二目标待拼接点云的第一交集和第二交集至计算第一交集和第二交集的转换矩阵的步骤,直至满足预设条件,得到目标转换矩阵,基于目标转换矩阵对第一目标待拼接点云和待拼接点云进行拼接。通过不断迭代计算两幅点云之间的交集,通过交集可以大大降低由于icp算法的运行时间,同时通过计算交集的方式可以有效的降低icp配准陷入局部最优的问题。并且通过上述配准的方式,可以减小手眼标定带来的拼接误差。
1.一种点云拼接方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述计算所述第一交集和所述第二交集的转换矩阵的步骤,包括:
3.根据权利要求1所述的方法吗,其特征在于,所述基于所述目标转换矩阵对所述第一待拼接点云和所述第二待拼接点云进行拼接的步骤,包括:
4.根据权利要求1所述的方法,其特征在于,所述计算所述第一目标待拼接点云与所述第二目标待拼接点云的第一交集和第二交集的步骤,包括:
5.根据权利要求2所述的方法,其特征在于,确定所述第一交集与所述第二交集的点对权重的步骤,包括:
6.根据权利要求2所述的方法,其特征在于,所述第一交集与所述第二交集的转换矩阵满足以下公式:
7.根据权利要求3所述的方法,其特征在于,所述返回执行所述计算所述第一目标待拼接点云与所述第二目标待拼接点云的第一交集和第二交集至计算所述第一交集和所述第二交集的转换矩阵的步骤,直至满足预设条件,得到目标转换矩阵的步骤,包括:
8.一种点云拼接装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1-7任一项所述方法的步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-7中任一项所述方法的步骤。
