0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

3D视觉工坊 来源:3D视觉工坊 作者:秦岭北麓小丹童 2022-11-22 09:46 次阅读

0.笔者个人体会:

这个工作来自于香港科技大学和香港城市大学。我们知道,随着三维传感器以及相关扫描技术的进步,三维点云已经成为三维视觉领域内一项十分重要的数据形式。并且随着深度学习技术的发展,许多经典的点云深度学习处理方法被提出来。但是,现有的大多数方法都关注于点云的特征描述子学习。并且,在稠密的点云数据帧中,如果对所有点云都进行处理,将会带来巨大的计算和内存压力。

针对这种问题,提取部分具有代表性的关键点则成为一种自然而且有效的策略。但是,什么样的点可以称为三维点云中的关键点呢?这个问题仍然是一个开放的、没有明确答案的问题。 本工作受D2-Net启发,提出了一种新的三维点云关键点定义方式,将其与三维点的特征描述子关联起来,有效的回答了什么是三维点云中的关键点,并验证了该方法检测到的关键点的可重复性。

但是,本方法的不足也十分明显。正是由于它将关键点的检测定义在三维点云点特征上,因此,在检测关键点时,需要对输入点云的所有点都提取相应的点特征。这样的话,即使此方法检测到的关键点可以有效用于后续任务,但此方法本身仍需处理完整点云中的所有点,并不能在关键点提取阶段就有效的降低计算和内存压力。

1、论文相关内容介绍:

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

摘要:

成功的点云配准通常取决于通过有区分性的3D局部特征鲁棒地建立稀疏匹配。尽管基于学习的3D特征描述子发展迅速,但很少有人关注3D特征检测器的学习,更不用说两个任务的联合学习。

在本文中,我们将3D全卷积网络用于 3D点云,并提出了一种新颖实用的学习机制,可以稠密预测每个3D点的检测分数和描述特征。特别是,我们提出了一种关键点选择策略,该策略克服了3D点云的固有密度变化,并进一步提出了一种由训练期间的动态特征匹配结果引导的自监督检测器损失。

最后,我们的方法在3DMatch和KITTI数据集上进行了评估,在室内和室外场景中都取得了最先进的结果,并在ETH数据集上显示了其强大的泛化能力。在实际使用中,结果表明,通过采用可靠的特征检测器,采样较少数量的特征就足以实现准确和快速的点云对齐。

主要贡献:

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

2. 我们提出了一种新的密度不变关键点选择策略,这是获得3D点云可重复性高的关键点的关键。 3. 我们提出了一种自监督检测器损失,它在训练期间从动态特征匹配结果中获取有意义的引导,从而保证了紧密耦合的描述子和检测器的收敛。

方法介绍:

D2-Net是一种最近提出的一种2D 图像匹配方法,受其启发,我们没有为关键点检测和描述训练单独的网络,而是设计了一个具有双重作用的单个神经网络:稠密特征描述符和关键点检测器。

然而,由于点云的不规则性和不同的稀疏性,将D2-Net的思想应用于3D领域并非易事。在下方法,我们将首先描述对不规则 3D点云进行特征描述子提取和和关键点检测的基本步骤,然后解释我们的方法在3D领域中处理稀疏性变化的策略。

65efa5a0-69f2-11ed-8abf-dac502259ad0.png

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

一、稠密特征描述子提取

