StreamPETR学习记录

StreamPETR是一种用于多视角3D物体检测的新方法,它提出了以物体为中心的时间建模,通过逐帧传播物体查询来处理长序列。这种方法引入了运动感知的层归一化,有效地建模物体运动,同时保持计算效率。在nuScenes基准测试中,StreamPETR实现了与激光雷达方法相当的性能,且具有较低的计算成本和较高的运行速度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


注:方便自己日后回顾,同时分享给有需要的同学,仅用于学习交流,想看英文原文的点击下方链接原文链接


Exploring Object-Centric Temporal Modeling for Efficient Multi-View 3D Object Detection

在这里插入图片描述

摘要

这篇论文提出了一种名为StreamPETR的长序列建模框架,用于多视角3D物体检测。该模型基于PETR系列中的稀疏查询设计,系统地开发了一种以物体为中心的时间机制。该模型以在线方式执行,长期历史信息通过逐帧的物体查询进行传播。此外,我们引入了一种运动感知的层归一化来建模物体的运动。与单帧基线相比,StreamPETR仅具有可忽略的计算成本,却实现了显著的性能提升。在标准的nuScenes基准测试中,它是第一个实现与基于激光雷达的方法相当(67.6% NDS&65.3% AMOTA)的在线多视图方法。轻量级版本实现了45.0% mAP和31.7 FPS,优于最先进的方法(SOLOFusion)2.3% mAP和1.8倍更快的FPS。

1 Introduction

仅基于相机的3D检测对于自动驾驶非常重要,因为其部署成本低且易于检测道路元素。最近,通过利用时间信息,多视角物体检测取得了显著进展[27, 16, 31, 25, 39, 29]。历史特征有助于检测遮挡物体,并极大地提高了性能。根据时间表示之间的差异,现有方法可以粗略地分为BEV时间和透视时间方法。

BEV时间方法[27, 16, 25, 39]明确地将BEV特征从历史帧变形到当前帧,如图1(a)所示,其中BEV特征作为时序建模的高效中间表示。然而,高度结构化的BEV特征限制了移动物体的建模。这种范式需要一个大的感受野来缓解这个问题[16, 39, 27]。

与这些方法不同,透视时间方法[31, 29]主要基于DETR[4, 60]。稀疏查询设计有助于对移动物体进行建模[29]。然而,稀疏的物体查询需要与多帧图像特征进行长期时间依赖性交互(见图1(b)),导致多次计算。因此,现有的工作要么陷入解决移动物体的困境,要么引入多个计算成本。

根据上述分析,我们假设可以将稀疏查询作为时间传播的隐藏状态。这样,我们就可以利用物体查询来建模移动物体,同时保持高效率。因此,我们引入了一种新的范式:以物体为中心的时间建模,并设计了一种高效的框架,称为StreamPETR,如图1©所示。StreamPETR直接在流式视频上执行逐帧3D预测。它对于运动建模非常有效,并且能够建立长期的时空交互。
具体而言,首先建立一个内存队列来存储历史物体查询。然后,传播变换器对当前物体查询进行长距离的时间和空间交互。更新后的物体查询用于生成3D边界框并推入内存队列。此外,引入了一个运动感知的层归一化(MLN),以隐式编码不同时刻自车和周围物体的运动。
在这里插入图片描述

与现有的时间方法相比,所提出的以物体为中心的时间建模带来了几个优点。StreamPETR每个时间戳只处理少量物体查询,而不是密集的特征图,消耗可忽略的计算负担(如图2所示)。对于移动物体,MLN减轻了视频流中的累积误差。除了先前方法中使用的位置先验外,StreamPETR还通过全局注意力考虑语义相似性,从而促进了运动场景中的检测。总之,我们的贡献是:
• 我们提取了流式多视角3D检测的关键,并系统地设计了一种以物体为中心的时间建模范式。长期历史信息通过逐帧物体查询进行传播。
• 我们开发了一种以物体为中心的时间建模框架,称为StreamPETR。它同时对移动物体和长期时空交互进行建模,消耗可忽略的存储和计算成本。
• 在标准nuScenes数据集上,StreamPETR优于所有在线仅相机算法。广泛的实验表明,它可以很好地推广到其他基于稀疏查询的方法,例如DETR3D [47]。

2 Related Work

2.1 Multi-view 3D Object Detection

