PointNET++:度量空间中点集的深层层次特征学习

时间:2024-05-23 22:09:27

原文名称:PointNet++: Deep Hierarchical Feature Learning on Point Sets in a Metric Space

原文地址:http://cn.arxiv.org/abs/1706.02413

摘要

很少有以前的作品研究深入学习点集。pointnet[ 20 ]是这个方向的先驱。然而,通过设计,PointNet没有捕获度量空间点所处的局部结构,限制了它识别细粒度模式的能力和对复杂场景的通用性。在本文中,我们介绍一种递归地将点网应用于输入点集的嵌套分区的分层神经网络。通过利用度量空间距离,我们的网络能够学习局部特征随着上下文尺度的增加。通过进一步观察,点集通常以不同的密度进行采样,这大大降低了在均匀密度上训练的网络的性能,我们提出了新的集学习层来自适应地组合来自多个尺度的特征。实验表明,我们的网络称为pointnet++,能够高效、稳健地学习深层点集特征。特别是,在3D点云的挑战性基准上获得了显著优于现有技术的结果。

1引言

我们感兴趣的是分析几何点集,这是欧氏空间中的点集合。一种特别重要的几何点集类型是由3D扫描仪捕获的点云,例如从适当装备的自治车辆捕获的。作为集合,这样的数据必须对其成员的排列是不变的。此外,距离度量定义了可能表现出不同性质的局部邻域。例如,不同位置的点的密度和其他属性可能不是一致的——在3D扫描中,密度变化可能来自透视效果、径向密度变化、运动等。

很少有以前的作品研究深入学习点集。pointnet[ 20 ]是直接处理点集的开拓性努力。pointnet的基本思想是学习的空间编码每一点然后聚集所有个体特征点向全部的点云的签名。通过它的设计,PointNet不捕获度量所诱导的局部结构。然而,利用局部结构已被证明是重要的卷积架构的成功。CNN以规则网格上定义为输入数据并能逐步捕捉功能在越来越大的尺度上多分辨率层次。在较低水平,神经元具有较小的感受空间,而在较高的水平上,它们具有更大的感受空间。抽象的局部模式沿着层次结构的能力允许更好的泛化到看不见的情况。

我们介绍一个层次的神经网络,命名为pointnet + +,处理一组采样点在度量空间在一个分层的方式。pointnet++的一般思想很简单。我们首先通过基础空间的距离度量将点集划分成重叠的局部区域。类似CNN,我们提取局部特征的区域捕捉精细的几何结构;局部特征进一步组合成较大的单位处理,产生更高层次的功能。这个过程被重复,直到我们获得整个点集的特征。

PointNET++:度量空间中点集的深层层次特征学习

对pointnet C++的设计要解决的两个问题:如何生成点集的划分,以及如何通过局部特征学习点或局部特征特征点集。这两个问题相关,因为点集的划分有生产普通结构跨分区,使权重的局部特征的学习者可以共享,如卷积的设置。我们选择本地学习者为点网。在这项工作中证明,PointNet是处理一个无序的语义特征点提取的有效结构。此外,该体系结构对输入数据损坏具有鲁棒性。PositNETA作为一个基本的构建块,将局部点或特征集抽象为更高层次的表示。在这个视图中,PointNET++在输入集的嵌套分区上递归地应用pointnet++。

仍然存在的一个问题是如何生成点集的重叠分区。每个分区被定义为底层欧氏空间中的邻域球,其参数包括质心位置和尺度。为了均匀覆盖整个集合,通过最远点采样(FPS)算法在输入点之间选择质心。与固定步长扫描空间的体积CNN相比,我们的局部感受野依赖于输入数据和度量,因此更加有效和有效。

决定局部邻域的范围,适当的规模,是一个更具挑战性的但耐人寻味的问题,由于纠缠的特征尺度和不均匀输入点集。我们假设输入的点集可以在不同的领域有变密度,这在实际的数据如结构传感器扫描[ 18 ]是很常见的(见图一)。我们的输入点集是从美国有线电视新闻网输入可看作是均匀恒定的密度定义的规则网格数据非常不同。在CNNs,与局部分区规模相对应的是内核的大小。〔25〕表明,使用较小的核有助于提高CNNs的能力。然而,我们对点集数据的实验为这一规则提供了相反的证据。小邻居可能是太少点由于采样不足,这可能不足以让pointnets捕捉模式稳健。

本文的重要贡献是pointnet+ +利用社区的多尺度实现鲁棒性和细节的捕捉辅助随机输入差在培训过程中,网络学习自适应加权模式检测到在不同的尺度和根据输入的数据相结合的多尺度特征。实验表明,我们的pointnet ++能够高效、稳健地处理点集。特别是,结果明显优于国家的最先进的已具有挑战性的三维点云数据的基准测试。

2 问题陈述

假设X=(M,d)是一个离散的度量空间,它的度量是从欧几里德空间Rn继承而来的,其中M_Rn是点的集合,d是距离度量。此外,环境欧氏空间中的M的密度可能不是均匀的处处。我们感兴趣的是学习集函数f,它以X作为输入(以及每个点的附加特征)并产生语义兴趣重新划分X的信息。在实践中,这样的f可以是将标签分配给X的分类函数或将每点标签分配给M的每个成员的分段函数。

