【论文翻译】点云深度学习综述 -- Deep Learning for 3D Point Clouds: A Survey

论文链接:Deep Learning for 3D Point Clouds: A Survey

文章目录

    • 摘要
    • 1. 介绍
    • 2. 三维形状分类
      • 2.1 基于投影的网络
        • 2.1.1 多视图表示
        • 2.1.2 体素化表示
      • 2.2 基于点的网络
        • 2.2.1 点式MLP网络
        • 2.2.2 基于卷积的网络
        • 2.2.3 基于图的网络
        • 2.2.4 基于数据索引的网络
        • 2.2.5 其他网络
    • 3. 三维对象检测和跟踪
      • 3.1 3D目标检测
        • 3.1.1 基于区域建议的方法
        • 3.1.2 Single-shot的方法
      • 3.2 3D目标跟踪
      • 3.3 3D场景流估计
      • 3.4 总结
    • 4. 3D 点云分割
      • 4.1 3D场景分割
        • 4.1.1 基于投影的网络
        • 4.1.2 基于点的网络
      • 4.2 实例分割
        • 4.2.1 基于建议的方法
        • 4.2.2 无建议的方法
      • 4.3 部件分割
      • 4.4 总结
    • 5. 总结

摘要

  点云学习由于其在计算机视觉、自动驾驶、机器人等领域的广泛应用,近年来受到越来越多的关注。深度学习作为人工智能中的一种主要技术,已成功地应用于解决各种二维视觉问题。然而,由于使用深度神经网络处理点云所面临的独特挑战,点云的深度学习仍处于初级阶段。近年来,基于点云的深度学习更是蓬勃发展,人们提出了许多方法来解决这一领域的不同问题。为了促进未来的研究,本文综述了点云深度学习方法的最新进展。包括三维形状分类、三维目标检测与跟踪、三维点云分割三大任务。它还提供了几个公开数据集的比较结果,以及有见地的观察和启发未来的研究方向
关键词 - 深度学习,点云,三维数据,形状分类,目标检测,目标跟踪,场景流,实例分割,语义分割,场景理解。

1. 介绍

  随着3D采集技术的快速发展,3D传感器变得越来越可用,价格也越来越便宜,包括各种类型的3D扫描仪、激光雷达和RGB-D相机(如Kinect、RealSense和Apple depth相机)。这些传感器采集的三维数据可以提供丰富的几何、形状和尺度信息。与二维图像互补,三维数据提供了一个更好地了解机器周围环境的机会。三维数据在不同领域有着广泛的应用,包括自动驾驶、机器人、遥感、医疗和设计行业。
  三维数据通常可以用不同的形式表示,包括深度图像、点云、Mesh和体素网格。点云表示作为一种常用的表示形式,在三维空间中保留了原始的几何信息。因此,它是许多场景理解相关应用(如自动驾驶和机器人)的首选表示形式。近年来,深度学习技术已成为计算机视觉、语音识别、自然语言处理、生物信息学等领域的研究热点。然而,3D点云的深度学习依然面临着几个重要的挑战,如数据集规模小、三维点云的高维性和非结构化等。在此基础上,本文重点分析了用于处理三维点云的深度学习方法。
  点云的深度学习越来越受到人们的关注,特别是近五年来。还发布了一些公开可用的数据集,如ModelNet、ShapeNet、ScanNet、Semantic3D和KITTI数据集。这些数据集进一步推动了三维深度学习的研究,越来越多的方法被提出,用于解决与点云相处理相关的各种问题,包括三维形状分类、三维目标检测与跟踪、三维点云分割等。本文是第一篇专门针对点云深度学习方法的论文。此外,本文还全面介绍了分类、检测、跟踪、分割等应用。现有三维点云深度学习方法的分类如图1所示。
  与现有文献相比,本文的主要贡献如下:

  1. 据我们所知,这是第一篇全面介绍与点云相关的几个重要任务(包括三维形状分类、三维目标检测与跟踪、三维点云分割)的深度学习方法的调查论文。
  2. 与现有文献不同,我们特别关注三维点云的深度学习方法,而不是所有类型的三维数据。
  3. 本文介绍了点云深度学习的最新进展。因此,它为读者提供了最先进的方法。
  4. 提供了几种公开数据集上现有方法的综合比较(如表1,2, 3,4),并提供了简要的总结和有见地的讨论。

  本文的结构如下:第二节回顾了三维形状分类的方法,第三节概述了现有的三维目标检测和跟踪方法,第四节介绍了点云分割的方法,包括语义分割、实例分割和部分分割。最后,第五节对论文进行了总结。我们还提供了定期更新的项目页面:https://github.com/QingyongHu/SoTA-Point-Cloud
【论文翻译】点云深度学习综述 -- Deep Learning for 3D Point Clouds: A Survey_第1张图片

2. 三维形状分类

  现有的方法通常先学习每个点的嵌入,然后使用聚集方法从整个点云中提取全局形状嵌入,最后通过几个全连接层来实现形状分类。根据特征学习的方法,现有的三维形状分类方法可以分为基于投影的网络和基于点的网络。一些里程碑的方法如图2所示:
【论文翻译】点云深度学习综述 -- Deep Learning for 3D Point Clouds: A Survey_第2张图片
  基于投影的方法首先将一个非结构化点云投影到一个中间正则表示中,然后利用2D或3D卷积来实现形状分类。相比之下,基于点的方法直接作用于原始点云,而无需任何体素化或投影。基于点的方法没有引入显式的信息丢失,并且越来越流行。本文主要研究基于点的网络,但为了文章的完整性,也涉及一些基于投影的网络。

2.1 基于投影的网络

  这些方法将三维点云投影到不同的表示方式(如多视图、体素表示)中,用于特征学习和形状分类。

2.1.1 多视图表示

  这些方法首先将三维物体投影到多个视图中,提取相应的视图特征,然后融合这些特征进行精确的物体识别。如何将多个视图特征进行聚合为一个有判别性的全局表示是一个关键的挑战。MVCNN是一项开创性的工作,它将多视图特征简单地聚合到一个全局描述符中。但是,最大池仅保留特定视图中的最大元素,从而导致信息丢失。MHBN通过协调双线性池来集成局部卷积特征,从而产生一个紧凑的全局描述符。Yang等人[17]首先利用一组视图上的相互关系(如区域-区域关系,视图-视图关系)来提出一个关系网络,然后聚合这些视图以获得有判别性的三维对象表示。此外,为了提高识别精度,还提出了其他几种方法[18][19][20][21]。

2.1.2 体素化表示

  早期的方法通常将三维卷积神经网络(CNN)运用于三维点云的体素表示上。Daniel等人[22]介绍了一个称为VoxNet的体素占据网络,以实现稳健的三维物体识别。Wu等人[6]提出了一种基于卷积深度信念的三维形状网络,用于从各种三维形状中学习点的分布。三维形状通常用体素网格上二元变量的概率分布来表示。尽管该方法已经取得了令人鼓舞的性能,但由于计算和内存占用随着分辨率呈指数增长,这些方法无法很好地扩展到密集的三维数据。为此,提出了一种层次化、紧凑的图结构(如八叉树)来降低这些方法的计算和存储开销。OctNet [23]首先使用混合网格八叉树结构分层地划分点云,该结构利用几个浅八叉树结构来表示三维场景,利用bit来对八叉树结构进行有效编码,并用简单的算法对每个体素的特征向量进行索引。Wang [24]等人提出了一种基于八叉树的CNN用于三维形状分类方法,将叶子节点八分角点采样的法向量作为该三维模型的平均法向量输入到网络中,并将3D-CNN应用到三维形状曲面所占用的八分角点上。与基于密集输入网络的网络相比,OctNet对高分辨率点云的内存和运行时间要求要少得多。Le [25]提出了一种称为点网格的混合网络,它集成了点和网格的表示,以实现高效的点云处理。在每个嵌入的体素网格内采样固定数量的点,这使得网络可以通过使用三维卷积来提取几何细节。

2.2 基于点的网络

  根据用于每个点特征学习的网络结构,该类方法可分为点式MLP、卷积式、图式、数据索引式等其他典型网络。

2.2.1 点式MLP网络

  该方法使用多个多层感知机(MLP)独立地对每个点建模,然后使用对称函数聚合全局特征,如图3所示。这些网络可以实现三维无序点云的置换不变性。然而,三维点之间的几何关系并没有得到充分的考虑。
