深度学习(13):pointnet++论文翻译与学习

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

译文名称:PointNet++:度量空间中点集的深度分层特征学习

Pointnet++论文地址: https://arxiv.org/pdf/1706.02413.pdf

注:(meng:xxxx)为个人理解

目录

Abstract—摘要

1 Introduction—引言

2 Problem Statement(问题陈述)

3 Method(方法)

3.1 Review of PointNet [20]: A Universal Continuous Set Function Approximator( PointNet[20]回顾:一种通用的连续集函数逼近器)

3.2 Hierarchical Point Set Feature Learning(分层点集特征学习)

3.3 Robust Feature Learning under Non-Uniform Sampling Density (非均匀采样密度下的鲁棒特征学习)

3.4 Point Feature Propagation for Set Segmentation(集合分割的点特征传播)

4 Experiments(实验)

4.1 Point Set Classification in Euclidean Metric Space(欧几里得度量空间中的点集分类)

4.2 Point Set Segmentation for Semantic Scene Labeling (语义场景标注的点集分割)

4.3 Point Set Classification in Non-Euclidean Metric Space (非欧几里得度量空间中的点集分类)

4.4 Feature Visualization (特征可视化)

5 Related Work (相关工作)

6 Conclusion (结论)

References

Supplementary(附录)

A Overview(概述)

Architecture protocol(架构协议)。

B.1 Network Architectures(网络架构)

B.2 Virtual Scan Generation (虚拟扫描生成)

B.3 MNIST and ModelNet40 Experiment Details (MNIST 和 ModelNet40 实验细节)

B.4 ScanNet Experiment Details (ScanNet 实验细节)

B.5 SHREC15 Experiment Details (SHREC15 实验细节)

C More Experiments

C.1 Semantic Part Segmentation (语义部分分割)

C.2 Neighborhood Query: kNN v.s. Ball Query.(邻域查询:kNN vs. 球查询。)

C.3 Effect of Randomness in Farthest Point Sampling.(最远点采样中随机性的影响。)

C.4 Time and Space Complexity.(时间和空间复杂性。)

部分笔记:

1 concat

2 最远点采样算法(a farthest point sampling)

3 多层感知机MLP理解式1

4 曼哈顿距离

5 测地线距离(geodesic distance)


Abstract摘要

        很少有先前的工作研究点集的深度学习。PointNet [20] 是这个方向的先驱。然而,根据设计,PointNet 不捕获由度量空间内中点组成的局部结构(does not capture local structures induced by the metric space points live in),从而限制了其识别细粒度模式的能力和对复杂场景的泛化性(recognize fine-grained patterns and generalizability to complex scenes)。在这项工作中,我们介绍了一种分层神经网络,它将 PointNet 递归地应用于输入点集的嵌套分区(a nested partitioning)。通过利用度量空间距离(metric space distances),我们的网络能够学习背景/上下文尺度不断增加的(with increasing contextual scales)局部特征。随着进一步观察发现点集通常以不同的密度进行采样,这导致在均匀密度上训练的网络的性能大大降低,我们提出了新的集学习层(set learning layers)来自适应地组合来自多个尺度的特征。实验表明,我们的称为 PointNet++ 的网络能够有效且稳健地学习深度点集特征。特别是,在具有挑战性的 3D 点云基准上获得了明显优于现有技术的结果。