3方法

我们的工作可以看作是具有层次结构的pointnet[ 20 ]的扩展。首先回顾了pointnet(3.1节),然后介绍了具有层次结构的PooTNET的基本扩展(3.2 节)。最后,我们提出我们的pointnet ++,即使在非均匀采样点集3.3中,也能够鲁棒地学习特征。

3.1 pointnet[ 20 ]的回顾:一个通用的连续集函数逼近器

给定一个无序点集{x1,x2,…,xn},用Xi×RD,可以定义一个集合函数f:x~r,它将一组点映射到向量:

PointNET++:度量空间中点集的深层层次特征学习

PointNET++:度量空间中点集的深层层次特征学习

其中γ和H通常是多层感知器(MLP)网络

等式1中的集函数f对输入点置换是不变的,并且可以任意逼近任何连续集函数[20]。注意,H的响应可以被解释为点的空间编码(详情见[ 20 ])。

pointnet在一些基准上取得了令人印象深刻的性能。然而,它缺乏捕捉不同尺度下的局部上下文的能力。我们将在下一节中介绍一个分层的特征学习框架来解决这一局限性。

3.2层次点集特征学习

当PointNet使用单个最大池操作来聚集整个点集时,我们的新体系结构构建一个点的分层分组,并沿着分层逐步抽象越来越大的局部区域。

我们的层次结构由多个集合抽象层组成(图2)。在每个层次上,处理和抽象一组点以产生具有较少元素的新集合。集合抽象层由三个关键层组成:采样层、分组层和点网层。采样层从输入点选择一组点,这些点定义局部区域的质心。分组层通过找到质心周围的“相邻”点来构造局部区域集合。pointnet层使用一个微型点网将局部区域模式编码成特征向量。

集合抽象级采用n×(d+c)矩阵作为输入,由n个点与d个模糊坐标和c点特征相结合。它输出一个N0×(D+C0)矩阵的N0次采样点的D-坐标和新的C0DIM特征向量总结局部上下文。我们在下面的段落中介绍一组抽象层次。

采样层。给定输入点{x1,x2,...,xn},我们使用迭代最远点采样(FPS)来选择点{xi1,xi2,...,.}的子集,使得xij是相对于其余点{xi1,xi2,...,xijj 1}的距离集{xi1,xi2,...,xijj 1}的最远点。与随机抽样相比,在给定相同质心数的情况下,它对整个点集具有更好的覆盖范围。与扫描矢量空间而不知数据分布的CNN相比,我们的采样策略以数据依赖的方式生成接收字段。

分组层。该层的输入是大小为N×(d+C)的点集和大小为N0×d的质心的坐标,输出是大小为N0×K×(d+C)的点集组,其中每个组对应于一个局部区域,K是质心点邻域中的点数。注意,K在组之间变化,但是后续的点网层能够将灵活数目的点转换为固定长度的局部区域特征向量。

在卷积神经网络中,像素的局部区域由具有在像素的特定曼哈顿距离(核大小)内的阵列索引的像素组成。在度量空间中采样的点集中,点的邻域由度量距离定义。

球查询发现在查询点的半径内的所有点(在实现中设置K的上限)。另一个范围查询是K近邻(KNN)搜索,它找到固定数量的相邻点。与KNN相比,球查询的局部邻域保证

固定的区域尺度,从而使得局部区域特征在空间上更通用,这对于需要局部模式识别(例如,语义点标记)的任务是优选的。

点网层。在这一层中,输入是数据大小n0×k×(d+c)的点的n0局部区域。输出中的每个局部区域通过其质心和局部特征来编码,从而对质心的邻域进行编码。输出数据大小为n0×(d+c0)。

局部区域中的点坐标首先被转换成相对于质心点的局部帧:Xi(j)=Xi(j)-x(j),对于i=1, 2,…,k和j=1, 2,…,d,其中x是质心的坐标。我们使用PoStNET[ 20 ],如SEC中所描述的。3.1作为局部模式学习的基本构建块。通过使用相对坐标和点特征,我们可以捕获局部区域中的点对点关系。

3.3非均匀采样密度下的鲁棒特征学习

如前面所讨论的,点集在不同区域中具有不均匀密度是常见的。这种非均匀性引入了点集特征学习的一个重大挑战。在密集数据中学习的特征可能不推广到稀疏采样区域。因此,训练稀疏点云模型可能无法识别细粒度的局部结构。

理想情况下,我们希望尽可能紧密地检查一个点集,以在密集采样区域捕获最精细的细节。然而,在低密度地区禁止这种密切检查,因为局部图案可能被抽样不足所破坏。在这种情况下,我们应该在更大的范围内寻找更大的模式。为了实现这个目标,我们提出了密度自适应点网层(图3),当输入采样密度改变时,它们学习组合来自不同尺度区域的特征。我们把我们的分层网络称为PositNET++的密度自适应点网层。

