发明内容
本发明为了解决上述问题,提出了一种基于点云补全的点云配准方法及系统,本发明不需要对原始点云大量删减,且能够补全缺失的点云信息,实现高效、准确的配准。
根据一些实施例,本发明采用如下技术方案:
一种基于点云补全的点云配准方法,包括以下步骤:
对源点云和目标点云执行采样,分别提取特征;
利用注意机制融合两个点云的特征,使两个点云的语义信息相互补全;
提取补全后的点云的高维特征,根据高维特征学习对方点云的位置信息,确定源点云中的每个点在目标点云中的对应点;
根据对应点,利用奇异值分解获得当前刚性变换参数,利用当前刚性变化参数实现源点云向目标点云的配准。
作为可选择的实施方式,对源点云和目标点云执行采样的具体过程包括:分别对源点云和目标点云执行多次最远点采样,获取多个分辨率的点云,所述最远点采样包括以下步骤:
(1)假设输入点云有N个点,从点云中选取一个点
作为起始点,得到采样点集合
;
(2)计算所有点到
的距离,构成
N维数组
L,从中选择最大值对应的点作为
,更新采样点集合
;
(3)计算所有点到
的距离,对于每一个点
,其距离
的距离如果小于
L[
i],则更新
;
(4)选取数组
L中最大值对应的点作为
,更新采样点集合
;
(5)重复步骤(2)-(4),直至采样数量到达目标值为止。
作为可选择的实施方式,分别提取特征的具体过程包括:利用点云动态图卷积网络模型对每一次采样的点云进行特征提取,所述点云动态图卷积网络模型提取点的邻域范围构成计算支持域,在所述支持域内通过多层感知机和池化层提取点云的局部信息;
将每一次采样的点云提取的局部信息拼接在一起,得到潜在映射,将潜在映射和全局高维特征拼接,获得表示点云全局和局部信息的高维特征图。
作为可选择的实施方式,利用注意机制融合两个点云的特征的具体过程包括:构建生成器以生成虚拟点,构建判别器以对虚拟点和真实点云的相似度进行判别,生成器和判别器相互博弈,利用相似度符合要求的生成器来融合两个点云的特征。
作为进一步的限定,所述生成器利用Transformer模型和单独的自注意力机制分别接收并处理两个点云的高维特征;将两者得到的特征向量进行拼接并经过再塑造操作改变维度之后,生成虚拟点;
所述判别器接收生成的虚拟点或真实点云数据,提取点云的高维特征,利用两个线性层进一步提取高维特征的特征,得到接收的点云是真实点云的概率,直至输出概率达到设定值,保留此时生成器的参数。
作为可选择的实施方式,提取补全后的点云的高维特征时,先利用前一迭代周期的刚性变换参数将补全后的点云进行转换,并分别将转换后的源点云和目标点云经过点云动态图卷积网络模型进行点云高维特征的提取。
作为可选择的实施方式,根据高维特征学习对方点云的位置信息,确定源点云中的每个点在目标点云中的对应点的具体步骤包括:
利用独立的
Transformer模型接收补全后的点云的高维特征,学习对方点云的位置信息,经过
Transformer模型之后获得向量
和
,对
和
相乘并进行
softmax操作,以获得源点云中的每个点在目标点云中的对应概率矩阵,所述对应点为对应概率矩阵与目标完整点云点乘结果。
作为可选择的实施方式,利用奇异值分解获得当前刚性变换参数的具体过程包括:确定补全之后的源点云和目标点云的质心,求对应各点云偏离所述质心的协方差矩阵,对协方差矩阵执行奇异值分解,根据奇异值分解得到的结果,计算旋转矩阵和平移向量,所述当前刚性变换参数为计算得到的旋转矩阵和平移向量。
一种基于点云补全的点云配准系统,包括:
点云补全网络模块,被配置为对源点云和目标点云执行采样,分别提取特征,利用注意机制融合两个点云的特征,使两个点云的语义信息相互补全;
点云配准网络模块,被配置为提取补全后的点云的高维特征,根据高维特征学习对方点云的位置信息,确定源点云中的每个点在目标点云中的对应点,根据对应点,利用奇异值分解获得当前刚性变换参数,利用当前刚性变化参数实现源点云向目标点云的配准。
作为可选择的实施方式,所述补全网络模块包括依次连接的生成器和判别器,所述生成器包括依次连接的最远点采样模块、点云动态图卷积网络模型模块、Transformer模型模块、拼接模块和再塑造模块;
所述Transformer模型模块与一单独的自注意力机制模块并联;
所述判别器包括依次连接的特征提取模块、两个线性层和判别模块。
作为可选择的实施方式,所述点云配准网络模块包括依次连接的点云动态图卷积网络模型模块、Transformer模型模块、softmax函数模块和奇异值分解模块。
与现有技术相比,本发明的有益效果为:
本发明利用自监督的点云补全网络模块,该网络利用注意机制融合两个部分点云的几何信息,并结合生成对抗网络求解最优补全。随后,将配准网络结构拼接到所述网络结构的末端,从而估计丰富的对应点。利于消除不完全性对配准的副作用,并更加关注对应点,从而对初始旋转和稀疏性表现出弹性;也不用对原始点云大量删减,保证了点云信息的完整性和准确性,提高配准效果。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本实施例使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
实施例一:
本实施例提供了一种基于点云补全的点云配准方法,利用点云补全网络和点云配准网络来实现点云的配准。
在本实施例中,为方便叙述,以VPRnet表示整个网络模型,VPRnet包括VPGnet和Regnet两个部分,其中,VPGnet即为点云补全网络,用于生成虚拟点,并且Regnet为点云配准网络,用于配准补全的点云。
VPGnet又包括了两部分,即生成器和判别器。生成器负责生成缺失的点云,判别器用于对比生成点云和真实的完整点云,输出一个概率,该概率描述了输入点云是真实点云的可能性大小,生成器会根据判别器输出的概率调整自己的网络参数,生成新的点云,然后再次交由判别器判断,两者相互博弈,一直到判别器无法判断输入点云是生成点云还是真实点云,这说明此时的生成器网络已经足够优秀,这时候可以将生成器网络的参数保存下来。
下面结合具体实施细节,介绍各部分网络结构以及如何利用相应结构进行点云的处理。
点云的处理过程包括以下步骤:
步骤1.1:首先对输入的不完整点云经过
Pointnet提取点云的全局信息
。其中
Pointnet是多个
MLP(多层感知机)和最大池化层的结合。然后对输入点云进行降采样,减少计算量。本实施例采用
FPS最远点采样,并进行了三次
FPS,获得了多个分辨率的点云。
当然,在其他实施例中,可以选用其他采样方式,或调整采样次数。
FPS采样具体的过程包括:
步骤1.1.1:假设输入点云有
N个点,从点云中选取一个点
作为起始点,得到采样点集合
;
步骤1.1.2:计算所有点到
的距离,构成
N维数组
L,从中选择最大值对应的点作为
,更新采样点集合
;
步骤1.1.3:计算所有点到
的距离,对于每一个点
,其距离
的距离如果小于
,则更新
,因此,数组
L中存储的一直是每一个点到采样点集合
S的最近距离;
步骤1.1.4:选取
L中最大值对应的点作为
,更新采样点集合
;
步骤1.1.5:重复1.1.2-1.1.4步,一直采样到满足需要最终保留的个数的目标采样点为止。
步骤1.2:将采样后的点云输入到点云动态图卷积(
DGCNN)网络组件中,该网络组件会首先提取点的邻域范围构成计算支持域,然后在此支持域内通过多层感知机
mlp和池化层提取点云的局部信息。本发明的
DGCNN包括五层卷积操作,前面四个卷积层之后,特征向量的维数为[64,64,128,256]。在第五卷积层之前,将四个特征向量串联在一起以获得512维潜在向量。接着,将该潜在向量传递到第五卷积层,得到1024维特征向量
。对三次
FPS均执行
DGCNN操作,并将所有向量拼接在一起,得到一张3*1024的潜在映射
。将获得的点云的局部信息
和全局高维特征
进行拼接,获得表示点云全局和局部信息的高维特征图。
特征提取过程可以总结为:
其中
D是
DGCNN,
是原始点云,
n是
x中点的数量,
pt是
Pointnet特征提取过程,
和
代表全局和局部向量,
意味着重复
DGCNN和
FPS m次,并且将获得的向量拼接起来。
是第
i次最远点采样。
步骤1.3:接下来对获得的高维特征图输入到注意力机制中,本发明的注意力机制包括两部分,一个是Transformer,一个是Self-Attention也就是自注意力机制,以下简记为SA。首先介绍Transformer。本实施例的Transformer由两部分组成:六个编码器和六个解码器。每个编码器由SA和前向传播函数组成,每个解码器由带掩码的SA和前向传播函数组成。
具体包括:
步骤1.3.1:本发明中的Transformer输入两个点云的高维特征。
步骤1.3.1.1:对于输入的特征向量,它的每个位置都有三个向量编码,分别为:
Query、
Key、
Value。这三个向量是用对输入向量做位置编码之后的
Embedding向量与三个矩阵(
,
,
)相乘得到的结果,即:
,
,
三个矩阵的值在反向传播的过程中会一直进行更新。
步骤1.3.1.2:计算SA的分数值,该分数值决定了当在某个位置编码一个词时,对输入向量的其他部分的关注程度。这个分数值的计算方法是用输入向量中该位置的特征的Q与另外一个点云高维特征的每一个位置特征的Key做点乘。以图8为例,假设在为这个例子中的第一个词“Thinking”计算自注意力向量,需要拿输入句子中的每个单词对“Thinking”打分。这些分数决定了在编码单词“Thinking”的过程中重视句子其它部分的程度。
步骤1.3.1.3:对每个分数除以
(
d是维度),之后做
softmax。
步骤1.3.1.4:把每个V向量和softmax得到的值进行相乘,然后对相乘的值进行相加,得到的结果即是一个新的位置特征的SAEmbeddinng值。将原输入特征向量与新的位置特征向量相加输入前向传播中最终输出编码器的新的位置特征。
步骤1.3.1.5:将编码器输出的新的位置特征输入到解码器中。解码器与编码器的不同之处在于解码器的
SA其实是带掩码的
SA,来让解码器在解码的时候无法看到“未来的”信息。也就是对于一个序列,解码器只能依赖前面位置的特征信息解码。其具体的操作方式是拼接原先
SA获得的各个位置的新的特征量,然后对特征矩阵加上加上一个等维度的上三角矩阵,上三角的每个值都是-
inf,这样与
SA的特征矩阵相加之后做
softmax会将
inf的地方变成0。这样该矩阵的每一行就是带掩码的
SA输出的新的位置特征向量。其余与编码器结构一样。融合了全局特征和局部特征的点云特征经过
Transformer之后会输出一个融合了对方点云结构信息的新的高维特征向量,记为
。
Transformer的计算可总结为以下方程式:
假设从输入点云获得的高维向量是
和
,其中
,
r是由
DGCNN和
PointNet获得的高维特征数,这里是4。
表示潜在映射之间的元素相加。高维特征
和
由
TransformerΩ生成
。值得注意的是
Ω不是对称函数。也就是说
。原因是两个输入序列对应于编码器和解码器的参数,并且两个模块对序列具有不同的处理过程。
步骤1.3.2:另外一个重要的注意力机制是单独的自注意力机制。要补全缺失点云的话,必须得知道自身点云保留的是哪一部分,这时候就要用到单独的
SA来让网络意识到自身的几何结构信息。这里的
SA并不带掩码的。其结构与
Transformer中的
SA结构相同,只是这里输入的是一组特征向量,所以在做
SA的时候会将自身编码后的特征作为关注的目标特征向量。记最终输出的高维特征向量为
;
步骤1.4:将
Transformer和
SA输出的特征向量
和
进行拼接并经过
reshape操作改变维度之后,生成
的点云,其中
n是点云中点的个数。以上就是生成器的所有过程。接下来介绍判别器的网络结构。
步骤1.5:判别器对于输入的点云首先进行DGCNN特征提取获得点云的高维特征表示。然后将生成的高维特征图输入到两个线性层中进一步提取特征,最后输出输入点云是真实点云的概率。生成器与判别器相互博弈,一直到判别器的输出概率接近50%,说明已经无法判断生成器生成的点云与真实点云,这是可以保留生成器的参数。
其中,
表示输入点云,此处为生成的虚拟点或真值点云,
为最大池层,
为
Leaky Relu激活函数,
表示线性层。
步骤2:对于输入的不完整的点云,首先调用
VPGnet网络补全点云。整个的
VPRnet也是一个迭代的结构,每一次迭代都会输出配准的刚性变换参数,包括旋转矩阵和平移向量。获得补全的点云之后,首先用上一次迭代生成的刚性变换参数中的旋转矩阵
,平移向量
,转换源点云
X为
。
步骤3:对于转换之后的源点云和目标点云都经过
DGCNN进行点云高维特征的提取。该高维特征既包括了点云的全局信息也包括了点云的局部信息。分别记两个高维特征为
和
。
步骤4:将
和
共同输入到新的
Transformer中,注意这里的
Transformer并不是
VPGnet中的
Transformer,两者的参数并不共享。这里的
Transformer因为应对的完整的点云,两个点云在几何形状上几乎一致,只有位置信息上有所不同,所以这里的
Transformer旨在学习对方点云的位置信息。最终经过
Transformer之后获得
和
维度均为
nx1024。对
和
相乘并进行
softmax操作,可以获得源点云中的每个点在目标点云中的对应概率矩阵
。对应点的计算可以用下式表示:
式中,
和
表示
Transformer后的高维特征图。
的维数为
。
表示
softmax函数。每个元素
表示完整点云
中的第
i点与目标完整点云
中的第
j点之间的相关性。所以对应点的计算为
。
步骤5:获得对应点之后就可以利用SVD(奇异值分解)来获得当前迭代对应的刚性变换参数。
定义补全之后的源点云和目标点云的质心
协方差矩阵可以被写为:
对H执行奇异值分解:
其中
U和
分别是由
和
的特征向量形成的矩阵。
S是对角线矩阵,其对角线元素为
H的特征值。最后,旋转矩阵
R和平移向量
t可根据方程式9计算:
需要介绍下上述环节训练中的损失函数:
在开始网络训练之前,需要明确网络的训练方向,即确定VPRnet的损失函数。
第一个损失函数是
VPGnet中鉴别器的对抗性损失
。本实施例中测试了四组对抗性损失,即真值
x点云、生成的
x虚拟点云、真值
y点云和生成的
y虚拟点云,以上标
g表示真值,上标
v表示虚拟点云,因此
为:
其中
是部分点云中的一个点,
是部分点云
x真实确实的点云,
D()和
G()表示判断器和生成器。
可以用两种度量来计算两点云之间的距离,即倒角距离和搬土距离。倒角距离计算输入两点云之间的平均最近点距离,如等式13所示。第一项表示从
到
中任意点
x的最小距离之和。第二项起对称作用。此外,两组
和
不需要大小相同。搬土距离作为基于运输效率的直方图相似性度量。它计算从一个分布到另一个分布的最小距离。与倒角距离
cd不同,搬土距离
emd的计算要求两组
和
具有相同的大小。计算方法如等式14所示:
计算了由X和Y点云生成的虚拟点云与真实缺失部分之间的倒角距离和搬土距离。除此之外,组合点云和真实完整点云之间的倒角距离用于确保前者具有与后者相似的形状和结构。因此,生成器的损失函数可总结如下:
式中,
、
是源部分云
X和目标部分云
Y生成的虚拟点云;
和
是输入两点云的真实缺失区域;
和
是由原始部分点云和生成的虚拟点组成的完整点云;
和
是真值完整源点云和目标点云。采用相同的方法和对称参数计算
。
最后一个损失函数是配准损失。直接测量原始点云预处理过程中记录的真值
和
与预测
R和
t的偏差。等式17显示了最后一个损失项:
这里,g表示真值。k表示总迭代次数。因此,总损失可总结如下:
本实施例在具体实现时,将训练批大小设置为64,将
epoch设置为250。
Adam是本实施例所选的优化器,其学习率为0.0002,权重衰减为0.001,以稳定高效地执行梯度下降。为了加快
GAN网络的训练速度,首先为
G网络训练50个
epoch,以便
G网络在短时间训练后能够生成一定数量的精确虚拟点。
Regnet中的迭代总数为5。方程式12中的
设为0.05。
本实施例在具体实现时,利用的数据集中在Modelnet40数据集上对VPRnet进行了训练和评估。该数据集由12311个网格化CAD模型组成,分为40个类别。为了网络训练的合理性,将完整的modelnet40数据集划分为8:2,构建训练集和测试集,分别为9843个训练集和2468个测试集。在测试看不见的类别模型时,利用Modelnet40中形状名称文件的前32个类别进行训练,最后8个类别进行测试。
训练集和测试集的数据量比接近8:2,分别为9907个列车模型和2404个测试模型。从Modelnet40样本中统一抽取1024个点,用于VPGnet的训练和测试。对于所有采样点云,采用增强策略,该策略沿每个坐标轴执行旋转和平移,随机选择的角度在[0,45°]范围内,距离从[-0.5,0.5]生成。此外,在点云内部任意选择一个点,并排除最近的k点来构造原始部分点云,这里k设置为256。
通过计算五个注册度量来评估网络框架,包括平均绝对误差、均方误差、均方根误差、旋转损失和平移损失,分别为:
等式24-26显示了评价源点云和目标点云之间距离的前三个度量的计算方法,其中
是源点云和目标点云中的一组对应预测点对,以及
,
是对应点对中点的三维坐标,通过保留距离
最近点获得
,即
;
其中
是预测的刚性变换矩阵,
N是源点云中的点数。以上指标越小,配准效果越好。在真实刚性变换参数和预测结果之间采用
L2范数来评估旋转和平移估计的准确性。
和
的计算方法如公式27和28所示,其中
和
是预测的旋转结果,
和
分别是真实旋转矩阵和平移向量。
为了更全面地评估所提出的网络框架,还提供对比例,对比例选用两种方法,一种是最具代表性的传统算法,包括ICP、GO-ICP和FGR,另一种是近年来提出的最先进的基于深度学习的算法,包括PointnetLK、DCP。所有网络均在NVIDIATeslav100 GPU中进行训练,并在AMDRyzen 7中以4800HCPU进行测试。
传统算法中基于特征的配准方法是快速全局配准(FGR)。该算法利用点云的快速点特征直方图返回具有相似几何结构的对应点对。另一种是ICP及其变体算法GOICP和ICP-Plane。ICP作为一种经典的点云配准算法,能够在保证良好初始值的前提下准确完成配准任务。GO-ICP通过采用分支定界方法在全局范围内搜索最优值,避免了ICP算法陷入局部优化的缺点。ICP-Plane更改点到点到点的距离为点到平面的距离。Open3D中提供了ICP、ICP-Plane和FGR的实现。GO-ICP从库pygoicp调用。ICP及其变体ICP平面使用刚性单位矩阵初始化。
深度学习算法是PointnetLK、DCP。作为第一种基于深度学习的配准算法,PointnetLK提出了一种利用MLP提取点云特征进行姿态估计的策略。此外,DCP去除了PointNetLK中李代数的相关计算,并应用Transformer提取混合特征。然后利用奇异值分解(SVD)对相应的点对估计旋转矩阵和平移向量。作为将注意机制应用于配准任务的高级算法,DCP算法在Modelnet40数据集上具有最先进的性能,因此将其视为基于对应点对的第二基线算法。此外,PRnet在DCP算法的基础上增加了迭代的思想,使得性能优于DCP算法。然而,它不是开源的。因此,保留DCP和PointnetLK作为最终的基于深度学习的算法。
经过实验对比测试,测试结果包括:
泛化能力测试:
表1 泛化能力测试的结果
表1为ModelNet40中未显示类别的点云结果。其中粗体数字表示最佳性能。本实施例方法的性能在几乎所有指标中都表现最好。
在第一个实验中,按类标签将
ModelNet40数据集拆分为训练集和测试集。所有四种基于深度学习的方法都在前32个类别上进行了训练,并在保留类别上进行了测试。至于传统算法,它们也在最后8类数据集上进行了评估。结果如表1所示。为了进行比较,定义了相对错误率,以规范化不同数量级的指标。计算方法为:
,其中
是具体指标的值。如表1所示,可以清楚地从除时间外的所有指标来看,本发明提供的方法
VPRnet排名靠前。虽然
ICP在计算时间上占优势,但本实施例的方法在
MSE(
R)和
t损失等其他指标上比
ICP强得多,相对错误率分别为65.72%和71.43%。
上述现象的原因是ICP算法本质上是一种优化算法。部分重叠的数据不能提供足够的正确匹配,因此很难收敛到正确的变换参数。相比之下,自监督VPRnet首先生成虚拟对应点,然后利用注意机制计算正确的对应点,从而保证了对应关系的丰富性和正确性。在比较其他两种基于深度学习的方法时,也会出现类似的情况。DCP和PointnetLK算法与VPRnet都有很大差距,尤其是在旋转估计方面(“差距分别为61.08%和73.60%)值得注意的是,尽管本实施例的方法相比于DCP包括一个额外的VPGnet和一个迭代的Regnet,但计算时间比DCP要短。因此,可以说本实施例的方法取得了具有竞争性的表现。配准后样本的可视化如图3所示。图4和图3的(a)显示了未看到类别的补全和配准结果。从图中可以清楚地看出,本实施例的配准结果更好,形状匹配最好。
鲁棒性测试:
接下来的三个实验测试了该算法和其他对比算法对噪声、稀疏度和初始旋转角度的抵抗能力。
表2 噪声点云的结果
噪声测试:
从N(0,0.002)中随机采样噪声,并将其裁剪为[-0.05,0.05]。所有基于深度学习的算法都使用噪声点云进行重新训练,所有结果如表2所示。图3的(b)和图4的(b)总结了基线算法中噪声数据的配准结果,这表明本实施例的方法的形状匹配占主导地位。关于噪声配准的精确分析如下所述。
显然,从表2中可以看出,除了RMSE(R)、MAE(R)中的ICP算法优于VPRnet外,大多数指标在这些算法的结果中仍然排名第一。特别是,与其他两种深度学习方法相比,本实施例的方法在旋转估计方面具有显著的领先优势。例如,MSE(R)、RMSE(R)、MAE(R)的相对误差率分别达到80.21%、55.67%、56.04%。因此,可以证明VPRnet可以更好地解决噪声干扰的部分到部分配准问题。然而,仍然有一个问题值得讨论。与干净数据下的测试结果相比,在噪声的影响下,本实施例的误差度量有不同程度的增加。例如,R损失从0.41变为0.77,t损失从0.06变为0.13。挖掘更深层次的原因,采用自监督VPGnet生成虚拟点,首先对原始输入点云进行最远点采样,得到四个子采样点云。如果这些点云都受到噪声的影响,则深度特征中包含的信息包含很多干扰。此外,对应矩阵的获取受到错误虚点的影响,并且对应对偏离了真实对应点对。算法性能的一个关注点是计算效率,VPRnet仍然领先于DCP,而与PointnetLK的时间间隔为0.07s,这表明本实施例方法在处理噪声污染的点云时效率有所提高。
稀疏性测试:
随后,测试了不同稀疏度水平对预测的旋转和平移的影响。首先在原始两点云上执行FPS。因此,最终保留了四个稀疏级别,即0.5、0.25、0.125、0.0625。所有参与比较的算法在不同稀疏度水平下的统计性能如图5和图6所示。图3的(c)和图4的(c)显示了算法中稀疏点云的配准和补全结果。虽然点云数据稀疏,但本实施例的方法仍然可以缓解这一限制,保证进行最优点云配准算法的计算。具体分析如下。
从图5可以看出,无论稀疏度水平如何变化,本实施例的方法的预测旋转和平移误差始终在所有方法中排名第一或第二。在传统算法中,只有ICP的旋转估计可以与本实施例的方法相媲美。当稀疏度为0.0625和0.125时,ICP算法优于本实施例的方法。同时,其余算法与本实施例的方法之间的最小平均错误率MAE(R)为33.81%。以基于深度学习的方法为重点,DCP和本实施例的方法能够始终保持对稀疏度变化的稳定性,平均变化幅度仅为0.33和2.2。然而,平均值分别为32.62和15.14,差距达到17.48。上述情况表明,本实施例相较于DCP额外的虚拟点补全策略弥补了由于点云稀疏性增加而导致的形状信息不足。
初始旋转角度测试:
遵循FMR的建议,将初始旋转角度范围0-60°平均分为6组,间隔10°。计算了上述初始角度组中的预测旋转指标,以探索所选算法对初始旋转角度的鲁棒性。比较结果的统计如图7所示。图中不同形状的虚线表示不同算法在不同初始旋转角度下的性能。图3的(d)显示了初始旋转角度为30-40°的点云的配准结果。ICP-Plane和本实施例的算法很好地融合了两个原始点云的几何信息。具体分析如下:
从总体上看,随着初始旋转角度的增大,各种算法的预测误差都呈现出激增的趋势。深入查看图7中所示的实验结果,ICP算法类容易受到重叠率的影响,因此它们不受初始旋转角度增加的影响。此外,FGR算法中使用的FPFH特征也是旋转敏感的,这削弱了在不同初始旋转角度下的配准能力。然而,我们的算法在每个初始旋转角度(0-10°除外)保持最低的MAE。在这种情况下,由于原始点云具有比其他情况更大的重叠面积,ICP可以充分发挥其优势。然而,本实施例的方法的MAEs平均值为15.19,仍然小于排名第二的ICP算法的24.93。特别是,在大角度(40°-60°)下,本实施例的方法比基于深度学习的方法获得了明显更持久的性能。通过检验,得出的结论是,利用Transformer在Regnet的结构中考虑相对点云的位置信息,因此配准网络生成的对应点可以敏锐地意识到对面点云的位置变化。
另外,在这里还进行了替换验证,利用部分算法或模型替换本发明所提出的方法中若干步骤。
在VPGnet的训练过程中排除了鉴别器,只训练了发生器部分。因此,旋转误差度量和平移误差度量都变得更大。特别是,MSE(R)从135.42变为139.45,RMSE(R)从9.84变为10.03,MSE(t)也增加到了0.04。因此,可以推断,生成器和鉴别器在相互对抗中共同提高生成能力和判断能力。虽然不带鉴别器的VPGnet也可以达到不错的精度,即R_loss和t_loss分别为0.42和0.06,这两个值都小于DCP的测量值,但它并没有达到最佳值。总之,GAN的对抗结构有助于生成正确的虚拟点。
如果排出排除了Regnet中的Transformer模块,并探讨了该模块对于特征提取的意义。在新的特征提取结构中,分别从源点云和目标点云中提取深度特征。特征信息之间没有通信。结果如表3所示。
表3 特征提取的结果
从表3中可以看出,无论旋转还是平移测量,不包括Transformer模块的Regnet都不如原始Regnet。特别是在旋转量估计中,MSE(R)、RMSE(R)、MAE(R)的相对误差率分别为50.92%、36.77%、37.14%。因此,Transformer不仅提供相对点云的形状信息,而且还包括相对点的位置信息。将自己的信息与其他点云的高维特征相嵌入,可以更准确地匹配对应的点。
首先通过自监督完成网络在部分重叠的原始点云上生成虚拟点,形成相对完整的点云。然后利用Transformer的注意机制和自我注意机制,从对向点云中提取信息,并结合对向点云的特征进行融合,获得具有高度表达能力的深层嵌入。从Modelnet40获得的各种实验结果表明,与传统和高级深度学习算法相比,本实施例的方法具有显著的通用性和鲁棒性。此外,通过替换或删除某些步骤的验证,可以看出每个步骤都扮演着不可或缺的角色。因此,本实施例的方法在评估标准上实现了先进的性能。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。