1 Introduction—引言

        我们对分析几何点集(geometric point sets)感兴趣,这些点集是欧几里得空间中点的集合。一种特别重要的几何点集类型是由 3D 扫描仪捕获的点云,例如,来自适当配备的自动驾驶汽车。作为一个集合,这些数据必须对其成员的排列保持不变。此外,距离度量(the distance metric)定义了可能表现出不同属性的局部邻域。例如,点的密度和其他属性在不同位置可能不均匀——在 3D 扫描中,密度变化可能来自透视效果(perspective effects)、径向密度变化(radial density variations)、运动等。

        很少有先前的工作研究点集(point sets)的深度学习。PointNet [20] 是直接处理点集的开创性工作。PointNet 的基本思想是学习每个点的空间编码(a spatial encoding of each point),然后将所有单独的点特征聚合(aggregate all individual point features)为全局点云签名。根据其设计,PointNet 不会捕获度量上的局部结构。然而,事实证明,利用局部结构对于卷积架构的成功很重要;CNN 可以将在规则网格(regular grid)上定义的数据作为输入,并且能够沿着多分辨率层次结构(along a multi-resolution hierarchy)以越来越大的比例逐步捕获特征。较低水平的神经元具有较小的感受野(smaller receptive fields),而在较高水平它们具有较大的感受野。沿层次结构抽象局部模式(abstract local patterns along the hierarchy)的能力可以更好地推广到未知的情况(unseen cases)。

        我们引入了一个名为 PointNet++ 的分层神经网络(hierarchical neural network),以分层方式处理在度量空间中采样的一组点。PointNet++ 的总体思路很简单。我们首先通过基础空间(the underlying space)的距离度量(the distance metric)将点集划分为重叠的局部区域(overlapping local regions)。与 CNN 类似,我们从小邻域中提取捕获精细几何结构的局部特征; 这些局部特征被进一步组成为更大的单元并进行处理以产生更高级别的特征。重复这个过程,直到我们获得整个点集的特征。

        PointNet++ 的设计必须解决两个问题:如何生成点集的划分,以及如何通过局部特征学习器(a local feature learner)抽象点集或局部特征。这两个问题是相关的,因为点集的分区必须产生跨分区的公共结构(common structures across partitions),以便可以共享局部特征学习器的权重,就像在卷积设置中一样。我们选择PointNet作为我们的局部特征学习器 。正如该工作所证明的,PointNet 是一种有效的架构,可以处理一组无序的点以进行语义特征提取。此外,该架构对输入数据损坏具有鲁棒性。作为基本构建块,PointNet 将局部点或特征集抽象为更高级别的表示。在此视图中,PointNet++ 递归地将 PointNet 应用于输入集的嵌套分区(a nested partitioning of the input set)。

        仍然存在的一个问题是如何生成点集的重叠分区(overlapping partritioning of a point set)。每个分区被定义为基础欧几里得空间(the underlying Euclidean space)中的一个邻域球(a neighborhood ball),其参数包括质心位置和尺度(centroid location and scale)。为了均匀地覆盖整个集合,通过最远点采样(a farthest point sampling,FPS)算法在输入点集合中选择质心。与以固定步幅扫描空间的体积 CNN 相比,我们的局部感受野(local receptive fields)同时依赖于输入数据和度量,因此更加高效和有效。

        然而,由于特征尺度的纠缠和输入点集的不均匀性(the entanglement of feature scale and non-uniformity of input point set),确定局部邻域球的适当尺度是一个更具挑战性但更有趣的问题。我们假设输入点集在不同区域可能具有可变密度,这在结构传感器扫描等实际数据中很常见 [18](见图 1)。因此,我们的输入点集与 CNN 输入非常不同,CNN 输入可以看作是在具有均匀恒定密度的规则网格上定义的数据。在 CNN 中,与局部分区尺度相对应的是内核的大小。[25] 表明使用更小的内核有助于提高 CNN 的能力。然而,我们对点集数据的实验为这一规则提供了相反的证据。由于采样不足,小邻域可能包含的点太少,这可能不足以让 PointNets 稳健地捕获特征(capture patterns)

深度学习(13):pointnet++论文翻译与学习_第1张图片

 图 1:结构传感器捕获扫描的可视化效果(左:RGB图像;右:点云)。

        我们论文的一个重要贡献是 PointNet++ 利用多个尺度的邻域(neighborhoods at multiple scales)来实现鲁棒性和细节捕获。在训练期间辅助以随机输入丢失,网络学习自适应地加权在不同尺度上检测到的模式,并根据输入数据组合多尺度特征(Assisted with random input dropout during training, the network learns to adaptively weight patterns detected at different scales and combine multi-scale features according to the input data. )。实验表明,我们的 PointNet++ 能够有效且稳健地处理点集。特别是,在具有挑战性的 3D 点云基准上获得了明显优于最新技术的结果。

2 Problem Statement(问题陈述)

        假设 X = (M, d) 是一个离散度量空间(a discrete metric space),其度量继承自欧几里得空间 R^n,其中 M ⊆ R^n 是点的集合,d 是距离度量。此外,环境欧几里得空间(the ambient Euclidean space)中 M 的密度可能并非处处均匀。我们有兴趣学习以 X 作为输入(以及每个点的附加特征)并产生对X进行升级的语义兴趣信息的集合函数 f (We are interested in learning set functions f that take such X as the input (along with additional features for each point) and produce information of semantic interest regrading X . )。在实践中,这样的 f 可以是为 X 分配标签的分类函数,也可以是为 M 的每个成员分配每个点标签的分割函数。

3 Method(方法)

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

3.1 Review of PointNet [20]: A Universal Continuous Set Function Approximator( PointNet[20]回顾:一种通用的连续集函数逼近器)

        给定一个无序点集 {x1 , x2 , ..., xn },其中xi ∈ R^d,可以定义一个集合函数 f : X → R 将一组点映射到一个向量:

式中 γ 和 h 通常是多层感知机 (MLP) 网络。(meng:式1的简要理解参考“部分笔记3”)

        方程 1 中的集合函数 f 对输入点排列是不变的,并且可以任意逼近任何连续集合函数 [20]。请注意,h 的响应可以解释为对一个点进行空间编码(详见[20])。

        PointNet 在一些基准测试中取得了令人印象深刻的表现。但是,它缺乏在不同尺度上捕获局部上下文的能力。我们将在下一节介绍分层特征学习框架来解决这个限制。

