原创 | 文 BFT机器人
3D采集技术快速发展,各类型的3D扫描仪、激光雷达及RGB-D相机等得到更多使用。3D传感器从三维数据中获取其中丰富的语义信息,结合2D图像,更好的显示出数据信息。三维数据通常可以用不同的格式表示,包括深度图像、 点云、网格和体积网格。作为一种常用的表示形式,点云表示时不需要任何离散化,保持了原始三维空间的几何信息。点云处理是自动驾驶和机器人等许多场景理解相关应用的首选表示。
近年深度学习已经在许多研究领域大放光彩,如计算机视觉、目标检测、语音识别和自然语言处理,通过深度卷积神经网络通过大规模的图像数据信息进行自我学习特征分析的表达方式,且表现出较好的准确性和鲁棒性。然而,三维点云上的深度学习仍然面临着几个重大挑战,如数据集规模小,三维点云的高维性和非结构化,深度学习主要是通过分析结构化数据中的信息不断学习。
目前处理三维点云的深度学习方法,随着更多数据集的公开使用,进一步推动了点云在深度学习领域的研究,更多的分类方式被使用,像是3D形状分类,3D对象的目标跟踪还有3D点云的分割与重建。
该文的主要贡献包括有:
(1)3D形状分类,3D目标检测和跟踪,以及3D点云分割。
(2)关注3D点云的深度学习方法,而不是所有类型的3D数据。
(3) 本文介绍了深度学习在点云上的最新进展,展示提供了最先进的方法。
(4) 在几个公开可用的数据集上提供了现有方法的综合比较分析并提出简要的总结和讨论。
图1 3D点云的深度学习方法分类
01
点云数据集分析
三维形状分类、三维目标检测和跟踪以及三维点云分割的典型数据集,本文还总结了这些数据集的属性。
对于三维形状分类,有两种类型的数据集:合成数据集和真实世界的数据集。合成数据集中的对象是完整的,没有任何遮挡和背景。对比真实世界中采集的数据集,真实的数据集容易被不同的层次遮挡和被背景噪声污染造成我们对数据集的分析。
对于三维目标的检测和跟踪,常见的室内场景和室外城市场景。室内数据集中的点云要么从密集的深度地图中转换过来,要么从三维网格中采样出来。室外城市数据集是为自动驾驶而设计的,其中物体在空间上分离得很好,这些点云是稀疏的。
表1 三维形状分类、三维目标检测和跟踪、三维点云分割数据集
02
评价指标
不同的评估指标被提出来在各种点云理解任务中测试这些方法。对于三维形状分类,总体精度(OA)和平均类别精度(mAcc,mean class accuracy)是最常用的性能标准。“OA”表示所有测试实例的平均精度,“mAcc”表示所有形状类的平均精度。
针对三维目标检测任务,使用平均精度(AP)是最常用的标准。它被计算为精确召回曲线下的面积。精度和成功度通常用于评估3D单目标跟踪器的整体性能。平均多目标跟踪精度(AMOTA)和平均多目标跟踪精度(AMOTP)是评价三维多目标跟踪最常用的标准。
对于三维点云分割,OA、平均交并比超过Union(mIoU)和平均类精度(mAcc)是最常用的性能评价标准。特别是,平均平均精度(mAP)也被作用于3D点云的实例分割的分析指标。
点云在深度学习分析中引入显式信息丢失,并变得越来越流行。需要注意的是,本文主要关注基于点的方法,但也包括少数基于多视图和基于体积的完整性方法。基于多视图的方法这些方法首先将一个三维形状投影到多个视图中,提取视图级特征,然后融合这些特征,进行精确的形状分类。
如何将多个视图级的特征聚合成一个有区别的全局表示,是这些方法面临的一个关键挑战。MVCNN是一项开创性的工作。通常将点云体素化为三维网格,然后将三维卷积神经网络(CNN)应用于体积表示上进行形状分类。Maturana等人引入了一种名为VoxNet的体积占用网络来实现鲁棒的三维物体识别。
表2 Model net上基准检测三维分类
基于点的方法:其根据各点特征学习的网络体系结构,这类方法可分为点态MLP、基于卷积、基于图、基于层次数据结构的方法等典型方法。
图2 深度学习三维形状分类
03
主要分析深度学习网络
(1)PointNet:这是一种基于点云的神经网络架构,可以直接对点云数据进行处理。它包括一个全连接层和一个最大池化层,可以对点云数据进行特征提取和分类。
主要是将点云数据转换成固定长度的向量表示,PointNet首先对每个点进行特征提取,再将所有点的特征向量进行池化从而得到一个全局的特征向量;这样子方法的特点是可以处理不同数量和顺序的点且可以处理旋转和平移不变性,因为其使用对称函数和最大池化层对点对特征进行聚合。
(2)PointNet++:这是PointNet的改进版本,它使用了一种递归的神经网络架构,可以对点云数据进行多层次的特征提取和分类。
(3)PointCNN:这是一种基于点云的卷积神经网络架构,可以对点云数据进行卷积操作。它使用了一种新的卷积核设计,可以更好地处理点云数据。具体来说,他们直接分割三维点云,获得前景点,然后融合语义特征和局部空间来获取高质量3D盒。
(4) DGCNN:这是一种基于点云的卷积神经网络架构,可以对点云数据进行卷积操作。它使用了一种动态图像池化层,可以更好地处理不同数量的点云数据。
(5)RSNet:这是一种基于点云的神经网络架构,可以对点云数据进行特征提取和分类。它使用了一种新的点云采样方法,可以更好地处理不同密度的点云数据。 为了评估这些方法的性能,论文中使用了多个公共数据集进行实验评估。例如,在3D形状分类任务中,论文使用了ModelNet40数据集,评估了不同方法的准确率和召回率。在3D点云分割任务中,论文使用了S3DIS数据集,评估了不同方法的F1分数和平均交并比(mIoU)。
此外,论文还进行了大量详细的实验分析和比较,讨论了不同方法的优缺点,在深度学习方法上取得了重大的进展。
04
三维目标检测、三维目标跟踪和三维场景流估计
三维对象检测一个典型的三维对象检测器以场景的点云为输入,在每个检测对象周围生成一个定向的三维边界框。与图像中的目标检测类似,三维目标检测方法可分为两类:基于区域提议的方法和基于单镜头的方法。常用的方案有检测包含对象的几个可能的区域,然后提取区域特征来确定每个提案的类别标签。再根据其对象建议生成方法,这些方法可以进一步分为三类:基于多视图、基于分割和基于挫折的方法。
基于分割的方法。主要是利用现有的语义分割技术去除大部分背景点,然后在前景点上生成大量高质量的建议,以达到节省计算量的目的。
图3基于区域建议的3D目标检测典型网络
有学者通过将三维点云投影到2D图像上,将激光雷达点与图像像素联系起来,并利用这种关联将RGB信息融合到3D点中,并认为三维语义分割是学习更好的表示的辅助任务。
对于目标跟踪来说,给定对象在第一帧中的位置,对象跟踪的任务是估计其在后续帧中的状态。因为三维目标跟踪可以利用点云中丰富的几何信息,因此它有望克服基于图像的跟踪所面临的一些缺点,包括遮挡、照明和尺度变化等造成影响。它是联合优化问题的话,需要考虑目标的外观和运动信息;若是在线学习的话,就使得网络不断更新模型实现适应目标。
图4两个KITTI点云之间的三维场景流分析
Gu等学者提出了一种分层的全面体晶格流网(HPLFlowNet)来直接估计大规模点云的场景流,通过几种双边卷积层来从原始点云中恢复结构信息,同时降低了计算成本。其中使用的KITTI 基准测试是自动驾驶中最具影响力的数据集之一,在学术界和工业界都被广泛使用。主要研究方向多任务学习是三维目标检测的未来发展方向之一。
作者 | 随便
排版 | 居居手
更多精彩内容请关注公众号:BFT机器人
本文为原创文章,版权归BFT机器人所有,如需转载请与我们联系。若您对该文章内容有任何疑问,请与我们联系,将及时回应。