点云数据和深度图数据与一般的图像不同。点云是稀疏、不规则的,需要设计特殊模型提取特征。而深度图是密集紧凑,深度像素存的是3D信息,而不是RGB值。这些都是需要打破原先的常规卷积网络的固有思维,而且自动驾驶需要检测目标的实时性,推理要快,如何设计一个在点云和深度图上推理更快的模型也是一个挑战。
1、基于点的3D目标检测基于点的目标检测成功在点云上应用深度学习方法,提出了一系列框架,可以直接从原始点数据来预测3D目标。将点云通过基于点的主干网络,通过点云算子来提取点云特征,基于下采样的点和特征预测3D框。基于点的3D目标检测器主要组成部分为:点云采样和特征学习。整体流程示意图和代表性工作见下图和表。
点云采样。PointNet [208]的FPS在基于点的检测器中被广泛采用,这种检测器从原始点集中依次选择最远处的点。PointRCNN[234]是一项开创性的工作,它采用FPS逐步下采样输入的点云,并从下采样点中生成3D候选。类似的设计范式在随后的许多工作中也被采用,并进行了分割引导滤波[318]、特征空间抽样[321]、随机抽样[189]等改进。
特征学习。上下文点首先用一个预定义的查询球半径进行选择,然后上下文点和特征经过多层感知机和max-pooling,得到新的特征。其它点云操作,包括图操作、注意力操作、Transformer等。
基于点的3D目标检测器受制于特征学习中采用的上下文点数量和上下文半径。增加上下文点数量可以获得更强的表达能力,但会增加内存,在球查询中,上下文半径太小,会造成上下文信息不足,半径太大,造成3D细粒度信息丢失。
对于大部分的基于点的3D目标检测器,推理时间上的瓶颈是点云采样。随机均匀采样因为可以并行,效率最高,但激光雷达扫描点分布不均匀,随机均匀采样会对点云密度高的地方过采样,而稀疏的地方欠采样。最远点采样及其变体通过从已有的点集中依次选择最远点获得更加均匀的采样结果,但其不能并行,耗时较大,较难做到实时。
2、基于网格的3D目标检测基于网格的3D目标检测器首先将点云栅格化为离散的网格表示,即体素、柱体和鸟瞰视图(BEV)特征图。然后应用传统的2D卷积神经网络或3D稀疏神经网络提取特征。最后,可以从BEV网格中检测出3D目标。下图展示了基于网格的3D目标检测的示例,下表给出了基于网格的检测器的分类。网格检测有两个基本组成部分:基于网格的表示和基于网格的神经网络。