3.2 Hierarchical Point Set Feature Learning(分层点集特征学习)

        虽然 PointNet 使用单个最大池操作来聚合整个点集,但我们的新架构构建了点的分层分组,并沿层次逐步抽象出越来越大的局部区域。

        我们的层次结构由许多集合的抽象级别组成(图 2)。在每个级别,一组点被处理和抽象,以产生一个具有更少元素的新集合。集合抽象级别(the set abstraction level)由三个关键层组成:采样层、分组层和PointNet层。采样层从输入点中选择一组点,这些点定义了局部区域的质心(the centroids of local regions)。然后,分组层通过在质心周围寻找“相邻”点来构建局部区域集。PointNet 层使用 mini-PointNet 将局部区域模式编码为特征向量。

        一个集合抽象级别(a set abstraction level)将 N × (d + C) 矩阵作为输入,该矩阵来自具有 d-dim 坐标和 C-dim 点特征的 N 个点。它输出一个 N’× (d + C’) 矩阵,该矩阵由 N’个具有 d-dim 坐标和总结局部上下文的新 C’-dim 特征向量的子采样点组成。我们将在以下段落中介绍一个集合抽象级别的层。

深度学习(13):pointnet++论文翻译与学习_第2张图片

Figure 2: Illustration of our hierarchical feature learning architecture and its application for set segmentation and classification using points in 2D Euclidean space as an example. Single scale point grouping is visualized here. For details on density adaptive grouping, see Fig. 3

图2:以 2D 欧几里得空间中的点为例,说明我们的分层特征学习架构及其在集合分割和分类中的应用。这里可视化了单尺度点分组。有关密度自适应分组的详细信息,请参见图 3

深度学习(13):pointnet++论文翻译与学习_第3张图片

        Grouping layer(分组层)。该层的输入是一个大小为 N × (d + C) 的点集和一组大小为 N’×d 的质心的坐标。输出是大小为 N’×K×(d + C) 的点集组,其中每个组对应于一个局部区域,K 是质心点附近的点数。请注意,K因组而异,但随后的 PointNet 层能够将灵活数量的点转换为固定长度的局部区域特征向量(a fixed length local region feature vector)。

        在卷积神经网络中,像素的局部区域由矩阵索引在像素的某个曼哈顿距离(内核大小)内的像素组成(曼哈顿距离的简要理解参考“部分笔记4”)。在从度量空间采样的点集中,点的邻域由度量距离定义。

        球查询(ball query)查找查询点半径范围内的所有点(实现时设置上限为K)。另一种范围查询是 K 最近邻 (kNN) 搜索,它找到固定数量的相邻点。与 kNN 相比,ball query 的局部邻域保证了固定的区域尺度,从而使局部区域特征在空间上更具泛化性(generalizable across space),这对于需要局部模式识别(local pattern recognition)的任务(例如语义点标记)是首选。

        PointNet Laye(点网层)。在这一层中,输入是N’个点的局部区域,数据大小为N’×K ×(d+C)(meng:局部区域共N’*K个点)。输出中的每个局部区域都由其质心和编码质心邻域的局部特征抽象。输出数据大小为 N’× (d + C’)。

深度学习(13):pointnet++论文翻译与学习_第4张图片

3.3 Robust Feature Learning under Non-Uniform Sampling Density (非均匀采样密度下的鲁棒特征学习)

        如前所述,点集在不同区域具有不均匀的密度是很常见的。这种不均匀性给点集特征学习带来了重大挑战。在密集数据中学习的特征可能无法推广到稀疏采样的区域。因此,为稀疏点云训练的模型可能无法识别局部细粒的结构(fine-grained local structures)。

        理想情况下,我们希望尽可能仔细地检查点集,以捕获密集采样区域(densely sampled regions)中最精细的细节。但是,在低密度区域禁止这种近距离检查,因为局部模式可能会因抽样不足(the sampling deficiency)而损坏。在这种情况下,我们应该在更近的地方寻找更大的尺度模式。为了实现这一目标,我们提出了密度自适应 PointNet 层(图 3),当输入采样密度发生变化时,它学习组合来自不同尺度区域的特征(learn to combine features from regions of different scales)。我们将具有密度自适应 PointNet 层分层网络称为 PointNet++

深度学习(13):pointnet++论文翻译与学习_第5张图片

Figure 3: (a) Multi-scale grouping (MSG);(b) Multi-resolution grouping (MRG)

图3:(a)多尺度分组(MSG);(b)多分辨率分组(MRG)

        在前面Sec 3.2 中,每个抽象级别(each abstraction level)都包含单个尺度的分组和特征提取。在 PointNet++中,每个抽象级别提取多个尺度的局部模式(local pattern),并根据局部点密度智能组合它们。在对局部区域进行分组和组合不同尺度的特征方面,我们提出了两种类型的密度自适应层(density adaptive layers),如下所示。

        Multi-scale grouping(多尺度分组,MSG)。如图 3 (a) 所示,捕获多尺度模式的一种简单但有效的方法是应用具有不同尺度的分组层(grouping layers),然后根据 PointNets 提取每个尺度的特征。将不同尺度的特征串联起来形成多尺度特征

        我们训练网络学习优化策略以结合多尺度特征。这是通过为每个实例随机丢弃具有随机概率的输入点来完成的,我们称之为随机输入丢弃(This is done by randomly dropping out input points with a randomized probability for each instance, which we call random input dropout. )。具体来说,对于每个训练点集,我们选择一个从 [0, p] 中均匀采样的丢弃率(dropout ratio) θ,其中 p ≤ 1 (Specifically, for each training point set, we choose a dropout ratio θ uniformly sampled from [0, p] where p ≤ 1. )。对于每个点,我们以概率 θ 随机删除一个点。在实践中,我们设置 p = 0.95 以避免生成空点集。在这样做的过程中,我们向网络展示了具有各种稀疏性(由 θ 引起)和变化均匀性(由 dropout 中的随机性引起)的训练集。在测试期间,我们保留所有可用点。

        Multi-resolution grouping(多分辨率分组,MRG)。上面的 MSG 方法计算量很大,因为它在每个质心点的大规模邻域上运行局部PointNet。特别是,由于质心点的数量在最低级别通常非常大,因此时间成本非常重要。

