断其一指,无惧!ProFusion3D: 相机或者激光失效仍高效的多传感器融合3D目标检测算法

51 阅读17分钟

断其一指,无惧!ProFusion3D: 相机或者激光失效仍高效的多传感器融合3D目标检测算法

Abstract

多传感器融合在自动驾驶中的3D目标检测中至关重要,摄像头和激光雷达是最常用的传感器。然而,现有方法通常通过将两种模态的特征投影到鸟瞰视角(BEV)或透视视角(PV)来进行单视角的传感器融合,从而牺牲了高度或几何比例等互补信息。为了解决这个问题,我们提出了ProFusion3D,一种渐进融合框架,它在中间特征和目标查询级别中同时结合了BEV和PV中的特征。我们的架构通过分层融合局部和全局特征,提高了3D目标检测的鲁棒性。此外,我们引入了一种自监督掩码建模预训练策略,通过三个新的目标来提高多模态表示学习和数据效率。基于nuScenes和Argoverse2数据集的大量实验证明了ProFusion3D的有效性。此外,ProFusion3D在传感器失效时也表现出强大的鲁棒性,即使仅有一种模态可用时,仍能保持较好的性能。

代码获取:profusion3d.cs.uni-freiburg.de

 欢迎加入自动驾驶实战群

图片

Introduction

可靠的目标检测对于自动驾驶至关重要,因为它能够帮助车辆通过准确识别和定位周围的物体来安全导航环境。为了增强鲁棒性,激光雷达与摄像头的融合成为了主流范式,利用来自不同模态的互补信息。然而,由于这些模态本质上的差异,其数据分布也不同,这带来了显著的挑战。为了解决这一问题,已经探索了各种多模态融合策略,这些策略主要在以下方面存在差异:融合的表示形式(鸟瞰视角BEV或透视视角PV),以及融合的阶段(原始输入、中间特征或目标查询)。虽然使用单一表示形式可以通过将两种模态的特征映射到一个公共空间中来简化融合过程,但也会导致信息丢失,比如在BEV中的高度信息丢失,以及PV中的遮挡和透视失真。同样,在原始输入阶段进行融合可能会引入传感器噪声和无关信息。在中间特征融合时,可能会丢失模态特定的信息,而在目标查询级别进行融合则允许集成高级语义信息,但过度依赖这些信息的质量,可能会影响鲁棒性。本文提出了一种渐进式融合方法,在中间特征和目标查询级别中,同时融合BEV和PV中的特征。这种渐进的集成使得模型能够有效结合并利用不同视角和融合阶段的优势。

最近,自监督学习方法如掩码图像建模(MIM)和掩码点建模(MPM)在从大规模无标签数据中提取强表示方面取得了巨大成功,尤其是在图像和点云方面。这些方法提高了下游任务的微调表现,并改善了数据效率。这引发了一个重要的问题:类似的技术是否可以应用于汽车场景中的多模态传感器融合,以实现3D目标检测?虽然一些之前的工作已经探索了在无标签数据集上进行激光雷达-摄像头融合的预训练,但它们通常设计用于小型、密集的点云,这些点云具有室内环境中的均匀点密度。然而,这些方法并不适用于涉及较大、更稀疏和更异构数据的汽车环境。为了解决这一问题,我们提出了一种适用于稀疏室外点云的有效多模态掩码建模预训练框架。

本文提出了ProFusion3D框架,该框架执行渐进式激光雷达-摄像头传感器融合,并引入了一种新颖的自监督掩码建模预训练策略,以提高3D目标检测的性能。我们的模型在中间特征级别和目标查询级别同时融合BEV和PV中的特征。这种综合的融合策略使得我们的模型能够有效利用局部和全局特征,显著提高了3D目标检测的准确性和鲁棒性,即使在传感器故障的情况下也能保持良好的性能。

3.Method

在本节中,我们首先介绍提出的ProFusion3D框架的架构,它利用渐进融合进行3D目标检测,如图2a所示。接着我们详细介绍其主要组件:模态内外融合模块和解码器。最后,我们引入ProFusion3D的多模态掩码建模方法(见图5),并详细说明三种预训练目标。

图片

图片

3.1 ProFusion3D架构