多视角3D检测是自动驾驶中的重要任务,需要连续处理多个摄像头图像并预测随时间变化的3D边界框。Pioneer的工作[47, 30, 18, 27, 19, 48]关注于如何在单帧中高效地将多个视角转换为统一的3D空间。这种转换可以分为基于BEV的方法[18, 27, 49, 15, 25, 19]和基于稀疏查询的方法[47, 30, 29, 5, 48]。最近的工作为了缓解遮挡问题和简化速度预测的困难,还引入了时间信息来扩展这两种范式。

将单帧BEV方法扩展到时间建模相对直观。BEVFormer [27]首先将顺序时间建模引入到多视角3D物体检测中,并应用时间自注意力。BEVDet系列[16、25、23]使用连接操作来融合相邻的BEV特征,并取得了显著的结果。此外,SOLOFusion [39]将BEVStereo [23]扩展到长期记忆,并取得了良好的性能。在没有中间特征表示的情况下,基于查询的方法的时间建模更具挑战性。PETRv2 [31]执行全局交叉注意力,而DETR4D [34]和Sparse4D [29]应用稀疏注意力来模拟多帧之间的交互,这导致多次计算。然而,稀疏查询设计方便建模移动对象[29]。为了结合两种范式的优点,我们利用稀疏物体查询作为中间表示,可以模拟移动对象并有效地传播长期时间信息。

2.2 Query Propagation

自DETR [4]在2D物体检测中提出物体查询以来,该方法已经应用于许多下游任务[54、35、57、56、12]来建模时间交互作用。在视频物体检测方面,LWDN [20]采用了一个类脑记忆机制来传播和更新记忆特征。QueryProp [12]执行查询交互以减少非关键帧上的计算成本。它取得了显著的改进并保持高效率。3D-MAN [52]有类似的想法,将单帧激光雷达检测器扩展到多帧,有效地结合了来自场景不同视角的特征。在物体跟踪方面,MOTR [54]和TrackFormer [35]提出了跟踪查询来建模跨帧的物体关联。MeMOT [2]使用存储器库来建立长期时间依赖性,进一步提高了性能。MOTRv2 [57]通过引入额外的检测器来缓解检测和关联任务之间的冲突。MUTR [56]和PF-Track [36]将MOTR [54]扩展到多视角3D物体跟踪,并取得了良好的结果。

3 Delving into Temporal Modeling

为了方便我们的研究,我们提出了一个通用的公式,用于各种时间建模设计。给定透视图特征F2d = {F0 2d ··· Ft 2d},密集的BEV特征Fbev = {F0 bev ··· Ft bev}和稀疏的物体特征Fobj = {F0 obj ··· Ft obj}。主要的时间建模方法可以公式化为:其中φ是时间融合操作,F˜out是包含时间信息的输出特征。我们首先描述了现有的BEV和透视图时间建模方法。之后,详细介绍了提出的以物体为中心的时间建模方法。
在这里插入图片描述

BEV时间建模使用网格结构的BEV特征来执行时间融合。为了补偿自车运动,通常将上一帧特征Ft-1 bev与当前帧对齐。然后可以应用一个时间融合函数φ(如串联[16、25]或可变形注意力[27])来获得中间时间表示F˜t bev。将上述过程扩展到长期时间建模,有两条主要路径。
在这里插入图片描述

第一条路径是将历史k个BEV特征与当前帧对齐并连接它们。另一条路径是通过BEV特征F˜t-1 bev的隐藏状态以递归方式传播长期历史信息。
在这里插入图片描述

然而,BEV时间融合只考虑静态的BEV特征,忽略了物体的运动,导致空间位移。
透视图时间建模主要是通过物体查询和透视图特征之间的交互来实现的。时间函数φ通常通过空间交叉注意力[31、29、34]来实现:对象查询和多帧透视图之间的交叉注意力需要重复的特征聚合。简单地扩展到长期时间建模会大大增加计算成本。
在这里插入图片描述
在这里插入图片描述

以物体为中心的时间建模是我们提出的以物体为中心的解决方案,通过物体查询来建模时间交互。通过物体查询,可以方便地应用基于估计状态Ft-1 obj的运动补偿。其中µ是一个显式的线性速度模型或隐式函数,用于编码运动属性M(包括相对时间间隔△t、估计速度v和自我姿态矩阵E,这些定义与第4节相同)。进一步地,可以构建一个全局注意力φ,通过逐帧的对象查询来传播时间信息:
在这里插入图片描述

