PointDSC

现存问题:当两个点云的重叠度较小时,特征空间匹配得到的匹配对仍然存在大量的离群匹配。 现有的离群匹配去除算法或是考虑了空间一致性但为手工设计或为基于学习算法,但没有引入空间一致性。结合两类方法的各自优势来设计出一种强大的二阶段深度神经网络 PointDSC。该网络在特征提取和匹配对分类的两个阶段都显式地利用了空间一致性约束。

适用于各种三维特征描述子 (包括传统描述子与基于深度学习的描述子)可以极大程度得减少在描述子空间中构建的初始匹配对中的错误匹配进而得到鲁棒的变换矩阵估计。

由于PointDSC方法显式利用了在任何场景下都成立的三维空间一致性,其泛化能力对比之前的基于学习的方法有比较明显的进步。由于PointDSC是数据驱动的深度学习模型,不可避免会学习到训练数据中的先验知识,因此泛化能力不如非数据驱动的传统算法。

        PointDSC的输入是一组从特征空间匹配得来的初始匹配对C,其中每一个匹配对包含一个来自X的三维点和一个来自Y的三维点,表示为c_i∈(x_i,y_i)∈R^6。本算法的目标是给每一个匹配对赋予一个正确错误的标签,并恢复出两个点云之间的变换矩阵。

        通过特征提取模块SCNonLocal将输入匹配对的坐标映射到高维特征空间; 通过一个多层感知器估计每个匹配对的初始正确概率,并利用该概率选择出一组高可信度且空间分布均匀的匹配对(称为seed); 针对每一个seed,在特征空间中找到它的k近邻组成一组匹配对子集,通过匹配对分类模块NSM来对其进行分类,进而利用分类结果通过线性最小二乘法估计出该组匹配对子集对应的变换矩阵; 最后,算法在所有得到的变换矩阵中以正确匹配对数量为指标选择出最好的变换矩阵作为最终结果。

PointDSC网络的第一个模块是SCNonlocal。该模块接收初始匹配对作为输入,并为每个匹配对生成一个几何特征。该网络的SCNonlocal模块显式地利用正确匹配对之间的空间一致性来学习特征空间。在特征空间中正确的匹配对彼此更加接近。

PointDSC网络的SCNonlocal模块有12个块,每个块由一个共享感知器层、一个带有ReLU的BatchNorm层和一个非局部算子层组成。

该方法首先通过一组多层感知机将上文中得到的几何特征映射为每个匹配对是否为正确匹配对的初始概率。利用此概率选择一组高置信度的匹配对,将其称为seed。为了使seed可以在空间中分布均匀,该方法采用常见的Non-Maximum Suppression来避免空间中的密集分布的问题。

算法会在特征空间中为每一个seed找到它的k近邻来形成一组匹配对子集,该子集会被匹配对分类模块作为输入并输出一个对应的变换矩阵。

给定一个输入的匹配对子集C^′⊆C(|C^′|=k),本模块将通过图聚类算法得到每个匹配是正确匹配对的概率,进而通过加权最小二乘法计算变化矩阵

该方法将一致性矩阵M的主特征向量视为是每一个匹配对与主簇之间的关联。由于这个主簇通常是由正确的匹配对形成的,因此该方法将这种关联解释为该匹配对正确的概率e。与主簇的关联越高,该匹配对为正确匹配的概率就越高。利用估计出的正确概率,该方法可以通过加权最小二乘拟合最终的变换矩阵。

该方法以一致的匹配对数量为依据,选择出最优的变换矩阵作为模型输出,接着利用最优变换矩阵我们重新计算了每一个匹配对的正确概率。

其中,⟦∙⟧是艾弗森括号,满足括号内的条件则值为1, 不满足条件则值为0。最终的内部和异常值标签ω∈R^|C|由ω_i=⟦‖R^′x_i+t^′−y_i‖<τ⟧得到。之后,算法通过最小二乘的方式对得到的所有内部对应点重新估计变换矩阵。

源码链接:https://github.com/XuyangBai/PointDSC/blob/master/README.md

  • 14
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江山如画,佳人北望

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值