一种基于特征学习的端到端点云配准方法转让专利

申请号 : CN202110358537.5

文献号 : CN113077501B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 宋亚楠沈卫明陈刚

申请人 : 浙江大学计算机创新技术研究院

摘要 :

本发明公开了一种基于特征学习的端到端点云配准方法。利用点云中每个点的邻域点构建该点的局部几何特征,并利用每个点的空间坐标、法向信息以及局部几何特征构建该点的混合特征;建立同时处理模板点云和源点云的端到端点云配准深度学习网络;设计平移损失函数和旋转损失函数,在两个损失函数共同监督下完成点云配准网络的训练学习。本发明提出的基于特征学习的端到端点云配准方法对刚体变换的初始位置不敏感,降低了算法陷入局部最优解的概率,能有效提升点云配准的精度和效率。

权利要求 :

1.一种基于特征学习的端到端点云配准方法,其特征在于:

步骤1:构建混合特征构建网络,通过混合特征构建网络获得待测物体的点云的混合特征;

步骤2:基于混合特征构建网络构建基于特征学习的端到端点云配准网络,端到端点云配准网络包含了混合特征构建网络;

步骤3:训练构建的点云配准网络,且点云配准网络在平移损失函数和旋转损失函数共同监督下训练;

步骤4:利用训练完成后的点云配准网络的结果直接用于预测点云对之间的变换;

所述步骤1具体为:

步骤1.1:采集待测物体的点云,点云的每个点均为编码点,以每个编码点为中心在点云中构建球形区域;

步骤1.2:在构建的球形区域中随机选择k个相邻的编码点作为邻域点;

步骤1.3:构建编码点的局部几何特征;

步骤1.4:构建编码点的混合特征:

步骤1.5:构建点云的混合特征:重复步骤1‑4,为点云中的每个编码点构建混合特征;

所述的步骤1.3具体为:

将编码点与其每一个邻域点之间的空间距离在X、Y、Z三个坐标轴上分解,利用每个坐标轴上的距离计算该坐标轴方向上该邻域点对编码点的贡献值,X、Y、Z三个坐标轴处理方式相同;以X轴方向上的贡献值为例,计算邻域点在X轴方向上对编码点的贡献值,以Fx表示:其中,x表示邻域点与编码点沿X轴方向的距离;

所述步骤1.4中,使用编码点在三个坐标轴的空间位置坐标(x,y,z)、点法向信息(Nx,Ny,Nz)以及局部几何特征(Fx,Fy,Fz)构建组成了编码点的混合特征;

所述的步骤2中的端到端点云配准网络,具体包括了混合特征处理模块、第三多层感知机网络、最大池化操作和全连接层,源点云和模板点云分别经各自的混合特征处理模块后获得两个尺度不同的点云特征,将源点云和模板点云各自的两个不同尺寸的点云特征进行跳跃连接后获得融合特征,融合特征经过第三多层感知机网络后再经最大池化操作获得全局特征,再将全局特征经全连接层获得源点云和模板点云之间的平移变换参数和旋转变换参数,将平移变换参数和旋转变换参数合并形成变换矩阵并输出;

所述的混合特征处理模块主要由混合特征构建网络、第一多层感知机网络、第二多层感知机网络依次连接构成,源点云/模板点云输入到混合特征构建网络,第一多层感知机网络和第二多层感知机网络输出两种不同尺度的特征并作为两个点云特征;源点云的两个不同尺度的点云特征从小到大排列,然后模板点云的两个不同尺度的点云特征从小到大排列组成了融合特征。

2.根据权利要求1所述的一种基于特征学习的端到端点云配准方法,其特征在于:所述的步骤3中,在训练中,将变换矩阵反馈到源点云进行变换,以变换后的源点云再一次输入到端到端点云配准网络中得到下一次迭代的变换矩阵,并且不断重复迭代优化达到预设迭代次数后,以所有迭代次获得的变换矩阵进行相乘后的结果作为最终点云变换矩阵,用最终点云变换矩阵对源点云进行变换。

说明书 :

一种基于特征学习的端到端点云配准方法

技术领域

[0001] 本发明涉及计算机人工智能和三维点云配准领域的一种物理点云处理方法,特别涉及一种基于特征学习的端到端点云配准方法。

背景技术