4 Method

4.1 Overall Architecture

根据图3所示,StreamPETR是建立在端到端稀疏查询式3D物体检测器[30, 47]的基础上构建的。它由图像编码器、递归更新的内存队列和传播变换器[43]组成。图像编码器是标准的2D骨干网络,用于从多视角图像中提取语义特征。然后将提取的特征、内存队列中的信息和物体查询输入传播变换器,以执行时空交互。StreamPETR与单帧基准的主要区别在于内存队列,它会递归更新物体查询的时间信息。结合传播变换器,内存队列可以有效地将时间先验从先前帧传播到当前帧。
在这里插入图片描述

4.2 Memory Queue

我们设计了一个大小为N×K的内存队列,以实现有效的时间建模。其中,N是存储帧数,K是每帧存储的物体数量。根据经验,我们设置N=4,K=256(确保在复杂场景中具有高召回率)。在预设时间间隔τ后,选择的物体查询的相对时间间隔△t、上下文嵌入Qc、物体中心Qp、速度v和自我姿态矩阵E被存储在内存队列中。具体而言,与前景物体(具有最高分类分数的前K个物体)相对应的上述信息被选中并推入内存队列。内存队列的入口和出口遵循先进先出(FIFO)规则。当从新帧添加信息到内存队列时,最旧的信息将被丢弃。实际上,所提出的内存队列非常灵活和定制化,用户可以在训练和推断过程中自由控制最大内存大小N×K和保存间隔τ。

4.3 Propagation Transformer

如图4所示,传播变换器由三个主要组件组成:(1)运动感知层归一化模块根据内存队列中记录的上下文嵌入和运动信息隐式地更新物体状态;(2)混合注意力替换了默认的自注意力操作,起到了时序建模和去除重复预测的作用;(3)交叉注意力用于特征聚合。它可以被任意空间操作替换,以建立图像令牌和3D物体查询之间的关系,例如PETR [30]中的全局注意力或DETR3D [47]中的稀疏投影注意力。

运动感知层归一化旨在建模物体的运动。为了简单起见,我们以上一帧t-1的变换过程为例,并采用相同的操作来处理其他先前的帧。给定来自上一帧Et-1和当前帧Et的自我姿态矩阵,可以计算出自我变换Et t-1。假设物体是静止的,内存队列中的3D中心Qt-1p可以明确地对齐到当前帧,如下所示:其中Q~t p是对齐的中心。受生成模型中任务特定控制的启发[9、40、55],我们采用条件层归一化来建模物体的运动。如图4所示,层归一化(LN)中的默认仿射变换是关闭的。运动属性(Et t-1、v、△t)通过两个线性层(ξ1、ξ2)被展平并转换为仿射向量γ和β:然后,进行仿射变换以获得运动感知上下文嵌入Q~t c和运动感知位置编码Q~t pe。其中ψ是一个多层感知器(MLP),将3D采样点Q~t p转换为位置编码Q~t pe。为了统一起见,MLN也被采用到当前物体查询中。当前帧的速度v和时间间隔△t被初始化为零。

混合注意力层。DETR [4]中的自注意力有助于去除重复预测。我们将其替换为混合注意力,同时引入了时序交互。如图4所示,内存队列中存储的所有物体查询都与当前查询串联起来,以获得混合查询。混合查询被视为多头注意力中的键和值。由于混合查询数量较少(约为2k,远小于交叉注意力中的图像令牌),混合注意力层带来可忽略的计算成本。

根据PETR [30],查询可以被定义为随机初始化的3D锚点。为了充分利用流式视频中的空间和上下文先验知识,一些来自内存队列的物体查询直接传播到当前帧。在我们的实现中,从上一帧传播的查询与随机初始化的查询串联在一起。为了公平比较,随机初始化查询和传播查询的数量分别设置为644和256。

5 Experiments

5.1 Dataset and Metrics

我们在大规模NuScenes数据集[1]和Waymo Open数据集[42]上评估了我们的方法。

