基于空间网格划分的快速点云配准方法、装置和设备

文档序号:27616017发布日期:2021-11-29 13:15阅读:160来源:国知局
基于空间网格划分的快速点云配准方法、装置和设备

1.本发明属于视觉测量技术领域,具体涉及基于空间网格划分的快速点云配准方法、装置和设备。


背景技术:

2.在三维测量中,由于测量设备视场有限,加之被测物体外形复杂,单次测量往往无法将物体待测区域覆盖完整,因此需要从不同视角对物体分别进行测量,然后通过点云配准的方式还原被测物体的全视角三维形貌。点云配准可以分为粗配准和精配准两步。粗配准指的是在两幅点云之间的变换完全未知的情况下进行较为粗糙的配准,目的主要是为精配准提供较好的变换初值;精配准则是给定一个初始变换,进一步优化得到更精确的变换。目前应用最广泛的点云精配准算法是迭代最近点算法(iterative closest point,icp)及其优化算法。
3.icp算法中查找最近点对的过程是整个icp算法的速度瓶颈,icp方法要依据点云序列查找最近邻点,目前最主流的icp算法是将目标点云用k

d树的形式组织,利用k

d树的空间分割特性来加速查找。将目标点云中所有点作为k

d树的节点,其中每输出一个节点都要进行一次排序,且所有节点串行输出,时间复杂度较高。对于数量庞大的点云来说,需要进行高密度计算,迭代求解耗时,在cpu上运行时计算速度慢,影响点云配准效率,无法保证算法的低延时,无法满足实时场景的速度要求。这是icp算法的一个缺陷,有待针对性研究进行补足。


技术实现要素:

4.本发明提供了基于空间网格划分的快速点云配准方法、装置和设备,解决了点云无序性问题,避免了构建k

