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

一种点云配准的方法、系统及存储介质

2022-08-21 13:15:32 来源:中国专利 TAG:


1.本发明涉及计算机图形技术领域,尤其涉及一种点云配准的方法、系统及存储介质。


背景技术:

2.随着计算机视觉技术的不断发展,三维重建技术在逆向工程、3d打印、生物医学等领域中的应用越来越广泛,点云配准作为三维重建过程中的关键环节之一,能够对不同坐标系下测得的物体点云数据进行配准融合,从而获取到物体完整的三维信息。目前,在进行点云配准的过程中,为了提高低重叠度点云的配准精度,需要增加采样点数目,但采样点数目增加会降低配准速度。可见,现有的点云配准方法存在对低重叠率的点云配准时配准效率较低的问题。


技术实现要素:

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.所述深度阈值为对初始网格节点对进行分层网格划分时划分层数的最大值。
30.可选的,所述局部点云配准包括:
31.在待配准网格节点对中选取一个共面四点集合作为参考基,在待配准网格节点对中提取一个共面四点集合作为变换基,并基于所述参考基和所述变换基确定刚性变换矩阵;
32.通过刚性变换矩阵对所述参考基进行变换,并根据变换结果确定局部重叠度;
33.通过刚性变换矩阵对待配准网格节点对进行变换,并根据变换结果确定全局重叠度。
34.第二方面,本技术实施例提供一种点云配准的系统,包括存储器、处理器以及存储在存储器上可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面中任一所述方法的步骤。
35.第三方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的方法步骤。
36.有益效果:
37.本发明提供的点云配准的方法,在进行点云配准的过程中,对需要配准的目标进行分层,并在当前层局部配准中没有找到合适的全局重叠度的情况下,通过迭代的方式进行下一层的局部配准,通过将整体配准转为逐层局部配准的方法,减少每次配准操作所需的采样点,从而减少采样点对的数目,达到降低配准时间的目的。
附图说明
38.图1为本发明优选实施例点云配准的方法的流程图;
39.图2为本发明优选实施例点云配准的方法处理流程示意图;
40.图3为本发明优选实施例点云配准的方法中分层网格划分示意图之一;
41.图4为本发明优选实施例点云配准的方法中分层网格划分示意图之二;
42.图5为本发明优选实施例点云配准的方法中分层网格划分示意图之三;
43.图6为本发明优选实施例点云配准的方法的配准路径图。
具体实施方式
44.下面对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
45.除非另作定义,本发明中使用的技术术语或者科学术语应当为本发明所属领域内具有一般技能的人士所理解的通常意义。本发明中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”或者“一”等类似词语也不表示数量限制,而是表示存在至少一个。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也相应地改变。
46.应理解,本技术的一种点云配准的方法可以应用于三维重建中,例如,计算机图形学、3d打印、生物医学等等,此处仅做示例,不做限定。
47.实施例1:
48.请参见图1-5,本技术实施例提供一种点云配准的方法,包括:
49.基于获取的目标点云和待配准点云进行网格节点构建得到初始网格节点对,并对初始网格节点对进行分层网格划分得到每层对应的子节点对;
50.将当前层的所述子节点对作为配准网格节点对进行局部点云配准,并得到当前层配准结果,其中,所述当前层配准结果包括当前层局部最优重叠度以及与当前层局部最优重叠度均对应的当前层网格节点对、当前层刚性变换矩阵和当前层全局重叠度;
51.将所述当前层全局重叠度与预设重叠度阈值进行比较,在当前层全局重叠度大于预设重叠度阈值的情况下,输出所述当前层全局重叠度为最优配准重叠度;
52.在当前层全局重叠度小于或等于预设重叠度阈值的情况下,进行所述当前层网格节点对作为配准网格节点对执行局部点云配准的迭代操作,并将所述迭代操作得到的迭代全局重叠度与预设重叠度阈值进行比较,在迭代全局重叠度大于预设重叠度阈值的情况
下,输出所述迭代全局重叠度为最优配准重叠度。
53.在上述实施例中,通过对需要配准的目标进行分层,并在当前层局部配准中没有找到合适的全局重叠度的情况下,通过迭代的方式进行下一层的局部配准,通过将整体配准转为逐层局部配准的方法,减少每次配准操作所需的采样点,从而减少采样点对的数目,达到降低配准时间的目的。
54.其中,实施例中记载的当前层以分层中的第一层为示例,当前层局部最优重叠度表示第一层点云配准完成后得到的局部最优重叠度,当前层网格节点对表示第一层点云配准完成后得到的局部最优重叠度对应的网格节点对,当前层刚性变换矩阵表示第一层点云配准完成后得到的局部最优重叠度对应的刚性变换矩阵,第一层当前层全局重叠度表示第一层点云配准完成后得到的局部最优重叠度对应的全局重叠度,该全局重叠度通过利用得到的当前层刚性变换矩阵将待配准点云变换到目标点云坐标下,计算变换后的待配准点云和目标点云的重叠度得到,此处,只做示例,不做限定。
55.可选的,所述方法还包括:
56.在迭代操作中未确定最优配准重叠度的情况下,进行仅小于当前层局部最优重叠度的当前层局部次优重叠度所对应的当前层次优全局重叠度作为回溯重叠度的回溯操作,并将所述回溯操作得到的回溯全局重叠度与当前层全局重叠度进行比较;
57.在回溯全局重叠度大于当前层全局重叠度的情况下,输出所述回溯全局重叠度对应的回溯网格节点对,并对所述回溯网格节点对进行局部点云配准,得到回溯配准结果,其中,所述回溯配准结果包括回溯局部最优重叠度以及与回溯局部最优重叠度对应的回溯网格节点对、回溯刚性变换矩阵和回溯全局重叠度;
58.将所述回溯全局重叠度与预设重叠度阈值进行比较,在回溯全局重叠度大于预设重叠度阈值的情况下,输出所述回溯全局重叠度为最优配准重叠度,否则进行迭代操作;
59.在回溯全局重叠度小于等于当前层全局重叠度的情况下,返回上一层继续进行回溯操作,直到回溯全局重叠度大于当前层全局重叠度。
60.在上述实施例中,在迭代操作过程中未找到合适全局重叠度且不在适合迭代操作的情况下,避免出现局部最优的情形,通过回溯操作,跳出迭代操作,从而达到跳出局部最优的目的,利用回溯操作,对小于当前层局部最优重叠度的其他局部重叠度进行点云配准,并在该点云配准后得到回溯全局重叠度,在回溯全局重叠度大于当前层全局重叠度时,表示回溯操作的结果优于当前层点云配准的结果,便可再通过对回溯全局重叠度与预设重叠度进行比较来确定最优配准重叠度,在回溯重叠度小于或等于当前层全局重叠度时,说明当前层点云配准的结果优于回溯操作的结果,因此,需要返回上一层进行回溯操作,直到回溯操作的结果优于当前层点云配准的结果为止。
61.其中,回溯重叠度用于表示回溯操作中仅小于当前层局部最优重叠度的局部次优重叠度,回溯局部最优重叠度表示回溯操作中对局部次优重叠度对应的网格节点对计算后得到的局部最优重叠度,回溯网格节点对表示回溯过程中回溯局部最优重叠度对应的网格节点对,回溯刚性变换矩阵表示回溯过程中回溯局部最优重叠度对应的刚性变换矩阵,回溯全局重叠度用于表示回溯过程中回溯局部最优重叠度对应的全局重叠度,该全局重叠度通过利用得到的回溯刚性变换矩阵将待配准点云变换到目标点云坐标下,计算变换后的待配准点云和目标点云的重叠度得到。
62.可选的,所述进行回溯操作包括:
63.获取仅小于当前层局部最优重叠度的当前层局部次优重叠度,以及当前层局部次优重叠度对应的当前层次优网格节点对和当前层次优刚性变换矩阵;
64.通过当前层次优刚性变换矩阵对待配准点云进行坐标变换得到变换点云,并计算变换点云与目标点云之间的重叠率,计算后得到的重叠率为当前层次优全局重叠率;
65.将所述当前层次优全局重叠度作为回溯全局重叠度,并将当前层次优网格节点对作为回溯网格节点对。
66.在上述实施例中,通过找到本层中仅低于当前层局部最优重叠度的局部重叠度,并记录下该重叠度对应网格节点对以及对应网格节点对之间的刚性变换矩阵,并使用该刚性变换矩阵对待配准点云作坐标变换,计算变换后待配准点云与目标点云之间的重叠率,该重叠率即为回溯全局重叠度。
67.可选的,所述进行迭代操作包括:
68.将当前层网格节点对作为配准网格节点对进行局部点云配准,并得到迭代配准结果,其中,所述迭代配准结果包括迭代局部最优重叠度以及与迭代局部最优重叠度对应的迭代网格节点对、迭代刚性变换矩阵和迭代全局重叠度。
69.在上述实施例中,以当前层为分层操作后的第一层为例,通过将第一层中局部点云配准得到的全局重叠度对应的网格节点对作为第二层局部点云配准的输入节点,对当前层网格节点对进行网格划分后再次进行局部点云配准操作,从而在第二层中寻找最优配准重叠度,在第二层中未找到最优配准重叠度时,将第二层中得到的全局重叠度对应的网格节点对作为第三次局部点云配准的输入节点,以此类推,直到找到最优配准重叠度或下一层计算得到的全局重叠度小于上一层为止。
70.其中,迭代局部配准最优重叠度表示迭代操作中局部点云配准得到的局部最优重叠度,迭代网格节点对表示迭代操作中局部点云配准得到的局部最优重叠度对应的网格节点对,迭代刚性变换矩阵表示迭代操作中局部点云配准得到的局部最优重叠度对应的刚性变换矩阵,迭代全局重叠度表示迭代操作中局部点云配准得到的局部最优重叠度对应的全局重叠度,该全局重叠度通过利用得到的迭代刚性变换矩阵将待配准点云变换到目标点云坐标下,计算变换后的待配准点云和目标点云的重叠度得到。
71.可选的,所述方法还包括:
72.在迭代全局重叠度小于预设重叠度阈值的情况下,将所述迭代全局重叠度与预设初始重叠度进行比较;
73.在所述迭代全局重叠度大于预设初始重叠度的情况下,继续进行迭代操作;
74.在所述迭代全局重叠度小于或等于预设初始重叠度的情况下,进行回溯操作。
75.在上述实施例中,迭代过程出现迭代全局重叠度小于或等于预设初始重叠度的情况,这时,说明迭代操作已经无法满足寻找最优配准重叠度的标准,因此,需要通过回溯操作来跳出迭代操作,通过回溯操作来寻找最优配准重叠度,提高配准效率,其中,预设初始重叠度在进行第一层局部点云配准时数值为0,进行第二层局部点云配准时数值为第一层局部点云配准过程中的全局重叠度,进行第三层局部点云配准时数值为第二层局部点云配准过程中的全局重叠度,以此类推。
76.可选的,所述在所述迭代全局重叠度大于预设初始重叠度的情况下,继续进行迭
代操作包括:
77.在所述迭代全局重叠度大于预设初始重叠度的情况下,将当前层的层数与深度阈值进行比较;
78.在当前层的层数小于或等于深度阈值的情况下,继续进行迭代操作;
79.在当前层的层数大于深度阈值的情况下,终止配准;
80.所述深度阈值为对初始网格节点对进行分层网格划分时划分层数的最大值。
81.在上述实施例中,避免迭代操作的层数大于分层网格划分时分层数的最大值,减少无效操作的出现,其中,网格划分过程中指定划分轴数为k,k的值可以是1、2或者3。所谓对某轴进行划分,是指使用一个垂直于该轴的平面,将网格等尺寸一分为二。若k为3,则需要对x、y、z三个轴都进行划分。若k为2,则对尺寸较大的两个轴进行划分。若k为1,则只对尺寸最大的那个轴进行划分。当k=1时,由于x轴方向上尺寸最大,故对x轴划分,可得到两个子节点,结果如图3所示。当k=2时,由于x、y轴方向上尺寸较大,故对x、y轴划分,可得到四个子节点,结果如图4所示。当k=3时,不需要比较三个轴上的尺寸,对三个轴都划分,可得到八个子节点,结果如图5所示。
82.可选的,所述局部点云配准包括:
83.在待配准网格节点对中选取一个共面四点集合作为参考基,在待配准网格节点对中提取一个共面四点集合作为变换基,并基于所述参考基和所述变换基确定刚性变换矩阵;
84.通过刚性变换矩阵对所述参考基进行变换,并根据变换结果确定局部重叠度;
85.通过刚性变换矩阵对待配准网格节点对进行变换,并根据变换结果确定全局重叠度。
86.在上述实施例中,首先在目标点云中选取一个共面四点集合作为基,以该四点基作为参考,在待配准点云中提取与参考基近似全等的共面四点集合,然后通过lcp准则来确定最佳刚性变换矩阵。所谓lcp准则,是一个较为通用的对点云配准结果进行评判的标准,具体判断过程为:给定两个点集m与n,找到一个变换矩阵t,使得n经过矩阵t变换后的点集n’与m的重叠度达到最大。对于n’中的任一点,如果其在m中的最近点与自身的欧式距离在允许的误差范围内,则该点被视为重合点,重合点在整个点集中所占的比例即为重叠度。
87.实施例2:
88.请参见图6,以点云p与q之间的配准求解作为示例来详细说明本技术点云配准方法的网格配准流程。其中p为目标点云,q为待配准点云,分别构建点云p与q的包围盒并建立点云初始网格节点p00与q00。假设指定的划分轴数k为2,搜索深度阈值depthth为7,点云p与点云q的预设初始重叠度s0为0,重叠度阈值为overlapth,点云网格划分的具体过程如图6所示。配准过程如下:
89.s1:第一层配准。对点云节点p00与q00进行网格划分,分别得到各自的子节点{p1i,i=0,

,3}、{q1i,i=0,

,3}。之后对节点p00与q00的子节点进行4pcs配准,并记录配准结果。假设网格节点对(p12,q13)之间的局部重叠度l1在所有网格对中最大,其对应的刚性变换矩阵为t1,即第一层的最优网格对为(p12,q13),局部最优重叠度为l1。利用t1将点云q变换到点云p的坐标系下,并计算变换后的q与p之间的重叠度,即t1对应的全局重叠度s1。比较s1与s0的大小,由于s0被初始化为0,故s1必大于s0。假设当前深度小于depthth,
且s1小于overlapth,故此时满足迭代条件,取节点p12与q13作为下一层的输入节点。
90.s2:第二层配准。对节点p12与q13进行网格划分,得到子节点{p2i,i=0,

,3}、{q2i,i=0,

,3},并进行子节点之间的4pcs配准。得到该层的最优网格对为(p21,q22),最优局部重叠度为l2,该网格对的刚性变换为t2,计算t2对应的全局重叠度s2。若此时s2、s1及overlapth之间的关系为:s1《s2《overlapth,即本层的全局重叠度大于上一层,但是仍未达到重叠度阈值,并且本层的深度小于深度阈值,满足迭代条件,故进行下一层的配准,将节点p21与q22作为下一层配准的输入节点。
91.s3:第三层配准。对节点p21与q22进行网格划分,得到子节点{p3i,i=0,

,3}、{q3i,i=0,

,3},并进行子节点之间的4pcs配准。得到该层的最优网格对为(p32,q32),最优局部重叠度为l3,该网格对的刚性变换为t3,计算t3对应的全局重叠度s3。若此时s2与s3的关系为:s3《s2,即本层的全局重叠度小于上一层,故不满足迭代条件,应进行回溯。
92.s4:第三层层内回溯。回溯时先进行层内回溯,即先在第三层中找到局部重叠度为l3’的网格对(p30,q31),其中l3’仅低于第三层的局部最优重叠度l3。设节点p30与q31的刚性变换为t3’,t3’对应的全局重叠度为s3’。比较s3’与s3、overlapth之间的关系:若s3’》overlapth,则达到重叠度阈值,可结束配准;若s3《s3’《overlapth,说明t3’对应的全局重叠度大于t3,则s3’满足迭代条件,将本层最大全局重叠度s3的值更新为s3’,最优局部重叠度的值l3更新为l3’,最优网格对更新为(p30,q31),然后再比较s3与s2的关系确定下一步是进行迭代还是回溯。若s3》s2,则取节点p30与q31作为下一层的输入,继续配准,否则继续进行层内回溯,若回溯完该层内的所有网格对得到的结果都是s3》s2,返回上一层回溯;若s3’《s3,则继续返回上一层进行回溯。而在此次配准示例中,s3’《s3,所以应该返回第二层进行回溯。
93.s5:层间回溯,即第二层回溯。第二层中回溯的过程与第三层层内回溯的过程类似。找到局部重叠度为l2’的网格对(p23,q21),其中l2’仅低于第二层的局部最优重叠度l2。节点p23与q21的刚性变换为t2’,t2’对应的全局重叠度为s2’。若s2’、s2以及overlapth的关系为s2《s2’《overlapth,故此时将第二层的最优网格对更新为(p23,q21),最优局部重叠度更新为l2’,并将节点p23与q21作为输入节点进行下一层配准。
94.s6:第三层二次配准。对节点p23与q21进行网格划分,得到子节点{p3i,i=0,

,3}、{q3i,i=0,

,3},对子节点进行4pcs配准。可得第三层的最优网格对为(p33’,q33’),最优局部重叠度为l3,该网格对的刚性变换为t3,计算t3对应的全局重叠度s3。若存在关系s2《s3《overlapth,说明第三层的配准精度比第二层有所提高,但仍小于重叠度阈值,故还需进一步的配准,将节点p33’与q33’作为下一层配准的输入节点对。
95.s7:第四层配准。对节点p33’与q33’进行网格划分,得到子节点{p4i,i=0,

,3}、{q4i,i=0,

,3},进行子节点之间的4pcs配准。得到第四层的最优网格对为(p42,q40),最优局部重叠度为l4,该网格对的刚性变换为t4,t4对应的全局重叠度为s4。若存在关系s4》overlapth,说明此时已经达到重叠度阈值,可以结束配准。
96.本技术实施例还提供一种点云配准的系统,包括存储器、处理器以及存储在存储器上可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一所述方法的步骤。
97.本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被
处理器执行时实现上述任一所述的方法步骤。
98.以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
再多了解一些

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

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

相关文献