统一的多摄像头3D感知框架!PETRv2论文精读

论文地址:PETRv2: A Unified Framework for 3D Perception from Multi-Camera Images

源代码:PETR

摘要

在本文中,我们提出了PETRv2,用于从多视角图像中进行3D感知的统一框架。基于PETR [24],PETRv2探索了时间建模的有效性,利用前一帧的时间信息来提升3D目标检测的性能。更具体地说,我们将PETR中的3D位置编码(3D PE)扩展用于时间建模。3D PE通过在不同帧之间对齐目标位置来实现时间对齐。此外,我们进一步引入了一种特征引导的位置编码器(FPE),以提高3D PE的数据适应性。为了支持多任务学习(例如,BEV分割和3D车道检测),PETRv2通过引入特定于任务的查询(在不同空间中初始化)提供了一个简单而有效的解决方案。PETRv2在3D目标检测、鸟瞰图分割和3D车道检测方面均达到了最先进的性能。我们还对PETR框架进行了详细的鲁棒性分析。我们希望PETRv2能够成为3D感知的一个强大基线。

1. 引言

最近,基于多相机图像的自动驾驶系统中的3D感知引起了广泛关注。多相机3D目标检测方法可以分为基于鸟瞰图(BEV)的方法和基于DETR的方法。基于BEV的方法(例如BEVDet [12])通过LSS [33]将多视角特征显式转换为鸟瞰图(BEV)表示。与这些基于BEV的方法不同,基于DETR的方法 [39]将每个3D目标建模为一个目标查询,并通过匈牙利算法 [16]实现端到端建模。在这些方法中,PETR [24]基于DETR [4],通过添加3D位置编码(3D PE)将多视角2D特征转换为3D位置感知特征。从3D空间初始化的目标查询可以通过与生成的3D位置感知特征的交互直接感知3D目标信息。在本文中,我们旨在通过扩展PETR以支持时序建模和多任务学习,构建一个强大且统一的框架。

对于时序建模,主要问题是如何在3D空间中对齐不同帧中的目标位置。现有工作 [11, 20] 从特征对齐的角度解决了这一问题。例如,BEVDet4D [11]通过姿态变换显式对齐前一帧的BEV特征与当前帧。然而,PETR隐式地将3D位置编码到2D图像特征中,无法执行显式的特征变换。由于PETR已经证明了3D PE(将3D坐标编码到2D特征中)在3D感知中的有效性,我们好奇3D PE是否仍然适用于时间对齐。在PETR中,相机视锥空间中的网格点被共享用于不同视角,并通过相机参数转换为3D坐标。然后,这些3D坐标被输入到一个简单的多层感知机(MLP)中以生成3D PE。在我们的实践中,我们发现通过简单地对齐前一帧的3D坐标与当前帧的3D坐标,PETR在时间条件下表现良好。

对于多任务学习,BEVFormer [20]提供了一个统一的解决方案。它将BEV图上的每个点定义为一个BEV查询。因此,BEV查询可以用于3D目标检测和BEV分割。然而,当BEV图的分辨率相对较大(例如256×256)时,BEV查询的数量(例如>60,000)往往会变得非常庞大。这种对目标查询的定义显然不适合PETR,因为PETR在Transformer解码器中使用了全局注意力。在本文中,我们为多任务学习设计了一个统一的稀疏查询解决方案。对于不同的任务,我们在不同的空间中定义稀疏的特定于任务的查询。例如,用于3D车道线检测的车道查询线在3D空间中以锚点车道线的风格定义,而用于BEV分割的分割查询则在BEV空间中初始化。这些稀疏的特定于任务的查询被输入到同一个Transformer解码器中以更新它们的表示,然后进一步注入到不同的特定于任务的头部中以产生高质量的预测。

