Nuscenes SOTA!BEVFormer v2: 通过透视监督使流行的图像Backbones适应BEV识别!

简介: 作者提出了一种具有透视监督的新型鸟瞰图(BEV)检测器,它收敛更快,更适合目前的图像主干网络。现有的SOTA BEV检测器通常与某些深度预训练的主干网(如VoVNet)相连,阻碍了图像backbones和BEV检测器之间的协同作用。为了解决这一限制,论文优先考虑通过引入透视空间监督来简化BEV检测器的优化方案。为此提出了一种两级BEV检测器,其中来自透视头部的proposal被输入鸟瞰头部,用于最终预测。为了评估模型的有效性,作者进行了广泛的消融研究,重点是监督的形式和拟议检测器的通用性。所提出的方法在传统和主流图像主干上得到了验证,并在大规模nuScene数据集上获得了新的SOTA结果

论文主要思路



作者提出了一种具有透视监督的新型鸟瞰图(BEV)检测器,它收敛更快,更适合目前的图像主干网络。现有的SOTA BEV检测器通常与某些深度预训练的主干网(如VoVNet)相连,阻碍了图像backbones和BEV检测器之间的协同作用。为了解决这一限制,论文优先考虑通过引入透视空间监督来简化BEV检测器的优化方案。为此提出了一种两级BEV检测器,其中来自透视头部的proposal被输入鸟瞰头部,用于最终预测。为了评估模型的有效性,作者进行了广泛的消融研究,重点是监督的形式和拟议检测器的通用性。所提出的方法在传统和主流图像主干上得到了验证,并在大规模nuScene数据集上获得了新的SOTA结果,代码将很快发布。


领域背景



鸟瞰图(BEV)识别模型可以自然地将来自多个传感器的部分原始观察整合到统一的整体3D输出空间中。典型的BEV模型建立在图像backbone上,然后是视图转换模块,该模块将透视图像特征提升为BEV特征,BEV特征编码器和一些特定于任务的头部对其进行进一步处理。尽管在设计视图转换模块和将不断增加的下游任务列表纳入新的识别框架方面付出了很大的努力,但BEV模型中的image backbone的研究受到的关注要少得多。作为一个尖端和高要求的领域,将modern图像backbones引入自动驾驶是理所当然的。令人惊讶的是,研究界选择坚持VoVNet来享受其大规模深度预训练。这项工作中,作者专注于释放modern图像特征提取器的全部功能,用于BEV识别,为未来研究人员探索该领域更好的图像主干设计打开大门。然而,仅仅使用那些没有经过适当预训练的modern backbone并不能产生令人满意的结果。例如,ImageNet预训练的ConvNeXt XL主干与DDAD-15M预训练的VoVNet-99在3D对象检测方面的性能不相上下,尽管后者的参数是前者的3.5倍。论文将适应现代图像主干的斗争归因于以下问题:1)自然图像和自动驾驶场景之间的领域差距。在一般2D识别任务中预训练的主干无法感知3D场景,尤其是估计深度。2) 当前BEV检测器的复杂结构。


为了克服上述在使modern图像主干适应BEV识别方面的困难,论文在BEVFormer中引入了透视监督,即来自透视视图任务的额外监督信号,并直接应用于主干。它指导backbone学习2D识别任务中缺少的3D知识,并克服了BEV检测器的复杂性,极大地促进了模型的优化。具体来说,在主干上构建了透视3D检测头,它将图像特征作为输入,并直接预测目标对象的3D边界框和类标签。该透视头的损失(表示为透视损失)作为辅助检测损失添加到从BEV头导出的原始损失(BEV损失)中,两个检测头用其相应的损失项进行联合训练。此外,论文发现很自然地将两个检测头组合成一个两级BEV检测器BEVFormer v2。由于透视头是成熟的,它可以在透视视图中生成高质量目标proposal,将其用作第一阶段proposal。作者将它们编码为目标查询,并将它们与原始BEVFormer中的可学习目标一起收集,形成混合目标查询,然后将其输入第二阶段检测头以生成最终预测!


