论文标题:
OccFeat: Self-supervised Occupancy Feature Prediction for Pretraining BEV Segmentation Networks
论文作者:
Sophia Sirko-Galouchenko, Alexandre Boulch, Spyros Gidaris, Andrei Bursuc, Antonin Vobecky, Patrick Pérez, Renaud Marlet
导读:
本文将为大家介绍CVPR2024自动驾驶最新论文–OccFeat,一种用于纯相机BEV分割网络的自监督预训练方法,它能同时加强对3D场景的几何和语义理解。OccFeat利用三种模式进行预训练:图像、激光雷达和DINOv2特征。在nuScenes上对OccFeat进行了评估,以对车辆和地图布局进行BEV语义分割。结果显示了OccFeat的预训练方法优势。©️【深蓝AI】编译
1. 摘要
作者介绍了一种自监督预训练方法----OccFeat,针对纯视觉的BEV分割网络。使用OccFeat,作者可以借助占据预测和特征蒸馏预训练一个BEV网络。占据预测可以给模型提供对于场景3D几何信息的理解。但是,几何信息学习的类别是不确定的。因此,作者从一个自监督预训练图像基础模型中,通过蒸馏给其他模型添加3D语义信息。使用作者预训练方法的模型,可以显著提高BEV语义分割性能,尤其是在数据稀少的场景下。此外,实验结果表明作者提出的预训练方法是十分有效的。
▲图1|数据稀少领域性能对比示意图©️【深蓝AI】编译
2. 引言
近年来,纯视觉BEV网络在自动驾驶感知领域产生了巨大影响。BEV的吸引力在于,它为各种传感器(包括环视摄像头、激光雷达和雷达)提供了一个统一的空间,可用于标注和运行时感知目的,并可作为驾驶系统中后续任务(如预测和规划)的输入。一般在BEV特征空间的任务分为语义分割和目标监测。本文工作任务领域为纯视觉BEV语义分割任务。
至今,对于BEV空间中的纯视觉语义分割的训练网络主要依赖于全监督策略,也就是需要针对每个场景的详细标注。这一标注过程耗时耗力——输入的图像需要转化到“合成”的BEV空间。例如,一般有雷达数据生成的标注数据,经过可见性和目标类别的检查之后,才能投射到BEV分割图像中。为减少标注损耗,作者探索了自监督预训练纯视觉BEV分割网络的潜力。
在自监督预训练中,BEV网络首先在无标注数据的任务中进行训练,然后迁移到下游任务中。这一过程的目的是指导网络在预训练阶段学习有用的数据表示,可以提高网络在下游任务上的性能,能够让网络在少量标注数据情况下,依然获得不错的性能。预训练已被证明在图像到激光雷达等多模型数据上的有效性,借助不同的策略,例如:对比学习、教师学生架构和重建任务,预训练可以获得较好的效果。
在自动驾驶领域,针对纯视觉BEV网络的自动监督训练具有很重要的作用,但是没有引起很大的热度。近来也涌现出了一批相关方法,但是它们主要聚焦于3D几何预测任务的预训练。例如,ViDAR利用激光雷达点云预测实施预训练,UniPAD使用3D表面和RGB像素重建,以及UniScene则使用3D占据预测。虽然这些方法帮助BEV网络获得3D几何信息理解,但是无法让网络捕获3D场景的语义感知信息,这一信息对基于BEV的语义分割任务来说尤为重要。
本文所提出的占据特征预测方法(OccFeat),通过提出一个预训练目标----也就是对3D场景更加全面的理解,同时提供几何和语义信息,从而解决了上述问题。在本方法中,纯视觉BEV网络是以预测一个3D体素网格表示为任务:
a. 体素占据的表示;
b. 高级自监督图像特征表征被占据的体素。
为了创建这一体素网格表示,作者利用了自动驾驶中对齐的激光雷达和图像数据,以及一个自监督图像基础模型(如:DINOv2)。 具体来说,本方法是利用激光雷达数据确定每个体素的占用率,如果一个体素包含至少一个激光雷达点,则认为该体素已被占用。同时,自监督图像基础模型使用高级图像特征填充占据的体素。这一过程会将每个占据体素单元中心坐标投射到2D图像特征空间。
不同于仅仅关注3D几何预测的方法,本文方法通过预测一个更加丰富、更多语义表示的3D场景,且利用预训练的图像基础模型来解放双手进行自动标注。实验证明这一3D场景语言增强策略可以给下游BEV语义分割结果带来巨大的性能提升,尤其是在少量数据的场景下。
3. 相关工作
纯视觉BEV感知。BEV感知为自动驾驶提供车辆周边环境的全面表示,已成为多相机系统的主流范式。它包括三个部分:图像编码器提取2D特征,视觉投影模块将2D特征转换为3D空间的BEV特征,以及执行诸如语义分割、地图预测和3D监测等任务的解码器。视图投影技术多样,包括基于几何的方法和完全基于数据学习的方法。
目前,广泛使用的是Nvidia提出的“推”方法,通过深度不确定性估计将特征投影到BEV空间,以及不依赖深度估计、直接映射3D位置信息到图像空间的方法。近年来,BEV方法预测性能虽提高,但高效标注学习方法开始超越传统数据增强策略。精确3D标注成本高,劳动密集。作者提出提高BEV模型标注效率的策略,并展示在SimpleBEV和BEVFormer两种视图投影上的应用。
图2|OccFeat自监督BEV预训练方法示意图©️【深蓝AI】编译
自监督表示学习(SSL)是一种使用未标注数据来学习数据表示的方法,它通过无标注代理任务提取数据中的有用模式。SSL常使用预训练模型,在有限标签的任务上进行微调,以此提高性能。诸如图像扰动预测、对比学习、聚类、自蒸馏和掩码图像建模等代理任务已被广泛探索,后者尤其适合于视觉Transformer架构。
虽然SSL在通用图像数据集上效果显著,但用于驾驶数据的SSL预训练面临挑战,如数据冗余和类别不平衡。不过,多传感器数据和视觉基础模型为获取三维和/或语义知识提供了新机会,如无监督语义分割或检测。环视相机与激光雷达的数据同步也用于激光雷达网络的预训练,并通过无标签蒸馏策略在低标签环境中取得进步。
BEV预训练和蒸馏在自动驾驶感知任务中用于提升性能和解决数据标注难题。通常,单目3D目标检测的基线预训练被用作起点。通过教师-学生架构,激光雷达的3D推理能力被蒸馏到相机图像,以补充视觉投影模块中的几何信息损失。然而,激光雷达的3D标注数据获取困难。还有基于摄像头的BEV预训练方法采用自监督学习(SSL)范式,如占用率估计和激光雷达点云预测,但这些方法可能限制图像编码器获取语义知识。作者提出在体素空间中提炼DINOv2预训练图像特征,以生成兼具几何和语义感知能力的BEV特征。这与POP-3D不同,后者将CLIP特征用于开放词汇感知而非预训练。
4. 方法
本文目标是以自监督方式来预训练一个纯视觉BEV分割网络。为此,作者试图在学习到的BEV表示上进一步扩展编码场景3D几何信息和语义相关信息的能力,这一能力对于BEV空间的下游任务(比如:语义分割)尤为重要。为实现这一目标,作者借助当前的可用资源:
1)对齐自动驾驶场景下的激光雷达和图像数据;
2)一个能够提取高级2D图像特征的自监督预训练图像编码器(例如:DINOv2)。
本文提出的自监督BEV预训练方法OccFeat,具体如图2所示,包含两个训练目标:
1)占据重建( L o c c L_{occ} Locc):这一目标关注于通过占据重建任务中的BEV网络捕获场景的3D几何信息;
2)占据指导的特征蒸馏( L f e a t L_{feat} Lfeat):这一目标使得BEV网络能够重建高级语义特征。基于预测占据体素位置,来训练对应的网络模型。
本文自监督预训练方法的整体的目标为:
L = L o c c + λ ⋅ L f e a t L=L_{occ}+\lambda \cdot L_{feat} L=Locc+λ⋅Lfeat
其中是权重系数,用来平衡两个损失项。除非特殊情况,本文使用 λ = 0.01 \lambda = 0.01 λ=0.01。
4.1 BEV网络
BEV网络旨在从标定图像数据中构建一个BEV特征图。本文中,BEV特征图主要用来语义分割。这些BEV网络共享一个基本结构,其中包含:
1)一个图像编码器;
2)一个投射模块;
3)一个解码器。
图像编码器 E 1 E_1 E1针对每一张图像 I c I_c Ic产生一个特征图 F c F_c Fc, c c c的范围是从1到 C C C,其中 C C C是车辆上环视相机的数量。一般而言,这些编码器来自于ResNet或者EfficientNet相关模型。
投射模块 P B P_B PB主要是负责改变特征表示空间,从传感器坐标系(特征 F e F_e Fe)到BEV空间。 P B P_B PB以图像特征 { F c } c = 1 C \{F_c\}^C_{c=1} { Fc}c=1C和相机标定信息为输入,将图像特征投射到BEV空间。投射模型的不同工作原理导致模块架构的差异,从沿着垂直轴聚合全图像特征卷(SimpleBEV)或者根据估计深度分布填充稀疏特征卷(LSS)到CVT或者BEVFormer中的基于注意力的投射实现。
解码器 D B D_B DB是以 P B P_B PB模块生成的BEV空间的图像特征为输入,进一步使用2D卷积进行处理,附加一些上采样操作,生成想要的图像分割分辨率。所产生的BEV特征 F B ∈ R N B × H B × W B F_B \in R^{N_B \times H_B \times W_B} FB∈RNB×HB×WB,其中 H B × W B H_B \times W_B HB×W