此外,我们还改进了3D PE的生成,并对PETRv2进行了详细的鲁棒性分析。如上所述,PETR中的3D PE是基于相机视锥空间中的固定网格点生成的。来自同一相机视角的所有图像共享3D PE,使得3D PE与输入图像无关。在本文中,我们通过引入特征引导的位置编码器(FPE)进一步改进了原始的3D PE。具体来说,首先将投影的2D特征注入到一个小的MLP网络和一个Sigmoid层中,以生成注意力权重,然后用这些权重以逐元素的方式重新加权3D PE。改进后的3D PE是数据依赖的,为Transformer解码器中的查询学习提供了信息指导。为了对PETRv2进行全面的鲁棒性分析,我们考虑了多种噪声情况,包括相机外参噪声、相机缺失和时间延迟。总结来说,我们的贡献包括:

  • 我们研究了一种概念上简单的位置编码变换扩展到时间表示学习。通过3D PE的姿态变换可以实现时间对齐,并进一步提出了特征引导的位置编码器,以利用2D图像特征重新加权3D PE。

  • 为PETR引入了一个简单而有效的解决方案以支持多任务学习。通过引入特定于任务的查询,支持BEV分割和3D车道检测。

  • 实验表明,所提出的框架在3D目标检测、BEV分割和3D车道检测方面均达到了最先进的性能。还提供了详细的鲁棒性分析,以全面评估PETR框架。

2. 相关工作

2.1 多视角3D目标检测

以往的研究主要集中在单目设置下的3D目标检测 [2, 6, 13--15, 29, 35, 37, 38]。近年来,基于多视角图像的3D目标检测逐渐受到更多关注。ImVoxelNet [34] 和 BEVDet [12] 将多视角图像特征投影到鸟瞰图(BEV)表示中,然后使用类似于3D点云的方法(如 [42])进行3D目标检测。DETR3D [39] 和 PETR [24] 主要受到端到端DETR方法 [4, 23, 28, 46] 的启发,将目标查询定义在3D空间中,并在Transformer解码器中与多视角图像特征进行交互。BEVFormer [20] 进一步将时间信息引入基于视觉的3D目标检测中。它采用空间交叉注意力聚合图像特征,同时使用时间自注意力融合历史BEV特征。BEVDet4D [11] 通过时间建模扩展了BEVDet [12],并取得了良好的速度估计效果。与BEVFormer [20] 和 BEVDet4D [11] 不同,它们在BEV空间中对齐多帧特征,我们从PETR扩展了时间版本,并从3D位置编码(3D PE)的角度实现了时间对齐。

2.2 BEV分割

BEV分割关注于在BEV视角下的感知。它以多视角图像作为输入,并将输出栅格化到地图视图上。VPN [30] 提出了一种在模拟环境中运行的视图解析网络,并将其转移到现实环境中以执行跨视图语义分割。LSS [33] 通过隐式深度估计将2D特征转换到3D空间,并使用不同的heads进行BEV分割和规划。 [40] 进一步利用相机参数将从主干网络中提取的特征投影到3D自车坐标系中,以生成BEV表示,然后使用multi-task heads进行3D检测和分割。BEVFormer [20] 通过让预定义的网格状BEV查询与2D图像特征交互来生成BEV特征。CVT [43] 使用跨视图Transformer隐式学习几何变换。HDMapNet [19] 将多视角图像转换到BEV.视图中,并生成局部语义地图的矢量化表示。BEVSegFormer [32] 提出使用多相机可变形注意力构建语义地图。

2.3 3D车道线检测

BEV分割可以重建局部地图的元素,但无法建模不同实例之间的空间关联。近年来,3D车道线检测任务逐渐受到更多关注。3D-LaneNet [7] 是第一个进行3D车道线预测的方法。它使用逆透视变换(IPM)将特征从正视图转换到BEV。Gen-LaneNet [8] 引入了一种新的锚点车道线表示方法,以对齐透视锚点表示和BEV特征。Persformer [5] 使用可变形注意力通过关注参考点周围的局部上下文来生成BEV特征。CurveFormer [1] 引入了曲线交叉注意力模块,用于计算曲线查询和图像特征之间的相似性,并使用可变形注意力获取与参考点对应的图像特征。

3. 方法

图1. PETRv2的框架图。 从多视角图像中通过backbone提取2D特征,并按照PETR [24]中的方法生成3D坐标。为了实现时间对齐,首先将PETR中前一帧 t−1 的3D坐标通过姿态变换对齐到当前帧 t。然后,将两帧的2D图像特征和3D坐标分别拼接在一起,并输入到特征引导的位置编码器中,以生成Transformer解码器的键(key)和值(value)组件。检测查询(det queries)、分割查询(seg queries)和车道查询(lane queries)分别在不同的空间中初始化,并与Transformer解码器中的键和值组件进行交互。更新后的查询进一步通过特定于任务的head用于预测3D边界框、BEV分割图和3D车道线。A 表示从帧 t−1 到帧 t 的3D坐标对齐,C 表示沿batch轴的拼接操作。