由于在自动驾驶系统中的巨大成功,鸟瞰(BEV)目标检测最近受到了更多的关注[17,22,26,28,30,36,43]。包括OFT[30]、Pseduo LiDAR[36]和VPN[26]在内的早期作品揭示了如何将透视特征转换为BEV特征。OFT[30]率先采用从2D图像特征到3D BEV特征的转换来进行单目3D检测。伪激光雷达[36],顾名思义,通过单目深度估计和相机内部原理创建了伪点云,并随后在BEV空间中对其进行处理。VPN[26]是第一个将多视图相机输入融合到自顶向下视图特征图中进行语义分割的。现代方法享受了通过2D-3D视图转换提供的来自不同透视视图传感器的特征的集成的便利,LSS[28]通过在BEV pilliar特征汇集期间引入潜在深度分布,扩展了OFT。此外,与OFT中的单个图像相比,LSS汇集了六个surround图像。与LSS中的2D到3D提升或OFT中的3D到2D投影不同,CVT[43]利用了相机感知的位置编码和密集的交叉关注来桥接透视图和BEV视图特征。PETR[22]设计了一种没有显式BEV特征构造的方法。透视特征图与3D位置嵌入特征图进行元素明智的融合,并将后续的DETR风格解码器应用于目标检测。BEVFormer利用空间交叉关注进行视图转换,利用时间self-attention进行时间特征融合,BEVFormer的完全基于transformer结构使其BEV特性比其他方法更通用,易于支持非均匀和非规则采样网格。此外,如SimpleBEV所示,多尺度可变形注意力[44]在所有提升策略中都表现出色。因此,我们选择基于BEVFormer构建检测器,以利用前面提到的优势。除了已发表的作品,由于该领域的流行,还有许多并发的作品。BEVDet为训练引入了丰富的图像级和BEV级增强。BEVStereo[14]和STS[38]都采用了时间立体范式,以获得更好的深度估计。PolarFormer[11]提出了一种非笛卡尔3D网格设置。SimpleBEV[7]比较了不同的2D-3D提升方法。与主要探索探测器设计的现有工作不同,本论文专注于将现代图像主干应用于BEV识别模型。


辅助损失在单目3D目标检测中普遍存在,因为大多数方法[15,21,27,31,33,34,41]都建立在2D检测器上,如RetinaNet和FCOS。但这些辅助损失很少为2D监督赋予任何明确的意义。MonoCon通过利用多达5种不同的2D监督,最大限度地利用了2D辅助。至于BEV检测器,BEVDepth利用LiDAR点云来监督其中深度网络。MV-FCOS3D++引入了透视监督来训练其图像主干,但检测器本身仅受BEV损失的监督。SimMOD[42]将2D辅助损失用于其单目proposal head。与以前的方法不同,本文的方法采用了端到端的透视监督方法,而不使用额外的数据,如LiDAR点云!


BEVFormerv2整体结构



640.png


如图1所示,BEVFormer v2主要由五个组件组成:图像主干、透视3D检测头、空间编码器、改进的时间编码器和BEV检测头。与原始BEVFormer相比,除了空间编码器外,对所有组件进行了更改。具体而言,BEVFormer v2中使用的所有图像主干均未使用任何自动驾驶数据集或深度估计数据集进行预训练。引入透视3D检测头以促进2D图像主干的适配,并为BEV检测头生成目标proposal。为了更好地结合长期时间信息,采用了一种新的时间BEV编码器。BEV检测头现在接受一组混合对象查询作为输入。将第一阶段的proposal和学习的对象查询相结合,以形成第二阶段的新的混合对象查询。


透视监督


论文首先分析鸟瞰模型的问题,以解释为什么需要额外的监督。典型的BEV模型保持附于BEV平面的栅格形状特征,其中每个栅格聚集来自多视图图像的对应2D像素处特征的3D信息。它基于BEV特征预测目标对象的3D边界框,将这种对BEV特征的监督称为BEV监督。以BEVformer为例,它使用编码器结构来生成和利用BEV特征。编码器为BEV平面上的每个网格单元分配一组3D参考点,并将其作为2D参考点投影到多视图图像上。之后,它对2D参考点周围的图像特征进行采样,并利用空间交叉关注将它们聚合到BEV特征中。解码器是一个可变形DETR[44]头部,它通过少量固定的对象查询预测BEV坐标中的3D边界框。


