点云配准论文阅读4--PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation PointNet

PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation PointNet:用于 3D 分类和分割的点集深度学习

R. Q. Charles, H. Su, M. Kaichun and L. J. Guibas, “PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation,” 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Honolulu, HI, USA, 2017, pp. 77-85, doi: 10.1109/CVPR.2017.16.R. Q. Charles、H. Su、M. Kaichun 和 L. J. Guibas,“PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation”,2017 年 IEEE 计算机视觉和模式识别会议 (CVPR),美国夏威夷州檀香山,2017 年,第 77-85 页,doi:10.1109/CVPR.2017.16。 keywords: {Three-dimensional displays;Shape;Computer architecture;Feature extraction;Machine learning;Semantics},

关键词:{三维显示;形状;计算机体系结构;特征提取;机器学习;语义},

原文链接https://ieeexplore.ieee.org/document/8099499

Abstract:

点云是一种重要的几何数据结构。由于其格式不规则,大多数研究人员将此类数据转换为规则的 3D 体素网格或图像集合。然而,这会导致数据不必要地庞大并导致问题。在本文中,我们设计了一种直接处理点云的新型神经网络,它很好地尊重了输入中点的排列不变性。我们的网络名为 PointNet,为从对象分类、部分分割到场景语义解析等应用提供了统一的架构。虽然简单,但 PointNet 非常高效且有效。根据经验,它显示出与最先进技术相当甚至更好的强大性能。从理论上讲,我们提供分析以了解网络学到了什么以及为什么网络在输入扰动和损坏方面具有鲁棒性。

Introduction介绍

在本文中,我们探索了能够推理 3D 几何数据(例如点云或网格)的深度学习架构。典型的卷积架构需要高度规则的输入数据格式,例如图像网格或 3D 体素的数据格式,以便执行权重共享和其他内核优化。由于点云或网格不采用常规格式,因此大多数研究人员通常将此类数据转换为常规 3D 体素网格或图像集合(例如视图),然后再将其输入深度网络架构。然而,这种数据表示转换使生成的数据变得不必要地庞大,同时还引入了可能掩盖数据自然不变性的量化伪影。

出于这个原因,我们专注于使用简单点云的 3D 几何的不同输入表示 - 并将我们生成的深度网络命名为 PointNets。点云是简单而统一的结构,避免了网格的组合不规则性和复杂性,因此更容易学习。然而,PointNet 仍然必须尊重这样一个事实:点云只是一组点,因此对其成员的排列具有不变性,因此需要在网络计算中进行某些对称化。还需要考虑刚性运动的进一步不变性。

image-20240320214149916

图 1. 图 1.
PointNet 的应用。我们提出了一种新颖的深度网络架构,它消耗原始点云(点集)而无需体素化或渲染。它是一个统一的架构,可以学习全局和局部点特征,为许多 3D 识别任务提供简单、高效和有效的方法。

我们的 PointNet 是一个统一的架构,直接将点云作为输入,并输出整个输入的类标签或输入的每个点的每个点段/部分标签。我们网络的基本架构非常简单,因为在初始阶段每个点都被相同且独立地处理。在基本设置中,每个点仅由其三个坐标(x、y、z)表示。可以通过计算法线和其他局部或全局特征来添加附加维度。

我们方法的关键是使用单个对称函数,即最大池化。网络有效地学习一组优化函数/标准,这些函数/标准选择点云中有趣或信息丰富的点,并对它们选择的原因进行编码。网络的最终全连接层将这些学习到的最佳值聚合到整个形状的全局描述符中,如上所述(形状分类)或用于预测每个点标签(形状分割)。
我们的输入格式很容易应用刚性或仿射变换,因为每个点都是独立变换的。因此,我们可以添加一个依赖于数据的空间变换网络,尝试在 PointNet 处理数据之前对数据进行规范化,从而进一步改善结果。
我们对我们的方法提供了理论分析和实验评估。我们证明我们的网络可以逼近任何连续的集合函数。更有趣的是,事实证明,我们的网络学习通过一组稀疏的关键点来总结输入点云,根据可视化,这些关键点大致对应于对象的骨架。理论分析让我们理解为什么我们的 PointNet 对于输入点的小扰动以及点插入(异常值)或删除(丢失数据)造成的损坏具有高度鲁棒性。
在从形状分类、零件分割到场景分割的许多基准数据集上,我们通过实验将 PointNet 与基于多视图和体积表示的最先进方法进行比较。在统一的架构下,我们的PointNet不仅速度更快,而且表现出与现有技术相当甚至更好的强大性能。

