PointNet

针对三维分类和分割的点集深度学习 论文地址:PointNet

主要思路

(1) 对每个点使用多层感知机(MLP)进行特征提取,得到点特征。 (2) 对所有点的特征使用对称函数(最大池化)进行聚合,得到全局特征。这可以保证网络对点云顺序不变性。 (3) 将全局特征反馈到每个点,与每个点的特征拼接,得到局部和全局信息融合的点特征。 (4) 基于点特征可以进行分类或语义分割等不同任务。

摘要

点云是一种重要的几何数据结构。但是因为其不规则格式,以往的研究基本是将这些数据结构转换为规则的三维体素网格或者图像集合。

转换为三维体素网格的具体步骤:对三维空间进行均匀采样,得到体素结构;对每个体素,如果体素中包含点云中的点,则将该体素的值设为1,否则设为0,得到三维的0-1体素栅格;对这个三维的体素栅格应用三维卷积神经网络进行处理。缺点:虽然可以直接在三维网格上应用卷积,但是由于数据稀疏性,需要使用较大体积的体素栅格来表示形状,导致计算和内存成本大。转换为图像集合的具体步骤:从点云的不同视角,渲染出多视图的二维图像;从每张渲染出的图像上应用二维卷积神经网络进行处理;将不同视图特征整合,得到点云的最终表示。缺点:虽然可以利用二维图像的卷积网络进行处理。但是渲染多视图也需要较高计算成本,而且在整合多视图信息时也更复杂。 本文设计一个直接对点云进行处理的神经网络:PointNet,很好的利用了输入点的置换不变性(点云是一个无序的点集,点云中点的顺序是任意的,不会影响其代表的三维形状。对点云进行处理的神经网络,需要对点的输入顺序保持不变性,即网络输出需要与点的顺序无关。这就是输入点的置换不变性。普通的卷积网络或全连接网络都依赖点的输入顺序,因此不能满足置换不变性。PointNet通过使用对称函数(如最大池化)在点特征上进行聚合,来实现对点顺序的不变性。)

引言

本文探索了能够对点云等三维几何数据进行推理的深度学习架构。典型的卷积体系结构需要高度规则的输入数据格式,如图像或3D网格,以便进行权重分配(共享权重的卷积核)和其他内核优化(如使用稀疏连接的卷积核,使用离散的卷积核大小如3x3,5x5,使用分组卷积,优化数据访问模式等)。由于点云不是一个规则的数据格式,大多数研究员通常将这些数据格式转换为格则的3D体素网格或图像集合,然后再使用深度学习网络。这种数据转换会使数据变得庞大且引入了量化操作,会模糊点云数据的输入不变性。 网格(Mesh)和3D体素网格(3D Voxel Grid)都是表示三维形状的结构,主要区别在于: 1.表示方式不同(1) 网格使用点、线、面等要素表示三维形状的细节和表面。(2) 3D体素网格是将三维空间离散化成小的立方体单元(体素),用体素的状态(空或占用)表示形状。 2.细节程度不同(1) 网格可以表示三维形状的细微表面特征,细节程度高。(2) 3D体素网格受体素分辨率限制,表示较粗糙,难以表示微小表面特征。 3.计算复杂度不同(1) 在网格上进行运算更复杂,需要处理不规则的点、线、面。(2) 3D体素网格具有规则立方体结构,比较适合在其上进行三维卷积等运算。 4.常见用途不同(1) 网格更适合表示和建模复杂三维表面。(2) 3D体素网格更适合作为机器学习模型的输入,进行三维形状分析等。 总之,网格表示更细致更复杂,3D体素网格表示更规整更简化 本文提出了只是用简单的点云作为输入的PointNet深度神经网络。点云是一种简单而且统一的结构,避免了网格组合的不规则性和复杂性。但是点云只是一组点的集合,因此对其成员的置换不变性,需要在网络计算中进行某些对称。还需要考虑刚性运动(不改变物体形状的运动,PointNet通过T-Net的刚性对齐来实现这一要求。)的进一步不变性。 PointNet直接将点云作为输入,并为整个输入输出类标签,或者为输入的每个点输出每个、段/部分标签。在网络的最初阶段,每个点都是相同和独立的处理的。在基本的设置中,每个点仅由它的三个坐标(x,y,z)表示,可以通过计算法线和其他局部或全局特征来添加格外的维度。 本文的关键是,使用对称函数:最大池化操作。 关键贡献:

设计了一种新的适用于三维无序点云输入的深度神经网络结构展示了如何训练这样一个网络来进行3维分类,分割,语义分析等任务对该方法的稳定性和有效性进行了深入的论证和理论分析举例说明了由网络中选定的神经元计算出的三维特征,并对其性能给出了直观的解释。

相关工作

点云特征

点云的大多数现有特征都是针对特定任务手工制作的。点的特征通常编码为点的某些统计性质,并被设计成对某些变换不变。这些变换通常被分类为本征或外征。也可以分为局部特征和全局特征。 对于一个特定的任务,寻找最优的特征组合并不是一件小事。

基于三维数据的深度学习