3.1 总体架构

如图1所示,PETRv2的整体架构基于PETR [24],并扩展了时间建模和鸟瞰图(BEV)分割功能。从多视角图像中通过2D主干网络(例如ResNet-50)提取2D图像特征,并按照PETR [24]中描述的方法从相机视锥空间生成3D坐标。考虑到自车运动,前一帧 t−1 的3D坐标首先通过姿态变换转换到当前帧 t 的坐标系中。然后,将相邻两帧的2D特征和3D坐标分别拼接在一起,并输入到特征引导的位置编码器(FPE)。之后,利用FPE生成Transformer解码器的键(key)和值(value)组件。进一步地,将特定于任务的查询(包括检测查询(det queries)和分割查询(seg queries))输入到Transformer解码器中,并与多视角图像特征进行交互。这些查询是从不同的空间初始化的。最后,更新后的查询被输入到特定于任务的heads中,以进行最终预测。

3.2 时间建模

图2. 从帧 t−1 到帧 t 的坐标系变换示意图。

PETR [24]利用图像特征和投影的3D点生成用于多视角3D检测的隐式3D特征。在本节中,我们通过3D坐标对齐(CA)扩展了PETR,以实现更好的定位和速度估计。3D坐标对齐是指将帧 t−1 的3D坐标转换到帧 t 的坐标系中(见图2)。为了清晰起见,我们首先定义一些坐标系:帧 t 的相机坐标系为 c(t),激光雷达坐标系为 l(t),自车坐标系为 e(t),以及全局坐标系为 g。我们用 表示从源坐标系到目标坐标系的变换矩阵。

我们在帧 t 中默认使用激光雷达坐标系 l(t) 作为多视角相机3D位置感知特征生成的3D空间。从第 i 个相机投影的3D点 可以表示为:

其中,(t)​ 是帧 t 中相机视锥空间网格点的集合, 是第 i 个相机的内参矩阵。给定辅助帧 t−1,我们将帧 t−1 的3D点坐标对齐到帧 t:

通过全局坐标系作为帧 t−1 和帧 t 之间的桥梁,可以轻松计算

对齐后的点集 用于生成3D位置编码(见第3.4节)。
图3. 多任务学习中三种查询的定义。 检测查询(det query)在整个3D空间中定义,而分割查询(seg query)在鸟瞰图(BEV)空间中初始化。车道查询(lane query)通过由300个锚点构成的锚线定义。

3.3 多任务学习

在本节中,我们旨在为PETR [24]增加分割查询(seg queries)和车道线查询(lane queries),以支持高质量的BEV分割和3D车道线检测。

BEV分割

高分辨率的BEV map可以被划分为多个小块。我们引入分割查询(seg query),每个seg query对应于BEV的一个特定区域(例如,BEV map左上角的25×25像素区域)。如图3(b)所示,seg query在BEV空间中通过固定的锚点初始化,类似于PETR中检测查询(det query)的生成方式。这些锚点通过一个简单的两层MLP投影到seg query中。之后,seg query被输入到Transformer解码器中,并与图像特征进行交互。对于Transformer解码器,我们使用与检测任务相同的框架。最后,更新后的seg query被输入到分割头部(类似于CVT [43]中的解码器),以预测最终的分割结果。我们使用Focal Loss分别监督每个类别的预测结果。

3D车道线检测

我们在PETR上增加了车道线查询(lane queries),以支持3D车道线检测(见图3(c))。我们定义了3D锚点车道线,每个车道线由一组有序的3D坐标表示:l=,其中 n 是每个车道线的采样点数量。为了提高3D车道线预测能力,我们使用沿Y轴均匀采样的固定点集,类似于Persformer [5]。与Persformer不同的是,我们的锚点车道线与Y轴平行,而Persformer为每个锚点车道线预定义了不同的斜率。从Transformer解码器中更新后的车道线查询用于预测3D车道线实例。3D车道线head预测车道类别 C 以及相对于锚点车道的X轴和Z轴的相对偏移量 (Δx,Δz)。由于3D车道线的长度不是固定的,我们还预测一个可见性向量 ,其大小为 n,用于控制车道线的起始点和结束点。我们使用Focal Loss监督车道线类别的预测和可见性预测,并使用L1损失监督偏移量的预测。