我们工作的主要贡献如下:
我们设计了一种新颖的深度网络架构,适合处理3D 中的无序点集;
我们展示了如何训练这样的网络来执行 3D 形状分类、形状部分分割和场景语义解析任务;
我们对我们方法的稳定性和效率提供了全面的实证和理论分析;
我们展示了网络中选定神经元计算的 3D 特征,并对其性能进行了直观的解释。
通过神经网络处理无序集的问题是一个非常普遍和基本的问题——我们期望我们的想法也可以转移到其他领域。

Related Work

Point Cloud Features 点云特征

大多数现有的点云功能都是针对特定任务手工制作的。点特征通常编码点的某些统计属性,并被设计为对某些变换不变,这些变换通常被分类为内在的[2]、[21]、[3]或外在的[18]、[17]、[13]、 [10],[5]。它们也可以分为局部特征和全局特征。对于特定任务,找到最佳特征组合并非易事。

Deep Learning on 3D Data

3D 数据有多种流行的表示形式,从而产生了各种学习方法。体积 CNN:[25]、[15]、[16] 是将 3D 卷积神经网络应用于体素化形状的先驱。然而,由于数据稀疏性和 3D 卷积的计算成本,体积表示受到分辨率的限制。 FPNN[12]和Vote3D[23]提出了处理稀疏问题的特殊方法;然而,他们的操作仍然是稀疏的,处理非常大的点云对他们来说是一个挑战。多视图 CNN:[20]、[16] 尝试将 3D 点云或形状渲染为 2D 图像,然后应用 2D 卷积网络对它们进行分类。凭借精心设计的图像 CNN,这一系列方法在形状分类和检索任务上取得了主导性能 [19]。然而,将它们扩展到场景理解或其他 3D 任务(例如点分类和形状完成)并非易事。光谱 CNN:一些最新的作品 [4]、[14] 在网格上使用光谱 CNN。然而,这些方法目前仅限于有机物体等流形网格,并且如何将它们扩展到家具等非等距形状并不明显。基于特征的DNN:[6]、[8]首先通过提取传统的形状特征将3D数据转换为向量,然后使用全连接网络对形状进行分类。我们认为它们受到提取特征的表示能力的限制。

Deep Learning on Unordered Sets 无序集上的深度学习

从数据结构的角度来看,点云是一组无序的向量。虽然深度学习中的大多数工作都集中在常规输入表示上,例如序列(在语音和语言处理中)、图像和体积(视频或 3D 数据),但在点集上的深度学习方面却没有做太多工作。
Oriol Vinyals 等人最近的一项研究[22]研究了这个问题。他们使用具有注意力机制的读取-处理-写入网络来消耗无序输入集,并表明他们的网络具有对数字进行排序的能力。然而,由于他们的工作重点是通用集合和 NLP 应用,因此缺乏几何在集合中的作用。

Problem Statement 问题陈述

我们设计了一个深度学习框架,直接使用无序点集作为输入。点云表示为一组 3D 点 {Pi|i=1, …, n},其中每个点 Pi 是其 (x, y, z) 坐标加上额外特征通道(例如颜色、法线等)的向量.为了简单和清楚起见,除非另有说明,我们仅使用 (x, y, z) 坐标作为点的通道。
对于对象分类任务,输入点云要么直接从形状采样,要么从场景点云预先分割。我们提出的深度网络为所有 k 个候选类别输出 k 个分数。对于语义分割,输入可以是用于部分区域分割的单个对象,也可以是用于对象区域分割的 3D 场景的子体积。我们的模型将为 n 个点和 m 个语义子类别中的每一个输出 n×m 分数。

image-20240320214930585

图 2.
点网架构。分类网络以n个点作为输入,应用输入和特征变换,然后通过最大池化聚合点特征。输出是 k 个类别的分类分数。分割网络是分类网络的扩展。它连接全局和局部特征并输出每点分数。 “MLP”代表多层感知器,括号中的数字是层大小。 Batchnorm 用于 ReLU 的所有层。 Dropout 层用于分类网络

中的最后一个 MLP。

Deep Learning on Point Sets

我们的网络架构(第 4.2 节)的灵感来自于 Rn 中点集的属性(第 4.1 节)。