[0002] 点云配准任务主要是寻找两片未知对应关系点云之间的刚体变换,广泛应用于逆向工程、尺寸测量、机器人等领域。点云的无序性以及不同点云之间复杂的初始对应关系增加了点云配准的难度。迭代最近点(Iterative Closest Point,ICP)算法及其变种算法是被广泛使用的有效点云配准方法,但是该方法对点云对的初始对应位置非常敏感,容易陷入局部最优。另外,不断迭代的方式降低了算法的计算效率。随着深度学习方法在点云分类、分割等领域的有效使用,基于深度学习的点云配准方法也受到了极大关注。然而,这些方法主要用来寻找点云的对应关系,不能直接生成点云对之间的转换矩阵,增加了算法的复杂度。

发明内容

[0003] 为了解决背景技术中存在的问题,本发明的目的是为了解决背景技术而提出的一种基于特征学习的端到端点云配准方法,能够适应不同初始对应关系的点云配准任务,对噪声具有较强的鲁棒性,避免算法陷入局部最优,有利于提高点云配准的精度。另外,端到端的点云配准网络不需要计算最近点的对应关系,直接输出点云对之间的转换矩阵,实现了点云对的高效配准。
[0004] 本发明包括构建点云混合特征以及构建点云配准网络两个部分。首先利用点云中每个点的邻域点构建该点的局部几何特征,并利用每个点的空间坐标、法向信息以及局部几何特征构建该点的混合特征。然后设计一个同时处理模板点云和源点云的端到端点云配准深度学习网络。最后设计平移损失函数和旋转损失函数,在两个损失函数共同监督下完成点云配准网络的训练学习。
[0005] 为了实现上述目的,本发明采用的具体技术方案为:
[0006] 步骤1:构建混合特征构建网络,通过混合特征构建网络获得待测物体的点云的混合特征;
[0007] 步骤2:基于混合特征构建网络构建基于特征学习的端到端点云配准网络,端到端点云配准网络包含了混合特征构建网络;
[0008] 步骤3:训练构建的点云配准网络,且点云配准网络在平移损失函数和旋转损失函数共同监督下训练;
[0009] 步骤4:利用训练完成后的点云配准网络的结果直接用于预测点云对之间的变换。
[0010] 本发明所述的预测点云对分为模板点云和源点云,模板点云为预先设定的物体的标准设计点云,由物体的标准三维模型获得。源点云为扫描测量的物体点云,通过三维扫描设备采集并经点云化处理后获得,如深度相机。
[0011] 本发明所述的待测物体为实际世界中真实存在的物体,可以为机械零件、桌子、椅子等生活用品,但不限于此。
[0012] 所述步骤1具体为:
[0013] 步骤1.1:采集待测物体的点云,点云的每个点均为编码点,以每个编码点为中心在点云中构建球形区域;
[0014] 步骤1.2:在构建的球形区域中随机选择k个相邻的编码点作为邻域点;
[0015] 步骤1.3:构建编码点的局部几何特征;
[0016] 利用步骤2中采集的邻域点,按照本发明提出的局部几何特征计算方法,获得每个邻域点对编码点的贡献值大小作为局部几何特征。
[0017] 步骤1.4:构建编码点的混合特征:
[0018] 步骤1.5:构建点云的混合特征:重复步骤1‑4,为点云中的每个编码点构建混合特征。
[0019] 所述的步骤1.3具体为:
[0020] 将编码点与其每一个邻域点之间的空间距离在X、Y、Z三个坐标轴上分解,利用每个坐标轴上的距离计算该坐标轴方向上该邻域点对编码点的贡献值,X、Y、Z三个坐标轴处理方式相同;以X轴方向上的贡献值为例,计算邻域点在X轴方向上对编码点的贡献值,以Fx表示:
[0021]
[0022] 其中,x表示邻域点与编码点沿X轴方向的距离。
[0023] 所述步骤1.4中,使用编码点在三个坐标轴的空间位置坐标(x,y,z)、点法向信息(Nx,Ny,Nz)以及局部几何特征(Fx,Fy,Fz)构建组成了编码点的混合特征。
[0024] 本发明从多个角度提取点云特征,以实现更好的点云配准。具体使用空间位置坐标、点云法向信息以及局部几何特征构建点的混合特征,如图1所示。(x,y,z)表示编码点的空间坐标信息,(Fx,Fy,Fz)表示编码点的局部几何特征,(Nx,Ny,Nz)表示编码点的法向信息。一个编码点的混合特征维度为k×9。
[0025] 所述的步骤2中的端到端点云配准网络,如图3所示,具体包括了混合特征处理模块、第三多层感知机网络、最大池化操作和全连接层,源点云和模板点云分别经各自的混合特征处理模块后获得两个尺度不同的点云特征,将源点云和模板点云各自的两个不同尺寸的点云特征进行跳跃连接后获得融合特征,融合特征经过第三多层感知机网络后再经最大池化操作获得全局特征,再将全局特征经全连接层获得源点云和模板点云的两片点云之间的平移变换参数和旋转变换参数,将平移变换参数和旋转变换参数合并形成变换矩阵并输出,输出到源点云进行变换。
[0026] 所述的混合特征处理模块主要由混合特征构建网络、第一多层感知机网络、第二多层感知机网络依次连接构成,混合特征构建网络处理获得混合特征输入到第一多层感知机网络,源点云/模板点云输入到混合特征构建网络,第一多层感知机网络和第二多层感知机网络输出两种不同尺度的特征并作为两个点云特征;源点云的两个不同尺度的点云特征从小到大排列,然后模板点云的两个不同尺度的点云特征从小到大排列组成了融合特征。
[0027] 源点云/模板点云输入到混合特征构建网络,然后经由两个多层感知机网络后输出两种不同尺度的点云特征;源点云的两个不同尺寸点云特征和模板点云的两个不同尺寸点云特征进行拼接,获得融合特征。
[0028] 所述的步骤3中,在训练中,将变换矩阵反馈到源点云进行变换,以变换后的源点云再一次输入到端到端点云配准网络中得到下一次迭代的变换矩阵,并且不断重复迭代优化达到预设迭代次数后,以所有迭代次获得的变换矩阵进行相乘后的结果作为最终点云变换矩阵,用最终点云变换矩阵对源点云进行变换。
[0029] 本发明的有益效果是:
[0030] 本发明构造了一个端到端的基于特征学习的点云配准网络,能够充分利用两片待配准点云的空间位置信息、法向信息以及点云内部的局部几何关系信息。该方法对任意点云对之间的初始对应关系和噪声具有较强的鲁棒性,能有效避免算法陷入局部最优,提升点云配准的精度和效率。
[0031] 本发明提出的基于特征学习的端到端点云配准方法对刚体变换的初始位置不敏感性,降低了算法陷入局部最优解的概率,能有效提升点云配准的精度和效率。