d树的时间复杂度,借助硬件并行计算为快速实现icp点云精配准提供了解决方案。
5.为达到上述目的,本发明所述基于空间网格划分的快速点云配准方法,包括以下步骤:
6.步骤1:根据全视角的点云数据的空间范围,构建能容纳所有视角点云数据的三维立体空间;
7.步骤2:确立三维立体空间的坐标原点,依据点云密度,将三维立体空间沿x、y、z三个坐标轴划分为多个空间网格,并对每个空间网格进行编号;
8.步骤3:将所有视角的点云数据填入空间网格,计算每个视角的点云数据中的每个点落入的空间网格编号;
9.步骤4:用落入一个空间网格内的所有点的重心近似代替其他点,保证一个空间网格中至多含有一个点;
10.步骤5:对多视角点云数据进行粗配准,得到精配准的位置初值;
11.步骤6:对粗配准后的点云数据进行精配准,以最近邻点为点云匹配点,借助空间
网格编号的邻域信息获得点云编号的邻域信息,查询到最近邻点,得到源点云和目标点云之间的最近邻点对;
12.步骤7:并行处理计算最近邻点对的协方差矩阵,求解得到源点云的位姿变换矩阵,根据位姿变换矩阵进行位姿调整,得到更新后的源点云,用更新后的源点云进行迭代,当迭代结果达到配准精度或者达到迭代次数上限时,停止迭代,输出配准结果。
13.进一步的,步骤3中,计算每个点(x,y,z)落入的空间网格编号(i,j,k)公式为:
[0014][0015]
其中,i为在x轴上的索引号,j为在y轴上的索引号,k为在z轴上的索引号,x为点的x轴的坐标,y为点的y轴的坐标,z为点的z轴的坐标,cell
x
为空间网格在x轴方向的尺寸,cell
y
为y轴方向的尺寸,cell
z
为z轴方向的尺寸,(x0,y0,z0)为三维立体空间的坐标原点。
[0016]
进一步的,步骤4中,求落在空间网格编号(i,j,k)的所有点的重心公式为:
[0017][0018]
其中,p
n
为落在该网格编号的点云数据中的点的坐标;n
ijk
为落在该空间网格的点数;p
ijk
为该空间网格的所有点的重心。
[0019]
进一步的,步骤6中,对粗配准后的点云数据进行icp精配准。
[0020]
进一步的,步骤6中,icp精配准以最近邻点为点云匹配点,将被测物体第一个视角点云数据作为目标点云,另一个视角点云数据作为源点云;借助gpu并行遍历源点云中的每个点去查找在目标点云中的欧氏距离最近邻点,先计算源点云中查询点的空间网格编号,查找该编号网格的邻域网格包含的点,即为该点的邻域点,计算邻域点到查询点的欧氏距离,查询到最近邻点。
[0021]
进一步的,步骤7中,采用迭代最近点算法进行迭代。
[0022]
进一步的,完成点云精配准后,重合区域的点云存在冗余,借助空间网格进行点云融合,去除冗余点。
[0023]
进一步的,进行点云融合时,对落在同一个网格的多个点,用其重心来代替其它点。
[0024]
一种点云配准装置,包括:采集模块,用于采集被测物体全视角点云数据,并将采集的全视角点云数据传递至处理模块;处理模块,用于对被测物体全视角点云数据进行配准,得到被测物体的全视角三维形貌。
[0025]
一种计算机设备,包括电连接的存储器和处理器,所述存储器上存储有可在处理器上运行的计算程序,所述处理器执行所述计算程序时,实现上述的方法的步骤。
[0026]
与现有技术相比,本发明至少具有以下有益的技术效果:
[0027]
本发明所述的方法根据点云数据的空间范围,构建能容纳完整视角点云的三维立体空间,将立体空间依据点云密度划分为多个空间网格,确立空间网格的序列坐标,将点云序列转化为空间网格序列,解决了点云无序性问题,给点云数据每个点一个空间索引序列
号,方便查找邻域信息。
[0028]
通过划分空间网格,借助网格序列的邻域信息获得点云序列的邻域信息,降低构建点云序列的时间复杂度,加快点云邻域信息的搜索,确定最近邻点信息,并且划分网格后,并且各个网格之间查询互不干扰,可以借助gpu并行处理加速查找,加快点云邻域信息的搜索,确定最近邻点信息,极大提高了点云配准速度。
[0029]
进一步的,同时借助gpu并行处理计算最近邻点对的协方差矩阵,求解得到源点云的位姿变换矩阵;icp求得最优解需要迭代过程,并行处理大大提高了处理效率,极大提高了点云配准速度。
附图说明
[0030]
图1为本技术实施例提供的基于空间网格划分的最近邻点查询的流程图;
[0031]
图2a为被测物体第一个视角的图像;
[0032]
图2b为被测物体第二个视角的图像;
[0033]
图3a为被测物体第一个视角的点云图;
[0034]
图3b为被测物体第二个视角的点云图;
[0035]
图4为空间网格划分的示意图;
[0036]
图5为基于空间网格精简的示意图;
[0037]
图6为被测物体两个视角点云粗配准结果图;
[0038]
图7为本技术实施例提供的基于空间网格划分的点云精配准的流程图;
[0039]
图8为被测物体两个视角点云精配准结果图;
[0040]
图9为本发明提供的配准装置的模块结构示意图;
[0041]
图10为本发明提供的计算机设备的结构示意图。
具体实施方式
[0042]
为了使本发明的目的和技术方案更加清晰和便于理解。以下结合附图和实施例,对本发明进行进一步的详细说明,此处所描述的具体实施例仅用于解释本发明,并非用于限定本发明。
[0043]
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0044]
实施例1
[0045]
基于空间网格划分的快速点云配准方法,包括以下步骤:
[0046]
步骤1:根据被测物体的所有视角的点云数据的所占空间大小,构建能容纳所有视角点云数据的三维立体空间,具体过程如下:
[0047]
根据被测物体的大小,构建一个三维立体空间,保证被测物体的多视角点云数据都处于这个立体空间内,每个点都有一个空间网格编号与之对应。落在立体空间网格外的点云数据,没有对应的网格序列,无法借助网格序列信息查找点云序列信息。图2所示为被测物体两视角的图像,所测量物体为6cm*1.5cm*6cm的石膏头像,采用的测量方式是条纹投影三维轮廓测量技术;图3所示为被测物体两视角点云图,针对石膏头像测量得到的多视角点云数据,设置所构建的立体空间大小为12cm*12cm*12cm。
[0048]
步骤2:确立三维立体空间的坐标原点,将三维立体空间沿x、y、z三个坐标轴均等划分为m、n、l份小的空间网格,并对每个空间网格进行编号,具体过程如下:
[0049]
结合实际测量,确立三维立体空间的坐标原点(x0,y0,z0),综合考虑石膏头像的多个视角的点云数据的密度和用于进行配准的计算机的显卡显存大小,如图4所示,将三维立体空间沿x、y、z三个坐标轴均等划分为400、400、400份小的空间网格,单个网格的大小为0.3mm*0.3mm*0.3mm。
[0050]
步骤3:将多个视角的点云数据填入立体空间网格,计算每个视角的点云数据中的每个点落入的空间网格编号,具体过程如下:
[0051]
将石膏头像的点云数据填入立体空间网格,计算每个点(x,y,z)落入的空间网格编号(i,j,k)公式为:
[0052][0053]
(i,j,k)即为点(x,y,z)在空间网格的索引,可以通过该索引号直接定址,其中,i为在x轴上的索引号,j为在y轴上的索引号,k为在z轴上的索引号,x为点的x轴的坐标,y为点的y轴的坐标,z为点的z轴的坐标,cell
x
为空间网格在x轴方向的尺寸,cell
y
为y轴方向的尺寸,cell
z
为z轴方向的尺寸。
[0054]
步骤4:同一个视角的点云数据中,用落入一个空间网格内的所有点的重心近似代替其它点,保证一个空间网格中包含一个点或者没有点,过程示意如图5所示,即对填入立体空间网格的石膏头像点云数据进行精简,减少后续计算量,确保一个空间网格至多包含一个点;求落在空间网格编号(i,j,k)的所有点的重心公式为:
[0055][0056]
其中,p
n
为落在该网格编号的点云数据中的点的坐标;n
ijk
为落在该空间网格的点数;p
ijk
为该空间网格的所有点的重心。
[0057]
步骤5:对多个视角点云数据进行粗配准,得到精配准的位置初值,具体过程如下:
[0058]
将石膏头像视角一的点云数据作为目标点云,视角二的点云数据作为源点云进行
粗配准,粗配准结果如图6所示,为下一步精配准提供较好的位置初值,避免icp精配准陷入局部最优解。
[0059]
步骤6:对粗配准后的点云数据进行icp精配准,以最近邻点为点云匹配点,借助源点云网格编号,求取网格的周边邻域信息,根据网格的周边邻域信息获得点云数据的邻域信息,可以快速查询到源点云中每个点的最近邻点,得到源点云和目标点云之间最近邻点对;在计算最近邻点时,各个网格之间查询互不干扰,借助图形处理器(graphic processing unit,gpu)源点云中多个数据点并行处理查找,提高查找速度;
[0060]
icp方法以最近邻点为点云匹配点,遍历源点云中的每个点去查找在目标点云中的欧氏距离最近邻点,先计算源点云中要求点的空间网格编号,即为该点在空间网格的索引号,求解该索引号的5*5*5空间邻域信息,得到5*5*5邻域网格中存在的数据点,计算查询到的目标点云中邻近的点到源点云中的点的欧氏距离的最小的点,即为查询到最近邻点;若在5*5*5邻域网格内都为空,不存在近邻点,则舍弃该查询点。在计算最近邻点时,各个网格之间查询互不干扰,可以借助gpu并行处理加速查找;
[0061]
步骤7:在查找到源点云和目标点云之间最近邻点对后,借助gpu并行处理计算最近邻点对的协方差矩阵,对协方差矩阵进行奇异值分解,求解得到源点云的位姿变换矩阵;用位姿变换矩阵对源点云数据进行旋转平移变换,得到更新后的源点云;
[0062]
用更新后的源点云采用icp进行迭代,当迭代结果达到配准精度或者达到迭代次数上限时,停止迭代,输出配准结果。石膏头像两视角点云数据在迭代10次后的精配准结果如图8所示。
[0063]
然后icp求得最优解,需要迭代。并行处理大大提高了处理效率,实现快速点云精配准,精配准流程图如图7所示。
[0064]
步骤8:对源点云进行最优位姿调整后,即完成点云精配准后,对落在同一网格内的冗余点,进行点云融合,保证点云密度均匀。
[0065]
对源点云进行最优位姿调整后,即完成点云精配准后,会导致多个点落在一个网格的情况,造成点的冗余,对落在同一个网格的多个点,需要计算其重心来代替其它点来进行点云融合。
[0066]
借助石膏头像点云,分别统计现有方法和本发明方法在2片点云和12片点云的配准耗时,如表1所示,表1为对石膏头像点云数据分别用现有技术构建k