4.1. Properties of Point Sets in Rn

我们的输入是欧几里得空间中的点的子集。它具有三个主要属性:
无序。与图像中的像素阵列或体积网格中的体素阵列不同,点云是一组没有特定顺序的点。换句话说,消耗 N 个 3D 点集的网络需要对 N 个保持不变!输入集按数据馈送顺序的排列。
点之间的相互作用。这些点来自具有距离度量的空间。这意味着点不是孤立的,相邻点形成一个有意义的子集。因此,模型需要能够捕获附近点的局部结构,以及局部结构之间的组合相互作用。
变换下的不变性。作为一个几何对象,学习到的点集表示对于某些变换应该是不变的。例如,一起旋转和平移点不应修改全局点云类别或点的分割。

4.2. PointNet Architecture

我们完整的网络架构如图 2 所示,其中分类网络和分割网络共享很大一部分结构。请阅读图 2 中管道的标题。
我们的网络具有三个关键模块:最大池化层作为对称函数来聚合来自所有点的信息、局部和全局信息组合结构以及两个对齐输入点和点特征的联合对齐网络。
我们将在下面的单独段落中讨论这些设计选择背后的原因。

Symmetry Function for Unordered Input无序输入的对称函数

为了使模型对输入排列不变,存在三种策略:1)将输入排序为规范顺序; 2)将输入视为序列来训练 RNN,但通过各种排列来扩充训练数据; 3)使用简单的对称函数来聚合每个点的信息。这里,对称函数以 n 个向量作为输入,并输出一个与输入阶数无关的新向量。例如,+ 和 * 运算符是对称二元函数。
虽然排序听起来像是一个简单的解决方案,但在高维空间中实际上不存在稳定的排序。一般意义上的点扰动。这一点可以很容易地用矛盾来证明。如果存在这样的排序策略,它定义了高维空间和一维实线之间的双射映射。不难看出,要求排序对于点扰动稳定相当于要求该图在维度减小时保持空间邻近性,这是一般情况下无法实现的任务。因此,排序并不能完全解决排序问题,而且由于排序问题仍然存在,网络很难学习从输入到输出的一致映射。如图 5 所示,我们发现直接在排序点集上应用 MLP 的效果很差,尽管比直接处理未排序的输入稍好一些。
使用 RNN 的想法将点集视为顺序信号,并希望通过使用随机排列序列训练 RNN,RNN 将变得对输入顺序不变。然而,在“OrderMatters”[22]中,作者表明顺序确实很重要并且不能完全忽略。虽然 RNN 对于小长度(数十个)序列的输入排序具有相对较好的鲁棒性,但很难扩展到数千个输入元素,这是点集的常见大小。根据经验,我们还表明基于 RNN 的模型的性能不如我们提出的方法(图 5)。

我们的想法是通过对集合中的变换元素应用对称函数来近似定义在点集上的通用函数:
f ( { x 1 ,   … ,   x n } ) ≈ g ( h ( x 1 ) ,   … ,   h ( x n ) ) , \begin{equation*} f(\{x_{1},\ \ldots,\ x_{n}\})\approx g(h(x_{1}),\ \ldots,\ h(x_{n})),\tag{1} \end{equation*} f({x1, , xn})g(h(x1), , h(xn)),(1)
image-20240321222630903

对称函数

根据经验,我们的基本模块非常简单:我们通过多层感知器网络来近似 h,通过单变量函数和最大池函数的组合来近似 g。通过实验发现这种方法效果很好。通过h的集合,我们可以学习许多f来捕获集合的不同属性。
虽然我们的关键模块看起来很简单,但它具有有趣的属性(请参阅第 5.3 节),并且可以在一些不同的应用程序中实现强大的性能(请参阅第 5.1 节)。由于我们模块的简单性,我们还能够提供第 4.3 节中的理论分析。

Local and Global Information Aggregation

上一节的输出形成一个向量 [f1,…,fK],它是输入集的全局签名。我们可以轻松地在形状全局特征上训练 SVM 或多层感知器分类器以进行分类。然而,点分割需要局部和全局知识的结合。我们可以通过一种简单而高效的方式来实现这一目标。
我们的解决方案如图 2(分割网络)所示。计算全局点云特征向量后,我们通过将全局特征与每个点特征连接起来将其反馈给每个点特征。然后我们根据组合的点特征提取新的每点特征 - 这次每点特征都知道局部和全局信息。
通过这种修改,我们的网络能够预测依赖于局部几何和全局语义的每点数量。例如,我们可以准确预测每点法线(补充图),验证网络能够总结来自该点的局部邻域的信息。在实验中,我们还表明我们的模型可以在形状部分分割和场景分割方面实现最先进的性能。