深度学习(13):pointnet++论文翻译与学习_第6张图片

        当局部区域的密度较低时,第一个向量可能不如第二个向量可靠,因为计算第一个向量的子区域(subregion)包含更稀疏的点并且更容易受到采样不足的影响。在这种情况下,第二个向量的权重应该更高。另一方面,当局部区域的密度很高时,第一个向量提供更精细的信息,因为它具有在较低级别递归地检查更高分辨率的能力。与 MSG 相比,该方法的计算效率更高,因为我们避免了在最低级别的大规模邻域中进行特征提取。

3.4 Point Feature Propagation for Set Segmentation(集合分割的点特征传播)

        在集合抽象级别中(set abstraction layer),对原始点集进行二次采样。然而,在语义点标注等集合分割任务中,我们希望获得所有原始点的点特征。一种解决方案是始终将所有点采样为所有集合抽象级别中(in all set abstraction levels)的质心,但这会导致高计算成本(One solution is to always sample all points as centroids in all set abstraction levels, which however results in high computation cost.)。另一种方法是将特征从二次采样点传播到原始点。

深度学习(13):pointnet++论文翻译与学习_第7张图片

深度学习(13):pointnet++论文翻译与学习_第8张图片

Figure 2: Illustration of our hierarchical feature learning architecture and its application for set segmentation and classification using points in 2D Euclidean space as an example. Single scale point grouping is visualized here. For details on density adaptive grouping, see Fig. 3

图2:以 2D 欧几里得空间中的点为例,说明我们的分层特征学习架构及其在集合分割和分类中的应用。这里可视化了单尺度点分组。有关密度自适应分组的详细信息,请参见图 3

4 Experiments(实验)

        Datasets(数据集) 我们评估了从 2D 对象(MNIST [11])、3D 对象(Model-Net40 [31] 刚性对象、SHREC15 [12] 非刚性对象)到真实3D场景(ScanNet [5])的四个数据集。目标分类(object classification)通过准确性进行评估。语义场景标记(semantic scene labeling)通过[5]之后的平均体素分类精度进行评估。我们在下面列出了每个数据集的实验设置:

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

        • ModelNet40:40 个类别的CAD 模型(大部分是人造的)。我们使用官方拆分,其中 9,843个形状用于训练,2,468 个用于测试。

        • SHREC15:来自 50 个类别的1200个形状。每个类别包含24个形状,其中大部分是具有各种姿势的有机形状,例如马、猫等。我们使用五折交叉验证来获得该数据集的分类准确性。

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

4.1 Point Set Classification in Euclidean Metric Space(欧几里得度量空间中的点集分类)

        我们评估我们的网络对从 2D (MNIST) 和 3D (ModleNet40) 欧几里得空间采样的点云进行分类。MNIST 图像被转换为数字像素位置(digit pixel locations)的 2D 点云。3D 点云是从 ModelNet40 形状的网格表面(mesh surfaces)采样的。默认情况下,我们为 MNIST 使用 512 个点,为 ModelNet40 使用 1024 个点(meng:这里点的个数可以参考图4左图理解)。在表 2 的最后一行(我们的法线)中,我们使用人脸法线作为附加点特征,我们还使用更多点(N = 5000)来进一步提高性能。所有点集都归一化为零均值(zero mean)并在一个单位球内。我们使用具有三个全连接层的三层分层网络(three-level hierarchical network)(注:有关网络架构和实验准备的更多详细信息,请参阅补充)。

        Results(结果)。在表 1 表 2 中,我们将我们的方法与一组具有代表性的先前技术进行了比较。请注意,表 2 中的 PointNet (vanilla) 是 [20] 中不使用转换网络(transformation networks)的版本,相当于我们只有一层的分层网络。

深度学习(13):pointnet++论文翻译与学习_第9张图片

表 1:MNIST 数字分类。             表 2:ModelNet40 形状分类。

