论文原文:添加链接描述
1.点云是一种重要的几何数据结构,由于无序性,把点云数据转换成有序的3D体素网格或者图片集合会使数据增加导致问题。
2.本文设计了一种直接处理点云的新型神经网络,考虑了输入点的有序性,为分类、分割等提供了统一的结构。
3.从理论上解释了网络学习到了什么和为什么网络能够对输入数据的扰动和损坏保持高度鲁棒性进行了分析。
典型的卷积结构要求高度规则的输入数据格式(图片网格、3D体素数据),为实现权重分享和其他核函数优化。大部分研究如下:
点云数据 —>3D体素网格或图片—>深度网络模型
结果:数据不必要地增加,引入了模糊数据
PointNet需要重视的是:点云只是一组点,因此对其成员的排列不变性需要在网络计算中进行对称化操作(使得函数值与其变量的排列无关)
PointNet是一个统一模型,直接将点云作为输入,输出整个输入的类标签。在初始阶段,每个点的处理方式完全相同且独立。在基础设置中,每个点仅用它的三个坐标(x,y,z)表示。额外维度可以通过计算法线核其他局部或者全局特征来添加。
网络的关键在于使用单个对称函数,最大池化。
因为每个点都是独立变换的,因此能够增加一个依赖数据的空间变换网络,该网络会在PointNet处理数据前对数据进行规范化,改善结果。
我们设计了一个深度学习框架,直接使用无序点集作为输入。点云表示为一组3D点{Pi|i=1,…,n},其中每个点的Pi是其坐标(x,y,z)的向量加上额外的特征通道,例如颜色、法线等,除非另有说明,我们只使用坐标(x,y,z)作为我们的通道。
对于对象分类任务,输入点云要么直接从形状采样,要么从场景点云中预分割。我们提出的深度网络输出所有k个候选类别的k分数。
对于语义分割,输入可以用于部分区域分割的单个对象,或者是用于对象区域分割的3D场景的一个子体积。我们的模型将为n个点和m个语义子分类中的每一个输出n x m分数。
我们网络的架构的灵感来自R ^n中的点集的属性。
我们的输入是来自欧式空间的点的子集。有三个主要属性:
分类网络将N个点作为输入,作用输入和特征变换,然后通过最大池聚合点的特征。输出的是K中分类的分类分数。分割网络是分类网络的拓展,它连接局部和全局特征以及每个点输出的分数。“mlp”代表多层感知机,Batchnorm用于Relu的所有层。Dropout层用于分类网络中的最后一个多层感知机。
网络中有三个关键模块:
使模型对输入排序不变,存在三种策略:
排序听起来是简单的解决办法,在高维空间中实际上并不存在稳定的排序,点扰动时要求排序的稳定等同在维度降低时保持映射在空间上的接近度,这一般是无法实现的任务。因此排序并不能完全解决排序问题,网络很难学习到一致的从输入到输出的映射。但实验显示,在排序点集上应用mlp变现不好,但比直接处理无序输入要好。(第一种方法pass)
第二种策略直接pass
文中的想法是通过对集合中转换元素应用对称函数来近似在点集上定义的一般函数:
根据实验,我们的基础模型十分简单:通过多层感知机来近似h,并通过单个变量函数和最大池化的组合来近似g。通过h的集合,我们可以学到一些f来捕获点集的不同属性。
上一节的输出组成了一个向量[f1…fk],这是输入集的全局标签。我们可以在形同全局特征上很容易训练多层感知机分类器以进行分类。
在计算完全局点云特征向量后,我们将全局特征和每一个点的特征连接起来反馈给每一个点特征。然后我们基于组合的点特征提取新的每个点的特征,这样每个点特征都考虑了局部和全局信息。
通过这样修改,我们的网络讷讷感狗预测依赖于局部集合和全局语义的每个点数量。例如我们可以准确预测出每个点的法线。
网络希望点集的学习表示对这些几何变换时不变的。
文中通过T-net预测仿射变换矩阵,并直接将该变换作用于输入点的坐标。
我们在softmax的训练损失中增加了一个正则化项。约束特征变换矩阵接近于正交矩阵。
其中A时T-net预测的特征对齐矩阵,正交变换不会丢失输入的信息,因此期望时正交变换。
3D对象分类我们的模型学习了可用于对象分类的全局点云特征。在ModelNet40形状分类基准上评估了我们的模型。来自40个人造对象类别的12311个CAD模型划分成9843个用于训练,2468个用于测试。
我们根据表面区域在网格表面均匀采样1024个点,并把他们标准化为单位球体。我们通过沿着向上轴随意旋转物体并通过具有零均值和0.02标准偏差的高斯噪声抖动每个点的位置来实时增加点云。
目前需要理解的部分以上已列出,主要是为加深一下印象,全文翻译可以推荐看i下面的博客
pointnet翻译