写在前面 && 笔者理解
受Tesla的技术的推动,越来越多的厂商开始走"纯视觉"的路线,多数方案还是集中在从多视图输入图像中提取鸟瞰图(BEV)特征,来解决下游目标检测、在线地图等各种应用。尽管有监督的方法还是占主导地位,但是它们非常依赖精确的GT标注,成本高、难度大往往成为一个比较显著的瓶颈。相反,大量且易于获取的未标记数据为提高性能提供了一个充满希望的途径。这就是所谓的自监督预训练
技术,其核心思想是,通过利用精心设计的代理任务,从丰富的未标记数据中学习有意义的表示。然而当前的一些方案要么无法捕捉到有效的几何信息,要么无不能学习到详细的纹理信息。
3D Gaussian Splatting(3D-GS)以点云的形式表示,为场景重建提供了强大的表示,通过位置、颜色、旋转、缩放和不透明度等属性编码几何和纹理信息。正是受到3D-GS在有效场景表示和Masked autoencoders(MAE)在2D图像自监督学习中的成功的启发,作者提出了一种新颖的预训练方法GaussianPretrain,它结合了3D-GS和MAE方法,用于3D视觉学习中的预训练任务。
作者的方法包括两个关键创新:
- LiDAR深度指导掩码生成器。为了提高效率,作者只关注从多视图图像中的有限数量的有效掩码补丁中学习高斯信息。这些补丁由MAE策略识别,并进一步过滤,只包括那些具有LiDAR深度监督的补丁。
- 基于射线的3D高斯锚点指导策略:对于每个LiDAR投影像素,执行射线投射操作到3D空间以采样体素内的点。作者引入了一组可学习的高斯锚点来指导从3D体素中作为体积LiDAR点的高斯属性的学习,并预测相关属性(例如,深度、不透明度)。这使得模型能够通过3D Gaussian Splatting同时理解场景的几何和纹理信息。
- 论文链接:https://arxiv.org/pdf/2411.12452
相关工作
自动驾驶中的预训练
使用对比学习和掩码信号建模来捕获语义和纹理信息,在2D图像上的预训练已经取得了巨大的成功。但是,自动驾驶的视觉预训练需要准确的几何表示。目前有的研究,比如,UniScene和OccNet利用占用预测进行预训练,而ViDAR 从历史帧图像预测未来的LiDAR数据。尽管这些方法在捕获几何信息方面是有效的,但却无法学习详细的纹理信息。相反,像Self-OCC 、UniPAD 和MIM4D 这样的方法使用NeRF 来渲染RGB图像和深度图,学习了纹理但几何信息有限。OccFeat 在占用预测期间使用知识蒸馏从图像基础模型转移纹理信息,但会产生高昂的预训练成本。相比之下,作者的工作引入了3D Gaussian Splatting进行自动驾驶的视觉预训练,有效地捕获纹理和几何信息,来解决这些限制。
从NeRF到3D-GS
Neural Radiance Fields (NeRF) 通过隐式表示场景的颜色和密度,参数化多层感知机(MLP)结合体积渲染技术,实现了令人印象深刻的渲染质量。后续工作已成功将NeRF扩展到各种任务,但是这些工作都需要针对每个场景来优化,由于优化和渲染速度慢,限制了它们的效率。相比之下,3D Gaussian Splatting 通过各向异性高斯显式表示场景,通过可微光栅化实现实时渲染。然而,由于依赖于特定场景的优化,它倾向于过度拟合特定场景。最近的方法通过预测高斯参数的前馈方式来缓解这个问题,这样就不需要针对每个场景来优化了。例如,GPSGaussian 从图像对执行极线校正和视差估计,依赖立体图像和真实的深度图。同样,Spatter Image 专注于从单一视图重建单个对象的3D结构。这两种方法因为效率低,仅限于对象重建,并且依赖于特定的输入格式,如图像对或单一视图。在本文中,作者将3D Gaussian Splatting扩展到视觉预训练任务中,通过在3D空间中预设固定位置的3D高斯锚点,克服了与视图数量和深度图需求相关的问题,标志着3D-GS的新应用。
3D Gaussian Splatting
3D GS由于其高效的光栅化设计和显式表示,在场景表示、编辑和新视角合成方面展现出强大的能力。通常,场景由一组高斯组成,这些高斯通常从重建方法或LiDAR数据中得到的点云初始化而来。每个高斯被赋予可学习的属性,包括方向、颜色、位置、尺度和不透明度
。在渲染过程中,这些3D高斯被使用可微光栅化投影到2D图像平面上。对于场景表示任务,通过将渲染输出与真实图像进行监督,迭代优化高斯属性。对于3D空间中的一个高斯点,它被定义为
LiDAR 深度引导掩模生成器
受MAE 的启发,作者对多视图图像应用随机补丁掩码,表示为M。此外,稀疏卷积被用来替代图像主干中的传统卷积,如SparK 的实现增强了性能和泛化能力。为了计算效率,作者只关注从有限的一组有效掩码补丁中学习高斯参数。此外,作者通过检查LiDAR点是否在某个深度范围内来双重检查掩码区域。
基于射线引导的 3D 高斯锚点
体素编码
Gaussian 参数解码
通过重构信号来监督
为了在MAE策略下更好地重建掩码区域,作者使用从高斯表示派生的不同重建信号来监督学习过程。具体来说,RGB、深度和占用信号是基于有效掩码补丁中预测的高斯锚点参数解码的。
实验结果
作者使用nuScenes数据集来训练和验证。
不同任务上的结果
3D Object Detection. 作者在表1中比较了GaussianPretrain与以前SOTA方法的结果。以UniPAD作为基线,该基线是在UVTR-C/StreamPETR上实现的。作者的方法在NDS和mAP上分别超过了UniPAD-C 0.8和0.7个百分点。与StreamPETR相比,改进进一步获得了0.9 NDS,达到了48.8和38.6在NDS和mAP上,达到了没有任何测试时增强的现有最先进方法的水平。
HD Map Construction. 正如表2所示,作者评估了其训练模型在nuScenes数据集上对HD地图构建任务的性能。这项任务要求模型理解道路拓扑和交通规则,需要对场景的纹理信息有详细的了解。作者使用MapTR 来评估GaussianPretrain捕获这些信息的能力。得益于作者有效的高斯表示预训练,MapTR在mAP上实现了1.9%的改进。
3D Occupancy Prediction. 高斯锚点的不透明度属性自然适合占用预测任务。在表3中,作者在Occ3D-nuScenes上进行了3D占用预测的实验。表中报告了SOTA方法的性能,这些性能记录在Occ3d 的工作中。作者在BEVFormer 和PanoOCC上实现了作者的框架,比BEVFormer提高了0.6% mIoU的性能,比SOTA方法PanoOCC进一步提高了0.8% mIoU。这也突出了作者预训练图的有效性。
预训练方法上的结果
作者以在ImageNet上预训练的UVTR-C作为基线,并在表4中比较了GaussianPretrain与以前的预训练方法。
- DD3D:利用深度估计进行预训练。
- SparK:将MAE纳入预训练方法。
- FCOS3D:在预训练阶段使用3D标签进行监督。
- UniPAD:基于NeRF的渲染预训练范式。
作者的GaussianPretrain,将3D-GS整合到视觉预训练中,大大提高了7.1%的NDS和9.0%的mAP。它优于所有其他方法,分别达到了32.0 NDS和32.3 mAP。
消融实验
GaussianPretrain’s losses: 为了验证每个重建信号的有效性,作者在UVTR和BEVFomer上进行了3D检测和占用任务的实验。RGB损失引导模型从重建图像中学习场景的纹理信息,而深度损失鼓励模型在2D平面上学习几何信息,尽管这本身不足以捕获完整的3D几何信息。相比之下,占用损失监督模型在3D空间内学习全面的几何信息。如表7所示,每个组成部分都做出了积极贡献,当全部使用时,取得了最佳结果。
Gaussian Anchor Numbers: 作者进行了消融研究,以检查不同数量的高斯锚点对性能指标的影响,如表8所示。在达到1024个射线时,观察到最显著的增益,超过这个数量,相对于额外的资源需求,改进较小。
Efficiency & consumption: 基于NeRF的方法通常受到慢收敛和高GPU内存消耗的困扰。相比之下,作者的基于3D-GS的方法提供了可比的渲染质量,并且具有更快的收敛速度和更优越的效率,用于自由视图渲染。在表9中,作者比较了NeRF基础的UniPAD和作者的解码器模块之间的效率和内存消耗。值得注意的是,GaussianPretrain明显减少了约30%的内存使用,并减少了大约40.6%的延迟,同时保持了相似的参数大小。
Supervised Pre-training: 作者展示了GaussianPretrain在减少对注释的依赖方面的有效性,通过微调UVTR,从完整数据集到1/4子集的范围。如图5所示,作者的方法在只有一半监督样本的情况下超过了基线5.5% mAP,即32.0% mAP vs. 26.5% mAP。这表明GaussianPretrain可以有效利用未标记数据来补偿减少的监督,即使在注释较少的情况下也能提高性能。
Different Conditions: 作者在表6中报告了在不同距离、天气条件和光照情况下的性能,这得益于作者在UVTR-C上有效的预训练,GaussianPretrain实现了卓越的鲁棒性和整体最佳性能。
总结
在这项工作中,作者首次将3D Gaussian Splatting技术引入视觉预训练任务。作者的GaussianPretrain在各种3D感知任务中展现出显著的有效性和鲁棒性,包括3D目标检测、高清地图重建和占用预测,同时具有效率和较低的内存消耗。不过,当前框架仍然存在某些局限性。特别是,它没有明确地结合时间或多模态信息,这两者对于许多自动驾驶应用至关重要。在未来的工作中,作者计划扩展GaussianPretrain以利用这些信息,并进一步提高其性能。