0. 简介

本文介绍了基于激光雷达的4D占用补全与预测。场景补全与预测是自动驾驶汽车等移动智能体研究中的两个常见的感知问题。现有的方法独立地处理这两个问题,导致这两方面的感知是分开的。在《LiDAR-based 4D Occupancy Completion and Forecasting》中,我们在自动驾驶的背景下引入了一种新型的激光雷达感知任务,即占用补全与预测(OCF),以将这两方面统一到一个整体的框架中。这项任务需要新的算法来解决总共三项挑战:(1)稀疏到稠密重建;(2)部分到完整补全;(3)3D到4D预测。为了能够进行监督和评估,我们根据公开的自动驾驶数据集创建了一个大规模数据集,称为OCFBench。我们在数据集上分析了密切相关的现有基线模型和自己模型的性能。我们展望,本研究将激励并且呼吁在4D感知这一不断发展的重要领域内进行进一步研究。相关的代码已经在Github开源了。

图1. OCF与相关任务的区别。(a) 所有任务都以序列或单个LiDAR扫描作为输入。(b) SSC旨在在t = 0帧上进行稠密化、完整化和语义预测。(c) 点/占据预测输出场景几何运动场的稀疏和拉格朗日规范。(d) OCF以时空方式结合场景完整化和占据预测,输出密集的欧拉运动场。(d)中的颜色渐变表示z坐标。

1. 主要贡献

本文的贡献总结如下:

1)本文提出了占用补全与预测任务,其要求从稀疏的3D输入中获取空间-时间稠密的4D感知结果;

2)本文利用公开自动驾驶数据生成了一个大规模数据集,称为OCFBench;

3)本文提出了基线方法来处理OCF任务,并且基于本文数据集提供了一个详细的基准。

2. 具体方法

2.1 问题表述

我们的目标是在给定点云输入的情况下,完成并预测表示为空间-时间范围内的场景,即占据栅格。具体而言,如图2所示,我们将输入表示为连续的点云序列,表示为体素栅格P = {P_t}^0_{t=−T}。期望的输出是一系列完成的体素栅格Y = {Y_t}^T_{t=0}。每个输入和输出帧都是具有固定尺寸和相同坐标系的体素栅格,即P_tY_t ∈ {0, 1}^{H×W×L},其中二进制值0和1表示每个体素是否为空闲或占据。这里,T表示输入/输出序列的帧数,而HWL分别表示体素栅格的高度、宽度和长度维度。在深度学习的背景下,我们的目标是训练一个神经网络f_θ,尽可能地预测\tilde{Y} = f_θ(P)与真实值Y接近。
值得注意的是,这个表述与现有的点云/占据预测文献不同之处在于OCF需要预测复杂的稠密体素栅格。从统计上讲,完成的体素栅格几乎比稀疏的体素栅格多出18倍。如图1所示,这个更具挑战性的任务旨在提供对环境的全面表示,同时减轻传感器内外参数的影响。这种对环境的欧拉规范强调了对更高效和更稳健的感知的需求。

图2. OCF任务的示意图。输入以从t = -Tt = 0的稀疏LiDAR扫描序列的形式提供。输出是从t = 0t = T的稠密和完整的体素序列。颜色渐变表示每个体素的z坐标。所有点云和体素都以t = 0的坐标框架表示。黄色边界框突出显示了典型的移动物体。顶部行的图像仅用于可视化,不包含在输入中。最佳观看效果请查看彩色图。

2.2 基础算法

2.2.1PCF

我们从[11]中提出的结构中得出这个基准线,该结构是从[10]和[53]中改编而来的。我们省略了深度渲染模块,以使其与OCF问题兼容。该模型具有简单的基于卷积的编码器-解码器结构。[11]中使用的一种技术是将张量重塑并将时间维度连接到高度上,从而将4D体素张量适应于2D卷积层。请注意,我们的改编是根据OCF问题的表述进行的,利用了前面提到的损失函数。因此,它与[11]中的原始模型不能直接进行比较。

2.2.2 ConvLSTM

这是一种广泛应用于序列结构化数据的模型结构,由[18]提出,并在视频感知、预测、预测和生成等领域有着众多应用。该模型结构通过用卷积层替换LSTM模块中的线性层,将卷积神经网络和循环神经网络的优势结合起来。在我们的实现中,我们使用基本结构中的卷积块,但去除了连接步骤。我们为所有输入帧使用共享的2D卷积编码器,并将时间特征递归地馈送到LSTM模块中。

2.2.3 3D卷积

将时间维度与高度维度连接起来并不直观,因为它无法利用3D输入中的归纳偏差,并且会使模型对每个时间帧之间的关系产生困惑。相反,处理3D结构化数据的一种更直观的方法是使用3D卷积层[19]。我们通过用3D卷积层替换基本结构中的2D卷积层来实现这个结构。虽然这意味着更大的内存占用,但我们的实验证明训练过程能够适应单个GPU。

2.3 损失函数

2.3.1 BCE损失

由于每个体素的真实值为0/1(表示自由或占用),我们将训练视为每个体素的二分类任务。因此,我们采用二元交叉熵(BCE)损失进行模型训练。在批量训练过程中,损失值在每个帧上进行平均。

2.3.2 Soft-IoU损失

Soft-IoU最初在[54]中引入,主要用作评估模型预测置信度的指标。作为副作用,该指标的软性使其可微分,并可用作损失函数。所提出的损失函数为:

其中C是小批量,V是一个样本中的体素集合,y是以{0, 1}表示的真实占据情况,\tilde{y}是每个体素的预测占据概率。需要注意的是,这个损失函数不仅融合了IoU的概念,还使模型能够更自信地进行预测。在我们的实验中,我们使用BCE和soft-IoU损失的总和来训练3D卷积模型。

3. 数据整理

3.1 处理挑战和技术

3.1.1 概述

阻碍基于占用的感知发展的关键障碍之一是在现实世界中捕获真实占用的困难。虽然激光雷达传感器能够为扫描点提供准确的占用信息,但是密度与成本之间的权衡使得无法获得环境中所有物体和结构的密集占用。此外,由于传感器依赖于光探测和测距,遮挡造成了额外的挑战,特别是在自动驾驶场景中,大量动态物体导致大面积的遮挡。之前的研究[6],[16],[17]提出了一些解决这些挑战的方法。我们在下面的段落中回顾了其中一些方法,并引入了新的方法。

3.1.2 “空间-时间管道”

SemanticKITTI [15]提出了将连续的激光雷达扫描叠加在一起,以创建密集的占用网格。然而,在复杂环境中存在动态物体时,这会引入问题。如图3(a)的左侧所示,它引入了来自移动物体的”空间-时间管道”。Occ3D和SSCBench [16],[17]通过动态物体同步来弥补这个限制,该同步使用语义和实例标签来分别注册相同的物体。我们遵循这个做法,但没有使用语义标签。我们只使用实例标签和边界框来识别相同的物体。虽然由于不完美的注释而容易出现错误,但这是在没有额外注释的情况下可以实现的最佳结果。

3.1.3 未知体素

图3(b)和图2(输出的右下角)显示了另一个未知体素的问题。一些体素在聚合的帧中没有被扫描到,但被认为是自由的,而它们的占用状态实际上是未知的。我们遵循之前的工作[16],[17],运行射线投射算法来找出所有未扫描的体素,并在监督和评估中忽略它们。请注意,虽然基于先前知识的推断可能对未知体素的占用提供见解,但所提出的解决方案是确保地面真实性的最佳方式,通过最小化这些步骤产生的错误。

3.1.4 车辆的自我运动

将之前的解决方案应用于生成我们的OCFBench数据集时仍存在一个问题。如图3(c)所示,当自我车辆移动时,连续的激光雷达帧被扫描,导致外部参数发生变化。根据问题的设定,这不应该被建模。我们通过将所有输入和地面真实帧转换到与t = 0帧相同的坐标系来解决这个问题。如图3(c)的右侧所示,静态环境(如建筑物和植被)不应该在预测帧之间移动,只有动态物体应该移动

图3. 数据处理步骤。(a) 动态物体同步通过逐个注册每个物体来处理空间-时间管道。(b) 未知体素通过运行光线投射算法来处理,以找出未知体素并在监督和评估中忽略它们。(c)传感器外参的变化通过将不同的坐标框架统一到t = 0框架来进行补偿。

3.2 OCFBench数据集

3.2.1 概述

为了开发OCF模型,我们建立了一个大规模的数据集,称为OCFBench,用于训练和评估。我们利用几个现有的公共数据集进行自动驾驶感知的处理。我们对原始数据进行处理,并将其统一为相同的格式,以便更容易进行训练,并为跨领域适应的研究铺平道路。
数据集选择。我们选择了Lyft(Woven Planet)Level-5 [46]、Argoverse [48]和ApolloScape [47]数据集作为OCFBench数据集的构建基块。由于我们的数据处理步骤只需要原始数据具有实例标签和传感器姿态,因此我们可以充分利用这些数据集中的多样化数据,而不受点级语义注释不足的限制。它展示了OCF任务的可扩展性,因为它与许多公开可用的数据集兼容。在我们未来对数据集的维护中,我们还将包括广泛使用的nuScenes [43]和Waymo [44]数据集。

3.2.2 OCFBench-Lyft

Lyft Level-5数据集 [46] 最初是为开发运动预测和规划解决方案而设计的。它声称提供了超过1,000小时的驾驶数据,包括162,000个场景,但只有180个场景是公开可用的。它支持许多任务,包括语义分割、轨迹预测和模仿学习 [55]–[57]。我们利用这180个公开可用的场景,并应用我们的处理流程。我们将120个场景用于训练,30个场景用于验证,30个场景用于测试。就帧数而言,我们有14988/3631/3750个帧用于训练/验证/测试。最终的数据集总共由22,369个帧(约22k)组成。
OCFBench-Argoverse。Argoverse数据集 [48] 专门用于3D跟踪和预测。它提供了用于运动预测的轨迹数据。它激发了多个关于轨迹预测的研究 [58]–[60]。虽然Argoverse提供了一个基于高清地图的运动预测数据集,但它与我们的OCF公式不兼容。相反,我们利用由89个公开可用的片段组成的3D跟踪数据集,并将其分为50/15/24个片段用于训练/验证/测试。这样分配得到了总共13,099个帧(约13k),其中7,005个帧用于训练,2,180个帧用于验证,3,914个帧用于测试。

3.2.3 OCFBench-ApolloScape

ApolloScape数据集 [47] 支持自动驾驶研究的各种任务,包括定位、语义解析和实例分割。许多算法在该数据集上进行深度估计或语义分割的实验 [61],[62]。我们处理了其跟踪数据的52个场景,并生成了包含4,389个帧的OCFBench-ApolloScape数据集,其中训练/验证/测试场景的分割比例设置为40/6/6,结果为3,469个帧用于训练,583个帧用于验证,337个帧用于测试。

4. 参考链接

https://mp.weixin.qq.com/s/52WsoS1bOQ8BHYvu7RMo-A