已经收集了大量的数据集,以便评估深度学习算法在不同的3D点云应用的性能。表1列出了一些典型的数据集用于三维形状分类、三维对象检测和跟踪,以及三维点云分割。尤其是,还总结了这些数据集的属性。
对于三维形状分类,有两种类型的数据集:合成数据集[6]、[8]和现实世界的数据集。[7],[11].合成数据集中的对象是完整的,没有任何遮挡和背景。相反,物体在现实世界的数据集中,在不同的层次上被遮挡住了和一些物体被背景噪音污染。
对于三维物体的检测和跟踪,有两种类型的数据集:室内场景[11]、[25]和户外城市场景[14]、[28]、[30]、[31]。室内的点云数据集是由密集的深度图转换而来,或者是从三维网格中采样而来。户外城市数据集是为自动驾驶而设计,其中物体在空间上是分离良好的,这些点云是稀疏的。
对于3D点云分割,这些数据集的获取方式是通过不同类型的传感器,包括移动激光扫描仪(MLS)[15],[34],[36],航空激光扫描仪(ALS)[33]、[38]、静态地面激光扫描仪(TLS)[12]、RGBD摄像机[11]和其他3D扫描仪[10]。这些数据集可用于开发应对各种挑战的算法,包括类似的干扰因素、形状不完整和类别不平衡。
有人提出了不同的评价指标来测试这些用于各种点云理解任务的方法。对于三维形状分类,总体准确度(OA)和平均类别准确率(mAcc)是最常用的性能。标准。'OA'代表所有测试实例的平均准确度。而'mAcc'代表的是所有形状类的平均准确率。对于三维物体检测,平均精度(AP)是最常用的标准。它的计算方法是精度-召回曲线下的面积。精度和成功率通常用于评估三维单物体跟踪器的整体性能。平均多物体跟踪准确率(AMOTA)和平均多目标跟踪精度(AMOTP)是3D多物体跟踪评估的最常用的标准。对于三维点云分分割、OA、平均交叉点单元(mIoU)和平均类别精度(mAcc)[10]、[12]、[15]、[36]、[37]为最常用的绩效评估标准。尤其是,平均准确率精度(mAP)[39]也被用于3D点云的实例分割。
三维点云分割既需要了解全局几何结构,又需要了解每个点的细粒度细节。根据分割粒度,三维点云分割方法可以分为三类:语义分割(场景级)、实例分割(对象级)和部分分割(部件级)。
对于给定的点云,语义分割的目标是根据点的语义意义将其划分为多个子集。与三维形状分类的分类方法类似(第3节),语义分割有四种范式:基于投影的方法、基于离散的方法、基于点的方法和混合方法。
基于投影和离散化方法的第一步都是将点云转换为中间规则表示,如多视图[181],[182],球形[183],[184],[185],体积[166],[186],[187]、泛面体晶格[188]、[189]和混合表示法[190]、[191],如图11所示。然后中间分割结果被投影回原始点云。相反,基于点的方法直接工作在不规则的点云上。几种典型的方法如图10所示。
这些方法通常将三维点云投影到二维图像中,包括多视图和球形图像。
Lawin等人[181]首先从多个虚拟摄像机视图将3D点云投影到2D平面上。然后,使用多流FCN来预测合成图像的像素级评分。通过融合不同视图上的重投影得分,得到各点的最终语义标签。类似地,Boulch等人[182]首先使用多个摄像机位置生成了多个RGB和深度的点云快照。然后,他们使用二维分割网络对这些快照的像素进行标记。从RGB图像和深度图像预测的分数通过残差校正进一步融合[192]。基于点云是在局部欧几里得曲面采样的假设,Tatarchenko等[193]引入了切卷积来分割密集点云。该方法首先将每个点周围的局部曲面几何投影到一个虚拟切平面上。然后直接在曲面几何上操作切卷积。该方法具有良好的可扩展性,能够处理具有数百万点的大规模点云。总体而言,多视图分割方法的性能对视点选择和遮挡情况比较敏感。此外,这些方法没有充分利用隐含的几何和结构信息,投影步骤不可避免地会引入信息丢失。
为了实现对三维点云的快速、准确分割,Wu等[183]提出了一种基于SqueezeNet[194]和条件随机场(CRF)的端到端网络。为了进一步提高分割精度,引入了SqueezeSegV2[184],利用无监督域适应管道来解决域偏移。Milioto等人[185]提出了RangeNet++用于激光雷达点云的实时语义分割。首先将二维范围图像的语义标签转移到三维点云中,然后采用基于gpu的高效的knn后处理步骤来缓解离散化误差和推理输出模糊的问题。与单视图投影相比,球面投影保留了更多的信息,适合于激光雷达点云的标记。但是,这种中间表示不可避免地带来离散化误差和遮挡等问题。
这些方法通常将点云转换为稠密/稀疏的离散表示,如体积格和稀疏透面体格。
早期的方法通常将点云体素化为密集的网格,然后利用标准的3D卷积。Huang等人[195]首先将一个点云划分为一组占用体素,然后将这些中间数据输入到一个全三维CNN进行体素分割。最后,一个体素内的所有点被赋予与该体素相同的语义标签。该方法的性能受到体素粒度和点云分区造成的边界伪影的严重限制。此外,Tchapmi等人[196]提出了SEGCloud来实现细粒度和全局一致的语义分割。该方法引入了确定性三线性插值,将3D-FCNN[197]生成的粗体素预测映射回点云,然后使用全连接CRF(FC-CRF)来强制这些被推断的perpoint的空间一致性。Meng等人[186]引入了一种基于核的插值变分自编码器体系结构来编码每个体素内的局部几何结构。对每个体素使用RBFs代替二进制占用表示,以获得连续表示并捕获每个体素中点的分布。VAE进一步用于将每个体素内的点分布映射到一个紧凑的潜在空间。然后利用对称组和等价CNN实现鲁棒性特征学习。
由于3DCNN具有良好的可扩展性,基于体积的网络可以在不同空间大小的点云上自由训练和测试。在Fully-Convolutional点网络(FCPN)[187]首先从点云中分层抽象出不同层次的几何关系,然后使用3D卷积和加权平均池来提取特征并纳入远程依赖关系。该方法可以处理大规模点云,具有良好的推理可扩展性。Dai[198]提出了ScanComplete来实现3D扫描补全和每个体素语义标记。该方法充分利用了全卷积神经网络的可扩展性,能够在训练和测试中适应不同的输入数据大小。采用由粗到细的分级策略,提高了预测结果的层次性。
总的来说,体积表示自然地保留了3D点云的邻域结构。其常规数据格式也允许直接应用标准3d卷积。这些因素导致该领域的性能稳步提高。然而,体素化步骤本身就会引入离散化误差和信息丢失。通常,高分辨率导致高内存和计算成本,而低分辨率导致细节丢失。在实践中,选择合适的网格分辨率并非易事。
为了进一步利用所有可用的信息,提出了几种方法来学习来自3d扫描的多模态特征。Dai和Niener[190]提出了一种结合RGB特征和几何特征的联合3d多视图网络。利用一个3DCNN流和多个二维流来提取特征,提出了可微的反向投影层来共同的融合学习到的二维嵌入和三维几何特征。此外,Chiang等人[200]提出了一种统一的基于点的框架来学习二维纹理外观、点云的三维结构和全局上下文特征。该方法直接应用基于点的网络从稀疏采样的点集中提取局部几何特征和全局上下文,不进行任何体素化。Jaritz等人[191]提出了多视图pointnet(MVPNet),将二维多视图图像的外观特征和标准点云空间中的空间几何特征进行聚合。
基于点的网络直接工作在不规则的点云上。然而,点云是无序的、非结构化的。使得直接应用标准CNNs不可行。为此,PointNet[5]提出了开创性的工作,利用共享MLPs学习每个点的特征,利用对称池化函数学习全局特征。在PointNet的基础上,最近提出了一系列基于点的网络。总的来说,这些方法大致可以分为基于点的MLP方法、点卷积方法、基于RNN的方法,以及基于图的方法。
这些方法通常使用共享MLP作为其网络的基本单元,其效率高。然而,逐点特征提取通过共享MLP无法捕获点云的局部几何形状以及点[5]之间的相互作用。为了获取每个点更广泛的上下文并学习更丰富的局部结构,我们引入了一些专用网络,包括基于邻域特征池化、基于注意力的聚集和局部-全局特征连接的方法。
基于注意力的池化:为了进一步提高分割精度,在点云分割中引入了注意机制[120]。Yang等人[56]提出了一种groupshuffleattention来建模点之间的关系,并提出了一种置换不变量、任务不可知且可微的Gumbel子集抽样(GSS)来替代广泛使用的FPS方法。该模块对异常值不太敏感,可以选择一个有代表性的点子集。为了更好地捕捉点云的空间分布,Chen等人[207]提出了一种基于空间布局和点云局部结构的局部空间感知(LSA)层来学习空间感知权值。类似于CRF,Zhao等[208]提出了一种基于注意力的评分细分(ASR)模块对网络产生的分割结果进行后处理。通过将相邻点的分数与学习到的注意权值相结合,对初始分割结果进行细化。这个模块可以很容易地集成到现有的深度网络,以提高分割性能。
局部-全局串联:Zhao等人[112]提出了一种置换不变的PS2-Net来结合点云的局部结构和全局上下文。Edgeconv[87]和NetVLAD[209]被反复堆叠,以捕捉局部信息和场景级的全局特征。
这些方法往往提出了针对点云的有效卷积算子。Hua等人[76]提出了一种逐点卷积算子。其中相邻的点被分到了核单元中,然后用核权重进行卷积。如图所示图12(b)中,Wang等人[201]提出了一种基于参数化连续卷积层的PCCN。该层的核函数参数为MLPs并跨越连续向量空间。Thomas等人[65]基于核点卷积(KPConv)提出了一种核点全卷积网络(KP-FCNN)。具体来说,KPConv的卷积权重由核点的欧氏距离决定,核点的数量不固定。核点的位置被表述为一个在球体空间的最佳覆盖范围的优化问题。注意,半径邻域是用来保持一致的感受野。而在每层中采用网格子采样,以实现不同密度的点云下的高鲁棒性。在[211]中,Engelmann等人提供了丰富的消融实验和可视化结果,以显示感受野对基于聚合方法性能的影响。他们还提出了一种膨胀点卷积(DPC)操作,以聚合膨胀的相邻特征,而不是K个最近的邻居。这种操作被证明在增加感受野方面非常有效,并且可以很容易地集成到现有的基于聚合的网络中。
为了从点云捕捉固有的上下文特征,循环神经网络(RNN)也被用于点云的语义分割。基于PointNet[5],Engelmann等人[213]首次提出了将一个点块转化为多尺度的块和网格块来获取输入级上下文。然后,由PointNet逐块提取的特征依次输入到综合单位(CU)或循环综合单位(RCU)来获取输出级上下文。实验结果表明,结合空间上下文对提高分割性能很重要。Huang等人[212]提出了一种轻量级的局部依赖性建模模块,并利用分片池化层将无序的点特征集变成一个有序的特征向量序列。如图12(c)所示,Ye等人[202]先是提出了一个逐点金字塔池(3P)模块,以捕获由粗到细的局部结构,然后利用双向的分层RNNs,以进一步获得长距离的空间依赖性,然后应用RNN来实现端到端的学习。
然而,当聚合局部邻域特征与全局结构特征[220]时,这些方法失去了丰富的几何特征和点云的密度分布。为了缓解这些由刚性和静态池化操作引起的问题,赵等[220]考虑到全局的场景复杂性和局部的几何特征,提出了一种动态聚合网络(DARNet)。中间的特征是使用自适应的感受野和节点权重动态被聚合的。Liu等[221]提出了3DCNN-DQN-RNN用于大规模点云的高效语义解析。该网络首先使用3DCNN网络学习了空间分布和颜色。DQN被进一步用于定位属于特定类的目标。最后将拼接后的特征向量送入残差RNN,得到最终的分割结果。
为了捕捉三维点云的底层形状和几何结构,有几种方法借助于图网络。如图12(d)所示,Landrieu等[203]将点云表示为一组相互连接的简单形状和超点,并采用归属定向图(即超点图)来捕捉结构和上下文信息。然后,将大规模的点云分割问题拆分为三个子问题,即几何均匀分区、超点嵌入和上下文分割。为了进一步改进分割步骤,Landrieu和Boussaha[214]提出了一种监督框架来对点进行超点分割。这个问题被表述为一个深度度量学习问题,其结构是由一个相邻的图构成。此外,还提出了一种图结构对比损失,以帮助识别目标与目标之间的边界。
此外,最近的几项工作试图在弱监督下实现点云的语义分割。Wei等人[224]提出了一种两阶段的方法来训练具有子云级标签的分割网络。Xu等人[225]研究了几种用于点云语义分割的不精确监督方案。他们还提出了一个能够只用部分标签点(如10%)进行训练的网络。
与语义分割相比,实例分割需要更精确、更精细的点推理,具有更大的挑战性。具体来说,既要区分语义意义不同的点,又要区分语义意义相同的实例。总的来说,现有的方法可以分为两类:基于候选框(based-proposal)的方法和不需要候选框(proposal-free)的方法。图13说明了几种里程碑方法。
这些方法将实例分割问题转化为两个子任务:三维对象检测和实例掩码预测。
Hou等人[226]提出了一种3D全卷积语义实例分割(3D-SIS)网络实现对RGB-D扫描的语义实例分割。这个网络可以从颜色和几何特征中学习。类似于3D对象检测,3DRegionProposalNetwork(3DRPN)和3DROIlayer(3D-RoI)层被用来预测边界框位置、物体类别标签和实例掩码。按照分析综合的策略,Yi等人[227]提出了GenerativeShapeProposalNetwork(GSPN)来产生3D候选框。这些候选框由一个Region-basedPointNet(R-PointNet)进一步修正。最终的标签通过预测各个点的二进制mask来得到。与直接从点云数据回归三维边界框不同,该方法通过加强几何理解,去除了大量无用的候选框。
总体而言,基于候选框的方法[226]、[227]、[229]、[232]直观和简单的,实例分割结果通常具有较好的客观性。然而,这些方法需要多阶段的训练和修剪冗余的候选框。因此,它们通常是耗时和计算昂贵的。
不需要候选框的方法[233],[234],[235],[236],[237],[238],[239],[240]没有目标检测模块。相反,他们通常认为实例分割是语义分割之后的后续聚类步骤。特别是,大多数现有的方法都基于这样的假设:属于同一实例的点应该具有非常相似的特性。因此,这些方法主要集中在区分特征学习和点分组上。
在一项开创性的工作中,Wang等人[233]首次引入了相似组候选框网络(SGPN)。该方法首先学习每个点的特征和语义映射,然后引入相似度矩阵来表示每对特征之间的相似度。为了学习更具判别性的特征,他们使用double-hingeloss来相互调整相似度矩阵和语义分割结果。最后,采样一种启发式和非最大抑制法将相似点合并成实例。由于构建相似度矩阵需要消耗大量的内存,这种方法的可扩展性是有限的。同样,Liu等人[237]首次利用leveragedsubmanifoldsparseconvolution[166]来预测每一个体素的语义得分,以及邻近体素之间的亲和力。然后,他们引入了一个聚类算法,基于预测的亲和力和mesh拓扑结构将点分为实例。Mo等人[241]在PartNet中引入了一个逐段检测网络来实现实例分割。PointNet++被用作的骨干来预测每个点的语义标签和不相干的实例掩码。此外,Liang等人[238]提出了一种用于学习判别性嵌入的结构感知损失。这种损失既考虑了特征的相似性,又考虑了点之间的几何关系。基于注意力的图CNN通过聚合来自不同的邻居信息,被进一步用于自适应地完善学到的特征。
由于点的语义类别和实例标签通常是相互依赖的,因此提出了几种方法将这两个任务耦合为一个任务。Wang等[234]通过引入一个端到端的、可学习的联合分割实例和语义(AssociativelySegmentingInstancesandSemantics,ASIS)模块,将这两个任务进行了整合。实验表明,语义特征和实例特征可以相互支持,通过这个ASIS模块实现性能的提升。类似地,Zhao等人[242]提出了JSNet来实现语义和实例分割。此外,Pham等[235]首次引入了多任务逐点网络(MT-PNet),将标签分配给每个点,通过引入了一个判别性损失在特征空间中正则化嵌入[243]。然后他们把预测的语义标签和嵌入融合到一个多值条件随机场(MV-CRF)模型,用于联合优化。最后,均值场变分推理(mean-fieldvariationalinference)是用来产生语义标签和实例标签。Hu等人[244]首次提出了动态区域生长的(DRG)方法,将点云动态地分离为一组不相交的补丁(patch),然后使用无监督的Kmeans++算法对所有这些补丁进行分组。然后在补丁之间的上下文信息的引导下进行多尺度补丁分割。最后,这些标记的补丁被合并到目标层,以获得最终的语义和实例标签。
为了在完整的3D场景上实现实例分割,Elich等人[236]提出了一种混合的2D-3D网络,可以从BEV表示和点云的局部几何特征共同学习全局一致的实例特征。然后将学习到的特征进行组合以实现语义和实例分割。注意,不是启发式GroupMerging算法[233],而是更灵活的Meanshift[245]算法用于将这些点分组为实例。可替代地,还引入了多任务学习以进行实例分割。Lahoud等人[246]学习了每个实例的独特嵌入特征和估计目标中心的方向信息。提出了利用特征嵌入损失和方向损失来调整隐含特征空间中学习到的特征嵌入。采用Mean-shift聚类和非极大抑制将体素分组为实例。该方法可以达到ScanNet[11]基准的最新性能。此外,预测的方向信息对于确定实例的边界特别有用。zhang等[247]将概率嵌入引入到点云的实例分割中。该方法还结合了不确定性估计,并为聚类步骤提出了新的损失函数。Jiang等[240]提出了一种PointGroup网络,它由一个语义分割分支和一个偏移量预测分支组成。进一步利用dual-setclustering算法和ScoreNet实现更好的分组结果。
总之,不需要候选框的方法不需要计算昂贵的区域候选框组件。然而,由于这些方法没有显式地检测对象边界,因此用这些方法分组的实例分割的客观性通常很低。
三维形状的部件分割的困难有两方面。第一,具有相同语义标签的形状部件具有较大的几何变化和模糊性。其次,具有相同语义的对象中的部件数量可能是不同的。
VoxSegNet[248]是为了在有限的解决方案下实现对三维体素化数据的细粒度部件分割。提出了一个空间密集提取(SDE)模块(由stackedatrousresidualblocks组成),用于从稀疏的体素数据中提取多尺度的判别特征。通过逐步应用注意力特征聚合(AFA)模块,进一步对学到的特征加权和融合。Kalogerakis等[249]将FCNs和基于表面的CRFs结合起来,实现了端到端的三维部件分割。他们首先从多个视图中生成图像,以达到最佳的表面覆盖率,并将这些图像输入到一个二维网络中以产生置信度图。然后,这些置信度图由基于表面的CRF聚合,CRF负责对整个场景进行一致的标记。Yi等[250]引入了一种同步频谱CNN(SyncSpecCNN)来对不规则和非同构形状图进行卷积。引入了膨胀卷积核和频谱变换网络的频谱参数化,解决了部件的多尺度分析和形状间的信息共享问题。
表5给出了现有方法在公共基准测试上的结果,包括S3DIS[10],Semantic3D[12],ScanNet[39],andSemanticKITTI[15]。需要进一步研究的问题有:
本文介绍了当前最先进的三维理解方法,包括三维形状分类,三维物体检测和跟踪,以及三维场景和目标分割。对这些方法进行了分类和性能比较。同时也介绍了各种方法的优缺点,并列出了可能的研究方向。