ProFusion3D架构以LiDAR点云和多视角相机图像作为输入,使用相应的编码器对每种模态进行编码,以计算LiDAR模态的BEV(鸟瞰视角)特征图片和相机模态的PV(透视视角)特征图片。我们将属于某个视角的模态称为模态内特征。例如,对于BEV空间,图片被视为模态内特征,而对于PV空间,图片则为模态内特征。接下来,我们通过投影将图片映射到PV,将图片映射到BEV,这些映射特征被称为每个视角空间的模态外特征:图片图片。然后,我们使用提出的模态内外融合模块在每个特征空间中融合两种模态。融合后的特征图片 和图片被传递给解码器,它执行目标查询级别的融合。

LiDAR BEV到PV的映射(MBEV→PV):对于给定LiDAR BEV特征的每个像素(ib, jb),我们首先计算相应的(x, y)度量位置。接着,我们检索所有非空体素的z坐标,这些体素的BEV投影落在(x, y)中。最后,我们使用相机的外参和内参将得到的3D点投影到相机图像坐标系(ic, jc)中。

相机PV到BEV的映射(MPV→BEV):我们“抬升”相机PV特征到BEV,方法是为每个相机像素预测一个固定离散深度集上的深度分布。利用相机的内参和外参以及预测的深度分布,我们将图像PV特征转换为3D以获得体素网格图片。我们通过将图片重新排列并应用3D卷积来减少通道维度,从而将这些体素特征编码为BEV空间特征。

模态内外融合:我们提出的模态内外融合模块IIF(Fintra, Finter)以Fintra和Finter特征作为输入,这些特征分别由BEV空间的Fl_bev和Fc_bev,PV空间的Fc_pv和Fl_pv表示。具体来说,在BEV空间中,LiDAR表示模态内特征,而相机表示模态外特征;在PV空间中,情况正好相反。图2b展示了我们的融合模块架构,其中使用了两个模态内外基础单元。

第一个模态内外基础单元应用了两个连续的窗口注意力层,随后是一个带有残差连接的前馈网络(FFN),如图2c所示。更确切地说,它将Finter和Fintra连接起来以获得Funified,然后将特征图划分为大小为M×M的非重叠窗口,用于Funified和Fintra。在此过程中,Funified用于获得窗口注意力的键(Kunified)和值(Vunified),而Fintra用于获取查询(Qintra)。根据,我们添加了一个相对位置偏置B∈RM²×M² 以提供位置信息。使用这些键、查询和值矩阵在相应分区之间应用注意力,实际上构成了窗口注意力,可以定义如下:

图片

其中d是嵌入维度。之后,Funified特征通过图片的偏移操作来获取另一个窗口注意力层的键和值。前一个窗口注意力层的输出通过一个FFN层后,作为新窗口注意力层的查询。通过在保持查询特征固定的同时偏移键和值特征,我们可以创建跨窗口连接,从而有效地增加跨模态的注意力范围。然后我们应用公式(1)中定义的注意力机制,随后是另一个FFN层。

第二个模态内外基础单元与第一个单元类似,主要区别在于融合特征Funified在传递给第二单元之前,首先经过一系列卷积层处理。这种方法允许第二单元捕获全局增强的空间上下文,而第一个单元专注于捕获局部上下文。我们将这些单元的输出连接起来,形成融合模块的最终输出。

总的来说,我们的融合模块有效地整合了两种模态的特征,并以模态内特征为条件,生成全面的融合特征。这种分层方法在捕获局部模式(识别和区分对象的关键)和获得场景及对象之间关系的更广泛上下文理解之间实现了平衡。需要注意的是,我们在BEV和PV中都使用了我们的融合模块实例来融合视角特定的特征。

解码器:我们网络的解码器使用两组平行的标准transformer解码器,分别与BEV和PV中的融合特征进行交互。每组包含两个解码器层。这些独立视角特定解码器的更新查询随后被合并,并传递通过另外两个解码器层,在这里查询同时与融合的BEV和PV特征进行交互。

3D位置感知特征:在将从PV和BEV空间提取的特征传递给解码器之前,我们通过编码3D位置信息来增强它们。我们首先为每个相机i生成一个均匀间隔的网格Gi,以及一个BEV网格Gbev。我们在各自相机的视锥空间中定义图片,其中Wf是宽度,Hf是高度,Df是视锥的深度。网格中的每个点a可以表示为图片,其中图片代表相机PV(透视图)中的像素坐标,da表示深度值。最后,使用相机和LiDAR传感器之间的外部校准参数,可以计算相应的3D坐标图片