【论文翻译】点云深度学习综述 -- Deep Learning for 3D Point Clouds: A Survey_第3张图片  作为一个开创性的工作,PointNet [5]使用多个MLP学习点特征,用Max pooling层提取全局形状特征,并使用多个MLP层获得分类分数。Zaheer等人[26]从理论上证明了实现置换不变性的关键是总结所有表示并应用非线性变换。他们还设计了一个基础架构DeepSets,用于各种应用,包括形状分类。
  由于PointNet中每个点的特征都是独立学习的,因此无法捕获点之间的局部结构信息。因此,Qi等人[27]提出了一种层次网络PointNet++来从每个点的领域捕获精细的几何结构。作为PointNet++层次结构的核心,其提取层由三层组成:采样层、分组层和PointNet层。通过叠加多个提取层,PointNet++可以从局部几何结构中学习特征,并逐层提取局部特征。
  因为其简单性和很强的表示能力,许多网络均基于PointNet。Achlioptas等人[28]引入了一个深度自动编码器网络来学习点云表示。它的编码器遵循PointNet的设计,通过五个一维卷积层、一个ReLU非线性激活层、batch normalization和max-pooling操作来独立地学习点特征。在Point Attention Transformers (PATs)中,每个点由其自身的绝对位置和相对于其相邻点的相对位置表示。然后,Group Shuffle Attention (GSA)被用于捕获点之间的关系,建立一个置换不变、可微、可训练的端到端的Gumbel Subset Sampling (GSS)层来学习层次特征。Mo-Net的结构与PointNet类似,但是它需要一组有限的时间作为其网络的输入。PointWeb建立在PointNet++基础之上,并使用Adaptive Feature Adjustment (AFA)来获取局部领域的上下文信息来改进点特征。Duan等人[32]提出了一个结构关系网络Structural Relational Network (SRN),利用MLP学习不同局部结构之间的关系特征。Lin等人[33]通过为PointNet学习的输入空间和函数空间构建一个查找表,加速推理过程。其在ModelNet和ShapeNet数据集上的推理时间超过PointNet 32倍。SRINet [34]首先投影一个点云以获得旋转不变的表示,然后利用基于PointNet提取全局特征,并利用基于图的聚集来提取局部特征。

2.2.2 基于卷积的网络

  与二维网格结构(如图像)中定义的核相比,三维点云的卷积核由于点云的不规则性而难以设计。根据卷积核的类型,目前的三维卷积网络可以分为连续卷积网络和离散卷积网络,如图4所示。
【论文翻译】点云深度学习综述 -- Deep Learning for 3D Point Clouds: A Survey_第4张图片
3D连续卷积网络
  该方法定义了连续空间上的卷积核,其中相邻点的权重与其相对于中心点的空间分布有关。
  三维卷积可以解释为给定子集上的加权和,MLP是学习权重的简单方法。作为RS-CNN的核心层,RS-Conv以某中心点的领域点的局部子集作为输入,通过MLP学习点在局部子集中到从低级别关系(如欧几里德距离和相对位置)到高级别关系。在[36]中,核元素是在一个单位球体中随机选择的,然后利用基于MLP的连续函数建立核元素位置与点云之间的关系。在DensePoint中,卷积被定义为带有非线性激活器的单层感知机Single-Layer Perceptron(SLP),特征是通过连接所有先前层的特征来学习的,以充分利用上下文信息。
  一些方法也使用现有的算法来执行卷积。在PointConv中,卷积被定义为关于重要抽样的连续3D卷积的Monta Carlo估计。卷积核由加权函数(用MLP学习)和密度函数(用核密度估计和MLP层学习)组成。为了提高存储和计算效率,将三维卷积进一步简化为矩阵和二维卷积两种运算。在相同的参数设置下,其内存消耗可以减少约64倍。在MCCNN中,卷积被认为是一个依赖于样本密度函数的蒙特卡罗估估计过程(用MLP实现),并利用泊松盘采样构造点云层次结构。该卷积算子可用于两种或多种采样方法之间的卷积,并可处理不同的采样密度。在SpiderCNN [40]中,SpiderConv将卷积定义为阶跃函数与k近邻上定义的Taylor展开的乘积。阶跃函数通过对局部测地信息进行编码来捕获粗糙的几何信息,泰勒展开通过在立方体顶点处插入任意值来捕获丰富的局部几何变化。此外,还提出了一种基于径向基函数的三维点云卷积网络PCNN [41]。Thomas等人[42]利用一组可学习核点,提出了三维点云的刚性和可变形核点卷积(KPConv)算子。
  针对三维卷积网络面临的旋转不变问题,提出了几种解决方法。Esteves等人[43]提出了一种以多值球面函数为输入的三维球面卷积神经网络(spheral CNN)来学习三维形状的旋转不变表示,局部卷积滤波器是通过在球面调和域中参数化带锚定点的谱得到的。张量场网络[44]将点卷积运算定义为可学习的径向函数和球谐函数的乘积,球谐函数局部等价于点的三维旋转、平移和置换。文献[45]中的卷积是基于球面互相关定义的,并用广义快速傅立叶变换(FFT)算法实现。SPHNet [46]以PCNN为基础,在体函数卷积过程中引入球谐核,实现了旋转不变性。ConvPoint [47]将卷积核分为空间和特征部分,空间部分的位置是从一个单位球体中随机选择的,权重函数是通过一个简单的MLP来学习的。
  为了加快计算速度,Flex-Convolution [48]将卷积核的权值定义为k个最近邻上的标准标量积,使用CUDA可以加快计算速度。实验结果表明,该算法在参数少、内存消耗低的小数据集上具有较好的性能。
3D离散卷积网络
  这些方法在规则网格上定义卷积核,其相邻点的权重以其相对于中心点的偏移量有关。
  Hua等人[49]提将非均匀三维点云转化为均匀网格,并在每个网格上定义卷积核。与二维卷积(为每个像素分配一个权重)不同,所提出的三维核为落入同一个网格的所有点分配相同的权重。对于给定的点,位于同一网格上的所有相邻点的平均特征都是从上一层计算出来的。然后,对所有网格的平均特征进行加权求和,得到当前层的输出。Lei等人[50]定义了一个球面卷积核,将一个三维球面邻域划分为多个,并将每个体积箱与一个可学习的加权矩阵相关联。一个点的球面卷积核的输出是由其相邻点的加权激活值均值的非线性激活决定的。在 GeoConv [51]中,点与其相邻点之间的几何关系是基于六个基显式建模的。边缘特征沿基的每个方向由可学习矩阵根据相邻点的基独立加权。然后,根据给定点及其相邻点形成的角度聚集这些方向的相关特征。对于给定点,其在当前层的特征被定义为给定点的特征与其在上一层的相邻边缘特征之和。PointCNN [52]通过一个X-conv实现置换不变性转换(通过MLP实现)。Mao等人[53]将点特征插值到相邻的离散卷积核权坐标,提出了一种插值卷积算子InterpConv来度量输入点云与核权坐标之间的几何关系。Zhang等人[54]提出了一种利用RIConv算子实现旋转不变性的方法,该方法以低阶旋转不变性的几何特征作为输入,通过简单的二值化方法将卷积变换为1D。
  A-CNN [55]通过循环查询点的每个环上的核大小的邻域数组来定义环形卷积。A-CNN学习局部子集中邻域点之间的关系。为了降低3D CNNs的计算和存储成本,Kumawat等人[56]提出了一种基于三维短时傅里叶变换(STFT)的校正局部相体积(ReLPV)块来提取三维局部邻域中的相位,大大减少了参数的数目。在SFCNN [57]中,点云被投影到具有对齐球坐标的规则二十面晶格上,然后通过卷积maxpooling卷积结构对球面格顶点及其领域连接的特征进行卷积。SFCNN能够抵抗旋转和扰动。

2.2.3 基于图的网络

  基于图的网络将点云中的每个点视为图的顶点,并基于每个点的领域为图生成有向边。然后在空间域或者谱域中执行特征学习。典型的基于图的网络如图5所示。
