点云分割是根据空间、几何和纹理等特征对点云进行划分,使得同一划分内的点云拥有相似的特征。点云的有效分割是许多应用的前提,例如在三维重建领域,需要对场景内的物体首先进行分类处理,然后才能进行后期的识别和重建。
传统的点云分割主要依赖聚类算法和基于随机采样一致性的分割算法,在很多技术上得到了广泛应用,但当点云规模不断增大时,传统的分割算法已经很难满足实际需要,这时就需要结合深度学习进行分割。
本文将重点介绍5种前沿的点云分割网络,包括PointNet/PointNet++、PCT、Cylinder以及JSNet网络,最后介绍5中常用的点云分割数据集。
1. PointNet/PointNet++
说起点云分割网络,就不得不介绍PointNet,它来源于CVPR的论文“Deep Learning on Point Sets for 3D Classification and Segmentation”。
PointNet是首个输入3D点云输出分割结果的深度学习网络,属于开山之作,成为了后续很多工作的BaseLine,网络的总体结构如图所示。
整体的PointNet网络中,除了点云的感知以外,还有T-Net,即3D空间变换矩阵预测网络,这主要是由于点云分类的旋转不变性,当一个N×D在N的维度上随意的打乱之后,其表述的其实是同一个物体,因此针对点云的置换不变性,其设计的网络必须是一个对称的函数。
在PointNet网络中,对于每一个N×3的点云输入,网络先通过一个T-Net将其在空间上对齐(旋转到正面),再通过MLP将其映射到64维的空间上,再进行对齐,最后映射到1024维的空间上。
这时对于每一个点,都有一个1024维的向量表征,而这样的向量表征对于一个3维的点云明显是冗余的,因此这个时候引入最大池化操作,将1024维所有通道上都只保留最大的那一个,这样得到的1×1024的向量就是N个点云的全局特征。
从PointNet网络在ShapeNet数据集上的实验效果可以看出,大多数分割都取得了SOAT效果。部分分割结果如图所示,可以看出分割结果相当平稳,并且具有很强的鲁棒性。
PointNet++主要是为了克服PointNet自身的一些缺点,其中最大的缺点就是缺失局部特征。由于PointNet直接暴力地将所有的点最大池化为一个全局特征,因此局部点与点之间的联系并没有被网络学习到。在分类和物体的Part Segmentatio