3.4 特征引导的位置编码器

PETR将3D坐标转换为3D位置编码(3D PE)。3D位置编码的生成可以表示为:

其中,ψ(⋅) 是一个简单的多层感知机(MLP)。PETR中的3D PE与输入图像无关。我们认为,3D PE应该由2D特征驱动,因为图像特征可以提供一些信息指导(例如深度)。本文提出了特征引导的位置编码器(FPE),它隐式地引入了视觉先验。特征引导的3D位置编码的生成可以表示为:

其中,ξ 也是一个小型的MLP网络,(t)​ 是第 i 个相机的2D图像特征。如图4所示,通过1×1卷积投影的2D图像特征被输入到一个小型MLP网络 ξ 和Sigmoid函数中,以获得注意力权重。3D坐标通过另一个MLP网络 ψ 转换后,与注意力权重相乘以生成3D PE。3D PE与2D特征相加,得到Transformer解码器的键值对。投影的2D特征用作Transformer解码器的值组件。
图4. 特征引导的位置编码器架构。 与PETR [24]不同,PETRv2中的3D位置编码(3D PE)以数据依赖的方式生成,并由图像特征引导。

3.5 鲁棒性分析

尽管最近有许多关于自动驾驶系统的研究工作,但只有少数工作 [20, 33] 探讨了所提方法的鲁棒性。LSS [33]展示了在测试时外参噪声和相机丢失情况下的性能。类似地,BEVFormer [20]展示了模型变体对外参的鲁棒性。在实际应用中,存在多种传感器误差和系统偏差,验证这些情况下的性能至关重要,因为自动驾驶系统对安全性和可靠性有着极高的要求。我们旨在对我们的方法在不同条件下进行全面研究。如图5所示,我们关注以下三种常见的传感器误差:

  • 外参噪声:外参噪声在现实场景中非常常见,例如由于车辆颠簸导致的相机抖动或环境因素导致的相机偏移。在这种情况下,系统提供的外参并不准确,感知结果会受到影响。

  • 相机丢失:当某个相机出现故障或被遮挡时,会发生相机图像丢失。多视角图像提供了全景视觉信息,但在现实世界中,其中一个相机可能缺失。因此,评估这些图像的重要性是必要的,以便提前制定传感器冗余策略。

  • 相机时间延迟:由于相机曝光时间较长(尤其是在夜间),相机时间延迟也是一个挑战。长时间曝光会导致系统接收到的是之前时间的图像,从而带来显著的输出偏差。

  • 图5. 我们分析了PETR系列在三种模拟传感器误差下的系统鲁棒性:(a) 外参噪声,(b) 相机丢失,(c) 相机时间延迟。

4. 实验

4.1 数据集和评估指标

我们在 nuScenes 基准测试 [3] 和 OpenLane 基准测试 [5] 上评估了我们的方法。nuScenes [3] 是一个大规模的多任务数据集,涵盖了3D目标检测、BEV分割、3D目标跟踪等任务。该数据集官方分为训练集/验证集/测试集,分别包含700/150/150个场景。我们主要关注两个子任务:3D目标检测和BEV分割。我们还在OpenLane基准测试 [5] 上进行了3D车道线检测实验。OpenLane [5] 是一个大规模的真实世界3D车道线数据集,包含20万帧和超过88万条精心标注的车道线,覆盖了14种车道线类别。对于3D目标检测,每个场景有20秒的视频帧,并围绕40个关键帧进行标注。我们报告官方评估指标,包括 nuScenes 检测分数(NDS)、平均精度(mAP)以及五个真正例(TP)指标:平均平移误差(mATE)、平均尺度误差(mASE)、平均方向误差(mAOE)、平均速度误差(mAVE)和平均属性误差(mAAE)。NDS 是一个综合指标,用于评估检测性能。对于BEV分割,我们遵循 LSS [33] 的方法,使用 IoU 分数作为评估指标。真值包括三个不同类别:可行驶区域、车道线和车辆。车道线类别由两个地图层组成:车道分隔线和道路分隔线。对于车辆分割,我们通过将3D边界框投影到BEV平面 [33] 来获得BEV真值 [33]。车辆分割真值包括所有属于"车辆"元类别的边界框,其中包含自行车、公交车、汽车、工程机械、摩托车、拖车和卡车。对于3D车道线检测,我们遵循 Persformer [5] 的方法,使用 F1 分数和类别准确率作为评估指标。当预测的车道线实例中有75%的点与真值的欧几里得距离小于1.5米时,该车道线实例被认为是正确预测的。我们还报告了 X 近端误差、X 远端误差、Z 近端误差和 Z 远端误差,以评估模型在指定范围内的平均误差。