【论文翻译】点云深度学习综述 -- Deep Learning for 3D Point Clouds: A Survey_第5张图片
基于图的空间域方法
  这些方法定义了空间域中的操作(如卷积和池)。具体来说,卷积通常是通过空间邻域上MLP来实现的,而池则是通过聚合每个点邻域的信息来产生一个新的粗略图。每个顶点的特征通常被赋予坐标、激光强度和颜色,而每个边的特征通常被赋予两个连接点之间的几何属性。
  作为一个开创新的工作,Simonovsky等人[58]将每个点看作图的一个顶点,并通过有向边将每个顶点连接到其所有领域。然后,利用滤波器生成网络(如MLP)提出了边缘条件卷积(ECC),采用Max-pooling算法对邻域信息进行聚合,基于体素网格算法实现图形粗化。对于形状分类,卷积和池首先交错进行,然后根据全局平均池和完全连接层生成分类分数。在DGCNN [60]中,在特征空间中构造一个图,并在网络的每一层之后动态更新。作为EdgeConv的核心层,MLP被用作每个边缘的特征学习函数,信道对称聚集也被应用于每个点的邻域相关的边缘特征上。此外,LDGCNN [61]移除了变换网络,并将DGCNN [60]中不同层的分层特征连接起来,以提高其性能并减小模型大小。本文还提出了一种端到端无监督的深度自编码网络(FoldingNet [62]),它使用矢量化的局部协方差矩阵和点坐标的级联作为输入。
  来源于 Inception [63]和DGCNN [60]灵感,Hassani等人[64]提出了一种无监督的多任务自动编码器来学习点和形状特征。编码器是基于多尺度图构造的,译码器则由聚类、自监督分类和重构三个无监督任务组成,这些任务与多任务损失联合训练。Liu等人[65]提出了一种基于图卷积的动态点聚模块(DPAM),将点聚过程(采样、分组和池化)简化为一个简单的步骤,通过将聚矩阵和点矩阵相乘来实现。在PointNet基础上,通过叠加多个DPAMs构造一个分层学习结构,与PointNet++的层次化策略相比,DPAM在语义空间中动态地挖掘点之间的关系并聚集点。
  为了充分利用局部几何结构,KCNet [66]提出了一种基于核相关的特征学习方法。具体来说,一组描述局部结构几何类型的可学习的点被定义为核,然后计算核与给定点邻域间的亲和力。在G3D[67]中,卷积被定义为邻接矩阵多项式的一种变体,池化被定义为拉普拉斯矩阵和粗化矩阵的顶点矩阵相乘。ClusterNet[68]利用严格的旋转不变(RRI)模块提取每个点的旋转不变特征,并基于ward-linkage准则的无监督凝聚层次聚类方法构造点云的层次结构。每个子集群中的特征首先通过EdgeConv模块学习,然后通过max-pooling聚合。
基于图的谱域方法
  这些方法将卷积定义为谱滤波,其实现方式是图上信号与图的拉普拉斯矩阵的特征向量相乘。
  为了应对高计算和非本地化的挑战,Defferrard等人[71]提出了一种利用截断切比雪夫多项式逼近谱滤波。他们学习的特征图位于每个点的k-hops邻域内。注意,特征向量是从[70][71]中的固定图拉普拉斯矩阵计算出来的。相反,RGCNN [72]通过将每个点与点云中所有其他点连接来构造图,并更新每个层中的图拉普拉斯矩阵。为了使相邻顶点的特征更加相似,在损失函数中加入图信号的平滑先验。为了解决由数据的不同的图形拓扑所带来的挑战,AGCN [73]中的SGC-LL层利用一个可学习的距离度量来参数化图上两个顶点之间的相似性。利用高斯核和学习的距离对图的邻接矩阵进行归一化。Feng等人[74]提出了一种超图神经网络(HGNN),并在超图上应用谱卷积建立了超边缘卷积层。
  上述方法均在全图上操作,为了利用局部结构信息,Wang等人[75]提出了一种端到端的谱卷积网络LocalSpecGCN,用于处理局部图(由k个最近邻构成)。该方法不需要离线计算图的拉普拉斯矩阵和图的粗化层次。在PointGCN [76]中,基于点云的k个最近邻构造一个图,并使用高斯核对每个边进行加权。卷积滤波器被定义为图谱域中的切比雪夫多项式,全局池和多分辨率池用于捕获点云的全局和局部特征。Pan等人[77]提出了3DTI-Net,通过学习相对欧几里德距离和方向距离来实现对几何变换的不变性。

2.2.4 基于数据索引的网络

  这些网络是基于不同的数据索引结构(如八叉树和kd树)构建的,在这些方法中,点特征是沿着树从叶节点到根节点分层学习的。Lei等人[50]提出了一种使用球形卷积核的八叉树导向CNN(如2.2.2节所述),网络的每一层对应一层八叉树,每一层应用一个球面卷积核,当前层神经元的值被确定为前一层所有相关子节点的平均值。与OctNet [23](基于八叉树)不同,Kd-Net [78]是使用在每次迭代中具有不同分割方向的多个k-d树来构建。采用自下而上的方法,非叶节点的表示是使用MLP从其子节点的表示中计算出来的,根节点(描述整个点云)的特征最终被反馈到全连接层以预测分类得分。请注意,Kd-Net根据节点的分割类型在每个级别共享参数。3DContextNet [79]使用标准的平衡K-d树来实现特征学习和聚集,在每个层次上,首先基于局部线索(模拟局部区域内各点之间的相互依赖关系)和全局上下文线索(模拟一个位置相对于所有其他位置)。然后,使用MLP从非叶节点的子节点计算非叶节点的特征,并通过最大池进行聚合。对于分类,重复上述过程,直到获得根节点。SO-Net网络[80]的层次结构是通过执行点到点k近邻搜索来构建的。具体来说,采用一种改进的置换不变自组织映射(SOM)来模拟点云的空间分布,通过一系列全连接层从标准化的点到节点的坐标学习单个点的特征。SOM中每个节点的特征是使用通道最大池从与该节点相关联的点特征中提取,使用类似于PointNet的方法从节点特征中学习最终特征。与PointNet++相比,SOM具有更高的层次性,充分挖掘了点云的空间分布。

2.2.5 其他网络

  除了上述方法外,还提出了许多其他方案。在 3DmFV [82],将点云体素化为均匀的三维网格,根据网格上定义的一组高斯混合模型的似然性提取fisher矢量。由于fisher向量的分量为在所有点上求和,因此得到的表示对点云顺序、结构和大小具有不变性。RBFNet [86] 网络通过从稀疏分布径向基函数(RBF)核聚集特征来显式地建模点的空间分布。RBF特征提取层计算每个点的所有核响应,然后优化核位置和核大小,以获取训练过程中点的空间分布。与全连接层相比,RBF特征提取层在减少参数个数数量级的同时,产生了更多的判别特征。Zhao等人[85]提出了一种用于三维点云通用学习表示的无监督自动编码器3DPointCapsNet,在编码阶段,首先对点云应用MLP来去提取点独立性特征,然后将这些特征进一步输入到多个独立的卷积层中。然后,通过连接多个max-pooled学习特征映射,提取出一个全局潜在的表示。在无监督动态路由的基础上,学习具有代表性的强潜在胶囊。受形状上下文描述符结构的启发,Xie等人[81]提出了一种新的ShapeContextNet体系结构,它将亲和点选择和紧凑的特征聚合结合到使用点积自关注的软对齐操作中。为了解决三维点云中的噪声和遮挡问题,Bobkov等人[91]将手工制作的基于点对函数的4D旋转不变描述子输入到4D卷积神经网络中。Prokudin等人[92]首先从单位球随机采样均匀分布的基点集,然后编码点云作为到基点集的最小距离,将点云旋转为具有相对较小固定长度的向量。编码后的表示可以用现有的机器学习方法进行处理。RCNet [88]利用标准RNN和2DCNN构造一个置换不变的三维点云处理网络。首先将点云划分为平行的波束,并按照特定的维度进行排序,然后将每个波束反馈到共享的RNN中。学习到的特征被进一步输入到一个有效的2DCNN中,用于分层特征聚合。为了提高它的描述能力,RCNet-E提出了在不同的划分和排序方向上集成多个RCNet。Point2Sequences[87]是另一个基于RNN的模型,它捕获点云局部区域中不同区域之间的相关性,将多尺度局部区域学习到的特征作为序列,并将这些序列从所有局部区域反馈到基于RNN的编解码结构中,以聚集局部区域特征。Qin等人[93]提出了一种端到端无监督域自适应的三维点云表示网络PointDAN。为了获取点云的语义特征,文献[94]提出了一种自监督的点云重构方法,该方法对点云的各个部分进行了随机重组。
  一些方法中也提出结合三维点云和二维图像来进行学习。在PVNet [83]中,从多视图中提取的高层次全局特征通过嵌入网络投影到点云的子空间中,并通过软注意力mask与点云特征融合。最后,对融合特征和多视图特征采用残差连接进行形状识别。随后,PVRNet [84]进一步提出利用关系评分模块学习三维点云与其多视图之间的关系。基于关联度评分,对原始的二维全局视图特征进行增强,实现了单视点融合和多视点融合。
【论文翻译】点云深度学习综述 -- Deep Learning for 3D Point Clouds: A Survey_第6张图片
ModelNet10/40数据集是形状分类最常用的数据集,表1显示了不同基于点的网络所取得的结果,可以得出以下几个结果:

  • 点式MLP网络通常用作其他类型学习点特征的基本构建块
  • 卷积网络作为一种标准的深度学习结构,可以在不规则的三维点云上获得优异的性能。不规则数据的离散卷积网络和连续卷积网络应引起足够的重视
  • 基于图的网络因其固有的处理不规则数据的能力,近年来受到越来越多的关注。然而,将谱域中基于图的网络扩展到不同的图结构仍然具有挑战
  • 大多数网络需要将点云采样降为固定的小尺寸。此采样过程中将丢弃形状的详细信息。开发能够处理大规模点云的网络仍处于初级阶段

