论文:RPM-Net: Robust Point Matching using Learned Features-----点云配准(1)
Zi Jian Yew Gim Hee Lee
Department of Computer Science, National University of Singapore
该网络使用可微分的Sinkhorn层和渐进退火(annealing)的方法,从空间坐标和局部几何学习到的混合特征中获取点对应的软分配。为了进一步提高配准性能,作者引入了一个辅助网络来预测最优的渐进退火参数。与一些现有方法不同,RPM-Net可以处理存在缺失对应关系和具有部分可见性的点云。
退火(Annealing)是一种优化算法,通常用于解决复杂的优化问题。在上文中,退火被用作一种策略,用于平衡点云配准中的软分配过程。在退火过程中,系统的能量被逐渐降低,从而使系统从高能量状态(局部最优)转移到低能量状态(全局最优)。在点云配准中,退火算法可以帮助模型在不同的温度参数下搜索和调整点对应关系,以获得更好的配准结果。退火方法常用于解决复杂的优化问题,因为它能够在不陷入局部最优的情况下,找到接近全局最优解的解决方案。
1. Introduction
ICP
ICP(迭代最近点) 被广泛认为是解决刚性点云配准问题的事实上的算法。它通过交替进行两个步骤来解决点对应和刚性变换问题:(1)将参考点云中的每个点与源点云中最近的空间点进行匹配,(2)计算对应关系之间的最小二乘刚性变换。
然而,ICP对初始化非常敏感,并且经常收敛到错误的局部最小值。在存在噪点或离群点的情况下,ICP也会失败。这限制了ICP在相对低噪声和无离群点的情景下具有良好的初始刚性变换的应用,并且无法用于噪声扫描和全局配准等应用。最近的基于深度学习的ICP方法-深度最近点(DCP)通过从深度特征计算点对应来减弱初始化的敏感性,但对离群点不够稳健,并且在部分可见点云上效果不好。
RPM
人们为了缓解ICP存在的问题做了很多工作其中一个较为突出的工作是稳健点匹配( Robust Point Matching,RPM )。
RPM通过软分配的点对应关系开始,然后通过确定性退火逐渐将分配变得硬化。
尽管RPM相对于ICP更具鲁棒性,但由于点对应关系仍然仅基于空间距离获得,因此对于初始化和局部极小值仍然敏感。另一方面,基于特征的方法通过检测显著的关键点并使用特征描述子描述关键点的局部几何来避免初始化和局部极小值问题。然后,可以将一个点云中的特征描述子与另一个点云中的描述子进行匹配,并使用RANSAC方案稳健地求解刚性变换。然而,这些方法只适用于具有显著几何结构的点云。
RPM-Net
RPM-Net是一个基于深度学习的、端到端可微的深度网络,它保留了RPM对噪点和异常点的鲁棒性,旨在通过使用学习到的特征距离而不是空间距离的点对应关系进行去敏化初始化。为此,文章设计了一个特征提取网络,用于计算每个点的空间坐标和几何属性的混合特征。然后,使用Sinkhorn层和退火方法根据这些混合特征得到点对应关系的软分配。通过融合空间坐标和几何属性,并从数据中学习,改进了点对应关系,从而减轻了初始化的敏感性,并增强了对具有缺失对应关系和部分可见性的点云进行配准的能力。
与ICP及其变种方法类似,RPM-Net通过迭代优化刚性点云配准。此外,文章引入了一个辅助网络来预测基于配准状态的最优退火参数,即退火过程不遵循固定的计划。结合使用混合特征,算法可以在少量迭代中收敛, 如图1所示的示例。实验证明,与现有的非深度学习方法和最近的深度学习方法相比,RPM-Net取得了最先进的性能。
文章的主要贡献包括:
- 通过特征提取网络、Sinkhorn层和退火学习混合特征,使初始化脱敏,增强刚性点云配准的鲁棒性。
- 引入二级网络预测最佳退火参数。
- 提出一种改进的Chamfer距离度量,以改进在存在对称性或部分可见性情况下的配准质量度量。
- 在干净、噪声和部分可见数据集下的实验评估中,展示了与其他现有工作相比的最新性能。
2. Related Work
Feature-Based Methods. 基于特征的方法分两步处理配准问题:( 1 )建立两片点云之间的点对应关系,( 2 )计算这些点对应关系的最优变换。
第一步并不简单,需要精心设计的特征描述符来描述不同的关键点,以便在点云之间进行匹配。现在已经提出了很多人工设计的特征描述符,并在 《A comprehensive performance evaluation of 3D local feature descriptors》 中进行了全面的调查。
这些描述符根据点云的空间坐标或几何属性(如曲率或法线)将测量结果(通常是点的数量)累积到直方图中。为了确定空间箱的方向,大多数方法需要一个局部参考框架(local reference frame,LRF),但这通常很难获得明确的LRF。因此,其他方法(如PFH和FPFH)设计了旋转不变的描述符,以避免对LRF的需求。最近的一些工作则利用深度学习来学习这些描述符。其中,3DMatch是最早的一种利用深度学习学习描述符的方法。它将每个关键点周围的区域进行体素化,并使用经过对比损失训练的3DCNN计算描述符。
为了避免体素化导致的质量损失,后续的一些工作(如PPFNet)采用了PointNet架构,直接从原始点云中学习特征。除了预测特征描述符外,3DFeat-Net和USIP还学习检测显著的关键点。基于特征的方法的主要问题是它们需要点云具有明显的几何结构。此外,由此产生的噪声对应关系需要进行后续的鲁棒注册步骤(例如RANSAC),而这在典型的学习框架中并不适用。
Handcrafted Registration Methods. 本研究在RPM的迭代框架上进行了改进,使用了学习到的混合特征之间的距离来进行软分配阶段。此外,作者没有使用预定义的退火调度,而是让网络在每次迭代中决定最佳的设置。
Learned Registration Methods.
3. Problem Formulation
4. Background: Robust Point Matching
5. Our RPM-Net
图2:RPM-Net示意图
对比RPM,RPM-Net做出了两个改变:- 用学习到的混合特征距离代替空间距离.
- 网络在每次迭代时决定α,β(式3)的值.
5.1. Feature Extraction
将式3中的空间距离替换为学习到的特征距离。
其中和分别是点' 和的特征.用学习到的特征代替空间坐标可以使算法在计算任务时考虑额外的信息来源,如局部几何特征,以避免陷入错误的局部极小值。
5.2. Parameter Prediction Network
在原始RPM算法中,要对每个数据集手动设置离群参数和退火模式。这些参数是与数据集相关的,必须为每个数据集进行调优。在RPM-Net中,由于这些参数依赖于学习到的特征,因此很难手动设置。作者认为固定的退火工作是不必要的,因为可以根据当前配准状态选择参数,而不是迭代次数。因此,作者使用一个辅助网络,将两个点云作为输入,并预测当前迭代的参数。具体而言,文中将两个点云连接起来形成一个大小为的矩阵,用第四列增加一个0或1,取决于点来自哪个点云,然后将其输入到一个PointNet中,输出和。为确保预测的α和β是正数,文中在最后一层使用了softplus激活函数。
5.3. Estimating the Rigid Transformation
一旦估计出软分配(soft assignments),最后一步就是估计刚性变换(rigid transformation)。
在点云配准问题中,软分配是指为每个点云中的点分配一个权重,表示它在另一个点云中的对
应点的重要程度。软分配可以根据点之间的距离、特征相似性等因素进行计算。一旦得到了这
些软分配,就可以使用它们来计算刚性变换,将一个点云对齐到另一个点云的坐标系中。
刚性变换通常包括平移、旋转和缩放,用于将一个点云的坐标系与另一个点云的坐标系对齐。在
估计刚性变换时,常用的方法是使用最小二乘法来最小化点之间的差异。通过使用软分配权重,
可以对点云中的异常值和噪声进行鲁棒处理,从而得到更准确的刚性变换。
因此,一旦估计出软分配权重,下一步就是利用这些权重来计算刚性变换,以实现点云的配准。
对于中的每一点,我们计算其在中的坐标:
由于并不是每个点都有对应关系,在计算刚性变换时,我们通过来权衡每个对应关系。
5.4. Loss Functions
文中的主要损失函数是源点云经过使用真实变换和预测变换进行变换后的点云之间的距离。
在点云配准任务中,我们希望找到一个变换,将源点云与目标点云对齐。真实变换是标注的或由其他准确方法计算得到的参考变换。预测变换是我们的模型输出的变换参数。
我们使用距离作为损失函数,来度量变换后的源点云与目标点云之间的差异。距离是点与点之间坐标差值的绝对值的和。通过最小化源点云和目标点云之间的距离,我们的模型被鼓励学习到使两个点云尽可能接近的变换参数。
通过优化损失函数,我们的模型可以学习到更准确的变换参数,从而实现更好的点云配准结果。
作者在实验中观察到,在仅使用配准损失进行训练时,网络倾向于将大多数点标记为异常值(outliers)。为了解决这个问题,作者添加了一个附加的损失函数(式11),目的是鼓励保留更多的内点(inliers)。
这个附加的损失函数是基于计算得到的匹配矩阵的。匹配矩阵表示了点云中每个点之间的匹配程度,其中较大的值表示更好的匹配。通过添加这个附加损失函数,作者希望鼓励网络将更多点标记为内点,即更好地匹配的点。
这样做的目的是提高网络的准确性和鲁棒性,以更好地适应不同类型的点云配准任务,并减少对异常值的敏感性。
最终的总损失为两个损失的加权和:
其中作者在所有的实验中都取λ = 0.01。计算每次迭代i的损失,但将损失按加权,以赋予后面迭代更高的权重,其中为训练时的总迭代次数。
5.5. Implementation Details
本节总结了作者在网络实现方面的一些具体细节和选择。
作者将整个网络实现为一个递归神经网络,其中包含一个内循环用于Sinkhorn归一化。在Sinkhorn归一化的实现上,作者参考了之前的研究,将其展开为固定次数的步骤(设定为5步)。虽然梯度可以在迭代之间流动,但实际上,这并没有提高性能,反而导致训练不稳定。为了解决这个问题,作者采用了简单的方法,在每个迭代开始时停止的梯度传播。这意味着每个迭代都是独立的,训练过程中只执行一次迭代。然而,在训练过程中,作者运行了次配准迭代,因为这样可以让网络更频繁地接触到具有较小配准误差的数据,并学习如何在后续迭代中改进配准。在测试阶段,作者使用次迭代来实现更精确的配准。
在特征提取和参数预测网络中,作者使用ReLU激活函数和组归一化,应用于除最后一层外的所有层。特征提取网络考虑了一个半径为的邻域,并输出96维的特征。作者使用ADAM优化器进行网络训练,学习率为0.0001。
Sinkhorn归一化是一种迭代算法,用于处理一个非负矩阵,并使其满足行和列的和约束。该归一化方法最初由Sinkhorn在1964年提出,用于解决一个线性规划问题。
在深度学习中,Sinkhorn归一化被广泛应用于处理具有特定结构的矩阵,例如概率分布矩阵或相似性矩阵。它可以将非负矩阵调整为满足概率分布的要求,或者在匹配问题中调整相似性矩阵,以得到更合理的匹配结果。
Sinkhorn归一化的基本思想是通过迭代更新矩阵的行和列,使其逐渐满足和约束。具体来说,它通过多次执行以下两个步骤来实现归一化:
- 行归一化:将每一行的元素除以该行元素之和,以保证行的和为1。
- 列归一化:将每一列的元素除以该列元素之和,以保证列的和为1。
通过交替执行这两个步骤,可以逐渐逼近满足和约束的矩阵。迭代的次数越多,结果越接近期望的归一化矩阵。
在这篇论文中,作者使用Sinkhorn归一化来获得软分配的点对应关系。通过设计一个可微的Sinkhorn>层,并结合退火策略,从混合特征中学习点对应关系的软分配。这样可以提高配准的鲁棒性,同时处理具有缺失对应和部分可见性的点云数据
6. Experiments
6.1. ModelNet40 Dataset
6.2. Evaluation Metrics
过计算平均各向同性旋转和平移误差来评估配准:
式中: 和分别表示groundtruth和估计变换,以度数形式返回旋转矩阵的角度。为了与之前的工作保持一致,文中还给出了欧拉角和平移向量的平均绝对误差。但需要注意的是,这些度量指标是各向异性的。
上述度量在ModelNet40模型中常见的对称情况下不公平地惩罚了对齐到备选解的情况,因此文中还提出了一种修改后的Chamfer距离度量方法,用于衡量变换后的源点云与参考点云之间的差异。
各向异性是指在空间中存在不同的方向或取向性质的特征。在几何处理领域,各向异性通常用于描述物体或场景的形状、结构或属性在不同方向上的差异。
在点云处理中,各向异性可以表示点云中的点在不同方向上的密度、曲率或法线等特征的变化程度。 例如,一个具有各向同性的点云表示在任何方向上都具有相似的密度和形状特征,而一个具有各向异性的点云表示在不同方向上具有不同的密度和形状特征。
各向异性在点云处理中具有重要的意义,可以用于点云配准、特征提取、曲面重建等任务。通过考虑各向异性,可以更好地理解点云的结构和形状,并在算法设计中充分利用这些信息,提高点云处理的准确性和效率。
6.3. Baseline Algorithms
6.4. Clean Data
6.5. Gaussian Noise
在本实验中,评估了在真实世界点云中存在噪声和采样差异的情况下的性能。
结果见表2。作者的网络优于所有手工和学习的方法,因为显式地处理了没有对应关系的点。
图3(b)为在增加了高斯噪声的例子上进行配准的实例。
6.6. Partial Visibility
在这部分中,作者介绍了他们对部分可见点云进行评估的实验。部分可见点云指的是两个点云在空间中并不完全重叠的情况。实际情况下,由于采集方法的限制,真实世界中的点云数据往往是部分可见的,例如RGB-D扫描仅包含相机可见的点。因此,处理部分点云是许多应用的重要需求。
为了模拟部分可见性,作者采取了以下方法。对于每个点云,他们随机选择一个方向,并进行位移,使大约70%的点保留下来。与前面的部分不同,这里的点是独立采样和抖动的。为了保持类似的点密度,作者将点云下采样到717个点,而不是1,024个点。他们使用部分可见数据来训练DCP-v2和他们的方法。对于PointNetLK,他们采用了作者建议的类似的过程,从另一个点云中采样可见点。然而,在他们的设置中,只有部分点云对两个点云都可见,因此他们在每次迭代中从与另一个点云中的最近点在距离范围内的点中采样可见点。这个过程提高了推断性能,但在训练过程中效果不佳。因此,他们在这个实验中继续使用PointNetLK的清洁模型。
在部分可见数据上的性能结果显示在表格3中。他们的方法明显优于所有基准方法。有趣的是,尽管他们在RPM中调整了参数,但其性能仍然较差。由于RPM和他们的方法在拒绝异常值方面采用了类似的方案,这凸显了他们学习到的特征距离的好处。部分可见数据的示例结果显示在图1和图3(c-e)中。
6.7. Ablation Studies
本节进行消融研究,以更好地理解各种选择如何影响算法的性能。
在这一部分的研究中,所有的实验都在部分可见性的设置下进行评估,为了简洁起见,作者只展示了各向同性距离和Chamfer距离这两种度量指标。
各分量对配准性能的影响。和分别表示相邻点的绝对质心坐标和局部坐标。
Effects of different components.
通过对比表格4中的第1-3行和第5行,作者观察到需要同时考虑x、∆x和PPF才能达到最佳性能。如果不考虑点的绝对位置(第3行),性能会显著下降。这表明在进行迭代优化时,考虑每个迭代步骤中的点位置的重要性。
值得注意的是,即使没有PPF特征(第1行),该算法仍然优于DCP-v2。这是因为DCP-v2使用了更复杂的Dynamic Graph CNN架构和注意力网络。作者认为这归因于其离群点处理和迭代注册方案。最后,为了了解参数预测网络的重要性,作者将其网络的一个变体与表4中进行了比较(第4行),在这个变体中,文中用两个可学习参数替换了参数预测网络,用于α和β。这些参数与网络权重一起训练,并且在每个迭代中使用相同的值。
我们可以看到,来自参数预测网络的学习退火策略改善了配准性能。
How many iterations are needed?
图4展示了每次迭代后的平均Chamfer距离。大部分性能的提升发生在前两次迭代中,而注册过程在5次迭代后基本上收敛(作者在所有实验中都使用了5次迭代)。
6.8. Computational Efficiency
7. Conclusion
本文提出了一种用于刚性点云配准的RPM-Net方法。作者的方法是基于深度学习的RPM,通过学习融合特征来减弱对初始化的敏感性并改善收敛性能。此外,通过使用可微的Sinkhorn归一化和松弛变量来实施部分双随机约束,我们的方法能够明确处理异常点。我本文还提出了一个辅助网络来预测最佳的退火参数,进一步提高性能。实验结果表明,作者的方法在ModelNet40数据集上在各种评估标准下具有最先进的性能。