PointNet++阅读笔记
pointNet使用对称函数整合全局信息,解决点的无序性问题,然而从单点使用mlp的特征提取,到max pooling进行全局特征整合,最终得到的特征,都只是从一个点上提取的,没有考虑点和点之间的相关性特征。
pointNet++就在此基础上,提取了局部相关性的特征,这种局部特征被认为是距离尺度空间所展现的性质,比如点的密度信息。文章不仅仅局限于欧式空间,mesh网格上的流形距离等也可以使用,这样,网络不仅对刚体变换的物体能够更准确的分类,还能学习到非刚体变换的物体特征(如站立的喵和蜷缩的喵)。同时,设计了层级的特征提取结构,并提出了MSG/MRG结构,适应非均匀分布的点云数据。
文章设计了层级结构,每一级提取多个邻域范围的点集,使用pointNet作为特征提取结构。这样,pointNet类似于卷积核,提取的点集类似于卷积划过的图像窗口,类似于感受野。3D点云上的深度学习就如同2D cnn一样,能够提取局部相关性特征。随着层级加深,感受野增大,特征点数目变小。(但是本文并没有像point CNN一样,提出随着特征点减少,每个特征点的维度要加深)。
单层级结构
每一个level都需要选择多个邻域点集,分别对其提取特征。对于一个level,输入Nx(C+D)的特征,输出N’x(C’+D)。每个level的处理过程分为以下三个步骤:
1.Sampling layer
**用于选取各点集的中心点。**选取方法为FPS,即先选一个点,然后选在当前尺度标准下离他最远的点,再迭代选离已有点集最远的点。这样从点集的n个点钟选出m个中心点,与随机选相比,能够更好的覆盖整个点集。并且感受野与空间密度相关。