Joint Alignment Network

如果点云经历某些几何变换(例如刚性变换),则点云的语义标记必须保持不变。因此,我们期望点集学习到的表示对于这些变换是不变的。
一个自然的解决方案是在特征提取之前将所有输入集对齐到规范空间。贾德伯格等人。 [9] 引入了空间变换器的思想,通过采样和插值来对齐 2D 图像,这是通过在 GPU 上实现的专门定制的层来实现的。
与[9]相比,我们的点云输入形式使我们能够以更简单的方式实现这一目标。我们不需要发明任何新层,也不需要像图像情况那样引入别名。我们通过迷你网络(图 2 中的 T-net)预测仿射变换矩阵,并将该变换直接应用于输入点的坐标。迷你网络本身类似于大网络,由点独立特征提取、最大池化和全连接层等基本模块组成。有关 T-net 的更多详细信息请参阅补充材料。
这个想法也可以进一步扩展到特征空间的对齐。我们可以在点特征上插入另一个对齐网络并预测特征转换矩阵以对齐来自不同输入点云的特征。然而,特征空间中的变换矩阵的维数远高于空间变换矩阵,这大大增加了优化的难度。因此,我们在 softmax 训练损失中添加了一个正则化项。我们将特征变换矩阵限制为接近正交矩阵:·
L r e g = ∥ I − A A T ∥ F 2 , \begin{equation*} L_{reg}=\Vert I-AA^{T}\Vert_{F}^{2},\tag{2} \end{equation*} Lreg=IAATF2,(2)
其中 A 是迷你网络预测的特征对齐矩阵。正交变换不会丢失输入中的信息,因此是理想的。我们发现,通过添加正则化项,优化变得更加稳定,我们的模型取得了更好的性能。

4.3. Theoretical Analysis

Universal Approximation通用逼近

我们首先展示神经网络对连续集函数的通用逼近能力。通过集合函数的连续性,直观地,对输入点集的小扰动不应极大地改变函数值,例如分类或分割分数。

image-20240321223134870

image-20240321223218692

图 3.
零件分割的定性结果。我们可视化所有 16 个对象类别的 CAD 零件分割结果。我们展示了部分模拟 kinect 扫描(左图)和完整 ShapeNet CAD 模型(右图)的结果。

image-20240321223341802

其中 x1,…,xn 是 S 中任意排序的元素的完整列表,γ 是连续函数,MAX 是向量最大值运算符,它将 n 个向量作为输入并返回元素级最大值的新向量。
这个定理的证明可以在我们的补充材料中找到。关键思想是,在最坏的情况下,网络可以通过将空间划分为大小相等的体素来学习将点云转换为体积表示。然而,在实践中,网络学习了一种更智能的策略来探测空间,正如我们将在点函数可视化中看到的那样。

Bottleneck Dimension and Stability

理论上和实验上我们发现网络的表达能力受到最大池化层的维度(即(1)中的 K)的强烈影响。在这里,我们提供了一个分析,它也揭示了与我们模型稳定性相关的属性。
我们定义 u=MAXxi∈S{h(xi)} 为 f 的子网络,它将 [0,1]m 中的点集映射到 K 维向量。以下定理告诉我们,输入集中的小损坏或额外噪声点不太可能改变网络的输出:

image-20240321223459777

我们解释该定理的含义。 (a) 表示如果 CS 中的所有点都被保留,则 f(S) 在输入损坏之前保持不变;对于高达 NS 的额外噪声点,它也保持不变。 (b) 表示 CS 仅包含有限数量的点,由 (1) 中的 K 确定。换句话说,f(S)实际上完全由小于或等于K个元素的有限子集CS⊆S决定。因此,我们称CS为S的临界点集,K为f的瓶颈维度。
结合 h 的连续性,这解释了我们的模型在点扰动、损坏和额外噪声点方面的鲁棒性。鲁棒性的获得类似于机器学习模型中的稀疏性原理。直观地说,我们的网络学习通过一组稀疏的关键点来总结形状。在实验部分我们看到关键点形成了物体的骨架。