4.2 实现细节

在我们的实现中,使用 ResNet [9]、VoVNetV2 [17] 和 EfficientNet [36] 作为backbone进行特征提取。我们使用 P4 特征(合并主干网络的 C4 和 C5 特征)作为 2D 特征,其分辨率是输入图像的 1/16。3D 坐标的生成与 PETR [24] 保持一致。遵循 BEVDet4D [11] 的方法,我们在训练期间随机采样一个帧作为前一帧,时间间隔范围为 [3T, 27T],在推理时采样时间为 15T。T(≈0.083 秒)是两个连续帧之间的时间间隔。我们的模型使用 AdamW [27] 优化器进行训练,权重衰减为 0.01。学习率初始化为 2.0×10⁻⁴,并采用余弦退火策略 [26] 进行衰减。所有实验(除了消融研究)均在 8 块 Tesla A100 GPU 上进行,总batch size为 8,训练 24 个epochs(2× schedule)。在推理时,我们没有使用测试时增强方法。对于 3D 目标检测,我们在 nuScenes 测试数据集上进行了 1500 个检测查询的实验。按照 PETR [24] 的设置,我们在 3D 世界空间中初始化一组可学习的锚点,并通过一个小的 MLP 网络生成这些查询。类似于 FCOS3D [38],我们为回归目标添加了额外的解耦层。我们还将 DN-DETR [18] 中的查询去噪方法扩展到 3D 目标检测中,以加速收敛。对于每个真实 3D 边界框,其中心通过随机噪声进行偏移,噪声范围小于 (w/2, l/2, h/2),其中 (w, l, h) 是目标的尺寸。我们还采用了 Focal Loss [21] 进行分类,并使用 L1 loss进行 3D 边界框回归。匈牙利算法 [16] 用于GT和预测之间的标签分配。对于BEV分割,我们遵循 [33] 中的设置。我们使用 nuScenes 数据集提供的地图层生成 200×200 的BEV真值。我们将块大小设置为 25×25,并使用 625 个分割查询来预测最终的BEV分割结果。对于 3D 车道线检测,我们遵循 [5] 中的设置。图像的输入大小为 360×480。我们使用 100 个车道线查询来预测 3D 车道线。我们将每个锚点车道线中的点数设置为 10,并将预测范围设置为 Y 轴上的 [3m, 103m] 和 X 轴上的 [-10m, 10m]。我们在 Y 轴上的几个固定位置计算距离:[5, 10, 15, 20, 30, 40, 50, 60, 80, 100],用于 3D 锚点车道线。为了模拟外参噪声并评估其影响,我们选择随机对一个相机的外参应用 3D 旋转。3D 旋转在实际场景中非常常见且典型,我们忽略其他噪声模式(如平移),以避免多变量干扰。具体来说,我们从多个相机中随机选择一个进行 3D 旋转。设 α、β、γ 分别为沿 X、Y、Z 轴的旋转角度(单位:度),我们研究了几种旋转设置,最大幅度为 ∈ {2, 4, 6, 8},其中 = 2 表示 α 从 [-2, 2] 中均匀采样。在实验中,我们用 = M 表示 = = = M。

表1. nuScenes验证集上近期工作的比较。 FCOS3D和PGD的结果经过了微调,并使用测试时增强进行了测试。DETR3D、BEVDet和PETR是使用CBGS [45]进行训练的。†表示从FCOS3D backbone初始化。

表2. nuScenes测试集上近期工作的比较。*表示使用了外部数据进行训练。‡ 表示使用了测试时增强(Test Time Augmentation)。"ms" 表示使用了两种输入分辨率:800×320 和 1600×640。

