从去年到现在,我(小白)已经接触点云将近半年的时间了,因为上半年大部分时间在上课,所以对点云的认识不足,在此,我以一个小白的身份,向大家叙述一下自己对点云分割的理解,借助一篇综述的论文,论文网址为:https://arxiv.org/abs/1912.12033

首先点云是非常重要的数据类型,但是由于它的不规则性和稀疏性,所以很多学者都研究一些体素或者图像网格作为研究的标准,但是我最近看的文章都是直接以点为输入的,就是这部分的优点就是计算量相对于体素的比较小,但是精度的话可能稍微低一点。

DGCNN点云分割loss曲线 点云分割网络_计算机视觉


对于研究点云分割的算法,因为有很多,所以如果你想研究某一个方向的话,就可以从它们一些专门的网络框架中进行学习,在这里总结一下2020年还有之前的一些顶刊会议的网络结构。

DGCNN点云分割loss曲线 点云分割网络_计算机视觉_02


对于逐点MLP的方法来说的话,建议初学者小白先去看,因为PointNet是比较基础的网络框架,它的网络框架解决了点云无序性的问题,并且框架通俗易懂,建议刚开始接触点云分割的小伙伴去先看这个,但是它的缺点就是没有提取邻域的信息,简单说就是没有考虑到紧邻点的位置关系,之后可以看一下PointNet++,它在上面的基础上添加了集合抽象层的结构,用于提取局部特征。如果想针对大场景点云算法的话,可以看一下RandLA-Net,是2020年的一篇挺高质量的论文,这篇论文中心思想就是局部特征融合模块+随机采样(LFA+RS),因为它输入的点云都是百万级别的,所以他采取了随机采样的方法,并且LFA模块能将丢失的点的信息聚合,这篇文章的性价比很高。下面是RandLA-Net采样的时间对比。

DGCNN点云分割loss曲线 点云分割网络_深度学习_03


针对点卷积的文章而言,因为卷积对于图像中分类和分割任务都具有比较良好的作用,所以很多研究者都把它应用到了三维空间上,但是直接做三维卷积是不可能的,因为点云在三维空间中是无序的,所以很多人想办法解决这类问题,基本都是利用的FPS采样,这样可以使用少的点保存比较完整的点云结构,像PointConv使用的是逆密度系数去加权特征的矩阵卷积方式,PointCNN是利用MLP学习邻域点位置关系去卷积邻域和局部特征的方式,KPConv是学习一个Kernel,在空间中利用距离激活权重的方式,去卷积邻域内的点云,并且开发出了可变形的KPConv版本(其实就是学习内核点的偏移量),其实这些点卷积的方法都是很类似的,基本就是更改卷积的方式和如何去学习点云的无序性问题,基本网络结构很像图像分割的U-Net,先去下采样聚合特征,降低尺度,然后上采样还原点云,融合上下文信息,达到分割的效果,目前我再看一些图卷积和体素的文章,观察之间的区别,上面是自己对点云分割的一些理解,如有不对,请多多指正!!!