英语原文共 9 页
PointNet:基于深度学习的三维点云的分类和分割
摘要
点云是一种重要的几何数据结构。由于其形式不规则,大多数研究人员将此类数据转换为常规3D体素网格或图像集合,但这种方法会导致数据量大增,从而引发问题。在本文中,我们设计了一个直接处理点云的新型神经网络,它能够很好地解决点云数据无序性的问题。 我们的网络名为PointNet,为从事物体分类,部分分割及场景语义分析等应用提供统一的框架。PointNet虽然简单,但非常高效。从经验上讲,它强劲的表现可以匹敌现有最好的技术甚至比现有技术更好。从理论上讲,我们对网络学习了什么以及为什么在输入扰动和变体的情况下依然能够保持鲁棒性而做了分析。
1、简介
在本文中,我们探索了能够直接处理三维几何数据(如点云或网格)的深度学习框架。 典型的卷积结构要求输入数据的格式高度规则,如图像网格或3D体素的格式,以便执行权重共享和其他内核优化。由于点云和网格的格式是不规则的,因此大多数研究人员通常将这些数据转换为常规3D体素网格或图像集合(例如视图),然后再将其输入到深度学习网络中。然而,这种数据格式的转变会导致结果数据不必要地大增,同时还会引入可能掩盖数据自然不变性的伪像。
出于这个原因,我们将重点放在一种不同的输入形式上,即直接使用简单点云数据作为输入,并将生成的深度学习框架命名为PointNet。点云是简单而统一的结构,可以避免网格的不规则性和复杂性,因此更容易学习。然而,PointNet仍须尊重点云的无序性,点云只是一组点的集合,点的顺序不影响它在空间中对整体形状的表示,因此需要在网络计算中进行一些对称操作。此外,还需进一步考虑点云经过刚性运动(旋转或平移)的不变性。
图1. PointNet的应用。 我们提出了一种新颖的深度学习框架,它能直接处理原始点云(点集)而无需体素化或渲染。它是一个统一的架构,可以同时学习全局和局部点特征,为许多3D识别任务提供了简单有效且高效率的方法。
我们的PointNet是一个直接将点云作为输入的统一架构,它可以为整个输入对象输出物体标签,或者为每个输入点输出分割/部分标签。我们网络的基础架构非常简单,在初始阶段,每个点都是被独立处理的。在基础设置中,每个点仅由它的三个坐标(x,y,z)表示,额外的维度可以是法线或是其他的局部或全局特征。
我们方法的关键点在于使用单个对称函数,即max pooling。网络通过学习选择出点云中感兴趣点/信息点,并将选择的原理编码到模型中,最后利用全连接层将学习到的特征聚合为全局描述子应用于整体形状(形状分类)或用来预测每个点的标签(形状分割)。
我们的输入格式很容易遇到刚性或仿射变换,因此,我们可以添加一个依赖于数据的空间转换网络来处理刚性或仿射变换,该网络在PointNet处理数据之前对数据进行规范化,以便进一步改进结果(消除旋转等变化带来的影响)。
我们提供了本方法的理论分析和实验评估,证明了我们的网络可以模拟任何连续函数。更有趣的是,我们的网络会用一组稀疏的关键点来概括输入点云,可视化后发现,这些关键点大致对应目标图像的骨架。我们也从插点(outliers)和删点(missing data)的角度证明了为何网络对于输入的小扰动高度鲁棒。
在从形状分类,部分分割到场景分割的许多基线数据集中,我们通过实验将PointNet与基于多视图和体积表示的最先进方法进行比较。在统一的体系下,我们的PointNet不仅速度更快,而且还具有与最好技术相当甚至更好的性能。我们工作的主要贡献如下:
bull;我们设计了一种新颖的深度学习网络框架来直接处理三维无序点云数据。
bull;我们展示了如何训练这样的网络来实现3D形状分类,形状部分分割和场景语义分析任务;
bull;我们从经验和理论上对本方法的稳定性和效率进行了全面的分析。
bull;我们演示了网络选择的神经元计算出的三维特征,并对其性能进行了直观的解释。
通过神经网络处理无序集合的问题是一个非常普遍和基本的问题,我们希望我们的想法也可以应用到其他领域。
2、相关工作
点云特征 大多数现有点云的特征都是针对特定任务人工提取的。 点特征通常由点的某些统计特征编码而成,并能够在某些特定变化下保持不变,这些特征通常被分类为内在特征[2,24,3]或外在的特征20,19,14,10,5]。特征还可以分类为局部特征和全局特征。对于特定任务,找到最佳特征组合并非易事。
三维数据的深度学习 3D数据具有多种流行表示,因此形成了各种学习方法。体积卷积神经网络:[28,17,18]是在体素形状上应用3D卷积神经网络的先驱。然而,由于数据稀疏性和3D卷积的计算成本,体积表示受其分辨率的限制。 FPNN [13]和Vote3D [26]提出了处理稀疏性问题的特殊方法;然而他们的操作仍是基于稀疏体积的,因此在处理非常大的点云时具有挑战性。多视图卷积神经网络:[23,18]尝试将3D点云或形状转换为2D图像,然后应用2D卷积网络对它们进行分类。通过精心设计的图像卷积神经网络,这一系列方法在形状分类和检索任务方面占了主导地位[21]。然而,它们却很难被扩展到场景理解或其他3D任务(例如点分类和形状补充)。光谱卷积神经网络:一些最新的做法是 [4,16]在网格上使用光谱卷积网络。然而,这些方法目前受限于诸如有机物体之类的流形网格,且目前并不知道如何将它们扩展到非等距形状(例如家具)的分类。基于特征的深度神经网络:[6,8]首先通过提取传统的形状特征将3D数据转换为矢量,然后使用完全连接的网络对形状进行分类,但我们认为它会受到所提取特征的表现能力的约束。
无序集的深度学习 从数据结构的角度来看,点云是一组无序的向量。 大多数深度学习工作都集中在常规输入形式上,如序列(语音和语言处理),图像和体积(视频或3D数据),但在基于点集的深度学习上并没有做太多工作。
Oriol Vinyals等人最近的一项工作[25]研究了这个问题。 他们使用具有注意机制的读进程编写网络来处理无序输入集,并展示了该网络对数字排序的能力。但是,他们的工作主要集中在通用集和自然语言处理应用上,缺少几何集合的应用。
3、问题陈述
我们设计了一个直接使用无序点集作为输入的深度学习框架。点云被表示为一组3D点{Pi|i=1,...,n}的集合,其中每个点Pi是其(x,y,z)坐标向量加上额外的特征通道,如颜色、法线等。为了简单方便,除非另有说明,否则我们只使用(x,y,z)坐标作为点的特征通道。
对于物体分类任务,输入点云要么直接从形状采样,要么从场景点云预分割。我们提出的深度网络输出所有k个候选类别的k个数值。对于语义分割,输入可以是用于部分区域分割出的单个物体,也可以是来自用于对象区域分割出的子区域。我们的模型将为n个点和m个语义子类别输出ntimes;m个数值。
图2. PointNet架构。 分类网络将n个点作为输入,应用输入和特征变换,然后通过最大池来聚合点特征。输出k个类别的分类分数。分割网络是分类网络的扩展。它将每个点的全局和局部特征和输出连接在一起。 “mlp”代表多层感知器,括号中的数字是层大小。 Batchnorm是所有带ReLU激活函数的层。 Dropout层(Dropout是指在模型训练时随机让网络某些隐含层节点的权重不工作)是分类网络中的最后一个mlp。
4.对点集的深度学习
我们的网络架构(第4.2节)的灵感来自于(第4.1节)中点集的性质。
4.1 中点集的性质
我们的输入是来自欧氏空间的点的子集。它有三个主要属性:
bull;无序性。 与图像中的像素阵列或体积网格中的体素阵列不同,点云是一组没有特定顺序的点。因此要求一个以N个3D点为输入的网络需要对数据的N!种排列具有不变性
bull;点与点之间的相关性。 由于这些点是空间中一个有意义的子集里面按照某种距离矩阵生成的,意味着每个点都不是孤立的,这就要求网络要有能力识别这些相邻点之间的局部结构和这些结构的组合。
bull;· 旋转不变性。作为几何物体,学到的点云描述应该对某些变换鲁棒。例如,在点云整体旋转和平移的变化下,网络对于点云的分类和分割结果不应该改变。
4.2 PointNet架构
我们的完整网络架构可视化于图二,其中分类网络和分段网络共享很大一部分结构。 请阅读图2的标题。
我们的网络有三个关键模块:聚集所有点信息的对称函数最大池层、局部和全局信息组合结构、以及连接输入点和点特征的联合对准网络。
我们将在下面的单独段落中讨论这些设计选择背后的原因。
无序输入的对称函数 目前存在三种策略使模型对于输入序列具有不变性:1)将输入排序为一个规范化顺序; 2)将输入看作一个序列来训练循环神经网络,并用所有可能的排序来扩充训练数据;3)使用简单的对称函数来聚集来自每个点的信息。此时,对称函数以n个向量作为输入,并输出一个无关输入顺序的新向量。例如, 和*运算符是二进制对称函数。
虽然排序听起来像一个简单的解决方案,但在高维空间中实际上不存在关于点扰动鲁棒的排序。通过矛盾可以很容易地证明,如果存在这样的排序策略,则它定义高维空间和1d实线之间的双射图。不难看出,如果要求排序关于点扰动鲁棒,等同于要求双摄图图在尺寸减小时保持空间接近度,这是在一般情况下不能实现的任务。因此,排序并不能完全解决问题,并且由于排序问题的存在,网络很难学习从输入到输出一致的映射。如实验所示(图5),我们发现直接在排序点集上应用MLP表现不佳,但比直接处理未排序的输入效果略好。
使用RNN的思想是将点集看作一个序列信号,通过RNN训练任意随机序列,能让RNN对输入顺序具有不变性。然而,在“OrderMatters”[25]中,作者已经表明,顺序很重要,不能完全忽略。虽然RNN对小长度(几十个)序列的输入排序具有较好的鲁棒性,但对于成千个点(点云的通常大小)就很难得到相同的表现了。从经验上讲,我们还证明了基于RNN的模型没有我们提出的方法好(图5)。
我们希望通过对集合中的变换元素应用对称函数,从而来估计一个定义在点集上的一般函数:
f({,sdot;sdot;sdot;, })asymp;g(h(),sdot;sdot;sdot;,h()) (1)
其中f:→R,h:→,对称函数g:→R。
从经验上讲,我们的基本模块非常简单:我们用多层感知机网络来近似习得h,用单变量函数和最大汇聚函数的组合来近似习得g。通过实验我们发现这种方法的效果很好。通过不同的h,可以学习表现基线不同属性的多个f。
虽然我们的关键模块看起来很简单,但是它有很多有趣的特性(参见Sec 5.3),且在不同的应用中都有很好的表现(参见Sec 5.1)。因为我们模块很简单,所以我们在第4.3节中就提供了理论分析。
局部信息和全局信息的聚合 上面部分的输出是一个表征全局特征的向量[,hellip;,,],这是输入集的全局信息。对于分类问题,我们可以直接在全局特征上训练SVM或多层感知器分类器来进行分类。但是,对于点分割问题,则需要将局部和全局信息的组合起来,我们的做法(图2中分割部分所示)是在计算完点云全局特征向量后,将全局特征与每个点特征连接起来,在此基础上提取新的点特征,此时,每个点特征就既包含局部信息又包含全局信息了。
通过这种做法,我们的网络能够根据局部几何信息和全局语义信息预测每个点的情况了。例如,我们可以精确地预测每个点的法线,证明网络能够从该点的局部邻域中总结信息。实验证明,该模型在形状部分分割和场景分割方面均能达到顶尖水平。
联合对准网络
一个点云的语义标签应当对于一些变换(如刚体变换)具有不变性。因此,应当要求习得的点云描述也对于这些变换具有不变性。
一种典型的解决方案是在特征提取之前将所有输入集对齐到规范空间。Jaderberg等人[9]介绍了一种利用空间变换器通过采样和插值来对齐2D图像的想法,并通过在GPU上的设计的特殊定制层来实训实现。
与[9]相比,我们的点云输入形式使我们能够以更简单的方式实现这一目标。我们不需要发明任何新图层,也不会像图像情况那样引入任何别名。我们通过迷你网络(图2中的T-net)来预测仿射变换矩阵,并直接将其直接应用于输入点的坐标系。迷你网络本身类似于大型网络,由点独立特征提取,最大池和全连接层组成。关于T-net的更多细节可以在支撑材料中了解。
这种思想还可以进一步扩展到特征空间。我们可以在点特征上插入另一个对准网络,并预测一个特征变换矩阵来整合不同点云的特征。然而,特征空间中的变换矩阵维数远高于空间变换矩阵,这大大增加了优化的难度。因此,我们在softmax训练损失中增加了一个正则化项。我们将特征变换矩阵约束为正交矩阵:
,
其中A是由迷你网络习得的特征整合矩阵。该正则项要求学习得到的矩阵是正交矩阵,因为正交变换不会丢失输入的信息。通过增加正则化项,优化变得更加稳定,我们的模型能获得更好的性能。
4.3理论分析
万能近似 我们首先证明了神经网络对连续函数的万能逼近能力。直观上,通过集函数的连续性,对输入点集的小扰动不太可能改变函数值,如分类或分割的数值。
正式分析, 令 X = {S : S sube; a
资料编号:[6013]
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。