CN114332176A - 一种端到端三维点云配准方法 - Google Patents

一种端到端三维点云配准方法 Download PDF

Info

Publication number
CN114332176A
CN114332176A CN202111578638.XA CN202111578638A CN114332176A CN 114332176 A CN114332176 A CN 114332176A CN 202111578638 A CN202111578638 A CN 202111578638A CN 114332176 A CN114332176 A CN 114332176A
Authority
CN
China
Prior art keywords
point cloud
point
matrix
feature
neural network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111578638.XA
Other languages
English (en)
Inventor
姚剑
王颖
李礼
龚烨
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN202111578638.XA priority Critical patent/CN114332176A/zh
Publication of CN114332176A publication Critical patent/CN114332176A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Image Analysis (AREA)

Abstract

本发明提供一种利用图神经网络和互相向量一致性的端到端三维点云配准方法,对部分重叠的点云进行配准。该方法主要包括四步:第一步,准备训练数据;第二步,搭建用于点云配准的端到端深度神经网络;第三步,对网络进行训练,第四步,将训练好的网络应用于实际配准中。其中端到端深度神经网络主要包括局部特征提取器,图神经网络层,以及互相向一致性模块。本发明在点云局部特征提取的基础上,增加了基于自我注意力和交叉注意力的特征聚合,使得提取的特征更具有辨识力。此外,本发明利用互相向量一致性对点云匹配结果进行修正,可以进一步剔除外点,获得更准确的匹配结果。

Description