图2显示了3D到2D视图转换和DETR头部引入的BEV监督的两个基本问题:

1)对图像特征的监督是隐含的,该损失直接应用于BEV特征,而在3D到2D投影和图像特征的仔细采样之后,该损失变为间接损失。

2)对图像特征的监督很少,只有少数由对象查询参与的BEV网格造成了损失。因此,只有这些网格的2D参考点周围的稀疏像素才能获得监督信号!

640.png


因此,在训练期间出现了不一致性,即BEV检测头依赖于包含在图像特征中的3D信息,但它对于骨干如何编码这些信息提供了充分的指导。以前的BEV方法没有严重地受到这种不一致性的影响,他们甚至可能没有意识到这个问题。这是因为它们的主干要么具有相对较小的尺度,要么已经用单目检测头进行了3D检测任务的预训练。与BEV头相比,透视3D头对图像特征进行逐像素预测,为适应2D图像主干提供更丰富的监控信号。论文将对图像特征施加的监督定义为透视监督。如图2所示,与BEV监督不同,透视检测损失直接且密集地应用于图像特征。假设透视监督明确指导backbone感知3D场景并提取有用信息,例如目标的深度和方向,克服了BEV监督的缺点,因此在使用现代图像backbone训练BEV模型时至关重要!


Perspective Loss


正如前一节所分析的,透视监督是优化BEV模型的关键。在BEVformer v2中,通过辅助透视损失引入透视监督。具体地,透视3D检测头构建在主干上,以检测透视图中的目标对象。论文采用类似FCOS3D的检测头,它预测3D边界框的中心位置、大小、方向和投影中心度。该头部的检测损失(表示透视损失为Lpers)作为BEV损失Lbev的补充,有助于主干的优化,整个模型都以总目标进行训练:

640.png


Ravamped Temporal Encoder


BEVFormer使用反复的时间自关注来结合历史BEV特征,但是时间编码器没有利用长期时间信息,简单地将重复步骤从4增加到16不会产生额外的性能增益。本文通过使用简单的warp和连接策略重新设计了BEVFormer v2的时间编码器。给定不同帧k处的BEV特征image.png,首先根据参考帧变换矩阵image.pngimage.png作为image.png线性地warp到当前帧中, 然后沿着信道维度将先前的BEV特征与当前BEV特征连接起来,并使用残差块进行降维。为了保持与原始设计相似的计算复杂性,作者使用相同数量的历史BEV特征,但增加了采样间隔。除了受益于长期时间信息,新的时间编码器还解锁了在离线3D检测设置中利用未来BEV特征的可能性。


两级BEV检测器


虽然联合训练两个检测头提供了足够的监督,但我们从不同的角度分别获得了两组检测结果。论文没有采用BEV头部的预测并丢弃透视头部的预测或通过NMS启发式地组合两组预测,而是设计了一种新的结构,将两个头部集成到两级预测管道中,即两级BEV检测器。BEV头部中的对象解码器(DETR解码器)使用一组学习的嵌入作为对象查询,通过训练学习目标对象可能位于何处。然而,随机初始化的嵌入需要很长时间来学习合适的位置,此外在推理过程中,所有图像的学习对象查询都是固定的,这可能不够准确,因为对象的空间分布可能会变化。为了解决这些问题,透视头部的预测通过后处理进行过滤,然后融合到解码器的对象查询中,形成两个阶段的过程。这些混合对象查询提供了高分数(概率)的候选位置,使BEV头部更容易在第二阶段捕获目标对象。稍后将描述具有混合对象查询的解码器的细节。应当注意,第一阶段proposal不一定来自透视检测器,例如来自另一个BEV检测器,但实验表明,只有透视视图的预测对第二阶段BEV头有帮助。


带有混合对象查询的解码器