为了解决不规则点的卷积问题并更好地捕获局部几何信息,KPConv方法被提出来,它使用带卷积权重的核点来模拟二维卷积中的核像素,然后在原始点云上定义卷积操作。我们采用KPConv作为我们的骨干网络来执行稠密特征提取操作。下面我们先简单回顾一下KPConv的方法。 以矩阵形式表示给定的一组点662b244a-69f2-11ed-8abf-dac502259ad0.png和一组特征663860c4-69f2-11ed-8abf-dac502259ad0.png,令xi和fi分别表示中的第i个点及其在6643704a-69f2-11ed-8abf-dac502259ad0.png中相应的特征。定义在核g上的x点的卷积为 66529c5a-69f2-11ed-8abf-dac502259ad0.png 其中66668d5a-69f2-11ed-8abf-dac502259ad0.png是x点的半径邻域,xi是该邻域的支撑点。核函数定义为 66739dd8-69f2-11ed-8abf-dac502259ad0.png 其中 是核点66885caa-69f2-11ed-8abf-dac502259ad0.png和支持点之间的相关性函数,669ac8cc-69f2-11ed-8abf-dac502259ad0.png是核点66885caa-69f2-11ed-8abf-dac502259ad0.png 的权重矩阵,K是核点的个数。

我们建议读者参考KPConv原始论文了解更多详细信息。 KPConv的原始公式不是对点云密度不变的,因此,我们在以上公式中添加了一个密度归一化项,它总结了x附近的支持点的数量,以确保卷积是稀疏不变的的: 66c09372-69f2-11ed-8abf-dac502259ad0.png

基于归一化核点卷积,我们采用带有跨层连接和残差块的类似UNet的结构来构建全卷积网络,如图1(左)所示。 与仅支持稀疏特征描述子的基于块的方法不同,我们的网络能够在完卷积设置下执行稠密的特征描述子提取。我们网络的输出是二维矩阵66d16b0c-69f2-11ed-8abf-dac502259ad0.png形式的稠密特征图,其中c是特征向量的维度。点的描述子记为66df9de4-69f2-11ed-8abf-dac502259ad0.png66f3f0aa-69f2-11ed-8abf-dac502259ad0.png 其中67044a9a-69f2-11ed-8abf-dac502259ad0.png表示二维矩阵的第i行,特征描述子被L2归一化到单位长度。

二、稠密关键点检测

D2-Net在特征图的空间和通道维度上的局部最大值,并使用softmax来评估像素的局部最大值以检测二维图像关键点。由于图像的规则结构,他们的方法只是选择相邻像素作为邻域。为了将他们的方法扩展到 3D,这种策略可能会被半径邻域所取代,以处理点云的非均匀采样设置。

但是,半径邻域中的相邻点的数量可能会有很大差异。在这种情况下,如果我们简单地使用softmax来评估空间维度上的局部最大值,那么点较少的局部区域本来就会有更高的分数。为了解决这个问题,我们提出了一个密度不变的显著性分数来评估某个点与其局部邻域相比的显著性。给定稠密特征图66d16b0c-69f2-11ed-8abf-dac502259ad0.png,我们认为为3D响应 671f92a0-69f2-11ed-8abf-dac502259ad0.png的集合: 67341838-69f2-11ed-8abf-dac502259ad0.png 其中67489cd6-69f2-11ed-8abf-dac502259ad0.png表示二维矩阵的第 k 列。点为关键点的原则是 675aa85e-69f2-11ed-8abf-dac502259ad0.png 其中677195aa-69f2-11ed-8abf-dac502259ad0.png是xi的半径邻域。这表示 首先选择最显著的通道,然后通过它是否是该特定响应图678248aa-69f2-11ed-8abf-dac502259ad0.png上其空间局部邻域的最大值来验证。在训练期间,我们通过应用两个分数来使上述过程可微以使其可训练,如图 1(右)所示。

1.密度不变显著性得分:

该分数旨在评估一个点与其局部邻域中的其他点相比的显著性。在 D2-Net中,评估局部最大值的分数定义为xi 6792040c-69f2-11ed-8abf-dac502259ad0.png 然而,这个公式对于稀疏性不是不变的。因为分数是通过总和归一化的,这使得稀疏区域固有的比稠密区域具有更高的分数。

因此,我们设计了一个密度不变的显著性分数,如下所示: 67a401ca-69f2-11ed-8abf-dac502259ad0.png 在这个公式中,一个点的显著性分数被计算为其特征与其局部邻域的平均特征之间的差异。因此,它测量了中心点相对于局部区域中支持点的相对显著性。此外,使用平均响应代替总和可以防止分数受到邻域中点数的影响。

