多传感器融合对于自动驾驶中的精确3D目标检测至关重要,摄像头和激光雷达是最常用的传感器。然而,现有方法通过在鸟瞰视图(BEV)或透视视图(PV)中投影两种模式特征来实现传感器融合,从而牺牲了互补信息,如高度或几何比例。
为了解决这一限制,作者提出了ProFusion3D,这是一个逐步融合框架,将BEV和PV中的特征在中间层和目标 Query 层进行组合。
作者的架构层次地将局部和全局特征融合,增强了3D目标检测的鲁棒性。
此外,作者引入了一种自监督的 Mask 建模预训练策略,通过三个新颖的目标来提高多模态表示学习效果和数据效率。
在nuScenes和Argoverse2数据集上的大量实验结果证实了ProFusion3D的有效性。此外,ProFusion3D对传感器故障具有鲁棒性,在只有一个模态可用时表现出强大的性能。
1 Introduction
可靠的目标检测对自动驾驶至关重要,因为它使车辆能够通过准确识别和定位其周围环境中的物体安全地导航[1,2]。为了提高鲁棒性[3],激光雷达-摄像头融合已成为主导范式,利用不同模态的互补信息。然而,这些模态固有的不同性质导致了不同数据分布,这给实现这一目标带来了巨大挑战。
为了解决这一局限性,已经探索了各种多模态融合策略,这些策略在融合表示和融合阶段上有所不同:鸟瞰视角(BEV)或透视视角(PV),以及融合的 Level :原始输入、中间特征或物体 Query 。
虽然使用单一表示简化了融合,将两种模态的特征映射到同一空间,但这也导致了信息损失,如BEV中的高度信息以及PV中的遮挡和视角失真。
同样,在原始输入阶段进行融合会导致传感器噪声和无关信息的引入。
在中间特征融合中,特定模态的信息可能丢失,而物体 Query Level 的融合则允许将高级语义信息集成,但这一过程严重依赖于信息的质量,可能会影响鲁棒性。在本文中,作者提出了一种渐进融合方法,在BEV和PV的中间特征和物体 Query Level 将每个模态的特征进行融合。这种逐步集成使得模型能够有效地结合和利用不同视图和融合阶段的优点。
近期,自监督学习方法如Mask Image Modeling(MIM)[8, 9]和Mask Point Modeling(MPM)[10, 11]在从大规模无标签数据中提取图像和点云的强大表征方面取得了巨大成功。这些方法在微调下游任务时提高了性能,并提高了数据效率[12]。
这引发了一个重要问题:是否可以将类似的技术应用于自动驾驶中的多模态传感器融合以进行3D目标检测?尽管一些先前的研究[13, 14]探索了在无标签数据集上使用激光雷达-相机融合进行预训练,但它们通常针对小而密集的点云,具有典型的室内环境中的均匀点密度。
然而,这些方法并不适用于汽车设置,因为汽车设置涉及更大、更稀疏和更异质的数据[15]。为解决这个问题,作者提出了一种针对稀疏户外点云的有效多模态mask建模预训练框架。
在本文中,作者提出了一种名为ProFusion3D的框架,该框架执行分阶段的LiDAR-相机传感器融合,并采用一种新颖的自我监督 Mask 建模预训练策略,以增强3D目标检测的性能。作者的模型在BEV和PV上,中间特征层和目标 Query 层之间融合特征,实现全方位融合。这种全面的融合策略使得作者的模型能够有效利用局部和全局特征,显著提高3D目标检测的准确性和鲁棒性,即使传感器出现故障也是如此。
本文的主要贡献可以总结如下:
(1)作者提出了一种名为ProFusion3D的新颖方法,用于LiDAR-相机3D目标检测,该方法在不同阶段和不同视图下进行融合。
(2)一种新颖的跨内参-内参模式融合模块,该模块对特定视图的特征进行联合自和交叉窗口注意力。
(3)一种用于户外LiDAR-相机融合方法的自我监督预训练策略。
(4)在nuScenes和Argoverse2基准测试上,对ProFusion3D进行广泛的评估和消融研究。
(5)作者在http://profusion3d.cs.uni-freiburg.de公开发布代码。
2 Related Work
单模态3D目标检测
:对于基于相机的3D目标检测,一些方法通过深度估计或使用 Frustum 网格将2D特征提升到3D空间,而其他方法则使用检测 Transformer 将图像视图映射到3D空间。激光雷达(LiDAR)检测器将点云转换为类似于 Voxel 、柱 [24] 或范围图像 [25] 的表示,处理方式类似于2D检测器。
多模态3D目标检测:
由于其优越的性能,LiDAR和相机的融合在3D目标检测方面引起了广泛关注。现有的3D检测方法通常在三个阶段之一(原始输入、中间特征或目标 Query )上进行多模态融合。输入融合[4, 5]将3D点云与相机的2D特征相结合。
例如,PointPainting[4]使用来自2D实例分割网络的类别得分或语义特征[26, 27]。另一方面,在中间特征 Level 的融合[6, 28, 29]将两种模态映射到共享的表示空间。
最后,目标 Query 融合方法[7, 30, 31, 32]通过提出聚合多模态特征或通过与检测Head中的相机特征进行两阶段交互来精炼来自高响应LiDAR区域的 Query 。在本工作中,作者通过渐进式融合方法利用中间特征融合和目标 Query 融合的优势。
Mask 图像/点云模型构建:
在 Mask 语言建模方法的成功基础上[33, 34],类似的技术在图像领域[8, 9]中得到了应用。在这些方法中,MAE 脱颖而出,因为它可以直接 Mask 随机图像块并使用它们的像素值作为重建目标。同样,几种方法已经将这些技术应用于点云领域。Point-BERT [10] 和 Point-MAE [11] 利用 Mask 和重建输入的一部分的 BERT 风格预训练来对点云进行预训练。
然而,这些方法通常关注小而密集的点云。Voxel MAE [15] 和 Occupancy-MAE [35] 将 MAE 方法应用于处理稀疏点云(如室外自动驾驶场景中的 3D 目标检测常见),从而实现多模态 Mask 建模。尽管在单模态遮码自编码器方面已经进行了大量工作,但据作者所知,尚无将激光雷达和多视图相机模态通过多模态 Mask 建模集成到汽车设置中的方法。
作者的工作通过开发一个学习丰富多模态表示的框架来弥合这一差距,从而提高数据效率。特别是,作者提出了新的预训练目标,即去噪和跨模态一致性,以增加鲁棒性并强制跨模态信息共享。
3 Method
在本节中,作者首先提出了作者提出的ProFusion3D框架的结构,该框架利用渐进融合进行3D目标检测,如图1(a)所示,然后作者详细介绍了其主要组件:交互内插融合模块和解码器。最后,作者介绍了ProFusion3D的面向多模态的 Mask 建模公式(图5),并详细介绍了三个预训练目标。
ProFusion3D Architecture
作者提出的ProFusion3D架构接受LiDAR点云和多视图摄像头图像作为输入,为每个输入编码相应的编码器,计算LiDAR模态的
BEV特征和摄像头模态的
PV特征。作者将视角本来的模态称为内模态。因此,在BEV空间中,
被认为是内模态,而在PV空间中,
是内模态。接下来,作者通过将
映射到PV和将
映射到BEV来执行跨视图映射,并将这些映射特征称为每个视图空间的跨模态特征:
和
。然后,作者利用提出的内内融合模块在每个特征空间中融合两种模态。得到融合特征
和
,并将其输入解码器,该解码器执行目标 Query Level 的融合。
使用这些键、 Query 和值矩阵在相应的分区间之间应用注意力,可以构成窗口自注意力,并可以定义为:
首先,
是嵌入维度。然后,通过将
特征向量左移
,可以得到另一个窗口自注意力层的关 Key和Value 。上一个窗口自注意力的输出,经过一个 FFN 层,作为这个新窗口自注意力层的目标。通过在保持 Query 特征不变的情况下,移动关 Key和Value 特征,作者可以创建一个跨窗口连接,从而有效增加跨模态注意力范围。然后,作者应用定义在方程(1)中的注意力机制,并经过另一个 FFN 层。
第二种基础单元与第一种单元类似,主要区别在于,在处理融合特征
之前,会先经过一系列卷积层进行处理。这种方法使得第二种单元能够捕捉到全局丰富的空间上下文,而第一种单元则专注于捕捉局部上下文。作者将这些单元的输出进行拼接,形成融合模块的最终输出。
总体而言,作者的融合模块有效地整合了两种模态的特征,基于内模态特征进行条件化,从而生成全面的融合特征。这种层次方法在捕捉局部模式(这对于识别和区分物体至关重要)和获得场景的更广泛上下文理解以及物体之间的关系之间取得了平衡。请注意,作者在BEV和PV中均使用了作者的融合模块来融合视角特定的特征。
解码器
:作者网络的解码器利用了两个并行的标准Transformer解码器组 [37] 来分别与BEV和PV中的融合特征进行交互。每个组都包括两个解码层。来自这些个别视图特定解码器的更新 Query 然后被合并并经过两个额外的解码层,在这些解码层中, Query 同时与融合的BEV和PV特征进行交互。
在将提取的PV和BEV空间中的特征传递给解码器之前,作者对它们进行编码3D位置信息的增强。首先为每个相机生成一个均匀间隔的网格
,以及一个BEV网格
[20]。类似于[20],作者在每个相机的面片空间中定义
,其中
是宽度,
是高度,
是面片的深度。网格中的每个点
可以表示为
,其中
表示第i个相机PV中的像素坐标,
表示深度值。最后,通过分别相机和激光雷达传感器之间的外参校正,可以计算出相应的3D坐标
。类似地,BEV网格中的任何点
可以表示为