为了将第一阶段proposal融合到第二阶段的对象查询中,基于BEVformer中使用的可变形DETR解码器修改BEVformer v2中BEV头部的解码器,解码器由堆叠的交替self-attention层和交叉关注层组成,交叉注意力层是一个可变形的注意力模块,它将以下三个元素作为输入:


(1) 内容查询,用于生成采样偏移和注意力权重的查询功能;(2) 参考点,值特征上的二维点作为每个查询的采样参考;(3) value特征,要参加的BEV特征。

在最初的BEVFormer中,内容查询是一组学习的嵌入,参考点是通过一组学习到的位置嵌入中的线性层来预测的。在BEVformer v2中,作者从透视头部获得proposal,并通过后处理选择其中的一部分。如图3所示,所选方案的BEV平面上的投影框中心被用作每个图像参考点,并与位置嵌入生成的每个数据集相结合。每图像参考点直接指示BEV平面上对象的可能位置,使解码器更容易检测目标对象。然而,由于遮挡或出现在两个相邻视图的边界处,透视头可能无法检测到一小部分对象,为了避免丢失这些对象,论文还保留每个数据集的原始参考点,以通过学习空间先验来捕获它们。


实验



数据集


nuScenes 3D检测基准由1000个多模式视频组成,每个视频的持续时间约为20秒,关键样本的注释频率为2Hz。每个样本由覆盖整个360度视野的6个摄像头的图像组成。视频分为700个用于训练、150个用于val和150个用于test,检测任务包含10个对象类的1.4M个带注释的3D边界框。nuScenes使用地平面上的中心距离计算四个不同阈值上的平均精度(mAP),它包含五个真正的正度量,即ATE、ASE、AOE、AVE和AAE,分别用于测量平移、比例、方向、速度和属性误差。此外,它还通过将检测精度(mAP)与五个真阳性指标相结合来定义nuScenes检测分数(NDS)。

表1是BEVFormer v2相比于其它SOTA方法的性能提升:


640.png

表3是nuScenes上不同2D图像主干的透视监督结果,透视监督很明显可以提点!!!

640.png


表4是在不同的训练阶段,仅使用BEV监督以及透视和BEV监督的模型进行比较,模型在nuScenes上进行评估,所有模型都在没有时间信息的情况下进行训练:

640.png


表5是BEVFormer v2中透视 Head和BEV Head的不同选择的比较,模型在nuScenes上进行评估:

640.png


一些消融实验:

640.png


参考



[1] BEVFormer v2: Adapting Modern Image Backbones to Bird's-Eye-View Recognition via Perspective Supervision


