论文地址:https://arxiv.org/pdf/1812.05784.pdf
代码开源:https://github.com/nutonomy/second.pytorch
摘要
点云中的目标检测是许多机器人应用中的重要方面,例如自动驾驶。在本文中,我们考虑将点云编码为适合下游检测流程的格式的问题。最近的文献提出了两种类型的编码器;固定编码器倾向于快速但牺牲准确性,而从数据中学习的编码器更准确但较慢。在这项工作中,我们提出了PointPillars,一种新型编码器,它利用PointNets来学习以垂直列(pillar)组织的点云的表示。虽然编码后的特征可以与任何标准的2D卷积检测架构一起使用,但我们进一步提出了一个精简的下游网络。广泛的实验表明,PointPillars在速度和准确性方面都比以前的编码器有着显著的优势。尽管只使用激光雷达,我们完整的检测流程在3D和俯视图的KITTI基准测试中都明显优于现有技术,甚至在融合方法中也是如此。这种检测性能是在每秒62帧的速度下实现的:运行时间提高了2到4倍。我们方法的更快版本在每秒105帧的速度下达到了现有技术的水平。这些基准测试表明,PointPillars是适用于点云中目标检测的合适编码方式。
1.引言
在城市环境中部署自动驾驶车辆(AVs)面临着一项艰巨的技术挑战。在其他任务中,AVs需要实时检测和跟踪移动物体,如车辆、行人和骑车者。为了实现这一目标,自动驾驶车辆依赖于多个传感器,其中激光雷达可能是最重要的。激光雷达使用激光扫描器测量与环境的距离,从而生成稀疏的点云表示。传统上,激光雷达的机器人技术流程通过自底向上的流程来解释这些点云,涉及背景减除,接着是时空聚类和分类。
随着深度学习在计算机视觉领域取得的巨大进步,大量的文献研究探讨了将这项技术应用于激光雷达点云目标检测的可能性。尽管这两种模态之间有许多相似之处,但存在两个关键的区别:1)点云是一种稀疏表示,而图像是密集的;2)点云是三维的,而图像是二维的。因此,从点云中进行目标检测并不简单地适用于标准的图像卷积流程。
一些早期的研究集中于使用3D卷积或将点云投影到图像中进行处理。近期的方法倾向于从俯视图(Bird’s Eye View,BEV)的角度观察激光雷达点云。这种俯视图的透视图提供了几个优势。首先,俯视图可以保留物体的尺度信息。其次,在俯视图中进行卷积可以保留局部的距离信息。如果在图像视图中进行卷积,将会模糊深度信息。
然而,俯视图往往非常稀疏,这使得直接应用卷积神经网络变得不切实际和低效。一种常见的解决方法是将地面划分为一个规则的网格,例如10 x 10 厘米,然后对每个网格单元中的点执行手工特征编码方法[2, 11, 26, 32]。然而,这种方法可能不够优化,因为硬编码的特征提取方法可能无法泛化到新的配置,除非进行大量的工程努力。为了解决这些问题,并在Qi等人开发的PointNet设计的基础上构建,VoxelNet [33]是第一个在这个领域真正进行端到端学习的方法之一。VoxelNet将空间划分为体素(voxels),对每个体素应用PointNet,然后在垂直轴上应用3D卷积中间层以合并特征,最后应用2D卷积检测架构。虽然VoxelNet的性能很强大,但推理时间为4.4 Hz,太慢无法实时部署。最近的SECOND 改进了VoxelNet的推理速度,但3D卷积仍然是瓶颈。
在本研究中,我们提出了PointPillars:一种用于3D物体检测的方法,它只使用2D卷积层进行端到端学习。PointPillars使用一种新颖的编码器,它在点云的垂直列(pillar)上学习特征,以预测物体的3D方向框。这种方法有几个优势。首先,通过学习特征而不是依赖固定编码器,PointPillars可以利用点云所表示的全部信息。此外