点击下方名片,即刻关注 【 智驾实验室 】
自动驾驶中的3D感知是一个关键问题。最近,鸟瞰视角(BEV)方法因低成本部署和理想视觉检测能力而受到广泛关注。然而,现有的模型在驾驶过程中忽略了实际场景,即在一种或多种视图摄像机可能出现故障的情况下,这极大地降低了性能。
为了解决这个问题,作者提出了一种通用的Mask视角(M-BEV)感知框架,通过随机Mask和端到端训练后重构摄像头视角来有效提高对这种具有挑战性的场景的鲁棒性。更具体地说,开发了一种新颖的Mask视角重构(MVR)模块,通过随机Mask不同视图的特征,然后利用这些视图的原特征作为自监督,在视图间的独特时空上下文中重构被Mask的视图。通过这样的即插即用MVR,M-BEV可以从静止的视图中学习缺失的视图,从而在测试中很好地泛化,进行鲁棒视角恢复和精确感知。
在流行的NuScenes基准测试上进行了大量实验,其中M-BEV可以在各种缺失视图情况下显著提高最先进模型在3D感知方面的性能,例如,对于缺少背面视图,M-BEV将PETRv2模型提高了10.3%的mAP。
Introduction
周围场景的3D感知是自动驾驶的关键。与基于激光雷达的方法相比,基于摄像头的技术越来越受到关注,因为它们部署和使用的成本较低。特别是,基于鸟瞰视角(BEV)的方法已经由学习多摄像头图像的整体表示来突出。基本上,这些方法将来自六个不同视图的2D图像信息集成在一起,以编码可见场景的统一3D表示,然后将其解码以准确捕获周围物体的尺寸和位置。然而,这些方法在实际驾驶过程中,当六个相机中的一个或多个出现故障或损坏时,工作会受到严重影响。在这种情况下,由于缺少相应的视觉线索,现有的BEV-based方法将大大降低。例如,当缺少背面视图时,PETRv2的NDS和mAP分别下降了12.4%和18.0%,这对自动驾驶系统的安全性和可靠性产生了严重影响。
为了缓解这个问题,作者提出了一种简洁的Mask视角(M-BEV)感知框架,该框架可以通过在端到端训练过程中随机Mask和恢复视图特征来有效地增强模型对缺失摄像头视图的鲁棒性。具体来说,作者在M-BEV中设计了一个自监督的Mask视角重构(MVR)模块,该模块受到知名的全Mask自编码器(MAE)风格的启发。特别地,作者在训练周期中随机Mask不同摄像头的特征。然后,作者利用其余视图的特征作为时空上下文,并恢复被Mask视图的特征作为其原始特征。通过这种方式,MVR学会了从其余视图重构缺失视图的能力,因此可以有效地解决测试中的摄像头故障情况。
请注意,作者的MVR和MAE之间有两个关键差异。首先,Mask目标和设计不同。MAE旨在学习通用的图像表示。因此,它Mask每个图像的几个_patch_,并从其余的_patch_中重构它们。相反,作者的MVR旨在解决BEV-based驾驶中可能出现的缺失摄像头情况。因此,它Mask六个摄像头视图的几个_image_,并从其余的_image_中重构它们。更重要的是,除了使用所有其余图像进行重构外,作者还提出利用基于BEV摄像头的空间时间重叠进行重构,以从周围图像中恢复被Mask的图像,而MAE没有考虑这些想法。其次,训练和测试方式不同。在训练阶段,MAE在所有周期中使用相同的比例对每个输入图像的_patch_进行Mask,以训练通用的图像模型。
相反,作者的MVR在不同的周期中使用不同的比例对六个视图的_image_进行Mask,以包含可能发生的各种缺失摄像头视图。在测试阶段,MAE主要使用_encoder_作为通用特征提取器并忽略_decoder_。相反,作者的MVR使用_decoder_来重构缺失的摄像头视图,并利用恢复的视图在BEV-based驾驶中进行3D感知。
最后,在两个最先进的BEV-based模型上实现了作者的通用M-BEV框架,即PETRv2和BEVStereo,用于自动驾驶中的3D目标检测。请注意,作者选择这些模型进行评估,因为它们保持了可接受的准确性和效率平衡,并且作者有限于计算资源。为了验证有效性,作者在各种缺失摄像头案例(例如,缺少背面视图)上,在流行的NuScenes数据集上进行了大量实验。
结果表明,M-BEV框架显著提升了各种缺失摄像头紧急情况下的最先进模型性能。例如,当缺少背面视图时,M-BEV帮助将PETRv2 Baseline 提高了10.3%的mAP,而仅需要额外的0.6ms一次响应。
Related Work
多视角3D目标检测。3D目标检测是自动驾驶中的关键技术,它利用LiDAR,摄像头,或多模态输入数据预测实际3D空间中的目标位置、大小、速度和类别。基于摄像头的技术由于低成本和易于获取来自六个摄像头视图的视觉数据而脱颖而出。这些工作的关键问题是将2D转换为3D空间,而BEV表示作为合适的纽带。OFT首先将2D特征直接转换为3D BEV特征进行单目3D目标检测。随后的工作通过可学习的3D物体 Query,3D位置感知嵌入,时间信息集成等风格扩展了这种风格。
此外,深度监督是提高3D性能的另一个主要方向。然而,所有这些基于BEV的方法都依赖于理想情况下的高质量摄像头输入。当实际中的摄像头视图出现故障时,它们的性能会急剧下降。RoboBEV 在各种自然和对抗性损坏下建立了全面的驾驶基准。MetaBEV通过与相机的数据融合解决此问题。据作者所知,作者的M-BEV是第一个仅使用摄像头的具有巨大鲁棒性的仅在视图故障的情况下解决此问题的方案。
Mask建模。Mask建模 Pipeline 最初用于自然语言处理(NLP)。Mask操作被视为噪声类型,由传统的去噪编码器处理。然后,Vision Transformer(ViT)使用Mask标记预测,为自监督预训练铺平道路。最近,MAE作为一种非对称 Transformer 基础的编码器-解码器架构被引入,它通过重构被Mask图像的像素来实现。预训练的自动编码器可以用于各种下游任务,只需进行少量的微调。类似的想法是由BEiT,BEVT,和VIMPAC提出的,而重构基于标记 Level 。MaskFeat选择将被Mask标记的HOG特征作为自监督预训练。此外,UM-MAE和SemMAE设计独特的Mask策略,VideoMAE系列则简单地在视频的时空维度上扩展Mask,并实现了惊人的性能。与MAE风格的设计相比,作者的MVR有两个关键区别,这在介绍中已经仔细讨论。
Method
为了处理摄像头故障,在本节中引入了作者的Mask视角(M-BEV)范式。首先,介绍了M-BEV的整体模型架构。然后,对关键的Mask视角重构(MVR)模块进行详细描述,并解释了它是如何提高摄像头故障的鲁棒性。最后,说明了M-BEV的训练和测试过程。
Overall Architecture
M-BEV的整体架构如图2所示,它包括一个3D目标检测器,随机视角Mask(RVM)和Mask视角重构(MVR)模块。基本上,3D目标检测器包含一个视觉编码器、 Transformer 和解码器。首先,编码器将来自多个摄像头的输入图像转换为相应的2D视觉特征。其次, Transformer 将这些2D特征转换为与3D相关的特征,通过3D位置嵌入,深度估计,注意力机制等方法。最后,解码器将这些3D特征进行最终的目标检测。请注意,当一个或多个摄像头出现故障时,从编码器没有相应的特征。
为了解决这个问题,作者在编码器之后引入了RVM和MVR模块来恢复缺失的特征。在这种情况下,作者将 Transformer 和解码器的组合称为本文中的一种集成解码器,而不失去通用性。
为了模拟在测试阶段摄像头故障的情况,作者提出在训练阶段进行视角Mask和恢复。具体来说,RVM用于随机选择要进行Mask的摄像头视角,而MVR用于通过利用其余视图的空间-时间上下文来恢复被Mask的视角。请注意,恢复是在摄像头的特征 Level 上进行的,而不是像MAE那样在原始图像 Level 上进行。主要原因是作者旨在为3D目标检测重构缺失的视角,如果作者重构原始图像,这些预测图像必须再次输入到视觉编码器中以获得其特征进行检测,这会使整个范式变得繁琐且不必要地进行处理和计算。
相反,如果作者重构被Mask图像的特征,作者可以直接使用BEV基础模型(如VoVNet,ViT,ResNet等)进行检测和重构。这些恢复的特征可以直接用于后续解码而没有任何困难。在这种情况下,作者可以有效地利用Mask建模的自我监督优势,只需添加轻量级的特征解码器即可。在接下来,作者将详细解释如何设计MVR以重构被Mask的视角。
Masked View Reconstruction Module
通常,基于BEV的方法将前一步和当前步骤的六个摄像头视图图像作为输入。对编码后的这些图像作为视觉特征,作者使用RVM模块随机Mask几个摄像头的特征。请注意,在实际情况中,对于缺失的视图,所有之前帧的图像都会丢失,因此作者从和Mask这两个帧。下一个问题是如何恢复这些被Mask的特征。在作者的任务中,整个图像都被Mask,作者不能像MAE那样探索图像内部的联系,但六个图像之间的联系。
如图3所示,六个摄像头视图共享重叠区域,提供独特的时空线索,即同一个物体可能在不同的视图在不同的时间步骤中出现。基于这个观察,作者提出两种类型的MVR模块,通过使用其余视图的特征来恢复被Mask视图的特征。
全局MVR模块 。在这个设计中,作者使用所有其余视图作为上下文来重构被Mask的视图。
- 首先,作者将所有视图的特征进行拼接。对于缺失的视图,作者用共享和学习的Mask标记(即随机初始化的)来填充,对于其余视图,作者使用编码器对应的2D特征,即。
- 其次,作者需要区分这些视图的位置以编码它们之间的3D关系。因此,作者应用3D位置嵌入来编码不同视图的3D坐标,即。
- 最后,作者将具有对应位置嵌入的所有特征添加在一起,并将其输入到特征解码器中进行重构。解码器由与MAE[13]相同的transformer块组成,只是最后一个输出层输出特征标记,而不是被Mask视图的原始像素。
是被Mask视图的恢复特征,表示作者将标记进行拼接。
局部MVR模块。实际上,一个摄像机视图与其相邻视图之间存在很强的相关性,而不是所有视图。如图2所示,前视图的左部分与前左视图的右部分相关,而前左视图的右部分与前左视图的左部分相同,而前视图的右部分与前右视图的左部分相关。因此,使用所有视图的局部MVR可能会引入噪声重构,并包含无关的周围场景。基于这个分析,作者提出设计一个局部MVR模块,它使用相邻视图的相关上下文来恢复缺失的视图。具体来说,对于一个被Mask视图的特征,作者将其划分为三个部分,即左、中、右部分,并且划分部分的比例相同。作者在实验中研究了不同的比例。
- 左部分:如图2所示,对于这个被Mask视图的左部分,作者参考其左侧视图的相邻摄像机。特别是,作者在和时,用相同的比例裁剪左侧视图特征的右侧部分。然后,作者将它们的平均值用作被Mask视图的左部分,对于两个时间戳。
- 右部分:类似地,对于被Mask视图的右部分,作者参考其右侧视图的相邻摄像机。特别是,作者在和时,用相同的比例裁剪右侧视图特征的左侧部分。然后,作者将它们的平均值用作被Mask视图的右部分,对于两个时间戳。
- 中间部分:对于这个被Mask视图的中间部分,没有清晰的线索。因此,作者使用与全局MVR相同的Mask标记,即。因此,被Mask的视图成为这些特征的 ConCat ,
多个视角可以随机Mask。如果被Mask视图的相邻视图也丢失了,那么这个视图没有左和/或右的线索。在这种情况下,作者使用对应左或右部分的被Mask特征或/和。最后,由于是摄像机视图的2D特征,作者使用正弦-余弦版本的2D位置嵌入,并将和的总和输入到解码器中。
其中,是被Mask视图的恢复特征。此外,局部MVR的解码器与全局MVR的解码器具有相同的transformer结构。但是,在局部MVR中,它只需要处理一个图像大小的标记,而全局MVR需要处理六个图像的所有标记。因此,局部MVR的计算成本比全局MVR更便宜。
Training and Testing
训练 。在从MVR获得被Mask视图的恢复特征后,作者计算原始特征和重构特征之间的L2损失,进行自监督预训练作者的M-BEV,并在预训练过程中冻结编码器。
然而,仅使用特征监督对于感知是不够的,作者进一步在端到端的方式上使用3D检测监督来微调作者的M-BEV。
其中,是3D检测损失,包括对物体分类的focal损失和对3D边界框回归的L1损失。由于作者的目标是提高在紧急情况下的检测,检测损失应该是最主要的损失。因此,作者在微调中设置了重建损失的权重系数。
此外,作者在不同的训练周期中随机选择不同的摄像机视图数量,例如,在前一个周期中,一个视图可以随机选择进行Mask,而在当前周期中,四个视图可以随机选择进行Mask。这与MAE的训练风格不同,其中所有周期都采用相同的Mask比例。主要原因是作者目标是解决可能发生的所有缺失视图情况。因此,训练过程应该通过在不同周期中随机Mask来覆盖各种缺失视图。这种设计在之前的Mask建模研究中尚未尝试过。
测试 。在测试过程中,作者保留MVR中的视图解码器来预测缺失视图的特征。这种设计可以有效地应对驾驶过程中的摄像头故障紧急情况。此外,对于没有缺失视图的常规情况,作者的M-BEV仍然表现良好,作者可以简单地忽略训练好的MVR,并将编码器的特征输入到3D检测解码器中。事实上,与基准模型(没有视图Mask和恢复)相比,作者的训练好的M-BEV在常规情况下更好,这是因为训练MVR可以扩展作者的M-BEV模型以应对各种难以Mask的情况。在作者的实验中,作者验证了这一结论(见表5)。
Experiments
Datasets and Metrics
作者在流行的NuScenes数据集上进行实验。NuScenes是一个大规模的自动驾驶基准数据集,其中数据来自大约20秒长度的1000个真实驾驶场景。这些场景被分为:700个用于训练,150个用于验证和测试。整个1.4M个3D边界框每秒标注两个关键帧。作者报告了BEV基础研究中使用的正式的3D目标检测指标,即平均精确率(mAP)和五个真阳性指标,包括平均平均转换误差(mATE)、平均平均尺度误差(mASE)、平均平均方向误差(mAOE)、平均平均速度误差(mAVE)、平均平均属性误差(mAAE),其中较小的值更好。此外,NuScenes检测分数(NDS)全面反映了这些指标,并且它是性能评估中最关注的指标。
Implementation Details
在实际世界中,驾驶场景通常很复杂,作者选择一个具有挑战性的设置来模拟真实情况,即作者使用RVM模块随机丢弃对应视图的图像,所有前视图的图像也丢失了,因此作者可以评估其他视图对于缺失视图重建的帮助。对于基准模型,作者遵循开源代码库中的官方实现。对于PETRv2,作者使用320x800分辨率的图像作为输入,视觉backbone是预训练的VoVNet-99。
对于BEVStereo,模型是通过GitHub上的官方代码获得的,使用ResNet-50作为视觉编码器,输入分辨率为256x704。这些模型按照官方设置进行训练,并得到与官方报告相当的性能。在进行推理时,作者对所有可能的情况进行评估。MVR模块在48个epoch上进行微调,学习率设置为。解码器中的transformer层为四层,隐层维度为512。作者在所有实验中使用8个A5000 GPU。在推理过程中没有使用测试时的增强方法。
作者在NuScenes数据集上进行了实验,该数据集包含了大约20秒长度的1000个真实驾驶场景。数据被分为训练、验证和测试,每个部分有约150个场景。每个场景都标注了两个关键帧,总共1.4M个3D边界框。作者报告了BEV-based研究中的正式3D目标检测指标,即平均精确率(mAP)和五个真阳性指标,包括平均平均转换误差(mATE)、平均平均尺度误差(mASE)、平均平均方向误差(mAOE)、平均平均速度误差(mAVE)、平均平均属性误差(mAAE),其中较小的值更好。此外,NuScenes检测分数(NDS)全面反映了这些指标,并且它是性能评估中最关注的指标。
作者的模型在NuScenes数据集上进行了微调,并与其他研究进行了比较。作者使用了与官方实现相同的设置,包括模型架构、损失函数和训练参数。作者使用8个A5000 GPU进行实验,并在推理时没有使用任何测试增强方法。作者的模型在各种情况下表现良好,并且与其他研究相比,作者的模型在NuScenes数据集上具有更高的性能。
作者使用了一些最先进的模型,如PETRv2和BEVStereo,这些模型使用了VoVNet-99和ResNet-50作为视觉backbone。作者还比较了作者的模型与MAE和Transformer-based models。作者的模型在所有情况下都优于这些模型,并且在一些情况下,作者的模型取得了更高的性能。
总的来说,作者的模型在NuScenes数据集上表现良好,并且优于其他最先进的模型。
正如之前提到的,作者在两个最新的最先进方法PETRv2和BEVStereo上应用了M-BEV范式,在这些模型中,作者在视觉编码器之后插入作者的局部MVR。作者将M-BEV范式与这些模型上的原始BEV范式进行了比较。此外,为了明确评估作者的设计的有效性,作者研究了每个缺失的摄像头视图的结果。
如表1和表2所示,与原始模型相比,M-BEV全面提高了性能。例如,对于背面视图的摄像头故障,M-BEV在PETRv2基准上取得了10.3%的mAP增长。背面右视图恢复的结果甚至可以与不缺失视图的设置相媲美。所有这些证明了作者设计的有效性。
Ablation Study
作者首先比较了全局MVR和局部MVR的效果,作者使用PETRv2 Baseline ,因为它的性能很好。为了确保公平性,当每个摄像头视图丢失时,两种MVR变体使用相同的调度进行训练,并且其他超参数保持不变。
结果如表3所示,局部MVR方法在所有指标上超过了全局MVR。这种优越性可能归因于,局部MVR利用相邻摄像机之间的独特的时空上下文,而不是使用可能包含噪声的所有视图。
作者自然地想要评估在实际场景中当有多台摄像头时,该方法的鲁棒性。请注意,对于每个设置,有多种可能的丢失视图选择,例如,对于丢失1/2/3/4/5个视图,有6/15/20/15/6种选择。因此,作者计算每个选择的NDS和mAP指标,并将其平均作为最终的NDS和mAP指标。如训练部分所述,作者训练一个模型来处理所有这些情况,以展示作者的鲁棒性。
如图4所示,作者的方法在所有丢失情况下都超过了基准PETRv2,尤其是在丢失视图数量增加时。这明显展示了作者的M-BEV的鲁棒性。此外,局部MVR始终优于全局MVR,基于在相邻视图之间探索不同的上下文。
MVR设计。为了验证作者提出的MVR模块中策略的贡献,在以下几个设置上进行消融实验,这些设置将在详细说明中解释。所有消融实验都使用局部MVR方法,因为它表现更好。
在表4中,作者从模型中使用的MVR模块、微调过程、位置嵌入(PE)和Mask比例依次进行消融实验,以验证它们如何贡献于最终结果,结果显示在一个随机摄像头故障下的一组平均值。请注意,使用所有策略时最佳性能,并在表4中加粗。
- 首先,作者消融了作者提出的MVR模块,即M-BEV方法的核心。为了验证其有效性,作者删除了作者提出的MVR模块,并使用RVM模块进行相同的微调。最终结果显示,与具有MVR的最佳模型相比,NDS和mAP分别下降了1.14%和1.28%。这表明作者的重构特征可以提供原始模型之外的信息。
- 然后,作者探索了微调过程的影响,该过程旨在缓解重建任务和检测任务之间的域间隙。没有微调的模型显示,NDS和mAP分别下降了2.61%和3.69%,这强烈证实了使用作者的RVM模块进行微调的重要性。
- 接下来,作者添加了PE到MVR解码器的输入,以获得更好的局部定位。消融实验表明,PE的确有所改进。带有PE的模型与不带PE的模型相比,平均NDS提高了0.28%,mAP提高了0.22%。
- 最后,作者消融了Mask比例。Mask比例取决于作者使用的相邻重叠部分的划分部分,左视图和右视图都可以为缺失的摄像头提供提示,因此作者只需要Mask中间部分。接近实际情况的合适比例对于良好的重构也非常重要。作者从60%到80%评估了不同的Mask比例,对于NDS和mAP,最佳Mask比例为76%。
分割 。作者也评估了在nuScenes数据集上使用PETRv2 Baseline 的M-BEV在地图分割任务上的表现,只需要更改预测头。当丢失一个摄像头视图时,Drive、Lane和Vehicle的IoU分数从79.5%、46.2%和49.9%下降到76.6%、41.1%和43.5%的平均值,而使用作者的MVR后,IoU分数提高到78.2%、45.1%和45.6%,明显优于原始模型。
泛化与计算 。最后,作者评估了M-BEV的泛化和计算成本。如表5所示,在无丢失视图的常规情况下,作者可以在训练后直接禁用MVR模块,GFLOPS保持与 Baseline 相同。然而,与MVR一起进行协同训练的模型性能优于 Baseline ,表明M-BEV范式可以通过Mask视图建模来扩展3D目标检测的学习能力。对于摄像头故障情况(一个视图缺失设置),局部MVR具有更好的性能,且额外计算成本很小,仅需6ms即可对一次检测做出响应,这可以忽略不计。所有这些证明了其在实际应用中的潜力。
Visualization
在图5中,作者给出了一些缺失摄像机重构特征和缺失视图检测结果的示例。如图5所示,作者的M-BEV重构特征可以作为原始特征的粗糙替代品,从中作者可以看出道路的轮廓和主要目标。对于检测结果,作者的M-BEV对于检测到缺失视图两侧的车辆是有帮助的。例如,由于背面视图的缺失,PETRv2模型无法在视图中检测到任何物体,但通过作者的重构,在重叠区域附近的车辆可以被检测到,而中间部分的小而远物体仍难以检测,这可能需要进一步探索。
Conclusion and Future Work
近年来,研究主要集中在为BEV特征设计不同的检测器并集成深度监督以提高检测性能。作者的工作重点是提高这些模型的鲁棒性,这对于确保驾驶安全至关重要。在本文中,作者提出了一种新颖的重构架构来应对摄像头故障的出现。
为了弥补缺失摄像头视图丢失的信息,作者设计了一种独特的MVR模块,该模块利用相邻摄像机的相关标记。重构后的图像特征可以提高与原始模型的检测结果。此外,M-BEV具有很好的泛化能力,并且需要很少的额外计算。通过大量实验验证了作者的M-BEV的有效性,它可以作为即插即用的模块广泛应用于增强3D目标检测模型的鲁棒性。
未来工作 。一个具有多个任务的全面系统需要进行广泛的实验验证,作者的M-BEV需要与各种基准进行更多的未来探索,以实现一个统一的感知、预测和规划任务框架,从而实现强健的自动驾驶。
参考
[1]. M-BEV: Masked BEV Perception for Robust Autonomous Driving