以前在3.2节,每个抽象级包含单个尺度的分组和特征提取。在PointNet++中,每个抽象层提取多个尺度的局部模式,并根据局部点密度智能地组合它们。根据局部区域的分组和来自不同尺度的特征组合,我们提出了两种类型的密度自适应层,如下所示。

PointNET++:度量空间中点集的深层层次特征学习

多尺度分组(MSG)。如图3(a)所示,捕获多尺度模式的简单而有效的方法是应用具有不同尺度的分组层,然后根据点网提取每个尺度的特征。在不同尺度上的特征被级联以形成多尺度特征。

我们训练网络学习一个优化的策略来组合多尺度特征。这是通过随机丢弃每个实例具有随机概率的输入点来实现的,我们称之为随机输入丢弃。具体而言,对于每个训练点集,我们选择从[0,p]均匀采样的辍学率Th,其中p小于1。对于每个点,我们随机丢弃一个点的概率Th。在实践中,我们设置P=0.95以避免产生空点集。在这样做时,我们提出了具有各种稀疏性(由θ诱导)和不同均匀性(由辍学随机性诱导)的训练集的网络。在测试过程中,我们保持所有可用的点。

多分辨率分组(MRG)。上面的MSG方法在计算上是昂贵的,因为它在每个质心点的大规模邻域运行本地PointNet。特别地,由于质心点的数量通常在最低水平上相当大,所以时间成本是显著的。

这里,我们提出了一种替代方法,它避免了这种昂贵的计算,但是仍然保留了根据点的分布特性自适应地聚集信息的能力。在图3(b)中,某些级别李的区域的特征是两个向量的级联。通过使用集合抽象级别对来自下级Lii1的每个子区域的特征进行总结,得到一个向量(图中左侧)。另一个向量(右)是通过使用单个PointNet直接处理局部区域中的所有原始点而获得的特征

当局部区域的密度较低时,第一向量可能比第二向量更不可靠,因为计算第一向量的子区域包含甚至更稀疏的点,并且遭受更多的采样不足。在这种情况下,第二向量应该被加权得更高。另一方面,当局部区域的密度高时,第一向量提供更精细的细节信息,因为它具有在较低级别递归地以较高分辨率进行检查的能力。

与MSG相比,该方法避免了在最低层次上进行大规模邻域特征提取,计算效率更高。

3.3 集分割的点特征传播

在集合抽象层中,对原始点集进行二次采样。然而,在集合分割任务,如语义点标记,我们要获得点特征为所有的原始点。一种解决方案是在所有集合抽象层中总是将所有点作为质心进行采样,但这会导致较高的计算成本。另一种方法是将特征从子采样点传播到原始点。

我们采用具有距离的插值和跨级跳过链路的分层传播策略(如图2所示)。在特征传播层中,我们将点特征从Nl×(d+C)点传播到Nll1点,其中Nll1和Nl(Nl≤Nll1)是集合抽象层l的输入和输出的点集大小。f nLL1点。在许多插值的选择中,我们使用基于k个最近邻的逆距离加权平均(如等式2,默认情况下我们使用p=2,k=3)。然后将NLL1点上的插值特征与从集合抽象级别的跳过链接点特征连接起来。然后级联的特征通过一个“单位点网”,它类似于CNNs中的一个一个卷积。应用几个共享的完全连接和Relu层来更新每个点的特征向量。重复这个过程直到我们把特征传播到原来的一组点。

PointNET++:度量空间中点集的深层层次特征学习

4 实验

我们在四个数据集上进行评估,范围从2D对象(MNIST[11])、3D对象(ModelNet40[31]刚性对象、SHREC15[12]非刚性对象)到真实3D场景(ScanNet[5])。目标分类是通过精度来评估的。语义场景标注通过平均体素分类精度评估[5 ]。下面我们列出每个数据集的实验设置:

MNIST:具有60K训练和10K测试样本的手写数字图像。

modelnet40: 40种类型的CAD模型(主要是人造的)。我们使用官方分裂9843个形状的培训和2468的测试。

SHREC15:50种类型的1200种形状。每个类别包含24个形状,这些形状大多是具有各种姿势的有机形状,如马、猫等。我们使用五次交叉验证来获得数据集上的分类精度。

scannet:1513个扫描和重建的室内场景。我们在[5 ]中进行实验设置,使用1201个场景进行训练,312个场景进行测试。

4.1 欧氏度量空间中的点集分类

我们评估我们的网络分类点云从2D(MNIST)和3D(MODLUNET40)欧几里得空间采样。MNIST图像被转换为2D点云的数字像素位置。从模型NET40形状的网格表面采样3D点云。默认情况下,我们使用512点MNIST和1024点为MODENET40。在表2中的最后一行(我们的法线)中,我们使用面部法线作为额外的点特征,其中我们还使用更多的点(N=5000)来进一步提高性能。所有的点集被归一化为零均值,并且在单位球内。我们使用具有三个完全连接的层1的三级分层网络。