3. 三维对象检测和跟踪

  在本节中,我们将回顾现有的三维目标检测、三维目标跟踪和三维场景流估计的方法。

3.1 3D目标检测

  三维目标检测的任务是精确地定位给定场景中所有感兴趣的目标,类似于图像中的目标检测。三维目标检测方法可以分为两类:基于区域建议的方法和单镜头(single-shot)的方法。图6给出了几种里程碑的方法。
【论文翻译】点云深度学习综述 -- Deep Learning for 3D Point Clouds: A Survey_第7张图片

3.1.1 基于区域建议的方法

  这些方法首先提出几个可能包含对象的区域(也成为建议),然后提取区域特征来确定每个建议的类别标签。根据它们的对象建议生成方法,可以分为三类:基于多视图的方法,基于分割的方法和基于视锥的方法。
【论文翻译】点云深度学习综述 -- Deep Learning for 3D Point Clouds: A Survey_第8张图片
基于多视图的方法
  这些方法融合了来自不同视图地图的建议性特征(例如,激光雷达前视图、鸟瞰图(BEV)和图像),以获得三维旋转框,如图7(a)所示。这些方法的计算成本通常很高。
  Chen等人[4]从BEV地图生成一组高精度的3D候选框,并将其投影到多个视图(如LiDAR前视图图像、RGB图像)的特征图上。然后,如图7(a)所示,他们结合从不同视图获得的这些区域特征来预测定向3D边界框。虽然这种方法在有300个建议时达到了99.1%的召回率和0.25的IoU,但是其速度对于实际应用来说太慢。随后,从两个方面对多视点三维目标检测方法进行了改进。
  首先,提出了几种有效融合不同模态信息的方法。为了生成对小目标具有较高召回率的3D提议,Ku等人[97]提出了一种基于多模融合的区域提议网络。他们首先使用裁剪和调整大小等操作,从BEV和图像中提取大下相等的特征,然后使用元素平均池融合这些特征。LIang等人[98]利用连续卷积实现不同分辨率图像和三维激光雷达特征图的有效融合。具体来说,他们为BEV空间中的每个定提取最接近的对应图像特征,然后通过双线性插值将图像特征投影到BEV平面中,得到稠密的BEV特征图。实验结果表明,密集BEV特征图比离散图像特征图和稀疏LiDAR特征图更适合于三维目标检测。Liang等人[99]提出了一种用于端到端训练的多任务多传感器三维目标检测网络。具体来说,利用多个任务(例如2D目标检测、地面估计和深度)来帮助网络更好地学习特征表示。进一步利用所学习的跨模态表示方法产生高精度的目标检测结果。实验结果表明,该方法在2D、3D和BEV检测任务上都取得了显著的改进,在TOR4D基准上优于以往的最新方法。
  其次,研究了不同的方法来提取输入数据的鲁棒表示。Lu等人[102]通过引入空间通道注意(SCA)模块来探索多尺度上下文信息,该模块捕获场景的全局和多尺度上下文并突出有用的特征。他们还提出了一种扩展空间不采样(ESU)模块,通过多尺度低层特征的组合,获得具有丰富空间信息的高层特征,从而生成可靠的三维目标建议。尽管可以获得更好的检测性能,但上述多视图方法需要较长的运行时间,因为它们为每个建议执行功能池。随后,Zeng等人[103]使用了预先的ROI池卷积来提高[4]效率。具体地说,他们将大部分卷积操作移到ROI池模块之前。因此,对所有对象建议执行一次ROI卷积。实验结果表明,该方法的运算速度为11.1fps,是MV3D的5倍。
基于分割的方法
  这些方法首先利用现有的语义分割技术去除大部分背景点,然后在前景点上生成大量高质量的建议以节省计算量,如图7(b)所示。与多视图方法[4]、[97]、[103]相比,这些方法获得了更高的对象召回率,并且更适合具有哦高度遮挡和拥挤对象的复杂场景。
  Yang等人[104]使用二维分割网络来预测前景像素,并将其投影到点云中以去除大部分背景点。然后,他们在预测的前景点上生成建议,并设计了一个新的标准PointsIoU,以减少建议的冗余和模糊性。随后,Shi等人[105]提出了PointRCNN框架。具体来说,他们直接分割三维点云得到前景点,然后融合语义特征额局部空间特征,生成高质量的三维盒。在[105]的RPN阶段之后,Jesus等人[106]提出了利用图形卷积网络(GCN)进行三维目标检测的开创性工作。具体地说,引入了两个模块来使用图卷积细化对象建议。第一个模块R-GCN利用提议中包含的所有点来实现每个建议的特征聚合,第二个模块C-GCN融合来自所有建议的每帧信息,通过利用上下文来回归精确的对象框。Sourabh等人[107]将点云投影到基于图像的分割网络的输出中,并将语义预测分数附加到点上,该点输入到现有的检测器[105]、[108]、[109]以实现显著的性能改进。Yang等人[110]将每个点与球形锚相连,然后使用每个点的语义得分来移除多余的锚。因此,与以往的方法相比,该方法以较低的计算成本实现了较高的召回率[104]、[105]。此外,为了提高定位精度和检测性能,PointsPool被提出来学习内部点的紧凑特征,并引入了一个并行的IoU分支。实验结果表明,该方法在KITTI数据集的hard集合(Car类)上明显优于其他方法[99]、[105]、[111],运行速度为12.5fps。
基于视锥的方法
  这些方法首先利用现有的2D对象检测器生成对象的2D候选区域,然后为每个2D候选区域提取3D视锥,如图7(c)所示。虽然这些方法可以有效地提取三维物体的可能位置,但是,step-by-step的流水线流程使得它们的性能受到二维图像检测器的限制。
  F-PointNets[112]是这方面的一项开创性工作。它为每个2D区域生成个视锥区域,并应用PointNet [5](或PointNet++[27])学习每个3D视锥的点云特征,以进行amodal 3D盒估计。在后续的工作中,Zhao等人[113]提出了Point-SENet模块来预测一组比例因子,并进一步用于自适应地突出有用的特征和抑制信息量较少的特征。他们还将PointSIFT [114]模块集成到网络中获取点云的方向信息,对形状缩放具有较强的鲁棒性。与F-PointNets网络相比,该方法在室内和室外数据集上都取得了显著的改进。
  Xu等人[116]利用二维图像区域及其对应的视锥点云精确地回归三维长方体。为了融合图像特征和点云的全局特征,提出了一种用于盒角位置直接回归的全局融合网络。他们还提出了一个密集的融合网络,用于预测每个角点的偏移量。Shin等人[117]首先从二维图像中估计出物体的二维包围盒和三维姿态,然后提取出多个几何上可行的候选物体。这些三维候选对象被输入一个盒子回归网络以预测精确的三维对象盒子。Wang等人[111]为每个2D区域生成了一个沿视锥轴方向的视锥序列,并应用PointNet [5]为每个视锥提取特征。对视锥级特征进行改造以生成2D特征图,然后将其输入到全卷积网络中进行三维包围盒估计。该方法在基于2D图像中达到了最先进的性能,并在KITTI官方排行榜上排名第一。Lehner等人[118]首先在BEV地图上获得初步的检测结果,然后根据BEV预测提取小的点子集(也称为斑块)。应用局部精细网络学习局部特征,预测高精度的三维包围盒。
其他方法
  由于轴对称IoU在图像目标检测中的成功,Zhou等人[119]将两个3D旋转边界框的IoU集成到几个最新的检测器中[105]、[109]、[120],以实现持续的性能改进。Chen等人[121]提出了一种使用点云和体素表示的两级网络体系结构。首先,对点云进行体素化,并将其反馈到三维骨架网络中,以产生初始的检测结果。其次,进一步利用初始预测的内点特征进行盒形优化。尽管这些设计在概念上很简单,但在保持16.7fps的速度的同时,它实现了与PointRCNN [105]相当的性能。