Volumetric CNNs 是将三维卷积神经网络应用于体素化形状的先驱。FPNN和Vote3D提出了处理稀疏性问题的特殊方法;然而,他们的操作仍然是在稀疏卷积上,对处理非常大的点云非常有挑战性。Multiview CNNs 已经尝试将3D点云渲染成2D图像,然后应用2D卷积神经网络对它们进行分类。Spectral CNNs 在网格上使用Spectral CNNs,这种方法局限于像有机物体这种流状网格。Feature-based DNNs 首先通过提取传统形状特征将三维数据转换为矢量,然后利用全连通网络对形状进行分类。 我们认为它们受到所提取特征的表示能力的限制。

无序集上的深度学习

从数据结构的角度来看,点云是一个无序的向量集。 虽然深度学习的大部分工作集中在常规输入表示上,如序列(在语音和语言处理中)、图像(视频或3D数据),但在点集上的深度学习方面做的工作并不多。

问题陈述

本文设计了一个直接消费无序点集作为输入的深度学习框架。 点云被表示为一组三维点{pi i=1,…,n},其中每个点pi是它的(x,y,z)坐标加上额外的特征通道如颜色、法线等的向量。 对于目标分类任务,深度网络为所有k个候选类输出k个分数。对于语义分割,模型将为N个点中的每一个和M个语义子类别中的每一个输出N×M个分数。

点集上的深度学习

点集的性质

无序:与图像中的像素阵列或体素网格中的体素阵列不同,点云是一组没有特定顺序的点。各点之间的相互作用:这些点来自一个有距离度量的空间。它意味着点不是孤立的,相邻点形成一个有意义的子集。因此,该模型需要能够从附近的点捕获局部结构,以及局部结构之间的组合相互作用。置换不变性:作为一个几何对象,所学到的点集应该是对某些变换表现出不变的。 例如,旋转和平移点都不应该修改全局点云类别或点的分割。

PointNet体系结构

(该分类网络以N个点为输入,进行输入和特征变换,然后通过最大池聚合点特征。 输出为K个类的分类分数。 分割网络是分类网络的扩展。 它连接全局和局部特征,并输出每点得分。 “MLP”代表多层感知器,括号中的数字为层大小。 BatchNorm用于所有具有RELU的层。 在分类网的最后一个MLP中使用了Dropout layers。) 网络有三个关键模块:

最大池化层作为一个对称函数来聚合所有点的信息一个局部和全局的信息组合结构两个联合对齐网络来对齐输入点和点特征

无序输入的对称函数

为了使模型对输入排列不变性,有三种策略:1)将输入按正则序排序;2)将输入作为序列来训练RNN,但通过各种排列来增加训练数据;3)使用一个简单的对称函数来聚合每个点的信息。这里,对称函数以n个向量作为输入,并输出一个不随输入顺序变化的新向量。

虽然排序听起来像一个简单的解决方案,但在高维空间中实际上不存在稳定的排序。使用RNN的想法将点集视为序列信号,并希望通过用随机排列的序列训练RNN,RNN将变得对输入顺序不变。虽然RNN对于小长度(几十个)序列的输入排序具有相对较好的鲁棒性,但很难扩展到数千个输入元素,这是点集的常见大小。本文的想法是通过在集合中的变换元素上应用对称函数来近似定义在点集合上的一般函数 通过多层感知器网络来近似h,并且通过单变量函数和最大池化函数的组合来近似g。

局部和全局信息聚合

来自以上部分的输出形成向量[f1,…,fK],其是输入集的全局信息。我们可以很容易地训练一个SVM或多层感知器分类器的形状全局特征进行分类。然而,点分割需要局部和全局知识的组合。 在计算全局点云特征向量之后,我们通过将全局特征与每个点特征连接来将其反馈给每个点特征。然后,我们基于组合的点特征提取新的每个点特征,这次每个点特征知道局部和全局信息。 通过这种修改,我们的网络能够预测依赖于局部几何和全局语义的每个点的数量。网络能够从点的局部邻域总结信息。

联合对准网络

如果点云经历某些几何变换,例如刚性变换,则点云的语义标记必须是不变的。 一个自然的解决方案是在特征提取之前将所有输入集对齐到规范空间。Jaderberg等人引入了空间Transformer的思想,通过采样和插值来对齐2D图像,通过在GPU上实现的专门定制的层来实现。 与Jaderberg等人相比,本文的点云输入形式使我们能够以更简单的方式实现这一目标。我们不需要发明任何新的层,也不像在图像情况下那样引入别名。我们通过一个迷你网络(T-Net)预测仿射变换矩阵,并将该变换直接应用于输入点的坐标。minnetwork本身类似于大网络,由点无关特征提取,最大池和全连接层的基本模块组成。 该思想还可以进一步扩展到特征空间的对齐。我们可以在点特征上插入另一个对齐网络,并预测特征变换矩阵以对齐来自不同输入点云的特征。然而,特征空间中的变换矩阵比空间变换矩阵具有更高的维数,这大大增加了优化的难度。因此,我们将正则化项添加到softmax训练损失中。我们将特征变换矩阵约束为接近正交矩阵。

结论

在这项工作中,提出了一种新的深度神经网络PointNet,它直接使用点云。网络为许多3D识别任务提供了统一的方法,包括对象分类,部分分割和语义分割,同时在标准基准测试中获得与现有技术相当或更好的结果。

相关文章

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。