一种端到端三维点云配准方法
技术领域
本发明属于点云配准技术领域,特别是涉及一种利用图神经网络和互相向量一致性的端到端三维点云配准技术方案及系统。
背景技术
点云配准的目的是找到一个精确的刚性变换矩阵来对齐两个点云。点云配准在计算机视觉和机器人领域有广泛的应用,如目标姿态估计、同时定位与建图等。最经典的点云配准方法——迭代最近点法及其各种变体通过最小化度量误差来迭代优化变换矩阵,度量误差通常定义为点对点的距离,然而这些方法严重依赖于初始参数,容易收敛到局部最小值。其他一些广泛使用的点云配准方法是基于特征的方法,然而这些方法需要人工设计用于特征点匹配的描述符,因此效率和灵活性相对较低。此外,如果待配准的两个点云中存在大量重复的几何结构,这些基于特征的方法可能配准效果较差。
随着点云深度神经网络的发展,出现了许多基于深度学习的点云配准方法。一般来说,这些方法可以分为两类:无对应的方法和基于对应的方法。无对应的方法通常先利用深度神经网络提取每个点云的全局特征,然后应用全连接层从两个点云的全局特征差异中直接回归出变换矩阵。这些无对应的方法既直接又快速,然而由于物理模型没有集成到他们的网络中,这些方法的泛化能力可能较差。此外,对于部分重叠的点云,这种方法的性能将过度依赖于特征提取网络。
基于对应的深度学习方法继承了传统方法的整体流程,它可以分为四个步骤:特征提取、特征匹配、异常值剔除和变换估计。一些基于深度学习的点云配准方法提出用深度神经网络代替传统方法中的一个或多个环节。例如,用深度神经网络提取特征描述符,之后结合RANSAC算法估计变换矩阵;或者利用传统算法进行特征提取和匹配,然后利用深度神经网络将初始匹配分为内点和外点,之后再估计变换矩阵。然而,这些基于对应的方法不是端到端的。最近,一些端到端的深度学习方法被提出来用于点云配准,输入待配准的两个点云,通过网络直接输出变换矩阵,这些端到端的深度学习方法的关键是获得准确的对应矩阵,然而当待配准的点云存在噪声或者部分重叠时,得到的对应矩阵可能存在大量异常值,从而导致无法得到准确的配准结果。
发明内容
为了实现端到端的更加准确的点云配准,本发明提供了一种利用图神经网络和互相向量一致性的端到端三维点云配准方法。互相向量一致性如图1所示,箭头表示点对应之间的位移向量,对于正确的对应,位移向量具有相同的长度和相反的方向(左),这一约束在本发明中被定义为互相向量一致性;否则,位移向量不满足这个几何约束(右)。整体网络结构如图2所示。
假设待配准的两个点云分别表示为
Figure BDA0003426273180000021
Figure BDA0003426273180000026
其中X为源点云,Y为目标点云,N1和N2分别代表X和Y中点的数量。点云配准目的是得到输入数据之间的刚性变换{R,t},其中R表示旋转矩阵,t表示平移向量。假设用大小为N1×N2的对应矩阵M来表示X和Y之间的点对应关系,如果xi和yj是一对对应,则Mi,j的值为1,否则为0。
本发明的技术方案为,一种端到端三维点云配准方法,包括如下步骤:
步骤1,训练样本数据和待配准数据的准备;
步骤2,端到端深度神经网络的搭建,包括以下子步骤;
步骤2.1,点云局部特征提取,使用共享权值的局部特征提取器分别为源点云X和目标点云Y提取局部特征描述符,
Figure BDA0003426273180000022
Figure BDA0003426273180000025
N1和N2分别代表X和Y中点的数量;
步骤2.2,基于图神经网络的特征聚合,得到最终用于匹配的特征描述符,进一步获得初始软对应矩阵
Figure BDA0003426273180000023
初始软对应矩阵表示两个点云的点之间的初始匹配概率;
步骤2.3,基于互相向量一致性的匹配结果修正,即对初始软对应矩阵
Figure BDA0003426273180000024
进行修正获得最终对应矩阵M;
步骤3,利用步骤1中的训练样本数据对步骤2搭建的深度神经网络进行训练;
步骤4,将待配准的两个点云输入到训练好的深度神经网络中,得到最终对应矩阵,利用最终对应矩阵求解得到最终的刚性变换矩阵{R,t},利用最终的刚性变换矩阵{R,t}实现点云的配准,其中R表示旋转矩阵,t表示平移向量。
进一步的,步骤1中训练样本数据的准备包括;
对源点云X应用随机变换{ω1,ω2,ω3,t1,t2,t3}获得目标点云Y,其中ω1、ω2和ω3是在[0,45]°范围内随机采样的三个旋转欧拉角,t1、t2和t3是在[-0.5,0.5]范围内随机采样的三个位移量;为了模拟部分重叠的配准情况,对于每个点云,独立地创建一个随机的通过原点的平面,沿其法线平移,并保留70%的点;为了使得训练的模型更具有鲁棒性,对每个点独立随机地添加从均值为0且标准差为0.1的正态分布
Figure BDA0003426273180000027
中采样并裁剪到[-0.05,0.05]的高斯噪声。
进一步的,步骤2.1的具体实现方式如下;
使用共享权值的局部特征提取器将源点云X和目标点云Y嵌入到一个公共特征空间;在局部特征提取器中,首先使用点的坐标为每个点构建一个低维局部特征描述符,点xi的低维局部特征描述符为:
Figure BDA0003426273180000031
其中
Figure BDA0003426273180000032
表示点xi的邻近点;然后,利用非线性函数fθ将低维局部特征描述符映射到高维特征空间
Figure BDA0003426273180000033
映射如下:
F(0)(xi)=fθ(D(xi)),
其中θ代表非线性函数的参数,非线性函数由共享多层感知器,池化层以及拼接操作组成;同样地,使用同一个局部特征提取器为点云Y提取局部特征描述符
Figure BDA0003426273180000034
进一步的,步骤2.2的具体实现方式如下;
先建立一个以点云中的原始点为节点的无向完全图,局部特征描述符作为节点的初始特征,图的边可以分为两类:自边εself和叉边εcross;εself={(xi,xj)|xi,xj∈X,i≠j,i,j=1,2,…,N1}∪{(yi,yj)|yi,yj∈Y,i≠j,i,j=1,2,…,N2}是点云中任一点到同一点云中所有其他点的边集,εcross={(xi,yj)|xi∈X,yj∈Y,i=1,2,…,N1,j=1,2,…,N2}是点云中任一点到另一个点云中所有点的边集;
然后利用图神经网络进行特征聚合,图神经网络共有A层,在每一层中通过聚合来自自边或叉边的消息传递来更新每个节点的中间特征表示;记点xi在第l层的中间特征表示为F(l)(xi),则点xi在第l+1层的中间特征表示为:
Figure BDA0003426273180000036
其中Concat(·)表示拼接操作,ε∈{εcross,εself},MLP代表多层感知器;如果l为偶数,ε=εself
Figure BDA0003426273180000037
表示点xi从所有节点{xj|(xi,xj)∈εself}聚合来的消息;否则如果l为奇数,ε=εcross
Figure BDA0003426273180000038
表示从所有节点{yj|(xi,yj)∈εcross}聚合来的消息;为了实现远距离上下文信息聚合,沿自边进行的消息传递称为自我注意力,沿叉边进行的消息传递称为交叉注意力,应用自我注意力和交叉注意力机制来实现点云内和跨点云的消息传递;交叉注意力具体计算方式为:
Figure BDA0003426273180000035
其中softmax表示softmax函数,qi表示查询,它是节点特征F(l)(xi)的线性映射,kj和vj分别表示键和值,他们是节点特征F(l)(yj)的线性映射,同样地可以得到自我注意力
Figure BDA0003426273180000041
的计算方式:
Figure BDA0003426273180000042
其中qi同样表示节点特征F(l)(xi)的线性映射,需要注意的是,在自我注意力中kj和vj是节点特征F(l)(xj)的线性映射;
最后对图神经网络最后一层的特征进行线性映射,得到最终用于匹配的特征描述符:
Figure BDA0003426273180000043
其中W为权重矩阵,b为偏置;同样地,得到点云Y中点的特征F(yj),
Figure BDA0003426273180000044
Figure BDA0003426273180000045
分别表示点云X和点云Y的特征描述符;
在得到最终的匹配特征描述符后,首先计算FX和FY的亲和矩阵、然后应用实例归一化把亲和矩阵转化为一个全为正数的矩阵,最后对该矩阵应用Sinkhorn算法得到初始对应矩阵
Figure BDA0003426273180000046
进一步的,步骤2.3的具体实现方式如下;
使用互相向量一致性原理来修正
Figure BDA0003426273180000047
并尽可能地过滤掉异常值,互相向量一致性的基本假设是两个匹配点之间的位移矢量长度相等,方向相反;具体实现过程如下:
首先对于源点云X中的每个点xi,使用初始软对应矩阵
Figure BDA0003426273180000048
来计算它的加权平均对应点x′i,计算方法为:
Figure BDA0003426273180000049
其中
Figure BDA00034262731800000410
表示点xi和点yj的匹配概率,那么点xi的位移矢量
Figure BDA00034262731800000418
同样可以使用
Figure BDA00034262731800000411
计算得到点yj的加权平均对应点y′j,计算方法为:
Figure BDA00034262731800000412
对应的位移矢量
Figure BDA00034262731800000413
Figure BDA00034262731800000414
Figure BDA00034262731800000415
分别表示点云X和点云Y的所有位移矢量;
考虑到局部区域的位移矢量具有相似的模式,即邻域一致性,首先使用向量编码器模块对位移矢量
Figure BDA00034262731800000416
Figure BDA00034262731800000417
的局部信息进行编码,向量编码器的架构与步骤2.1中使用的局部特征提取器相同,然后可以得到两个输入点云的最终位移特征OX和OY;计算OX和OY的差值ΔO=OX-OY,其中ΔOi,j度量点xi和点yj之间的互相向量一致性;然后更新初始软对应矩阵:
Figure BDA0003426273180000051
其中MLP代表多层感知器,然而,对应矩阵M′中的元素并不都是正数,所以使用实例归一化层对对应矩阵M′进行归一化,然后应用Sinkhorn算法得到最终对应矩阵M。
进一步的,步骤3中使用真实对应矩阵Mgt来训练步骤2中构建的端到端深度神经网络,为了得到Mgt,首先对源点云X应用真实变换{ω1,ω2,ω3,t1,t2,t3}得到变换后的源点云
Figure BDA00034262731800000512
计算点云
Figure BDA00034262731800000513
和点云Y之间的点对距离,如果点
Figure BDA0003426273180000053
和点yj∈Y之间的距离小于0.1且满足以下公式:
Figure BDA0003426273180000052
则认为它们是一对对应点,并且下一轮它们不参与计算,然后再次根据以上公式在剩下的点中寻找对应点对;Mgt是大小为N1×N2的二进制矩阵,如果xi和yj是一对对应,则
Figure BDA00034262731800000515
否则等于0;
总损失函数
Figure BDA0003426273180000054
定义为:
Figure BDA0003426273180000055
其中α是权重系数,
Figure BDA0003426273180000056
表示初始对应矩阵
Figure BDA0003426273180000057
和真实对应矩阵Mgt之间的交叉熵损失,
Figure BDA0003426273180000058
表示最终对应矩阵M和真实对应矩阵Mgt之间的交叉熵损失。
进一步的,将待配准的两个点云输入到训练好的深度神经网络中,得到最终对应矩阵M″,为了得到硬对应矩阵
Figure BDA0003426273180000059
,首先计算M″每一行每一列的和,然后取出总和大于0.5的行和列组成一个临时矩阵C,对临时矩阵C应用基于匈牙利算法的线性指派问题求解器可以得到一个二进制矩阵C′;
Figure BDA00034262731800000514
首先设置为大小和M″一样的零矩阵,然后将C′中的元素按照它们在M″中的位置指派给
Figure BDA00034262731800000516
最后对
Figure BDA00034262731800000511
应用奇异值分解算法求解刚性变换矩阵;将上述步骤重复两次,每一次使用上一次得到的刚性变换矩阵对源点云进行变换再输入到深度神经网络中,实现由粗到精的配准,得到最终的刚性变换矩阵{R,t}。
与现有技术相比,本发明的优点和有益效果:本发明应用基于自我注意力和交叉注意力机制的图神经网络来探索点云内部和点云之间的上下文信息,因此可以学习输入点云更强有力的特征表示。此外本发明利用互相向量一致性对初始对应矩阵进行修正,从而得到更准确的对应。与现有技术相比,本发明的配准结果更加准确,在待配准点云有噪声以及部分重叠的情况下仍然能够达到较高的配准精度。
附图说明
图1为本发明使用的互相向量一致性示意图;
图2为本发明提出的网络整体结构示意图;
图3为局部特征提取器详细结构示意图;
图4为互相向量一致性模块详细结构示意图。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
互相向量一致性如图1所示,箭头表示点对应之间的位移向量,对于正确的对应,位移向量具有相同的长度和相反的方向(左),这一约束在本发明中被定义为互相向量一致性;否则,位移向量不满足这个几何约束(右)。整体网络结构如图2所示。
假设待配准的两个点云分别表示为
Figure BDA0003426273180000061
Figure BDA0003426273180000063
其中X为源点云,Y为目标点云,N1和N2分别代表X和Y中点的数量。点云配准目的是得到输入数据之间的刚性变换{R,t},其中R表示旋转矩阵,t表示平移向量。假设用大小为N1×N2的对应矩阵M来表示X和Y之间的点对应关系,如果xi和yj是一对对应,则Mi,j的值为1,否则为0。
步骤1,训练样本数据的准备
首先对原始点云进行归一化及下采样作为源点云X。然后,对点云X应用随机变换{ω1,ω2,ω3,t1,t2,t3}获得目标点云Y,其中ω1、ω2和ω3是在[0,45]°范围内随机采样的三个旋转欧拉角,t1、t2和t3是在[-0.5,0.5]范围内随机采样的三个位移量。为了模拟部分重叠的配准情况,对于每个点云,独立地创建一个随机的通过原点的平面,沿其法线平移,并保留70%的点。为了使得训练的模型更具有鲁棒性,对每个点独立随机地添加从均值为0且标准差为0.1的正态分布
Figure BDA0003426273180000062
中采样并裁剪到[-0.05,0.05]的高斯噪声。
步骤2,端到端深度神经网络的搭建
步骤2.1,点云局部特征提取。
为了建立两个点云之间的对应矩阵,本发明使用共享权值的局部特征提取器将源点云X和目标点云Y嵌入到一个公共特征空间。如图3所示,在局部特征提取器中,首先使用点的坐标为每个点构建一个低维局部特征描述符,点xi的低维局部特征描述符为:
Figure BDA0003426273180000071
其中
Figure BDA0003426273180000072
表示点xi的邻近点。然后,利用非线性函数fθ将低维局部特征描述符映射到高维特征空间
Figure BDA0003426273180000073
映射如下:
F(0)(xi)=fθ(D(xi)),
其中θ代表非线性函数的参数,非线性函数由共享多层感知器,池化层以及拼接操作组成。同样地,本发明使用同一个局部特征提取器为点云Y提取局部特征描述符
Figure BDA0003426273180000074
步骤2.2,基于图神经网络的特征聚合
受感受野大小的限制,提取的局部特征可能不够具有辨识力。为了提高特征的显著性,本发明使用注意力图神经网络进行特征聚合。首先建立一个以点云中的原始点为节点的无向完全图,局部特征描述符
Figure BDA0003426273180000076
Figure BDA0003426273180000077
作为节点的初始特征,图的边可以分为两类:自边εself和叉边εcross。εself={(xi,xj)|xi,xj∈X,i≠j,i,j=1,2,…,N1}∪{(yi,yj)|yi,yj∈Y,i≠j,i,j=1,2,…,N2}是点云中任一点到同一点云中所有其他点的边集,εcross={(xi,yj)|xi∈X,yj∈Y,i=1,2,…,N1,j=1,2,…,N2}是点云中任一点到另一个点云中所有点的边集。
然后利用图神经网络进行特征聚合,图神经网络共有9层,在每一层中通过聚合来自自边或叉边的消息传递来更新每个节点的中间特征表示。记点xi在第l层的中间特征表示为F(l)(xi),则点xi在第l+1层的中间特征表示为:
Figure BDA00034262731800000711
其中Concat(·)表示拼接操作,ε∈{εcross,εself},MLP代表多层感知器。如果l为偶数,ε=εself
Figure BDA0003426273180000078
表示点xi从所有节点{xj|(xi,xj)∈εself}聚合来的消息;否则如果l为奇数,ε=εcross
Figure BDA0003426273180000079
表示从所有节点{yj|(xi,yj)∈εcross}聚合来的消息。为了实现远距离上下文信息聚合,沿自边进行的消息传递称为自我注意力,沿叉边进行的消息传递称为交叉注意力,本发明应用自我注意力和交叉注意力机制来实现点云内和跨点云的消息传递。交叉注意力具体计算方式为:
Figure BDA0003426273180000075
其中softmax表示softmax函数,qi表示查询,它是节点特征F(l)(xi)的线性映射,kj和vj分别表示键和值,他们是节点特征F(l)(yj)的线性映射,同样地可以得到自我注意力
Figure BDA00034262731800000710
的计算方式:
Figure BDA0003426273180000081
其中qi同样表示节点特征F(l)(xi)的线性映射,需要注意的是,在自我注意力中kj和vj是节点特征F(l)(xj)的线性映射。
最后对网络最后一层的特征进行线性映射,得到最终用于匹配的特征描述符:
Figure BDA00034262731800000814
其中W为权重矩阵,b为偏置。同样地,可以得到点云Y中点的特征F(yj)。
Figure BDA00034262731800000817
Figure BDA00034262731800000818
分别表示点云X和点云Y的特征描述集。
在得到最终的匹配描述符后,首先计算FX和FY的亲和矩阵、然后应用实例归一化把亲和矩阵转化为一个全为正数的矩阵,最后对该矩阵应用Sinkhom算法得到初始软对应矩阵
Figure BDA0003426273180000082
初始软对应矩阵表示两个点云的点之间的初始匹配概率。
步骤2.3,基于互相向量一致性的匹配结果修正
尽管利用了自我和交叉注意力机制来获取点云内和跨点云的上下文信息,但在初始软对应矩阵
Figure BDA0003426273180000083
中仍然可能存在异常值。因此,本发明使用了一个互相向量一致性模块来修正
Figure BDA0003426273180000084
并尽可能地过滤掉异常值。所提出的互相向量一致性模块的详细架构见图4。基本的假设是两个匹配点之间的位移矢量长度相等,方向相反,如图1所示。
首先对于源点云X中的每个点xi,使用初始软对应矩阵
Figure BDA0003426273180000085
来计算它的加权平均对应点x′i,计算方法为:
Figure BDA0003426273180000086
其中
Figure BDA0003426273180000087
表示点xi和点yj的匹配概率,那么点xi的位移矢量
Figure BDA0003426273180000088
同样可以使用
Figure BDA0003426273180000089
计算得到点yj的加权平均对应点y′j,计算方法为:
Figure BDA00034262731800000810
对应的位移矢量
Figure BDA00034262731800000811
Figure BDA00034262731800000812
Figure BDA00034262731800000813
分别表示点云X和点云Y的所有位移矢量。
考虑到局部区域的位移矢量具有相似的模式,即邻域一致性,首先使用向量编码器模块对位移矢量
Figure BDA00034262731800000815
Figure BDA00034262731800000816
的局部信息进行编码,向量编码器的架构与步骤2.1中使用的局部特征提取器相同,然后可以得到两个输入点云的最终位移特征OX和OY。计算OX和OY的差值ΔO=OX-OY,其中ΔOi,j度量点xi和点yj之间的互相向量一致性。然后更新初始软对应矩阵:
Figure BDA0003426273180000091
其中MLP代表多层感知器。然而,对应矩阵M′中的元素并不都是正数,所以使用实例归一化层对对应矩阵M′进行归一化,然后应用Sinkhorn算法得到最终对应矩阵M。
步骤3,网络的训练
本发明中使用真实对应矩阵Mgt来训练步骤2中构建的端到端深度神经网络。为了得到Mgt,首先对源点云X应用真实变换{ω1,ω2,ω3,t1,t2,t3}得到变换后的源点云
Figure BDA0003426273180000092
计算点云
Figure BDA0003426273180000093
和点云Y之间的点对距离,如果点
Figure BDA0003426273180000094
和点yi∈Y之间的距离小于0.1且满足以下公式:
Figure BDA0003426273180000095
则认为xi和yj是一对对应点,并且下一轮它们不参与计算,然后再次根据以上公式在剩下的点中寻找对应点对。Mgt是大小为N1×N2的二进制矩阵,如果xi和yj是一对对应,则
Figure BDA0003426273180000096
否则等于0。
总损失函数
Figure BDA0003426273180000097
定义为:
Figure BDA0003426273180000098
其中α是权重系数,它被设置为0.5。
Figure BDA0003426273180000099
表示初始对应矩阵
Figure BDA00034262731800000910
和真实对应矩阵Mgt之间的交叉熵损失,
Figure BDA00034262731800000911
表示最终对应矩阵M和真实对应矩阵Mgt之间的交叉熵损失。使用随机梯度下降法(Stochastic Gradient Descent,SGD)优化器,初始学习率为0.001。
步骤4,实际配准中的应用
将待配准的两个点云输入到训练好的深度神经网络中,得到最终对应矩阵M。为了得到以二进制形式表示点之间的对应关系的硬对应矩阵
Figure BDA00034262731800000912
首先计算M每一行每一列的和,然后取出总和大于0.5的行和列组成一个临时矩阵C,对临时矩阵C应用基于匈牙利算法的线性指派问题(Linear Assignment Problem,LAP)求解器可以得到一个二进制矩阵C′。
Figure BDA00034262731800000913
首先设置为大小和M一样的零矩阵,然后将C′中的元素按照它们在M中的位置指派给
Figure BDA00034262731800000914
最后对
Figure BDA00034262731800000915
应用奇异值分解(SingularValue Decomposition,SVD)算法求解刚性变换矩阵{R,t}。将上述步骤重复两次,每一次使用上一次得到的刚性变换矩阵对源点云进行变换再输入到深度神经网络中,实现由粗到精的配准,得到最终的刚性变换矩阵{R,t}。
应当理解的是,本说明书未详细阐述的部分均属于现有技术。
应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。