附图说明

[0032] 图1为编码点混合特征示意图;
[0033] 图2为点云混合特征示意图;
[0034] 图3为点云配准网络示意图;
[0035] 图4为本发明方法的流程图。

具体实施方式

[0036] 下面结合附图和具体实施对本发明作进一步说明。
[0037] 需要理解的是,本发明所描述的实施例是示例性的,实施例描述中所使用的具体参数仅是为了便于描述本发明,并不用于限定本发明。
[0038] 如图4所示,本发明的实施例及其实施过程如下步骤:
[0039] 步骤1:采集待测物体的点云,点云的每个点均为编码点,以每个编码点为中心在点云中构建球形区域;具体实施中,将点云中构建混合特征的每个点称为编码点。利用球查询(Ball Query)方法搜索每个编码点的邻域点。球查询所构建的该球形区域的半径设置为0.3。
[0040] 步骤2:在构建的球形区域中随机选择k个相邻的编码点作为邻域点;
[0041] 本实施例中k设置为32。如果该区域中点的数量不足32个,则通过重复采集编码点本身的方式保证选取的点个数为32个。
[0042] 步骤3:构建编码点的局部几何特征;
[0043] 本发明认为距离编码点越近的点对局部几何特征的贡献值越大,因此按照以下方式利用采集的k个邻域点处理获得这种贡献值,构建编码点的局部几何特征。
[0044] 将编码点与其每一个邻域点之间的空间距离在X、Y、Z三个坐标轴上分解,利用每个坐标轴上的距离计算该坐标轴方向上该邻域点对编码点的贡献值,X、Y、Z三个坐标轴处理方式相同;以X轴方向上的贡献值为例,计算邻域点在X轴方向上对编码点的贡献值,以Fx表示:
[0045]
[0046] 其中,x表示邻域点与编码点沿X轴方向的距离。
[0047] 类似地,可计算邻域点在Y、Z方向上对编码点的贡献值,分别以Fy、Fz表示。
[0048] 步骤4:构建编码点的混合特征:
[0049] 使用编码点在X、Y、Z三个坐标轴的空间位置坐标(x,y,z)、点法向信息(Nx,Ny,Nz)以及局部几何特征(Fx,Fy,Fz)构建组成了编码点的混合特征。
[0050] 假设一个点云中有n个点,则提取的点云混合特征如图2所示。点云混合特征维度为n×k×9。
[0051] 混合特征结合了步骤2中采集的32个邻域点以及步骤3中构建的局部几何特征,每个编码点的混合特征维度为32×9。
[0052] 步骤5:构建点云的混合特征:重复步骤1‑4,为点云中的每个编码点构建混合特征。
[0053] 本实施例中一个点云包含1024个点,则点云的混合特征维度为1024×32×9。
[0054] 步骤6:基于混合特征构建网络,构建基于特征学习的端到端点云配准网络;构建如图3所示的点云配准网络。本实施例中变换矩阵迭代更新次数设为4。
[0055] 源点云和模板点云分别用(x,y,z)空间坐标和(Nx,Ny,Nz)法向信息表示,因此,输入到网络的点云维度为n×6。
[0056] 源点云和模板点云分别输入到混合特征构建网络,获得n×k×6的混合特征。混合特征经由两侧多层感知机网络mlp网络进一步提取点云高层特征。图中mlp后面的数字表示每层的节点数。
[0057] 由源点云和模板点云获得的点云特征进一步拼接获得融合特征。具体拼接时加入了跳跃连接处理,将包含更多位置信息的n×64的特征与包含更多语义信息的n×1024的特征依次排列融合,再将源点云和模板点云的点云特征依次融合,获得n×2176的融合特征,充分利用点云的位置信息,能够更准确的实现点云配准。
[0058] 两片点云的融合特征经由多层感知机网络后再执行最大池化操作,获得维度为512的全局特征。在全局特征基础上,分别使用全连接层(FC)获得两片点云之间的平移变换参数和旋转变换四元数参数。
[0059] 整个网络在平移变换损失和旋转变换损失的监督下完成训练。
[0060] 具体实施迭代优化点云配准变换矩阵,进一步提升点云配准精度,如图3中的虚线连接部分。由网络输出的旋转变换和平移变换获得源点云和模板点云之间的变换矩阵。然后,源点云与变换矩阵相乘得到变换后的源点云,变换后的源点云再一次输入到端到端点云配准网络中得到下一次迭代的点云变换矩阵。假设端到端点云配准网络第一次迭代得到的变换矩阵为M1,第n次迭代得到的变换矩阵为Mn,则经过n次迭代后,源点云和模板点云之间的最终点云变化矩阵M为M=Mn×Mn‑1×…×M1。
[0061] 步骤7:训练构建的点云配准网络,且点云配准网络在平移损失函数和旋转损失函数共同监督下训练;
[0062] 本实施例使用ModelNet40数据集,包含40个物体类别。选用前20个物体类别训练网络,包含5112个训练模型。选用剩下的20个物体类别用来测试网络,包含1266个模型。训练批次大小为8,初始学习率0.01,训练次数为300个epoch。
[0063] 步骤7中,在训练中,将变换矩阵反馈到源点云进行变换,以变换后的源点云再一次输入到端到端点云配准网络中得到下一次迭代的变换矩阵,并且不断重复迭代优化达到预设迭代次数后,以所有迭代次获得的变换矩阵进行相乘后的结果作为最终点云变换矩阵,用最终点云变换矩阵对源点云进行变换。
[0064] 步骤8:利用训练完成后的点云配准网络,直接用于对模板点云和源点云的预测点云对之间的变换。
[0065] 本发明方法设计了局部几何特征构建策略以及点云混合特征构建策略,增强了网络对点云对之间对应关系的识别能力。本发明提出的端到端网络结构对噪声和初始对应关系具有较强的鲁棒性,能有效避免算法陷入局部最优,提高了点云配准的精度和效率。
[0066] 与现有技术相比,本发明充分考虑了点云的空间位置信息、法向信息以及各点之间的局部几何关系。另外,构建的端到端点云配准网络能够直接输出点云对之间的平移变换和旋转变换信息。在ModelNet40数据集上,本发明获得了14.66的平均绝对值旋转误差和0.241的平均绝对值平移误差。