RoCNet: 3D Robust Registration of Point-Clouds using Deep Learning-----点云配准(二)

275 阅读10分钟

论文:RoCNet: 3D Robust Registration of Point-Clouds using Deep Learning-----点云配准(二)

Karim Slimani, Brahim Tamadazte, and Catherine Achard

Sorbonne Universit ́ e

本文介绍了一种基于深度学习的新的三维点云配准方法。

该架构由三个不同的部分组成:(i) 编码器,包括一个卷积图形描述子,用于编码每个点的邻域信息,以及一个注意力机制,用于编码表面法线的变化。这些描述子通过突出显示同一集合内点之间以及两个集合之间的关注来进行细化。(ii) 匹配方法:使用Sinkhorn算法估计点云之间的点对应关系,并生成一个对应关系矩阵。这个匹配过程利用描述符空间中的相似性来完成,以便更好地匹配点云中的点。(iii) 最后,通过RANSAC算法使用对应关系矩阵中的KcK^{c}个最佳分数计算两个点云之间的刚性变换。文中在ModelNet40数据集上进行了实验,结果表明作者提出的架构在大多数模拟配置中表现出非常有前途的结果,优于现有方法,包括部分重叠和高斯噪声数据增强。

I. INTRODUCTION

image.png

图1:提出的RoCNet方法的总体思路。

本文提出了一种新的架构(图1),称为RoCNet,包括三个主要模块:1)一个描述子模块。由一个卷积图形网络和一个注意力机制组成,卷积图形网络负责对每个点的邻域进行编码,注意力机制对表面法线的变化进行编码。 2)一个匹配模块,使用Sinkhorn算法估计对应关系矩阵;3)一个RANSAC模块,使用有限次迭代(例如500次迭代)和KcK^{c}(例如256)个最佳匹配计算刚性变换。

通过在ModelNet40数据集上进行评估,证明了作者提出的方法在不同有利和不利条件下的性能优于相关的最先进算法,特别是在噪声数据和部分遮挡等不利条件下的表现更好。

II. RELATED WORK

A. 3D Point Cloud Descriptors

B. Iterative Methods

C. Methods based on Matching Learning

D. Methods based on Transformation Learning

III. METHOD

A. Problem Statement

B. Descriptor

在点云配准问题中,描述子的相关性和质量是最基本的组成部分之一,其作用是对点进行编码。因此,文中提出了一种新的描述子,通过将初始的点集X\mathbf{X}Y\mathbf{Y}投影到一个更高维度的新基上,实际上比初始的空间表示更具区分性,并且尽可能不受旋转和平移的影响。该描述子结合了基于几何的描述子和基于法线的描述子,在此之后还使用了一个注意力机制。

1) Geometrical-based descriptor:

作者将DGCNN集成为描述子的一部分,因为它能更好地捕捉点云的局部几何特征,同时保持置换不变性。

它主要由EdgeConv卷积层组成,其中点表示节点,通过在编码空间中与其k个最近邻点连接的弧构建图形,以表示每个点周围的局部几何结构,然后在更高层次上动态传播信息(全局编码)。

fiXf_{i}^{X}为点xix_{i}的提取特征向量,维度为d\text{d}

2) Normal based descriptor:

法线基准描述符是一种用于表示点云中法线信息的描述子。在点云中,每个点都有一个对应的法线向量,表示该点所在表面的方向。法线基准描述子利用这些法线信息来描述点云的几何特征。

通常,法线基准描述子通过计算每个点周围的邻域法线的统计特征来表示点的法线信息。这些统计特征可以包括平均法线方向、法线曲率、法线角度等。通过捕捉点云中不同区域的法线变化,法线基准描述子能够提供关于点云几何形状(曲面类型)的重要信息。

在本文中,作者提出了一个基于法线的描述子,作为其整体描述子的一部分。这个法线描述子将点云中每个点的法线信息纳入考虑,并通过结合几何描述子和法线描述子来提高描述子的表达能力。这样可以更全面地捕捉点云的几何特征,使得描述子更具区分度和鲁棒性。