受到基于Hough投票的二维目标检测器的启发,Qi等人[122]提出的VoteNet是直接从点云中投票选出对象的虚拟中心点,并通过聚合投票特征生成一组高质量的3D对象提议。VoteNet的性能明显优于以前仅使用几何信息的方法,并在两个大型室内基准(即ScanNet [8] 和SUN RGB-D [115])上实现了最先进的性能。然而,对于部分遮挡的物体,虚拟中心点的预测是不稳定的。进一步,Feng等人[123]增加了方向向量的辅助分支,提高了虚拟中心点和三维候选盒的预测精度。此外,还建立了各提议之间的三维对象-对象关系图,以强调精确目标检测所需的有用特征。受到三维物体的真实包围盒提供了物体内部部件的精确位置的启发,Shi等人[124]提出了Part-2 Net网络,它由部件感知阶段和部件聚合阶段组成。部件感知阶段采用具有稀疏卷积和稀疏反卷积的UNet-like网络学习点特征,用于预测和粗略生成对象内的部件位置。部件聚合阶段采用ROI感知池来聚合预测的部件位置,以进行盒评分和位置优化。

3.1.2 Single-shot的方法

  这些方法直接预测类概率,并使用单级网络回归物体的三维包围盒。这些方法不需要区域建议生成和后处理。因为,它们可以高速运行,非常适合实时应用。根据输入数据的类型,single-shot方法可以分为两类:基于BEV的方法和基于点云的方法。
基于BEV方法
  这些方法主要以BEV作为shuru。Yang等人[100]使用等距单元对场景的点云进行离散化,并以类似的方式对反射进行编码,从而得到规则的表示。然后应用全卷积(FCN)估计目标的位置和方位角。在28.6fps的速度下,该方法优于大多数single-shot方法(包括VeloFCN [125],3D-FCN [126]和Vote3Deep [127])。后来,Yang等人[128]利用高精(HD)地图提供的几何和语义先验信息,提高了[100]的鲁棒性和检测性能。具体来说,他们从HD地图中获得地面点的坐标,然后用相对于地面的距离来代替BEV表示中的绝对距离,以弥补道路坡度引起的平移方差。此外,他们还将个二元road mask与沿通道维度的BEV表示连接起来,以聚焦于移动对象。由于高精地图并非无处不在,他们还提供了一个在线地图预测模块来估计来自单个激光雷达点云的地图先验值。这种地图感知方法在TOR4D [100]、[101]和KITTI [10]数据集上明显优于其他方法,但对于不同密度的点云,其泛化性能较差。为了解决这个问题,Beltrán等人[129]提出了考虑不同激光雷达传感器之间差异的归一化映射。标准化映射是一个二维网格,其分辨率与BEV图相同,并对每个单元中包含的最大点数进行编码。结果表明,该归一化映射显著提高了基于BEV的检测器的泛化能力。
基于点云的方法
  这些方法将点云转换为规则化表示(如2D地图),然后应用CNN预测对象的类别和3D盒。Li等人[125]提出了第一种使用FCN进行三维目标检测的方法,他们将点云转换为二维点地图,并使用二维FCN预测对象的边界框和置信度。随后,他们[126]将点云离散为具有长度、宽度、高度和通道维度的4D张量,并将基于2D-FCN的检测技术扩展到3D域进行3D目标检测。与文献[125]相比,基于3D-FCN的方法[126]的计算精度提高了20%以上,但由于3D卷积和数据的稀疏性,不可避免地要耗费更多的计算资源。为了解决体素的稀疏性问题,Engelcke等人[127]利用以特征为中心的投票方案为每个非空体素生成一组投票,并通过累积投票来获得卷积结果。它的计算复杂度方法与占用的体素数成正比。Li等人[130]通过堆叠多个稀疏的3D CNN构建了3D骨架网络,该方法充分利用体素的稀疏性,节省内存,加快计算速度。该三维骨架网络在不增加计算量的前提下,提取丰富的三维特征进行目标检测。
  Zhou等人[108]提出了一种基于体素的端到端的可训练的框架VoxelNet,他们将点云划分为等间距体素,并将每个体素内的特征编码为4D张量,然后连接区域建议网络以产生检测结果。虽然该方法具有很强的性能,但由于体素和三维卷积的稀疏性,该方法速度很慢。后来,Yan等人[120]使用稀疏卷积网络[134]来提高[108]的推理效率。他们还提出了一个正弦误差角损失来解决0和π方向之间的模糊性。Sindagi等人[131]通过融合早期图像和点云特征扩展体素网,具体来说,他们将由[108]生成的非空体素投影到图像中,并使用预先训练的网络为每个投影的体素提取图像特征,然后将这些图像特征与体素特征连接起来,生成精确的三维长方体。与文献[108]、[120]相比,该方法可以有效地利用多模态信息来减少误报和漏报。Lang等人[109]提出了一种三维物体检测器PointPillars,该方法利用PointNet [5]学习垂直列(Pillars)的点云特征,并将学习到的特征编码为pesudo图像。然后应用二维目标检测管道预测三维包围盒,在平均精度(AP)方面,PointPillars优于大多数融合方法(包括MV3D[4]、RoarNet[117]和AVOD[97])。此外,PointPillars可以在3D和BEV KITTI [10]基准上以62 fps的速度运行,因此非常适合实际应用。
其他方法
  Meyer等人[132]提出了一种高效的三维物体检测器LaserNet,该方法预测每个点在边界框上的概率分布,然后组合这些点的分布以生成最终的3D对象框。进一步,以点云的稠密距离视图(RV)表示为输入,提出了一种快速的均值漂移算法来降低逐点预测所产生的噪声。LaserNet在0到50米的范围内实现了最先进的性能,其运行时间明显低于现有的方法。 Meyer 等人[133]扩展LaserNet以利用RGB图像提供的密集纹理(如50到70米)。具体来说,他们通过将三维点云投影到二维图像上,将激光雷达点与图像像素相关联,并利用这种关联将RGB信息融合到三维点中。他们还将三维语义分割作为学习更好表示的辅助任务。该方法在保持LaserNet高效性的同时,在长距离(如50-70米)目标检测和语义分割方面都取得了显著的改进。

3.2 3D目标跟踪

  给定目标在第一帧中的位置,目标跟踪的任务是估计其在后续帧中的状态[135]、[136]。由于三维目标跟踪可以利用点云中丰富的几何信息,因此有望克服二维图像跟踪所面临的遮挡、光照和尺度变化等缺点。
  受Siamese网络[137]成功实现基于图像的目标跟踪的启发,Giancola等人[138]提出了一个具有形状完成正则化的3D Siamese网络。具体来说,他们首先使用Kalman滤波器生成候选,然后使用形状正则化将模型和候选编码成一个紧凑的表示,再利用余弦相似度搜索下一帧中被跟踪对象的位置。该方法可以用作目标跟踪的替代方法,并且显著优于大多数2D目标跟踪方法,包括Staple−CA [139]和SiamFC [137]。为了有效地搜索目标物体,Zarzar等人[140]利用2D Siamese网络在BEV表示上生成大量粗糙的对象候选。然后,利用3D Siamese网络中的余弦相似性来细化候选对象。该方法在精度和成功率方面均显著优于[138]。Simon等人[141]提出了一种基于语义点云的三维目标检测和跟踪体系结构。他们首先通过融合二维视觉语义信息生成体素化语义点云,然后利用时间信息提高多目标跟踪的准确性。此外,他们还引入了一个强大而简化的评估指标(即Scale-Rotation-Translation score (SRFs))以加快训练和推理。他们提出的Complexer-YOLO具有很好的跟踪性能,并且仍然可以实时运行。

3.3 3D场景流估计

  类似于二维视觉中的光流估计,已有多种方法开始从点云序列中学习有用信息(如三维场景流、空间临时信息)。
  Liu等人[142]提出了FlowNet3D来直接从一对连续的点云中学习场景流。FlowNet3D通过流嵌入层学习点级特征和运动特征。然而,FlowNet3D存在两个问题。首先,一些预测的运动矢量在其方向上与真值有显著差异。其次,将FlowNet应用于非静态场景是困难的,特别是对于以可形变对象为主的场景。为了解决这个问题,Wang等人[143]引入余弦距离损失,以最小化预测与真值之间的夹角。此外,他们还提出了点到平面的距离损失,以提高刚体和动态场景的精度。实验结果表明,这两个损失项使FlowNet3D的精度由57.85%提高到63.43%,加快并稳定了训练过程。Gu等人[144]提出了一种层次化的自多面体网格FlowNet(HPLFlowNet),用于直接估计大规模点云的场景流。提出了多个双边卷积层来恢复原始点云的结构信息,同时降低了计算量。
  为了有效地处理序列点云,Fan和Yang [145]提出了PointRNN、PointGRU和PointLSTM网络以及一种sequence-to-sequence的模块来跟踪运动点。PointRNN、PointGRU和PointLSTM能够捕获空间临时信息并建立动态点云模型。同样,Liu等人[146]提出了直接从动态点云中学习表示的MeteorNet网络,该方法从时空领域点学习聚集信息,进一步引入直接分组和链式流分组来确定时间邻域。然而,上述方法的性能受到数据集规模的限制。 Mittal等人[147]提出了两个自监督损失,用于大型未标记数据集上训练其网络。他们的主要思想是一种鲁棒的场景流估计方法应该在正向和反向预测中都是有效的。由于场景流标注的不可用性,将预测转换点的最近邻视为伪真值。然而,真值可能与最近的点不同。为了避免这个问题,他们计算了场景的反向流动,并提出了一个循环一致性损失来将点转换到原始位置。实验结果表明,这种自监督方法的性能优于基于监督学习的方法。

