这边具体值得读一读的文章有:PointNet,DGCNN,View-GCN, PointCNN, PointWeb, RS-CNN ...
重要点摘抄:
摘要:
深度学习作为AI中的主要技术,已成功用于解决各种2D视觉问题。但是,由于使用深度神经网络处理点云所面临的独特挑战,因此点云上的深度学习仍处于起步阶段。
它涵盖了三个主要任务,包括3D形状分类,3D对象检测和跟踪以及3D点云分割
1.介绍
3D数据通常可以用不同的格式表示,包括深度图像,点云,网格和体积网格。
作为一种常用格式,点云表示将原始几何信息保留在3D空间中,而不会进行任何离散化
在3D点云上进行深度学习仍面临数个重大挑战[5],例如数据集规模小,维数高和3D点云的非结构化性质。
一些公开可用的数据集,例如ModelNet [6],ShapeNet [7],ScanNet [8],Semantic3D [9]和KITTI Vision Benchmark Suite [10]。
图1-深度学习点云方法的分类
本文的结构如下。 第2节回顾了3D形状分类的方法。 第3节概述了3D对象检测和跟踪的现有方法。 第4节概述了点云分割方法,包括语义分割,实例分割和零件分割。 最后,第5节总结了论文。 我们还在以下网址上提供了定期更新的项目页面:https://github.com/QingyongHu/SoTA-Point-Cloud。
2.三维形状分类
这些方法通常首先学习每个点的嵌入,然后使用聚合方法从整个点云中提取全局形状嵌入。 最后,通过几个完全连接的层来实现分类。 基于对每个点执行特征学习的方式,现有的3D形状分类方法可以分为基于投影的网络和基于点的网络。 图2说明了几种里程碑方法。
Fig. 2: Chronological overview of 3D shape classification networks.三维形状分类网络的时序概述。
基于投影的方法首先将非结构化的点云投影到中间的正则表示中,然后利用成熟的2D或3D卷积实现形状分类。 相反,基于点的方法可直接在原始点云上运行,而无需任何体素化或投影。 基于点的方法不会造成明显的信息丢失,并且越来越受欢迎。 在本文中,我们主要关注基于点的网络,但为了完整起见,也很少包含基于投影的网络。
2.1 基于投影的网络
这些方法将3D点云投影到不同的表示形式(例如多视图,体积表示)中,用于特征学习和形状分类。
2.1.1多视图表示
这些方法首先将3D对象投影到多个视图中,并提取相应的按视图方向的特征,然后融合这些特征以进行准确的对象识别。 如何将多个基于视图的功能聚合到一个可区分的全局表示中是一个关键挑战。
MVCNN [15]是一项开创性的工作,它只是将多视图特征最大池化为一个全局描述符。 但是,最大池化只能保留特定视图中的最大元素,从而导致信息丢失。
MHBN [16]通过协调双线性池整合了局部卷积特征,以生成紧凑的全局描述符。
Yang等[17]首先利用关系网络来利用一组视图之间的相互关系(例如,区域-区域关系和视图-视图关系),然后将这些视图进行聚合以获得具有区别性的3D对象表示。
其他几种方法[18],[19],[20],[21]以提高识别精度。
2.1.2 体积表示法
早期的方法通常采用基于三维点云体积表示的三维卷积神经网络(cnn)。
Daniel 等人介绍了一个名为 voxnet 的容量占用网络,以实现健壮的3dobject 识别。 Wu 等人[6]提出了一种基于卷积 / 深度信念的3d 形状,来学习不同3d 形状的点的分布。 一个三维形状通常由体素网格上的二进制变量概率分布表示。
虽然已经取得了令人鼓舞的性能,但这些方法无法很好地扩展到3 d 数据,因为计算和内存占用随着分辨率的增长而成立方体。
为此,引入了一种层次紧凑的图结构(如八叉树) ,以减少这些方法的计算量和内存开销。
Octnet [23]首先使用一种混合的网格-八叉树结构分层地划分一个点云,这种结构表示沿着一个规则网格的多个浅八叉树的场景。八叉树的结构使用位字符串表示高效地编码,每个体素的特征向量用简单的算术索引。
Wang 等人[24]提出了基于八叉树的三维形状分类 cnn。将采用最精细叶片剂的三维模型的平均法向量输入网络,并将三维细胞神经网络应用于三维形状表面所占据的八分量。 与基于密集输入网格的基线网络相比,八进制网格在高分辨率点云上占用了更少的内存和运行时间。
Le et al. [25]提出了一种称为“点网格”的混合网络,它集成了点和网格表示,以实现高效的点云处理。 在每个嵌入体网格单元内采样一定数量的点,使网络能够利用三维卷积提取几何细节。
2.2 基于点的网络
根据每个点的特征学习所使用的网络结构,该类方法可分为点态 mlp 方法、基于卷积的方法、基于图的方法、基于数据索引的方法和其他典型的网络方法。
2.2.1 点态 mlp 网络
这些方法使用多个多层感知器(mlps)对每个点独立建模,然后使用一个对称函数聚合全局特征,如图所示。这些网络可以实现无序三维点云的置换不变性。 然而,三维点之间的几何关系还没有得到充分的考虑。
图3: pointnet 的体系结构。 N 表示输入点的数量,m 表示每个点的学习特征的尺寸。 在最大池之后,整个点云的全局特征维数也是 m。
作为一项开创性的工作,pointnet [5]通过多个 mlp 层学习 pointwise 特性,并通过 max-pooling 层提取全局的 shapefeatures。 采用多层 mlp 方法得到分类评分。 Zaheer et al. [26]也从理论上证明了实现排列不变性的关键是对所有表示进行求和并应用非线性变换。 他们还为包括形状分类在内的各种应用设计了一个基本的结构——深度集。
因为每个 pointin pointnet [5]的特征都是独立学习的,所以不能捕获点之间的局部结构信息。 因此,qi et al. [27]提出了一个层次化网络 pointnet + + + 来从每个点的邻近区域捕获精细的几何结构。 作为 pointnet + 层次结构的核心,它的集合抽象层由三个层次组成: 抽样层、分组层和 pointnet 层。 通过叠加多个集抽象层次,pointnet + + 可以从局部几何结构中学习特征,并逐层抽象局部特征.
由于它的简单性和强大的表示能力,许多网络已经开发基于 pointnet [5]。
Achlioptas et al. [28]引入了一个深层的自动编码网络来学习点云表示。 它的编码遵循了 pointnet 的设计思想,使用5个一维卷积层、一个相关线性激活、批量归一化和最大点运算独立地学习点特性。
在点注意力转换器(pats)[29]中,每个点相对于它的邻居都有自己的绝对位置和相对位置。 然后,利用群组洗牌注意(gsa)来捕获点之间的关系,并开发了一个置换不变、可微和可训练的端到端 gumbel 子集抽样(gss)层来学习层次特征。
Mo-net [30]的体系结构类似于 pointnet [5] ,但它采用一组有限的矩作为网络的输入。
Pointweb [31]也是基于 pointnet + + 构建的,并且使用局部邻居的上下文通过自适应特性调整(afa)来改进 pointfeatures。
Duinet al. [32]提出了一种结构关系网络(structurerelational network,srn) ,用 mlp 来学习不同本地结构之间的结构关系特征。
Lin 等人[33]通过为 pointnet 学习的输入和函数空间构造一个查找表,加速了这个可怕的过程。 在一个中等大小的机器上,模型网和 shapenet 数据集的推理时间比 pointnet 提高了1.5毫米和32倍。首先投射一个点云获得旋转不变性(a)3d 邻近点(b)3d 连续卷积 pq1 q2 q7 q6 q3 q9 q5 q4123405678 pq1 q2 q9 q8 q7 q5 q4 q4 q3 pq2 q2 q8 q7 q6 q3 q6 q3 q3 q1 q9q5 q4(c)3d 乳胶类文件的离散卷积日志4表示,然后利用基于后向网络的方法提取全局特征和基于图的聚合局部特征。
2.2.2基于卷积的网络
与二维网格结构(如图像)上定义的内核相比,由于点云的不规则性,三维点云的卷积内核很难设计。 根据卷积核的类型,现有的3d 卷积网络可分为连续卷积网络和离散卷积网络,如图4所示。
图4: 点的局部邻居的连续和离散卷积的示意图。 (a)表示局部邻域; (b)和(c)分别表示三维连续和离散卷积。
三维连续卷积网络。 这些方法在连续空间上定义卷积核,其中相邻点的权值与相对于中心点的空间分布有关。
Mlp 是一种学习重量的简单方法,rs-conv 作为 rs-cnn [35]的核心层,以特定点周围的局部点子集作为输入,通过学习从低层关系(如欧氏距离和相对位置)到局部子集中点之间的高层关系,利用 mlp 实现卷积。 在[36]中,核元素是在单位球中随机选取的。 然后利用基于 mlp 的连续函数建立核元素位置与点云位置之间的关系。 在 indensepoint [37]中,卷积被定义为带有非线性激活器的单层感知器(slp)。 通过连接以前所有层的特征来充分利用上下文信息.
一些方法也利用现有的算法进行卷积运算。 在[38]中,卷积被定义为连续三维卷积关于重要抽样的蒙特卡罗估计。 卷积核由一个加权函数和一个密度函数组成,加权函数和密度函数分别由一个核密度估计和一个多层密度函数组成。 为了提高存储量和计算效率,将三维卷积进一步简化为矩阵乘法和二维卷积两种运算。 通过相同的参数设置,它的内存消耗可以减少约64倍。 在 mccnn [39]中,卷积被认为是一个依赖于样本密度函数的蒙特卡罗估计过程(用 mlp 实现)。 然后使用 poissondisk 抽样构造点云层次结构。 该卷积算子可用于两个或多个采样方法之间的卷积处理,并能处理不同的采样密度。 在 spidercnn [40]中,spiderconv 将卷积定义为阶跃函数和定义在 k 个最近邻上的泰勒展开式的乘积。 阶跃函数通过对局部测地距离进行编码来获得粗糙的几何形状,泰勒展开通过插值立方体顶点的任意值来获得内在的局部几何变化。 此外,还提出了一种基于径向基函数的三维点云卷积网络 pcnn [41]。 Thomas 等[42]提出了使用一组可学习的核点对3d 点云进行刚性和可变形核点卷积(kpconv)操作的方法。
针对三维卷积网络面临的突变等变问题,提出了几种解决方法。 Esteves 等[43]提出了三维球面卷积神经网络(球面 cnn)来学习三维形状的旋转等变表示,它的输入是多值球面函数。 通过参数化光谱,在球面调和域上设置定位点,得到定域卷积滤波器。 点卷积运算是可学习的径向函数和球谐函数的乘积,它在局部上等于点的三维旋转、平移和排列。 Sphnet [46]基于 pcnn,在体积函数的卷积过程中引入球面调和核,实现了旋转不变性。 Convpoint [47]将卷积核分解为空间部分和特征部分。 通过一个简单的 mlp 算法,从一个单位球体中随机选取部分的位置,并学习加权函数。
为了提高计算速度,flex-convolution [48]将卷积核的权值定义为标准的标量积相对于 k 个最近邻,可以用 cuda 加速计算。 实验结果表明,该算法在参数较少、内存消耗较低的小数据集上具有很好的竞争性。
这些方法在规则网格上定义卷积核,其中相邻点的权重与相对于中心点的偏移量相关。
Hua 等[49]将非均匀三维点云转换为均匀网格,并在每个网格上定义了卷积核。 与2d 卷积(给每个像素分配一个权重)不同,提出的3d 内核给落入同一网格的所有点分配同样的权重。 对于调节点,从前一层计算同一网格上所有相邻点的平均特征。 然后,对所有网格的平均特征进行加权和总和,得到当前层的输出。 球面卷积核的输出取决于邻近点加权激活值平均值的非线性激活。 在 geoconv [51]中,基于6个基函数建立了输入点与邻近点之间的几何关系模型,构造了输入点与图构造特征学习与共享输出点与输出点之间的关系模型。 边缘特征沿基的每个方向被一个可学习的矩阵根据相邻点的基独立加权。 然后根据给定点及其邻近点形成的角度将这些方向相关的特征聚集起来。 对于一个给定的点,它在当前层的特征被定义为给定点及其相邻边缘特征在前一层的特征之和。 Pointcnn [52]通过一个-凸变换(通过 mlp 实现)实现置换不变性。 通过对邻近离散卷积核权坐标的插值点特征,提出了插值卷积算子插值法,用于测量输入点云量与核权坐标之间的几何关系。 张等[54]提出用 ariconv 算子实现旋转不变性,该算子以低阶旋转不变性几何特征作为输入,然后通过简单的组合方法将卷积转化为1d。
A-cnn [55]通过在查询点的每个环上循环相关于核大小的邻居阵列,定义了一个环形卷积。 为了降低3d cnns 的计算机和存储成本,kumawat etal。 [56]提出了一种基于3 d 短期傅里叶变换(stft)的3 d 局部相位体积(relpv)校正块来提取局部相位,这大大减少了参数的数量。 在 sfcnn [57]中,点云被投影到具有对齐球坐标的规则二十面体格子上。 然后通过卷积最大卷积结构将球面网格顶点及其邻域的特征串联起来进行卷积运算。 旧金山有线电视新闻网能抵抗折磨和干扰。
2.2.3 基于图的网络
图的网络将一个点 cloudas 作为一个图的顶点,并根据每个点的邻居生成该图的有向边。 然后在空间或光谱域中进行特征学习[58]。 基于非典型图的网络如图5所示。
基于图的空间域方法。 这些方法定义了具有灵活性的域操作(例如卷积和池)。 具体来说,卷积通常是通过空间邻居的 mlp 实现的,池通过聚合每个点的邻居信息生成一个新的粗化图。 每个顶点的特征通常用坐标、激光强度或颜色来表示,而每个边缘的特征通常用两个连接点之间的几何属性来表示。
图5: 基于图的网络的图示。
作为一个开创性的工作,simonovsky 等人[58]把每个顶点看作图的一个顶点,并用一个有向边将每个顶点连接到它的所有邻居。 然后,使用过滤生成网络(如 mlp)提出了 edgecondied卷积(ecc)。 采用最大池聚合邻域信息,基于体素网格[59]算法实现图形粗化,首先交织形状分类、卷积和池。 然后,按照全局平均池和全连接层生成分类得分。在 cnn [60]中,在特征空间中构建一个图,并在网络的每一层之后动态更新。 作为 edgeconv 的核心层,使用 mlp 作为每个边的特征学习函数,并将通道对称聚合应用到每个点的相邻边缘特征上。 此外,ldgcnn [61]删除了转换网络,并在 dgcnn [60]中链接来自不同层次的层次特性,以提高其性能并减少模式大小。 本文还提出了一种端到端的无监督深度自动编码网络(称为 foldingnet [62]) ,它使用矢量化的局部协方差矩阵和点坐标作为输入。
受到盗梦空间[63]和 dgcnn [60]的启发,哈萨尼金属公司。 [64]提出了一种无监督的多任务自动编码器来学习点和形状特征。 编码器是基于多尺度图构造的。 译码器采用聚类、自监督分类和重构三种无监督任务构造,并联合训练多任务丢失。 刘等[65]提出了一种基于图卷积的动态点凝聚模块(dpam) ,将点凝聚过程(采样、分组和汇聚)简化为一个简单的步骤,并通过凝聚矩阵和点特征矩阵的乘法实现
为了利用局部几何结构,kcnet [66]提出了基于核相关的特征学习方法,定义了一组表征局部结构几何类型的可学习点作为核函数。 然后,计算内核与给定点的邻域之间的亲和力。 在 g3d [67]中,卷积被定义为邻接矩阵多项式的变体,而合并被定义为用粗化矩阵乘以 Laplacian Matrix 和顶点矩阵。 利用严格的旋转不变性(rri)模型提取每个点的旋转不变性特征,并基于无监督的连接标准层次聚类方法构造点云的层次结构。 每个子集群的特性首先通过 edgeconv 块学习,然后通过 max pooling 聚合
基于图的谱域方法。 这些方法将卷积定义为谱滤波,实现为图形 Laplacian Matrix 中信号与图形特征向量的相乘。
为了处理乳胶类文件的高计算量和非杂志化的挑战,defferlard 等人[71]提出了一种截断切比雪夫多项式来逼近光谱滤波。 他们学到的特征地图位于每个点的 khop 邻居内。 注意,本征向量是由[70][71]中的一个固定 Laplacian Matrix 计算出来的。 相比之下,rgcnn [72]通过将点云中的每个点与所有其他点连接起来,并确定每个层中的图 Laplacian Matrix,从而构造出一个图。 为了使相邻顶点的特征更加相似,在损失函数中加入了图的信号光滑度优先。 为了解决数据图形拓扑结构多样性带来的挑战,agcn [73]中的 sgc-ll 层利用一种可学习的扩展 tric 来参数化图形两个垂直面之间的相似性。 利用高斯核和学习距离对图的邻接矩阵进行归一化,提出了一种超图神经网络(hgnn) ,并在超图上应用谱卷积建立了超边卷积层。
前面提到的方法都是基于完整图表的。 为了利用局部结构信息,wang 等人[75]提出了一种端到端的光谱卷积网络局部谱网络(由 k 个最近邻构成)。 该方法不需要离线计算图形 Laplacian Matrix 和图形粗化层次结构。 在 pointgcn [76]中,基于点云的 k 个最近邻构造了一个图,并用高斯核对每个边进行加权。 卷积滤波器定义为图谱域中的切比雪夫多项式。 全球共享和多方案共享用于捕获点云的全球和本地特性。 Pan 等人[77]通过对谱域上的 k 个最近邻图进行卷积,提出了3dti 网络。 通过相对欧氏距离和方向距离的学习,实现了几何变换的不变性。
2.2.4基于数据索引的网络
这些网络是基于不同的数据解析结构(例如,八叉树和 kd-tree)构建的。 在这些方法中,点特征是沿着树从叶节点到根节点逐层学习的。 Lei et al. [50]提出了使用球面卷积内核的 anoctree 引导 cnn (见第2.2.2节)。 网络的每一层对应于八叉树的一层,每一层应用一个球形卷积内核。 与基于八叉树的八叉网(octnet [23])不同,kd-net [78]是用多个 k-d 树在每次迭代中以不同的分裂方向建立的。 按照自底向上的方法,非叶节点的表示是使用 mlp 根据其子节点的表示计算出来的。 最后将节点(描述整个点云)的特征提供给完全连通的层来预测分类得分。注意,kd 网在每个层次根据节点的分裂类型共享参数。 3dcontextnet [79]使用标准的平衡 k-d 树来实现特性学习和聚合。 在每个层次上,点特征首先通过基于局部线索的 mlp (模拟局部区域内点之间的相互依赖关系)和全球背景线索(模拟一个位置相对于所有其他位置的关系)来学习。 然后,利用 mlp 对非叶节点的子节点进行特征计算,通过最大池聚集非叶节点的特征。 对于分类,重复上述过程,直到根节点被确定。
索网网络的层次结构是通过执行点到节点的 k 最近邻搜索[80]构造的。 具体来说,一个改进的置换不变自组织映射(som)被用来模拟点云的空间分布。 通过一系列完全连接的图层,可以从规范化的点到节点坐标中学习单个点特征。 在 somis 中,每个节点的特征都是从与这个节点相关的点特征中提取出来的。 使用类似 topnet 的方法从节点特性中学习最后的特性。 与 pointnet + + [27]相比,som 的层次结构更加高效,并充分发挥了点云的空间分布特性。
2.2.5 其他网络
除了上述方法,还提出了许多其他方法。
在3dmfv [82]中,一个点 cloudis voxelized 为统一的3d 网格,并根据在这些网格上定义的一组高斯混合模型的可能性提取 fisher 向量。 由于 fisher 矢量的分量在所有点上都是相加的,因此其表示不受点云的顺序、结构和大小的影响。
Rbfnet [86]通过稀疏分布的 rbf 核聚合特征来显式建模点的空间分布径向基核函数。 径向基函数特征提取层对每个点的所有核进行响应计算,然后优化核的位置和核的大小,以获取训练过程中点的空间分布。 与全连接层相比,径向基函数特征提取层在减少参数数量级的同时产生更多的判别特征。
赵等人[85]提出了一个无监督的自动编码器3dpointcapsnetfor 通用表示学习的3d 点云。 在编码阶段,首先对点云采用点状 mlp 提取点独立的特征,然后将点状 mlp 进一步提取到多个独立的卷积层,最后连接多个最大混合学习特征映射提取全局潜在表示。 基于无监督动态路由,强大的代表性胶囊学习。
受到形状上下文描述符[89]的构造的启发,xie 等人[81]提出了一种结合亲和点选择和紧凑特征聚合到一个使用点积自注意的柔软操作中的 shapecontextnet 体系结构[90]。
为了解决3d 点云中的噪声和遮挡问题,bobakovet al [91] fed 手工制作了基于4d 旋转不变性神经网络描述符的点对函数。
Prokudin et al. [92]首先从一个单位球中随机采样一个具有均匀分布的基点集,然后对点云进行编码,作为到基点集的最小距离,它将点云转换为一个相对较小的固定长度的矢量。 然后可以用现有的机器学习方法处理编码的表示。
Rcnet [88]利用标准 rnn 和2d cnn 构造了一个3d 点云处理的排列不变网络。
点云首先被分割成平行的光束,并按照特定的维度进行排序,然后每个光束被输入一个共享的 rnn。 学到的功能进一步被输入到一个有效的2d cnn 的层次化特征聚合。 为了提高其描述能力,rcnet-eis 提出将多个 rcnets 按照不同的分区和排序方向集成。 Point2sequences [87]是另一个基于 rnn 的模型,它捕捉点云局部区域不同区域之间的相关性。 该算法首先考虑多尺度下从局部区域学习到的特征,然后将所有局部区域的序列输入到一个基于 rnn 的编解码器结构中,形成一个聚合局部区域特征。 秦等人[93]提出了一种基于端到端无监督域自适应的网络点 / 点云表示方法。 为了获取点云的语义特性,提出了一种自我监督的方法来重构点云,点云的各个部分被随机重新排列[94].
表1: 模型10 / 40基准的三维形状分类结果比较。 这里,我们只关注基于点的网络,“ # params”表示相应模型的参数个数。 Oa 代表整体精确度 macc 代表表格中的平均精确度。 符号“-”意味着结果不可用。
还提出了几种从三维点云和二维图像中学习的方法。 在 pvnet [83]中,从多视点图像中提取高层次的全局特征,通过一个嵌入网络投影到点云的子空间中,并通过一个软关注掩码与点云特征融合。 最后利用残差连接进行特征融合和多视点特征识别。 后来,pvrnet [84]进一步提出利用关系 scoremodule 学习到的三维点云及其多视图之间的关系。 基于关系评分,对原始的2d 全局视图特征进行增强,实现了点单视图融合和点多视图融合。
模型10 / 40数据集是形状分类中最常用的数据集。 表1显示了不同基于点的网络所获得的结果。 可以绘制几个观测值:
•点态 mlp 网络通常被用作其他类型网络的基本构建模块,以便学习点态特征。
•作为一种标准的深度学习架构,基于卷积的网络可以在不规则的3d 点云上实现优越的性能。 不规则数据的离散卷积网络和连续卷积网络都应给予足够的重视。
•由于其固有的处理不规则数据的强大能力,基于图形的网络近年来受到越来越多的关注。 然而,将谱域上的基于图的网络拓展到各种图结构仍然是一个挑战。
•大多数网络需要将一点云采样到一个固定的小尺寸。 这个取样过程丢弃了形状的细节。 开发能处理大规模点云的网络仍处于初级阶段[95]。
3.三维目标检测和跟踪(略)
在本节中,我们将回顾现有的三维物体检测、三维物体跟踪和三维场景流量估计的方法。
4.三维点云分割
三维点云分割需要了解全局几何结构和每个点的精细细节。 根据分割粒度,三维点云分割方法可以分为三类: 语义分割(场景级)、实例分割(对象级)和部分分割(部分级)。
4.1 三维语义分割
给定一个点云,语义分割的目标是根据点云的语义将其分割成若干子集。 与3d shape classification 的分类类似(见第2节) ,语义分割有两种聚合,即基于投影和基于点的方法。 我们给出了几种具有代表性的方法。 图8。
图8: 一些最相关的基于深度学习的点云语义分割方法的时序概述。
4.1.1 基于投影的网络
中间正则表示可以组织分类为多视图表示[148] ,[149] ,球面表示[150] ,[151] ,[152] ,体表示[153] ,[154] ,[155] ,过多面体晶格表示[156] ,[157] ,和混合表示[158] ,[159] ,如图9所示。
图9: 基于投影的方法的中间表示。
多视图表示法。 费利克斯等人[148]第一个投影到二维平面上的三维点云从多重虚拟相机的意见。 然后,使用多流 fcn 来预测合成图像上的像素级得分。 通过融合不同视图的重投影得分,得到每个点的最终语义标记。 同样,布尔希金属公司。 [149]首先使用多个相机位置生成一个点云的几个 rgb 和深度快照。 然后他们使用2d 分割网络对这些快照进行像素级标记。 利用残差校正技术,对磁共振图像和深度图像的预测得分进行进一步融合[160]。 基于点云是从当地欧几里德曲面上采样的假设 tatarchietal。 [161]引入了切向卷积用于密集的点云分割。 这种方法首先将每个点周围的局部表面几何投影到一个虚拟切线平面。 然后直接在表面几何上操作切回旋。 该方法具有很好的可扩展性,能够处理大规模点云数百万点。 总的来说,多视点分割方法的性能对视点选择和遮挡非常敏感。 此外,这些方法还没有充分利用基本的几何和结构信息,因为投影步骤不可避免地引入了信息损失。
球面表示法。 为了实现3 d 点云的快速准确的着色,wu 等人提出了基于 squeezenet [162]和条件随机域(crf)的端到端网络。 为了进一步提高分割的准确性,利用一个无监督的域自适应流水线,将 squeezegv2[151]引入到地址域移位中。 提出了一种基于 rangenet + + 的激光雷达点云实时语义分割方法,该方法首先将2d 距离图像的语义标记转换为3d 点云,然后利用高效的基于 gpu 的 knn-basedpost-processing 步骤进一步解决了离散化错误和推理输出模糊的问题。 与单视图投影相比,球面投影可以保留更多的信息,适合于点云的标注。 然而,这种中间表示不可避免地带来了一些问题,如离散错误和遮挡。
体积表示法。 黄等人[163]首先将点云分成一组占有体素。 然后他们将这些中间数据输入一个全三维卷积神经网络,用于体素分割。 最后,一个体素中的所有点都被赋予了与体素相同的语义标签。 该方法的性能受到体素粒度和点云分割引起的边界伪影的制约。 更进一步,tchapmiet al [164]提出了 segcloud 来实现细分和全局一致的语义分割。 这种方法导出了一个确定性的三线性插值,将由3 d-fcnn [165]生成的预测结果映射到点云,然后使用完全连接的 crf (fccrf)来加强这些推断出的点标记的空间一致性。 Mengetal [153]引入了一种基于内核的插值变分自动编码器结构来编码每个体素中的局部几何结构。 而不是一个二进制占用表示,rbfs 被雇用为每个体素,以获得一个连续的表示和捕获的分布点在每个体素。 Vae 进一步用于映射每个体素内的点分布到一个紧凑的潜在空间。 然后,使用对称组和等价 cnn 实现鲁棒的特征学习。
良好的可扩展性是体积显示的显著优点之一。 具体地说,基于体积的网络可以在不同空间尺寸的点云中自由地进行训练和测试。 在全卷积点网络(fcpn)[154]中,首先从点云层次上抽象出不同层次的几何关系,然后使用3 d 卷积和加权平均数池来提取特征并合并长程依赖关系。 该方法能够处理大规模的点云,推理过程中具有良好的可扩展性。 Angela 等人[166]建议使用扫描完成来实现3d 扫描完成和 per-voxel 语义标注。 该方法充分利用了全卷积神经网络的可计算性,在训练和测试过程中能够适应不同的输入数据量。
体表示自然是稀疏的,因为非零值的数量只占很小的百分比。 因此,在空间稀疏数据上应用密集卷积神经网络是非常低效的。 为此,格雷厄姆等人[155]提出了子流形分布式体系网络。 这种方法通过限制卷积的输出只与占用的体素相关,从而大大减少了内存和计算开销。 同时,它的稀疏卷积也可以控制提取特征的稀疏性。 这种子流形稀疏卷积适用于高维、空间稀疏数据的高效处理。 此外,choy et al. [167]提出了一种用于3d 视频感知的4d 时空卷积神经网络,称为 minkowskinet。 提出了一种广义稀疏卷积算法,有效地处理高维数据。 三边平稳条件随机场被进一步应用来强化一致性。
总的来说,体表示自然地保留了三维点云的邻域结构。 它的常规数据格式也允许直接应用标准的3 d 卷积。 这些因素导致了这一领域稳定的性能改进。 然而,voxelizationstep 本质上引入了离散化工件和信息丢失。 通常,高分辨率会导致高的记忆和计算成本,而低分辨率会导致细节的丢失。 在实际应用中,选择一个合适的网格分辨率是非常重要的。
四面体点阵表示法。 Su 等[156]提出了基于双边卷积层的稀疏格子网络(splattnet)。 该方法首先将一个原始点云插值到一个置换的稀疏点阵上,然后将 bcl 应用到稀疏点阵占据部分的卷积上。 然后将滤波后的输出插入到原始点云中。 此外,该方法允许灵活的联合处理多视图像和点云。 此外,rosu 等人[157]提出了格网来实现大点云的有效处理。 同时还引入了一个数据相关的插值模块 deformsslice 来支持网格特征到点云的投影。
混合表示。为了进一步利用所有可用信息,提出了几种从三维扫描中学习多模态特征的方法。 Angela 和 matthias [158]提出了一个结合 rgbfeatures 和 geometric features 的联合3d 多视图网络。 利用三维 cnn 流和多个二维流来提取特征,并提出一个可微反投影层来联合融合已有的二维嵌入和三维几何特征。 此外,hung et al. [168]提出了一个统一的基于点的框架,从点云中学习二维的纹理外观、三维结构和全球背景特征。 该方法直接应用基于点的网络从稀疏采样点集中提取局部几何特征和全局上下文,不需要任何体素化。 Jaritz et al. [159]提出了多视点网络(mvpnet)来聚合二维多视点图像的外观特征和规范点云空间的空间几何特征。
4.1.2 基于点的网络
基于点的网络直接在不规则的点云上工作。 然而,点云是无序的和非结构化的,使它不可能直接应用标准 cnn. 为此,开创性的工作 pointnet [5]提出使用共享 mlps 和使用对称池函数的全局特性来学习每个点的特性。 以 pointnet 为基础,近年来提出了一系列基于点的网络。 总的来说,这些方法可以大致分为拓扑方法 mlp 方法、点卷积方法、基于 rnnbased 方法和基于图的方法。
点态 mlp 方法。
这些方法通常以 mlp 作为网络的基本单元,以提高网络的效率。 然而,共享 mlp 提取的逐点特征不能捕获点云中的局部几何形状和点之间的相互作用。 为了捕获每个点的广泛上下文并学习更丰富的局部结构,引入了多种专用网络,包括基于邻域特征池的方法、基于注意力聚合的方法和基于局部-全局特征连接的方法。
图10: pointnet + + [27]框架的示意图。
邻近特征汇聚: 为了捕获局部几何模式,这些方法通过聚合局部邻近点的信息来学习每个点的特征。 特别是,pointnet + + [27]组分层次地点,并逐步从较大的局部区域学习,如图10所示。 提出了多尺度分组和多分辨率分组的方法,克服了点云密度不均匀和密度变化的问题。
后来,江等人(114)提出了一个点筛模块来实现方向编码和尺度感知。 该模块通过三级有序卷积运算从八个空间方向对信息进行堆叠和编码。 多尺度特征的提取和连接,以实现对不同尺度的自适应。
与 pointnet + + (即球查询)中使用的分组技术不同,francis 等人利用 K平均算法和 knn 分别定义了世界空间和学习特征空间中的两个邻居。 在假设同一类别的点在特征空间中距离较近的基础上,引入成对距离损失和质心损失来进一步规则化特征学习。
为了建立不同点之间相互作用的模型,赵等人[31]提出了通过密集构造局部完全链接的网络来探索局部区域中所有点对之间的关系。 提出了一种自适应特征调整模块,实现信息交换和特征细化。 这种聚合操作有助于网络学习一种鉴别特征表示。
张等[170]在同心球壳统计的基础上,提出了一种置换不变卷积,称为 shellconv。 该方法首先对一组多尺度同心球进行查询,然后在不同的壳中使用最大池操作对统计量进行汇总,最后使用 mlps 和一维卷积得到最终的卷积输出。
Hu 等人[95]提出了一个高效、轻量级的网络,称为 randla-net,用于大规模点云处理。 该网络采用随机点采样技术,在存储和计算方面取得了显著的效果。 进一步提出了局部特征聚合模块来捕获和保存图像的几何特征。
基于注意力的聚合: 为了进一步提高分割精度,引入了拓扑云分割的注意机制[90]。 Yang 等[29]提出了一种用于建模点间关系的群洗注意模型,并提出了一种排列不变、任务不可知和可微的 gumbel 子集抽样(gss)方法来代替广泛使用的最远点抽样(fps)方法。 为了更好地捕捉点云的空间分布,chen et al. [171]提出了一个局部空间感知(lsa)层来学习基于空间布局和点云的局部结构的空间感知权重。 与 crf 类似,zhao 等[172]提出了一种基于注意力的得分细化(asr)模块,用于对网络产生的分割结果进行后处理。 初始分割结果通过聚合邻近点的得分和保留权重重新得到。 该模块可以很容易地集成到现有的深层网络中,以提高最终的分段性能。
局部-全局连接: zhao 等人[85]提出了光圈不变的 ps2-net 来从点云中合并局部结构和全局上下文。 Edgeconv [60]和 netvlad [173]被反复堆叠以获取当地信息和场景级全局特征。
点卷积法
这些方法倾向于对点云提出有效的卷积运算,华等[49]提出了一种点式卷积算子,其中相邻点被卷积成核胞,然后用核权进行卷积。 Wang 等人[174]提出了一种基于参数连续卷积层的 pccn 网络。 该层的核函数由 mlps 参数化并跨越连续向量空间。 Hughes 等[42]提出了一种基于核点卷积(kpconv)的核巧妙卷积网络(kp-fcnn)。 具体来说,kpconv 的卷积权是由到核点的欧氏距离决定的,核点的个数不固定。 核心点的位置被公式化为非球面空间的最佳覆盖最佳化问题。 注意,半径邻域用于保持一致的感受域,而网格亚采样用于每一层,以实现对不同密度的点云的高鲁棒性。 在[175]中,francis 等提供了丰富的烧蚀实验和可视化结果,显示了感受野对基于聚集的方法性能的影响。 他们还提出了一种扩张点卷积(dpc)操作来聚合扩张的邻近特征,而不是 k 个最近邻。这种操作被证明在增加感受野方面非常有效,并且可以很容易地集成到现有的基于聚合的网络中。
基于 rnn 的方法
为了从点云中获取内在的上下文特征,递归神经网络(rnn)也被用于点云的语义分割。 基于 pointnet [5] ,francis 等人[180]首先将一个点块转换为多尺度块和网格块,以获得输入级上下文。 然后,将由 pointnet 提取的分块特征按顺序输入到整合单元(cu)或循环整合单元(rcu)中,以获得输出级上下文。 实验结果表明,结合空间上下文对提高图像分割性能具有重要意义。 黄金属。 [179]提出了一个轻量级的局部依赖建模模块,利用切片池层将有序点特征集合转换为有序序列的正交向量。 Ye et al. [181]首先提出了一个点元素汇聚(3p)模块来捕捉从粗到精的局部结构,然后利用双向的加权函数来进一步获得长距离的空间依赖关系。然后应用 rnn 来实现端到端的层次学习。 为了解决刚性和静态池操作带来的问题,zhao 等[189]提出了动态聚合网络(adynamic aggregation network,dar-net) ,该网络考虑了全局场景复杂度和局部几何特征。 利用自适应感受野和节点权重对中间特征进行动态聚合。 Liu 等人[190]提出了3dcnn-dqn-rnn 用于大规模点云的高效语义分析。 该网络首先利用三维 cnnnetwork 获取空间分布和颜色特征,然后利用 dqn 对类对象进行定位,最后将连接后的特征向量输入到一个残差 rnn 中,得到最终的分割结果。
基于图的方法
为了捕捉三维点云的底层形状和几何结构,几种方法都采用了图形网络。 Loic et al. [182]将点云表示为一组相互连接的简单形状和超点,并使用属性有向图(即超点图)来捕获结构和上下文信息。 然后将大规模点云分割问题分解为三个子问题: 几何均匀划分、超点嵌入和上下文分割。 为了进一步改进分割步骤,loic 和 mohamed [183]提出了一个监督框架,将点云分割成纯超点。 这个问题是一个由邻接图构造的深度度量学习问题。 此外,还提出了图结构对比损失的概念,以帮助对象之间的边界进行识别
为了更好地捕捉高维空间中的局部几何关系,kang 等[191]提出了一种基于图嵌入模块(gem)和金字塔注意网络(pan)的 pyramnet。 Gem 模块将点云定义为一个有向无环图,并使用协方差矩阵代替欧几里得度量来构造相邻的相似矩阵。 在泛模块中使用四种不同大小的卷积核来提取不同语义强度的特征。 在文献[184]中,提出了图注意卷积(gac)算法,用于有选择地从邻域集中学习相关特征。 这种操作是通过根据不同的相邻点和特征通道的空间位置和特征差异动态分配注意力权重来实现的。 广义遗传算法可以学习获取区分特征进行分割,具有与常用的 crf 模型相似的特征。
表4: s3dis (包括5和6层交叉验证)[176] ,semantic3d (包括 semantic-8和 reduced-8子集)[9] ,scannet [8]和 semantickitti [177]数据集上的比较语义分割结果。 为了简单起见,我们省略了值后面的“% ”。 符号“-”意味着结果不可用。
4.2 实例分割(略)
4.3 零件分割(略)
4.4 总结
表4显示了现有 methodson 公共基准的结果,包括 s3dis [176]、 semantic3d [9]、 scannet [102]和 semantickitti [177]。 以下问题需要进一步研究:
•基于点的网络是最常被研究的方法。 然而,点表示自然没有明确的邻近信息,现有的基于点的方法大多采用昂贵的邻居搜索机制(例如 knn [52]或 ball query [27])。 这本质上限制了这些方法的效率,因为邻居搜索机制需要高计算成本和不规则的内存访问[214]。
•在点云分割中,从不平衡数据中学习仍然是一个具有挑战性的问题。 尽管几种方法都取得了令人瞩目的总体成绩,但他们在少数民族班的表现仍然有限。 例如,randla-net [95]在 semantic3d 的精简8子集上获得了76.0% 的总欠条,但在 hardscape 类上获得了41.1% 的非常低的欠条。
•大多数现有的方法[5]、[27]、[52]、[170]、[171]都在小点云上工作(例如,1m1m 和4096个点)。 实际上,深度传感器获取的点云通常是巨大的。 因此,有必要进一步研究大尺度点云的高效分割问题。
•一些作品[145]、[146]、[167]开始从动态点云中学习时空信息。 这些时空信息有助于提高后续任务(如三维目标识别、分割和完成)的性能。
5 总结
本文综述了当前三维理解的最新方法,包括三维形状分类、三维目标检测与跟踪、三维场景与物体分割。 对这些方法进行了全面的分类和性能比较。 综述了各种方法的优缺点,并列举了可能的研究方向。
本研究得到国家自然科学基金(61972435,61602499号)、广东省自然科学基金(2019a1515011271)、深圳市科技创新委员会、澳大利亚研究委员会(grantsdp150100294及 dp150104251)及中国船舶学会奖学金的部分资助.
参考文献。。。。。。。。。。