结果。在表1和表2中,我们将我们的方法与具有代表性的先前艺术状态集进行比较。注意,表2中的pointNe是[20]中没有使用转换网络的版本,这等价于我们的仅具有一个级别的分层网络。

PointNET++:度量空间中点集的深层层次特征学习

首先,我们的分层学习架构获得了比非分层PointNet更好的性能[20]。在MNIST中,我们看到从PointNet(vanilla)和PointNETs减少相对60.8%和34.6%的错误率到我们的方法。在ModelNet40分类中,我们还看到,使用相同的输入数据大小(1024个点)和特征(仅是坐标),我们的分类明显强于PointNet.其次,我们观察到,基于点集的方法甚至可以实现更好或类似的性能成熟的图像CNNs。在MNIST,我们的方法(基于2D点集)实现了接近网络美国有线电视新闻网的精度。在MODENET40中,我们的正常信息显著优于先前的最先进的方法MVCNN〔26〕。

采样密度变化的稳健性。直接从真实世界捕获的传感器数据通常遭受严重的不规则采样问题(图1)。该方法选择多个尺度的点邻域,通过适当加权来平衡描述性和鲁棒性。

我们在测试期间随机丢弃点(参见图4左),以验证我们的网络对非均匀和稀疏数据的鲁棒性。在图4右边,我们看到MSG+DP(在训练期间具有随机输入丢失的多尺度分组)和MRG+DP(在训练期间具有随机输入丢失的多分辨率分组)对采样密度变化非常稳健。MSG+DP性能从1024到256个测试点下降不到1%。此外,它实现了几乎所有的采样密度与替代方案相比的最佳性能。点网香草(20)由于其专注于全局抽象而非精细细节而在密度变化下相当稳健。然而,细节损失也使得它比我们的方法更不强大。SSG(ablated PointNet++,每个级别为单尺度分组)不能推广到稀疏采样密度,而SSG+DP通过在训练时间随机丢弃点来修正这个问题。

4.2 语义场景标注的点集分割

为了验证我们的方法适用于大规模的点云分析,我们还评估语义场景标签任务。其目的是预测室内扫描中的点的语义对象标签。〔5〕提供了一种基于完全卷积神经网络的Voelelistic扫描基线。

它们纯粹依赖于扫描几何而不是RGB信息,并以每体素为基础报告精度。为了进行公平的比较,我们在所有的实验中去除了RGB信息,并将点云标签预测转换为体素标签。我们还与[20 ]进行了比较。在图5(蓝色条)上以每体素为基础报告精度。

我们的方法大大优于所有基线方法。与体素化扫描学习的[5]相比,我们直接在点云上学习以避免额外的量化误差和进行依赖于数据的采样,从而允许更有效的学习。与〔20〕相比,我们引入了分层特征学习,并在不同的尺度上捕获几何特征。

这对于理解多个层次的场景并标记具有不同大小的对象非常重要。我们在图6中可视化示例场景标记结果。

PointNET++:度量空间中点集的深层层次特征学习

为了测试我们的训练模型如何在非均匀采样密度的扫描上执行,我们合成类似于图1的扫描场景的虚拟扫描,并根据该数据评估我们的网络。我们参考读者的补充材料,我们如何产生虚拟扫描。我们评估我们的框架在三个设置(SSG,MSG+DP,MRG+DP),并与基线方法(20)进行比较。

性能比较如图5所示(黄条)。我们看到,SSG性能大大下降,由于采样密度从均匀点云转移到几乎扫描场景。另一方面,由于MRG网络能够在采样稀疏时自动切换到描述较粗粒度的特征,因此它对采样密度漂移具有更强的鲁棒性。尽管训练数据(随机丢弃的均匀点)和扫描数据之间存在着域差,但是相比较而言,我们的MSG网络仅受到轻微的影响,并且获得了最好的精度。这证明了我们的密度自适应层设计的有效性。

4.3非欧几里得度量空间中的点集分类

在这一节中,我们展示了我们的方法对非欧几里得空间的推广。在非刚性形状分类(图7)中,一个好的分类器应该能够将图7中的(a)和(c)正确地分类为同一类别,即使给定它们在姿态上的差异,这需要了解内在结构。SReC15中的形状是嵌入在3D空间中的2D表面。沿表面的测地线距离自然地诱导度量空间。通过实验证明,在该度量空间中采用PointNet++是获取底层点集内部结构的有效方法。

PointNET++:度量空间中点集的深层层次特征学习

对于〔12〕中的每个形状,我们首先构造成对测地线距离所诱导的度量空间。我们遵循〔23〕获得一个模拟测地线距离的嵌入度量。接下来,我们提取这个度量空间中的内点特征,包括WKS[1]、HKS[27]和多尺度高斯曲率[16]。我们使用这些特征作为输入,然后根据基础度量空间样本和分组点。通过这种方式,我们的网络学习捕捉不受特定形状姿态影响的多尺度内在结构。可选的设计选择包括使用XY Z坐标作为点特征或使用欧几里德空间R3作为底层度量空间。下面我们展示这些不是最佳选择。

PointNET++:度量空间中点集的深层层次特征学习