Experiment

实验分为四个部分。首先,我们展示了 PointNets 可以应用于多种 3D 识别任务(第 5.1 节)。其次,我们提供详细的实验来验证我们的网络设计(第 5.2 节)。最后,我们可视化网络学习的内容(第 5.3 节)并分析时间和空间复杂性(第 5.4 节)。

5.1. Applications

在本节中,我们将展示如何训练我们的网络来执行 3D 对象分类、对象部分分割和语义场景分割 1。即使我们正在研究全新的数据表示(点集),我们也能够实现可比较甚至甚至在多项任务的基准测试中获得更好的性能。

3D Object Classification

我们的网络学习可用于对象分类的全局点云特征。我们在 ModelNet40 [25] 形状分类基准上评估我们的模型。有来自 40 个人造物体类别的 12,311 个 CAD 模型,分为 9,843 个用于训练和 2,468 个用于测试。虽然以前的方法侧重于体积和多视图图像表示,但我们是第一个直接在原始点云上工作的方法。

表 2. ShapeNet 零件数据集的分割结果。指标是点的 mIoU(%)。我们与两种传统方法[24]和[26]以及我们提出的3D全卷积网络基线进行了比较。我们的点网方法在 mIoU 中达到了最先进的水平。

image-20240321223854525

我们根据面面积均匀采样网格面上的 1024 个点,并将它们归一化为单位球体。在训练期间,我们通过沿上轴随机旋转对象来动态增强点云,并通过零均值和 0.02 标准差的高斯噪声抖动每个点的位置。
在表 1 中,我们将我们的模型与之前的工作以及使用 MLP 对从点云提取的传统特征(点密度、D2、形状轮廓等)进行比较的基线进行了比较。我们的模型在基于 3D 输入(体积和点云)的方法中实现了最先进的性能。仅通过全连接层和最大池化,我们的网络在推理速度方面取得了领先优势,并且也可以轻松地在 CPU 中并行化。我们的方法和基于多视图的方法(MVCNN [20])之间仍然存在很小的差距,我们认为这是由于渲染图像可以捕获的精细几何细节的丢失造成的。

3D Object Part Segmentation 3D 对象部分分割

零件分割是一项具有挑战性的细粒度 3D 识别任务。给定 3D 扫描或网格模型,任务是将零件类别标签(例如椅子腿、杯子手柄)分配给每个点或面。
我们对[26]中的 ShapeNet 零件数据集进行评估,该数据集包含来自 16 个类别的 16,881 个形状,总共注释了 50 个零件。大多数对象类别都标有两到五个部分。地面实况注释标记在形状上的采样点上。
我们将零件分割制定为每点分类问题。评估指标是点上的 mIoU。对于类别 C 的每个形状 S,计算形状的 mIoU: 对于类别 C 中的每个零件类型,计算真实值和预测之间的 IoU。如果真实点和预测点的并集为空,则将部分 IoU 计为 1。然后我们对类别 C 中所有部分类型的 IoU 进行平均,以获得该形状的 mIoU。为了计算该类别的 mIoU,我们取该类别中所有形状的 mIoU 的平均值。
在本节中,我们将我们的分割版本 PointNet(图 2 分割网络的修改版本)与两种传统方法 [24] 和 [26] 进行比较,这两种方法都利用逐点几何特征和形状之间的对应关系,以及我们自己的 3D CNN 基线。有关 3D CNN 的详细修改和网络架构,请参阅补充。
在表 2 中,我们报告了每个类别的平均 IoU(%) 分数。我们观察到平均 IoU 提高了 2.3%,并且我们的网络在大多数类别中都优于基线方法。
我们还对模拟 Kinect 扫描进行了实验,以测试这些方法的稳健性。对于 ShapeNet 零件数据集中的每个 CAD 模型,我们使用 Blansor Kinect Simulator [7] 从六个随机视点生成不完整的点云。我们使用相同的网络架构和训练设置在完整形状和部分扫描上训练 PointNet。结果显示,我们仅损失了 5.3% 的平均 IoU。在图 3 中,我们展示了完整数据和部分数据的定性结果。可以看出,虽然部分数据相当具有挑战性,但我们的预测是合理的。

Semantic Segmentation in Scenes

