【综述翻译】Deep Learning for 3D Point Clouds: A Survey

Deep Learning for 3D Point Clouds: A Survey为国防科技大学发布的综述文章,这里只翻译摘要,第一章与第三章。
下载链接:https://arxiv.org/abs/1912.12033;
仓库链接:https://github.com/QingyongHu/SoTA-Point-Cloud。
翻译第二章,戳这里

摘要

由于点云学习在计算机视觉,自动驾驶和机器人等许多领域的广泛应用,近来引起了越来越多的关注。作为AI中的主要技术,深度学习已成功用于解决各种2D视觉问题。但是,由于使用深度神经网络处理点云所面临的独特挑战,因此点云上的深度学习仍处于起步阶段。近年来,在点云上的深度学习甚至变得蓬勃发展,提出了许多方法来解决该领域的不同问题。为了激发未来的研究,本文对点云深度学习方法的最新进展进行了全面的回顾。它涵盖了三个主要任务,包括3D形状分类,3D对象检测和跟踪以及3D点云分割。它还提供了一些可公开获得的数据集的比较结果,以及有见地的观察和启发性的未来研究方向。

索引词-深度学习,点云,3D数据,形状分类,对象检测,对象跟踪,场景流,实例分割,语义分割,场景理解

随着3D采集技术的飞速发展,3D传感器变得越来越便宜可用,包括各种类型的3D扫描仪,LiDAR和RGB-D相机(例如Kinect,RealSense和Apple深度相机)[1]。这些传感器获取的3D数据可以提供丰富的几何,形状和比例信息[2],[3]。与2D图像互补,3D数据为更好地了解机器周围环境提供了机会。 3D数据在不同领域具有众多应用,包括自动驾驶,机器人技术,遥感,医疗和设计行业[4]。
3D数据通常可以用不同的格式表示,包括深度图像,点云,网格和体积网格。作为一种常用格式,点云表示将原始几何信息保留在3D空间中,而不会进行任何离散化。因此,它是许多场景理解相关应用(例如自动驾驶和机器人技术)的首选表示形式。近年来,深度学习技术已主导了许多研究领域,例如计算机视觉,语音识别,自然语言处理(NLP)和生物信息学。然而,在3D点云上进行深度学习仍然面临数个重大挑战[5],例如数据集规模小,维度高和3D点云的非结构化性质。在此基础上,本文着重分析用于处理3D点云的深度学习方法。
点云上的深度学习已吸引了越来越多的关注,尤其是在过去的五年中。还发布了一些公开可用的数据集,例如ModelNet [6],ShapeNet [7],ScanNet [8],Semantic3D [9]和KITTI Vision Benchmark Suite [10]。这些数据集进一步推动了对3D点云的深度学习的研究,提出了越来越多的方法来解决与点云处理有关的各种问题,包括3D形状分类,3D对象检测和跟踪以及3D点云分割。很少有关于3D数据的深度学习综述,例如[11],[12],[13],[14]。但是,我们的论文是第一个专门针对点云的深度学习方法的论文。此外,我们的论文全面涵盖了分类,检测,跟踪和分割等不同应用。图1显示了3D点云的现有深度学习方法的分类。
【综述翻译】Deep Learning for 3D Point Clouds: A Survey_第1张图片
图1:用于3D点云的深度学习方法分类。
与现有文献相比,这项工作的主要贡献可以归纳如下:
1)据我们所知,这是第一篇针对3D形状分类,3D对象检测和跟踪以及3D点云分割等重要点云相关任务全面涵盖深度学习方法的综述论文。
2)与现有的[11],[12]相反,我们专门关注于3D点云的深度学习方法,而不是所有类型的3D数据。
3)本文涵盖了点云上深度学习的最新和最先进的进展。因此,它为读者提供了最新的方法。
4)提供了现有方法在几个可公开获得的数据集上的全面比较(例如,表1、2、3、4),并给出了简短的摘要和有见地的讨论。

算法对比:

3D对象检测和跟踪
在本节中,我们将回顾3D对象检测,3D对象跟踪和3D场景流估计的现有方法。

3.1 3D对象检测

3D对象检测的任务是在给定场景中准确定位所有感兴趣的对象。类似于图像中的对象检测[96],3D对象检测方法可分为两类:基于区域提议的方法和single shot方法。图6展示了几种里程碑方法。
【综述翻译】Deep Learning for 3D Point Clouds: A Survey_第2张图片
图6:按时间顺序概述的最相关的基于深度学习的3D对象检测方法。

3.1.1基于区域提案的方法