结果  我们将我们的方法与先前的最先进的方法〔14〕在表3中进行比较。_14_提取测地线矩作为形状特征,并利用叠加稀疏自编码器对这些特征进行消化,从而预测形状类别。我们使用非欧几里德度量空间和内在特征的方法在所有设置中都获得了最佳性能,并且大大优于[14]。

比较我们的方法的第一和第二设置,我们看到内在特征是非常重要的非刚性形状分类。XY-Z特征不能揭示内禀结构,受姿态变化影响较大。比较我们的方法的第二和第三设置,我们看到使用测地邻域与Euclidean邻域相比是有益的。欧几里得邻域可能包括远离表面的点,并且当形状提供非刚性变形时,该邻域可以显著改变。这带来了有效的权重共享的困难,因为局部结构可能变得组合复杂。另一方面,曲面上的测地邻域消除了这一问题,提高了学习效果。

PointNET++:度量空间中点集的深层层次特征学习

4.4特征可视化。

PointNET++:度量空间中点集的深层层次特征学习

在图8中,我们可视化了我们的层次网络的第一级内核所学到的东西。我们在空间中创建了一个体素网格,并聚集了局部点集,这些点集**了网格单元中最多的某些神经元(使用了最高100个示例)。高投票率的网格单元被保持并转换回3D点云,这代表了神经元识别的模式。由于模型是在ModelNet40上训练的,而ModelNet40主要由家具组成,因此在可视化中我们可以看到平面、双平面、线、角等结构。

5 相关工作

分层特征学习的思想是非常成功的。在所有的学习模型中,卷积神经网络(10, 25, 8)是最突出的学习模型之一。然而,卷积不适用于具有距离度量的无序点集,这是我们工作的重点。

最近的一些著作〔20, 28〕研究了如何将深层学习应用到无序集。他们忽略了基础距离度量,即使点集确实拥有一个。因此,它们不能捕获点的局部上下文,并且对全局集翻译和归一化敏感。在本工作中,我们针对从度量空间采样的点,通过在设计中显式地考虑底层距离度量来解决这些问题。

度量空间中的点采样通常是嘈杂的,并且具有不均匀的采样密度。这影响了有效点特征提取,并导致学习困难。关键问题之一是选择合适的尺度点特征设计。先前,在几何处理社区或摄影测量和遥感社区中,已经针对这个[19、17、2、6、7、30]开发了几种方法。与所有这些工作相比,我们的方法学习以端到端的方式提取点特征和平衡多个特征尺度。

在3D度量空间中,除了点集之外,还有几种用于深度学习的流行表示,包括体网格[21,22,29]和几何图[3,15,33]。然而,在这些作品中,已经明确地考虑了非均匀采样密度的问题。

6结论

在这项工作中,我们提出PointNET++,一个强大的神经网络架构,用于处理在度量空间中采样的点集。PointNet++递归地作用于输入点集的嵌套分区,并且在学习关于距离度量的分层特征方面是有效的。为了解决非均匀点采样问题,我们提出了两种新的集合抽象层,它们根据局部点密度智能地聚集多尺度信息。这些贡献使我们能够在挑战性的3D点云基准上实现最先进的性能。

在未来,如何通过共享每个局部区域的更多计算来加速我们提出的网络的推理速度,特别是对于MSG和MRG层,这是值得思考的。同样有趣的是在高维度量空间中寻找应用,其中基于CNN的方法在计算上是不可行的,而我们的方法可以很好地扩展。