d树和本发明方法网格划分的配准实验结果。
[0067]
表1现有方法和本发明方法配准效率对比
[0068][0069]
由表1的统计结果可以看出本方法可以大大提高查找最近邻点的速度,提高点云配准效率。
[0070]
本发明公开了一种基于空间网格划分的快速点云配准方法,该方法通过划分空间网格,将点云序列转化为空间网格序列,解决了点云无序性问题。在点云精配准icp算法中,借助网格序列的邻域信息获得点云序列的邻域信息,降低构建点云序列现有算法如构建k

d树的时间复杂度,并且在计算最近邻点时,各个网格之间查询互不干扰,借助gpu并行处理加速查找,加快点云邻域信息的搜索,确定最近邻点信息;同时借助gpu并行处理计算最近邻点对的协方差矩阵,求解得到源点云的位姿变换矩阵;icp求得最优解需要迭代过程,并行处理大大提高了处理效率,极大提高了点云配准速度。
[0071]
实施例2
[0072]
本发明提供的一种配准装置,如图9所示,包括采集模块、处理模块和显示模块。
[0073]
其中,采集模块,用于采集被测物体全视角点云数据,并将采集的被测物体全视角点云数据传递至处理模块;处理出模块,用于对被测物体多个视角的全视角点云数据进行配准,得到被测物体的全视角三维形貌,并传递至显示模块;显示模块,用于显示被测物体的全视角三维形貌。
[0074]
实施例3
[0075]
本发明提供的一种计算机设备,如图10所示,包括电连接的存储器和处理器,其中,存储器上存储有可在处理器上运行的计算程序,所述处理器执行所述计算程序时,实现上述的配准方法的步骤。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能。
[0076]
所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。
[0077]
所述配准装置/终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述处理器为gpu。
[0078]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。以上内容仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明权利要求书的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1