新闻  |   论坛  |   博客  |   在线研讨会
清华大学&英伟达最新|Occ3D:通用全面的大规模3D Occupancy预测基准(2)
计算机视觉工坊 | 2023-05-20 17:23:23    阅读:571   发布文章

数据集统计

基于上述半自动标注pipeline,作者生成了两个3D占用预测数据集,Occ3D Waymo和Occ3D nuScenes。Occ3D Waymo包含798个用于训练的序列,202个用于验证的序列。它有14个已知的目标类和一个额外的GO类。Occ3D nuScenes包含600个用于训练的场景和150个用于验证的场景。它有16个GO类。下表1将作者提出的Occ3D数据集与现有数据集在各个方面进行了比较。

图片

粗略到精细占用模型

为了解决具有挑战性的3D占用预测问题,作者提出了一种新的基于transformer的模型,称为粗略到精细占有(CTF-Occ)网络。作者将在本节中详细介绍模型设计。

总体架构

下图4显示了CTF-Occ网络架构图。

图片

首先,利用图像主干网络从多视图图像中提取2D图像特征。然后,3D体素通过交叉注意力操作将聚集的2D图像特征queries到3D空间中。作者的方法涉及使用金字塔体素编码器,该编码器通过增量标注选择和空间交叉注意力以从粗到细的方式逐步改进体素特征表示。这种方法提高了空间分辨率,并细化了目标的详细几何结构,最终实现了更准确的3D占用预测。此外,作者使用了一个隐式占用****,它允许任意分辨率的输出。

粗略到精细体素编码器

与3D目标检测相比,3D占用预测任务涉及对更复杂的目标几何结构进行建模。为了说明这一点,作者的方法在不压缩高度的情况下预先服务于3D体素空间。最初,作者采用形状为H×W×L的可学习体素嵌入来将多视图图像特征聚合到3D网格空间中。然后,作者堆叠多个CTF体素编码器,以实现多尺度交互。每个金字塔级别的每个体素编码器由三个组件组成:增量标注选择模块、体素空间交叉注意力模块和卷积特征提取器。

增量token选择: 如前所述,预测3D占用任务需要详细的几何表示,但如果所有3D体素标注都用于与多视图图像中的感兴趣区域交互,这可能会导致显著的计算和内存成本。考虑到场景中大多数3D体素网格都是空的,作者提出了一种增量标注选择策略,该策略在交叉注意力计算中选择性地选择前景和不确定的体素标注。这种策略能够在不牺牲精度的情况下实现快速高效的计算。具体地,在每个金字塔级别的开始,每个体素token被馈送到二元分类器中,以预测该体素是否为空。作者使用二进制真值占用图作为监督来训练分类器。在作者的方法中,选择K个最不确定的体素标注用于后续的特征细化。有三种方法可以定义K个最不确定的体素:概率接近0.5的体素,得分最高的K个非空体素,或具有特定百分比的两种体素的组合。消融研究表明,在早期选择前景体素是一种更理想的选择。

空间交叉注意力: 在金字塔的每个级别,作者首先选择前K个体素标注,然后聚合相应的图像特征。特别地,作者应用空间交叉注意力来进一步细化体素特征。3D空间交叉注意力定义为:

图片

其中i,j是相机视图和参考点的索引。对于每个选定的体素标注查询,投影实现以获得第i个图像上的第j个参考点。F表示第i个相机视图的特征。作者计算与位于p=(x,y,z)处的查询对应的参考点的真实世界位置(x′,y′,z′)为:

图片

其中H,W,L是当前金字塔级别的3D网格空间形状,s是体素网格的大小。

卷积特征提取器: 一旦作者将可变形的交叉注意力应用于相关的图像特征,就开始更新前景体素标注的特征。然后,使用一系列堆叠卷积来增强整个3D体素特征图中的特征交互。在当前级别结束时,作者使用三重线性插值对3D体素特征进行上采样。整个过程可以描述为:

图片

隐式占用****

CTF体素编码器生成体素化特征输出,然后将体素特征输入到多个MLP中,以获得最终的占用预测′,其中C′是语义类的数量。此外,作者介绍了一种隐式占用****,它可以通过利用隐式神经表示提供任意分辨率的输出。隐式****被实现为MLP,该MLP通过两个输入输出语义标签:体素编码器提取的体素特征向量和体素内部的3D坐标。该过程可以描述为

图片

损失函数

为了优化占用预测,作者使用OHEM[30]损失进行模型训练,,其中表示第k类的损失权重、标签和预测结果。此外,作者使用二进制体素掩码来监督每个金字塔级别中的二进制分类头。二进制体素掩码是通过使用处理每个空间分辨率si下的尾数占用标签来生成的,并且第i级中的二进制分类头的输出表示为pi。二元分类的损失定义为,其中i表示第i个金字塔级。最后,总损失为