2.通道最大得分:

该分数旨在为每个点挑选最显著的通道: 67aecaf6-69f2-11ed-8abf-dac502259ad0.png 最后,将两个分数都考虑到最终的关键点检测得分: 67bed5ae-69f2-11ed-8abf-dac502259ad0.png 因此,在获得输入点云的关键点得分图后,我们选择得分最高的点作为关键点。

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

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

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

为了优化特征描述子提取网络,许多工作尝试使用度量学习策略,如对比损失和三元组损失。我们这里将使用对比损失,因为从我们的实验中可以发现它可以提供更好的收敛性能。至于采样策略,我们采用的是hardest in batch策略,使网络专注于最难的点对。 给定一对部分重叠的点云碎片P和Q,以及一个包括n对对应3D点的集合。假设67d343cc-69f2-11ed-8abf-dac502259ad0.png是一个对应对,对应的两点的描述子记为67e52c40-69f2-11ed-8abf-dac502259ad0.png67f5d522-69f2-11ed-8abf-dac502259ad0.png,得分记为6801616c-69f2-11ed-8abf-dac502259ad0.png68126836-69f2-11ed-8abf-dac502259ad0.png,然后将正样本对之间的距离定义为它们的描述子之间的欧几里得距离,即 682098e8-69f2-11ed-8abf-dac502259ad0.png 负样本对之间的距离被定义为: 682d5038-69f2-11ed-8abf-dac502259ad0.png 其中R是安全半径,6845ef26-69f2-11ed-8abf-dac502259ad0.png是位于真实对应安全半径之外的最难负样本。对比损失定义为 68567dfa-69f2-11ed-8abf-dac502259ad0.png 其中686d1574-69f2-11ed-8abf-dac502259ad0.png是正对的边界,687de818-69f2-11ed-8abf-dac502259ad0.png是负对的边界。

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

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

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

因此,我们设计了一个损失项来明确引导分数的梯度。从自监督的角度来看,我们使用on-the-fly特征匹配结果来评估每个对应点的判别性,这将引导每个关键点的得分的梯度传播。

如果对应点在当前描述子提取网络下可以匹配,我们希望其得分更高,反之亦然。具体来说,我们将关键点检测器损失定义为 68c67cd6-69f2-11ed-8abf-dac502259ad0.png 直观地说,如果68d6be0c-69f2-11ed-8abf-dac502259ad0.png,则表明该对应点可以使用最近邻搜索正确匹配,并且损失项将鼓励对应的两点获得的分数68e8c8ea-69f2-11ed-8abf-dac502259ad0.png68fcd164-69f2-11ed-8abf-dac502259ad0.png更高。相反,如果690cfa44-69f2-11ed-8abf-dac502259ad0.png ,则对应点的描述子不足以使它们建立对应关系,因此损失将鼓励降低其得分。








审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 检测器
    +关注

    关注

    1

    文章

    811

    浏览量

    47291
  • ETH
    ETH
    +关注

    关注

    0

    文章

    65

    浏览量

    3428
  • 卷积网络
    +关注

    关注

    0

    文章

    41

    浏览量

    2129

原文标题:什么样的点可以称为三维点云的关键点?