这些方法首先提议几个包含对象的可能区域(也称为提议),然后提取区域特征来确定每个提议的类别标签。根据其对象提案生成方法,这些方法可以进一步分为三类:基于多视图,基于分割和基于视锥的方法。
多视图方法。 这些方法融合了来自不同视图的建议性特征(例如,LiDAR前视图,鸟瞰图(BEV)和图像)以获得3D旋转框,如图7(a)所示。这些方法的计算成本通常很高。
Chen等。 [4]从BEV地图中生成了一组高度精确的3D候选框,并将其投影到多个视图的特征图(例如LiDAR前视图图像,RGB图像)。然后,他们将这些从不同视图获得的区域特征进行组合,以预测定向的3D边界框,如图7(a)所示。尽管此方法在只有300个提议的情况下以0.25的交叉路口(IoU)召回率达到99.1%,但对于实际应用而言,它的速度仍然太慢。随后,从两个方面开发了几种方法来改进多视图3D对象检测方法。
首先,已经提出了几种方法来有效地融合不同模态的信息。为了生成对小物体具有较高召回率的3D建议,Ku等人[97]提出了一种基于多模式融合的区域提议网络。他们首先使用裁剪和调整大小操作从BEV和图像视图中提取大小相等的特征,然后使用逐元素均值合并融合这些特征。梁等[98]利用连续卷积来实现图像和3D LiDAR特征图在不同分辨率下的有效融合。具体来说,他们为BEV空间中的每个点提取了最接近的对应图像特征,然后使用双线性插值法将图像特征投影到BEV平面中以获得密集的BEV特征图。实验结果表明,密集的BEV特征图比离散图像特征图和稀疏LiDAR特征图更适合3D对象检测。梁等[99]提出了一种用于端到端训练的多任务多传感器3D对象检测网络。具体而言,可以利用多种任务(例如2D目标检测,地面估计和深度补全)来帮助网络学习更好的特征表示。进一步利用学习到的跨模态表示来产生高度准确的对象检测结果。实验结果表明,该方法在2D,3D和BEV检测任务上取得了显着改进,并且优于TOR4D基准[100],[101]上的最新技术。
其次,已经研究了不同的方法来提取输入数据的鲁棒表示。 Lu等。 [102]通过引入空间通道注意力(SCA)模块探索了多尺度上下文信息,该模块捕获了场景的全局和多尺度上下文并突出了有用的特征。他们还提出了扩展空间非采样(ESU)模块,通过组合多尺度低层特征来获得具有丰富空间信息的高层特征,从而生成可靠的3D对象建议。尽管可以实现更好的检测性能,但是上述多视图方法需要较长的运行时间,因为它们为每个建议执行特征池化。随后,Zeng等人[103]使用pre-RoI池化卷积来提高[4]的效率。具体来说,他们将大多数卷积运算移到了RoI池化模块的前面。因此,RoI卷积对于所有对象建议都执行一次。实验结果表明,该方法可以11.1 fps的速度运行,是MV3D的5倍[4]。

