
基于有效对应聚类的多实例点云配准
最近都在研究深度学习点云配准方面的知识,今天发现一篇CVPR2022的点云配准文章,有些借鉴意义,特此提出来进行一起学习,交流。
这篇论文解决了在目标点云中估计源点云的多个实例位姿问题。对于目前的解决方案来说,当实例和异常值的数量增加时,其鲁棒性和效率显著降低,于是提出基于距离不变性矩阵将噪声对应关系分组为不同的簇,然后自动识别实例和异常值。
提出问题
三维点云配准是估计源点云和目标点云之间的单个变换,但有时需要估计点云间的多个变换,如图1。
当我们对一个物体进行了三维扫描,可能希望在目标点云内找到相同物体的位姿,这就是多实例问题。
图1 多实例点云配准
假定我们已经获得了源点云与目标点云之间的一组对应关系C,多实例配准任务则是将这些对应关系分类为不同实例相关的单独集合,即:
网络框架
多实例点云配准方法如图2所示。该方法是将点对应作为输入,然后通过检查点对应关系之间的距离一致性来构造不变一致性矩阵。接下来将列或行向量视为这些点对应的“特征”,以此把这些对应快速聚类为不同的组并进行细化(聚类细化)。
最后,从每个对应簇中估计与每个实例相关的刚性变换。为了处理大量的对应,采用了下采样和上采样两种加法过程。
图2 整体方法
2.1不变性矩阵&相容向量
图3 相容向量与距离一致性矩阵
点对应关系的相容向量可以视为该对应的特征。属于同一刚性变换的对应具有相似的特征。因此,基于这些相容向量,我们可以将对应关系聚类到来自不同实的内联器相关的不同组中。
2.2 快速对应聚类
文中使用自下向上的方式对对应关系进行聚类。首先对每组对应都视为一个单独的组,然后以最小距离重复合并两个组,直到两个组之间的最小距离大于阈值。
2.3 递归聚类细化
在形成聚类之后,通过重复以下步骤进一步细化结果,直到没有变化:
(1)从对应数量大于阈值α的簇中估计刚性变化
(2)合并相似的变换
(3)将簇标签重新分配给每个对应。每个对应都被分配给变换,其中对齐误差最小。若所有变换的最小对齐误差大于内点阈值,则对应关系被标记为异常值。
在迭代过程中,点对应关系变得越来越集中,因此我们可以在步骤(1)中调整α以增加异常值抑制的大小。我们使用以下策略在每次迭代中更新α:
n表示第n次迭代。N是对应数,[.]是舍入运算,实验中设置α0=3,θ=3,同时实验表明,细化过程通常在三次迭代内收敛,十分高效。
2.4 合并重复转换
2.5 从簇中提取变换
聚类后,我们需要从这些对应聚类中提取刚性变换。由于我们不知道目标点云中实例的真实数量,我们需要自动选择那些内部集群。我们首先选择元素数大于阈值(实验中为10)的内部簇,并从这些簇中估计变换。
接下来,我们按内联数降序对变换进行排序。转换的内联项越多,它与真实实例关联的可能性就越高。最后,我们通过以下方法检查变换和第一个变换(具有最多内联数)之间内联数的下降率:
2.6 处理大量对应
当输入对应数量较多时,计算距离不变性矩阵和对对应进行聚类可能会代价较大。因此我们添加了下采样和上采样过程来解决这个问题。
在构造距离不变性矩阵之前运行下采样过程,该过程通过随机采样固定数量的对应(实现中为1024个)来完成,以进行进一步处理。在对选定的对应进行聚类后运行上采样过程,将所有对应分配给现有聚类。
实验
通过混合地面真实值和异常值直接生成输入对应。测试了不同的异常值比率,10%∼ 50%, 50% ∼ 70%和70%∼,结果如表1所示。随着离群值比率的增加,几乎所有方法的性能都会下降,但我们的方法下降缓慢,仍然明显优于其他方法。我们的算法比CPU或GPU上现有的方法快10倍。
表1 具有不同离群值比率的合成对应结果
一些限制
该方法的性能取决于点对应的质量。比较遗憾的是我们发现使用最先进的3D特征(如D3Feat和PREDATOR)会产生不太满意的对应关系,尽管它们在一些基准测试中表现出了良好的性能。
为了提高对应质量,我们必须在实验中为每个数据集训练这些特征。即使这样做,离群值比率仍然非常高,有时在某些情况下(尤其是在使用D3Feat时)缺少内联项,显著降低了召回率。
因此,3D特征是一个需要显著改进的瓶颈。另一个局限性是,距离不变性是一个弱规则,不适用于噪声点云,有时不足以剔除接近内联线的异常值,这也可能会降低我们方法的性能。
结论
本文提出了一种新的多实例三维配准方法。我们发现,距离不变性矩阵的列向量编码了与对应关系相关的实例的丰富信息。基于这一观察,我们通过聚类算法将对应关系有效地聚类到不同的组中,并通过多次迭代对结果进行细化。
在合成数据集、基准数据集和真实数据集上的结果表明,我们的方法在鲁棒性、准确性和效率方面显著优于现有方法。虽然我们的解决方案还远未达到所讨论的完美程度,但我们希望我们的工作能够对这一主题的未来研究有所启发。
文章转载自公众号:深蓝AI