同样,在BEV网格中,任意点b可以表示为图片,其中图片是BEV特征空间中的像素位置,hb是高度值。通过将BEV像素位置乘以BEV网格的尺寸(sx, sy),可以简单地计算出相应的3D点图片。这些代表每个视图的3D点随后会被传递到一个MLP(多层感知机)网络中,并转换为3D位置嵌入(3D Positional Embeddings (PE))。融合的特征Fbev和Fpv通过一个1 × 1的卷积层处理,随后与相应视图的3D位置嵌入相加,从而生成3D位置感知特征图片图片

查询初始化: 我们首先在标准化的3D世界坐标系中以均匀分布初始化一组可学习的锚点。这些3D锚点的坐标会被传递到一个小型MLP(多层感知机)网络中,经过两层线性层处理后生成初始的对象查询Q0。

查询优化: 我们分别在每个视图中独立优化初始对象查询Q0,得到优化后的查询Qbev(用于鸟瞰图BEV)和Qpv(用于透视图PV),通过两个DETR风格的解码层进行优化。接着,我们将视图特定的分支Qbev和Qpv连接起来,得到联合查询图片,并将联合特征图片结合。我们使用两个额外的解码层来预测最终的对象类别和边界框。

在训练过程中,我们使用Hungarian算法来找到预测对象与真实对象之间的最佳匹配。对于分类任务,我们采用focal loss(焦点损失),对于3D边界框回归任务,我们采用L1 loss。

3.2 LiDAR 和多视角相机掩码建模

对于多模态掩码建模预训练,我们首先将来自多视角相机的图像进行分块,并将LiDAR的点云进行体素化处理。为简单起见,我们将这些称为“tokens”(标记),使用一种模态无关的术语。然后,我们应用一种不对称的掩码策略,随机掩盖每种模态中的tokens,其中一种模态被随机选择,其掩码率比另一种模态高。接下来,我们对未被掩码的tokens添加高斯噪声。随后,我们为这些tokens添加位置编码,并通过每个模态的编码器进行处理。接着,模态内外融合模块执行多模态融合,并在顶部添加简单的解码器,以学习三个预训练目标。图5展示了我们多模态掩码建模的流程。

掩码标记重构:我们从PV分支重建每个被掩码的图像块,并从BEV分支重建体素,以加强空间相关性的学习。对于前者,我们在被掩码像素的预测值与相应的RGB值之间使用L1损失。对于后者,我们使用Chamfer距离进行监督,该距离用于测量两组点之间的距离。

未掩码标记去噪:我们为每个未掩码的图像块和体素引入了去噪目标,以增强高频组件的学习,如细节和表面变化。对于未掩码的图像块,我们在预测噪声与实际添加的噪声之间使用L1损失。类似地,对于未掩码的体素,我们计算去噪损失,类似于Chamfer距离,真实值表示每个点实际添加的噪声。

掩码标记的跨模态属性预测:我们引入了一个跨模态属性预测任务,用于利用未掩码模态tokens中的互补信息预测被掩码tokens的属性。通过上述不对称的掩码策略,掩码率较高的模态中的被掩码tokens将有更高概率与另一模态中未被掩码的点相对应。这种设置允许我们创建一个明确鼓励模型利用未掩码tokens的跨模态信息来预测被掩码tokens属性的目标。具体来说,我们为被掩码体素中的点添加了对应像素强度的预测任务。对于被掩码的图像块,我们预测深度值。这通过利用跨模态协同作用确保了更有效的多模态表示学习。对于深度训练,我们使用深度损失。对于像素强度预测,我们将一个L1损失项添加到掩码标记重构的Chamfer距离损失中。我们在补充材料中详细列出了预训练目标的每个损失项。在预训练过程中,我们将所有单独的损失相加,以计算总的预训练损失。

4.Experiment

4.1 基准测试结果