实验实验设置

数据集: Occ3D Waymo总共包含1000个公开可用的序列,其中798个场景用于训练,202个场景用于验证。场景范围沿X轴和Y轴设置为-40米至40米,沿Z轴设置为-5米至7.8米。Occ3D nuScenes包含700个训练场景和150个验证场景。X轴和Y轴的占用范围定义为-40米至40米,Z轴为-1米至5.4米。作者选择0.4m的体素大小在两个数据集上进行实验。

架构: 作者使用在FCOS3D[36]上预训练的ResNet-101[13]作为图像主干,对于Occ3D Waymo,图像大小被调整为(640×960),对于Occ3D nuScenes,图像大小调整为(928×1600)。除了z轴的分辨率外,作者对两个数据集采用了相同的CTF-Occ网络架构设置。体素嵌入的形状是(200×200),具有256个通道。体素嵌入将首先通过四个编码器层,而不进行token选择。Occ3D Waymo数据集有三个金字塔级,每个级的z轴分辨率分别为8、16和32。Occ3D nuScenes数据集的每个阶段的z轴分辨率分别为8和16(对于两个金字塔阶段)。每个阶段包含一个SCA层,并且对于所有金字塔阶段,增量token选择策略的top-k比率都设置为0.2。

作者还将两个主流BEV模型——BEVDet[14]和BEVFormer[18]扩展到3D占用预测任务。作者用CTF-Occ网络中采用的占用****取代了他们原来的检测****,并保留了他们的BEV特征编码器。根据他们的原始设置,作者采用从FCOS3D[36]检查点初始化的ResNet101 DCN作为图像主干。

实施细节: 作者使用AdamW优化器[23]和余弦学习速率调度器,学习速率设置为2e-4。除非另有规定,否则所有模型都训练了24个epoch进行比较,8个epoch进行消融研究。

6.2.与以前的方法进行比较

Occ3D nuScenes: 下表2显示了与Occ3D nuScenes数据集上的相关方法相比,3D占用预测的性能。可以观察到,在IoU度量下,作者的方法在所有类中的性能都比以前的基线方法好。这些观测结果与Occ3D Waymo数据集中的观测结果一致。

图片

Occ3D Waymo: 作者将CTF-Occ网络的性能与新提出的Occ3D Waymo数据集上最先进的模型进行了比较。结果如下表4所示。作者的方法比以前的方法有显著的优势,即将mIoU增加了3.11。特别是对于一些小目标,如行人和自行车,方法分别超过基线方法4.11和13.0 IoU。这是因为作者在不压缩高度的情况下捕捉3D体素空间中的特征,这将保留目标的详细几何结构。结果表明了作者的从粗到细体素编码器的有效性。

图片

消融研究

在本节中,作者消融了增量token选择和OHEM损失的选择。结果如下表3所示。CC代表交通锥,PED代表行人。作者专注于CC和PED,以验证作者在小目标上实现。这两种技术都能提高性能。使用OHEM损失和top-k token选择可产生最佳性能。如果没有OHEM损失,作者只能得到10.06 mIoU。将OHEM损失与随机token选择策略相结合,可实现14.75 mIoU。使用OHEM损失的不确定token选择策略可实现17.37mIoU。对于token选择,不确定选择和前k选择不相上下,它们显著优于随机选择。

图片

定性结果

作者将CTF-Occ网络输出与图5中Occ3D Waymo数据集上的最先进方法BEVFormer Occ进行了比较。作者可以看到,CTF-Occ网络输出了比BEVFormer-Occ结果更详细的体素几何结构。此外,作者的体素****能够以任何分辨率产生输出,而不受真值数据分辨率的限制。

图片

结论

作者提出了Occ3D,一个用于视觉感知的大规模3D占用预测基准。该基准测试包括一个数据生成协议、两个数据集和用于该任务的模型CTF-Occ网络。它们都将开源,以促进未来的研究。研究表明,语义占用为目标提供了更具表现力和丰富的表示。此外,它提供了已知和未知目标的统一表示,这对户外自动驾驶感知至关重要。除了直接使用外,这个基准为未来的研究开辟了几个途径。例如,将实例ID添加到语义体素将从本质上改变任务为全景分割,并提供更丰富的信息。

参考

[1] Occ3D: A Large-Scale 3D Occupancy Prediction Benchmark for Autonomous Driving

开源地址:https://tsinghua-mars-lab.github.io/Occ3D/


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客