论文链接:Deep Learning for 3D Point Clouds: A Survey
参考博客http://www.huangli.com/?d
作者及团队:Yulan Guo∗, Hanyun Wang∗, Qingyong Hu∗, Hao Liu∗, Li Liu, and Mohammed Bennamoun
会议及时间: Arxiv 2019
主要综述内容:
点云的研究方向大致如下:3D形状分类、3D对象检测和跟踪、3D点云分割、3D点云登记,6-DOF姿态评估和3D重建等研究方向。
点云公开数据集有:ModelNet(论文链接),ScanObjectNN(论文链接),ShapeNet(论文链接),PartNet(论文链接),S3DIS(论文链接),ScanNet(论文链接),Semantic3D(论文链接),ApolloCar3D(论文链接),和KITTI视觉基准套件(论文链接1,论文链接2)
相关综述论文有:
《Deep learning advances in computer vision with 3D data: A survey》《Deep learning advances on different 3D data representations: A survey 》《A review of point cloud semantic segmentation》以及《Recent advances in 3D object detection in the era of deep neural networks: A survey 》
现有的三维点云深度学习方法分类如下图所示:
点云算法的评价标准:
针对三维点云形状分类:总体精度(Overall Accuracy(OA))和平均分类精度(mean class accurcy(mAcc))是最常使用的性能标准,其中OA代表所有测试实例的平均精度,mAcc代表了所有shape类的平均精度。
针对三维点云目标检测:平均精度(Average Precision(AP))是最常使用的标准,它计算在精确找回曲线下的面积。Precision和Success通常用来评估3D单一目标跟踪器的整体性能。Average Multi-Object Tracking Accuracy(AMOTA)和Average Multi-Object Precision(AMOTP)是3D多目标追踪评估的常用指标。
针对三维点云分割:OA 、mean Intersection over Union(mIoU)和mean class Accuracy(mAcc)是经常被使用的评价标准的指标。尤其 mean Average Precision(mAP)也通常在3D点云中的实例分割。
3D形状分类:
该任务的主要方法是首先学习每个点的嵌入,然后使用聚合的方法提取出一个全局形状嵌入。通过将整体嵌入到几个全连接层中实现分类。根据神经网络输入的数据类型,现有的三维形状分类方法可以分为基于多视图、基于体积的和基于点的方法。几种典型的方法如下图所示:
(欠个图)
基于多视角的方法是将得结构化的点云投影到二维图像中;而基于体积的方法将点云转化为三维体积标识,然后利用成熟的2D或3D卷积神经网络来实现形状分类;相比之下,基于点的方法直接工作在原始点云中,没有体素化或投影。基于点的方法没有引入显性信息变得越来越流行。(由此可见,在本片论文中主推“基于点的分类方法”)
1)多视角的方法
MVCNN是一个开创性的工作,它简单的将多视图特性集成到全局描述符中,然后,max-pooling只保留特定视图的最大元素,导致信息丢失;MHBN通过协调双线性池集成局部卷积特征,生成紧凑的全局描述符;Ze Yang等人首先利用一个关系网络在一组视图上利用相互关系(例如,区域-区域关系和视图-视图关系),然后聚合这些视图以获得一个鉴别的3D对象表示。跟之前的方法不同,Wei等人在View-GCN中使用了有向图,将多个视图中看做图中的节点,将局部图卷积、非局部消息传递和选择性视图采样组成的核心层应用于构造的图中。最后将所有层的最大池化节点特征连接起来形成全局性描述符。
2)基于形状的方法
这些方法通常将点云体素化成三维网格,然后在形状分类的体积表示上应用三维卷积神经网络(CNN)
Maturana等人介绍了一种名为VoxNet的体积占用网络来实现强3D目标识别;Wu等人提出了一种基于卷积神经深度信任3DShapeNets从各种3D形状(由体素网格上二进制变量的概率分布表示)中学习点的分布。尽管这些方法已经取得了令人鼓舞的性能,但由于计算和内存占用随着分辨率的立方增长,这些方法无法很好地扩展到密集的3D数据。
为此引入一种层次和紧凑的结构(比如说octree)来减少这些方法中的计算和存储的花费。OctNet首先使用混合网格树结构分层划分点云,该结构沿着一个规则网格使用几个浅octrees来表示场景。利用位串表示对八叉树结构进行了有效编码,并对每个体素的特征向量进行了简单的算法索引;Wang等人提出了一种基于八叉树的CNN用于三维形状分类。将最细的叶八元中采样的三维模型的平均法向量输入神经网络,并将3D-CNN通过三维曲面的形状应用在被占用的叶八元(leaf octants)中。与基于密集输入网络的基线网络相比,OctNet在高分辨率点云中需要更少的内存和运行时间;Le等人提出了一种名为PointGrid的混合网络,该网络集成了点和网格表示,以实现高效的点云处理。在每个嵌入的体积网格单元内采样一定数量的点,这允许网络通过使用3D卷积来提取几何细节;Ben-Shabat等将输入点云转换成3D网格,再用3D modified Fisher Vector (3DmFV)方法表示,然后通过传统的CNN架构学习全局表示。
3)基于点的方法(本篇论文关于点云形状分类的重点研究)
根据每个用于每个点特征学习的神经网络结构,这类方法可以分为逐点MLP、基于卷积,基于图,基于层次数据结构的方法和其他的典型方法。
3.1 逐点MLP方法
该方法采用几个共享的多层感知器(MLPs)对每个点独立建模,然后使用对称聚合函数聚合全局特征。如图3所示:
由于三维点云数据固有的数据不规则性,典型的二维图像深度学习方法不能直接应用在三维点云上。作为开创性的一份工作,PointNet直接使用点云作为他们的输入,使用一个对称函数获取物体的置换不变性。总体来书,PointNet通过多个MLP层来独立学习点特征,并通过一个最大池化层来提取全局特征;Deep sets 通过总结所有的表示以及应用非线性变换来实现排列不变性。由于在PointNet中每个点的特征都是独立学习的,点之间的局部结构信息无法被捕捉,因此 Qi等人提出了一种分层的神经网络PointNet++通过每个点的邻域来捕捉精细的几何结构。作为PointNet++分层的核心,它的集合抽象层由三层组成:采样层、分组层和基于PointNet的学习层。通过叠加几个抽象层。PointNet++从局部几何结构中学习特征,并逐层抽象局部特征。
由于它的简单性和较强的表达性,基本上很多神经网络都是基于PointNet的。Mo-Net的结构与PointNet类似,但是它是将有限的矩集作为它的输入;点注意转换器(Point Attention transformer, PATs)通过其自身的绝对位置和相对于相邻点的相对位置来表示每个点,并通过MLPs学习高维特征。然后,利用群随机注意力(Group Shuffle Attention, GSA)捕获点之间的关系,开发一个排列不变、可微、可训练的端到端Gumbel子集采样层(端到端Gumbel子集采样层)学习层次特征;基于PointNet++的PointWeb利用局部邻域的上下文,使用自适应特征调整,来改正点特征;Duan等人提出了一种结构关系网络(SRN)利用MLP学习不同局部结构之间的结构关系特征;林等人通过使用PointNet学习到的输入空间和函数空间构造了一个查找表来加速推理过程。ModelNet和ShapeNet数据集上的推理时间提升了1.5ms,在PointNet上提高了32倍。SRINet首先对点云进行了投影去获取旋转不变表示,然后利用基于PointNet的主干提取全局特征和使用基于图的聚合方法提取局部特征。在PointASNL中,Yan等人利用一种自适应采样(AS)模块自适应去调整最远点采样(FPS)所采样点的坐标和特征,然后提出一种Local-NON-local(L-NL)模块来捕捉这些采样点的局部和远程依赖。
3.2 基于卷积的方法
根据卷积核的类型,目前的三维卷积方法可以分为连续卷积和离散卷积。
3D连续卷积方法:这些方法在连续空间上定义了卷积核,在连续空间中,相邻点的权值与相对于中心点的空间分布有关系。
三维卷积可以解释为在给定子集上的加权和。作为RS-CNN的核心层,RS-Conv需要局部子集的点在某一个点作为输入,和卷积实现使用一个延时通过学习从低级的映射关系(比如欧氏距离和相对位置)高级点在局部子集之间的关系;在【63】中,核元素在单元球体中随机选取,然后使用基于MLP的连续函数建立核元素的位置和点云的关系;在DensePoint中,卷积被定义为带有非线性激活器的单层感知器(SLP)特征的学习是通过连接所有先验层的特征来充分利用上下文信息。Thomas等人使用一组可学习的核点,提出了三维点云的刚性和可变形核点卷积(KPConv)算子;ConvPoint将卷积核分为空间部分和特征部分,局部部分的位置从单元球中随机选取,并通过一个简单的MLP学习权重函数。
现在的一些方法也会使用现有的算法来执行卷积。在PointConv中,卷积被定义为关一个重要采样的连续3D卷积的蒙特克罗估计,卷积核有一个加权函数(通过MLP层学习)和一个密度函数(通过一个核化密度函数和一个MLP层学习)组成。为了提高存储和计算效率,将三维卷积进一步简化为两种操作:矩阵乘法和二维卷积。在同样的参数设置下,其内存消耗可以减少约64倍;在MCCNN中,卷积被认为是一种依赖于样本密度函数的蒙特卡洛估计过程(使用MLP实现);然后使用泊松采样来构建点云层次关系。该卷积算子可用于两种或多种采样方法之间的卷积,也可以用来处理不同的采样密度;在SpiderCNN中,我们提出用SpiderConv将卷积定义为阶跃函数和定义在K个最近邻上的泰勒展开的乘积。阶跃函数通过编码局部测地线距离来捕获粗几何,使用Tayler展开通过插值立方体顶点的任意值来捕获局部几何的内在变化;同时提出一种基于径向基函数的三维点云卷积网络PCNN。
在面临3D卷积网络时,为解决旋转等量问题提出了几种方法。Esteves等人[71]提出了三维球面CNN,以多值球面函数作为输入,学习三维形状的旋转等变表示。通过在球面调和域内用锚点参数化频谱得到局部卷积滤波器。张量场网络[72]被提出将点卷积运算定义为一个可学习的径向函数和球面调和函数的乘积,球面调和函数对于三维旋转、平移和排列是局部等变的。[73]中的卷积是基于球面互相关定义的,并使用广义快速傅立叶变换(FFT)算法实现的。SPHNet[74]基于PCNN,通过在体积函数的卷积过程中引入球谐核来实现旋转不变性。
为了加快计算速度,Flex-Convolution[75]将卷积核的权值定义为对k个最近邻的标准标量积,可以使用CUDA加速。实验结果表明,该算法在小数据集、参数少、内存消耗低的情况下具有较好的性能。
3D离散卷积方法:这些放在在规则网格上定义了卷积核,其中临近点的权重值与相对于中心点的偏移量有关系。
Hua等[76]将非均匀三维点云转换成均匀网格,并在每个网格上定义卷积核。所提议的3D内核将相同的权重分配给所有落在同一网格中的点。对于一个给定点,在同一网格上的所有相邻点的平均特征都是从上一层计算出来的。然后,对所有网格的平均特征进行加权和求和,生成当前层的输出。Lei等人[77]定义了球形卷积核,将一个三维球形邻近区域划分为多个容量容器,并将每个容器与一个可学习的加权矩阵关联。一个点的球面卷积核的输出是由其相邻点加权激活值的平均值的非线性激活决定的。在GeoConv[78]中,一个点和它的邻近点之间的几何关系是基于6个基底明确建模的。沿基的每个方向的边缘特征由一个方向相关的可学习矩阵独立加权。这些与方向相关的特征然后根据给定点和它的邻近点形成的角度进行聚合。对于给定点,当前层的特征定义为给定点的特征的数量和它在前一层的临近边缘特征。
PointCNN[79]通过χ-conv变换(通过MLP实现)将输入点转换为一个潜在的、潜在的规范顺序,然后对转换后的特征应用典型的卷积算子。Mao等[80]通过将点特征插值到相邻的离散卷积核权坐标中,提出了一种插值卷积算子InterpConv来测量输入点云与核权坐标之间的几何关系。Zhang等[81]提出了实现旋转不变性的RIConv算子,该算子以低水平旋转不变性的几何特征为输入,通过简单的分箱方法将卷积转化为一维。a – cnn[82]定义了一种环形卷积,通过在查询点的每个环上按照核的大小循环邻居数组,并学习局部子集中邻居点之间的关系。
为了降低3D cnn的计算和存储成本,Kumawat等[83]提出了一种修正局部相位体积(ReLPV)块,基于3D短期傅里叶变换(STFT)在3D局部邻域中提取相位,显著减少了参数数量。在SFCNN[84]中,点云以对齐球坐标投影到正二十面体晶格上。然后通过卷积- maxpool3 -卷积结构对球格顶点及其邻点所连接的特征进行卷积。SFCNN能抵抗旋转和扰动
图论方法:图论方法是将点云中的每个点看作图中的一个顶点,然后根据每个点的邻居顶点生成有向边,在空间域和光谱域进行特征学习【85】,一个典型的基于图的网络如图5所示:
空间域内的基于图的方法:这些方法均定义了在空间域的操作(比如卷积和池化),特别的是卷积通常通过空间临点的MLP实现的,并采用池化方法将每个点的临点信息聚合在一起生成新的粗化图。每个顶点的特征通常通过坐标、激光强度或者颜色来分配,而每个边缘的特征通常用两个连接点之间的几何属性来分配。
Simonovsky等人将每个点看做图中的一个顶点,然后使用一条有向边将每个顶点与其所有的邻居连接起来,这是一个开创性的工作。然后使用滤波生成网络(比如MLP)来提出了一个边缘条件卷积(ECC)。采用最大池化来聚合邻域信息,基于VoxelGrid实现图粗化。在DGCNN中,在特征空间中构造一个图并在网络的每一层之后被动态的更新。作为EdgeConv的核心层。MLP通常被用作每个边的特征函数,并对每个点的邻居相关联的边缘特征进行信道对称聚合。进一步,LDGCNN【88】去除变换网络,并将DGCNN中的层次特征从不同的层次进行链接,以提高其性能,减少模型尺寸。还提出了一种端到端的无监督的深度自动编码网络,该网络使用向量化的局部协方差矩阵和点坐标的链接作为输出。受到Inception和DGCNN的启发,Hassani和Haley提出了一种无监督的多任务自动编码器来学习点和形状特征,该编码器采用聚类、自监督分类和重构三种无监督任务,并且在多任务丢失的情况下进行联合训练。LIU等人提出了一种基于图卷积的动态点聚集模块(Dynamic point Agglomeration Module,DPAM)将点的聚集(采样、分组和池化)过程简为一个简单的步骤,通过聚集矩阵与点特征矩阵相乘来实现。在PointNet的基础上,通过堆叠多层的DPAMs来构建一个分层学习体系结构。与PointNet++的层次策略相比,DPAM动态的利用点之间的关系并且在语义空间中聚集点。
为了利用局部几何结构,KCNet基于核相关学习特征。具体来说,一组表述局部结构聚合类型的可学习点被定义为核。然后,计算核与给定点的邻域之间的亲和力。在G3D中,卷积被定义为邻接矩阵多项式的变体,池化被定义为拉普拉斯矩阵和定点矩阵乘以一个粗化矩阵。ClusterNet利用严格旋转不变模块从每个点的K个最近邻中提取旋转不变特征,并基于带有。。的无监督凝聚层次聚类方法构建点云的层次架构。每个子簇的特征首先通过EdgeConv模块进行学习,然后通过最大池化进行聚合。
为解决目前结构化方法耗时问题(比如FPS、临近点查询),XU等人提出了融合基于体积的方法和基于点的方法的优点来提高计算效率。在ModeNet分类任务上的实验表明,所提出的Grid-Net网络的计算效率平均比其他模型快5倍。
基于频谱图的方法:这些方法将卷积定义为光谱滤波,实现为信号在图上与图拉普拉斯矩阵的特征向量相乘【98】【99】。
RGCNN【100】通过连接点云中每个点与其他所有点的相连构造了一个图,提升了每一层中的拉普拉斯矩阵。为了相邻顶点的特征更加相似,在损失函数中加入了一个图信号平滑先验。为了解决数据的不同图拓扑结构所带来的挑战,AGCN【101】中的SGC-LL层利用了一个可学习的距离度量参数化图上两个点的相似性。利用高斯核函数和学习距离对图的邻接矩阵进行归一化。HGNN【102】通过在超图上应用光谱卷积建立超边缘卷积层。
上述方法适用于全图。为了利用局部结构信息,Wang等人提出了一种端到端的光谱卷积网络LocalSpecGCN来处理局部图(有k个最近邻构成)。该方法不需要离线计算图拉普拉斯矩阵和图粗化层次。在PointGCN中基于点云的K个最近邻构造一个图,每一个边使用高斯核进行加权。卷积滤波器被定义为图谱域的切比雪夫多项式。全局池化和多分辨率池化用来捕捉点云的全部和局部特征。Pen等人【105】通过对谱域K个最近邻图进行卷积,提出了3DTI-net.通过学习相对欧氏距离和方向距离来实现几何变换的不变性。
基于层次数据结构的方法
这些网络基于不用层次数据结构组成(比如说octree或者KDtree)。在这些方法中,点特征是沿着树从叶节点到根节点的层次学习。
Lei等人【77】提出了一种使用球面卷积核的八叉树引导的CNN。网络的每一层对应着八叉树中的一层,每一层都应用一个球面卷积核。当前层的神经元的值确定为上一层所有相关子节点的平均值,域基于octree的OctNet不同,Kd-Net是在每次迭代中使用多个分裂方向不同的K-dTree来构建的。按照自底向上的方法,非叶节点的表示使用MLP从他们孩子结点的表示计算而来。最后将根节点的特征数输入到全连接层中,从而预测得分。注意,Kd-Tree通过节点的分割类型在每一层共享参数。3DContextNet使用一种标准平衡的K-d tree去获得特征学习和聚合。在每一层,点特征首先通过MLP学习,基于局部线索(模型局部区域点之间的相互依赖)和全局上下文线索(模型一个位子与所有其他位置的关系)。然后,使用MLP从子节点计算非叶节点的特征。并且通过最大池聚合。为了进行分类,重复上述过程,直到达到根节点。
SO-Net网络的层次结构通过点到节点K紧邻搜索来构建的。具体来说,采用改进的排列不变自组织映射(SOM)对点云的空间分布进行建模。通过一些列完全联通的层,从归一化的点到节点坐标中学习单个点特征。SOM中每个节点的特征是利用信道最大池的方法从该节点相关的点特征中提取出来的。然后使用类似于PointNet的方法从节点特性中学习最后的特性。有PointNet++相比,SOM的层次结构更加高效,充分挖掘了点云的空间分布。
其他的方法
另外,许多的方案被提出,RBFnet【113】用过聚集系数分布的径向基函数(RBF)核的特征,明确地模拟点的空间分布,具有科学系的和位置和大小。3DPointCapsNet【112】使用逐点MLP和卷积层学习点独立特征,并使用多个最大池化层提取全局潜在表示。在无监督动态路由的基础上,获得了强大的具有代表性的层被学习。QIN等人【116】提出了一种用于三维点云表示的端到端无监督域自适应网络PointDAN。为了捕获点云的语义属性,提出了一种自监督的方法来重构点云,点云的各个部分被随机重新排列【117】。Li等人【118】提出了一种自动增强框架PointAugment,用于对网络训练中的点云样本进行自动优化和增强。具体来说,每个输入样本的形状变换和电位移将被自动学习,网络用过交替优化和恩新其增强器和分类器的可学习参数进行训练。受到形状信息的启发【119】,xie等人提出了一种ShapeContextNet架构,利用点乘自我注意将亲和点选择和紧凑的特征聚合结合到一种软对其操作中。为了处理三维点云中的噪声和遮挡,Bobkov等人【121】将手工制作的基于4D旋转不变描述注入到4D卷积神经网络中。Prokudin等人【122】首先从一个单位球随机采样一个均匀分布的基点集,然后将点云编码为到基点集的最小距离因此电源被转换成一个相对较小的固定长度的向量,编码后的表示法可以用现有的机器学习方法进行处理。
RCNet【115】使用标准的RNN和2D CNN去构建用于三维点云处理的排列不变网络。首先将点云划分为平行光束,并按照特定的尺寸排序,然后将每个光束送入到共享的RNN中。学习到的特征进一步输入到一个有效的2DCNN中进行层次特征聚合。为了提高其描述能力,提出了将多个RCNet-E按不同的划分和排序方向集成的方法。Point2Sequences【114】是另外一种基于RNN的模型,他捕捉点云局部区域不同区域之间的相关性。它将从一个局部区域来自各个尺度的序列输入到基于rnn的编码器-解码器结构中,以聚合局部区域特征。
有一些方法也从3D点云和2D图像学习。在PVNet【110】中从多视图图像中提取到的高级全局特征通过嵌入网络投射到点云的子空间。并通过软注意掩膜与点云特征融合。最后利用残差连接对融合的特征和多视图特征进行形状识别。后来又提出了PVRNet,通过关系评分模块来开发三维点云与其多个视图之间的关系。在此基础上,对原始2D全局视图特征进行单视图融合和多视图融合。
ModelNet10/40数据集经常用来训练3D形状分类,结论为:
1)点态MLP网络通常被其他类型网络学习点态特征的基本构件
2)及与卷积的网络作为一种标准的深度学习体系结构,可以在不规则的三维点云上取得优异的性能。对于不规则的数据,离散卷积网络和连续卷积网络都应该受到广泛的关注。
3)近年来 基于图的网络因其对不规则数据的处理能力而受到越来越多的关注。然而将频谱域的基于图的网络扩展到各种图结构仍然具有一定的挑战
4 3D对象检测与跟踪
在本节中我们将回顾现有的三维目标检测、三维目标跟踪和三维场景流量估计方法。
4.1 3D目标检测
一个典型的三维物体检测器以场景的点云作为输入,在每个被检测到的物体周围产生一个有方向的三维包围框,如图6所示:跟在图像目标识别相似【123】,3D目标检测算法可以被分成两类:基于区域提议的方法和单镜头方法,几种里程碑式的方法在图7中:
4.1.1 地区基于协议的方法
这些方法首先提出了几种可能包含对象的区域(也称为建议),然后提取出区域特征以确定每个建议的类别标签。根据他们目标协议的生成方法,这些方法将被进一步分割为三类:基于多视角的、给予分割的和基于平截头体的方法。
基于多视图的方法:这些方法融合不同视角的特征(比如说雷达视角,鸟瞰图、和图片)的明智特征。去获取3D旋转的盒子,就像图8所示。这些方法的计算成本通常很高。
Chen等人【4】从BEV地图中生成了一组高精度的3D候选框,并将其投影到多个视图的特征地图中(比如就激光雷达前视图图像、RGB图像)。然后他们组合这些来自不同视图的区域特征来预测有方向的3D包围框,如图8所示。尽管这个方法在交集的联合(IoU)召回率为0.25.达到了99.1%,但是他的速度对于实际应用来说太慢了。在此基础上,从两个方面对多视角三维目标检测方法进行了改进。
首先,提出了几种有效融合不同模式信息的方法。为了生成对小物体的高召回的3D题案。ku等人【126】提出了一种基于多模态融合的区域提案网络。他们首先使用裁剪和调整操作从BEV和图像视角中提取等大小的特征,然后使用element-wise均值池融合这些特征。Liang等人利用连续卷积实现不同分辨率的图像和3D雷达特征图的有效融合。具体的来说,他们提取了BEV空间中的每个点最近的对应图像特征,然后通过将图像特征投影到BEV平面,利用双线性插值得到稠密的BEV特征映射。实验表明,与离散图像特征图和稀疏激光雷达特征图相比,稠密的BEV特征图更适合于三维目标检测。liang等人提出了一种端到端训练的多任务多传感器三维目标检测网络。具体来说,利用多个任务(例如,2D目标识别、地面评估和深度完成)来帮助网络学习更好的特征表示。进一步利用学习到的交叉模态表示来产生高精度的目标检测结果。实验证明:这个方法在2D、3D和BEV检测任务中取得了显著的改进,并在TOR4D基准测试上优于以往最先进方法。
其次,不同的方法被研究用来提取输入数据的鲁棒性表示。Lu等人通过引入空间通道注意力模块(SCA)探索了多尺度上下文信息,该模块捕捉场景的全局和多尺度上下文,并突出有用的特征。他还提出了一种扩展空间不采样(ESU)模块,通过解多尺度低层特性获取具有丰富空间信息的高层特征,从而生成可靠的三维对象建议。尽管可以实现更好的检测性能,但上述多视图方法需要很长的运行时间,因为他们为每一个提议执行特性池。随后Zeng等人使用一种RoI前池化卷积来提高【40】的效率。具体来说,他们将大多数卷积操作移至RoI池模块之前。因此,对所有对象建议都进行一次RoI池模块之前。因此,对所有的对象建议都进行一次ROi操作,实验证明。该方法的运行速度为11.1fps,比MV3D【4】快5倍。
基于分割的方法:这些方法首先利用现有的语义分割技术去除大部分背景点,然后在前景点上生成大量高质量协议以节省计算;如图8b所示。与多视图方法相比,这些方法具有更高的物体召回率,更适用于物体高度遮挡和拥挤的复杂场景。
Yang等人【132】使用一种2D分割网络来预测前景像素,并将其投影到点云中,以去除大多数背景点。然后,他们在预测的前景点上生成天,并设计了一种名为PointSloU的新标准,以减少提案的冗余和含糊不清。在【132】之后,Shi等人提出了一种PointRCNN网络架构。具体来说,他们直接对三维点云进行分割得到前景点,然后融合语义特征和局部空间特征以生成高质量的3D盒子。在【133】的Region Proposal NetWork(RPN)阶段之后。Jesus等人【134】提出了一种利用图卷积(GCN)进行三维目标检测的开创性工作,具体来说,引入两个模块使用图卷积来细化对象建议。第一个模块R-GCN利用一个提议中包含的所有点来实现每个提议的特性聚合;第二个模块C-GCN混合来自所有提议的每帧信息,利用上下文回归准确的对象框。Sourabh等人【135】将点云投影到基于图像的分割网络的输出中,并将语义预测分数附加到点上。绘制的点被输入到现有的检测器中【133】【136】【137】以实现显著的性能改进。Yang等人【138】用一个球形锚将每个点联系起来。然后使用每个点的语义得分来删除冗余锚。因此,与之前的方法相比【132】【133】相比,该方法具有更高的查全率和更低的计算成本。此外,提出了一个PointsPool层来学习建议内部点的紧凑特征,并引入一个并行的IOU分支来提高定位精度和检测性能。
基于截头的方法:这些方法首先利用现有的2D物体检测器生成物体的2D候选区域,然后为每个2D候选区提取3D截锥方法,如图8c所示。虽然这些方法可以有效的提出了三维物体的可能位置,但逐步流水线的性能受到二维图像检测器的限制。
F-PointNets【139】是一个开创性的工作在这个方向上。他为每一个2D区域生成一个截锥建议,并应用PointNet【5】(或PointNet++【54】)学习每个3D截锥的点云特征,进行模态3D盒估计。在后续的工作中,Zhao等人【140】提出了一个Point-SENet模块来预测一组缩放因子,该模块进一步被用来自适应地突出有用的特征和抑制无信息的特征。他们还将PointSIFT【141】模块集成到网络中,获取点云的方向信息,对形状缩放具有很强的鲁棒性。与F-PointNets相比,该方法在室内和室外数据集【14】【25】都取得了显著的改进。
XU等人【142】利用二维图像区域以及其相应的截锥点来精确的回归三维盒子,为了融合图像特征和点云的全局特征,他们提出了一种用于直接回归盒角点位置的全局融合网络,他们还提出了一种密集融合网络来预测每个角落的点向偏移量。Shin等人【143】首先从2D图像中估计物体的2D包围盒和3D位姿,然后提取多个几何上可行的物体候选对象。这些3D候选对象被输入到一个盒子回归网咯来预测准确的3D对象盒子。wang等人对每个2D区域沿截锥体轴生成一系列截锥体,并应用PointNet【5】对每个截锥体提取特征。对于截锥水平特征进行改造,生成一个2D特征地图,然后将其输入到一个全卷积网络中,用于3D盒子估计,该方法在基于二维图像的方法中取得了最先进的性能,并且在官网KITTI排行榜上名列前茅。Joannes等人【145】首先在BEV map上得到了初步的检测结果,然后根据预测的BEV提取小的点子集(也称为patches)。采用局部细化网络学习局部特征,预测高精度的三维包围盒。
其他方法:基于轴向对齐IoU在图像目标检测中的成功,Zhou等人将两个3D旋转包围盒的IoU集成到几个最先进的检测器【133】【137】【158】中,以实现持续的性能提升。chen等人【147】提出了一种使用点云和体素表示的两阶段网络架构。首先,将点云体素化并输入至3D骨干网以产生初始检测结果,第二,进一步利用处是预测的内部点特征进行箱体细化。尽管这个设计在概念上非常简单,但是他达到了【133】的性能同时保持着16.7fps的速度。shi等人提出了PointVoxel-RCNN(PV-RCNN),利用3D卷积网络和基于PointNet的几何抽象来学习点云特征。具体来说,输入点云首先被体素化,然后被送入3D稀疏卷积网络,以生成高质量的建议。然后通过体素集抽象模块将学习到的体素特征编码到一小组关键点中。此外,他们还提出了一个关键点到网络的POI抽象模块,以捕获丰富的上下文信息,用于框的细化。实验结果表明,该方法明显优于以往的方法,在KITTI 3D检测基准的Car类中排名第一。
受到基于Hough投票的2D对象检测器的启发,Qi等人提出了从点云直接底对象的虚拟中心点投票,通过聚合投票特征生成一组高质量的3D对象提议。VoteNet显著优于以前仅适用几何信息的方法,并且在两个大型室内基准(ScanNet【11】和SUN RGB-D【25】)上的最先进的性能。然后虚拟中心点的预测对于一个部分遮挡的物件来说是不稳定的。此外,Feng等人【149】增加了方向向量的辅助分支,提高了虚拟中心点和3D候选盒的预测精度。另外,通过将2D对象检测线索(如几何或语义/纹理线索)融到3D投票通道中,提出了一种ImVoteNet检测器。Shi等人【151】观察到三维物体的地面真相盒的启可以提供物体内部部件的精确位置,受此启发,他们提出了Part-A2 Net,这种网络由不封按值截断和部分聚合阶段组成。部分感知阶段应用具有稀疏卷积和稀疏反卷积的类似unet【165】的网络来学习点向特征,用于预测和粗生成对象内的部分位置。部分聚合节点采用支持ROI的池来聚合预测的部分位置以细化框。
单发射击的方法:
这些方法利用单机网络直接预测类概率并回归物体的三维边界盒。它们不需要区域鉴于生成和后处理。因此它们可以高速奔跑。根据输数据的类型,单次射击方法可以分为基于BEV的方法,基于离散化的方法和基于点的方法。
基于EBV的方法:这些方法主要以BEV表示未输入。yang等人用等间距的单元对场景的点云进行离散,并且以类似的方法对反射率进行编码,从而得到了规则的表示。然后使用全卷积神经玩那个罗(FCN)来估计目标的位置和航向角。在28.6帧每秒的情况下,该方法优于大多数单词射击方法(包括VeloFCN【154】、3D-FCN【155】和Vote3Deep【156】)。之后,Yang等人【152】利用了高清地图提供的几何先验信息和语义先严信息,提高了【129】的鲁棒性和检测性能。具体来说他们通过HD地图上获取地域点的坐标没然后用相对于地面的距离来表示BEV,以弥补道路坡度造成的评议方差。另外,他们将一个二进制道路和BEV表示连接在通道维度上,已关注移动的物体。由于并不是所有的地方都有高清地图,他们还提出了一个在线地图预测模块来估计单个激光雷达点云的地图先验。这种mapaware的方法明显由于(TOR4D【129】【130】和KITTL【14】数据集上的)基线。但是其对不同密度点云的泛化能力较差。为了解决这一问题,Beltran等人【153】提出了一种归一化映射,考虑到不同激光雷达传感器之间的差异。归一化映射是一个2D网络,与BEV映射的分辨率相同,他编码每个单元中包含的最大点数。结果表明,该归一化映射显著提高了基于BEV的检测器的泛化能力。
基于离散化的方法:这些方法将点云转换为规则的离散表示,然后应用CNN预测物体的类别和三维盒子。
Li等人[154]提出了第一个使用FCN进行三维目标检测的方法。他们将点云转换为2D点图,并使用2D FCN来预测物体的边界框和置信度。随后[155]将点云离散为长、宽、高、通道等维度的4D张量,并将基于二维fcn的检测技术扩展到三维域进行三维目标检测。与[154]相比,基于3D fcn的方法[155]获得了超过20%的精度增益,但由于3D卷积和数据的稀疏性,不可避免地会消耗更多的计算资源。为了解决体素的稀疏性问题,Engelcke等人[156]利用了一种以特征为中心的投票方案,为每个非空体素生成一组投票,并通过积累投票来获得卷积结果。它的计算复杂度与被占用的体素数量成正比。Li等[157]通过叠加多个稀疏的3D cnn构建了一个3D骨干网。该方法充分利用体素的稀疏性,节省存储空间,提高计算速度。该三维骨干网在不引入大量计算量的前提下,提取了丰富的三维特征用于目标检测。
5 点云分割
三维点云分割既需要了解全局几何结构,也需要了解每个点的细粒度细节。通过对分割粒度的不同,三维点云分割方法可以分成三种类别:语义分割(场景级)、实力分割(对象级)以及部分分割(部分级)
5.1 三维点云语义分割
对于一个给定的点云,语义分割的目标是根据点的语义将其分割成若干子集。类比于3D形状分类(第3节),语义分割有四种模式:基于投影的、基于离散的、基于点的和混合方法。
不管是基于投影的还是基于离散的方法,他们的第一步都是将点云转化为一个中间正则表示,比如说多视角【181】,【182】,球形【183】、【184】、【185】体积的【166】、【186】、【187】晶格体的【188】、【189】和混合表示【190】、【191】正如图11所示。然后将中间分割结果投影回原始点云。相比之下,基于点的的方法可直接处理不规则的点云。几种代表性的方法如图10所示。
5.1.1 基于投影的方法
这些方法通常将一个三维点云投影到二维图像中,其中包括多视图的和球形的图像
多视图的表达方法:Lawin等人【181】首先将3维点云投影到一个二维平面上通过多个摄像机虚拟视角,然后使用多流FCN预测合成图像的像素级评分。通过融合不同仕途上的重投影得分,得到每个点的最终语义标签。相似的是,Boulch等人【182】首先使用多个相机视角来生成点云的多个RGB和深度快照,然后他们使用2D分割网络对这些扩招进行像素级标记,使用残差校正进一步融合RGB图像和深度图像预测的分数【192】。Tatarchenko等人【193】基于点云的从局部欧几里得曲面采样的假设,引入了切线卷积用于密集点云分割。方法首先将每个点周围的局部表面几何投影到一个虚拟切平面。然后将切卷积直接在曲面几何上操作,该方法展现了强大的可扩展性,能够处理数百万个点的大规模点云。总的来说,多视图分割方法的性能对视点选择和遮挡敏感。此外,由于投影步骤不可避免地导致信息丢失,这些方法没有充分利用底层的几何和结构信息。
球形表示:为了获得更快和更精确的三维点云分割,WU等人【183】提出了一个基于SqueezeNet【194】和条件随机场(CRF)的端到端的网络。为了更进一步的提升点云分割的准确度,SqueezeSegV2【184】被引入来利用一个无监督的域自适应管道来处理域漂移。Milioto等人【185】提出了RangeNet++对激光雷达的点云进行实时语义分割,首先将二维范围图像的语义标签转移到三维点云中,然后利用基于GPU的高效KNN后处理步骤结局离散化误差和模糊推理输出问题。 球面投影比单视角投影保留更多的信息,适合于激光雷达点云的标记,然而中间级别的表达不可避免的带来了离散化误差和遮挡等问题。
5.1.2 基于离散的方法
这些方法通常将点云转化为一个稠密或稀疏离散表达,比如说体积和稀疏置换面格。
稠密离散表达:早期的方法通常是将点云体素化为一个密集的网格,然后利用标准的3D卷积。Huang等人【195】首先将点云划分为一组占用体素,然后将这些中间数据输入到权3DCNN中进行体素分割,最后体素内的所有点都被赋予与体素相同的语义标签。该方法的性能受到体素粒度和点云分割产生的边界伪影的严重限制。更进一步,Tchapmi等人【196】提出了一种SEGCloud来实现细粒度和全局一致的语义分割。这种方法引入了确定性三线性插值,将3D-FCNN【197】生成的粗体素预测映射到点云,然后使用全连接CRF(FC-CRF)来加强这些推断点标签的空间一致性。Meng等人【186】提出了一种基于核的插值变分自编码器结构,对每个体素内的局部几何结构进行编码。每个体素采用RBF代替二进制占用表示,以获得连续的表示,并捕获每个体素中点的分布。VAE进一步被用来映射每个体素内的点分布到一个紧凑的潜在空间,然后利用对称群和等价CNN实现鲁棒性特征学习。
由于3D CNN具有良好的可扩展性,基于体积的网络可以自由的训练和测试。在完全卷积网络中(FCPN)【187】,首先从点云中分层抽象出不同层次的几何关系,然后使用3D卷积和加权平均池化来提取特征并合并长期依赖关系 。该方法能处理大规模点云,在推理过程中具有良好的可扩展性。Dai等人【198】提出了ScanComplete来实现三维扫描的完成和逐体素语义标注。该方法利用了完全连接神经网络的可伸缩性,可以适应训练和测试中不同的输入数据大小。采用匆促道西的策略分层提高预测结果的分辨率。
总的来说,体积表示自然地保留了三维点云的邻域结构。他的常规数据格式也允许直接应用标准的3D卷积。这些因素导致了该领域性能的稳步提高,然而体素化步骤固有地引入了离散化伪影和信息的丢失。通常,高分辨率会导致高内存和计算成本,而低分辨率会导致细节丢失。在实践中,选择合适的网格分辨率并不是一件简单的事情。
稀疏的离散化表示:体积的表示是自然分散的,因为非零值的数量只占很小的百分比。因此在空间稀疏的数据上应用密集卷积神经网络是低效的,为此,Graham等人【166】提出了基于索引结构的子流形稀疏卷积网络。这个方法通过限制只与被占用的体素相关卷积的输出,显著降低了内存和计算成本。同时它的离散卷积也可以控制提取特征的稀疏性。这种子流形稀疏卷积适用于高维空间稀疏数据的高效处理。此外Choy等人【199】提出了一种4D时空卷积神经网络用于3D视频感知,提出了一种有效处理高维数据的广义稀疏卷积算法,进一步应用三平稳条件随机场加强一致性。
另一方面,SU等人【188】提出了基于双边卷积层的Sparse Lattice Networs(SPLATNets)的稀疏网格网络(spartgrid Networks, SPLATNet)。该方法首先将一个原始点云插值到一个满面体稀疏晶格上,然后应用BCL对稀疏晶格上被占用的部分进行卷积,然后将过滤后的输出被插值回原始点云。此外该方法还实现多视角图像与点云的灵活联合处理。此外 Rosu等人【189】提出类LatticeNet来实现对大型点云的高效处理。此外还引入一个名为DeformsSlice的数据依赖插值模块来将栅格特征向后投影到点云上。
5.1.3混合方法
为了进一步利用所有可用的信息,已经提出了几种从3D扫描中学习多模态特征的方法。Dai 和NiePner等人【190】提出了一种结合RGB特征和几何特征的联合3D-多视图网络。利用了一个三维CNN流和多个二维CNN流提取特征,并提出了一种可微背投影层将学习到的二维嵌入和三维几何特征联合融合。更进一步,Chiang等人【200】提出了一种统一的基于点的框架,从点云中学习2D纹理外观、3D结构和全局上下文特征。该方法直接利用基于点的网络来提取局部几何特征和全局上下文,无需进行体素化处理。Jaritz等人【191】提出了一种多视图的PointNet(MVPNet),在标准点云空间中从二维多视图图像和空间几何特征中聚合外观特征。
5.1.4 基于点的方法
基于点的网络直接工作在不规则的点云上,然而点云是无序和无结构的,直接应用标准的CNN是不可行的,为此,开创性的PointNet被提出使用共享MLP学习点云特征和使用对称池函数学习全局特征。在PointNET的基础上,最近提出了一系列基于点的网络。总的来说,这些方法可以分为逐点的MLP方法和点卷积方法和基于RNN的方法和基于图的方法。
点态MLP的方法:这些方法由于效率高,通常以共享MLP作为网络的基本单元。然后,共享的MLP提取的点向特征不能捕捉点云的局部几何形态以及【5】点之间的相互所作用。为了为每个点获取更广泛的背景信息并学习更丰富的局部结构,已经引入了几种专用网络,包括基于邻域特征池的方法,基于注意力的聚合方法以及局部—全局特征级联方法。
邻近特征池:为了捕获局部几何模式,这些方法通过聚合临近点的信息来学习每个点的特征,以获取局部的几何图案。特别是PointNet++【54】的组点是分层次的,从更大的局部区域逐步学习,如图12所示,真对点云的不均匀性和密度变化带来的问题,提出了多尺度分组和多分辨率分组。后来Jiang等人【141】提出了一个PointSIFT模块来实现方向编码和规模感知。这些模块通过三个阶段的有序卷积,对来自八个空间方向的信息进行堆栈和编码。将多尺度特征串联起来,实现对不同角度的自适应。与PointNet++中使用的分组技术(即球查询)不同,Engelmann等人【204】利用K-means聚类和KNN分别定义了世界空间和特征空间的两个邻域、基于统一类点在特征空间中距离更近的假设,引入成对距离损失和质心损失来进一步正则化特征学习。为了对不同点之间的相互关系进行建模,Zhao等人【57】提出了PointWeb,用过对密集结构构建局部全连接的WEB来探索局部区域内所有点对之间的关系。提出了一种自适应特征调整(AFA)模块来实现信息交换和特征细化。这种聚合操作有助于网络学习有区别的特征表示。Zhang等人【205】基于来自同心球壳的统计,提出了一种排列不变卷积,称为Shellconv。该方法首先查询一组多尺度的同心球,然后使用最大池化操作来总结统计数据,然后使用MLPS和一维卷积来得到最终的卷积输出。HU等人【206】提出了一种高效的、轻量级的网络结构叫做RANDLA-net用来大规模点云分割。该网络利用随机采样点在内存和计算方面实现了显著的高效率,进一步的提出了局部特征聚合模块来捕获和保存几何特征。
基于注意的聚集:为了进一步提高分割精度,一个注意力机制【120】被用来做点云分割。yang等人【56】提出了一种分组拖拽机制来对点之间的关系进行建模,并提出了一种排列不变。任务不可知和可维的Gumbel Subset Sampling(GSS)来替代管饭使用的FPS方法。本模块对异常值不太敏感并且可以选择一个具有代表性的点子集。为了更好捕获点云的局部空间感知,CHEN等人【207】提出了一种局部空间感知(Local Spatial Aware.LSA)层,基于点云的空间布局和局部结构来学习空间感知权值。和CRF相似,Zhao等人【208】提出了一种基于注意力的评分细化(Attentin-based Score Refinement, ASR)模块对网络产生分割结果进行后处理。通过将相邻点的分数和学习到的权值合并来初始化分割结果。该模块可以很容易的集成现有的深度网络中以提高分割性能。
局部-全局连接:zhao等人【112】提出了一种置换不变性的PS2-Net来整合点云的上下文结构和全局上下文。Edgeconv【87】和NetVLAD【209】被反复堆叠以捕获局部信息和场景级全局特征。
点卷积的方法:这些方法倾向于提出有效的卷积操作。Hua等人【76】提出了一种逐点卷积算子,将相邻的点放入核细胞中,然后与核权值进行卷积。正如图12所示,Wang等人【201】提出了一种基于参数连续卷积层的网络结构PCCN。本层的核函数由MLP参数化并跨越连续的向量空间。Thomas等人【65】提出了一种基于核点卷积(KPConv)的核点全卷积网络(KP-FCNN)。具体来说,KPConv的卷积权重由核点之间的欧氏距离来确定,核点的数量是不固定的。核点的位置被表述为球面空间最优覆盖的优化问题。需要注意的是,在不同的点云密度下,使用半径邻域保持一致的接受场,在每一层上使用网格子采样,已获得较高的鲁棒性。Engelmann等人【211】提出了丰富的消融实验和可视化结果,展示了接收场对基于聚合的方法性能的影响。他们还提出了扩展点卷积(DPC)操作来聚合扩展的邻域特征,而不是K个最近的邻域特征。该操作被证明在增加接受域方面非常有效,并且可以很容易的集成到现有的基于聚合的网络中。
基于RNN的方法:为了获取点云的上下文特征,Recurrent Neural NetWork(RNN)被用来做电鱼的语义分割。基于PointNet,EngelMann等人【213】首先将一个点块转换成多个尺度块和网格块,从而获得输入级上下文。然后将PointNet提取的分块特征依次输入到整合单元(Consolidation Units,CU)或循环整合单元(Recurrent Conslidation Units,RCU)中,获取输出层的上下文。实验结果表明,融合空间上下文对于分割性能的提升是非常重要的。Huang等人【212】提出了一种轻量级的局部依赖建模模块,利用切片池化层将无序的点特征几何转化为有序的特征向量序列。如图12所示,Ye等人【202】首先提出了点态金字塔池化(3P)模块来捕获从粗到细的局部结构,然后利用双层层次RNN来进一步获取长期空间依赖性。然后应用RNN实现端到端的学习,然而这些方法在将局部邻域特征和全局结构特征聚合时,丢失了点云丰富的几何特征和密度分布【220】。为了缓解刚性和静态池化操作带来的问题,zhao等人【220】提出了一种动态聚合网络(DARNet)来考虑整体场景复杂度和局部几何特征,中介特征使用自适应的接受域和节点权值动态聚合。LIU等人【221】提出了用于大规模的点云高效语义解析的3DCNN-QDN-RNN。该网络首先使用3Dcnn网络学习空间分布和颜色特征,然后使用DQN对属于特定类别的对象进行定位,最后将链接的特征向量输入残差RNN,得到最终的分割结果。
基于图的方法:为了捕获三维点云的基本形状和几何结构,有几种方法有助于图形工作。正如图12所示,Landrieu等人【203】将点云表示为一组相互连接的简单形状和上点,并使用一个属性有向图(即上点图)捕获结构和上下文信息。然后大规模点云分割问题被分解成三个子问题,几何均匀分割、上点嵌入和上下文分割三个子问题。为了进一步改进分割步骤,Landrieu和Boussaha【214】等人提出了一种监督框架将电晕过度分割为纯超点。这个问题被表述为一个由邻接图构成的深度度量学习问题。此外一个图结构的对比损失来帮助识别对象之间的边界。
为了更好的捕获在高位空间的局部几何关系,Kang等人【222】基于图嵌入模块(GEM)的金字塔网络(PyramNet)和金字塔注意网络(PAN)。GEM模块将点云表示成有向无环图,并利用协方差矩阵代替欧氏距离构造相邻相似矩阵。PAN模块使用四种不同大小的卷积核来提出不同于以强度的特征。在[215】中提出了图注意力卷积(graph Attention Convolution, GAC),从局部邻域集中选择性的学习相关特征。该操作是根据不同的相邻点和特征通道的空间位置个特征差异动态分配注意权值来实现的。GAC可以学习去捕获版别特征进行分割,与常用的CRF模型具有相似的特征。MA【223】等人提出了一个点全局上下文推理(Point Global Context Reasoning,PointGCR)模块沿着通道维数捕获全局上下文信息使用无向图表达。PointGCRs是一种即插即用,端到端的可训练的模块。它可以很容易的集成到现有的分段网络中,以实现性能的提高。
另外最近的一些工作试图在弱监督学习下实现点云的语义分割。WEI等人提出了一种双阶段的方法来训练带有子云级标签的分割网络,Xu等人【225】研究了几种用于点云语义分割的不精确监督方案。他们还提出了一种只需要部分标记点(例如10%)就可以训练的网络。
5.2实例分割
与语义分割相比,实例分割要求更准确和细粒度的点推理。特别的是,不仅要区分语义相同的点,也要区分语义相同的实例。总体来说,目前存在的方法可以分成两个类:基于协议的方法和无建议的方法。具体如图13所示:
5.2.1 基于协议的方法
这些方法将实例分割问题转化为两个子任务:3D目标识别和实例掩码预测。
Hou等人【226】提出了一种3D全卷积语义实例分割(3D-SIS)网络,在RGB-D扫描仪上实现语义实例分割。这个网络从颜色和几何特征中学习。与3D目标识别类似,一个三维区域建议网络(3D-RPN)和一个三维兴趣区域(3D-RoI)层被用于预测边界盒子位置,目标类别标签和实例掩码。根据综合分析策略,YI等人【227】提出了生成形状建议网络(Generative Shape Proposal NetWork, GSPN)来生成高目标性3D建议,这些建议通过基于区域的电网(R-PointNET)进一步细化,最终目标是通过预测每个类标点的逐点二进制掩码获得的。与从点云中直接回归三维点边界框不同,该方法通过加强几何理解,消除了大量无意义的建议。
Narita等人通过扩充2D全景分割扩展到三维映射,提出了一种在线体三维映射系统,可以联合实现大规模三维重建、语义标注和实例分割。他们首先利用2D语义和实例分割网络获得像素级全景标签,然后将这些照片集成到体积地图中去。在此基础上,利用全链接的CRF实现精确分割。该语义映射系统可以获取高质量的语义映射和对象识别。Yang等人【229】提出了一种单阶段、无锚阶段、端到端可训练网络3D-BoNet来实现点云上的实例分割,该方法直接回归所有潜在实例的粗糙三维边界框,然后利用点级二进制分类器获取实例标签。特别的,将边界框生成任务表述为一个最优分配问题,此外提出了一个多准则损失函数来规范生成的边界框。该方法不需要任何后处理,计算效率高。Zhang等人【230】提出了一种针对大规模室外激光雷达点云的实例分割网络。该方法利用自注意块学习点云鸟瞰图上的特征表示,最后的实例标签是根据预测水平中心和高度限制获得的。shi等人【231】提出了一种层次感知的变分去噪递归自动编码器(VDRAE)来预测室内空间的布局,对象建议通过递归上下文聚合和传播迭代地生成和细化。
总的来说,基于建议的方法【226】,【227】【229】【232】是直观的,实例分割结果通常有好的客观性,然而这些方法要求多阶段的训练和裁剪冗余提案。因此他们通常是耗时和计算昂贵的。
5.2.2 无协议的方法
无协议的方法【233】【~】【240】都没有目标识别模块,相反他们通常认为实例分割是予以分割之后的后续聚类步骤。特别的是,大多数存在的方法都是基于属于同一实例的点应该具有非常相似的特征的假设。因此这些方法主要集中于判断特征学习和点分组。
在先前的工作中,Wang等人【233】首先介绍了一种相似群组协议网络(Similarity Group Proposal NetWork, SGPN).这种方法首先学习每个点的特征和语义图,然后引入相似度矩阵来表示每个成对特征之间的相似度。为了学习更多的识别特征,他们使用了一种双铰链损失来相互调整相似矩阵和语义分割结果。最后,采用启发式非极大抑制方法将相似点合并到实例当中。由于构建相似矩阵需要大量的内存消耗,该方法的可伸缩性是有限的。类似的LIU等人【237】首先利用子流形稀疏卷积【166】来预测每个体素的语义得分和每个紧邻体素之间的亲和力。然后他们引入了一种聚类算法,根据预测的亲和性和网络拓扑将点分组到实例中。MO等人【241】在PartNet中引入了一种检测分割网络来实现实例分割。使用PointNet++来预测每个点的语义标签和不相连的实例掩码的主干。此外,Liang等人【238】提出了一种结构感知的损失用哦过来区分性嵌入得学习。这种损失既考虑了特征的相似性,又考虑了点之前的几何关系。进一步使用注意力机制的图CNN,通过聚合来自邻居的不同信息,自适应的细化学习特征。
因为点的语义类别和实例标签通常是相互依赖的,因此提出几种将两个任务耦合成单个任务的方法。Wang等人【234】通过引入端到端和可学习的关联分割实例和语义(ASIS)模块集成了这两个任务。实验表明。通过ASIS模块,语义特征和实例特征可以相互支持,从而提高性能。类似的,Zhao等人【242】提出了JSNet来实现语义和实例分割。此外,Pham等人【235】首先引出了多任务点智能网络(multitask Point-Wise NetWork, MT-PNet)为每个点分配一个标签,并通过引入区分性损失来正则化特征空间中的嵌入【243】。然后他们将预测的语义标签和嵌入到一个多值条件随机场(MV-CRF)模型中进行联合优化,最后,采用均值域变分推理方法生成语义标签和实例标签。Hu等人【244】首先提出了一个动态区域增长(Dynamic Region Growing ,DRG)方法,将点云动态分离为一组不连通的版块,然后使用无监督的K-means++算法对所有这些板块进行分组。然后在小块间上下文信息的指导下进行多尺度小块分割。最后,将这些标记的补丁合并到对象级,得到最终的语义标签和实例标签。
Elich等人【236】为了全3D场景中进行实例分割,提出了一种混合2D-3D的网络,从BEV表示和点云局部几何特征中联合学习全局一致 的实例特征。然后结合学习到的特征进行实例或者语义分割。值得注意的是,与启发式的GroupMerging算法【233】相比,使用了更灵活的MeanShift【245】算法将这些点分组到实例中,另外多任务学习也被引入到实例分割中。Lahoud等人【246】学习了每个实例的独特特征嵌入和估计目标中心的方向信息。提出了特征嵌入损耗和方向损耗潜在特征空间中学习到的特征嵌入。采用均值漂移聚类和非最大抑制事务处理对体素进行实例分组。这些方法在ScanNet【11】基准测试中实现了最先进的性能,此外,预测的方向信息对于确定实例的边界特别有用,Zhang等人【247】将概率嵌入引用到点云实例分隔中。该方法还加入了不确定性评估,并提出了一种新的损失函数用于聚类步骤,Jiang等人【240】提出了PointGroup网络,该网络由一个语义分隔分支和一个偏移预测分支组成。进一步利用双焦聚类算法和ScoreNet实现更好的分组结果。
总的来说,无协议的方法不需要计算开销很大的区域提案组件。然而由这些方法分组的实例段的对象性通常很低,因为这些方法不显式的检测对象边界。
5.3 部分分割
3D形状图像部分分割的困难主要有两个方面:首先具有相同语义标签的形状部分有着很大的几何变异性和歧义性。第二具有相同语义的物体部件数量可能不同。
VoxSegNet【248】在有限的解决方案下实现了三维体素化的数据的细粒度部分的分割,提出了一种空间密度提取(Spatial density Extraction, SDE)模块。该模块由堆叠的深黑色残差块组成,用于从稀疏提数据中提取多尺度鉴别特征。通过逐步应用主意特征聚合(AFA)模块,对学习到的特征进行在加权和融合。Kalohetakis等人【249】将FCNs和基于表面的CRFs结合起来实现端到端的三维临建分割,他们首先从多个视图生成图像以实现最佳的表面覆盖,然后将这些图像输入2D网络中以生成置信图。然后这些置信图被一个基于表面的CRF聚合,该CEF负责对整个场景进行一致的标记。YI等人【250】引出了一种同步谱CNN(SyncSpecCNN)来对不规则和非同构型状图进行卷积。为解决零件的多尺度分析和形状间的信息共享问题,提出了一种扩展卷积核的谱参数化和谱变压器网络。
wang等人【251】首先用过引入全形状卷积网络(shape Fully Convolutional Networks, SFCN)对三维网格进行形状分割,并以三种低级几何特征作为输入。然后利用基于投票的多标签图切割来进一步细化分割结果,Zhu等人【252】提出了一种弱监督CoSegNet用于三维形状协同分割。该网络以未分割的三维点云形状集合为输入,通过迭代最小化组一致性损失来产生形状零件标签,与CRF相似,我们提出了一种预处理的局部细化网络来进一步细化和去噪,Chen等人【253】提出了一种分支自动编码网络(BAE-NET)用于无监督、单镜头和弱监督的三维形状协同分割。该方法将形状共同分割任务作为一个表示学习问题,旨在通过最小化形状重建损失来寻找最简单的部件表。基于编码-译码结构,该网络的每个分支都可以学习特定零件形状的紧凑表示。然后将从每个分支学到的特征和点坐标反馈给解码器产生一个二进制值(表示该点是否属于该部分)。该方法具有良好的泛化能力,可以处理大量的三维形状几何(多达5000多个形状)。但是该方法对初始参数敏感,没有将形状语义纳入到网络中,阻碍了每次迭代都能获得鲁棒稳定的估计。YU等人【254】提出了一种自上而下的递归部件分解网络(PartNet)用于分层形状分割。与现有的将形状分割为固定标签集的方法不同,该网络将零件分割定义为级联二值标记问题,并根据几何结构将输入点云分割为任意数量的零件,LUO等人【255】引入了一种基于学习的分组框架用于零镜头3D部分分割任务。为了提高跨类泛化能力,该方法倾向于学习一个限制网络在局部上下文中学习部分级特征的分组策略。
5.4总结
表5显示了现有方法在公共基准测试中获得的结果,包括S3DIS[10]、Semantic3D[12]、ScanNet[39]和SemanticKITTI[15]。以下问题需要进一步研究。
·由于常规的数据表示,基于投影的方法和基于离散化的方法都可以利用其2D图像对应的成熟网络架构。然后基于投影方法的主要限制依赖于3D-2D投影带来的信息损失,而基于离散化方法的主要瓶颈是由于分辨率的提高该来的计算和存储成本的三次增加。为此在索引结构上建立稀疏卷积是一种可行的军方案,值得进一步探索。
·基于点的网络是最常使用的研究方法,然而点表示自然没有明确的邻域信息,大多数现有的基于点的犯法求助于昂贵的邻域搜索机制(例如,KNN[79] 或者球查询【54】),这本质上限制了这些方法的效率,最近提出了点-体素联合表示【256】将是进一步研究的有趣的方向。
·从不平衡数据中仍然是点云分割中一个具有挑战性的问题。虽然几种方法【65】【203】【2045】在总体上取得了显著的成绩。但他们在少数类别中的表现仍然有限。不如说,RandLA-Net【206】在Senabtic3D的reduced-8子集上实现了76%的总体IoU,但是在硬景观类上实现了41.1%的非常低的IoU。
·现有的大多数方法【5】【54】【79】【205】【207】都用于小点上。在实际应用中,深度传感器获取的点云通常是巨大的,大规模的。因此,进一步研究大尺度点云的有效分割问题是非常有必要的。
·一些著作【178】【179】【199】已经开始从动态点云中学习时空信息。我们希望这些时空信息能够帮助提高三维物体识别,分割和完成后续任务的性能。
6 结论
本篇文章详细的介绍了三维形状分类、三维目标检测和跟踪,三维场景和目标分割。对于这些方法进行了综合分类和性能比较。介绍了各种方法的优缺点,并提出了可能的研究方向。