什么样的点可以称为三维点云的关键点?

Source

点击进入—>3D视觉工坊学习交流群

0.笔者个人体会:

这个工作来自于香港科技大学和香港城市大学。我们知道,随着三维传感器以及相关扫描技术的进步,三维点云已经成为三维视觉领域内一项十分重要的数据形式。并且随着深度学习技术的发展,许多经典的点云深度学习处理方法被提出来。但是,现有的大多数方法都关注于点云的特征描述子学习。并且,在稠密的点云数据帧中,如果对所有点云都进行处理,将会带来巨大的计算和内存压力。针对这种问题,提取部分具有代表性的关键点则成为一种自然而且有效的策略。但是,什么样的点可以称为三维点云中的关键点呢?这个问题仍然是一个开放的、没有明确答案的问题。

本工作受D2-Net启发,提出了一种新的三维点云关键点定义方式,将其与三维点的特征描述子关联起来,有效的回答了什么是三维点云中的关键点,并验证了该方法检测到的关键点的可重复性。但是,本方法的不足也十分明显。正是由于它将关键点的检测定义在三维点云点特征上,因此,在检测关键点时,需要对输入点云的所有点都提取相应的点特征。这样的话,即使此方法检测到的关键点可以有效用于后续任务,但此方法本身仍需处理完整点云中的所有点,并不能在关键点提取阶段就有效的降低计算和内存压力。

1、论文相关内容介绍:

论文标题: D3Feat: Joint Learning of Dense Detection and Description of 3D Local Features

作者列表: Xuyang Bai,Zixin Luo, Lei Zhou, Hongbo Fu, Long Quan, Chiew-Lan Tai

摘要:成功的点云配准通常取决于通过有区分性的3D局部特征鲁棒地建立稀疏匹配。尽管基于学习的3D特征描述子发展迅速,但很少有人关注3D特征检测器的学习,更不用说两个任务的联合学习。在本文中,我们将3D全卷积网络用于 3D点云,并提出了一种新颖实用的学习机制,可以稠密预测每个3D点的检测分数和描述特征。特别是,我们提出了一种关键点选择策略,该策略克服了3D点云的固有密度变化,并进一步提出了一种由训练期间的动态特征匹配结果引导的自监督检测器损失。最后,我们的方法在3DMatch和KITTI数据集上进行了评估,在室内和室外场景中都取得了最先进的结果,并在ETH数据集上显示了其强大的泛化能力。在实际使用中,结果表明,通过采用可靠的特征检测器,采样较少数量的特征就足以实现准确和快速的点云对齐。

主要贡献:

1.我们利用基于KPConv的全卷积网络,并采用联合学习框架进行3D局部特征检测和描述,无需构建对偶结构,从而可以进行快速推理。

2. 我们提出了一种新的密度不变关键点选择策略,这是获得3D点云可重复性高的关键点的关键。

3. 我们提出了一种自监督检测器损失,它在训练期间从动态特征匹配结果中获取有意义的引导,从而保证了紧密耦合的描述子和检测器的收敛。

方法介绍:

D2-Net是一种最近提出的一种2D 图像匹配方法,受其启发,我们没有为关键点检测和描述训练单独的网络,而是设计了一个具有双重作用的单个神经网络:稠密特征描述符和关键点检测器。然而,由于点云的不规则性和不同的稀疏性,将D2-Net的思想应用于3D领域并非易事。在下方法,我们将首先描述对不规则 3D点云进行特征描述子提取和和关键点检测的基本步骤,然后解释我们的方法在3D领域中处理稀疏性变化的策略。

3229d5d08a9f04db12a100457403de6f.png

Fig1:(左)D3Feat的网络架构。每个块表示一个使用KPConv代替图像卷积的ResNet块。除了最后一层之外的所有层都使用Batch Normalization和ReLU。(右)关键点检测。在稠密点特征提取之后,我们通过应用显著性分数和通道最大分数来计算关键点检测分数。

一、稠密特征描述子提取

为了解决不规则点的卷积问题并更好地捕获局部几何信息,KPConv方法被提出来,它使用带卷积权重的核点来模拟二维卷积中的核像素,然后在原始点云上定义卷积操作。我们采用KPConv作为我们的骨干网络来执行稠密特征提取操作。下面我们先简单回顾一下KPConv的方法。

