PointNet++原文翻译+学习理解(上)

PointNet++是对PointNet的改进,旨在捕捉点云数据的局部结构特征。通过分层处理和多尺度特征学习,PointNet++能有效处理不均匀采样密度的点集,适用于3D点云分析。论文介绍了PointNet++的结构,包括采样层、分组层和PointNet层,以及如何通过特征传播进行点集分割。
摘要由CSDN通过智能技术生成

PointNet++原文翻译+学习理解

  PointNet++针对PointNet存在的不足做了很好的改进与创新。这里希望大家可以通过对PointNet++原文的阅读,增加对PointNet++的理解和思考。翻译过程尽量保证原汁原味。


PointNet++原文链接:https://arxiv.org/abs/1706.02413
PointNet++代码链接:https://github.com/charlesq34/pointnet2


PointNet++:在度量空间中的点集上进行深层特征学习
摘要
  以前很少有人研究深度学习在点集中的应用。PointNet是这方面的先驱。然而,PointNet并不能捕捉到由度量(metric)空间点所产生的局部结构,从而限制了它识别分类精密模型(fine-grained patterns)和对复杂场景的通用性。在PointNet++中,我们引入了一个多层次神经网络模型,该模型将PointNet循环应用于输入点集的内嵌分组的。通过度量空间距离,我们的网络能够通过增加相关尺度来学习局部特征(local features)。通过进一步观察发现点集通常以不同密度被采样,这导致在均匀密度下训练的网络的表现被大大削弱。实验表明,我们的网络PointNet++能够有效地学习深度点集的特征。特别地,在具有挑战性的3D点云基准测试(benchmarks of 3D point clouds)中获得的结果明显优于最先进(state-of-the-art)的技术。

1    引言
   我们感兴趣的是分析几何点集(欧几里得空间中点的集合)。点云是由3D扫描仪获取的一个特别重要的几何点集类型。例如,机载三维激光扫描技术。作为一个集合,这样的数据必须对其元素的排列具有不变性。此外,距离度量定义了可能显示不同属性的局部特征。例如,点的密度或其他属性在不同的位置上可能不一致——在三维扫描中,密度变化可以来自透视效果、径向密度变化、移动等。
  以前很少有人研究深度学习在点集中的应用。PointNet是这方面的先驱。PointNet的基本思想是学习每个点的空间编码,然后将所有单个点特征(point features)聚合到点云的全局特征( global point cloud signature)中。由于这样的设计,PointNet没有捕获到由度量(metric)引起的局部结构特征。然而,局部结构特征对于卷积架构(CNN)的成功与否至关重要。CNN将常规2D网格上定义的数据作为输入,并能够在多分辨率层次上以越来越大的尺度上逐步捕获特征。较低层的神经元接受域较小,而较高层的神经元接受域较大。这种沿着多层结构逐步抽象局部特征的能力使得CNN允许对深层不可见的特征有更好的概括性。
  我们引入了一个多层神经网络,称为PointNet++,以分层方式处理在度量空间中采样的每一组点。PointNet++的基本思想很简单。首先,我们用基础空间的距离度量将点集划分为重叠的局部区域。与CNN相似,我们从小区域内提取点云得局部特征,捕捉精细的几何结构;这些局部特征被进一步分组成更大的单元,并被处理用来产生更高级别的特征。重复这个过程直到我们得到整个点集的特征。
  PointNet++必须解决两个问题:如何对数据集进行分割,以及如何通过局部特征学习模块来抽象点集或局部特征集这两个问题它们是密切相关的,因为点集的分割必然会产生跨越区域间的公共结构部分,这样局部特征学习模块的权重就可以共享,就像卷积设置一样。我们选择局部特征学习模块作为切入点。PointNet是一种有效的结构体系,可以用于处理用于语义特征提取的无序点集。此外,该结构对于输入数据具有很强的提取能力。作为一个基本的构建块,PointNet将点集或局部特性集抽象为更高级别的表示。如下图所示,PointNet++递归地在输入集的嵌套分区上应用PointNet。
  如何生成点集的重叠分区这个问题依然存在。每个分区被定义为底层欧式空间中的一个邻居球,其参数包括质心位置和体积大小。为了均匀地覆盖整个集合,在输入点集之间使用最远点采样(FPS)算法对中心进行检测。与以固定步长扫描2D图像的CNN相比,我们的局部接受域既依赖于输入数据,也依赖于度量元素,因此更加高效。

  然而,由于特征尺度的不确定和输入点集的不均匀性,选择合适的局部邻域球尺度是一个更有挑战性但又耐人寻味的问题。这在结构传感器扫描等真实数据中很常见(如图一),因此我们的输入点集与CNN输入有很大的不同,CNN输入可以看作是在均匀恒定密度的规则网格上定义的数据。在CNNs中,与局部分区范围对应的是内核的大小。相关学者指出,使用更小的内核有助于提高CNNs的能力。然而,我们对点集数据的实验却为这一规则提供了相反的论证。由于抽样点不足,小邻域可能包含的点太少,这可能不足以使切入点能够充分地获取特征。
  本文的一个重要贡献是,PointNet+在多个尺度上利用邻近球法,以实现健壮性和细节捕获。在训练过程中对训练数据辅以随机弃权,网络学习将自适应检测到不同尺度的权重模式,并根据输入数据结合多尺度特征。实验表明,我们的PointNet+能够高效、健壮地处理点集。特别地,在具有挑战性的3D点云基准测试中获得了明显优于最先进水平的结果。
  
2    问题阐述
  假设 x = ( M , d ) x=(M,d) x=(M,d)是一个离散度量空间的度量,存在于欧式空间 R n R^n Rn中,其中 M ⊆ R n M⊆R^n MRn是点集, d d d是距离度量。此外,欧几里德空间中 M M M周围区域的密度可能不是处处均匀的。我们感兴趣的是集合学习函数 f f f,它以 x x x作为输入(以及每个点的附加属性),并生成语义特征来重新评估 x x x的信息。实际上, f f f可以理解为给 X X X分配标签的分类函数,也可以是给 M M M中的每个元素分配每个点标签的分割函数。
  
3    方法
   我们的工作可以看作是PointNet的扩展,添加了层次结构。首先回顾了PointNet(3.1小节),然后介绍了具有层次结构的PointNet的基本扩展(3.2小节)。最后,我们提出了我们的PointNet++,它能够在非均匀采样点集(3.3小节)中很好地学习特征。
3.1   PointNet[20]的概述:一种通用的连续数集函数拟合器
给定一个无序点集{ x 1 , x 2 , … x n x_1, x_2,…x_n x1,x2xn}其中 x i ∈ R n x_i∈R^n xiRn ,可以定义一组函数 f : x → R f:x→R f:xR将一组点映射到一个向量上:
        
  

  • 16
    点赞
  • 74
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值