三维目标检测对于自动驾驶至关重要,它利用LiDAR点云获取精确的深度信息,并结合相机图像获取丰富的语义信息。因此,融合这两种模态的多模态方法能够提供更鲁棒的检测结果。
然而,由于领域差异,高效融合LiDAR点云和图像仍然是一项挑战。此外,许多模型的性能受限于高质量标注数据的数量,而生成这些数据成本高昂。
近期在基础模型方面的进展——这些模型通过在不同模态上进行大规模预训练——使得多模态融合效果更佳。
结合高效的 Prompt 工程技术,作者提出了 Prompt 基础三维检测器(Prompted Foundational 3D Detector,简称PF3Det),该检测器整合了基础模型编码器和软 Prompt,以增强LiDAR-相机特征融合。
在训练数据有限的情况下,PF3Det实现了当前最优结果,在nuScenes数据集上将NDS指标提升了,mAP指标提升了,展现了其在三维检测中的高效性。
1. 引言
三维目标检测是自动驾驶领域的一项关键任务,涉及在三维空间中对物体进行定位和分类,这与在二维视觉数据中对物体进行分类和定位的二维目标检测[36][37][58][59]有所不同。激光雷达点云提供了精确的深度信息。早期的激光雷达仅方法如VoxelNet[64]取得了令人满意的结果。然而,点云的Sparse性使得检测小型或远距离物体变得困难。相比之下,来自摄像头的分辨率高的图像提供了丰富的语义细节,但摄像头仅数据缺乏精确的距离信息,这也是它们通常无法达到激光雷达仅方法性能的原因。Wang等人[46]发现深度预测误差占摄像头仅模型的总体误差的20%。因此,激光雷达和摄像头的互补优势使得多模态检测成为一种更鲁棒的解决方案。
由于基于LiDAR的方法在性能上优于基于相机的方法,主流方法基于LiDAR检测器,并尝试将相机模态的额外信息融合到LiDAR模型中。多模态检测的主要挑战是如何高效融合两种模态。一些多模态检测器尝试建立点与像素之间的对应关系,并从3D数据点 Query 丰富的相机特征[3, 30, 31]。然而,不匹配的数据密度不可避免地导致2D信息的丢失。另一种视觉LiDAR检测器的范式首先估计2D数据的深度,然后将2D像素提升到3D空间[21, 32, 54]。这些方法通过整合更多来自2D数据的信息提高了预测质量。然而,将2D像素提升到3D需要深度估计,这仍然容易产生误差[46]。此外,两种不同模态的特征空间没有对齐,从而在检测前削弱了最终特征图的效果。
现有方法面临的另一个挑战是它们严重依赖于大量且高质量的标注。标注单个场景需要大量工作,这使得在机器人、自动驾驶等应用中进行大规模标注变得不切实际。即使使用现有数据集,Gao等人[12]也表明最先进模型 (SOTA) 的性能受限于数据量。在工业领域情况更为严重,因为许多数据集不能用于商业用途。因此,提供一种数据高效的3D检测器至关重要。
近年来,多模态基础模型的发展取得了显著进展,这些模型在大型数据集上进行训练,并可用于广泛下游任务[1,19,23,43,51]。它们的成功主要归功于大语言模型 (LLMs) 的能力,这使得模型能够在数据上进行大规模扩展。LLMs在噪声网络规模数据上的训练启发了其他模态的训练[43]。这些模型如GPT-3[4],拥有数十亿参数,在零样本和少样本学习中展现了令人印象深刻的性能,无需特定任务数据或参数更新即可取得优异结果。这一成功促进了视觉模型训练到LLMs的特征空间。CLIP利用与LLMs的对比预训练生成模型,展现出有前景的零样本分类和检测性能[43]。更多模态很快加入了基础模型家族,例如ULIP[53]提出了一种创建语言、图像和点三元组数据的方法,并发布了一个点编码器,该编码器学习将点云编码到统一的特征空间中,并使用CLIP。3D-LLM[16]使用自然语言与3D场景进行交互。显然,组合特征编码器能够更有效地融合不同模态的特征。
为了将预训练网络适应下游任务,Prompt 工程是一个有前景的研究方向。基础模型拥有庞大的参数量,超过数十亿个参数[35]。当数据与计算资源有限时,高效微调基础模型变得不切实际[2]。软 Prompt 是张量,在训练过程中可以微调,同时保持其他模型权重不变。它能够适应不同任务,而无需改变原始权重,这有助于保留基础模型的能力。VPT[20]在基于ViT的模型的[10]不同层引入了一组视觉块。
受基础模型能力的启发,作者提出了 Prompted Foundational 3D Detector (PF3Det),这是一种视觉LiDAR 3D检测器,如图1所示。它采用基础模型的编码器来帮助从不同模态中提取对齐的特征图。多模态软 Prompt 被插入多个层级,以协助相机和LiDAR特征的融合。PF3Det在高效3D检测方面实现了SOTA性能。根据作者的实验,在nuScenes数据集[5]上,PF3Det在有限的训练数据情况下,将nuScenes检测分数 (NDS) 提高了1.19%,mAP提高了2.42%。
作者的贡献可以总结如下:
作者提出了PF3Det,一种视觉LiDAR三维检测模型架构,能够在少量可用数据的情况下高效学习预测高质量的三维物体。为了实现高效学习,作者提出的PF3Det采用多模态基础特征,并通过在鸟瞰视图 (BEV) 阶段引入用于卷积层的软 Prompt 来桥接模态域差距。
作者提出的PF3Det在有限训练数据的三维目标检测任务上取得了SOTA性能。作者进行了广泛的实验以探索不同设置,并提供关于如何选择模型参数的指导。
2. 相关工作
2.1. 3D视觉LiDAR检测
三维视觉-LiDAR检测[3, 29, 32, 52, 63]在自动驾驶和High-Level机器人领域越来越受欢迎,利用了相机和LiDAR传感器的互补优势。LiDAR提供精确的三维空间感知能力,而相机提供丰富的颜色和纹理细节。传感器融合技术通常可以分为三类:早期融合、中期融合和后期融合。这些分类基于相机和LiDAR特征融合的时间点。早期融合首先从二维相机中提取信息,然后在LiDAR数据添加信息之前将其传递给LiDAR检测器。Frustum PointNets[41]使用二维检测器生成二维边界框 (bbox) Proposal,然后使用这些二维bbox生成框架 Proposal,以帮助三维点云分割。Du等人[11]提出了类似的基于框架的方法,但在后期阶段,实现了一个模型拟合算法,使用通用目标模型来细化点分割。PointPainting[45]首先在二维图像上运行像素级分割,并通过像素到点的关联将像素标签传递给每个点。然而,早期融合方法通常是顺序执行的,这会增加延迟[38]。
后期融合发生在图像分支和点分支分别生成二维和三维bbox之后,这意味着基于图像和基于点的模型可以并行运行。Pang等人提出了CLOCS[39],它将二维和三维检测候选转换为Sparse张量,并从Sparse张量生成最终结果。然而,后期融合没有提供两种模态的High-Level集成,失去了来自其他传感器的丰富语义特征。
中期融合指的是在早期融合和后期融合之间任何阶段发生的融合方法,例如在 Backbone 阶段[44, 49]、在 Proposal 生成阶段[7, 25]等。这种类型的检测器能够实现两种模态的更深层次集成,生成更高质量的特征,并见证了许多SOTA三维检测器[21, 22, 55]。但一个挑战是相机和LiDAR传感器数据是异构的,如果融合不当,甚至会导致噪声。TransFusion[3]提出了软关联来更好地对齐这两个传感器的数据。MSMDFusion[21]设计了两个模块,多深度反投影 (MDU) 和门控模态感知卷积 (GMA-Conv),以创建相机和LiDAR特征之间的对齐和深度融合。
2.2. 多模态大语言模型
多模态大语言模型 (MLLMs) 旨在实现跨多种模态的全面理解,包括音频[18]、图像[43]、点云[27, 53]等。对于视觉数据,通常采用视觉Transformer[10][61][60]作为视觉编码器。其核心动机在于整合语言模态可以显著增强模型解释不同输入模态间复杂交互的能力[28, 51]。一种方法利用对比学习将不同模态的表征对齐到联合特征空间[43, 53]。
例如CLIP[43]和ALIGN[19]等显著模型已展示出令人印象深刻的零样本泛化能力,推动了各类应用的发展。例如PointCLIP[57]利用CLIP实现零样本3D多视角分类。另一种方法将语言作为与其它模态交互的工具,实现人与深度学习模型间的多样化交互[53]。
据作者所知,鉴于多模态大语言模型 (MLLM) 的能力,即使存在像Meta Transformer [62]这样能够对包括3D点云在内的多种模态进行对齐的模型,目前还没有基于MLLM辅助的3D视觉激光雷达检测模型。然而,这些MLLM目前仅对齐室内点云中的简单物体,这些物体的点云比激光雷达3D扫描更加密集和一致。从经验上看,很难弥合这些3D点数据之间的领域差距,这也是目前尚无此类方法的主要原因。
2.3. Prompt 工程
Prompt 工程是一种新兴且前景广阔的方法,用于弥合通用基础模型与下游任务之间的领域差距[26]。当大型基础模型展现出适应广泛应用的能力时[20],这种技术获得了流行。与常规微调相比,常规微调中基础模型的知识有灾难性遗忘的风险,而 Prompt 工程可以保持原始基础模型不变[50],并在许多领域被证明是有效的。一般来说,Prompt 工程可以分为两类:硬 Prompt 和软 Prompt。硬 Prompt 微调涉及手动设计的、人类可解释的输入,有时以文本形式呈现[16, 42]。
例如,指令 Prompt 使用明确的指令来指导模型生成期望的响应[16, 42]。这种方法减少了歧义,并增强了模型生成准确且相关结果的能力。在需要快速适应的情况下,常使用情境学习[4, 9]。这种方法使基础模型能够通过向模型展示少量示例或 Prompt 来泛化到特定任务,而思维链 Prompt 将复杂任务分解为 Prompt 中的一系列更简单的步骤或指令,允许模型按顺序处理和解决每个步骤[48]。作者建议读者参考这些综述论文[13, 26]以获取更多细节。
这类方法需要精心设计的 Prompt,通常较为费时[13]。另一方面,软 Prompt 微调使用可学习参数[17, 26, 35]。它是一种通过修改输入 Prompt 而不是直接调整模型参数来微调大语言模型 (LLMs) 的有效方法。当计算资源或 Token 数据有限时,这种方法尤其有益[13]。这些 Prompt 向量可以直接添加到输入或任何模型层中[20]。在微调过程中,预训练模型将被冻结,仅更新 Prompt 向量以实现性能提升。
3. Prompt 基础3D检测器
作者提出了Prompted Foundational 3D Detector (PF3Det),一种基于 Prompt 的基础辅助3D视觉LiDAR检测器。该方法包含两个模块:基础分支,该分支利用多模态基础模型编码器提取的特征来辅助常规图像特征;以及多模态软 Prompt Adapter,该 Adapter 接收视觉LiDAR鸟瞰图 (BEV) 层中的软 Prompt,以提升检测性能。作者的检测器输入为LiDAR点和其对应的单视图或多视图图像。PF3Det输出3D检测边界框。输入图像首先并行通过常规检测器 Backbone 网络和多模态基础图像编码器。它们的特征被连接起来生成组合图像基础特征。然后这些图像特征和输入点云被输入到基于MSMDFusion [21]的融合架构中,以生成多模态BEV特征。BEV特征随后与微调的软 Prompt 进行整合,生成用于3D边界框预测的最终适配多模态特征。整体模型架构如图2所示。
3.1. 基础分支
常规图像主干网络可以表示为公式1,其中 表示第 i 层,
表示用于匹配维度的残差连接处的线性投影,
表示第 i 层的输出(
是输入图像)。多尺度特征
将与多尺度点特征进行融合。
多模态基础模型已经学会将不同模态的输入提取到统一的特征空间中。它可以提取语义丰富的特征以更好地捕捉物体关系。为了帮助模型从输入图像中提取更多High-Level信息,作者添加了另一个分支,即基础提取器 ,以获得基础特征向量
,其中 d 是特征向量的维度。然后向量 v 被连接到常规图像主干网络最后一层的特征图
上。接着连接后的特征被输入到特征金字塔网络 (FPNs) [33] 中,以生成最终的多尺度图像特征。
3.2. 多模态软 Prompt Adapter
直接借用基础模型图像编码器的特征,其特征向量与3D检测特征之间不可避免地存在领域差距。
因此,作者提出了多模态软 Prompt Adapter,将软 Prompt 集成到检测器架构中。
经过多模态BEV特征 处理后,原始检测器的架构可以表示为公式2。
是通过将点特征、虚拟点特征和图像特征共同转换到BEV空间中获得的。
输入到 BEV 融合编码器
中,该编码器由四个并行的不同单层 CNN 组成,随后
再经过另一个 CNN 层将输出融合在一起。融合后的特征 然后通过
BEV 主干 和 BEV FPN 检测器
,用于生成
(其中 i 是尺度索引)。
单级 Prompt。Prompt 仅添加到检测器架构中的一个单一层级,这需要更少的计算资源,并且
训练速度更快。仅将单级 Prompt 与原始BEV特征
连接,以生成
的BEV特征图。作者修改了BEV编码器
的输入维度,以采用更新
的BEV特征,记为 。可训练的软 Prompt 具有与特征空间相同的空间维度。通道大小
是一个取决于任务复杂度的超参数。在训练过程中,
的权重会被放宽,从而学习任务特定的知识。详细公式在式3中给出,其中
是连接操作。
多级 Prompt。多级 Prompt 在不同 Level 的检测器中被添加。作者提出在 和
处添加两个 Level 的软 Prompt。
和
的维度均为
。详细公式总结在公式 3 中,其中
是拼接操作。
对于第一级 Prompt,作者使用与单级 Prompt 相同的设置。对于第二级在 处的Prompt
,这些 Prompt 被连接到融合的BEV特征上。然后添加一个单层CNN
来对齐原始BEV主干网络的维度。总而言之,对于第一级软 Prompt,作者修改以下层以适应变化的通道大小,而对于第二级,添加了一个小的卷积层来压缩额外的通道。
4. 实验
以MSMDFusion [21] 作为作者的 Baseline,作者进行了广泛的实验,以比较作者提出的PF3Det与 Baseline 的性能。
4.1. 数据集
nuScenes数据集[5]是一个用于推动自动驾驶研究的全面、大规模数据集。该数据集提供了1000个从波士顿、匹兹堡、拉斯维加斯和新加坡收集的高质量传感器数据驾驶场景。这些场景在不同的条件下捕获,包括不同的时间段、不同的天气情况和多样化的交通状况。它们被分为训练集、验证集和测试集,分别包含700个、150个和150个场景。每个场景持续20秒,每个帧包含一个点云和六个校准图像。
整个数据集包含约39万LiDAR点云和140万图像,其中包括约140万个23类 GT 标注的边界框。nuScenes的3D检测性能通过平均精度均值 (mAP) 和nuScenes检测分数 (NDS) 进行衡量,后者是mAP与其他指标(包括边界框位置、大小、方向等质量指标)的组合。遵循MSMDFusion [21]的方法,作者将 Voxel 大小设置为 。为了评估模型在有限训练数据下的性能,作者从原始nuScenes训练集中随机采样5%,并在验证集和测试集中保留所有数据。
4.2. 实现细节
PF3Det的完整版本中,作者使用VoxeINet[64]作为LiDAR主干网络。对于图像分支,原始图像
主干网络是一个在ImageNet分割任务[8]上预训练的FPN[33]ResNet-50[14],该网络基于
MaskRCNN分割网络[15]。作者选择CLIP[43]中的ViT-L[10]作为基础图像编码器的主干网络。原始主干网络 以
图像为输入,生成四个不同尺度的特征图。基础编码器
以
图像为输入,生成一个大小为
的特征向量。基础特征向量被扩展到
,以匹配原始主干网络的最后一个特征图,并将其与之连接。
对于 Prompt 词,作者的最终PF3Det使用两级 Prompt 词。大小为[100,180,180]和
[150,180,180]的两组 Prompt 词分别与BEV特征和融合BEV特征连接。
遵循MSMDFusion[21]训练策略,在第一阶段,作者使用Transfusion[3]训练LiDAR分支20个epoch。在第二阶段,基础模型辅助模型和 Prompt 模型分别与LiDAR模型一起训练6个epoch,学习率为 。在第三阶段,从两个多模态检测器中整合权重,并继续使用学习率
训练6个epoch。在推理时,出于效率考虑,不使用 Test-Time Augmentation (TTA) 或多模型集成。
4.3. 主要结果
从表1中,作者可以得出三点结论。(1) 从实验ID 1、3和5的结果来看,所提出的两个模块——基础分支和多模态软 Prompt Adapter ——各自都能独立提升视觉LiDAR检测器的性能。此外,它们可以协同工作,并在实验ID 6中进一步提升了整体性能。(2) 从基础特征实验(实验ID 2和3)中,作者可以得出结论,基础编码器的输出维度必须适配原始检测器。否则,可能会降低检测性能。CLIP [47] ResNet50编码器输出长度为1024的特征向量,而CLIP ViTL产生的特征长度为768。ResNet50特征向量具有更大的特征维度,这会稀释原始信息。(3) Prompt 需要精心设计,以平衡参数增加和分数的提升。一层可以实现大部分性能提升,NDS。增加第二层会导致 Prompt 权重大幅增加2.5倍,但根据实验ID=5的结果,它仅提供了 NDS的提升。每个模块和结果的详细分析将在下一节中展示。
原始BEV特征具有256个通道,这与基础特征向量的通道大小相同。为了避免信息过载,作者在拼接之前添加了一个通道压缩层,将基础点特征压缩到大小。消融研究如表2所示。作者得出三个结论:1) 基础图像特征比点特征效果更好。2) 上采样层比重复特征向量效果更好。3) 性能更优。结论1的原因是干净室内点云与室外LiDAR点云之间存在领域差距。用于ULIP [53]的点训练数据来自ShapeNet [6],其干净且均匀地从物体表面采样,而LiDAR点则高度Sparse且不均匀。
4.4. 基于基础特征辅助的分支
作者运行了来自不同多模态基础模型的基座特征编码器。结果总结在表2中。
基础图像编码器。如前一节所述,基础图像特征被添加到图像分支中,如图2所示。作者测试了CLIP提供的两个 Backbone 网络。来自ResNet50 [14]的较大特征向量会稀释原始图像特征,并降低性能。
基础点编码器。作者采用ULIP [53]提供的点编码器,该编码器能够训练一个将三种模态编码到统一特征空间的模型。点编码器基于PointBERT [56]。由于LiDAR分支中BEV特征之前的特征是Sparse的,基础点特征被集成到多模态BEV特征中,如图3所示。为了将基础点特征 (fp feat.) 向量集成到BEV特征,作者尝试 1) 直接重复向量值以扩展到大小,2)应用转置卷积对向量进行上采样。
4.5. 多模态软 Prompt Adapter
作者进行实验以寻找最优的 Prompt 结构。软 Prompt 在多模态BEV特征阶段之后添加,这能够在相机和LiDAR模态上产生最大效果。大多数软 Prompt 被添加到基于注意力的网络中[20],从而能够轻松地附加 Prompt 块。然而,作者3D检测器的BEV特征部分没有基于注意力的结构。作者专门为基于卷积的网络设计了软 Prompt。视觉LiDAR 3D检测是一项复杂的任务,融合两种模态的难度不容小觑。因此,作者将之后的层设置为可学习,而将其之前的层冻结,如图2所示。
单级 Prompt。首先作者进行实验以验证软 Prompt 在基础编码器辅助网络上的有效性。仅向多
模态BEV特征 的特征层添加一层软 Prompt
。结构如图4所示,不包括其他 Prompt
。多模态BEV特征
的维度为[256,180,180],其中256是BEV特征通道数,180是BEV的宽度和高度。单级 Prompt
的维度设置为
以匹配
的宽度和高度维度。然后
与
进行拼接,生成一个大小为
的张量。下一层网络是BEV融合网络,如图4所示。它们的输入维度相应调整。
不同 Prompt 通道大小的结果如表3所示。当 时,检测器的性能随着
的增加而提高。当单个 Prompt 通道大小
时,性能最佳。随着
的进一步增加,新增的 Prompt 开始淹没原始的BEV特征,其大小为256。检测器的性能达到饱和并开始下降,但作者观察到过大的 Prompt 并未显著降低性能。
多级 Prompt。从前面的实验中,作者验证了使用软 Prompt 可以提高视觉LiDAR三维检测性能。进一步进行了多级 Prompt 的探索。总共测试了三个 Level,包含四组软 Prompt,记为和
。作者在图4中展示了完整的架构。
对于 ,作者采用单级 Prompt 设置。二级软 Prompt
也设置为匹配
的宽度
和高度维度。然后将其与大小为 [256,180,180] 的融合BEV特征进行拼接,创建组合大小为
的特征。通道维度通过通道对齐层
压缩回原始的256,而不是修改后续的BEV Backbone 层。
第三级 Prompt 在BEV Backbone 之后添加到 Backbone BEV 特征
中。与其他Prompt 类似,它们分别与其对应的多尺度BEV特征进行拼接,创建大小为
和
的特征。与单级 Prompt 类似,使用修改后的 FPN
来适应尺寸变化。图4中所示的整体结构设置为可训练。
实验结果如表3所示。作者以两种不同设置运行了多级 Prompt 。在多级 Prompt 重新加载部分,模型首先从对应单级 Prompt 的训练模型中加载权重。只有第二级 Prompt 被随机初始化。最佳性能在 时达到。当
的通道尺寸增加到150时,性能略有下降,但保持在同一水平。第一次显著下降发生在通道尺寸增加到200时,但与单级 Prompt 相比,它们都略有性能下降。
另一组关于多级 Prompt 的实验将TransFusion[3]预训练权重加载为MSMDFusion[21],因此
所有 Prompt 都是随机初始化的。对于两级 Prompt,最佳组合是当 和
。进一步进行了四级 Prompt 的实验,但它们都显著降低了检测性能,降幅约为
。其中一个通道大小[50,25,12,25]的 Prompt 权重总和较少,与最佳 Prompt 通道大小[100,150,-,-]相比。因此,四级 Prompt 并没有过度影响原始检测器。性能下降表明,后期层的 Prompt(例如多尺度BEV特征层)对检测性能产生负面影响。
5. 结论
在本文中,作者提出了PF3Det,一种新型基础特征辅助、 Prompt 式视觉LiDAR三维检测器。作者提出的模块集成了从多模态预训练中学习的基础特征,并通过插入软 Prompt 进一步桥接领域和模态差距。
大量实验表明,作者的PF3Det在有限训练数据下实现了最先进的结果。