我们的零件分割网络可以轻松扩展到语义场景分割,其中点标签成为语义对象类而不是对象部分标签。
我们在斯坦福 3D 语义解析数据集 [1] 上进行实验。该数据集包含 Matterport 扫描仪对 6 个区域(包括 271 个房间)的 3D 扫描结果。扫描中的每个点都用来自 13 个类别(椅子、桌子、地板、墙壁等以及杂乱)的语义标签之一进行注释。
为了准备训练数据,我们首先按房间分割点,然后将房间采样成面积为 1m x 1m 的块。我们训练 PointNet 的分割版本来预测每个块中的每个点类。每个点都由 XYZ、RGB 和房间标准化位置(从 0 到 1)的 9 维向量表示。在训练时,我们动态随机采样每个块中的 4096 个点。在测试时,我们对所有点进行测试。我们遵循与[1]相同的协议,使用 k 折策略进行训练和测试。

image-20240321224201601

图 4.
语义分割的定性结果。顶行是带有颜色的输入点云。底行是在与输入相同的相机视点中显示的输出语义分割结果(在点上)。

表 3. 场景语义分割结果。指标是 13 个类别(结构和家具元素加上杂波)的平均 IoU 以及根据点计算的分类精度。

image-20240321224251985

我们将我们的方法与使用手工制作的点特征的基线进行比较。基线提取相同的 9 维局部特征和三个附加特征:局部点密度、局部曲率和法线。我们使用标准 MLP 作为分类器。结果如表 3 所示,其中我们的 PointNet 方法明显优于基线方法。在图 4 中,我们显示了定性分割结果。我们的网络能够输出平滑的预测,并且对缺失点和遮挡具有鲁棒性。
基于我们网络的语义分割输出,我们进一步构建了一个使用连接组件进行对象提议的 3D 对象检测系统(详细信息请参阅补充)。我们在表 4 中与之前最先进的方法进行了比较。之前的方法基于滑动形状方法(带有 CRF 后处理),其中支持向量机在体素网格中的局部几何特征和全局房间上下文特征上进行训练。我们的方法在报告的家具类别上远远优于它。

5.2. Architecture Design Analysis

在本节中,我们通过控制实验验证我们的设计选择。我们还展示了网络超参数的影响。

Comparison with Alternative Order-Invariant Methods

我们展示了我们的 PointNet 虽然简单有效,但对各种输入损坏具有鲁棒性。我们使用与图 5 的最大池网络相同的架构。输入点被标准化为单位球体。结果如图 6 所示。
至于缺失点,当缺失 50% 的点时,准确率仅下降 2.4% 和 3.8% w.r.t。最远的随机输入采样。如果我们的网络在训练期间发现了异常点,那么它对异常点也具有鲁棒性。我们评估两种模型:一种是在具有 (x, y, z) 坐标的点上训练的;另一种是在具有 (x, y, z) 坐标的点上训练的。另一个关于 (x, y, z) 加上点密度。即使 20% 的点是异常值,网络的准确率也超过 80%。图 6 右图显示该网络对于点扰动具有鲁棒性。正如 4.2 节中提到的,至少有 3 个选项可用于使用无序集合输入。我们使用 ModelNet40 形状分类问题作为测试床来比较这些选项,下面的两个对照实验也将使用此任务。
我们比较的基线(如图 5 所示)包括将未排序和排序点作为 n×3 数组的多层感知器、将输入点视为序列的 RNN 模型以及基于对称函数的模型。我们实验的对称操作包括最大池化、平均池化和基于注意力的加权和。注意力方法类似于[22]中的方法,其中从每个点特征预测标量分数,然后通过计算 softmax 跨点对分数进行归一化。然后根据归一化分数和点特征计算加权和。如图5所示,最大池化操作以较大的获胜幅度实现了最佳性能,这验证了我们的选择。

image-20240321224442520

图 5.
实现顺序不变性的三种方法。应用于点的多层感知器 (MLP) 由 5 个隐藏层组成,神经元大小为 64、64、64、128、1024,所有点共享 MLP 的单个副本。接近输出的 MLP 由大小为 512,256 的两层组成。

Effectiveness of Input and Feature Transformations

在表 5 中,我们展示了输入和特征转换(用于对齐)的积极影响。有趣的是,最基本的架构已经取得了相当合理的结果。使用输入转换可将性能提升 0.8%。正则化损失对于高维变换的工作是必要的。通过结合变换和正则化项,我们实现了最佳性能。