NuScenes数据集包括1000个场景,每个场景长度为20秒,以2Hz进行注释。相机装置覆盖了全视场(FOV)。注释包含多达1.4M个3D边界框,并且用于评估的有10个常见类别:汽车、卡车、公共汽车、拖车、建筑车辆、行人、摩托车、自行车、屏障和交通锥。我们使用以下指标来比较方法:NuScenes检测分数(NDS)、平均精度(mAP)和5种真正的正向(TP)指标,包括平均平移误差(ATE)、平均缩放误差(ASE)、平均方向误差(AOE)、平均速度误差(AVE)和平均属性误差(AAE)。按照标准评估指标,我们报告了3D物体跟踪任务的平均多物体跟踪精度(AMOTA)、平均多物体跟踪精度(AMOTP)、召回率(RECALL)、多物体跟踪精度(MOTA)和ID切换(IDS)。

Waymo Open数据集仅收集水平FOV为230度的相机数据。地面真值边界框的注释最大范围为75米。采用纵向误差容忍度指标LET-3D-AP、LET3D-AP-H和LET-3D-APL进行评估。需要注意的是,我们只使用20%的训练数据进行公平比较,这是常见的做法。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.2 Implementation Details

我们使用ResNet50、ResNet101、V2-99和ViT等不同的主干网络进行了实验,并使用不同的预训练方法。我们在nuScenes val数据集上提供了使用ImageNet和nuImages预训练权重的ResNet50和ResNet101模型的性能。为了扩大我们的方法,我们还在nuScenes测试集上报告了使用DD3D检查点初始化的V2-99和ViT-Large的结果。遵循BEVFormerv2的方法,我们在Objects365和COCO数据集上对ViT-Large进行了预训练。我们使用AdamW优化器对StreamPETR进行训练,批量大小为16,基本学习率为4e-4,并采用余弦退火策略。在训练和推断期间仅使用关键帧。所有实验都没有使用CBGS策略。我们的实现主要基于Focal-PETR,引入了辅助2D监督。在消融研究中,模型训练了24个时期,而与其他模型相比,训练了60个时期。特别地,我们仅对ViT-L进行了24个时期的训练以防止过度拟合。对于图像和BEV数据增强,我们采用了与PETR相同的方法。在训练序列中,我们随机跳过1帧以进行时间数据增强。

5.3 Main Results

NuScenes数据集。我们将提出的StreamPETR与先前基于视觉的3D检测器在nuScenes验证集和测试集上进行了比较。如表1所示,当采用ResNet101骨干网络和nuImages预训练时,StreamPETR在mAP,NDS,mASE和mAOE指标上显示出优越的性能。与单帧基线Focal-PETR相比,StreamPETR的改进显着,mAP和NDS分别提高了11.4%和13.1%。StreamPETR的mATE比FocalPETR提高了10.9%,表明我们的对象中心的时间建模能够提高定位的准确性。在图像分辨率为256×704且采用ResNet50骨干网络时,StreamPETR在mAP和NDS上超过了最先进的方法(SOLOFusion)0.5%和0.6%。当我们减少查询数量并应用nuImages预训练时,我们的方法具有2.3%和1.6%的mAP和NDS优势。同时,StreamPETR的推理速度快1.8倍。

在表2中比较测试集上的性能并采用较小的V2-99骨干网络时,StreamPETR可以通过1.0%的mAP和1.7%的NDS超越使用ConvNext-Base骨干网络的SOLOFusion。将骨干网络扩展到ViT-Large [8],StreamPETR实现了62.0%的mAP,67.6%的NDS和25.8%的mAOE。请注意,这是第一个在线多视图方法,其性能与CenterPoint相当。

对于3D多目标跟踪任务,我们简单地将CenterPoint [53]的多目标跟踪扩展到多视图3D设置。由于出色的检测和速度估计性能,StreamPETR在表3中大大优于ByteTrackv2 [58],差距达到了+8.9%AMOTA。此外,StreamPETR在AMOTA方面优于CenterPoint [53],并在RECALL方面展现出卓越的优势。

Waymo开放数据集。在本节中,我们提供Waymo验证集上的实验结果,如表4所示。我们的模型已经训练了24个时期,并且记忆队列的保存间隔设置为5。可以看出,与密集的BEV方法(例如BEVFormer ++ [26]和MVFCOS3D ++ [45])相比,在官方指标上我们的方法显示出了优越性。Waymo开放数据集的评估范围比nuScenes更大,我们的对象中心建模方法仍然显示出明显的定位能力和纵向预测优势。我们还重新实现了PETR-DN和PETRv2(均带有查询去噪[22])作为基线模型。StreamPETR在mAPL,mAP和mAP-H上均优于单帧PETR-DN,差距分别为4.1%,5.1%和5.5%。Waymo开放数据集覆盖部分水平FOV,而对象中心时间建模仍然带来了显着改进。当我们在测试期间采用检查点并将保存间隔τ调整为1时,StreamPETR的性能略有下降,证明了对传感器频率的适应性。