(meng:pc为point cloud即点云,vox为voxel即体素)

        首先,我们的分层学习架构比非分层 PointNet [20] 实现了显着更好的性能。在 MNIST 中,我们看到 PointNet(vanilla)和 PointNet 相对于我们的方法分别降低了 60.8% 和 34.6% 的错误率。在 ModelNet40 分类中,我们还看到使用相同的输入数据大小(1024 个点)和特征(仅坐标),我们的比 PointNet 强得多。其次,我们观察到基于点集的方法甚至可以实现与成熟图像 CNN(mature image CNNs) 更好或相似的性能。在 MNIST 中,我们的方法(基于 2D 点集)实现了接近 Network in Network CNN 的精度。在 ModelNet40 中,我们的正常信息(normal information)显着优于之前最先进的方法 MVCNN [26]。

        Robustness to Sampling Density Variation(对采样密度变化的鲁棒性)。直接从现实世界捕获的传感器数据通常存在严重的不规则采样问题(图 1)。我们的方法选择多个尺度的点邻域,并通过适当加权来学习平衡描述性和鲁棒性(balance the descriptiveness and rosbustness)。我们在测试期间随机丢弃点(见图4左),以验证我们的网络对非均匀和稀疏数据的鲁棒性。在图 4 右侧,我们看到 MSG+DP(在训练期间具有随机输入丢失的多尺度分组)和 MRG+DP(在训练期间具有随机输入丢失的多分辨率分组)对采样密度变化非常稳健。MSG+DP性能从1024个测试点到256个测试点下降不到 1%。此外,与替代方案相比,它在几乎所有采样密度上都取得了最佳性能。PointNet vanilla [20] 在密度变化下相当稳健,因为它专注于全局抽象而不是精细细节。然而,与我们的方法相比,细节的丢失也使得它不那么强大。SSG(在每个级别中具有单尺度分组(single scale grouping)的消融 PointNet++)无法推广到稀疏采样密度,而 SSG+DP 通过在训练时间随机丢弃点来修正问题。

深度学习(13):pointnet++论文翻译与学习_第10张图片

Figure 4: Left: Point cloud with random point dropout. Right: Curve showing advantage of our density adaptive strategy in dealing with non-uniform density. DP means random input dropout during training; otherwise training is on uniformly dense points. See Sec.3.3 for details.

图 4:左:具有随机点丢失的点云。右图:曲线显示了我们的密度自适应策略在处理非均匀密度方面的优势。DP 表示训练期间的随机输入丢弃(dropout);否则训练是在均匀密集的点上进行的。有关详细信息,请参见第 3.3 节。

4.2 Point Set Segmentation for Semantic Scene Labeling (语义场景标注的点集分割)

        为了验证我们的方法适用于大规模点云分析,我们还评估了语义场景标记任务。目标是预测室内扫描点的语义对象标签。[5]在体素化扫描(voxelized scans)上使用全卷积神经网络提供了对照基准。它们完全依赖扫描几何而不是 RGB 信息,并基于每个体素报告精度。为了进行公平比较,我们在所有实验中删除了 RGB 信息,并将点云标签预测(point cloud prediction)转换为和[5]一样的体素标签。我们还与[20]进行了比较。在图 5(蓝条)中以每个体素(a per-voxel)为基础报告了准确度。

深度学习(13):pointnet++论文翻译与学习_第11张图片

 图 5:Scannet 标记精度。

        我们的方法大大优于所有基线方法(baseline methods)。与在体素扫描上学习的[5]相比,我们直接在点云上学习以避免额外的量化误差,并进行数据依赖采样(data dependent sampling)以实现更有效的学习。与[20]相比,我们的方法引入了分层特征学习并捕获了不同尺度的几何特征。这对于理解多层次的场景和标记不同大小的对象非常重要。我们在图 6 中可视化示例场景标记结果。

深度学习(13):pointnet++论文翻译与学习_第12张图片

图 6:Scannet 标记结果。[20] 正确捕捉房间的整体布局,但未能发现家具。相比之下,我们的方法在分割房间布局之外的对象方面要好得多。

        性能比较(performance comparison)如图 5 所示(黄色条)。我们看到,由于采样密度从均匀点云转移到虚拟扫描场景,SSG 性能大大下降。另一方面,MRG 网络对采样密度变化更加稳健,因为它能够在采样稀疏时自动切换到描绘更粗粒度(depicting coarser granularity)的特征。尽管训练数据(具有随机丢失的均匀点)和具有非均匀密度的扫描数据之间存在域差距,但我们的 MSG 网络仅受到轻微影响,并且在比较方法中达到了最佳精度。这些证明了我们的密度自适应层设计的有效性。

4.3 Point Set Classification in Non-Euclidean Metric Space (非欧几里得度量空间中的点集分类)

        在本节中,我们展示了我们处理非欧几里得空间的方法的普遍性。在非刚性形状(non-rigid shape)分类中(图 7),一个好的分类器应该能够正确地将图 7 中的(a)和(c)分类为同一类别,即使它们的姿势存在差异,这需要了解内在结构。SHREC15 中的形状是嵌入在 3D 空间中的 2D 表面。沿表面的测地线距离(geodesic distances)自然会产生一个度量空间(meng:测地线距离简要理解见“部分笔记 5”)。我们通过实验表明,在这个度量空间中采用 PointNet++ 是捕捉基础点集内在结构(capture intrinsic structure of the underlying point set)的有效方法。

        对于[12]中的每个形状,我们首先构建由成对测地线距离(geodesic distances)诱导的度量空间(meng:“成对测地线距离”我类比为经纬度坐标系--距离某一个原点的正东正北距离之类的)。我们按照 [23] 获得模拟测地线距离(mimics geodesic distance)的嵌入度量(an embedding metric)。接下来,我们在这个度量空间中提取内在点特征,包括 WKS [1]、HKS [27] 和多尺度高斯曲率 [16]。我们使用这些特征作为输入,然后根据基础度量空间(the underlying metric space)对点进行采样和分组。通过这种方式,我们的网络学习捕捉不受形状特定姿势(the specific pose of a shape)影响的多尺度内在结构。替代设计选择(alternative design choices)包括使用 XYZ 坐标作为点特征或使用欧几里得空间 R^3 作为基础度量空间。我们在下面展示了这些不是最佳选择。

