1. 摘要
占据预测任务旨在预测体素化的3D环境中的占据状态,在自动驾驶领域中迅速获得了关注。主流的占据预测方法首先将3D环境离散化为体素网格,然后在这些密集网格上执行分类。然而,样本数据分析显示,大多数体素实际上是未占据的。对这些空体素进行分类需要次优的计算资源分配,并且减少这些空体素需要复杂的算法设计。为此,我们提出了一个新的视角来看待占据预测问题:将其公式化为简化的集合预测范式,无需显式的空间建模或复杂的稀疏化程序。
我们提出的框架称为OPUS,使用transformer编码器-解码器架构,通过一组可学习的查询同时预测占据位置和类别。首先,我们使用Chamfer距离损失将集合到集合的比较问题扩展到前所未有的规模,使得端到端训练此类模型成为可能。随后,使用基于学习位置的最近邻搜索自适应地分配语义类别。此外,OPUS还引入了一系列非平凡策略来增强模型性能,包括粗到细学习、一致性点采样、自适应重加权等。最终,与当前最先进的方法相比,我们最轻量的模型在Occ3D-nuScenes数据集上以接近2倍的FPS达到了更高的RayIoU,而我们最重的模型则在RayIoU上超越了之前的最佳结果6.1。
1.1 研究背景与动机
占据预测任务旨在预测体素化的3D环境中的占据状态,在自动驾驶领域中迅速获得了关注。传统的占据预测方法首先将3D环境离散化为体素网格,然后在这些密集网格上执行分类。然而,样本数据分析显示,大多数体素实际上是未占据的。对这些空体素进行分类需要次优的计算资源分配,并且减少这些空体素需要复杂的算法设计。为此,我们提出了一个新的视角来看待占据预测问题:将其公式化为简化的集合预测范式,无需显式的空间建模或复杂的稀疏化程序。
1.2 主要贡献
我们提出的框架称为OPUS,使用transformer编码器-解码器架构,通过一组可学习的查询同时预测占据位置和类别。首先,我们使用Chamfer距离损失将集合到集合的比较问题扩展到前所未有的规模,使得端到端训练此类模型成为可能。随后,使用基于学习位置的最近邻搜索自适应地分配语义类别。此外,OPUS还引入了一系列非平凡策略来增强模型性能,包括粗到细学习、一致性点采样、自适应重加权等。最终,与当前最先进的方法相比,我们最轻量的模型在Occ3D-nuScenes数据集上以接近2倍的FPS达到了更高的RayIoU,而我们最重的模型则在RayIoU上超越了之前的最佳结果6.1。
2. 引言
2.1 占据预测的重要性
占据预测是自动驾驶系统中的一个关键任务,它旨在预测3D环境中哪些区域将被物体占据。这项技术对于自动驾驶车辆的安全导航至关重要,因为它能够提供对车辆周围环境的深入理解,尤其是在视线受阻或视线之外的情况下。例如,在城市驾驶场景中,占据预测可以帮助车辆预测即将穿过路口的行人或车辆,从而提前做出决策以避免潜在的碰撞。
占据预测的重要性还体现在以下几个方面:
- 提高安全性:通过预测可能的障碍物位置,自动驾驶系统可以及时做出反应,避免事故的发生。
- 优化路径规划:准确的占据预测可以为路径规划提供更准确的环境信息,从而规划出更安全、更高效的行驶路径。
- 增强决策制定:占据预测为自动驾驶系统的决策模块提供输入,帮助系统在复杂的交通环境中做出更合理的决策。
- 提升系统鲁棒性:在面对遮挡或传感器不完整信息的情况下,占据预测可以提供额外的信息来弥补传感器的不足,增强系统的鲁棒性。
2.2 相关工作回顾
在占据预测领域,研究人员已经探索了多种方法来提高预测的准确性和效率。早期的工作主要集中在基于规则的方法和传统的机器学习技术,但随着深度学习的发展,基于深度神经网络的方法已经成为主流。
-
基于规则的方法:这些方法通常依赖于手工设计的规则和启发式方法来预测物体的占据状态。尽管这些方法在某些情况下仍然有效,但它们通常缺乏足够的灵活性和适应性,难以处理复杂和动态变化的环境。
-
传统机器学习方法:如支持向量机(SVM)和随机森林等,这些方法在占据预测的早期研究中得到了广泛应用。它们通常需要手工特征提取,这限制了模型的性能和泛化能力。
-
深度学习方法:近年来,深度学习方法在占据预测中取得了显著的进展。这些方法能够自动从原始数据中学习复杂的特征表示,显著提高了预测的准确性。例如,卷积神经网络(CNNs)已被用于从2D图像中预测物体的占据状态,而3D卷积网络则直接从点云数据中学习。
-
基于注意力机制的方法:随着注意力机制的引入,模型能够更加关注于对预测任务至关重要的区域,从而提高了预测的准确性和鲁棒性。
-
基于图的方法:图神经网络(GNNs)通过建模物体之间的拓扑关系,能够更好地理解和预测复杂场景中的占据状态。
综上所述,占据预测是一个活跃的研究领域,各种方法都在不断地发展和完善中。OPUS框架的提出,利用了transformer架构的优势,通过可学习的查询和一系列创新策略,为占据预测领域带来了新的可能性。
3. 方法
3.1 基于查询的占据稀疏化
在自动驾驶领域,占据预测任务的核心在于识别并预测3D空间中物体的占据状态。传统的占据预测方法依赖于将连续的3D空间离散化为体素网格,并在这些网格上执行分类任务。然而,这种方法存在一个显著的问题:大多数体素实际上是空的,这导致了大量的计算资源被浪费在这些空体素上。为了解决这一问题,我们提出了一种新的视角,即将占据预测问题转化为一个基于查询的稀疏化问题。
我们的方法的核心在于使用一组可学习的查询来预测占据位置和类别。这些查询不是针对每一个体素,而是针对那些可能被物体占据的区域。通过这种方式,我们可以显著减少计算资源的消耗,并且避免了复杂的稀疏化程序。具体来说,我们的方法包括以下几个关键步骤:
- 查询生成:我们首先生成一组可学习的查询,这些查询代表了3D空间中可能被物体占据的区域。
- 特征提取:对于每个查询,我们使用一个图像编码器从多视角图像中提取2D特征。
- 查询更新:通过一个稀疏解码器,我们使用相关图像特征来更新这些查询特征。
- 预测:最后,我们使用这些更新后的查询来预测占据位置和类别。
通过这种方法,我们不仅能够减少计算资源的消耗,而且还能够提高模型的预测性能。
3.2 集合预测问题公式化
将占据预测问题视为一个集合预测问题,我们的目标是设计一个有效的策略来匹配预测集合和地面真值集合。具体来说,我们定义了两个并行的目标:
- 位置准确性:我们通过Chamfer距离损失来鼓励预测的位置准确且全面。Chamfer距离是一种衡量两个点集之间距离的指标,它通过最小化预测点和地面真值点之间的距离来实现。这允许模型直接学习占据体素,而不需要知道它们的顺序。
C D ( P , P g ) = 1 ∣ P ∣ ∑ p ∈ P D ( p , P g ) + 1 ∣ P g ∣ ∑ p g ∈ P g D ( p g , P ) , where D ( x , Y ) = min y ∈ Y ∥ x − y ∥ 1 . \mathrm{CD}\left(\mathbb{P}, \mathbb{P}_g\right)=\frac{1}{|\mathbb{P}|} \sum_{\mathbf{p} \in \mathbb{P}} D\left(\mathbf{p}, \mathbb{P}_g\right)+\frac{1}{\left|\mathbb{P}_g\right|} \sum_{\mathbf{p}_g \in \mathbb{P}_g} D\left(\mathbf{p}_g, \mathbb{P}\right) \text {, where } D(\mathbf{x}, \mathbb{Y})=\min _{\mathbf{y} \in \mathbb{Y}}\|\mathbf{x}-\mathbf{y}\|_1 . CD(P,Pg)=∣P∣1p∈P∑D(p,Pg)+∣Pg∣1pg∈Pg∑D(pg,P), where D(x,Y)=y∈Ymin∥x−y∥1.
- 类别分配:尽管直接比较预测类别和地面真值类别是无效的,但我们可以通过利用体素的空间局部性来找到代理。我们为每个预测点分配其在地面真值中的最近邻体素的类别,从而确保每个预测点都能被正确分类。
{ C ^ , P ^ } = { arg { c g , p g } ∈ { C g , P g } ∥ p g − p ∥ 2 , p ∈ P } . \{\hat{\mathbb{C}}, \hat{\mathbb{P}}\}=\left\{\arg _{\left\{\mathbf{c}_g, \mathbf{p}_g\right\} \in\left\{\mathbb{C}_g, \mathbb{P}_g\right\}}\left\|\mathbf{p}_g-\mathbf{p}\right\|_2, \quad \mathbf{p} \in \mathbb{P}\right\} . {C^,P^}={arg{cg,pg}∈{Cg,Pg}∥pg−p∥2,p∈P}.
这种公式化不仅简化了占据预测问题,而且还使得端到端训练成为可能。
3.3 OPUS框架详细说明
OPUS框架的核心在于使用transformer编码器-解码器架构来处理占据预测问题。该框架包括以下几个关键组件:
- 图像编码器:我们使用一个图像编码器从多视角图像中提取2D特征。这些特征为后续的查询更新提供了必要的信息。
- 可学习查询:我们初始化一组可学习的查询,这些查询代表了3D空间中可能被物体占据的区域。每个查询都由一个位置和一个分数组成,分别表示预测的占据位置和类别。
- 稀疏解码器:通过一系列解码器,我们使用相关图像特征来更新这些查询特征。在每个阶段,预测的位置和分数都会接受真实值的监督,从而为整个框架提供端到端的训练。
- 预测模块:最后,我们使用一个包含线性层、层归一化(LayerNorm)和ReLU层的预测模块来生成语义类别和位置偏移。
C D R ( P , P g ) = 1 ∣ P ∣ ∑ p ∈ P D R ( p , P g ) + 1 ∣ P g ∣ ∑ p g ∈ P g D R ( p g , P ) , where D R ( x , Y ) = W ( d ) ⋅ d with d = min y ∈ V ∥ x − y ∥ 1 . \begin{aligned} & \mathrm{CD}_R\left(\mathbb{P}, \mathbb{P}_g\right)=\frac{1}{|\mathbb{P}|} \sum_{\mathbf{p} \in \mathbb{P}} D_R\left(\mathbf{p}, \mathbb{P}_g\right)+\frac{1}{\left|\mathbb{P}_g\right|} \sum_{\mathbf{p}_g \in \mathbb{P}_g} D_R\left(\mathbf{p}_g, \mathbb{P}\right), \\ & \text { where } \quad D_R(\mathbf{x}, \mathbb{Y})=W(d) \cdot d \text { with } d=\min _{\mathbf{y} \in \mathbb{V}}\|\mathbf{x}-\mathbf{y}\|_1 . \end{aligned} CDR(P,Pg)=∣P∣1p∈P∑DR(p,Pg)+∣Pg∣1pg∈Pg∑DR(pg,P), where DR(x,Y)=W(d)⋅d with d=y∈Vmin∥x−y∥1.
此外,OPUS框架还引入了一系列策略来增强模型性能,包括粗到细学习、一致性点采样和自适应重加权等。这些策略不仅提高了模型的预测性能,而且还增强了模型的鲁棒性。通过这些组件和策略,OPUS框架能够高效且准确地预测3D环境中的占据状态。
L
OPUS
=
C
D
R
(
P
0
,
P
g
)
+
∑
i
=
1
6
(
C
D
R
(
P
i
,
P
g
)
+
FocalLoss
R
(
C
i
,
C
^
i
)
)
,
L_{\text {OPUS }}=\mathrm{CD}_R\left(\mathbb{P}_0, \mathbb{P}_{\mathrm{g}}\right)+\sum_{i=1}^6\left(\mathrm{CD}_R\left(\mathbb{P}_i, \mathbb{P}_g\right)+\text { FocalLoss }_R\left(\mathbb{C}_i, \hat{\mathbb{C}}_i\right)\right),
LOPUS =CDR(P0,Pg)+i=1∑6(CDR(Pi,Pg)+ FocalLoss R(Ci,C^i)),
4. 实验
4.1 定量性能评估
为了全面评估OPUS框架的性能,我们在Occ3D-nuScenes数据集上进行了广泛的定量实验。这些实验旨在比较OPUS与当前最先进的占据预测方法,并展示OPUS在不同配置下的性能。
-
数据集介绍:Occ3D-nuScenes数据集是一个专为3D占据预测设计的大规模数据集,包含了丰富的自动驾驶场景。该数据集的复杂性和多样性使其成为评估占据预测方法的理想选择。
-
评估指标:我们使用了RayIoU和mIoU作为主要的评估指标。RayIoU是一个衡量沿射线方向上预测占据状态准确性的指标,而mIoU则衡量整体的类别预测准确性。
-
实验设置:我们将OPUS与包括FB-Occ和SparseOcc在内的多种先进方法进行了比较。此外,我们还测试了OPUS在不同配置下的性能,包括最轻量级和最重量级模型。
-
性能对比:实验结果表明,OPUS在RayIoU指标上超越了所有先前的方法。具体来说,OPUS的最轻量级模型在保持接近2倍FPS的同时,实现了比SparseOcc高出3.3个绝对百分点的RayIoU。而OPUS的最重量级模型则在RayIoU上达到了41.2,比之前的最佳结果高出6.1个绝对百分点。
-
效率分析:除了准确性,我们还评估了OPUS的实时推理速度。实验数据显示,OPUS在保持高准确性的同时,仍然能够实现实时推理,这对于自动驾驶应用来说是至关重要的。
4.2 可视化分析
为了进一步理解OPUS的预测性能,我们对预测结果进行了可视化分析。这些可视化结果有助于我们直观地理解模型的预测行为和性能。
-
预测结果可视化:我们可视化了OPUS预测的占据位置和类别,并将这些结果与地面真值进行了比较。可视化结果显示,OPUS能够准确地预测出3D空间中的占据区域和相应的语义类别。
-
错误案例分析:我们还分析了一些错误预测案例,以识别模型的潜在不足。这些分析揭示了模型在某些复杂场景下的局限性,并为未来的改进提供了方向。
4.3 提出策略的效果
为了验证OPUS框架中提出的策略的有效性,我们在实验中对这些策略进行了单独的评估。
-
粗到细学习:通过逐步增加预测点的数量,粗到细学习策略显著提高了模型的性能,尤其是在mIoU指标上。实验结果表明,这种策略使得模型能够更有效地学习占据表示,并提高了预测的准确性。
-
一致性点采样:一致性点采样策略通过从图像特征中采样3D点并聚合特征,提高了模型对场景的理解能力。实验数据显示,这种采样方法比传统的采样方法更能提高预测性能。
-
自适应重加权:自适应重加权策略通过调整损失函数中的权重,使模型能够更加关注错误的预测点。实验结果表明,这种策略显著提高了模型在RayIoU和mIoU指标上的性能。
综上所述,这些实验结果不仅验证了OPUS框架的有效性,还展示了所提出策略在提高占据预测性能方面的重要作用。
5. 结论
在本研究中,我们提出了一种名为OPUS的新型占据预测框架,该框架利用transformer编码器-解码器架构,通过一组可学习的查询同时预测3D环境中的占据位置和类别。OPUS框架的创新之处在于其将占据预测问题转化为简化的集合预测范式,无需显式的空间建模或复杂的稀疏化程序,从而显著提高了计算效率。
5.1 框架优势分析
OPUS框架的主要优势在于其高效的计算性能和出色的预测准确性。通过在Occ3D-nuScenes数据集上的实验,我们证明了OPUS在保持实时推理速度的同时,能够在RayIoU指标上超越现有的最先进方法。具体来说,我们最轻量的模型在接近2倍FPS的速度下达到了比现有方法更高的RayIoU,而最重的模型则在RayIoU上提升了6.1个绝对百分点。
此外,OPUS框架引入的一系列策略,如粗到细学习、一致性点采样和自适应重加权,进一步增强了模型的性能。这些策略不仅提高了预测的准确性,还增强了模型对复杂场景的适应能力。
5.2 研究贡献总结
本研究的主要贡献可以总结为以下几点:
- 提出了一种新的占据预测视角,将问题公式化为集合预测范式,简化了传统的方法,避免了显式的空间建模和复杂的稀疏化程序。
- 开发了OPUS框架,该框架使用transformer编码器-解码器架构和可学习的查询,实现了端到端的占据预测。
- 引入了有效的策略来增强模型性能,包括粗到细学习、一致性点采样和自适应重加权,这些策略在实验中显示出了显著的效果。
- 在Occ3D-nuScenes数据集上的广泛实验验证了OPUS框架的有效性,特别是在RayIoU和mIoU指标上的性能提升。
5.3 未来工作展望
尽管OPUS框架在占据预测方面取得了显著的成果,但仍有进一步改进和扩展的空间。未来的工作可能包括:
- 探索更多的数据增强和正则化策略,以进一步提高模型的泛化能力和鲁棒性。
- 研究更高效的网络架构,以实现更快的推理速度和更高的预测准确性。
- 将OPUS框架应用于更多的3D理解和场景重建任务,验证其在不同领域的有效性。
- 进一步优化模型的计算效率,使其更适合实时和资源受限的应用场景。
总体而言,OPUS框架为占据预测领域提供了一种新的解决方案,其高效的计算性能和出色的预测准确性使其成为自动驾驶和3D场景理解中一个有前景的研究方向。