激光三维点云数据深度学习网络:PointNet系列解读(持续更新中)

PointNet网络
一、激光点云数据在深度学习上的研究一直较为缓慢,其主要有以下几个特征:

  1. 点云数据具有无序性
  2. 点云数据点之间具有空间关系
  3. 点云数据具有空间转换不变性

其中无序性表现在点云数据是一个集合,对数据顺序不敏感,模型对数据的随机排列保持不变性;其中空间关系表现在点并不是相互独立的,存在空间关系构成局部特征;其不变性表现在点云数据所代表的目标对某些空间转换应该具有不变性。

二、对点云数据的传统处理方法需要对其输入进行预处理,主要有以下两种方法:

  1. 多视角(multi-view):将点云数据投影到二维平面上,将这些不同视角的数据相结合,来实现点云识别任务。
  2. 体素:将点云数据划分到有空间依赖关系的体素(voxel)中,通过分割三维空间,引入空间依赖关系到点云数据中,再使用3D卷积等方式进行处理。

但通过以上也存在一些问题,增加了计算量,并且改变了原始数据对不变性和空间特征造成了一定的影响。论文作者使用PointNet直接在点云数据上应用深度学习,最大限度的保证点云数据的空间特征。

三、PointNet网络
1.为解决点云数据的无序性,作者使用了下图的方法,其中x代表点云数据点,h代表特征提取,g代表对称函数,表示了PointNet能够拟合任意的连续集合函数,PointNet模型的表征能力与maxpooling操作输出的数据维度K相关,K值越大模型的表征能力越强。网络对每个点进行了一定程度的特征提取后,maxpooling可以对点云的整体提取全局特征(global feature)。
激光三维点云数据深度学习网络:PointNet系列解读(持续更新中)_第1张图片
2.为解决点云数据在空间转换中的不变性,即相同的点云在空间经过一定的刚性运动(旋转或者平移等),其坐标系发生变化,但是网络都可以正确的识别出。PointNet模型通过学习一个矩阵T-net来达到对目标最有效的变换,其具体方式是通过最后的loss对变换矩阵进行调整,不关心进行了怎样的变换只要有利于最后的结果就可以。
PointNet共进行了两次空间变换,第一次input transform是对空间点云进行调整,第二次feature transform在特征层面对点云进行变换对齐。
3.PointNet模型具有很好的鲁棒性,对于输入数据集S,其输入T只要处于Cs与Ns之间则输出f(S)是不变的。
激光三维点云数据深度学习网络:PointNet系列解读(持续更新中)_第2张图片
其中Cs(Critical Point sets)是最小集(其中点都是关键点,共同决定了其形状),Ns(Upper-bound Shapes)是最大集(是上界),其图形描述如下面的图。
激光三维点云数据深度学习网络:PointNet系列解读(持续更新中)_第3张图片

4.PointNet模型的分类网络结构和分割网络结构如下:
激光三维点云数据深度学习网络:PointNet系列解读(持续更新中)_第4张图片

  1. 输入为一帧的全部点云数据集合,表示为一个n×3的2d的tensor,其中n代表点云数量,3代表xyz坐标。
  2. 输入数据先通过一个学习到的空间变换矩阵相乘进行点云对齐,即使用input transform中的T-net学习得到3×3的变换矩阵,保证了模型对点云空间变换的不变性。
  3. 通过mlp(多层感知机)对点云数据进行特征提取,再进行特征对齐,即使用feature transform中T-net学习到的64×64变换矩阵相乘进行特征对齐。
  4. 特征对齐后再通过mlp(多层感知机)进行特征提取,然后进行maxpooling操作提取1×1024的全局特征。
  5. 分类网络将全局特征在通过一个mlp得到k个分数;分割网络将全局特征和之前学习到的局部特征相串联,再通过mlp得到点特征,再通过mlp得到分类结果。

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