Claims (7)

1.一种端到端三维点云配准方法,其特征在于,包括以下步骤:
步骤1,训练样本数据和待配准数据的准备;
步骤2,端到端深度神经网络的搭建,包括以下子步骤;
步骤2.1,点云局部特征提取,使用共享权值的局部特征提取器分别为源点云X和目标点云Y提取局部特征描述符,
Figure FDA0003426273170000011
Figure FDA0003426273170000012
N1和N2分别代表X和Y中点的数量;
步骤2.2,基于图神经网络的特征聚合,得到最终用于匹配的特征描述符,进一步获得初始软对应矩阵
Figure FDA0003426273170000013
初始软对应矩阵表示两个点云的点之间的初始匹配概率;
步骤2.3,基于互相向量一致性的匹配结果修正,即对初始软对应矩阵
Figure FDA0003426273170000014
进行修正获得最终对应矩阵M;
步骤3,利用步骤1中的训练样本数据对步骤2搭建的深度神经网络进行训练;
步骤4,将待配准的两个点云输入到训练好的深度神经网络中,得到最终对应矩阵,利用最终对应矩阵求解得到最终的刚性变换矩阵{R,t},利用最终的刚性变换矩阵{R,t}实现点云的配准,其中R表示旋转矩阵,t表示平移向量。
2.如权利要求1所述的一种端到端三维点云配准方法,其特征在于:步骤1中训练样本数据的准备包括;
对源点云X应用随机变换{ω123,t1,t2,t3}获得目标点云Y,其中ω1、ω2和ω3是在[0,45]°范围内随机采样的三个旋转欧拉角,t1、t2和t3是在[-0.5,0.5]范围内随机采样的三个位移量;为了模拟部分重叠的配准情况,对于每个点云,独立地创建一个随机的通过原点的平面,沿其法线平移,并保留70%的点;为了使得训练的模型更具有鲁棒性,对每个点独立随机地添加从均值为0且标准差为0.1的正态分布
Figure FDA0003426273170000015
中采样并裁剪到[-0.05,0.05]的高斯噪声。
3.如权利要求1所述的一种端到端三维点云配准方法,其特征在于:步骤2.1的具体实现方式如下;
使用共享权值的局部特征提取器将源点云X和目标点云Y嵌入到一个公共特征空间;在局部特征提取器中,首先使用点的坐标为每个点构建一个低维局部特征描述符,点xi的低维局部特征描述符为:
Figure FDA0003426273170000021
其中
Figure FDA0003426273170000022
表示点xi的邻近点;然后,利用非线性函数fθ将低维局部特征描述符映射到高维特征空间
Figure FDA0003426273170000023
映射如下:
F(0)(xi)=fθ(D(xi)),
其中θ代表非线性函数的参数,非线性函数由共享多层感知器,池化层以及拼接操作组成;同样地,使用同一个局部特征提取器为点云Y提取局部特征描述符
Figure FDA0003426273170000024
4.如权利要求1所述的一种端到端三维点云配准方法,其特征在于:步骤2.2的具体实现方式如下;
先建立一个以点云中的原始点为节点的无向完全图,局部特征描述符作为节点的初始特征,图的边可以分为两类:自边εself和叉边εcross;εself={(xi,xj)|xi,xj∈X,i≠j,i,j=1,2,…,N1}∪{(yi,yj)|yi,yj∈Y,i≠j,i,j=1,2,…,N2}是点云中任一点到同一点云中所有其他点的边集,εcross={(xi,yj)|xi∈X,yj∈Y,i=1,2,…,N1,j=1,2,…,N2}是点云中任一点到另一个点云中所有点的边集;
然后利用图神经网络进行特征聚合,图神经网络共有A层,在每一层中通过聚合来自自边或叉边的消息传递来更新每个节点的中间特征表示;记点xi在第l层的中间特征表示为F(l)(xi),则点xi在第l+1层的中间特征表示为:
Figure FDA0003426273170000027
其中Concat(·)表示拼接操作,ε∈{εcrossself},MLP代表多层感知器;如果l为偶数,ε=εself
Figure FDA0003426273170000025
表示点xi从所有节点{xj|(xi,xj)∈εself}聚合来的消息;否则如果l为奇数,ε=εcross
Figure FDA0003426273170000026
表示从所有节点{yj|(xi,yj)∈εcross}聚合来的消息;为了实现远距离上下文信息聚合,沿自边进行的消息传递称为自我注意力,沿叉边进行的消息传递称为交叉注意力,应用自我注意力和交叉注意力机制来实现点云内和跨点云的消息传递;交叉注意力具体计算方式为:
Figure FDA0003426273170000031
其中softmax表示softmax函数,qi表示查询,它是节点特征F(l)(xi)的线性映射,kj和vj分别表示键和值,他们是节点特征F(l)(yj)的线性映射,同样地可以得到自我注意力
Figure FDA0003426273170000032
的计算方式:
Figure FDA0003426273170000033
其中qi同样表示节点特征F(l)(xi)的线性映射,需要注意的是,在自我注意力中kj和vj是节点特征F(l)(xj)的线性映射;最后对图神经网络最后一层的特征进行线性映射,得到最终用于匹配的特征描述符:
Figure FDA0003426273170000034
其中W为权重矩阵,b为偏置;同样地,得到点云Y中点的特征F(yj),
Figure FDA0003426273170000035
Figure FDA0003426273170000036
分别表示点云X和点云Y的特征描述符;
在得到最终的匹配特征描述符后,首先计算FX和FY的亲和矩阵、然后应用实例归一化把亲和矩阵转化为一个全为正数的矩阵,最后对该矩阵应用Sinkhorn算法得到初始对应矩阵
Figure FDA0003426273170000037
5.如权利要求1所述的一种端到端三维点云配准方法,其特征在于:步骤2.3的具体实现方式如下;
使用互相向量一致性原理来修正
Figure FDA0003426273170000038
并尽可能地过滤掉异常值,互相向量一致性的基本假设是两个匹配点之间的位移矢量长度相等,方向相反;具体实现过程如下:
首先对于源点云X中的每个点xi,使用初始软对应矩阵
Figure FDA0003426273170000039
来计算它的加权平均对应点x′i,计算方法为:
Figure FDA00034262731700000310
其中
Figure FDA00034262731700000311
表示点xi和点yj的匹配概率,那么点xi的位移矢量
Figure FDA00034262731700000312
同样可以使用
Figure FDA0003426273170000041
计算得到点yj的加权平均对应点y′j,计算方法为:
Figure FDA0003426273170000042
对应的位移矢量
Figure FDA0003426273170000043
Figure FDA0003426273170000044
Figure FDA0003426273170000045
Figure FDA0003426273170000046
分别表示点云X和点云Y的所有位移矢量;
考虑到局部区域的位移矢量具有相似的模式,即邻域一致性,首先使用向量编码器模块对位移矢量
Figure FDA0003426273170000047
Figure FDA0003426273170000048
的局部信息进行编码,向量编码器的架构与步骤2.1中使用的局部特征提取器相同,然后可以得到两个输入点云的最终位移特征OX和OY;计算OX和OY的差值ΔO=OX-OY,其中ΔOi,j度量点xi和点yj之间的互相向量一致性;然后更新初始软对应矩阵:
Figure FDA0003426273170000049
其中MLP代表多层感知器,然而,对应矩阵M′中的元素并不都是正数,所以使用实例归一化层对对应矩阵M′进行归一化,然后应用Sinkhorn算法得到最终对应矩阵M。
6.如权利要求1所述的一种端到端三维点云配准方法,其特征在于:步骤3中使用真实对应矩阵Mgt来训练步骤2中构建的端到端深度神经网络,为了得到Mgt,首先对源点云X应用真实变换{ω123,t1,t2,t3}得到变换后的源点云
Figure FDA00034262731700000410
计算点云
Figure FDA00034262731700000411
和点云Y之间的点对距离,如果点
Figure FDA00034262731700000412
和点yj∈Y之间的距离小于0.1且满足以下公式:
Figure FDA00034262731700000413
则认为xi和yj是一对对应点,并且下一轮它们不参与计算,然后再次根据以上公式在剩下的点中寻找对应点对;Mgt是大小为N1×N2的二进制矩阵,如果xi和yj是一对对应,则
Figure FDA00034262731700000414
否则等于0;
总损失函数
Figure FDA00034262731700000415
定义为:
Figure FDA00034262731700000416
其中α是权重系数,
Figure FDA00034262731700000417
表示初始对应矩阵
Figure FDA00034262731700000418
和真实对应矩阵Mgt之间的交叉熵损失,
Figure FDA0003426273170000051
表示最终对应矩阵M和真实对应矩阵Mgt之间的交叉熵损失。
7.如权利要求1所述的一种端到端三维点云配准方法,其特征在于:将待配准的两个点云输入到训练好的深度神经网络中,得到最终对应矩阵M″,为了得到以二进制形式表示点之间的对应关系的硬对应矩阵
Figure FDA0003426273170000052
首先计算M″每一行每一列的和,然后取出总和大于0.5的行和列组成一个临时矩阵C,对临时矩阵C应用基于匈牙利算法的线性指派问题求解器可以得到一个二进制矩阵C′;
Figure FDA0003426273170000053
首先设置为大小和M″一样的零矩阵,然后将C′中的元素按照它们在M″中的位置指派给
Figure FDA0003426273170000054
最后对
Figure FDA0003426273170000055
应用奇异值分解算法求解刚性变换矩阵;将上述步骤重复两次,每一次使用上一次得到的刚性变换矩阵对源点云进行变换再输入到深度神经网络中,实现由粗到精的配准,得到最终的刚性变换矩阵{R,t}。
CN202111578638.XA 2021-12-22 2021-12-22 一种端到端三维点云配准方法 Pending CN114332176A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111578638.XA CN114332176A (zh) 2021-12-22 2021-12-22 一种端到端三维点云配准方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111578638.XA CN114332176A (zh) 2021-12-22 2021-12-22 一种端到端三维点云配准方法