原文首发微信公众号【自动驾驶之心】:一个专注自动驾驶与AI的社区(https://mp.weixin.qq.com/s/NK-0tfm_5KxmOfFHpK5mBA

相关文章
|
1月前
|
机器学习/深度学习 存储 数据可视化
MambaOut:状态空间模型并不适合图像的分类任务
该论文研究了Mamba架构(含状态空间模型SSM)在视觉任务(图像分类、目标检测、语义分割)中的必要性。实验表明,Mamba在这些任务中效果不如传统卷积和注意力模型。论文提出,SSM更适合长序列和自回归任务,而非视觉任务。MambaOut(不带SSM的门控CNN块)在图像分类上优于视觉Mamba,但在检测和分割任务中略逊一筹,暗示SSM在这类任务中可能仍有价值。研究还探讨了Mamba在处理长序列任务时的效率和局部信息整合能力。尽管整体表现一般,但论文为优化不同视觉任务的模型架构提供了新视角。
35 2
|
18天前
|
机器学习/深度学习 数据采集 自动驾驶
探索深度学习的点云分类
点云分类是指将三维点云数据中的每个点或整个点云进行分类的任务。点云数据由大量三维点构成,每个点包含空间坐标(x, y, z),有时还包含其他信息如颜色和法向量。点云分类在自动驾驶、机器人导航、3D重建等领域有广泛应用。
18 1
|
1月前
|
人工智能 文字识别 自然语言处理
文档图像多模态大模型最新技术探索
文档图像多模态大模型最新技术探索
336 0
|
1月前
|
机器学习/深度学习 自动驾驶 算法
图像识别中的scikit-learn:从像素到分类
【4月更文挑战第17天】本文介绍了如何使用Python的scikit-learn进行图像识别,包括图像预处理、特征提取(如HOG、SIFT)和分类器训练(如SVM、决策树)。通过一个示例展示了从像素数据到图像分类的完整流程,强调了预处理和特征提取的重要性。虽然scikit-learn在图像识别中有应用,但随着深度学习的发展,卷积神经网络在该领域展现出更强的性能,暗示了未来结合深度学习与scikit-learn的研究趋势。
|
机器学习/深度学习 传感器 编解码
史上最全 | BEV感知算法综述(基于图像/Lidar/多模态数据的3D检测与分割任务)
以视觉为中心的俯视图(BEV)感知最近受到了广泛的关注,因其可以自然地呈现自然场景且对融合更友好。随着深度学习的快速发展,许多新颖的方法尝试解决以视觉为中心的BEV感知,但是目前还缺乏对该领域的综述类文章。本文对以视觉为中心的BEV感知及其扩展的方法进行了全面的综述调研,并提供了深入的分析和结果比较,进一步思考未来可能的研究方向。如下图所示,目前的工作可以根据视角变换分为两大类,即基于几何变换和基于网络变换。前者利用相机的物理原理,以可解释性的方式转换视图。后者则使用神经网络将透视图(PV)投影到BEV上。
史上最全 | BEV感知算法综述(基于图像/Lidar/多模态数据的3D检测与分割任务)
|
9月前
|
机器学习/深度学习 传感器 算法
基于监督学习的多模态MRI脑肿瘤分割,使用来自超体素的纹理特征(Matlab代码实现)
基于监督学习的多模态MRI脑肿瘤分割,使用来自超体素的纹理特征(Matlab代码实现)
|
10月前
|
机器学习/深度学习 存储 算法
【使用深度学习的城市声音分类】使用从提取音频特征(频谱图)中提取的深度学习进行声音分类研究(Matlab代码实现)
【使用深度学习的城市声音分类】使用从提取音频特征(频谱图)中提取的深度学习进行声音分类研究(Matlab代码实现)
176 0
|
机器学习/深度学习 传感器 编解码
深度学习应用篇-计算机视觉-语义分割综述[5]:FCN、SegNet、Deeplab等分割算法、常用二维三维半立体数据集汇总、前景展望等
深度学习应用篇-计算机视觉-语义分割综述[5]:FCN、SegNet、Deeplab等分割算法、常用二维三维半立体数据集汇总、前景展望等
深度学习应用篇-计算机视觉-语义分割综述[5]:FCN、SegNet、Deeplab等分割算法、常用二维三维半立体数据集汇总、前景展望等
|
11月前
|
机器学习/深度学习 存储 数据采集
使用深度神经网络对肿瘤图像进行分类
使用 Inception-v3 深度神经网络对可能不适合内存的多分辨率全玻片图像 (WSI) 进行分类。 用于肿瘤分类的深度学习方法依赖于数字病理学,其中整个组织切片被成像和数字化。生成的 WSI 具有高分辨率,大约为 200,000 x 100,000 像素。WSI 通常以多分辨率格式存储,以促进图像的高效显示、导航和处理。
101 0
|
11月前
|
传感器 机器学习/深度学习 数据采集
使用PointNet深度学习进行点云分类
训练 PointNet 网络以进行点云分类。 点云数据由各种传感器获取,例如激光雷达、雷达和深度摄像头。这些传感器捕获场景中物体的3D位置信息,这对于自动驾驶和增强现实中的许多应用非常有用。例如,区分车辆和行人对于规划自动驾驶汽车的路径至关重要。然而,由于每个对象的数据稀疏性、对象遮挡和传感器噪声,使用点云数据训练稳健分类器具有挑战性。深度学习技术已被证明可以通过直接从点云数据中学习强大的特征表示来解决其中的许多挑战。点云分类的开创性深度学习技术之一是PointNet。
735 0