文章出处:【微信号:3D视觉工坊,微信公众号:3D视觉工坊】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    如何运用LabVIEW中的三维控件

    如何运用LabVIEW中的三维控件?我想将excel中的数据在LabVIEW中显示出来,显现出三维定点的效果
    发表于 05-15 16:28

    labview 利用三维空间画了一个球,然后想在球面上画几个

    labview 利用三维空间画了一个球,然后想在球面上画几个,不知道该怎么加,求助各位大牛,能不能最好把程序穿上里呀
    发表于 02-21 19:07

    labview 中怎样抓取3D球体上某三维坐标?

    鼠标点在3D球体上,能够自动输出该三维坐标。谢谢各位大牛们
    发表于 04-14 23:44

    关于三维图的问题

    请问各位大神,如何在labview做的三维图中确定鼠标的坐标,也就是鼠标每一次相应点的个坐标能显示出来。。。求各位大神帮帮忙。
    发表于 09-26 18:05

    关于三维曲面找坐标点的问题

    各位大神请问当鼠标放在三维曲面图上的时候,如何显示鼠标在这一的xyz的坐标值?如下图:中当我把鼠标放在三维图上的时候如何知道鼠标在这
    发表于 10-18 13:51

    三维散点图随扫描点数的增加自动缩放

    我在用三维散点图进行扫描成像,成像是一个一个的进行的,要求实现每增加一个的图像,整个图像都会跟着缩放,求各位大神指教!
    发表于 05-10 19:14

    精密铸造+三维扫描=机械制造完美解决方案

    精密铸造+三维扫描=机械制造完美解决方案▼摘要三维扫描解决了精密铸造领域模具和铸造件偏差检测的难题,通过激光三维扫描的方式精准地获取铸件和模具的外形三维数据,从而
    发表于 08-09 11:17

    如何快速高效的完成汽车前盖板的三维检测?

    使用的要求。二、思看解决方案:1.解决方案: 直接使用HSCAN系列手持式激光三维扫描仪获取定位三维数据,无需喷粉,扫描操作方便灵活死角小,扫描速度快。针对细节较多较复杂的区域,可以
    发表于 08-11 14:16

    三维检测汽车零件 帮助汽车性能达标

    出现在哪些位置,便于修正。(二)思看解决方案[img][/img]手持式三维扫描仪HSCAN331 全局摄影测量系统MSCAN☞ 贴标记用时30分钟☞ 扫描时间30分钟☞ 检测报告5分钟()思看
    发表于 08-21 10:48

    想用QT+OPENGL来实现一个三维云的显示,请问我该如何在虚拟机上建立我的QT环境?是否有相应的文档可以提供

    本帖最后由 一只耳朵怪 于 2018-6-21 08:59 编辑 你好,现在我这边想用QT+OPENGL来实现一个三维云的显示,请问我该如何在虚拟机上建立我的QT环境?用Qtcreator+QT源码编译成ARM版本能实
    发表于 06-21 02:05

    三维快速建模技术与三维扫描建模的应用

    `三维快速建模技术与三维扫描建模的应用随着数字化测量的发展,三维激光扫描仪能够快速地以多角度、高效、高精度方式获取物体的表面三维数据,可以
    发表于 08-07 11:14

    整车三维扫描及其零部件三维扫描解决方案

    报告,客户对这个很感兴趣。汽车整车扫描得到的数据,我们可以用来干什么?首先,我们扫描得出的数据,可以进行数据存档,便于后面需要获取这款车的三维尺寸数据;第二,对于看重汽车外形的人来说
    发表于 08-21 10:17

    想问下如果知道一个物体的三维集,labview有没有哪个部件,能够用给出的集绘制成三维图,类似3dmax的效果

    想问下如果知道一个物体的三维集,labview有没有哪个部件,能够用给出的集绘制成三维图,类似3dmax的效果如题
    发表于 07-02 18:26

    Handyscan三维扫描仪对户外大型灯箱三维扫描解决方案

    。 (此次服务使用的便携式激光三维扫描仪)来到客户的公司,简单观察此次要扫描的灯箱后,我司工程师和对方的设计师就一些扫描的细节和关键进行了再次沟通,大家意见一致,并立刻着手开工。我司这款手持式激光
    发表于 07-15 10:52

    怎样去设计一种基于RGB-D相机的三维重建无序抓取系统?

    为什么要开发一种三维重建无序抓取系统?三维重建无序抓取系统是由哪些部分组成的?三维重建无序抓取系统有哪些关键技术和创新
    发表于 07-02 06:29