3D点云学习综述
约 10816 字大约 36 分钟
2022-10-11
1. 数据集
2. 评价指标
3D 形状分类,总体精度 (OA) 和平均类别精度 (mAcc) 是最常用的性能标准。
- “OA”代表所有测试实例的平均准确度,“mAcc”代表所有形状类别的平均准确度。
3D 目标检测,平均精度 (AP) 是最常用的标准。它的计算方式是精确率-召回率曲线下的面积。
- 精度和成功度通常用于评估 3D 单目标跟踪器的整体性能。
- 平均多目标跟踪精度 (AMOTA) 和平均多目标跟踪精度 (AMOTP) 是评估 3D 多目标跟踪最常用的标准。
3D 点云分割,OA、平均交并集 (mIoU) 和平均类精度 (mAcc) 是最常用的性能评估标准。
- 平均精度(mAP)也用于 3D 点云的实例分割。
3. 分类
3.1基于投影的网络
这些方法将三维点云投影到不同的表示方式(如多视图、体素表示)中,用于特征学习和形状分类。
3.1.1 多视图表示
这些方法将3D点云投影到多个视图当中,并提取不同视图方向的特征,然后混合这些特征来以进行准确的形状分类。如何将多个基于视图的特征聚合到一个可区分的全局表示中是一个关键挑战。
MVCNN是一项开创性的工作,它将多视图特征简单地聚合到一个全局描述符中。但是,最大池仅保留特定视图中的最大元素,从而导致信息丢失。MHBN通过协调双线性池来集成局部卷积特征,从而产生一个紧凑的全局描述符。Yang等人[17]首先利用一组视图上的相互关系(如区域-区域关系,视图-视图关系)来提出一个关系网络,然后聚合这些视图以获得有判别性的三维对象表示。此外,为了提高识别精度,还提出了其他几种方法[18][19][20][21]
。
3.1.2 体素化表示
早期的方法通常将三维卷积神经网络(CNN)运用于三维点云的体素表示上。Daniel等人[22]介绍了一个称为VoxNet的体素占据网络,以实现稳健的三维物体识别。Wu等人[6]提出了一种基于卷积深度信念的三维形状网络,用于从各种三维形状中学习点的分布。三维形状通常用体素网格上二元变量的概率分布来表示。尽管该方法已经取得了令人鼓舞的性能,但由于计算和内存占用随着分辨率呈指数增长,这些方法无法很好地扩展到密集的三维数据。为此,提出了一种层次化、紧凑的图结构(如八叉树)来降低这些方法的计算和存储开销。OctNet [23]首先使用混合网格八叉树结构分层地划分点云,该结构利用几个浅八叉树结构来表示三维场景,利用bit来对八叉树结构进行有效编码,并用简单的算法对每个体素的特征向量进行索引。Wang [24]等人提出了一种基于八叉树的CNN用于三维形状分类方法,将叶子节点八分角点采样的法向量作为该三维模型的平均法向量输入到网络中,并将3D-CNN应用到三维形状曲面所占用的八分角点上。与基于密集输入网络的网络相比,OctNet对高分辨率点云的内存和运行时间要求要少得多。Le [25]提出了一种称为点网格的混合网络,它集成了点和网格的表示,以实现高效的点云处理。在每个嵌入的体素网格内采样固定数量的点,这使得网络可以通过使用三维卷积来提取几何细节。
3.2基于点的网络
根据用于每个点特征学习的网络结构,该类方法可分为点式MLP、卷积式、图式、数据索引式等其他典型网络。
3.2.1 点式MLP网络
该方法使用多个多层感知机(MLP)独立地对每个点建模,然后使用对称函数聚合全局特征,如图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提取全局特征,并利用基于图的聚集来提取局部特征。
3.2.2 基于卷积的网络
与二维网格结构(如图像)中定义的核相比,三维点云的卷积核由于点云的不规则性而难以设计。根据卷积核的类型,目前的三维卷积网络可以分为连续卷积网络和离散卷积网络。
点的局部邻居的连续和离散卷积的图示。 (a) 表示以点 p 为中心的局部邻域 qi; (b)和(c)分别表示3D连续和离散卷积
连续卷积
这些方法在连续空间上定义卷积核,其中相邻点的权重与相对于中心点的空间分布相关。
3D 卷积可以解释为给定子集的加权和。作为 RS-CNN [62] 的核心层,RSConv 将某个点周围的点的局部子集作为输入,并使用 MLP 通过学习低级关系(例如欧几里德距离和相对位置)到局部子集中点之间的高级关系。在[63]中,核元素是在单位球体中随机选择的。然后使用基于 MLP 的连续函数来建立核元素位置和点云之间的关系。在 DensePoint [64] 中,卷积被定义为具有非线性激活器的单层感知器(SLP)。通过连接所有先前层的特征来学习特征,以充分利用上下文信息。
Thomas 等人 [65] 提出了使用一组可学习核点的 3D 点云的刚性和可变形核点卷积 (KPConv) 算子。 ConvPoint [66]将卷积核分为空间部分和特征部分。空间部分的位置是从单位球体中随机选择的,权重函数是通过简单的 MLP 学习的
有些方法还使用现有的算法来执行卷积。在 PointConv [67] 中,卷积被定义为关于重要性采样的连续 3D 卷积的蒙特卡洛估计。卷积核由加权函数(通过 MLP 层学习)和密度函数(通过核化密度估计和 MLP 层学习)组成。
为了提高内存和计算效率,3D卷积进一步简化为两个运算:矩阵乘法和2D卷积。在相同的参数设置下,其内存消耗可减少约64倍。在 MCCNN [68] 中,卷积被认为是依赖于样本密度函数(用 MLP 实现)的蒙特卡罗估计过程。然后使用泊松盘采样来构建点云层次结构。该卷积算子可用于在两种或多种采样方法之间执行卷积,并且可以处理不同的采样密度。在 SpiderCNN [69] 中,SpiderConv 被提出将卷积定义为阶跃函数和在 k 个最近邻上定义的泰勒展开式的乘积。阶跃函数通过对局部测地距离进行编码来捕获粗略几何形状,泰勒展开式通过在立方体顶点处插值任意值来捕获固有的局部几何变化。此外,还提出了基于径向基函数的用于 3D 点云的卷积网络 PCNN [70]。
针对三维卷积网络面临的旋转不变问题,提出了几种解决方法。Esteves等人[43]提出了一种以多值球面函数为输入的三维球面卷积神经网络(spheral CNN)来学习三维形状的旋转不变表示,局部卷积滤波器是通过在球面调和域中参数化带锚定点的谱得到的。张量场网络[44]将点卷积运算定义为可学习的径向函数和球谐函数的乘积,球谐函数局部等价于点的三维旋转、平移和置换。文献[45]中的卷积是基于球面互相关定义的,并用广义快速傅立叶变换(FFT)算法实现。SPHNet [46]以PCNN为基础,在体函数卷积过程中引入球谐核,实现了旋转不变性。ConvPoint [47]将卷积核分为空间和特征部分,空间部分的位置是从一个单位球体中随机选择的,权重函数是通过一个简单的MLP来学习的。 为了加快计算速度,Flex-Convolution [48]将卷积核的权值定义为k个最近邻上的标准标量积,使用CUDA可以加快计算速度。实验结果表明,该算法在参数少、内存消耗低的小数据集上具有较好的性能。
离散卷积
这些方法在规则网格上定义卷积核,其相邻点的权重以其相对于中心点的偏移量有关。
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能够抵抗旋转和扰动。
3.2.3 基于图的网络
基于图的网络将点云中的每个点视为图的顶点,并基于每个点的领域为图生成有向边。然后在空间域或者谱域中执行特征学习。
基于图的空间域
这些方法定义了空间域中的操作(如卷积和池)。具体来说,卷积通常是通过空间邻域上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,通过学习相对欧几里德距离和方向距离来实现对几何变换的不变性。
3.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具有更高的层次性,充分挖掘了点云的空间分布。
3.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]进一步提出利用关系评分模块学习三维点云与其多视图之间的关系。基于关联度评分,对原始的二维全局视图特征进行增强,实现了单视点融合和多视点融合。
小结
ModelNet10/40 基准上的 3D 形状分类结果比较。在这里,我们只关注基于点的网络。 “#params”表示模型的参数数量,“OA”表示所有测试实例的平均准确度,“mAcc”表示表中所有形状类别的平均准确度。符号“-”表示没有结果。
ModelNet10/40数据集是形状分类最常用的数据集,表1显示了不同基于点的网络所取得的结果,可以得出以下几个结果:
- 点式MLP网络通常用作其他类型学习点特征的基本构建块
- 卷积网络作为一种标准的深度学习结构,可以在不规则的三维点云上获得优异的性能。不规则数据的离散卷积网络和连续卷积网络应引起足够的重视
- 基于图的网络因其固有的处理不规则数据的能力,近年来受到越来越多的关注。然而,将谱域中基于图的网络扩展到不同的图结构仍然具有挑战
- 大多数网络需要将点云采样降为固定的小尺寸。此采样过程中将丢弃形状的详细信息。开发能够处理大规模点云的网络仍处于初级阶段
4. 检测/跟踪
4.1 3D 目标检测
4.1.1 基于区域建议的方法
这些方法首先提出几个可能包含对象的区域(也成为建议),然后提取区域特征来确定每个建议的类别标签。根据它们的对象建议生成方法,可以分为三类:基于多视图的方法,基于分割的方法和基于视锥的方法。
图7. (a) multi-view based, (b) segmentation-based and (c) frustum-based methods.
基于多视图的方法
这些方法融合了来自不同视图地图的建议性特征(例如,激光雷达前视图、鸟瞰图(BEV)和图像),以获得三维旋转框,如图7(a)所示。这些方法的计算成本通常很高。
基于分割的方法
这些方法首先利用现有的语义分割技术去除大部分背景点,然后在前景点上生成大量高质量的建议以节省计算量,如图8(b)所示。与多视图方法[4]、[126]、[131]相比,这些方法实现了更高的对象召回率,并且更适合对象高度遮挡和拥挤的复杂场景。
基于视锥的方法
这些方法首先利用现有的2D对象检测器生成对象的2D候选区域,然后为每个2D候选区域提取3D视锥,如图7(c)所示。虽然这些方法可以有效地提取三维物体的可能位置,但是,step-by-step的流水线流程使得它们的性能受到二维图像检测器的限制。
其他方法
4.1.2 Single-Shot 方法(end-to-end)
这些方法直接预测类概率,并使用单级网络回归物体的三维包围盒。这些方法不需要区域建议生成和后处理。因为,它们可以高速运行,非常适合实时应用。根据输入数据的类型,single-shot方法可以分为两类:基于BEV的方法和基于点云的方法。
基于BEV的方法
基于点云的方法
4.2 3D目标跟踪
4.3 3D场景流估计
小结
KITTI [10]基准是自动驾驶领域最具影响力的数据集之一,在学术界和工业界都得到了广泛的应用。表2和表3分别显示了不同检测器在KITTI测试3D和BEV基准上取得的结果,可以得到以下观察:
- 基于区域建议的方法是这两类方法中最常被研究的方法,并且在KITTI 3D和BEV基准上都有很大的优势。
- 现有的三维物体检测器有两个局限性。首先,现有方法的长距离检测能力相对较差。其次,如何充分利用图像中的纹理信息仍是一个有待解决的问题。
- 多任务学习是三维目标检测的一个发展方向。例如,MMF [99]通过合并多个任务来学习交叉模态表示以获得最新的检测性能。
- 三维目标跟踪和场景流估计是新兴的研究课题,自2019年以来逐渐受到重视。
表 3:KITTI 测试 3D 检测基准的 3D 对象检测结果对比。 3D 边界框 IoU 阈值对于汽车为 0.7,对于行人和骑自行车者为 0.5。模态是 LiDAR (L) 和图像 (I)。 “E”、“M”和“H”分别代表简单、中等和困难类别的对象。为了简单起见,我们省略了值后面的“%”。符号“-”表示没有结果。
5. 分割
三维点云分割需要了解全局几何结构和每个点的细粒度细节。根据分割粒度的不同,三维点云的分割方法可以分为三类:语义分割(场景级),实例分割(对象级)和部件分割(部件级)。
5.1 3D 场景分割