深度学习(13):pointnet++论文翻译与学习_第13张图片

 图 7:非刚性形状分类的示例。

        Results(结果)。我们在表 3 中将我们的方法与之前最先进的方法 [14] 进行了比较。[14] 提取测地线矩(geodesic moments)作为形状特征,并使用堆叠稀疏自动编码器(a stacked sparse autoencoder)来消化这些特征以预测形状类别。我们使用非欧几里得度量空间和内在特征的方法在所有设置中都实现了最佳性能,并且大大优于 [14]。

        比较我们方法的第一种和第二种设置,我们看到内在特征(intrinsic structures)对于非刚性形状分类非常重要。XYZ特征无法揭示内在结构,并且受姿势变化的影响很大。比较我们方法的第二种和第三种设置,我们发现与欧几里得邻域相比,使用测地线邻域(geodesic neighborhood)是有益的。欧几里得邻域可能包括表面上远处的点,当形状提供非刚性变形时,该邻域可能会发生巨大变化。这给有效的权重共享带来了困难,因为局部结构可能变得组合复杂。另一方面,表面上的测地线邻域(geodesic neighborhood)摆脱了这个问题并提高了学习效率。

深度学习(13):pointnet++论文翻译与学习_第14张图片

表 3:SHREC15 非刚性形状分类。

4.4 Feature Visualization (特征可视化)

        在图8中,我们可视化了我们的分层网络的第一级内核(the first level kernels)所学到的内容。我们在空间中创建了一个体素网格,并聚合了在网格单元中激活某些神经元最多(activate certain neuron the most)的局部点集(使用了最高 100 个示例)。保留具有高票数的网格单元并将其转换回 3D 点云,这代表了神经元识别的模式(the pattern that neuron recognizes)。由于模型是在主要由家具组成的 ModelNet40 上训练的,因此我们在可视化中看到了平面、双平面、线、角等结构。

深度学习(13):pointnet++论文翻译与学习_第15张图片

Figure 8: 3D point cloud patterns learned from the first layer kernels. The model is trained for ModelNet40 shape classification (20 out of the 128 kernels are randomly selected). Color indicates point depth (red is near, blue is far).

图 8:从第一层内核学习的 3D 点云模式。该模型针对 ModelNet40 形状分类进行了训练(随机选择 128 个内核中的 20 个)。颜色表示点深度(红色表示近,蓝色表示远)。

5 Related Work (相关工作)

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

        一些最近的工作[20, 28] 研究了如何将深度学习应用于无序集。即使点集确实具有,它们也会忽略基础距离度量(They ignore the underlying distance metric even if the point set does possess one. )。结果,它们无法捕获点的局部上下文,并且对全局集合转换和规范化(global set translation and normalization)很敏感。在这项工作中,我们针对从度量空间中采样的点,并通过在我们的设计中明确考虑基础距离度量来解决这些问题。

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

        在 3D 度量空间中,除了点集之外,还有几种流行的深度学习表示,包括体积网格(volumetric grids)[21、22、29] 和几何图(geometric graphs)[3、15、33]。然而,在这些工作中,都没有明确考虑到采样密度不均匀的问题。

6 Conclusion (结论)

        在这项工作中,我们提出了 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 Transactions on 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.

[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.

Supplementary(附录)

A Overview(概述)

        该补充材料在主要论文中提供了有关实验的更多细节,并包括更多实验来验证和分析我们提出的方法。

        在 Sec B 中,我们在主要论文中提供了用于实验的特定网络架构,并描述了数据准备和训练的细节。在 Sec C 中,我们展示了更多的实验结果,包括部分分割(part segmentation)的基准性能和邻域查询的分析、对采样随机性的敏感性和时间空间复杂度。

Architecture protocol(架构协议)。

        我们使用以下符号来描述我们的网络架构。

深度学习(13):pointnet++论文翻译与学习_第16张图片

B.1 Network Architectures(网络架构)

        对于所有分类实验,我们使用具有不同 K(类别数)的以下架构(我们的 SSG):

                SA(512, 0.2, [64, 64, 128]) → SA(128, 0.4, [128, 128, 256]) →

                SA([256, 512, 1024]) →FC(512, 0.5) → FC(256, 0.5) → FC(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]) → FC(512, 0.5) → FC(256, 0.5) → FC(K)

        跨级别(cross level)多分辨率分组 (MRG) 网络的架构使用三个分支:

                分支 1:SA(512, 0.2, [64, 64, 128]) → SA(64, 0.4, [128, 128, 256])

                分支 2:SA(512, 0.4, [64, 128, 256]) 使用 r = 0.4的原始点区域

                分支 3:SA(64, 128, 256, 512) 使用所有原始点。

                分支 4:SA(256, 512, 1024)。

        分支 1 和分支 2 连接起来并馈送到分支 4。然后,分支 3 和分支 4 的输出连接起来并馈送到 FC(512, 0.5) → FC(256, 0.5) → FC(K) 进行分类。

        用于语义场景标记的网络(FP 中的最后两个全连接层后面是 dropout 层,丢弃率 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]) →

                FP (256, 256) → FP (256, 256) → FP (256, 128) → FP (128, 128, 128, 128, K)

        用于语义和部分分割的网络(FP 中的最后两个全连接层后面是 dropout 层,drop rate 为 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) →

                FP (128, 128, 128, 128, K)