3.4 总结

  KITTI [10]基准是自动驾驶领域最具影响力的数据集之一,在学术界和工业界都得到了广泛的应用。表2和表3分别显示了不同检测器在KITTI测试3D和BEV基准上取得的结果,可以得到以下观察:

  • 基于区域建议的方法是这两类方法中最常被研究的方法,并且在KITTI 3D和BEV基准上都有很大的优势。
  • 现有的三维物体检测器有两个局限性。首先,现有方法的长距离检测能力相对较差。其次,如何充分利用图像中的纹理信息仍是一个有待解决的问题。
  • 多任务学习是三维目标检测的一个发展方向。例如,MMF [99]通过合并多个任务来学习交叉模态表示以获得最新的检测性能。
  • 三维目标跟踪和场景流估计是新兴的研究课题,自2019年以来逐渐受到重视。
    【论文翻译】点云深度学习综述 -- Deep Learning for 3D Point Clouds: A Survey_第9张图片【论文翻译】点云深度学习综述 -- Deep Learning for 3D Point Clouds: A Survey_第10张图片

4. 3D 点云分割

  三维点云分割需要了解全局几何结构和每个点的细粒度细节。根据分割粒度的不同,三维点云的分割方法可以分为三类:语义分割(场景级),实例分割(对象级)和部件分割(部件级)。

4.1 3D场景分割

  在给定点云的情况下,语义分割的目的是根据点云的语义将其分割成若干子集。类似于三维形状分类的分类法(见第2节),语义分割有两种模式,即基于投影和基于点的方法。我们在图8中展示了几种有代表性的方法。
【论文翻译】点云深度学习综述 -- Deep Learning for 3D Point Clouds: A Survey_第11张图片

4.1.1 基于投影的网络

  根据中间的正则表示可以分类为多视图表示[148]、[149]、[150],球形表示[150]、[151]、[152],体素表示[153]、[154]、[155],超多面体晶格表示[156]、[157]和混合表示[158]、[159],如图9所示。
【论文翻译】点云深度学习综述 -- Deep Learning for 3D Point Clouds: A Survey_第12张图片
多视图表示
  Felix等人[148]首先从多个虚拟摄像机视图将三维点云投影到二维平面上,然后使用多流FCN对合成的图像进行像素级分数预测。每个点的最终语义标签是通过融合不同视图上的重投影分数得到的。同样,Boulch等人[149]首先使用多个相机位置生成点云的多个RGB和深度图。然后,他们使用二维分割网络对这些图像进行逐像素标记。根据RGB和深度图像预测的分数使用残差校正进一步融合。基于点云是从局部欧氏曲面采样的假设,Tatarchenko等人[161]为密集点云分割引入了切线卷积。此方法首先将每个点周围的局部曲面几何图形投影到虚拟切面,然后在曲面几何体上直接操作切线卷积。该方法具有很强的可扩展性,能够处理数百万个点的大规模点云。总体而言,多视点分割方法的性能对视点选择和遮挡敏感。此外,由于投影步骤不可避免地带来信息丢失,这些方法并没有充分利用潜在的几何结构信息。
球形表示
  为了实现对三维点云的快速、准确分割,Wu等人[150]提出了一种基于SqueezeNet [162]和条件随机场(CRF)的端到端网络。为了进一步提高分割精度,SqueezeSegV2 [151]利用无监督的域自适应管道来解决域移位问题。Milioto等人[152]提出了用于LiDAR点云实时分割的RangeNet++。首先将二维距离图像的语义标签转移到三维点云上,然后采用基于GPU的KNN后处理方法,解决了离散化误差和模糊推理输出的问题。与单视图投影相比,球面投影保留了更多的信息,适合于激光雷达点云的标记。然而,这种中间表示不可避免地会带来离散化误差和遮挡等问题。
体素表示
  Huang等人[163]首先将点云划分为一组占据体素,然后将这些中间数据输入到一个全三维卷积神经网络进行体素分割,最后,体素中的所有点都被赋予与体素相同的语义标签。该方法的性能受到体素粒度和点云分割引起的边界伪影的严重限制。此外,Tchapmi等人[164]提出了SEGCloud来实现细粒度和全局一致的语义分割。该方法引入确定性三线性插值,将3D-FCNN [165]生成的粗体素预测映射回点云,然后使用全连接CRF(FC-CRF)来增强这些推断的逐点标签的空间一致性。Meng等人[153]介绍了一种基于核的插值变分自动编码器结构,对每个体素内的局部几何结构进行编码。用RBFs代替二元占据表示,对每个体素进行连续表示,捕捉每个体素中的点分布。VAE进一步用于将每个体素内的点分布映射到一个紧凑的潜在空间。然后,利用对称群和等价CNN实现鲁棒特征学习。
  良好的可扩展性是体素表示的显著性优势之一。具体来说,基于体素的网络可以自由地在不同空间大小的点云中进行训练和测试。在全卷积点网络(FCPN)[154]中,首先从点云中分层提取不同层次的几何关系,然后使用3D卷积和加权平均池来提取特征并合并长期相关性。该方法能够处理大规模的点云,在推理过程中具有良好的可扩展性。Angela等人[166]提出了ScanComplete来实现三维扫描完成和每个体素的语义标记。该方法充分利用了全卷积神经网络的可扩展性,能够在训练和测试过程中适应不同的输入数据量,采用由粗到细的分级策略提高预测结果的分辨率。
  体素表示自然是稀疏的,因为非零值的数量只占很小的百分比。因此,在空间稀疏数据上应用密集卷积神经网络是低效的。为此,Graham等人[155]提出了子流形稀疏卷积网络。该方法通过将卷积的输出限制为仅与占据的体素相关,显著降低了内存和计算成本。同时,它的稀疏卷积也可以控制提取特征的稀疏性。这种子流形稀疏卷积方法适用于高维和空间稀疏数据的高效处理。此外,Choy等人[167]提出了一种用于3D视频感知的4D时空卷积神经网络MinkowskiNet。该方法为了有效地处理高维数据,提出了一种广义稀疏卷积方法,并利用三边平稳条件随机场来增强一致性。
  总而言之,体素表示自然保留了三维点云的领域结构,它的常规数据格式也允许直接应用标准的三维卷积。这些因素导致这一领域的业绩稳步提高。然而,体素化步骤固有地引入了离散化伪影和信息丢失。通常,高分辨率会导致高内存和计算成本,而低分辨率会导致细节丢失。在实践中,选择合适的网格分辨率是非常重要的。
超多面体晶格表示
  Su等人[156]提出了基于双边卷积层的稀疏格点网络(SPLATNet)。该方法首先将一个原始点云插值到一个多面体稀疏格上,然后应用BCL对稀疏格上的占据部分进行卷积,过滤后的输出再插值回原始点云。此外,该方法还允许多视点图像和点云的之间的灵活联合处理。进一步,Rosu等人[157]提出了LatticeNet来实现大点云的高效处理,还引入了一个与数据相关的插值模块DeformsSlice,用于将晶格特征反向投影到点云。
混合表示
  为了进一步利用所有可用得到信息,人们提出了几种从三维扫描中学习多模态特征的方法。Angela and Matthias [158]提出了一种结合RGB特征和几何特征的联合3D多视图网络。利用三维CNN流和多个二维流进行特征提取,并提出一个可微反投影层,将学习到的2D嵌入和3D几何特征进行融合。此外,Hung等人[168]提出一个统一的基于点的框架,用于从点云学习二维纹理外观、三维结构和全局上下文特征。该方法直接应用基于点的网络从稀疏采样点集中提取局部几何特征和全局上下文,不需要任何体素化。Jaritz等人[159]提出了多视点PointNet(MVPNet)的概念,将二维多视点图像中的外观特征和典型点云空间中的空间几何特征结合起来。

4.1.2 基于点的网络

  基于点的网络直接作用于不规则点云,然而,点云是无秩序的、非结构化的,直接应用标准CNN是不可行的。为此,作为一项开创性的工作,PointNet [5]使用共享MLP学习点特征,并使用对称池函数来得到全局特征。基于PointNet,一系列基于点的网络最近被提出。总体而言,这些方法大致可分为点式MLP方法、点卷积方法、基于RNN的方法和基于图的方法。
