点击下方卡片,关注 「AI视界引擎」 公众号
( 添加时备注:方向+学校/公司+昵称/姓名 )
基于BEV范式的稳定3D目标检测模型,结合时间信息对于自动驾驶系统至关重要。
然而,目前的时间融合模型使用卷积层或可变形自注意力,不利于BEV空间全局信息的交换,且计算成本较高。
最近,一种专门处理序列的新模型mamba在多个下游任务中展现出巨大的潜力。
在本研究中,作者提出了一种基于mamba的BEV 3D目标检测模型MambaBEV,并采用端到端自动驾驶范式来测试模型的性能。
作者的工作在新数据集上取得了很好的结果:作者的基础版本在Nuities数据集上达到了51.7%的NDS。作者的代码即将发布。
视觉里程计(BEV)在实时三维场景重建中的应用,以加速多机器人系统的时间同步和目标检测
I Introduction
将3D目标检测做得更安全和准确对自动驾驶系统具有重要意义。历史上,这些自动驾驶感知系统依赖于像Hough变换[1]和关键点提取[2]等技术来构建其基础框架。然而,基于深度学习的感知系统的出现标志着一个重大进步,特别是在感知准确度方面。这个向深度学习的转变并非没有挑战,特别是在考虑仅依赖单目相机的感知方法时。[3] 这些方法固有的问题,如较大的距离感知误差和广泛的盲区,都给驾驶安全带来了重大威胁。为了减轻上述距离误差挑战,研究行人提出了双目立体匹配技术 [4]。通过利用一对相机的图像之间的不同时刻,这些方法在某种程度上缓解了不准确距离估计的问题。然而,一个关键的局限性仍然存在:这些系统无法感知位于车辆两侧和后部的物体和车道标线,从而在自动驾驶系统的安全范围内留下了空白。
针对这些限制,最近的研究探讨了使用环绕视图摄像头系统的使用,通常包括六个战略性地布置在车辆周围的摄像头。这种方法涉及为每个摄像头输入部署一个单独的深度学习模型,严重依赖后处理技术将单个输出集成到一个连贯的环境感知中。虽然这种方法解决了单目和双目系统的限制,但它引入了一系列新的挑战,包括大量的GPU内存消耗、感知冗余、跨摄像机目标重识别以及缺乏跨摄像机信息交互。这些因素共同阻碍了感知系统的效率和有效性。
为了克服这些障碍,Bird's Eye View(BEV)的范式作为一种有前景的解决方案脱颖而出。这种方法将来自多个摄像头的输入整合到一个统一的BEV表示中,从而实现对车辆周围环境的更全面理解。[5]通过直接将图像数据映射到环境的上方视角,BEV方法便于更准确地估计距离和检测障碍物,同时解决盲区问题。此外,这种方法促进了不同摄像视角之间有效信息的共享,从而提高了感知系统的整体鲁棒性和可靠性。自主驾驶感知的一个关键方面是处理时间数据。
单帧检测虽然简单,但往往受到帧间目标遮挡和由于不显眼特征而导致的漏检问题。为了应对这些问题,利用历史特征增强现有特征的时空融合技术已被发现可以显著提高模型性能。[6]然而,传统的时空融合范式主要采用自注意力机制,导致高内存消耗、有限的全局感受野和训练和推理速度慢。因此,开发一种解决这些缺陷的新型时空融合方法具有重大的工程意义。
最近,一种新提出的基于模型专门处理序列的AI技术称为mamba [7]在多个下游任务中展现出了巨大的潜力。mamba2 [8]是mamba的改进版,在多个任务上取得了更好的结果。这种新方法基于基于块分解的矩阵乘法,并利用GPU的存储层次结构,从而提高了训练速度。将mamba2引入3D自动驾驶感知是一项值得探索的工作。
为了应对作者在时间融合模块面临的问题,作者提出了MambaBEV,这是一个基于BEV的3D感知模型,基于mamba2实现。
据作者所知,这是首次将mamba2集成到基于相机的3D目标检测网络中的尝试。
在本文中,作者的贡献可以概括为以下几点:
- 作者提出了基于Mamba2的3D目标检测模型MambaBEV。
- 作者提出了一个基于Mamba2的时间融合模块TemporalMamba,展示了使用Mamba进行时间融合的可能性及未来洞察。为了适应Mamba序列扫描的特性,作者设计了一种BEV特征离散重排机制。
- 在解码层,作者设计了一个基于mamba-cross注意力模块的Mamba-DETR头。
- 作者在3D目标检测任务中进行了广泛的实验,并采用了VAD所采用的端到端自动驾驶范式。作者的工作取得了相当好的结果。
II Related work
Camera based 3D Object detection
在3D目标检测的图像领域,几种先驱方法为该领域带来了显著的进步。FCOS3D [11] 是将流行的FCOS (全卷积单阶段)检测器扩展到3D领域。它保持了单阶段检测器的简单性和效率,同时在3D目标检测中实现了竞争性能。BEVDet [5] 是一种将基于图像的特征转换为鸟瞰视角(BEV)表示的方法,通过利用场景的几何属性实现更准确的3D检测。在此基础上,BEVarea [13] 进一步增强了BEV范式,通过集成多视图和时间信息,从而提高了3D目标检测的鲁棒性和精确度。
BEVDepth [12] 更进一步,它明确地在BEV框架内建模深度信息。这一添加使得可以更精确地理解物体之间的空间关系,从而实现更出色的检测性能。DETR3D [14] 将 Transformer 架构引入到3D检测任务中,利用其强大的序列到序列建模能力。将3D检测视为一组预测问题,DETR3D在多个基准测试上实现了最先进的性能。
Mamba
近年来,Transformer 已成为深度学习模型中的主导架构,尤其是在语言建模任务中。然而,它们相对于序列长度的二次复杂性提出了扩展到非常长序列的挑战。为了解决这个问题,结构化状态空间模型(SSMs)被提出作为一种替代方案,在训练过程中具有序列长度的线性复杂性,而在生成过程中具有常数状态大小 [2]。在这些模型中,Mamba 在语言建模任务上与 Transformers 表现出竞争力的性能。
Mamba2 [1] 在Mamba架构的基础上,借助结构状态空间对偶(SSD)理论框架,将自注意力(SSMs)和注意力变体通过结构矩阵连接起来,揭示了两种结合两种范式优势的计算形式。具体来说,Mamba-2引入了一种改进的核心层,优化了Mamba的选择性SSM,使得性能提高了2-8倍,同时保持了与Transformer的竞争性。
Mamba-2的关键创新在于其用于计算SSD层的有效算法。这种算法基于半可分矩阵的块分解,同时利用线性SSM递归和二次对偶形式,在训练和推理计算、内存使用和硬件利用率等多个效率轴上实现最优权衡。因此,Mamba-2不仅比原Mamba实现更快,而且在大于原始序列和更大状态大小的情况下,更有效地进行扩展。
除了算法改进之外,Mamba-2还引入了几个由注意力机制启发的架构修改。这些包括并行投影用于SSM参数,额外的一个正则化层以提高稳定性,以及分组头模式以实现张量并行的高效性。这些更改共同贡献了Mamba-2的增强性能和可扩展性。
实证评估显示,在语言建模和关联回忆任务上,Mamba-2模型超过了原始的Mamba模型,在困惑度、理论FLOPs和实际计算时间方面实现了帕累托优势。此外,Mamba-2在标准下游评估上与开源Transformer模型相匹配或超过,突显了其作为Transformer在语言建模任务上的高效替代品的潜力。
III Methodology
作者提出了一种基于mamba2的3D目标检测范式,名为MambaBEV,该范式使用了mamba-CNN模块将不同帧名为TemporalMamba的BEV特征进行融合。作者还将在解码层中生成一种类似mamba-detr的头。
Preliminaries
结构化状态空间模型(SSMs)是一类深度学习模型,特别适用于序列建模任务。通过利用这些结构化表示,SSMs为基于注意力的模型(如Transformer)提供了一种替代方案,在表达力和计算效率之间实现了权衡。因此,SSMs的表示方法为深度学习序列建模的发展提供了有前景的方向。作者使用的基模型称为The Mamba2,它基于结构化状态空间(S4)序列模型,这些模型植根于连续系统。这些模型通过输入一个一维输入序列或函数和中间隐藏状态,来实现:
该方法引入了可学习的步长,并采用零阶保持将连续系统转换为离散系统。需要注意的是,当设置为0时,可以被选择。因此,等式(1)可以改写为:
虽然可以表示为:
通过数学归纳法,方程(2)的最终输出可以表示为:
翻译后的结果:
在以下公式中,M 被定义为:
采用 来表示矩阵 到 的乘积,其中索引 j 和 i 分别表示 A、B、C 矩阵的 j-th 和 i-th。
Mamba2中的转换矩阵M,如等式(4)所述,也符合N-序列半可分(SSS)表示的定义。因此,在Mamba2框架中,SSM和SSS的表示是等价的。这种等价性允许在涉及SSM的计算中高效地利用结构矩阵乘法。
为了实现这种方法,参数矩阵M使用结构 Mask 关注(SMA)二次模式算法和SMA线性模式算法分别分解为对角块和低秩块。此外,多头自注意力(MHA)被集成以增强模型的性能。
Overall Architecture
- 在图1中,作者提出了MambaBEV的主要结构。MambaBEV可以概括为四个主要模块:图像特征编码器、反向投影(SCA)、时间Mamba和Mamba-DETR头。MambaBEV接受六个摄像头的图像作为输入,通过图像特征编码器生成六个多尺度特征图。然后,这六个特征图被送入名为空间交叉注意力(SCA)的反向投影模块,以生成BEV特征图。接着,作者将历史BEV特征与当前BEV特征融合,并用于指导新BEV当前特征的生成。这一操作由作者提出的TemporalMamba块完成。经过多层处理后,作者使用mamba-DETR头作为3D目标检测Head。
Image feature encoder
图像特征编码器包含两个部分:有效 Backbone 和经典颈。给定一个场景的六个不同视图的图片,作者使用在ImageNet上预训练的ResNet-50作为 Backbone ,从FCOS3D预训练权重的ResNet-101-DCN初始化,以及从FCOS3D预训练权重初始化的非常有效的VoV-99作为 Backbone 来提取每个图片的高级特征。Vamaba也可以作为 Backbone 。为了更好地提取特征并提高性能,作者使用经典FPN来生成多尺度特征。
TemporalMamba block
对于传统的基于注意力的时间融合块,使用了变形自注意力。时间自注意力(TSA)主要遵循以下范式:首先,给定历史BEV特征图和当前特征图,TSA将它们拼接在一起,并使用线性层生成注意力权重和偏移量。然后,每个 Query ,它表示BEV特征,基于权重以并行方式计算。
但是作者相信这些范式存在一些副作用,尽管可变形注意力可以降低计算成本,但由于其只允许三个 Query 与每个参考 Query 进行交互,因此它无法实现跨帧大型物体的交互。
作者的mamba方法可以提高全球交互能力。首先,两种模态的特征通过自旋角进行转换,并通过如所示的卷积模块压缩维度从512降至256。
如图2所示,给定一个BEV特征图的历史特征图(每个维度为256)和当前特征图,作者首先将它们通过第三个维度进行拼接。拼接后的特征应用了一个33卷积层,使用两次 BatchNorm ,以及一个11卷积层,也使用两次 BatchNorm ,然后将它们相加。
然后作者对Z进行离散重新排列,并通过Mamba2块进行处理。针对自然语言处理,作者设计了一个典型的Mamba2块,用于序列处理。但是,将其应用于类似于视觉的数据时,它面临着巨大的挑战,因此,设计一个近似离散重新排列方法至关重要。作者设计了一种基于实验的四向重新排列方法,灵感来源于Vmamba。作者还讨论了不同重新排列方法在实验中的影响。创新性地提出了一种多方向特征序列扫描机制,其中特征图Z被离散地序列化,然后在前向左、前向右、后向左和后向右四个方向上重新组合(如图2所示),形成的新序列作为Mamba2模型的输入。
值得注意的是,作者没有采用蛇形盘绕的重新组合方法,因为作者认为这种方法会导致相邻特征之间的交互失衡。因为不同的一些相邻特征可能靠近彼此,而其他特征则远离它们。Mamba输出增强的序列特征。然后重新组合并恢复图2中显示的原始顺序。作者然后计算四个张量的平均值。将增强的融合BEV特征图以0.9的dropout率添加到当前BEV特征图作为 Shortcut 。
Mamba-DETR head
如图1所示,作者重新设计了一个融合了mamba和传统DETR编码器的mamba-DETR Head 。首先,对900个目标 Query 进行预处理并在mamba2块中相互交互,采用与自注意力相同的可合理性。
如图1所示,mamba块的输出然后通过变形注意力(类似于传统CustomMSDeformableAttention)进行处理。
IV Experiment
Datasets
作者在nuScenes [10] 数据集上进行了3D目标检测的方法研究,并在具有挑战性的公共nuScenes数据集(也称为nuPlan)上进行了端到端规划。nuScenes数据集是一个大规模、多模态的数据集,专门用于自动驾驶研究,具有3D物体标注。
nuScenes数据集包括来自两个城市的数据:美国波士顿和新加坡,这些城市被选择以提供多样化的驾驶条件,包括不同的天气、照明和交通场景。它包括1000个驾驶场景,每个场景持续约20秒,总共产生了280,000个标注帧。标注的频率为2 Hz,每个样本包含6个摄像机捕捉的前、后和侧面图像。nuScenes检测评分(NDS)是衡量模型性能的官方重要指标,其等于
mTP是平均翻译误差、平均尺度误差、平均方向误差、平均速度误差和平均属性误差的平均值。这种全面的方法确保了目标检测和跟踪的所有关键方面都被考虑在内,从而对自动驾驶系统的性能进行了更强大的评估。对于规划范式,位移误差和碰撞率用于验证规划性能。
Experimental settings
作者构建了两个版本的MambaBEV,分别命名为MambaBEV-tiny和MambaBEV-base。关于MambaBEV-tiny,作者使用在ImageNet上预训练的ResNet50作为 Backbone 网络。在tiny版本中,BEV网格(特征)的大小为50 * 50。MambaBEV的网格分辨率是2.048米。图像的输入大小为800*450。在tiny版本中,使用了3个历史帧。
最大感知距离在X和Y方向上都是51.2米。BEVencoder-tiny有3层。关于MambaBEV-base,作者使用从FCOS3D预训练权重初始化的ResNet101-CDN作为 Backbone 网络。在base版本中,BEV网格(特征)的大小为200 * 200。MambaBEV-base的网格分辨率是0.512米。图像的输入大小为900 * 1600。在base版本中,使用了4个历史帧。与DETR3D一样,BEV-features编码器在base版本中有6层。作者还提供了一个从FCOS3D预训练权重初始化的V-99作为另一个 Backbone 网络。
在训练过程中,作者使用了AdamW优化器。基本学习率是2e-4。每个版本的权重衰减为0.01。在8块NVIDIA V100S-PCIE-32GB GPU上训练了MambaBEV的Tiny版本,而在8块NVIDIA A800-SXM4-80GB GPU上训练了MambaBEV的基础版本。BEV Query 的维度为256。每个GPU的批量大小为1。在训练过程中未应用任何数据参数。
对于进一步的铝离子,作者还进行了端到端的自动驾驶模型,以测试基于Mamba的密集BEV-特征感知范式的有效性。作者训练了60个周期。使用了8块NVIDIA A800-SXM4-80GB GPU,学习率为0.0001。作者使用ResNet50作为 Backbone 。输入图像的大小为1280 * 720。地图 Query 的数量为100 * 20, Agent Query 的数量为300。其他训练细节与MambaBEV-base相同。
Main results
3D目标检测任务 作者在3D目标检测任务的nuScenes验证集上测试作者的模型。如表1所示,与仅使用特殊交叉注意力(SCA)作为反向投影方法的BEVFormer-S相比,作者的MambaBEV-base在mAP上提高了3.51%,在NDS上提高了5.97%。这表明作者的TemporalMamba块的有效性。当添加TemporalMamba块时,平均速度误差减少了37%,表明历史信息,特别是通过Temporal mamba块处理的历史位置,可以显著提高速度估计。与其他使用时间信息的Methods相比,mamba块表现出良好的性能,例如:与PolarDETR相比,作者的方法在mAP上提高了4.51%,在NDS上提高了6.37%。作者的方法表现出最低的mAVE为0.432,证明了其在速度估计方面的优越性能。
作者还发现,提高Bev网格的分辨率并增加更多帧可以有效提高模型性能,因为基础版本的指标已经显著提高,而迷你版本变得更小。
端到端自动驾驶范式 作者还在端到端自动驾驶范式中测试了作者的backbone。结果如表2和表3所示。使用作者方法构建的范式在nuScenes数据集的开放环评估中取得了良好的性能。
作者在两个方面验证了作者的模型:运动预测和规划。作者使用L2误差和碰撞率来验证使用作者方法构建的端到端自动驾驶范式的性能。指标显示,使用作者方法构建的端到端自动驾驶范式在某些情况下甚至超过了基于激光雷达的方法。作者还讨论了运动预测的性能。
V Ablation study
Design of conv block
为了进一步分析基本卷积块的有效性,作者在TemporalMamba块中的单用卷积块与单用拼接块之间进行公平的比较。在本研究中,作者使用四种方向的离散重排方法。
拼接方法意味着作者在向量维度简单地将历史BEV特征和当前BEV特征拼接在一起。如表4所示,作者发现使用卷积块将历史BEV特征和当前BEV特征融合可以有效提高模型性能约1%。很明显,使用卷积块可以有效降低历史融合模块中平均速度误差这个重要指标。
可能导致这种现象的原因有很多,作者认为其中一个原因是在常见的驾驶场景中存在两种不同的特征:动态特征和静态特征。
仅仅使用拼接方法将特征融合在一起可能引发一些问题,例如自体运动和移动特征呢?来自不同位置的不同特征可以使用这种方法拼接在一起。通过使用合适的感受野可以解决这个问题,使相关特征处于相同的感受野中。
如表5所示,作者还发现将关键尺寸设置为3可能是最佳选择,因为作者测试了不同窗口大小,当窗口大小增加到5时,指标下降。
Impact of different discrete rearrangement methods
Mamba2 专门用于自然语言处理,在使用 Mamba 块处理 BEV 特征图之前,必须将其扁平化或换句话说进行离散化。
因此,选择最佳离散重排方法至关重要。受到这些启发的作者设计了两方法:一方向离散重排和四方向离散重排方法。如表6所示,使用四方向重排方法可以提高模型性能。
对于一方向版本,作者只需将BEV Query (50*50)离散为一个长序列。尽管所有模型都使用位置嵌入并隐式编码公交车信息,但四方向离散重排方法相对于一方向版本在NDS 1.02%和mAP 1.28%上具有优势。
这证实了作者认为,使 Query 更接近彼此可以帮助 Mamba 块找到更多关系。然而,作者也发现使用更多重排方向会增加参数数量和计算复杂性,使其成为寻找有效离散重排方法与计算复杂性之间平衡的有趣话题,以便未来进行探索。在本实验中,所有模型都使用了 ConCat 方法。
Impact of improving resolution of BEV features
为了找出不同分辨率的影响,作者将MambaBEV-tiny BEV特征的分辨率从50提高到100。如表7所示,提高分辨率可以显著提高模型在各个方面的性能。(在本实验中,作者均使用了卷积层而非拼接策略)
Visualization of BEV features
[0]. MambaBEV: An efficient 3D detection model with Mamba2.
点击上方卡片,关注 「AI视界引擎」 公众号