B.2 Virtual Scan Generation (虚拟扫描生成)

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

深度学习(13):pointnet++论文翻译与学习_第17张图片

(a) ScanNet labeled scene           (b) ScanNet non-uniform

Figure 9: Virtual scan generated from ScanNet

(a) ScanNet 标记场景              (b) ScanNet 非均匀

图 9:从 ScanNet 生成的虚拟扫描

B.3 MNIST and ModelNet40 Experiment Details (MNIST 和 ModelNet40 实验细节)

        对于 MNIST 图像,我们首先将所有像素强度归一化到 [0, 1] 范围内,然后选择所有强度大于 0.5 的像素作为有效数字像素。然后我们将图像中的数字像素转换为坐标在 [−1, 1] 内的二维点云,其中图像中心是原点。创建增强点以将设置的点添加到固定基数(a fixed cardinality)(在我们的示例中为 512)。我们抖动初始点云(随机平移高斯分布 N (0, 0.01) 并裁剪为 0.03)以生成增强点。对于 ModelNet40,我们根据面部面积从 CAD 模型表面均匀采样 N 个点。

        对于所有实验,我们使用学习率为 0.001 的 Adam [9] 优化器进行训练。对于数据增强,我们随机缩放对象(randomly scale object),扰动对象位置以及点样本位置。我们还按照 [21] 随机旋转对象以进行 ModelNet40 数据增强。我们使用 Tensor-Flow 和 GTX 1080、Titan X 进行训练。所有层都在 CUDA 中实现以运行 GPU。训练我们的模型收敛大约需要 20 个小时。

B.4 ScanNet Experiment Details (ScanNet 实验细节)

        为了从 ScanNet 场景生成训练数据,我们从初始场景中采样 1.5m x 1.5m x 3m 的立方体,然后保留 ≥ 2% 的体素被占用且 ≥ 70% 的表面体素具有有效注释的立方体(这是 [5] 中的相同设置)。我们在运行中对此类训练立方体进行采样,并沿垂直轴随机旋转它。将增强点添加到点集以形成固定的基数(a fixed cardinality)(在我们的例子中为 8192)。在测试期间,我们同样将测试场景分割成更小的立方体,并首先获得立方体中每个点的标签预测,然后合并来自同一场景的所有立方体中的标签预测。如果一个点从不同的立方体得到不同的标签,我们将只进行多数投票(a majority)来获得最终的点标签预测。

B.5 SHREC15 Experiment Details (SHREC15 实验细节)

        我们在每个形状上随机抽取 1024 个点用于训练和测试。为了生成输入的内在特征(the input intrinsic features),我们分别提取 100 维 WKS、HKS 和多尺度高斯曲率(multiscale Gaussian curvature),从而为每个点生成 300 维特征向量。然后我们进行 PCA 以将特征维度减少到 64。我们使用 [23] 之后的 8 维嵌入来模拟测地距离(mimic geodesic distance),用于在选择点邻域时描述我们的非欧几里德度量空间。

C More Experiments

        在本节中,我们提供了更多的实验结果来验证和分析我们提出的网络架构。

C.1 Semantic Part Segmentation (语义部分分割)

        按照 [32] 中的设置,我们评估我们在部分分割任务上的方法,假设每个形状的类别标签是已知的。以点云表示的形状作为输入,任务是预测每个点的零件标签。该数据集包含来自 16 个类的 16,881 个形状,总共注释了 50 个部分。我们使用和[4]一样的官方训练测试拆分。

        我们为每个点配备其法线方向,以更好地描绘底层形状(the underlying shape)。这样我们就可以摆脱 [32, 33] 中使用的手工制作的几何特征(hand-crafted geometric features)。我们将我们的框架与传统的基于学习的技术 [32] 以及表 4 中最先进的深度学习方法 [20, 33] 进行了比较。点的交并比 (IoU) 用作评估指标,在所有零件类中取平均值。在训练过程中,交叉熵损失(cross-entropy loss)被最小化。平均而言,我们的方法实现了最佳性能。与[20]相比,我们的方法在大多数类别上表现更好,这证明了分层特征学习对于详细语义理解的重要性。请注意,我们的方法可以被视为隐式地构建不同尺度的邻近图(proximity graphs)并在这些图上进行操作,因此与graph CNN 方法有关,例如 [33]。由于我们多尺度邻域选择的灵活性以及集合操作单元的能力,与[33]相比,我们可以获得更好的性能。请注意,与图卷积核(graph convolution kernels)相比,我们的集合操作单元(set operation units)要简单得多,并且与 [33] 相比,我们不需要进行昂贵的特征分解(eigen decomposition)。这些使我们的方法更适合大规模点云分析。