点式MLP方法
  这些方法由于效率高,通常以共享MLP作为网络的基本单元。然而,共享MLP提取的点特征不能捕捉点云的局部几何特征和点间的相互作用。为了获取每个点的更广泛的上下文信息并学习更丰富的局部结构,已经引入了几种专用网络,包括基于邻域特征池的方法、基于注意力的聚合和local-global特征连接。
【论文翻译】点云深度学习综述 -- Deep Learning for 3D Point Clouds: A Survey_第13张图片
  邻域特征池:为了捕捉局部几何图形,这些方法通过聚集局部邻接点的信息来学习每个点的特征。如图10所示,PointNet++ [27]按层次对点进行分组,并逐步从较大的区域进行学习。针对定密度不均匀的问题,提出了多尺度分组和分辨率分组。后来,Jiang等人[114]提出了一个PointSIFT模块来实现方向编码和尺度感知。该模块通过一个三级有序卷积运算对来自八个空间方向的信息进行叠加和编码。提取多尺度特征并进行拼接,实现对不同尺度的自适应。与PointNet++中使用的分组技术(即 ball查询)不同,Francis等人[169]利用K-均值聚类和KNN分别定义了世界空间和学习特征空间中的两个邻域。在假设同一类点在特征空间中的距离较近的基础上,引入了一对距离损失和一个质心损失来进一步正则化特征学习。为了模拟不同点之间的相互作用,Zhao等人[31]提出了PointWeb,通过密集地构造一个局部全连接的点网来探索局部区域内所有点对之间的关系,提出了一种自适应特征调整(AFA)模块来实现信息交换和特征细化,此聚合操作有助于网络学习区分性特征表示。Zhang等人[170]基于同心球壳的统计信息,提出了一种称为Shellconv的置换不变卷积。该方法首先查询一组多尺度同心球,然后在不同的壳内使用最大池运算进行统计,用MLPs和1D卷积得到最终的卷积输出。Hu等人[95]提出了一种高效、轻量级的大规模点云处理网络RandLA-Net,该网络采用随机点采样,在存储和计算方面都有显著的效率。进一步提出了一个Ubuntu特征聚合模块来捕获和保存几何特征。
  基于注意力聚合:为了进一步提高分割精度,在点云分割中引入了注意力机制[90]。Yang等人[29]提出了一种群洗牌注意力模型来模拟点之间的关系,并提出了一种置换不变、任务不可知和可微的Gumbel Subset Sampling (GSS)方法来代替广泛使用的最远点抽样(FPS)方法。该模块对异常值不太敏感,可以选择一个具有代表性的点子集。为了更好地捕捉点云的空间分布,Chen等人[171]基于点云的空间布局和局部结构,提出了一种局部空间感知(LSA)层来学习空间感知权重。与CRF相似,Zhao等人[172]提出了一个基于注意力的分数细化(ASR)模块,对网络产生的分割结果进行后处理。通过将相邻点的得分与学习到的注意权重相结合,对初始分割结果进行细化。该模块可以很容易地集成到现有的深度网络中,以提高最终的分割性能。
  local-global 特征连接:Zhao等人[85]提出了一个置换不变的 P S 2 PS^2 PS2-Net,它结合了点云的局部结构和全局上下文信息。Edgeconv [60]和NetVLAD [173]被反复叠加以捕获本地信息和场景级全局特征。
点卷积方法
  这些方法倾向于对点云提出有效的卷积操作。Hua等人[49]提出了一种逐点卷积算子,将相邻点合并成核单元,然后用核权卷积。Wang等人[174]提出了一种基于参数连续卷积层的PCCN网络,该层的核函数由MLPs参数化,跨越连续向量空间。Hughes等人[42]提出了一种基于核点卷积(KPConv)的核点全卷积网络(KP-FCNN)。具体来说,KPConv的卷积权值是由核点的欧氏距离决定的,核点的数目是不固定的,将核点的位置表示为球面空间中的最优覆盖问题。注意,半径邻域用于保持一致的接收场,而网格子采样用于每个层,以在不同密度的点云下实现高鲁棒性。在[175]中,Francis等人提出了丰富的消融实验和可视化结果,展示了感受野对聚集方法性能的影响。他们还提出了一种扩展点卷积(DPC)操作来聚集扩展的邻近特征,而不是K个最近邻。这种操作被证明在增加接收场方面非常有效,并且可以很容易地集成到现有的基于聚合的网络中。
基于RNN的方法
  为了从点云中获取固有的上下文特征,递归神经网络(RNN)也被用于点云的语义分割。基 PointNet,Francis等人[180]首先将点云块转换为多尺度块和网络块,以获得输入级上下文。然后,将PointNet提取的分块特征依次输入到合并单元(CU)或循环合并单元(RCU)中,得到输出级上下文。实验结果表明,融合空间上下文对提高分割性能具有重要意义。Huang等人[179]提出了一个轻量级的局部依赖建模模块,并利用片池层将无序点特征集转化为有序的特征。Ye等人[181]首先提出了一个点式金字塔池(Pointwise Pyramid Pooling,3P)模块来捕获由粗到细的局部结构,然后利用双向分层RNNs进一步获得远程空间相关性,最后应用RNN实现端到端的学习。然而,这些方法在将局部邻域特征与全局结构特征融合时,会丢失点云丰富的几何特征和密度分布[189]。为缓解刚性和静态池操作带来的问题,Zhao等人[189]提出了一种同时考虑全局场景复杂度和局部几何特征的动态聚合网络(DAR-Net),使用自适应的感受野和节点权重动态聚合中间特征。Liu等人[190]提出了3DCNN-DQN-RNN用于大规模点云的高效语义分析,该网络首先利用三维CNN网络学习空间分布和颜色特征,然后利用DQN对类对象进行定位,最后将拼接后的特征向量输入到剩余的RNN中,得到最终的分割结果。
基于图的方法
  为了捕获三维点云的基本形状和几何结构,有几种方法借助于图形网络。Loic等人[182]将点云表示为一组相互连接的简单形状和超点,并使用属性有向图(即超点图)来捕获结构和上下文信息。然后,将大规模点云分割问题分解为三个子问题,即几何齐次分割、超点嵌入和上下文分割。为了进一步改进分割步骤,Loic和Mohamed[183]提出了一个监督框架,将点云过分割为纯超点。该问题被描述为一个由邻接图构成的深度度量学习问题。此外,本文还提出了一种图形结构的对比损失来帮助识别对象之间的边界。
  为了更好地捕获高维空间中的局部几何关系,Kang等人[191]提出了一种基于图嵌入模块(GEM)和金字塔注意网络(PAN)的PyramNet。GEM模块将点云表示为有向无环图,并使用协方差矩阵代替欧氏距离来构造邻接相似矩阵。PAN模块使用四种不同大小的卷积核来提取不同语义强度的特征。在文献[184]中,图注意力卷积(Graph Attention Convolution,GAC)被提出用于从局部邻域集中选择性地学习相关特征。该算法根据相邻点和特征通道的空间位置和特征差异,动态地分配注意力权值。GAC可以学习捕捉区分特征用于分割,并且具有与常用CRF模型相似的特征。

4.2 实例分割

  与语义分割相比,实例分割更具挑战性,因为它需要对点进行更精确、更精细的推理。特别是,它不仅需要区分语义不同的点,而且还需要区分语义相同的实例。总的来说,现有的方法可以分为两类:基于建议的方法和无建议的方法。一些里程碑的方法如图11所示:
【论文翻译】点云深度学习综述 -- Deep Learning for 3D Point Clouds: A Survey_第14张图片

4.2.1 基于建议的方法

  这些方法将实例分割问题转化为两个子任务:三维目标检测和实例掩码预测。Hou等人[192]提出了一种三维全卷积语义实例分割(3D-SIS)网络,实现了RGB-D扫描的语义实例分割,这个网络同时学习颜色和几何特征。与三维目标检测类似,三维区域建议网络(3D-RPN)和感兴趣的三维区域(3D-RoI)层用于预测边界框位置、对象类标签和实例掩码。通过综合策略分析,Yi等人[193]提出了一种生成形状建议网络(GSPN)来生成高对象3D建议,这些建议由基于区域的PointNet(R-PointNet)进一步改进。最后的标签是通过预测每个类标签的每点二进制掩码获得的。与直接从点云中回归三维包围盒不同,该方法通过加强几何理解,去除大量无意义的建议。通过将二维全景分割扩展到三维映射,Gaku等人[194]提出了一个线上三维映射系统以实现大场景的三维重建、语义标注和实例分割。他们首先利用二维语义和实例分割网络获得像素级的全景标签,然后将这些标签集成到体素图中。进一步使用全连接CRF实现精确的分割。该语义映射系统能够实现高质量的语义映射和鉴别对象识别。Yang等人[195]提出了一种单级、无锚、端到端可训练的3D-BoNet网络,实现了点云上的实例分割。该方法直接对所有可能的实例进行粗糙的三维边界盒回归,然后利用点级二值分类器获得实例标签。特别地,边界盒生成任务被描述为一个最优分配问题。此外,提出了一个多准则损失函数来正则化生成的边界盒。该方法不需要任何后处理,计算效率高。Zhang等人[196]提出了一个大规模室外激光雷达点云实例分割的网络。该方法利用自注意力模块学习鸟瞰图的特征表示,最终的实例标签是根据预测的水平中心和高度限制获得的。
  总体而言,基于建议的方法直观且直接,实例分割的结果通常具有良好的对象。然而,这些方法需要多阶段的训练和冗余方案的优化。因此,他们通常是耗时且计算昂贵的。