给定一个点云,语义分割的目标是根据点的语义将其分成几个子集。与 3D 形状分类的分类法(第 3 节)类似,语义分割有四种范式:基于投影的方法、基于离散化的方法、基于点的方法和混合方法。
基于投影和离散化的方法的第一步是将点云转换为中间正则表示,例如多视图[181]、[182]、球形[183]、[184]、[185]、体积[ 166]、[186]、[187]、置换面晶格[188]、[189]和混合表示[190]、[191],如图11所示。然后将中间分割结果投影回原始图像点云。相比之下,基于点的方法直接作用于不规则点云。几种有代表性的方法如图10所示。
5.1.1 基于投影的网络
这些方法通常将 3D 点云投影为 2D 图像,包括多视图和球形图像。
多视图表示
Lawin 等人 [181] 首先将 3D 点云从多个虚拟摄像机视图投影到 2D 平面上。然后,使用多流 FCN 来预测合成图像上的像素分数。每个点的最终语义标签是通过融合不同视图上的重新投影分数来获得的。类似地,Boulch 等人 [182] 首先使用多个相机位置生成点云的多个 RGB 和深度快照。然后,他们使用 2D 分割网络对这些快照进行像素级标记。使用残差校正进一步融合从 RGB 和深度图像预测的分数[192]。基于点云是从局部欧几里得表面采样的假设,Tatarchenko 等人[193]引入了切线卷积来进行密集点云分割。该方法首先将每个点周围的局部表面几何形状投影到虚拟切平面。然后直接在表面几何上操作切线卷积。该方法具有很强的可扩展性,能够处理具有数百万个点的大规模点云。总体而言,多视图分割方法的性能对视点选择和遮挡敏感。此外,这些方法没有充分利用底层的几何和结构信息,因为投影步骤不可避免地会引入信息丢失。
球面表示
为了实现3D点云的快速准确分割,Wu等人[183]提出了一种基于SqueezeNet[194]和条件随机场(CRF)的端到端网络。为了进一步提高分割精度,引入了 SqueezeSegV2 [184],通过利用无监督域适应管道来解决域移位问题。 Milioto 等人[185]提出了 RangeNet++ 用于 LiDAR 点云的实时语义分割。2D 范围图像的语义标签首先转移到 3D 点云,进一步使用基于 GPU 的高效 KNN 后处理步骤来缓解离散化错误和模糊推理输出的问题。与单视图投影相比,球面投影保留了更多信息,适合激光雷达点云的标注。然而,这个中间表示不可避免地带来离散化误差、遮挡等问题。
5.1.2 基于离散化的方法
这些方法通常将点云转换为密集/稀疏离散表示,例如体积和稀疏置换面格。
密集离散化表示
早期的方法通常将点云体素化为密集网格,然后利用标准 3D 卷积。 Huang等人[195]首先将点云划分为一组占用体素,然后将这些中间数据馈送到全3D CNN以进行体素分割。最后,体素内的所有点都被分配与该体素相同的语义标签。
该方法的性能受到体素的粒度和点云划分引起的边界伪影的严重限制。此外,Tchapmi等人[196]提出了SEGCloud来实现细粒度和全局一致的语义分割。该方法引入了确定性三线性插值,将 3D-FCNN [197] 生成的粗体素预测映射回点云,然后使用全连接 CRF (FCCRF) 来强制这些推断的每点标签的空间一致性。 Ming等人[186]引入了基于内核的插值变分自动编码器架构来编码每个体素内的局部几何结构。代替二进制占用表示,每个体素采用 RBF 来获得连续表示并捕获每个体素中点的分布。 V AE 进一步用于将每个体素内的点分布映射到紧凑的潜在空间。然后,使用对称群和等价 CNN 来实现鲁棒的特征学习。
得益于 3D CNN 良好的可扩展性,基于体积的网络可以在不同空间大小的点云上自由地进行训练和测试。在全卷积点网络(FCPN)[187]中,首先从点云中分层抽象出不同级别的几何关系,然后使用3D卷积和加权平均池来提取特征并合并长程依赖性。该方法可以处理大规模点云,并且在推理过程中具有良好的可扩展性。戴等
[198]提出了 ScanComplete 来实现 3D 扫描完成和每体素语义标记。该方法利用全卷积神经网络的可扩展性,可以在训练和测试过程中适应不同的输入数据大小。采用从粗到细的策略来分层提高预测结果的分辨率。
总体而言,体积表示自然地保留了 3D 点云的邻域结构。其常规数据格式还允许直接应用标准 3D 卷积。这些因素导致该领域的性能稳步提高。然而,体素化步骤本质上会引入离散化伪影和信息丢失。通常,高分辨率会导致较高的内存和计算成本,而低分辨率会导致细节丢失。在实践中选择合适的网格分辨率并非易事。
稀疏离散化表示
体积表示自然是稀疏的,因为非零值的数量只占很小的百分比。因此,在空间稀疏数据上应用密集卷积神经网络效率很低。为此,格雷厄姆等人[166]提出了基于索引结构的子流形稀疏卷积网络。该方法通过限制卷积的输出仅与占用的体素相关,显着降低了内存和计算成本。同时,其稀疏卷积还可以控制提取特征的稀疏性。这种子流形稀疏卷积适用于高维和空间稀疏数据的高效处理。此外,Choy 等人[199]提出了一种称为 MinkowskiNet 的 4D 时空卷积神经网络,用于 3D 视频感知。提出了广义稀疏卷积来有效处理高维数据。进一步应用三边平稳条件随机场来强制一致性。
另一方面,Su等人[188]提出了基于双边卷积层(BCL)的稀疏格子网络(SPLATNet)。该方法首先将原始点云插值到全面体稀疏晶格,然后应用 BCL 对稀疏晶格的占用部分进行卷积。然后将过滤后的输出插值回原始点云。此外,该方法还可以灵活地联合处理多视点图像和点云。
此外,Rosu等人[189]提出了LatticeNet来实现大型点云的高效处理。还引入了一个名为 DeformsSlice 的数据相关插值模块,将晶格特征反投影到点云。
5.1.3 混合方法
为了进一步利用所有可用信息,人们提出了多种方法来从 3D 扫描中学习多模态特征。 Dai 和 Nießner [190] 提出了一个联合 3D 多视图网络来结合 RGB 特征和几何特征。使用 3D CNN 流和多个 2D 流来提取特征,并提出可微分反投影层来联合融合学习到的 2D 嵌入和 3D 几何特征。此外,Chiang等人[200]提出了一个统一的基于点的框架来从点云中学习2D纹理外观、3D结构和全局上下文特征。该方法直接应用基于点的网络从稀疏采样的点集中提取局部几何特征和全局上下文,无需任何体素化。 Jaritz等人[191]提出了多视图PointNet(MVPNet)来聚合来自2D多视图图像的外观特征和规范点云空间中的空间几何特征。
5.1.4 基于点的方法

