PointNet分类代码学习(一)----论文翻译

论文翻译

论文原文:添加链接描述

摘要

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中的点集的属性。

R^n中的点集的属性

我们的输入是来自欧式空间的点的子集。有三个主要属性:

  • 无序性 点云是一组没有特定顺序的点。换句话说,处理N个3D点集的网络需要能够对输入数据集按照喂进来的顺序排列N!保持不变。
  • 点之间的相互作用这些点具有距离度量的空间。点不是孤立的,而且相邻的点形成一个具有意义的子集。因此模型需要能够捕获附近点的局部结构以及局部结构之间组合的相互作用。
  • 转换不变性对于几何对象,点集学习到的表示应该对某些变换具有不变性。例如,所有的旋转点和平移点都不能修改全局点云的类别或者点的分割。

PointNet的结构

PointNet分类代码学习(一)----论文翻译_第1张图片
分类网络将N个点作为输入,作用输入和特征变换,然后通过最大池聚合点的特征。输出的是K中分类的分类分数。分割网络是分类网络的拓展,它连接局部和全局特征以及每个点输出的分数。“mlp”代表多层感知机,Batchnorm用于Relu的所有层。Dropout层用于分类网络中的最后一个多层感知机。
网络中有三个关键模块:

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

无序输入的对称函数

使模型对输入排序不变,存在三种策略:

  • 将输入排序为规范顺序
  • 将输入看作训练RNN的序列,通过各种排列来增加训练数据(这种方法不是太了解)
  • 用一个简单的对称函数来聚类每个点的信息。对称函数将n个向量作为输入,同时输出一个对输入顺序不变的新向量。例如,+和*操作符使对称二元函数。

排序听起来是简单的解决办法,在高维空间中实际上并不存在稳定的排序,点扰动时要求排序的稳定等同在维度降低时保持映射在空间上的接近度,这一般是无法实现的任务。因此排序并不能完全解决排序问题,网络很难学习到一致的从输入到输出的映射。但实验显示,在排序点集上应用mlp变现不好,但比直接处理无序输入要好。(第一种方法pass)

第二种策略直接pass

文中的想法是通过对集合中转换元素应用对称函数来近似在点集上定义的一般函数:PointNet分类代码学习(一)----论文翻译_第2张图片
根据实验,我们的基础模型十分简单:通过多层感知机来近似h,并通过单个变量函数和最大池化的组合来近似g。通过h的集合,我们可以学到一些f来捕获点集的不同属性。

局部和全局信息聚类

上一节的输出组成了一个向量[f1…fk],这是输入集的全局标签。我们可以在形同全局特征上很容易训练多层感知机分类器以进行分类。

在计算完全局点云特征向量后,我们将全局特征和每一个点的特征连接起来反馈给每一个点特征。然后我们基于组合的点特征提取新的每个点的特征,这样每个点特征都考虑了局部和全局信息。

通过这样修改,我们的网络讷讷感狗预测依赖于局部集合和全局语义的每个点数量。例如我们可以准确预测出每个点的法线。

联合对准网络

网络希望点集的学习表示对这些几何变换时不变的。
文中通过T-net预测仿射变换矩阵,并直接将该变换作用于输入点的坐标。
在这里插入图片描述我们在softmax的训练损失中增加了一个正则化项。约束特征变换矩阵接近于正交矩阵。
其中A时T-net预测的特征对齐矩阵,正交变换不会丢失输入的信息,因此期望时正交变换。

应用

3D对象分类我们的模型学习了可用于对象分类的全局点云特征。在ModelNet40形状分类基准上评估了我们的模型。来自40个人造对象类别的12311个CAD模型划分成9843个用于训练,2468个用于测试。

我们根据表面区域在网格表面均匀采样1024个点,并把他们标准化为单位球体。我们通过沿着向上轴随意旋转物体并通过具有零均值和0.02标准偏差的高斯噪声抖动每个点的位置来实时增加点云。

目前需要理解的部分以上已列出,主要是为加深一下印象,全文翻译可以推荐看i下面的博客
pointnet翻译

你可能感兴趣的:(深度学习)