【综述翻译】Deep Learning for 3D Point Clouds: A Survey_第3张图片
图7:三类3D对象检测方法的典型网络。 从上到下:(a)基于多视图的(b)基于分割的方法和(c)基于视锥的方法。
基于分割的方法。 这些方法首先利用现有的语义分割技术来去除大多数背景点,然后在前景点上生成大量高质量的建议以节省计算量,如图7(b)所示。与多视图方法[4],[97],[103]相比,这些方法实现了更高的对象召回率,并且更适合于对象被高度遮挡和拥挤的复杂场景。
杨等。 [104]使用2D分割网络来预测前景像素,并将其投影到点云中以去除大多数背景点。然后,他们在预测的前景点上生成提案,并设计了一个名为PointsIoU的新标准,以减少提案的冗余性和歧义性。继[104]之后,Shi等人[105]提出了一个PointRCNN框架。具体来说,他们直接分割3D点云以获得前景点,然后融合语义特征和局部空间特征以生成高质量3D框。继[105]的RPN阶段之后,Jesus等人[106]提出了一项开拓性的工作,以利用图卷积网络(GCN)进行3D对象检测。具体来说,引入了两个模块以使用图卷积来完善对象建议。第一个模块R-GCN利用提案中包含的所有点来实现按提案的特征聚合。第二个模块C-GCN将所有提案中的每帧信息融合在一起,以通过利用上下文来回归准确的对象框。 Sourabh等[107]将点云投影到基于图像的分割网络的输出中,并将语义预测分数附加到这些点上。将绘制的点馈送到现有的检测器[105],[108],[109]中,以实现显着的性能改进。杨等[110]将每个点与球形锚点关联。然后,使用每个点的语义评分来删除多余的锚点。因此,与先前的方法[104],[105]相比,该方法以较低的计算成本实现了更高的召回率。另外,提出了一个PointsPool层来学习提议中内部点的紧凑特征,并引入了一个并行的IoU分支来提高定位精度和检测性能。实验结果表明,该方法在KITTI数据集[10]的困难集(汽车类)上明显优于其他方法[99],[105],[111],并且以12.5 fps的速度运行。
基于视锥的方法。 这些方法首先利用现有的2D对象检测器生成对象的2D候选区域,然后为每个2D候选区域提取3D视锥提案,如图7(c)所示。尽管这些方法可以有效地建议3D对象的可能位置,但分步流水操作使其性能受到2D图像检测器的限制。
F-PointNets [112]是这个方向的开拓性工作。它为每个2D区域生成一个视锥提案,并应用PointNet [5](或PointNet ++ [27])来学习每个3D视锥的点云特征,以进行模态3D框估计。在后续工作中,Zhao等人。 [113]提出了一种Point-SENet模块来预测一组比例因子,这些比例因子还用于自适应地突出显示有用的特征并抑制信息量少的特征。他们还将PointSIFT [114]模块集成到网络中以捕获点云的方向信息,从而获得了强大的形状缩放鲁棒性。与F-PointNets [112]相比,该方法在室内和室外数据集[10] [115]上均取得了显着改善。
徐等[116]利用2D图像区域及其对应的平截头体点来精确地回归3D框。为了融合点云的图像特征和全局特征,他们提出了用于框角位置直接回归的全局融合网络。他们还提出了一个密集的融合网络,用于预测每个角的逐点偏移。 Shin等[117]首先从2D图像中估计对象的2D边界框和3D姿势,然后提取多个在几何上可行的对象候选对象。这些3D候选对象被输入到框回归网络中,以预测准确的3D对象框。 Wang等[111]沿着截头圆锥体轴为每个2D区域生成了一系列截头圆锥体,并应用PointNet [5]为每个截头圆锥体提取特征。对视锥级别的特征进行了重新生成以生成2D特征图,然后将其输入到完全卷积的网络中以进行3D框估计。该方法在基于2D图像的方法中达到了最先进的性能,并在官方KITTI排行榜中排名第一。 Lehner等[118]首先在BEV图上获得了初步的检测结果,然后根据BEV预测提取了小点子集(也称为图块)。应用局部优化网络来学习图块的局部特征,以预测高度精确的3D边界框。
其他方法。 得益于轴对齐IoU在图像目标检测中的成功,Zhou等人[119]将两个3D旋转边界框的IoU集成到几个最先进的检测器[105],[109],[120]中,以实现一致的性能改进。 Chen等[121]提出了一个两阶段的网络架构,以同时使用点云和体素表示。首先,将点云体素化并馈入3D骨干网络以产生初始检测结果。第二,进一步利用初始预测的内点特征来进行box优化。尽管此设计从概念上讲很简单,但在保持16.7 fps速度的同时,可达到与PointRCNN [105]相当的性能。
受基于Hough投票的2D对象检测器的启发,Qi等[122]提出了VoteNet直接对点云中对象的虚拟中心点进行投票的方法,并通过汇总投票特征来生成一组高质量的3D对象建议。 VoteNet仅使用几何信息就大大优于以前的方法,并在两个大型室内基准(即ScanNet [8]和SUN RGB-D [115])上实现了最先进的性能。但是,对于部分遮挡的对象,虚拟中心点的预测是不稳定的。此外,冯等[123]添加了方向矢量的辅助分支,以提高虚拟中心点和3D候选框的预测精度。此外,构建提案之间的3D对象-对象关系图以强调用于精确对象检测的有用特征。 Shi等人的发现启发了3D对象的地面真相框提供对象内部零件的准确位置。 [124]提出了P art A2网络,它由部分感知阶段和部分聚集阶段组成。零件感知阶段使用具有稀疏卷积和稀疏反卷积的类UNet网络来学习点状特征,以预测和粗略生成对象内零件位置。零件汇总阶段采用RoI感知池来汇总预测零件的位置,以进行box评分和位置优化。

3.1.2 single-shot方法

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

3.2 3D对象跟踪