以矩阵形式表示给定的一组点a81da3f34c2cdffb1689f83feacf6b0c.png和一组特征e1004223b3c932529610fc894d843dc7.png,令xi和fi分别表示中的第i个点及其在3ca07f42f1a6b50afd83a53e3d1ad387.png中相应的特征。定义在核g上的x点的卷积为

501babfeacb26a9c5c066613fd39f86b.png

其中817f41205d027f68c104fe951d734211.png是x点的半径邻域,xi是该邻域的支撑点。核函数定义为

009b70a0a922adcb7cf6665c4d4d2036.png

其中 是核点667a5aba39e68c8db53ecace0a106301.png和支持点之间的相关性函数,54165ebc421aa8cbf07339c03a908838.png是核点2ae2f349a68379ac61011fa2e26e1259.png 的权重矩阵,K是核点的个数。我们建议读者参考KPConv原始论文了解更多详细信息。

KPConv的原始公式不是对点云密度不变的,因此,我们在以上公式中添加了一个密度归一化项,它总结了x附近的支持点的数量,以确保卷积是稀疏不变的的:

0593771dd543b2139e1c4c34a1790651.png

基于归一化核点卷积,我们采用带有跨层连接和残差块的类似UNet的结构来构建全卷积网络,如图1(左)所示。

与仅支持稀疏特征描述子的基于块的方法不同,我们的网络能够在完卷积设置下执行稠密的特征描述子提取。我们网络的输出是二维矩阵6021bfeb256e4aac64240ce5cb282977.png形式的稠密特征图,其中c是特征向量的维度。点的描述子记为e7503c299300f9a2d4889a1339094f33.png

9a41cfacc8389ea732e5cf0eeeed8f30.png

其中1ecf78c5c50a19ec18e530da553a85c8.png表示二维矩阵的第i行,特征描述子被L2归一化到单位长度。

二、稠密关键点检测

D2-Net在特征图的空间和通道维度上的局部最大值,并使用softmax来评估像素的局部最大值以检测二维图像关键点。由于图像的规则结构,他们的方法只是选择相邻像素作为邻域。为了将他们的方法扩展到 3D,这种策略可能会被半径邻域所取代,以处理点云的非均匀采样设置。但是,半径邻域中的相邻点的数量可能会有很大差异。在这种情况下,如果我们简单地使用softmax来评估空间维度上的局部最大值,那么点较少的局部区域本来就会有更高的分数。为了解决这个问题,我们提出了一个密度不变的显著性分数来评估某个点与其局部邻域相比的显著性。给定稠密特征图2f6e1c558d522fc33366b90d7d984302.png,我们认为为3D响应 e3524c95231c4ed83d4d5161268d41de.png的集合:

fb702b052b7e33a004e84017b67dc562.png

其中389e0890f229cca2dc9820bf85b7fc26.png表示二维矩阵的第 k 列。点为关键点的原则是

4402fd6f96e68e01f4324867b54f9d1f.png

其中3431201b641e9a34720826df07f049b0.pngxi的半径邻域。这表示

首先选择最显著的通道,然后通过它是否是该特定响应图d3e5dd1997320450a228e317693b6f20.png上其空间局部邻域的最大值来验证。在训练期间,我们通过应用两个分数来使上述过程可微以使其可训练,如图 1(右)所示。

1.密度不变显著性得分:该分数旨在评估一个点与其局部邻域中的其他点相比的显著性。在 D2-Net中,评估局部最大值的分数定义为xi

c0c244abeb2e2beef3fced66de00dcfa.png

然而,这个公式对于稀疏性不是不变的。因为分数是通过总和归一化的,这使得稀疏区域固有的比稠密区域具有更高的分数。因此,我们设计了一个密度不变的显著性分数,如下所示:

9cd87064c8827195e5c936f9e6d0d24c.png

在这个公式中,一个点的显著性分数被计算为其特征与其局部邻域的平均特征之间的差异。因此,它测量了中心点相对于局部区域中支持点的相对显著性。此外,使用平均响应代替总和可以防止分数受到邻域中点数的影响。

2.通道最大得分:该分数旨在为每个点挑选最显著的通道:

27d114c72d6705a07ce7a95e17edd0a6.png

最后,将两个分数都考虑到最终的关键点检测得分:

4cab2713323d3f1f3a597e7ce4360a11.png

因此,在获得输入点云的关键点得分图后,我们选择得分最高的点作为关键点。

三、联合优化特征描述子提取器和关键点检测器

设计合适的监督信号是联合优化特征描述子提取器和关键点检测器的关键。在本节中,我们将首先描述描述子的度量学习损失,然后从自监督的角度设计检测器损失。

1.特征描述子提取损失函数

为了优化特征描述子提取网络,许多工作尝试使用度量学习策略,如对比损失和三元组损失。我们这里将使用对比损失,因为从我们的实验中可以发现它可以提供更好的收敛性能。至于采样策略,我们采用的是hardest in batch策略,使网络专注于最难的点对。

给定一对部分重叠的点云碎片P和Q,以及一个包括n对对应3D点的集合。假设510d02dc3714c04b96ed0382c93fc613.png是一个对应对,对应的两点的描述子记为7577967ec6ced3d8b384e442941d5876.png12cd73e7ae2ee0e215881560cb899b1f.png,得分记为83740aa53fa1bdd65e6ea3a664400eb0.png3f64adf76f09013437443b6b1a35796c.png,然后将正样本对之间的距离定义为它们的描述子之间的欧几里得距离,即

d593f90139cbbca263d7b17c5e36a86b.png

负样本对之间的距离被定义为:

2d091dbafb250610ae7af50524b895e8.png

其中R是安全半径,1db3bd5447ff04a415bc59ebd6879bb8.png是位于真实对应安全半径之外的最难负样本。对比损失定义为

e2f3de4e0c49923210e9dd387b7c9533.png

其中dcd99bdf03993a187f4325e8a6bc105d.png是正对的边界,f27dc1df6dec385a6331f58002089169.png是负对的边界。

2.关键点检测器损失函数

为了优化关键点检测器网络,我们寻求一种损失公式,鼓励容易匹配的对应点比难以匹配的对应点具有更高的关键点检测分数。D2-Net提出了对三元组边界损失的扩展,以联合优化特征描述子提取和关键点检测器:

b2dfc1cf5af375b0d0fce64f7483bcf1.png

其中M是三元组边界。然而,这个损失并没有为分数项提供明确的引导,并且这个原始损失公式并不能保证在我们的方法收敛。

因此,我们设计了一个损失项来明确引导分数的梯度。从自监督的角度来看,我们使用on-the-fly特征匹配结果来评估每个对应点的判别性,这将引导每个关键点的得分的梯度传播。如果对应点在当前描述子提取网络下可以匹配,我们希望其得分更高,反之亦然。具体来说,我们将关键点检测器损失定义为

702b3e2d58bf9ba48c3f936e1e591c15.png

直观地说,如果36344c0e2515ddb1be22bb304c492c0c.png,则表明该对应点可以使用最近邻搜索正确匹配,并且损失项将鼓励对应的两点获得的分数e6402f42e0e27b696e750e16e5105024.png365f628ee763404aaf40d801db755a5d.png更高。相反,如果29c7d312684410e9609a542332a8b906.png ,则对应点的描述子不足以使它们建立对应关系,因此损失将鼓励降低其得分。

本文仅做学术分享,如有侵权,请联系删文。

点击进入—>3D视觉工坊学习交流群

干货下载与学习

后台回复:巴塞罗自治大学课件,即可下载国外大学沉淀数年3D Vison精品课件

后台回复:计算机视觉书籍,即可下载3D视觉领域经典书籍pdf

后台回复:3D视觉课程,即可学习3D视觉领域精品课程

3D视觉工坊精品课程官网:3dcver.com

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

14.ROS2从入门到精通:理论与实战

15.国内首个3D缺陷检测教程:理论、源码与实战

16.基于Open3D的点云处理入门与实战教程

17.透彻理解视觉ORB-SLAM3:理论基础+代码解析+算法改进

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉CV&深度学习SLAM三维重建点云后处理自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

4c5e5275370f71a68b916db0d873c52b.jpeg

▲长按加微信群或投稿,加微信:dddvision

1afc321fae24f4529c50c2af800f3e2f.jpeg

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列三维点云系列结构光系列手眼标定相机标定激光/视觉SLAM自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近6000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

a14854251534ce4f98a4a44bab896680.jpeg

 圈里有高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~