表3. nuScenes验证集上近期鸟瞰图(BEV)分割工作的比较。 *表示使用了外部数据进行训练。

M2BEV的性能是使用X-101 [41]backbone报告的。

**表4. OpenLane基准测试上近期3D车道检测工作的比较。**PETRv2-V和PETRv2-E分别是使用VoVNetV2 [17]和EfficientNet [36]backbone的我们提出的方法。*表示我们的方法使用了400个锚点。Persformer的性能是使用EfficientNet [36]backbone报告的。‡ 表示使用IPM(逆透视变换)将CondLaneNet [22]的2D车道线检测结果投影到BEV。

4.3 与最新方法的比较

表 1 在 nuScenes 验证集上比较了我们方法与近期工作的性能。我们的方法在公开方法中达到了最先进的性能。PETRv2 即使使用 ResNet-50 也能达到 39.8% 的 mAP 和 49.4% 的 NDS。表 2 展示了在 nuScenes 测试集上的性能比较。我们的 PETRv2 使用 VoVNet 时比 PETR 提高了很大的幅度(NDS 提高 8.3%,mAP 提高 6.7%)。得益于时序建模,mAVE 指标可以达到 0.343 m/s,而 PETR 为 0.808 m/s。与其他时序方法相比,PETRv2 比 BEVDet4D [11](使用 Swin-Base [25])和 BEVFormer [20] V2-99 [17] 高出 2.2% 的 NDS。这表明通过 3D PE 进行时间对齐也能取得显著的性能提升。值得注意的是,PETRv2 可以轻松应用于实际应用,无需显式的特征对齐。

我们还在 nuScenes 数据集上比较了BEV分割的性能。如表 3 所示,我们使用 ResNet-101 和 VoV-99 backbones进行了实验。由于 PETRv2 是 PETR 的时序扩展版本,因此我们主要与 BEVFormer 进行公平比较。使用 ResNet-101 backbone时,我们的 PETRv2 在 IoU-lane 和 IoU-Drive 指标上大幅超越了 BEVFormer,并在 IoU-Vehicle 指标上取得了相当的性能。使用预训练的 VoV-99 backbone时,我们的 PETRv2 达到了sota性能。

如表 4 所示,我们比较了其他最新的 3D 车道线检测方法的性能。由于 Persformer [5] 使用 EfficientNet backbone是一种静态方法,因此为了公平比较,我们没有使用时序信息。在使用相同的 EfficientNet backbone时,我们的方法达到了 51.9% 的 F1 分数,而 Persformer 为 50.5%。使用强大的预训练 VoV-99 backbone时,我们的方法性能大幅提升。我们也尝试使用400个锚点来表示每条车道线,实验结果表明,增加锚点数量可以进一步提升性能。我们发现,仅用10个锚点难以准确建模复杂的3D车道线,因此难以实现精确预测。值得注意的是,在我们的方法中,增加锚点数量只会带来边际计算成本的增加。主要的额外开销来自于车道线head中MLP维度的提升。

**表5. 3D坐标对齐和特征引导位置编码器的影响。**CA表示3D坐标对齐,FPE表示提出的特征引导位置编码器。

4.4 消融研究

在本节中,我们使用 VoVNet99 backbone进行消融实验。该backbone在 DDAM15M 数据集 [31] 和 nuScenes 训练集上进行了预训练。输入图像的分辨率为 800×320,模型训练了24个epochs。检测查询的数量设置为900。在这里,我们探讨了我们设计中两个关键组件的效果:3D坐标对齐(CA)和特征引导的位置编码器(FPE)。为了清晰起见,我们在消融实验中仅训练了3D检测分支。如表5(a)所示,不使用CA时,PETRv2的性能相比PETR仅提升了2.7%的NDS和0.5%的mAP。引入CA后,性能进一步提升了2.1%的NDS和0.9%的mAP。mAVE指标降低到了0.429 m/s,与PETR baseline相比有显著提升。为了验证FPE的有效性,我们将PETR中的3D位置编码器替换为FPE。NDS指标提升了1.5%,而mAP仅提升了0.2%。当我们在PETRv2上应用FPE时,mAP指标相对提升了0.8%。这表明FPE模块对PETR的时序版本也是有益的。