给定对象在第一帧中的位置,对象跟踪的任务是估计其在后续帧中的状态[135],[136]。由于3D对象跟踪可以使用点云中的丰富几何信息,因此有望克服基于2D图像的跟踪所面临的一些缺点,包括遮挡,照明和比例变化。
受到基于图像的对象跟踪的孪生网络[137]的启发,Giancola等人[138]提出了一种具有形状补全规则化的3D孪生网络。具体来说,他们首先使用卡尔曼滤波器生成候选,然后使用形状正则化将模型和候选编码为紧凑的表示形式。余弦相似度然后用于在下一帧中搜索被跟踪对象的位置。这种方法可以用作对象跟踪的替代方法,并且明显优于大多数2D对象跟踪方法,包括Staple CA [139]和SiamFC [137]。为了有效地搜索目标物体,Zarzar等人[140]利用2D孪生网络在BEV表示上生成大量的粗略候选对象。然后,他们通过利用3D孪生网络中的余弦相似度来优化候选。这种方法在精度(即18%)和成功率(即12%)方面均明显优于[138]。西蒙等[141]提出了一种语义点云的3D对象检测和跟踪架构。他们首先通过融合2D视觉语义信息生成体素化的语义点云,然后利用时间信息来提高多目标跟踪的准确性和鲁棒性。此外,他们引入了功能强大且简化的评估指标(即“标度-旋转-翻译分数(SRF)”),以加快训练和推理速度。他们提出的Complexer-YOLO提出了有希望的跟踪性能,并且仍然可以实时运行。

3.3 3D场景流估计

与2D视觉中的光流估计类似,几种方法已经开始从一系列点云中学习有用的信息(例如3D场景流,时空信息)。
刘等[142]提出了FlowNet3D,以直接从一对连续的点云中学习场景流。 FlowNet3D通过流嵌入层学习点级特征和运动特征。但是,FlowNet3D存在两个问题。首先,一些预测的运动矢量在方向上与真实情况大不相同。其次,很难将FlowNet应用于非静态场景,尤其是对于以可变形对象为主的场景。为了解决这个问题,王等人[143]引入了余弦距离损失,以最小化预测值与真实值之间的夹角。此外,他们还提出了点到平面的距离损失,以提高刚性和动态场景的精度。实验结果表明,这两个损失项将FlowNet3D的准确性从57.85%提高到63.43%,并加快并稳定了训练过程。 Gu等[144]提出了一种分层多面体格流网(HPLFlowNet)来直接估计来自大规模点云的场景流。提出了几个双边卷积层以从原始点云恢复结构信息,同时降低了计算成本。
为了有效地处理顺序点云,Fan和Yang [145]提出了PointRNN,PointGRU和PointLSTM网络以及一个序列到序列模型来跟踪运动点。 PointRNN,PointGRU和PointLSTM能够捕获时空信息并为动态点云建模。同样,刘等[146]提出MeteorNet直接从动态点云中学习表示。该方法学习从时空相邻点聚合信息。进一步引入直接分组和链流分组来确定时间邻居。但是,上述方法的性能受到数据集规模的限制。米塔尔等[147]提出了两个自监督的损失来训练他们的网络上的大型未标记数据集。他们的主要思想是,鲁棒的场景流估计方法在前向和后向预测中均应有效。由于场景流注释不可用,因此预测的变换点的最近邻居被视为伪真实值。但是,真实的真实值可能与最近的点不同。为避免此问题,他们计算了反向的场景流,并提出了循环一致性损失,以将点转换为原始位置。实验结果表明,这种自我监督方法超越了基于监督学习的方法的最新性能。

主要结果:

【综述翻译】Deep Learning for 3D Point Clouds: A Survey_第4张图片
【综述翻译】Deep Learning for 3D Point Clouds: A Survey_第5张图片

KITTI [10]基准是自动驾驶中最具影响力的数据集之一,已在学术界和工业界普遍使用。表2和表3分别显示了在KITTI 3D和BEV基准测试中,不同检测器所获得的结果。可以观察到以下几点:
基于区域提议的方法是这两种方法中研究最频繁的方法,并且在KITTI 3D测试和BEV基准测试中都大大优于单发方法。
现有的3D对象检测器有两个限制。首先,现有方法的远程检测能力相对较差。其次,如何充分利用图像中的纹理信息仍然是一个未解决的问题。
多任务学习是3D对象检测的未来方向。例如,MMF [99]学习了一种跨模态表示,通过合并多个任务来实现最新的检测性能。
3D对象跟踪和场景流估计是新兴的研究主题,自2019年以来逐渐吸引了越来越多的关注。

请各位关注公众号。更多的文章可以关注公众号查看。
【综述翻译】Deep Learning for 3D Point Clouds: A Survey_第6张图片

你可能感兴趣的:(三维点云,目标跟踪,目标检测)