点击下方卡片,关注“3D视觉之心”公众号
>>点击进入→3D视觉之心技术交流群
多实例配准
多实例配准需要将模型点云与场景中的多个实例对齐。与单一实例的点云配准相比,多实例配准任务的复杂性更高,主要因为实例数量不确定且实例间存在遮挡。为解决多实例点云配准问题,现有流程大致分为两类:两阶段和单阶段。
对于两阶段流程,首先在模型点云和场景点云之间提取点对应关系,然后通过多模型拟合恢复每个实例的变换,但其成功很大程度上取决于所提取的对应关系的质量。此外,由于场景中的物体杂乱且被遮挡,很难将对应关系准确聚类到单个实例中以便后续的对对配准。 对于单阶段流程,它以模型点云和场景点云作为输入,直接输出姿态。例如,Yu等人 提出了一种粗到细的框架关系来估计变换,而无需多模型拟合。由于考虑了对应关系中的实例级别信息,该方法可以获得细粒度特征,从而提升性能。
然而,在包含多个物体的场景中,获得准确的实例级别对应关系非常困难,尤其是在物体杂乱和被遮挡的情况下。因此,为了缓解在场景中学习模型点云与多个物体之间对应关系的难度,如图1所示,我们考虑先定位物体中心,然后学习物体提案与模型点云之间的匹配关系。
本文介绍的3DFMNet[1]提出了一种简单但有效的3D聚焦与匹配网方法的核心思想是将多实例点云配准分解为多个对对点云配准。具体而言,提出了一个3D多物体聚焦模块,用于定位潜在的物体中心并生成物体提案。为了将物体与输入的CAD模型关联,使用自注意力和交叉注意力来学习结构上相似的特征,从而提高物体中心预测的准确性。在学习的物体中心基础上,我们结合CAD模型的半径,通过球查询操作生成物体提案。之后,提出了一个3D双掩码实例匹配模块,以学习CAD模型与物体提案之间的精确对对配准。该模块通过实例掩码过滤物体提案中的背景点,并使用重叠掩码来提升不完整物体的对对局部配准。
主要贡献包括三个方面:
主要贡献不在于配准问题。现有方法(如PointCLM 和MIRETR )主要学习单个CAD模型与多个物体之间的对应关系(一对多范式),而本方法将一对多范式分解为多个一对一的,首先检测物体每个物体提案之间的匹配关系。
新流程简单但有效,在Scan2CAD 和ROBI 数据集上达到了新的最先进性能,尤其是在具有挑战性的ROBI数据集上,我们的方法在MR、MP和MF指标上R高约7%。
将多实例点云配准转化法还为多目提供了重要的见解。
具体方法
整体流程如图2所示。方法采用两阶段框架,首先定位每个物体的中心,然后执行对对对应关系。
在第一阶段中,提出了一个3D多物体聚焦模块,通过学习输入的模型点云和场景点云之间的相关性来检测潜在的实例中心。 在第二阶段,设计了一个3D双掩码实例匹配模块,用于预测输入模型点云与每个物体中心局部区域之间的对对对应关系。 最后,介绍该方法的损失函数。
3D多物体聚焦
作为方法的第一阶段,3D多物体聚焦模块的目标是回归潜在物体的中心,以生成用于对对对应的高质量提案。相比预测实例的边界框或掩码,直接回归物体中心要容易得多,特别是在物体杂乱且被遮挡的场景中。为了准确检测物体中心,我们首先学习模型点云和场景点云之间的相关性。然后,我们通过学习每个点的偏移来预测物体中心。最后,我们介绍如何构建用于后续对对点云配准的3D物体提案。
特征相关性学习 我们设计了一个简单而高效的特征提取结构,用于学习场景点云 和模型点云 之间的相关性,其中 和 分别表示它们的点数量。为公平比较,我们不使用点云的RGB信息。在学习相关性之前,我们采用KPConv的编码器来分别提取 和 的多尺度点特征,输出的特征图分别表示为 和 ,其中 和 是使用网格下采样后的点数量。接着,我们简单地使用自注意力和交叉注意力来建立模型点云和场景点云之间的相关性,其表达式为:
其中 是场景点云 的输出特征图,嵌入了模型点云 的关系。在实验中,我们堆叠了三个交叉注意力层,每层的输出将作为下一层的输入。通过学习特征相关性,潜在的实例在背景中得以增强,使它们更容易被检测到。
物体中心预测 在特征相关性学习之后,我们从整个场景回归物体中心。给定特征图 ,我们直接预测每个点的偏移向量和实例掩码。点的偏移向量表示到其实例中心的位移,公式为:
其中 是场景中 个点的偏移矩阵。为了识别点是属于实例还是背景,我们预测点掩码,其公式为:
其中 为掩码得分, 是地理距离嵌入。当掩码得分大于0.5时,点被认为属于物体上的点。为获得精确的物体中心,我们首先通过将每个点的坐标与其学习的点偏移相加,将每个点位移到潜在的实例中心(即 )。然后,使用学习的掩码 过滤掉背景点,仅保留实例上的点。接着,采用DBSCAN聚类方法将偏移后的点分为 个簇。最终,通过对每个簇中的点取平均值,获得每个实例的中心,其公式为:
3D双掩码实例匹配
一旦获得物体提案,我们便使用3D双掩码实例匹配模块来学习对对点云配准。具体而言,我们首先学习实例掩码以将物体提案中的实例分割出来。然后,我们学习重叠掩码以分割实例与模型点云之间的公共区域。最后,基于实例掩码和重叠掩码,我们进行对对实例匹配的学习。
实例掩码 由于无法获得理想的物体提案,我们需要从物体提案中筛除背景点,以获得实例的掩码。给定物体提案的点云 ( 为物体提案中的点数),我们采用KPConv的小型编码器结构来提取物体提案的特征,因此可以获得特征图 ,其中 为网格下采样后的点数。实例掩码 公式如下:
其中 是掩码得分, 是地理距离嵌入。值得注意的是,在第一阶段中,我们从整个场景中学习所有实例的点掩码,难以为每个实例获取精确的点掩码。而此处我们从物体提案中学习点掩码,因此可以获得更精确的实例掩码。
重叠掩码 由于物体的遮挡,通常会出现大量不完整的物体。因此,我们考虑学习不完整物体与完整模型点云之间的重叠掩码。我们将模型点云输入设计的小型KPConv编码器以获得特征图 。类似地,我们使用自注意力和交叉注意力来学习物体提案和模型点云之间的相关性,表达如下:
其中 是增强的物体提案特征图。随后,我们使用MLP预测重叠掩码,其表达式为:
其中 为得到的重叠掩码。为了将重叠掩码上采样至原始分辨率,我们使用小型KPConv解码器生成特征图 。
在随后的匹配步骤中,我们按照文献的局部区域内使用最佳传输层来匹配密集点。然而,这种方式提取的局部对应关系往往过于密集,导致姿态估计不稳定 。为缓解这一问题,我们点对应关系,通过使用实例掩码和重叠掩码,去除实例外的点并消除局部区域内的非重叠部分。
损失函数
聚焦模块中的损失 对于3D多物体聚焦模块,我们需要学习更好的形状特征以用于定位。因此,参考文献L_{\text{circle}}$ 来学习精细的交互特征,公式如下:
其中, 和 分别是源点集和目标点集, 是每个集合的锚点块。 为特征空间中的距离,, 是 和 的重叠比率。权重 和 分别为正例和负例的调整参数,使用边界超参数 和 来设置。源点集 的圆形损失以相同方式计算。
为了约束场景中每个采样点相对于其最近目标实例中心的偏移,我们使用 回归损失,公式为:
其中 是点 所属最近实例的质心。考虑到不同类别的物体大小差异,特别是大型物体的边界点较远,因此难以准确回归精确的偏移。为了解决这一问题,我们引入方向损失以约束预测偏移向量的方向,采用负余弦相似度衡量,定义如下:
总体的聚焦损失计算公式为:。
匹配模块中的损失 为学习粗略的点特征,我们在聚焦网络中采用了圆形损失。在点匹配方面,参考文献 ,我们使用负对数似然损失ll}}Z_i$,公式如下:
其中 和 为两匹配块中的未匹配点。所有点匹配的最终损失取均值:。
此外,在实例掩码和重叠掩码的预测中,我们基于文献 的二元交叉熵(BCE)损失和Dice损失构建掩码预t{mask}, i}$:
其中 和 分别为预测的实例掩码和真实掩码。所有掩码预测的最终损失为均值。最终匹配损失函数 定义为:
实验效果
总结一下
3DFMNet是一种用于多实例点云配准的3D聚焦与匹配网络。提出了一个3D多物体聚焦模块,通过学习模型点云和场景点云之间的相关性来定位场景中潜在目标的中心。然后,设计了一个3D双掩码实例匹配模块,以学习模型点云与定位物体之间的对对对应关系。在两个公共基准Scan2CAD和ROBI上的大量实验表明,在多实例点云配准任务上达到了新的最先进性能。
局限性:
3D聚焦与匹配网络是一种用于多实例点云配准任务的两阶段框架。第一阶段的定位精度会影响第二阶段的对对对应关系。 由于采用了两阶段流程,推理时间略低于之前的MIRETR。
参考
[1] 3D Focusing-and-Matching Network for Multi-Instance Point Cloud Registration
本文仅做学术分享,论文汇总于『3D视觉之心知识星球』,欢迎加入交流!
扫码添加小助理进群
3D视觉之心知识星球主打3D感知全技术栈学习,星球内部形成了视觉/激光/多传感器融合SLAM、传感器标定、点云处理与重建、视觉三维重建、NeRF与Gaussian Splatting、结构光、工业视觉、高精地图等近15个全栈学习路线,每天分享干货、代码与论文,星球内嘉宾日常答疑解惑,交流工作与职场问题。