References
[1] M. Aubry, U. Schlickewei, and D. Cremers. The wave kernel signature: A quantum mechanical approach to shape analysis. In Computer Vision Workshops (ICCV Workshops), 2011 IEEE International Conference on, pages 1626–1633. IEEE, 2011.
[2] D. Belton and D. D. Lichti. Classification and segmentation of terrestrial laser scanner point clouds using local variance information. Iaprs, Xxxvi, 5:44–49, 2006.
[3] J. Bruna, W. Zaremba, A. Szlam, and Y. LeCun. Spectral networks and locally connected networks on graphs. arXiv preprint arXiv:1312.6203, 2013.
[4] A. X. Chang, T. Funkhouser, L. Guibas, P. Hanrahan, Q. Huang, Z. Li, S. Savarese, M. Savva, S. Song, H. Su, J. Xiao, L. Yi, and F. Yu. ShapeNet: An Information-Rich 3D Model Repository. Technical Report arXiv:1512.03012 [cs.GR], 2015.
[5] A. Dai, A. X. Chang, M. Savva, M. Halber, T. Funkhouser, and M. Nießner. Scannet: Richly-annotated 3d reconstructions of indoor scenes. arXiv preprint arXiv:1702.04405, 2017.
[6] J. Demantké, C. Mallet, N. David, and B. Vallet. Dimensionality based scale selection in 3d lidar point clouds. The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, 38(Part 5):W12, 2011.
[7] A. Gressin, C. Mallet, J. Demantké, and N. David. Towards 3d lidar point cloud registration improvement using optimal neighborhood knowledge. ISPRS journal of photogrammetry and remote sensing, 79:240– 251, 2013.
[8] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 770–778, 2016.
[9] D. Kingma and J. Ba. Adam: A method for stochastic optimization. arXiv preprint arXiv:1412.6980.
[10] A. Krizhevsky, I. Sutskever, and G. E. Hinton. Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems, pages 1097–1105, 2012.
[11] Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner. Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86(11):2278–2324, 1998.
[12] Z. Lian, J. Zhang, S. Choi, H. ElNaghy, J. El-Sana, T. Furuya, A. Giachetti, R. A. Guler, L. Lai, C. Li, H. Li, F. A. Limberger, R. Martin, R. U. Nakanishi, A. P. Neto, L. G. Nonato, R. Ohbuchi, K. Pevzner, D. Pickup, P. Rosin, A. Sharf, L. Sun, X. Sun, S. Tari, G. Unal, and R. C. Wilson. Non-rigid 3D Shape Retrieval. In I. Pratikakis, M. Spagnuolo, T. Theoharis, L. V. Gool, and R. Veltkamp, editors, Eurographics Workshop on 3D Object Retrieval. The Eurographics Association, 2015.
[13] M. Lin, Q. Chen, and S. Yan. Network in network. arXiv preprint arXiv:1312.4400, 2013.
[14] L. Luciano and A. B. Hamza. Deep learning with geodesic moments for 3d shape classification. Pattern Recognition Letters, 2017.
[15] J. Masci, D. Boscaini, M. Bronstein, and P. Vandergheynst. Geodesic convolutional neural networks on riemannian manifolds. In Proceedings of the IEEE International Conference on Computer Vision Workshops, pages 37–45, 2015.
[16] M. Meyer, M. Desbrun, P. Schröder, A. H. Barr, et al. Discrete differential-geometry operators for triangulated 2-manifolds. Visualization and mathematics, 3(2):52–58, 2002.
[17] N. J. MITRA, A. NGUYEN, and L. GUIBAS. Estimating surface normals in noisy point cloud data. International Journal of Computational Geometry & Applications, 14(04n05):261–276, 2004.
[18] I. Occipital. Structure sensor-3d scanning, augmented reality, and more for mobile devices, 2016.
[19] M. Pauly, L. P. Kobbelt, and M. Gross. Point-based multiscale surface representation. ACM Transactionson Graphics (TOG), 25(2):177–193, 2006.
[20] C. R. Qi, H. Su, K. Mo, and L. J. Guibas. Pointnet: Deep learning on point sets for 3d classification and segmentation. arXiv preprint arXiv:1612.00593, 2016.
[21] C. R. Qi, H. Su, M. Nießner, A. Dai, M. Yan, and L. Guibas. Volumetric and multi-view cnns for object classification on 3d data. In Proc. Computer Vision and Pattern Recognition (CVPR), IEEE, 2016.
[22] G. Riegler, A. O. Ulusoys, and A. Geiger. Octnet: Learning deep 3d representations at high resolutions. arXiv preprint arXiv:1611.05009, 2016.
[23] R. M. Rustamov, Y. Lipman, and T. Funkhouser. Interior distance using barycentric coordinates. In Computer Graphics Forum, volume 28, pages 1279–1288. Wiley Online Library, 2009.
[24] P. Y. Simard, D. Steinkraus, and J. C. Platt. Best practices for convolutional neural networks applied to visual document analysis. In ICDAR, volume 3, pages 958–962, 2003.
[25] K. Simonyan and A. Zisserman. Very deep convolutional networks for large-scale image recognition. arXiv preprint arXiv:1409.1556, 2014.
[26] H. Su, S. Maji, E. Kalogerakis, and E. G. Learned-Miller. Multi-view convolutional neural networks for 3d shape recognition. In Proc. ICCV, to appear, 2015.
[27] J. Sun, M. Ovsjanikov, and L. Guibas. A concise and provably informative multi-scale signature based on heat diffusion. In Computer graphics forum, volume 28, pages 1383–1392. Wiley Online Library, 2009.
[28] O. Vinyals, S. Bengio, and M. Kudlur. Order matters: Sequence to sequence for sets. arXiv preprint arXiv:1511.06391, 2015. 9
[29] P.-S. WANG, Y. LIU, Y.-X. GUO, C.-Y. SUN, and X. TONG. O-cnn: Octree-based convolutional neural networks for 3d shape analysis. 2017.
[30] M. Weinmann, B. Jutzi, S. Hinz, and C. Mallet. Semantic point cloud interpretation based on optimal neighborhoods, relevant features and efficient classifiers. ISPRS Journal of Photogrammetry and Remote Sensing, 105:286–304, 2015.
[31] Z. Wu, S. Song, A. Khosla, F. Yu, L. Zhang, X. Tang, and J. Xiao. 3d shapenets: A deep representation for volumetric shapes. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 1912–1920, 2015.
[32] L. Yi, V. G. Kim, D. Ceylan, I.-C. Shen, M. Yan, H. Su, C. Lu, Q. Huang, A. Sheffer, and L. Guibas. A scalable active framework for region annotation in 3d shape collections. SIGGRAPH Asia, 2016.
[33] L. Yi, H. Su, X. Guo, and L. Guibas. Syncspeccnn: Synchronized spectral cnn for 3d shape segmentation. arXiv preprint arXiv:1612.00606, 2016