表6. nuScenes验证集上带有外参噪声的定量结果。 每个单元格中的指标为mAP(%)。 = M表示三个轴的最大角度为M度。

4.5 鲁棒性分析

表6总结了在nuScenes数据集上进行外参噪声测试的定量结果。我们比较了PETRv2、PETR和PETR+FPE(FPE表示特征引导的位置编码器)的性能。随着噪声的增加,所有三种模型的性能持续下降,表明外参噪声对模型性能有显著影响。在极端噪声设置(=8)下,PETRv2的mAP下降了4.12%,NDS下降了2.85%;PETR+FPE的mAP下降了4.68%,NDS下降了3.42%;而PETR的mAP下降了6.33%,NDS下降了4.54%。我们观察到FPE可以提高模型对外参噪声的鲁棒性,而多帧的时间扩展并没有带来显著的鲁棒性提升。
图6. 在nuScenes验证集上丢失每个相机图像时的性能表现。
FR、FL、BL和BR分别表示前右、前左、后左和后右相机。

我们还展示了在随机丢失一个相机图像时模型的性能(见图6)。在nuScenes数据集中,六个相机中,前视和后视相机最为重要,丢失它们会导致mAP分别下降5.05%和13.19%。后视相机尤为重要,因为它具有较大的视场角(120°)。丢失其他相机也会导致平均性能下降2.93%的mAP和1.93%的NDS。需要注意的是,nuScenes数据集中相机之间的重叠区域非常小,因此任何一个相机的丢失都很难通过相邻相机进行补偿。在实际应用中,传感器冗余是必要的,以应对突发情况,同时需要进一步探索相机之间的互补性。

表7展示了相机时间延迟对模型性能的影响。在nuScenes数据集中,关键帧标注了真值,我们利用关键帧之间的未标注帧作为输入图像来模拟时间延迟。0.083秒的时间延迟导致mAP下降了3.19%,NDS下降了8.4%,表明时间延迟对检测性能有显著影响。当时间延迟增加到超过0.3秒时,性能急剧下降,mAP下降到26.08%,NDS下降到36.54%。由于时间延迟在实际系统中不可避免,并且对检测性能影响很大,因此需要更多关注这一问题。

**表7. 相机时间延迟对性能的影响(以mAP指标衡量)。**时间延迟单位T ≈ 0.083秒。

5 总结

在本文中,我们介绍了PETRv2,这是一个用于从多相机图像中进行3D感知的统一框架。PETRv2通过时序建模和多任务学习扩展了PETR baseline。通过在3D位置编码上进行时间对齐,PETRv2自然地实现了多帧建模,并提升了3D检测性能。为了全面理解PETRv2框架,我们进一步提供了PETRv2在三种模拟传感器误差下的鲁棒性详细分析。我们希望PETRv2能够作为一个强大的baseline和3D感知的统一框架。在未来的研究中,我们可能会探索大规模预训练、更多的3D视觉任务以及自动驾驶系统中的多模态融合。

相关推荐
紫雾凌寒11 分钟前
解锁机器学习核心算法|神经网络:AI 领域的 “超级引擎”
人工智能·python·神经网络·算法·机器学习·卷积神经网络
WBingJ22 分钟前
2月17日深度学习日记
人工智能
zhengyawen66623 分钟前
深度学习之图像分类(一)
人工智能·深度学习·分类
莫莫莫i27 分钟前
拆解微软CEO纳德拉战略蓝图:AI、量子计算、游戏革命如何改写未来规则!
人工智能·微软·量子计算
C#Thread30 分钟前
机器视觉--图像的运算(加法)
图像处理·人工智能·计算机视觉
无极工作室(网络安全)42 分钟前
机器学习小项目之鸢尾花分类
人工智能·机器学习·分类
涛涛讲AI1 小时前
文心一言大模型的“三级跳”:从收费到免费再到开源,一场AI生态的重构实验
人工智能·百度·大模型·deepseek
视觉人机器视觉1 小时前
机器视觉中的3D高反光工件检测
人工智能·3d·c#·视觉检测
伊一线天2 小时前
体验用ai做了个python小游戏
人工智能·python·pygame
不爱学英文的码字机器2 小时前
深度学习的力量:精准肿瘤检测从此不再遥远
人工智能·深度学习