D3Feat: Joint Learning of Dense Detection and Description of 3D Local Features论文笔记

一.四个问题

1.要解决什么问题?

一个成功的点云配准通常依赖于通过有区分性的3D局部特征建立鲁棒的稀疏匹配。尽管基于学习的三维特征描述子发展迅速,但三维特征检测器却很少受到关注,更没有考虑到这两个任务的联合学习。
2.用什么方法解决?

点云配准的目的是寻找两个具有重叠(overlap)点云直接最佳变换,这是SLAM等应用的基本任务。而局部关键点的检测和描述是获得鲁棒点云对齐结果的两个关键。

对于关键点检测,随机选择一组点进行特征描述,是一个选择。这会带来以下几个问题: (1)随机选择的点可能位于非显著区域(如平面等)或者属于噪声点,影响匹配结果; (2)为了获得完整的场景覆盖,需要对随机点进行过采样,这会大大降低整个匹配过程的效率。作者认为,少量的关键点就足以成功地对齐点云,而良好的关键点点位可以进一步提高配准精度。
作者利用一个3D全卷积网络来处理三维点云,并提出一个新颖且实用的学习机制,可以密集地预测每个3D点的检测分数(detection score)和特征描述。特别地,作者提出了一种克服3D点云固有密度变化的关键点选择策略,并进一步提出了在训练过程中有特征匹配结果引导的自监督检测器损失函数。因此,作者提出了D3Feat(Dense Detection and Description of 3D local Features),实现特征检测器和特征描述子的联合学习。作者的主要贡献:

基于全卷积网络,采用联合学习框架实现3D局部特征检测和描述.

提出了一种新的密度不变(density-invariant)的关键点选择策略,这是获得3D点云可重复关键点的重要策略。

提出了一种自监督的检测器损失,该方法利用训练过程中的特征匹配结果进行有意义的指导,这保证了描述子和检测器的收敛性。

3.效果如何?

D3Feat在indoor和outdoor数据集上均获得了SOTA结果,在ETH数据集上显示了其强大的泛化能力。在实际应用中,作者表明,通过采用可靠的特征检测器,只需对少量特征进行采样,就可以实现精确、快扫的点云对齐(alignment)。


二.论文概述

2.1Dense Feature Description
D3Feat的骨干网络是全卷积神经网络,如图所示,它是一种U-Net网络架构,其中的卷积层采用的是KPConv(kernel point convolution)



经过上述全卷积网络,输出学习到的特征F∈R(N×c),c是特征向量的维度,可以看到网络输出了每个点的特征。最终的特征采用L2归一化到了单位长度。

2.2Dense Keypoint Detection
2.2.1Keypoint Detection

针对刚才得到的特征,作者定义,即表示F的第k列。这里作者借鉴D2-Net(CVPR 2019)中的思想,将F的行向量看作spatial,列向量看作channel。具体关键点检测方法遵循下面这个条件:

即对于点xi,首先在特征通道(channel)方向上寻找最大值,记其索引为k;接着和点xi的邻域内的其他点xj∈Nxi的特征在第k维上进行比较,如果第i个点xi的第k个特征Fi,k大于邻域内其它点的第k个特征Fj,k,j∈xj,则表示这个点是关键点。通俗地讲,关键点就是特征在通道维度和空间维度都是最大值的点。

然而,半径邻域中邻点的数量会变化很大。在这种情况下,如果我们简单地使用Softmax函数来评估空间维度中的局部最大值,那么具有很少点的局部区域就会有更高的分数。为了解决这个问题,我们提出了一个密度不变的显著性分数来评估某个点与其局部邻域相比的显著性。

 

2.2.2Density-invariant saliency score

同样参考D2-Net的思路,显著性分数可以定义为:

但是它不具有密度不变性。这里作者提出一种新的定义:

通过计算当前点xi的特征与局部邻域的平均特征之间的差值来得到当前点xi的显著性分数,而且aik表示第i个点第k个特征的显著性。

对于点xi,选择最有代表性的通道,作者设计了channel max score:。Total score:

 

2.3Joint Optimizating Detection & Description

设计合适的监督信号是特征描述子和关键点检测器联合学习的关键。作者使用了度量学习loss来监督描述子,使用自监督loss来监督特征点检测器。

给定两个具有overlap的点云P和Q,和n个pairs的对应点(correspondence points)(论文中设置n=64)。假设( Ai , Bi )表示第i个对应点对,dAi和dBi表示对应的特征,sAi和sBi表示对应的关键点score。

2.3.1特征描述子损失(Descriptor loss):

其中,Mpos是positive pairs的margin,Mneg是negative pairs的margin。,Bj是hardest sample,指的是:在点云P中给定一个点A,在另一个点云Q中,存在着与点A不匹配的点,但在所有不匹配的点中,与点A的feature距离最近的点,就是点云Q中,点A的hardest sample。上面的非匹配点之间的距离,就是只一个点与其对应的hardest sample点的feature的距离。所以,dpos是点对的feature的距离,dneg是两个点云之间非匹配点之间的feature的最短距离。

综上,特征描述子损失就是将两个点云匹配点的feature距离中超出margin的部分作为第一部分损失,将两个点云非匹配点的feature距离中,小于margin的部分作为第二部分损失,并将两者相加。简单来说就是让匹配点更近,非匹配点更远。

2.3.2检测器损失(Detector loss):

直观上,如果dpos(i)<dneg(i),表明这个correspondence points可以正确的匹配上,因此Ldet使sAi和sBi尽量大; 相反,如果dpos(i)>dneg(i),表明该correspondence points不可以正确匹配上,因此Ldet使sAi和sBi尽量小。即,检测器应该对匹配正确的pairs预测较高的分数,对不匹配的pairs预测较低的分数。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值