补充的

概述

本文的补充材料提供了更多关于实验的细节,并且包括更多的实验来验证和分析我们提出的方法。

在Sec B中,我们主要提供了用于实验的具体网络体系结构,并描述了数据准备和训练的细节。在Sec C中,我们展示了更多的实验结果,包括零件分割和邻域查询分析的基准性能、对采样随机性的敏感性和时空复杂性。

B 实验细节

体系结构协议。我们使用下面的符号来描述我们的网络体系结构。

SA(K,r,[l1,…,ld])是使用具有宽度li(i=1,…,d)的d个全连通层的PointNet的具有球半径r的K个局部区域的集合抽象(SA)级别。SA([L1,…LD])是将集合转换为单个向量的全局集合抽象级。在多尺度设置(如MSG)中,我们使用SA(K,[r(1),…,r(m)],[l(1)1,…,l(1)d],…,[l(m)1,…,l(m)d])来表示具有m尺度的MSG。FC(L,DP)代表一个完全连接的层,宽度L和辍学率DP。FP(L1,…,LD)是具有完全连通层的特征传播(FP)能级。它用于更新从插值和跳过链接链接的特征。除了最后的分数预测层之外,所有完全连接的层接着是批量归一化和Relu。

B.1网络体系结构

对于所有分类实验,我们使用具有不同k(类别的数量)的以下体系结构(我们的SSG):

SA(512, 0.2, [64, 64, 128]) → SA(128, 0.4, [128, 128, 256]) → SA([256, 512, 1024]) → F C(512, 0.5) → F C(256, 0.5) → F C(K)

多尺度分组(MSG)网络(PointNET++)架构如下:

SA(512, [0.1, 0.2, 0.4], [[32, 32, 64], [64, 64, 128], [64, 96, 128]]) → SA(128, [0.2, 0.4, 0.8], [[64, 64, 128], [128, 128, 256], [128, 128, 256]]) → SA([256, 512, 1024]) → F C(512, 0.5) → F C(256, 0.5) → F C(K)

跨层多分辨率分组(MRG)网络体系结构使用三个分支:

Branch 1: SA(512, 0.2, [64, 64, 128]) → SA(64, 0.4, [128, 128, 256])
Branch 2: SA(512, 0.4, [64, 128, 256]) using r = 0.4 regions of original points
Branch 3: SA(64, 128, 256, 512) using all original points.
Branch 4: SA(256, 512, 1024).

分支1和分支2被连接并馈送到分支4。然后将分支3和BANCH4的输出级联并馈送到F CF C(512, 0.5) → F C(256, 0.5) → F C(K)进行分类。

语义场景标注网络(FP中最后两个完全连接层)随后退出具有下降率的层0.5):

SA(1024, 0.1, [32, 32, 64]) → SA(256, 0.2, [64, 64, 128]) →SA(64, 0.4, [128, 128, 256]) → SA(16, 0.8, [256, 256, 512]) →F P(256, 256) → F P(256, 256) → F P(256, 128) → F P(128, 128, 128, 128, K)

用于语义和部分分割的网络(FP中的最后两个完全连接的层之后是具有0.5降落比的降落层):

SA(512, 0.2, [64, 64, 128]) → SA(128, 0.4, [128, 128, 256]) → SA([256, 512, 1024]) →F P(256, 256) → F P(256, 128) → F P(128, 128, 128, 128, K)

B.2虚拟扫描生成

在这一节中,我们描述了如何产生来自扫描网络场景的非均匀采样密度的标记虚拟扫描。对于ScanNet中的每个场景,我们将相机位置设置为高于平面质心的1.5m,并在水平平面上沿8个方向均匀地旋转相机方向。在每一个方向上,我们使用大小为100px的图像平面,并将每个像素的光线从每个像素投射到场景。这给出了一种在场景中选择可见点的方法。然后,我们可以生成类似于每个测试场景的8个虚拟扫描,并且在图9中示出了一个示例。注意点样本在靠近相机的区域更密集。

PointNET++:度量空间中点集的深层层次特征学习

B.3 MNIST和MODENET40实验细节