法线是通过主成分分析(PCA)来估计。对于每个点xi Xx_i\in\textbf{ X},定义一个局部邻域点集Si={xj/xjxi2r}S_i=\left\{\boldsymbol{x}_j/\left\|\boldsymbol{x}_j-\boldsymbol{x}_i\right\|^2\leq r\right\},其中r\text{r}是以xix_i为中心的球的半径,KnnK_{nn}SiS_{i}中点的最大数量。通过对协方差矩阵Cov(Si)Cov(S_{i})进行特征值分解,可以定义法线nin_i为与最小特征值相关联的向量。协方差矩阵Cov(Si)Cov(S_{i})的表示如下:

image.png

其中Si\left|S_{i}\right|表示SiS_{i}中点的个数。

由于PCA本身无法确定法线向量的方向,因为它可以指向任意一个方向,因此提出使用一作者个新的向量ziz_i来解决符号的不确定性。该向量与nin_i共线,并且通过确保它指向具有更高点密度的表面的一侧来定义。这意味着法线向量指向远离点稀疏区域且指向点更密集的表面区域。类似于,文中通过以下方法解决了这个不确定性:

image.png

最后,作者在前人文献的基础上,利用不同频率的正弦函数来构造最终的编码。已知两点xix_ixjx_j的法线之间的夹角(zi,zj)\angle(\boldsymbol{z}_i,\boldsymbol{z}_j),则编码法线的向量gxi,xjg_{x_i,\boldsymbol{x}_j}

image.png

式中:indindgxi,xjg_{x_i,\boldsymbol{x}_j}的当前值指标,T\mathcal{T}为归一化系数,dd为固定为与基于几何的描述子DGCNN相同大小的描述子gxi,xjg_{x_i,\boldsymbol{x}_j}的维数。然后对gxi,xjg_{x_i,\boldsymbol{x}_j}施加一个全连接层,得到最终的嵌入。

image.png

其中WEsRd×d\mathbf{W}_E^s\in\mathbb{R}^{d\times d}是一个经过学习得到的投影矩阵。

3) Attention mechanism:

最近,关于点云描述子中一个关键点,即引入了一个注意力机制来动态地突出一些特征。

在作者的方法中,作者提出在每个集合X\mathbf{X}Y\mathbf{Y}内使用四个带有几何自注意力的注意力头,分别整合相关的法线嵌入eXe^{X}eYe^{Y},然后在两个点集之间进行交叉注意力,并且交替进行L次。

4) Self-attention:

自注意力层针对点云中的每个点(X\mathbf{X}Y\mathbf{Y})预测一个基于注意力的特征fˉi\bar{f}_i,并关注同一点云中的所有其他点。以下是针对点xiXx_{i}\in\boldsymbol{X}的算法细节,对于X\mathbf{X}Y\mathbf{Y}中的所有点都可以使用相同的方法。因此,对于每个查询/键(query/key)对,我们获得一个注意力权重:

image.png

其中WQs, WKs and WRsRd×d\mathbf{W}_Q^s,\mathbf{~W}_K^s\text{ and }\mathbf{W}_R^s\in\mathbb{R}^{d\times d}dd是特征fiXf_{i}^{X}ei,jXe_{i,j}^{X}的维度。这些投影矩阵用于对查询(queries)、键(keys)和基于法线的嵌入(normal-based embeddings)进行投影操作。

具体来说,这些投影矩阵用于计算注意力权重,用于衡量我们需要关注的元素,并获得最终的基于自注意力的特征fˉiX\bar{f}_i^X。在自注意力机制中,查询和键通过投影矩阵进行映射,然后计算它们之间的相似度得到注意力权重。这些权重用于加权求和,以生成每个点的最终特征。

image.png

通过学习投影矩阵,模型可以自动地学习如何对查询、键和法线嵌入进行投影,以更好地捕捉它们之间的相关性和重要性。这样,模型可以在自注意力机制中动态地突出重要的特征,从而提高点云注册的性能。

image.png

其中,WVsRd×d\mathrm{W}_V^s\in\mathbb{R}^{d\times d}是一个学习到的投影矩阵,用于对值(values)进行投影操作。

5) Cross-Attention:

在交叉注意力(Cross-Attention)层中,用于在先前获取的表示fˉiX\bar{f}_i^XfˉjY\bar{f}_j^Y之间传播局部信息,这些表示分别对应于点云X\mathbf{X}Y\mathbf{Y}中的点xix_iyjy_j。形式上,它的工作方式与自注意力层类似,但注意力键的估计方式略有不同,现在使用第二个点云中的一个点作为键。