基于点的网络直接在不规则点云上工作。然而,点云是无序且非结构化的,使得直接应用标准 CNN 是不可行的。
为此,提出了开创性的工作 PointNet [5],使用共享 MLP 学习每点特征,并使用对称池化函数学习全局特征。基于PointNet,最近提出了一系列基于点的网络。总的来说,这些方法可以大致分为逐点MLP方法、点卷积方法、基于RNN的方法和基于图的方法。
小结
Table.5 S3DIS(包括 Area5 和 6 倍交叉验证)[10]、Semantic3D(包括语义 8 和简化 8 子集)[12]、ScanNet [11] 和 SemanticKITTI [15] 数据集上的语义分割结果比较。总体准确率(OA)、并集平均交集(mIoU)是主要评价指标。为了简单起见,我们省略了值后面的“%”。符号“-”表示没有结果。
5.2 实例分割
与语义分割相比,实例分割更具挑战性,因为它需要对点进行更精确、更精细的推理。特别是,它不仅需要区分语义不同的点,而且还需要区分语义相同的实例。总的来说,现有的方法可以分为两类:基于建议的方法和无建议的方法。一些里程碑的方法如图11所示:

5.2.1 基于proposal的方法
5.2.2 Proposal-free Methods
5.3 部件分割
小结
表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]已经开始从动态点云中学习时空信息。语义时空信息有助于提高三维目标识别、分割和完成等任务。