对于MNIST图像,首先将所有像素强度归一化到范围[0,1],然后选择强度大于0.5的所有像素作为有效数字像素。然后,我们将图像中的数字像素转换为具有[[1,1]内的坐标的2D点云,其中图像中心是原点。增广点被创建来添加设置为固定基数的点(在我们的情况下为512)。我们抖动初始点云(使用高斯分布N(0,0.01)的随机平移并剪辑到0.03)来生成增强点。对于MODENET40,我们基于人脸区域从CAD模型表面均匀地采样N点。

对于所有的实验,我们使用亚当(9)优化器与学习率0.001的培训。对于数据增强,我们随机缩放对象,扰乱对象位置以及点样本位置。我们还遵循[21 ]为模型NET40数据增强的随机旋转对象。我们使用TunSoFrand和GTX 1080,TITAN X进行训练。所有层都在CUDA中运行,运行GPU。我们需要大约20个小时来训练我们的模型收敛。

B.4扫描网实验细节

为了从ScanNet场景中生成训练数据,我们从初始场景中采样1.5m×1.5m×3m个立方体,然后保持立方体,其中≥2%的体素被占用,≥70%的表面体素具有有效的注释(这与[5]中的设置相同)。我们在飞行中采样这样的训练立方体,并沿着右上轴随机旋转它。增强点被添加到点集以形成固定基数(在本例中为8192)。在测试期间,我们同样将测试场景分割成更小的立方体,并首先获得立方体中每个点的标签预测,然后合并来自同一场景的所有立方体中的标签预测。如果一个点从不同的立方体得到不同的标签,我们将进行多数表决来得到最终的点标签预测。

B.5 SReC15实验细节

我们随机抽样1024个点在每个形状的培训和测试。为了生成输入的固有特征,我们分别提取100维WKS、HKS和多尺度高斯曲率,得到每个点的300维特征向量。然后进行PCA,将特征维数降为64。我们使用8维嵌入跟随[23]来模拟测地距离,它用来描述我们的非欧度量空间,同时选择点邻域。

C 更多的实验

在这一部分中,我们提供了更多的实验结果来验证和分析我们所提出的网络体系结构。

C.1语义部分分割

在[32]的设置之后,假设每个形状的类别标签已知,我们评估了零件分割任务的方法。以点云表示的形状作为输入,任务是预测每个点的零件标签。数据集包含16个类的16881个形状,总共标注了50个部分。我们使用正式列车测试分裂如下[ 4 ]。

我们将每个点与它的法线方向进行比较,以更好地描绘底层的形状。这样,我们就可以摆脱手工制作的几何特征,如在[ 32, 33 ]中所使用的。我们将我们的框架与传统的基于学习的技术[32]以及表4中的最先进的深度学习方法[20,33]进行比较。使用点(IOU)的交点作为评价度量,在所有部件类上求平均值。训练过程中交叉熵损失最小。平均而言,我们的方法达到最佳性能。与[20]相比,我们的方法在大多数类别上表现得更好,这证明了层次特征学习对于详细语义理解的重要性。注意,我们的方法可以被看作隐式地构建不同规模的邻近图,并对这些图进行操作,因此与诸如[33]之类的图CNN方法有关。由于多尺度邻域选择的灵活性以及集合运算单元的能力,与[33]相比,我们可以获得更好的性能。注意,与图卷积核相比,我们的集合运算单元简单得多,并且与[33]相比,我们不需要进行昂贵的本征分解。这使得我们的方法更适合于大规模的点云分析。

PointNET++:度量空间中点集的深层层次特征学习

C.2邻域查询:KNN vs.球查询

这里我们比较两个选项来选择一个局部邻域。在本文中,我们使用了基于半径的球查询。本文还对基于kNN的邻域搜索进行了实验,并对不同的搜索半径和k值进行了测试。使用1024个点。如表5所示,基于半径的球查询略优于基于KNN的方法。然而,我们推测在非常不均匀的点集,基于KNN的查询将导致更差的泛化能力。我们还观察到,稍微大的半径有助于性能,可能是因为它捕获更丰富的局部模式。

PointNET++:度量空间中点集的深层层次特征学习

C.3、最远抽样随机性的影响

对于我们的集合抽象层中的采样层,我们使用最远点采样(FPS)进行点集子采样。然而,FPS算法是随机的,并且子采样取决于首先选择哪个点。在这里,我们评估我们的模型对这种随机性的敏感性。在表6中,我们测试我们的模型在模型NET40上训练的特征稳定性和分类稳定性。

为了评估特征稳定性,我们用不同的随机种子提取所有测试样本的10次全局特征。然后,我们通过10个采样计算每个形状的平均特征。然后计算特征差与均值特征的标准差。最后,我们在表中所报告的所有特征维度上平均所有STD。由于特征在处理之前归一化为0到1,0.021差异意味着特征范数的2.1%偏差。

对于分类,我们在所有ModelNet40测试形状上只观察到0.17%的测试精度标准偏差,这对于采样随机性是稳健的。

PointNET++:度量空间中点集的深层层次特征学习

C 4.时间和空间复杂度

表7总结了基于点集的深度学习方法的时间和空间代价的比较。我们使用TunSoRoad 1.1记录一个批大小8的前向时间,并使用单个GTX1080。

第一批被忽视,因为有一些准备GPU。而PointNet(vanilla)[20]具有最好的时间效率,我们没有密度自适应层的模型以相当的速度实现了最小的模型大小。

值得注意的是,我们的MSG虽然在非均匀采样数据上具有良好的性能,但是由于采用了多尺度区域特征提取,它的代价是SSG的2倍。与MSG相比,MRG更有效,因为它使用跨层的区域。

PointNET++:度量空间中点集的深层层次特征学习