对于任何点xix_i(或yjy_j),最终的编码表示由下式给出:

image.png

其中,WQc, WKc\mathbf{W}_Q^c,\mathbf{~W}_K^cWVcRd×d\mathbf{W}_V^c\in\mathbb{R}^{d\times d}分别为跨注意力层中查询、键和值的学习投影矩阵。

C. Point Matching

所提算法的第二步是匹配。我们首先估计每个点xiXx_{i}\in XyjYy_{j}\in Y之间的得分矩阵CRM×N\mathbf{C}\in\mathbb{R}^{M\times N}

image.png

其中hXi和hYj是前面定义的点xi和yj的最终编码。

D. Pose Estimation

IV. EXPERIMENTS

A. Dataset and Parametrisation

ModelNet40 dataset

image.png

图2:提出的RoCNet架构概述。

image.png

对不同配置的点云进行三维匹配的实例:( a )干净数据,( b )部分重叠,( c )噪声数据和部分重叠。绿色线条表示正确的匹配,红色线条表示错误的匹配。

B. Metrics

为了将作者的RoCNet架构与最先进的方法进行对比,文中选择了两个在文献中广泛使用的指标,它们是均方根误差( RMSE )和平均绝对误差( MAE ),用于计算估计变换和提供的真值之间的旋转和平移差异。RMSE和MAE分别定义如下:

image.png

式中,M{\boldsymbol{M}}为测试集中点对的数量,pi\mathbf{p}_ipiGT\mathrm{p}_i^{GT}分别为估计的旋转(欧拉角)或平移和真实值。

C. Results

1) Model trained on all classes with clean data:

image.png

在数据干净且没有遮挡的情况下使用RoCNet进行配准的一些例子与GroundTruth的比较。

image.png

RoCNet在没有噪声和遮挡的情况下使用所有40类数据集的性能。

R\mathbf{R}是以度数给出的,t\mathbf{t}是以米为单位的,而最好的结果用粗体突出显示,次好的结果用下划线表示。

2) Model trained on all classes with noisy data:

image.png

在有噪声数据和无遮挡的所有40类样本中训练模型时,RoCNet的性能。

3) Model trained on half classes with clean data:

image.png

RoCNet在有干净数据和无遮挡的一半类(20/40)中训练模型时的性能。

4) Model trained on all the classes with clean data and under partial occlusions:

模型在具有干净数据和部分遮挡的所有40类上进行训练.

image.png

在数据干净且存在部分遮挡的所有40类中训练模型时,RoCNet的性能。

5) Model trained on all the classes with noisy data and under partial occlusions:

image.png

在所有含有噪声数据和部分遮挡的40类中训练模型时,RoCNet的性能。

image.png

RoCNet与11种最相关的最先进方法的性能比较。( a )在干净数据的情况下,( b )在数据带有高斯噪声的情况下,两者都有部分重叠。

V. ABLATION STUDY

对三个部分(描述子、转换器和基于RANSEC的变换估计)进行消融实验。

A. Ablation of Descriptor

image.png

部分重叠匹配(R: 精确率, A :准确率, R :召回率, F1 : F1值)的匹配挑战中的性能评估。

image.png

在全重叠、噪声数据和部分重叠的情况下,SVD和RANSAC用于变换估计。

image.png

在具有干净数据和部分重叠的匹配中进行性能评估。

B. Ablation of DGCNN and Transformer

VI. CONCLUSION

该论文提出了一种基于深度学习架构的新型3D点云配准和姿态估计方法。

提出的架构由三个主要模块组成:1)新设计的描述子,它对每个点的邻域进行编码,并通过注意力机制编码表面法线的变化;2)匹配方法,使用Sinkhorn算法估计对应关系矩阵;3)使用RANSAC方法对来自对应关系矩阵的Kc个最佳匹配进行刚性变换的估计。

在ModelNet40数据集上对提出的架构进行了评估,包括不同的有利和不利的配置。结果表明,作者提出的方法在不利条件下(例如噪声数据和部分遮挡)优于相关的最先进算法。未来,作者计划将这项工作扩展到一种新的方法,其中描述子将在频率范围内表示。这将提高作者的架构的准确性,并增强其对噪声和部分遮挡的鲁棒性。