Robustness Test

我们展示了我们的 PointNet 虽然简单有效,但对各种输入损坏具有鲁棒性。我们使用与图 5 的最大池网络相同的架构。输入点被标准化为单位球体。结果如图 6 所示。
至于缺失点,当缺失 50% 的点时,准确率仅下降 2.4% 和 3.8% w.r.t。最远的随机输入采样。如果我们的网络在训练期间发现了异常点,那么它对异常点也具有鲁棒性。我们评估两种模型:一种是在具有 (x, y, z) 坐标的点上训练的;另一种是在具有 (x, y, z) 坐标的点上训练的。另一个关于 (x, y, z) 加上点密度。即使 20% 的点是异常值,网络的准确率也超过 80%。图 6 右图显示该网络对于点扰动具有鲁棒性。

image-20240321224732678

图 6.
PointNet 稳健性测试。该指标是 ModelNet40 测试集上的总体分类准确性。左:删除点。最远是指用最远采样对原来的1024个点进行采样。中:插入。异常值均匀分布在单位球内。右:扰动。独立地向每个点添加高斯噪声。

表 5. 输入特征转换的效果。指标是 ModelNet40 测试集上的总体分类准确性。

image-20240321224821701

5.3. Visualizing PointNet

在图 7 中,我们可视化了一些样本形状 S 的临界点集 CS 和上限形状 NS(如 Thm 2 中讨论的)的一些结果。两个形状之间的点集将给出完全相同的全局形状特征 f (S)。
从图 7 中我们可以清楚地看到,对最大池化特征有贡献的关键点集 CS 总结了形状的骨架。上界形状 NS 说明了与输入点云 S 具有相同全局形状特征 f(S) 的最大可能点云。CS 和 NS 反映了 PointNet 的鲁棒性,这意味着丢失一些非关键点不会改变全局形状特征 f(S) 。
NS的构建是通过网络转发边长为2的立方体中的所有点,并选择点函数值(h1(p),h2(p),⋯,hK(p))不大于的点p全局形状描述符。

image-20240321224911047

图 7.
临界点和上限形状。虽然临界点共同确定给定形状的全局形状特征,但落在临界点集和上限形状之间的任何点云都会给出完全相同的特征。我们对所有图形进行颜色编码以显示深度信息

5.4. Time and Space Complexity Analysis

表 6 总结了我们的 PointNet 分类的空间(网络中的参数数量)和时间(浮点运算/样本)复杂性。我们还将 PointNet 与之前作品中一组代表性的基于体积和多视图的架构进行比较。
虽然 MVCNN [20] 和 Subvolume (3D CNN) [16] 实现了高性能,但 PointNet 在计算成本方面更高效(以 FLOPs/样本衡量:效率分别提高了 141 倍和 8 倍)。此外,就网络中的 #param 而言,PointNet 比 MVCNN 具有更高的空间效率(参数少 17 倍)。此外,PointNet 的可扩展性更高——它的空间和时间复杂度与输入点的数量呈 O(N) 线性关系。然而,由于卷积在计算时间上占主导地位,多视图方法的时间复杂度随图像分辨率成正比增长,而基于体积卷积的方法则随体积大小成立方增长。
根据经验,PointNet 能够在 TensorFlow 上使用 1080X GPU 每秒处理超过 100 万个点,用于点云分类(约 1K 对象/秒)或语义分割(约 2 个房间/秒),显示出实时应用的巨大潜力。

表 6. 3D 数据分类深层架构的时间和空间复杂度。 PointNet (vanilla) 是没有输入和特征转换的分类点网。 FLOP 代表浮点运算。 “m”代表百万。 Subvolume 和 MVCNN 对来自多个旋转或视图的输入数据使用池化,如果没有池化,它们的性能就会差很多。

image-20240321225102236

Conclusion

在这项工作中,我们提出了一种直接消耗点云的新型深度神经网络 PointNet。我们的网络为许多 3D 识别任务提供了统一的方法,包括对象分类、部分分割和语义分割,同时在标准基准上获得与现有技术相当或更好的结果。我们还提供理论分析和可视化以帮助理解我们的网络。
致谢
作者衷心感谢三星 GRO 拨款、ONR MURI N00014-13-1-0341 拨款、NSF 拨款 IIS-1528025、Google 重点研究奖、Adobe 公司的礼物以及 NVIDIA 的硬件捐赠的支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值