Publications (1)

Publication Number Publication Date
CN114332176A true CN114332176A (zh) 2022-04-12

Family

ID=81053937

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111578638.XA Pending CN114332176A (zh) 2021-12-22 2021-12-22 一种端到端三维点云配准方法

Country Status (1)

Country Link
CN (1) CN114332176A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115272433A (zh) * 2022-09-23 2022-11-01 武汉图科智能科技有限公司 用于无人机自动避障的轻量点云配准方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115272433A (zh) * 2022-09-23 2022-11-01 武汉图科智能科技有限公司 用于无人机自动避障的轻量点云配准方法及系统
CN115272433B (zh) * 2022-09-23 2022-12-09 武汉图科智能科技有限公司 用于无人机自动避障的轻量点云配准方法及系统

Similar Documents

Publication Publication Date Title
CN112581515B (zh) 基于图神经网络的户外场景点云配准方法
Wang et al. Generative partial multi-view clustering with adaptive fusion and cycle consistency
CN108510532B (zh) 基于深度卷积gan的光学和sar图像配准方法
CN112837356A (zh) 一种基于wgan的无监督多视角三维点云联合配准方法
CN114117926B (zh) 一种基于联邦学习的机器人协同控制算法
CN113160287B (zh) 一种基于特征融合的复杂构件点云拼接方法及系统
CN108399268B (zh) 一种基于博弈论的增量式异构图聚类方法
CN113254663A (zh) 一种融合图卷积与翻译模型的知识图谱联合表示学习方法
CN112529010B (zh) 一种基于在线局部特征提取的点云识别方法
CN115331069A (zh) 一种基于联邦学习的个性化图像分类模型训练方法
Phillips et al. All graphs lead to rome: Learning geometric and cycle-consistent representations with graph convolutional networks
CN114332176A (zh) 一种端到端三维点云配准方法
CN117036760A (zh) 一种基于图对比学习的多视图聚类模型实现方法
CN115983341A (zh) 一种基于关系聚合超图的节点分类方法
CN113361928B (zh) 一种基于异构图注意力网络的众包任务推荐方法
CN113255569B (zh) 一种基于图空洞卷积编码器解码器的3d姿态估计方法
CN114782503A (zh) 一种基于多尺度特征相似度约束的点云配准方法及系统
CN114550308A (zh) 基于时空图的人体骨骼动作识别方法
CN110136017A (zh) 一种基于数据增强和非负矩阵稀疏分解的群组发现方法
CN111724423B (zh) 基于流体散度损失的微分同胚的非刚体配准方法
CN115861563B (zh) 一种图拓扑刚性点云配准的三维重建方法
CN111062888B (zh) 一种基于多目标低秩稀疏及空谱全变分的高光谱影像去噪方法
CN113658236B (zh) 一种基于图注意力机制的残缺点云配准方法
CN113628104B (zh) 针对无序图像增量式SfM的初始图像对选取方法
CN115601745A (zh) 一种面向应用端的多视图三维物体识别方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination