原创 | 文 BFT机器人
01
摘要
论文研究了室内和室外场景中基于RGBD数据的3D目标检测。论文的方法不仅仅依赖于3D方案,而是利用成熟的2D对象检测器和先进的3D深度学习进行对象定位,即使是小对象也能实现高效率和高召回。
直接在原始点云中学习,可以在强遮挡或非常稀疏的点下也能够精确地估计3D边界框。在KITTI和SUN RGB-D 3D检测基准测试中,此方法展现出显著的优势,不仅具有实时能力,而且在性能上表现出色。
02
介绍
这篇论文介绍了一种用于从RGB-D数据中进行3D物体检测的新框架,称为"Frustum PointNets"。该方法通过将深度图像转换为3D点云并利用PointNets网络处理点云数据,实现了在三维空间中对物体进行分类和定位的任务。
与以往的方法不同,该方法以3D为中心,直接在3D空间中操作点云数据,而不是将RGB-D数据视为2D地图。通过在3D坐标上连续应用变换,点云被对齐成一系列更受约束和规范的帧,使得3D几何图案更加明显,从而更容易进行3D物体检测。此外,该方法可以更好地利用3D空间的几何和拓扑结构,使得学习者可以更自然地参数化和捕获许多几何结构,如重复、平面性和对称性。
论文展示了该方法在KITTI 3D物体检测和鸟瞰图检测等基准测试中取得了领先地位。与之前的技术相比,"Frustum PointNets"在3D汽车AP上的效率提高了8.04%,运行速度高达5 fps。同时,在室内RGBD数据上,该方法在SUN-RGBD基准测试中也取得了显著的性能提升。
论文的主要贡献包括提出了新的框架"Frustum PointNets",展示了如何训练3D物体探测器并在基准测试中实现了最先进的性能,同时提供了广泛的定量评估和定性结果来验证该方法的优势和局限性。
二维目标检测器:
03
相关工作
基于RGB-D数据的3D目标检测
此节介绍了解决3D检测问题的不同方法,包括基于前视图像的方法、基于鸟瞰图的方法以及基于3D的方法。前视图像的方法利用RGB图像和形状先验或遮挡模式进行三维边界框推断,而基于鸟瞰图的方法则将LiDAR点云投影到鸟瞰图中,使用区域建议网络进行三维边界框建议。然而,这些方法在检测小物体和多物体场景方面存在一定滞后和适应性不足。
相比之下,研究人员提出了基于3D点云的方法。一些方法使用支持向量机训练手工设计的几何特征来进行3D目标分类,然后使用滑动窗口搜索定位目标。其他方法将整个场景的点云转换为体积网格,并使用3D体积CNN进行目标提议和分类。
然而,由于高昂的三维卷积成本和大的搜索空间,这些方法的计算成本较高。最近,也有一些2D驱动的3D目标检测方法,但他们使用的是手工制作的特征和简单的全连接网络,速度和性能上都不是最优的。
相较于这些方法,该研究提出了一种更灵活有效的解决方案,即使用深度3D特征学习(PointNets)。将深度数据表示为点云,并利用先进的3D深度网络(PointNets)能更有效地利用3D几何结构。这种方法在解决3D检测问题上具有优势。
点云上的深度学习
此节总结了现有的在点云处理方面的方法。大多数方法在进行特征学习之前都会将点云转换为图像或体积的形式。有些方法采用体网格方法将点云转换为体网格,并将图像CNN泛化为3D CNN。
另一些方法设计了更高效的3D CNN或神经网络架构来利用点云的稀疏性。然而,这些基于CNN的方法仍然需要对点云进行量化处理。最近出现了一些新型的网络架构,如PointNets,直接使用原始的点云数据而不进行转换。PointNets已经在单个对象分类和语义分割方面得到了应用,而本文则探索了如何将这种架构扩展应用于3D对象检测。
04
三维检测与Frustum PointNets
如图所示,三维目标检测系统包括三个模块:截锥体建议、三维实例分割和三维模态边界框估计。首先,使用二维CNN对象检测器对二维图像区域进行检测和分类。然后,将这些二维区域转换为3D截锥体提案。
对于每个截锥体内的点云(每个点具有n个点和c个通道,如XYZ坐标和强度),通过对每个点进行二值分类来分割出对象实例。根据分割后的目标点云(具有m个点和c个通道),使用轻量级回归点网(T-Net)进行平移对齐,使其质心接近模态盒(3D边界框)的中心。最后,使用盒估计网络对目标的模态三维边界框进行估计。
Frustum建议
利用二维目标检测器在RGB图像中提取二维目标区域,并对这些区域进行分类。然后,利用相机投影矩阵,将这些二维边界框提升到3D截锥体中,定义了物体的3D搜索空间。接下来,他们收集截锥内的所有点,形成一个截锥点云。
由于截锥可能朝向多个方向,点云的位置变化较大,所以为了提高算法的旋转不变性,他们通过旋转截锥体的中心轴使其与图像平面正交。这个过程被称为从RGB-D数据中提取截锥体点云的截锥体建议生成。
他们采用了基于FPN的模型,并在ImageNet分类和COCO目标检测数据集上预训练模型权重。然后,在KITTI 2D目标检测数据集上进一步微调模型权重,以分类和预测3D模态边界框。有关二维检测器训练的更多细节可在论文附录中找到。
三维实例分割
在给定一个二维图像区域及其对应的三维图像的情况下,实现三维目标检测的方法。论文指出直接在深度图上使用二维CNN回归三维对象位置并不容易,因为遮挡和混乱的情况在自然场景中很常见,可能导致严重的3D定位问题。
为了解决这个问题,论文建议在3D点云中进行实例分割,而不是在2D图像中进行。通过基于点云的圆锥体网络实现三维实例分割,然后能够实现基于残差的三维定位,预测三维边界框的中心在一个局部坐标系中。这种方法可以应对不同传感器设置下物体距离的变化。
该网络在截锥体中提取点云,并预测每个点属于感兴趣对象的概率。每个截锥体只包含一个感兴趣的对象,而其他点可能是不相关的区域、遮挡物体或位于感兴趣对象后面的实例。
网络通过学习遮挡和杂波模式,并识别某一类物体的几何形状来进行分割。在多类检测情况下,还利用2D检测器的语义信息进行更好的实例分割。经过3D实例分割后,提取被分类为感兴趣对象的点,并进一步规范化其坐标以提高算法的平移不变性。作者故意不缩放点云,以保持局部点云的实际大小,有助于框大小的估计。
三维模态边界框估计
给定分割的对象点(在3D掩模坐标中),该模块通过使用盒回归PointNet和预处理变压器网络来估计对象的面向模态的3D边界框。
论文提出了基于T-Net的学习三维对齐方法。尽管我们已经对被分割的对象点按照质心位置对齐,但发现掩模坐标框的原点可能离模态盒中心很远。
为此,论文引入了轻量级回归PointNet(T-Net),用于估计完整对象的真实中心,并通过转换坐标,将预测的中心调整为原点。T-Net的架构和训练与之前的工作类似,可以看作是一种特殊类型的空间变压器网络(STN)。与原始STN不同的是,论文采用显式监督来预测从掩模坐标原点到真实物体中心的中心残差。
对于给定3D物体坐标中的物体点云,盒估计网络用于预测给定3D物体点云中的物体的模态边界框,即使该物体的一部分不可见也能进行预测。网络架构类似于对象分类,但不再输出对象分类分数,而是输出3D边界框的参数。
在参数化3D边界框时,论文采用中心(cx, cy, cz)、大小(h, w, l)和朝向角θ(沿上轴)来表示。我们采用"残差"方法对框的中心进行估计。盒估计网络预测的中心残差与之前的T-Net中心残差和被掩点的质心结合,从而恢复绝对中心。
对于盒的大小和航向角度,我们采用之前的工作中的方法,使用分类和回归混合公式。具体来说,我们预定义了N个大小的模板和N个相等间隔角度的框。论文的模型将尺寸/角度分类到预定义的类别,并预测每个类别的残差值来调整高度、宽度、长度和角度。最后,净输出总共为3 + 4×NS + 2×NH数。
多任务损失训练
论文优化了涉及的三个网络(3D实例分割PointNet, T-Net和模态盒估计PointNet)的多任务损失。
针对最终的三维框精度进行优化,引入了一种新的正则化损失,即角损失。该损失旨在优化所有三个参数(中心、大小和方向),以获得最佳的三维框估计,特别是在IoU度量下,避免航向角度的偏离对三维框的精度产生主导影响。通过角损失的加入,可以实现对中心、大小和方向等参数的共同优化,从而提高三维框的准确度。
05
实验
实验分为三个部分。首先,比较了KITTI和SUN-RGBD上最先进的3D目标检测方法。其次,论文提供了深入的分析来验证我们的设计选择。最后,展示了定性结果,并讨论了论文方法的优势和局限性。
Frustum PointNet模型的实验结果和观察。主要观察如下:
对于合理距离内未遮挡物体的简单情况,模型输出的3D实例分割蒙版和3D边界框非常准确。
模型甚至可以从部分数据中预测正确的模态3D框,即使使用很少的点。这些结果对于人类来说,仅仅使用点云数据来注释是困难的。
在一些情况下,虽然在图像中定位具有许多附近甚至重叠的2D框的物体可能具有挑战性,但转换到3D空间后,定位变得更容易。
模型的一些失败模式表明可能需要改进的方向。例如,在稀疏点云中,姿态和大小估计可能不准确,图像特征可能有助于解决这个问题。
当一个截锥体中有来自同一类别的多个实例时,模型可能会输出混合的分割结果。如果能够在每个截锥体中提出多个3D边界框,可能可以缓解这个问题。
2D检测器有时会因为光线较暗或遮挡较强而错过目标,但三维实例分割和模态三维框估计PointNets并不局限于RGB视图建议,也可以扩展到鸟瞰图中提出的3D区域。
总的来说,该模型在许多情况下表现良好,但也面临一些挑战和改进的空间。
作者 | 淳豪
排版 | 居居手
更多精彩内容请关注公众号:BFT机器人
本文为原创文章,版权归BFT机器人所有,如需转载请与我们联系。若您对该文章内容有任何疑问,请与我们联系,将及时回应。
标签:Frustum,检测,物体,三维,RGB,PointNets,点云,方法,3D From: https://blog.51cto.com/bftrobot/6843316