5.4 Ablation Study & Analysis

训练序列长度的影响。 StreamPETR在本地滑动窗口中进行训练,并在在线流视频中进行测试。为了分析训练和测试之间的不一致性,我们进行了不同数量训练帧的实验,并在表5中展示了结果。当增加更多的训练帧时,StreamPETR的性能继续提高,滑动窗口和在线视频之间的性能差距明显减小。值得注意的是,当训练帧数增加到8时,视频测试(40.2% mAP,50.5% NDS)显示出比滑动窗口(39.6% mAP,50.1% NDS)更优异的性能,这证明了我们的方法具有很好的潜力来建立长期的时间依赖关系。扩展到12帧带来了有限的性能提升,因此我们使用8帧对模型进行训练以提高实验效率。
在这里插入图片描述
运动感知层规范化的效果。 我们比较了在解耦自车和移动物体方面采用不同设计的结果,如表6所示。可以看出,采用显式的运动补偿(MC)时性能并没有改善。我们认为,显式的方式可能会在早期训练阶段引起误差传播。MLN隐式地编码和解耦了自车和移动物体的运动。具体来说,隐式编码自车姿态取得了显著的改进,其中mAP提高了2.0%,NDS提高了1.8%。此外,相对时间偏移△t和物体速度v的编码可以进一步提高性能。mAP和NDS都增加了0.4%,这表明动态属性对对象查询之间的时间交互具有有益影响。
在这里插入图片描述
长期融合的帧数。 在表7中,我们分析了内存大小对混合注意力的影响。我们可以发现,随着内存大小的增加,mAP和NDS得到了改善,并在达到2帧(近1秒)时开始饱和。StreamPETR中的对象查询是递归传播和更新的,因此即使没有大容量的内存队列,我们的方法仍然可以建立长期的时空依赖关系。由于增加内存队列带来的计算成本微不足道,我们使用4帧来缓解遗忘并获得更稳定的结果。
在这里插入图片描述
透视视角与对象中心视角。StreamPETR通过稀疏对象查询的交互实现了高效的时间建模。另一种解决方案是通过透视记忆[31]建立时间交互。如表8所示,基于查询的时间建模在速度和准确性上均优于基于透视的方法。查询和透视记忆的组合不会进一步提高性能,这意味着全局查询交互的时间传播足以实现领先的性能。此外,将当前对象查询与上一帧的查询进行连接可以提高0.7%的mAP和0.9%的NDS。
在这里插入图片描述

对移动物体的分析。在本节中,我们详细分析了StreamPETR在感知静态和移动物体方面的性能。为了公平比较,所有模型都在没有CBGS [59]的情况下进行了24个时期的训练,并在nuScenes [1]验证集上进行了评估。即使进行了时间建模,移动物体的检测性能仍然远远落后于静态物体。与密集的BEV范式[23, 17]相比,StreamPETR∗在静态和移动物体上都取得了有希望的性能。这证明了对象中心的时间建模的优越性,具有全局的时间和空间感受野。应用运动信息的隐式编码,StreamPETR的性能可以进一步提高。

5.5 Failure Cases

在图6中,我们展示了一个具有挑战性的场景的检测结果。StreamPETR在检测范围为30m内的拥挤物体上展现出了令人印象深刻的结果。但是,我们的方法在远处物体上有很多误报。这是基于摄像头的方法的常见现象。在复杂的城市场景中,远处物体上的重复预测可以被容忍,并且对结果影响相对较小。
在这里插入图片描述

6 Conclusion

本文提出了StreamPETR,一种有效的长序列3D物体检测器。与以往的工作不同,我们的方法探索了一种物体为中心的范式,通过逐帧传播对象查询的时间信息。此外,采用了运动感知层归一化来引入运动信息。StreamPETR在引入可忽略的存储和计算成本的同时,实现了领先的性能提升。它是第一个实现与基于激光雷达方法相当的性能的在线多视图方法。我们希望StreamPETR能为社区的长序列建模提供一些新的见解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值