深度学习(13):pointnet++论文翻译与学习_第18张图片

表 4:ShapeNet 零件数据集的分割结果。

C.2 Neighborhood Query: kNN v.s. Ball Query.(邻域查询:kNN vs. 球查询。)

        在这里,我们比较了两个选项来选择局部邻域。我们在主要论文中使用了基于半径的球查询。在这里,我们还尝试了基于 kNN 的邻域搜索,并使用不同的搜索半径和 k。在这个实验中,所有的训练和测试都是在具有均匀采样密度的 ModelNet40 形状上进行的。使用了 1024 个点。如表 5 所示,基于半径的球查询略好于基于 kNN 的方法。然而,我们推测在非常不均匀的点集中,基于 kNN 的查询会导致泛化能力变差。我们还观察到,稍大的半径可能有助于提高性能,可能是因为它捕获了更丰富的局部模式(local patterns)。

Table 5: Effects of neighborhood choices. Evaluation metric is classification accuracy (%) on ModelNet 40 test set.

表 5:局部区域选择的影响。评估指标是 ModelNet 40 测试集上的分类准确率 (%)。

C.3 Effect of Randomness in Farthest Point Sampling.(最远点采样中随机性的影响。)

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

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

深度学习(13):pointnet++论文翻译与学习_第19张图片

表 6:FPS 中随机性的影响(使用 ModelNet40)。

C.4 Time and Space Complexity.(时间和空间复杂性。)

        表 7 总结了一些基于点集的深度学习方法之间的时间和空间成本比较。我们使用带有单个 GTX 1080 的 TensorFlow 1.1 以批量大小 8 记录前向时间(forward time)。第一批(the first batch)被忽略,因为有一些 GPU 准备。虽然 PointNet (vanilla) [20] 具有最佳的时间效率,但我们的没有密度自适应层的模型也以相当快的速度实现了最小的模型尺寸(While PointNet (vanilla) [20] has the best time efficiency, our model without density adaptive layers achieved smallest model size with fair speed.)。

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

表 7:几个网络的模型大小和推理时间(前向传递)。

部分笔记:

1 concat

  1. 用于张量拼接时,会扩充两个张量的维度,如26*26*256和26*26*512两个张量拼接时,会得到26*26*768的张量
  2. 用于特征数据拼接时,如数据格式为num*channels*height*width,一般以channels进行拼接,最后拼接结果为mum*(channels1+channel2...)*height*width

2 最远点采样算法(a farthest point sampling)

        概括来说:就是不断迭代地选择”剩余点集合”中距离已有”采样点集合”的最远点,其中剩余点与已有采样点集合的距离以剩余点到采样点集合”最近距离”度量。

        算法逻辑参考:https://www.cnblogs.com/yibeimingyue/p/11919514.html

1.以点云第一个点,作为查询点,从剩余点中,取一个距离最远的点;

2.继续以取出来的点,作为查询点,从剩余点中,取距离最远的点。此时,由于已经取出来的点的个数大于1,需要考虑已经选出来的点集中的每个点。计算逻辑如下:

2.1.对于任意一个剩余点,计算该点到已经选中的点集中所有点的距离;

2.2.取最小值,作为该点到点集的距离;

2.3.计算出每个剩余点到点集的距离后,取距离最大的那个点。

3.重复第2步,一直采样到目标数量N为止。

3 多层感知机MLP理解式1

深度学习(13):pointnet++论文翻译与学习_第20张图片

        式中,xi∈ R^d,则可以理解xi为1*d为向量,具有d个属性;

        则经过多层感知机h,输入为xi的d个属性,输出为d’个输出属性即1*d’的向量xi’;

        再经过MAX函数处理,选出xi’中的”模”最大值(先这样理解);

        最后再进过多层感知机γ,对xi’中的最大值的属性即1*d’向量进行处理,即可输出1*d’’的向量,即说明f()函数输出为向量。

多层感知机参考链接:

多层感知机(MLP)_DeeGLMath的博客-CSDN博客_多层感知机

多层·感知机 - 小秦同学在上学 - 博客园

4 曼哈顿距离

        曼哈顿距离用以标明两个点在标准坐标系上的绝对轴距总和,即d(i,j)=|xi-xj|+|yi-yj|

参考百度百科:

https://baike.baidu.com/item/%E6%9B%BC%E5%93%88%E9%A1%BF%E8%B7%9D%E7%A6%BB/743092

5 测地线距离(geodesic distance)

        测地线距离就是地球表面两点之间的最短路径(可执行路径)的距离,在图论中在图论中,Geodesic Distance 就是图中两节点的最短路径的距离;在下图中,两个黑点的 Euclidean Distance 是用虚线所表示的线段的长度d15,而 Geodesic Distance 作为实际路径的最短距离,其距离应为沿途实线段距离之和的最小值,即d12+d23+d34+d45.

        在三维曲面空间中两点间的测地距离就是两点间沿着三维曲面的表面走的最短路径。

参考链接:https://zhuanlan.zhihu.com/p/67741538

你可能感兴趣的:(无人驾驶车辆学习,pointnet++,深度学习,语义分割,语义分类,分层特征提取)