在表1中,我们将提出的方法与其他最先进的方法在nuScenes(表1a)和Argoverse 2(表1b)数据集上的3D目标检测进行了比较。此外,对于nuScenes数据集,我们还评估了ProFusion3D的鲁棒性(表1c),研究当LiDAR或相机输入不可用时性能的影响。我们的方法在nuScenes上达到了71.1%的mAP,在Argoverse2上达到了37.7%的mAP,分别比表现最好的基准方法UniTR和CMT高出0.6%和1.6%。在这两个数据集上的持续性能提升表明,使用渐进融合最小化了信息损失,而多模态掩码建模能够学习到更丰富的多模态表示。在表1c中展示的鲁棒性评估中,我们使用鲁棒性训练策略训练了我们的模型。在相机传感器失效的情况下,我们的方法比BEVFusion高出0.9%。在LiDAR失效的情况下,它比CMT高出0.7%。虽然基准融合方法在不同传感器失效时表现出可变的鲁棒性,但我们的方法在每种情况下都始终保持较高的性能,并在接近最先进的单模态方法时表现出相对稳定的性能。

图片

4.2 消融研究

我们首先研究了多模态掩码建模流程对下游3D目标检测任务的数据效率的影响,并评估了每个预训练目标。随后,我们讨论了渐进融合方法中各个组件的影响。

图片

数据效率:使用自监督学习的主要好处之一是减少了对标注数据的需求。为了研究各种数据集大小的影响,我们使用不同的标注数据子集分别训练了两个版本的模型,其中一个模型是随机初始化的,另一个模型使用自监督目标在整个数据集上进行预训练。请参阅补充材料了解数据子集的编译策略。实验结果显示,使用多模态掩码初始化的80%数据集训练的模型优于使用100%数据训练的模型。在标注数据最少的情况下,性能提升最显著,表明在低数据设置下,多模态潜在表示学习效果最佳。此外,所有预训练模型在所有标注比例上均优于随机初始化的对照组。

预训练目标的作用:为了研究预训练目标的协同作用,我们使用不同的目标组合预训练了模型,重点研究了20%标注数据的子集。结果显示,仅使用掩码标记重构目标训练时,表现出稳固的基线,通过融合模块展示了有效的多模态表示。添加未掩码标记去噪目标后,由于增强了对噪声的鲁棒性,细节提取得到了改善,mAP增加了0.8%。跨模态标记属性预测结果提高了1.1%,进一步增强了模型利用互补模态特征的能力。结合这两个目标,mAP增加了1.5%,表明这些预训练目标的协同作用通过提高鲁棒性和跨模态理解来提升了模型性能。

两种视图空间中的融合影响:表2c展示了仅在BEV空间进行融合与在BEV和PV空间同时融合的结果。我们的模态内外融合(IIF)模块在BEV空间中的mAP比非融合对照组高出4.8%,证明了其有效性。在BEV和PV空间中执行融合进一步带来了1%的mAP提升,表明使用两个视图空间比单一视图空间能保留更多信息。

模态内外融合的重要性:为了研究模态内外注意力的影响,我们将融合模块替换为多种配置,如表2d所示。我们最初在每个视图空间中将模态内和模态外特征进行连接作为融合。接着,我们对模态内特征应用自注意力,再使用模态外特征的交叉注意力进行融合。然后我们实验使用两个连续的模态内外基础单元(见第3节),第一个单元在模态内特征上执行窗口自注意力,第二个单元在模态内和模态外特征上执行窗口交叉注意力。最终,我们使用模态内外融合(IIF)模块。结果显示,作为融合块的模态内外基础单元优于其他变体,而IIF模块实现了最佳性能,突显了局部和全局空间上下文的重要性。

视图特定解码器的必要性:表2e比较了同时与融合视图空间特征交互的视图无关解码器与我们提出的配置(视图特定解码器后跟视图无关解码器)之间的性能差异。我们配置中的更高mAP表明,直接通过目标查询进行融合会导致不平衡,BEV特征会压倒PV特征。

结论

本文的主要贡献如下:

(1) 我们提出了ProFusion3D,一种新颖的激光雷达-摄像头3D目标检测方法,该方法在不同阶段和不同视角中进行融合。
(2) 提出了一个新颖的模态内和模态间融合模块,执行视角特定特征的自窗口和交叉窗口注意力。
(3) 提出了一个用于室外激光雷达-摄像头融合方法的自监督预训练策略。
(4) 对ProFusion3D在nuScenes和Argoverse2基准数据集上的广泛评估和消融研究。

文章引用:
Progressive Multi-Modal Fusion for Robust 3D Object Detection

最后别忘了,帮忙点“在看”。  

您的点赞,在看,是我创作的动力。

AiFighing是全网第一且唯一以代码、项目的形式讲解自动驾驶感知方向的关键技术。

长按扫描下面二维码,加入知识星球。