4.2.2 无建议的方法

  无建议的方法[197]、[198]、[199]、[200]、[201]、[202]没有对象检测模块。相反,他们通常将实例分割视为语义分割之后的后续聚类步骤。特别是,大多数现有的方法都基于这样的假设:属于同一实例的点应该具有非常相似的特征。因此,这些方法主要集中在鉴别特征学习和点分组两个方面。
一项开创性的工作,Wang等人[197]首先引入了相似群建议网络(SGPN)。该方法首先学习每个点的特征和语义映射,然后引入相似度矩阵来表示每个成对特征之间的相似度。为了学习更多的鉴别特征,它们使用双铰链损失来相互调整相似度矩阵和语义分割结果。最后,采用启发式的非极大值抑制方法将相似点合并到实例中。由于构造相似矩阵需要消耗大量的内存,因此该方法的可扩展性受到限制。同样,Liu等人[201]首先利用子流形稀疏卷积[155]预测每个体素的语义得分和相邻体素之间的亲和力。然后,他们引入了一种聚类算法,根据预测的亲和力和网络拓扑将点分组到实例中。此外,Liang等人[202]提出了一种用于鉴别嵌入学习的结构感知损失。这种损失既考虑了特征的相似性,又考虑了点之间的几何关系。利用一个基于注意力的图CNN,通过从邻域中聚合不同的信息来自适应地细化学习特征。由于点的语义类别和实例标签通常是相互依赖的,因此一些方法提取了将这两个任务耦合成一个任务的方法。Wang等人[198]通过引入一个端到端和可学习的关联分段实例和语义(ASIS)模块,将这两个任务集成起来。实验表明,通过该模块,语义特征和实例特征能够相互支持,提高了系统的性能。同样,Pham等人[199]首先引入了一个多任务点网络(MT-PNet)来为每个点分配一个标签,并通过引入一个判别损失来正则化特征空间中的嵌入[203]。然后,他们将预测的语义标签和嵌入融合到多值条件随机场(MV-CRF)模型中进行联合优化。最后,利用均值域变分推理产生语义标签和实例标签。Hu等人[204]首先提出了一种动态区域生长(DRG)方法,将点云动态分割为一组不相交的块,然后使用无监督K-means++算法对所有这些块进行分组。然后在块间上下文信息的指导下进行多尺度斑块分割。最后,这些带标签的斑块被合并到对象级,以获得最终的语义和实例标签。
  为了在全三维场景中实现实例分割,Cathrin等人[200]提出了一个混合的2D-3D网络,从BEV表示和点云的局部几何特征中联合学习全局一致的实例特征。然后将学习到的特征组合起来,实现语义和实例分割。注意,与启发式分组合并算法[197]不同,使用更灵活的Meanshift[205]算法将这些点分组为实例。另外,多任务学习也被引入到实例分割中。Jean等人[206]学习了每个实例的独特特征嵌入和对象中心的方向信息,提出了特征嵌入损失和方向损失来调整隐特征空间中学习到的特征嵌入,并采用Meanshift聚类和非最大值抑制方法对体素进行实例聚类。该方法在ScanNet [8]基准上实现了最先进的性能。此外,预测的方向信息对于确定实例的边界特别有用。Zhang等人[207]将概率嵌入引入点云实例分割,该方法还引入了不确定性估计,并为聚类步骤提出了一种新的损失函数。
  总之,无建议的方法不需要计算代价高昂的区域建议组件。但是,由于这些方法没有显式的检测对象边界,因此由这些方法分组的实例段的对象性通常很低。

4.3 部件分割

  三维形状的部件分割有两个难点。首先,具有相同语义标签的形状部件具有较大的几何差异性和模糊性。其次,该方法对噪声和采样具有鲁棒性。
  VoxSegNet [208]是为了在有限的解决方案下实现对三维体素化数据的细粒度分割,提出了一种空间密集提取(SDE)模块(which consists of stacked atrous residual blocks),用于从稀疏体素数据中提取多尺度判别特征。通过逐步应用注意力特征聚合(AFA)模块,进一步对学习到的特征进行加权和融合。Evangelos等人[209]将FCN和基于曲面的CRF结合起来,实现端到端的3D部件分割。他们首先从多个视图生成图像,以获得最佳的表面覆盖率,然后将这些图像输入到二维网络中生成置信图。然后,这些置信图由基于表面的CRF聚合,CRF负责对整个场景进行一致的标记。Yi等人[210]引入了同步谱CNN(SyncSpecCNN)对不规则和非同构形状图进行卷积。为了坚决部件多尺度分析和形状间信息共享的问题,引入了卷积核和谱变化期网络的谱参数化方法。
  Wang等人[211]首先引入形状全卷积网络(Shape Fully Convolutional Networks,SFCN),以三个低层几何特征作为输入,对三维网格进行形状分割。然后,利用基于投票的多标签图切割进一步细化分割结果。Zhu等人[212]提出了一种用于三维形状联合分割的弱监督CoSegNet网络,该网络以未分段的三维点云形状集合作为输入,通过迭代最小化组一致性损失来生成形状部件标签。与CRF类似,本文提出了一个预先训练的部件细化网络,以进一步细化和去噪部件建议。Chen等人[213]提出了一种用于无监督、one-shot和弱监督的三维形状联合分割的Branched AutoEncoder network (BAE-NET)。该方法将形状共联合割任务定义为一个表示学习问题,目的是通过最小化形状重建损失来寻找最简单的部件表示。基于编解码结构,该网络的每个分支都可以学习特定零件形状的紧凑表示。然后,从每个分支和点坐标中学习的特征被输入到解码器中,以产生一个二进制值(指示该点是否属于该部分)。该方法具有良好的泛化能力,可以处理大的三维形状集合(多达5000多个形状)。然而,该方法对初始参数敏感,且不将形状语义融入到网络中,这就阻碍了该方法在每次迭代中获得稳健、鲁棒的估计。

4.4 总结

  表4显示了现有方法在公开基准上取得的结果,包括S3DIS [176],Semantic3D [9],ScanNet [102],和SemanticKITTI [177]。以下问题需要进一步研究:

  • 基于点的网络是最常用的研究方法。然而,点的表示自然没有明确的邻域信息,现有的基于点的方法大多采用昂贵的邻域搜索机制(如KNN [52]或ball查询[27])。这内在地限制了这些方法的效率,因为邻域搜索机制既需要较高的计算成本,又需要不规则的内存访问[214]。
  • 从不平衡的数据集中学习仍然是点云分割中的一个具有挑战性的问题。尽管一些方法[42]、[170]、[182]取得了显著的整体性能,但是它们在少数类别上的性能依然有限。例如,RandLA-Net [95]在Semantic3D的reduced- 8子集中实现了76.0%的IoU,但是在硬景观类别上只有41.1%的IoU。
  • 现有的大多数方法[5]、[27]、[52]、[170]、[171]都是在小点云上工作的(例如1m×1m,4096个点)。在实际应用中,深度传感器获取的点云通常是巨大的、大尺度的。因此,有必要进一步研究大规模点云的有效分割问题。
  • 一些文献[145]、[146]、[167]已经开始从动态点云中学习时空信息。语义时空信息有助于提高三维目标识别、分割和完成等任务。
    【论文翻译】点云深度学习综述 -- Deep Learning for 3D Point Clouds: A Survey_第15张图片

5. 总结

  本文总结了目前最先进的三维理解方法,包括三维形状分类、三维目标检测与跟踪、三维场景与目标分割等。对这些方法进行了全面的分类性性能比较。文章还介绍了各种方法的优缺点,列出了潜在的研究方向。

---------------------------本文仅用于学习交流,如有侵权,请联系删文-------------------------

你可能感兴趣的:(3D,Lidar)