BEVFormer论文总结

BEVFormer: Learning Bird’s-Eye-View Representation from Multi-Camera Images via Spatiotemporal Transformers

BEVFormer:利用时空变换从多相机图像中学习鸟瞰表示

研究团队:南京大学、上海AI实验室、香港大学

代码地址:https://github.com/zhiqi-li/BEVFormer

一、研究背景

  • 三维空间感知对于自动驾驶、机器人等各种应用至关重要。尽管基于LiDAR的方法取得了显著进展,但基于相机的方法近年来引起了广泛关注。除了部署成本低外,与基于LiDAR的相机相比,相机在探测远距离物体和识别基于视觉的道路要素(例如交通信号灯、停车线等)方面具有理想的优势。

  • 自动驾驶中对周围场景的视觉感知有望从多个摄像头给出的2D线索中预测3D边界框或语义地图。最直接的解决方案是基于单目框架和跨摄像头后处理。该框架的缺点是单独处理不同的视图,无法跨摄像头捕获信息,导致较低的性能和效率。

  • 作为单目框架的替代,一个更加统一的框架是从多相机图像中提取整体表示鸟瞰图( BEV )清晰地呈现了物体的位置和尺度,适用于各种自动驾驶任务,如感知和规划,是一种常用的周围场景表示方法

  • 虽然以往的地图分割方法证明了BEV的有效性,但是基于BEV的方法在三维目标检测上并没有表现出比其他范式显著的优势。其根本原因是3D目标检测任务需要较强的BEV特征来支持准确的3D边界框预测,而从2D平面生成BEV是不适定的。目前流行的BEV框架基于深度信息生成BEV特征,但该范式对深度值的准确性或深度分布敏感。因此,基于BEV的方法的检测性能会受到复合误差的影响,不准确的BEV特征会严重影响最终的性能。

二、研究思路

  • 因此,本文旨在设计一种不依赖深度信息且能自适应学习BEV特征的BEV生成方法,而不是严格依赖3D先验。Transformer利用注意力机制动态聚合有价值的特征,从概念上满足了需求。

  • 使用BEV特征执行感知任务的另一个动机是BEV是连接时间和空间的理想桥梁。对于人类视觉感知系统而言,时间信息在推断物体运动状态和识别被遮挡物体方面起着至关重要的作用,视觉领域的许多工作已经证明了使用视频数据的有效性。

  • 然而,现有的先进多相机三维检测方法很少利用**时间信息。**显著的挑战是,自动驾驶是时间关键的,场景中的物体变化迅速,因此简单地堆叠跨时间戳的BEV特征会带来额外的计算成本和干扰信息,这可能并不理想。受循环神经网络( Recurrent Neural Networks,RNNs )的启发,本文利用BEV特征循环地传递从过去到现在的时间信息,这与RNN模型的隐藏状态具有相同的思路。

  • 为此本文提出了一种基于transformer的鸟瞰( BEV )编码器,称为BEVFormer,它可以有效地聚合来自多视角相机的时空特征和历史BEV特征。由BEVFormer生成的BEV特征可以同时支持3D目标检测和地图分割等多个3D感知任务,对于自动驾驶系统具有重要价值。如图1所示,BEVFormer包含三个关键设计,分别是( 1 )网格状的BEV查询,通过注意力机制灵活地融合空间和时间特征;( 2 )空间交叉注意力模块,从多相机图像中聚合空间特征;( 3 )时间自注意力模块,从历史BEV特征中提取时间信息,这有利于运动物体的速度估计和严重遮挡物体的检测,同时带来可忽略的计算开销。利用BEVFormer生成的统一特征,该模型可以与Deformable DETR、掩码解码器等不同任务特定的头协作,进行端到端的三维目标检测和地图分割。

在这里插入图片描述

  • 图1:自动驾驶范式BEVFormer

三、主要贡献

  • 提出了BEVFormer,一个时空transformer编码器,它将多相机和/或时间戳输入到BEV表示中。利用统一的BEV特征,模型可以同时支持多个自动驾驶感知任务,包括3D检测和地图分割。

  • 设计了可学习的BEV查询以及空间交叉注意力层时间自注意力层,分别从跨摄像头中查找空间特征和从历史BEV中查找时间特征,然后将它们聚合为统一的BEV特征

    • 为了聚合空间信息,设计了空间交叉注意力,每个BEV查询从相机视图中提取感兴趣区域的空间特征。

    • 对于时间信息,提出时间自注意力来循环融合历史BEV信息。

  • 在多个具有挑战性的基准测试集上评估了所提出的BEVFormer,包括nuScenes和Waymo。

四、研究内容

1.总体架构

在这里插入图片描述

如图2所示,BEVFormer有6个编码器层,每个编码器层都遵循传统的transformer结构,除了三个定制的设计,即BEV查询、空间交叉注意力和时间自注意力。

  • BEV查询是一种网格状的可学习参数,旨在通过注意力机制从多相机视图中查询BEV空间中的特征。

  • 空间交叉注意力和时间自注意力是处理BEV查询的注意力层,用于根据BEV查询查找和聚合来自多相机图像的空间特征和来自历史BEV的时间特征。

在推理过程中,在时间戳t,将多相机图像馈送到骨干网(例如ResNet - 101 ),得到不同相机视图的特征 F t = { F i t } i = 1 N v i e w F_t ={ \{ F_i^t \} }_{i=1}^{N_view} Ft={Fit}i=1Nview ,其中 F i t F_i^t Fit 是第i个视图的特征, N v i e w N_{view} Nview 是相机视图的总数。同时,在前一时刻t - 1保留了BEV特征Bt - 1。

  • 在每个编码器层,首先使用BEV查询Q通过时间自注意力从先验BEV特征Bt - 1中查询时间信息。

  • 然后利用BEV查询Q通过空间交叉注意力从多相机特征Ft中查询空间信息。

  • 经过前馈网络后,编码器层输出细化后的BEV特征,作为下一个编码器层的输入。经过6层编码器堆叠,生成当前时间戳t的统一BEV特征Bt。以BEV特征Bt作为输入,3D检测头和地图分割头预测3D边界框和语义地图等感知结果。

2.BEV查询

  • 预定义了一组网格状的可学习参数 Q ∈ R H × W × C Q∈R^{H × W × C} QRH×W×C 作为BEVFormer的查询,其中H,W为BEV平面的空间形状。

    • 具体而言,位于p = ( x , y)处的查询 Q p ∈ R 1 × C Q_p∈R^{1 × C} QpR1×C 负责BEV平面中对应的网格单元区域。BEV平面中的每个网格单元对应一个s米的真实世界尺寸。

    • BEV特征的中心默认情况下与本车的位置相对应。按照通常的做法,在将BEV查询Q输入到BEVFormer之前,添加了可学习的位置嵌入positonnal embedding。

3.空间交叉注意力

  • 由于多相机3D感知(包含Nview相机视图)的输入规模较大,传统多头注意力的计算成本极高。因此,本文开发了基于可变形注意力的空间交叉注意力,这是一个资源高效的注意力层,其中每个BEV查询Qp只与它的感兴趣区域进行跨相机视图的交互。然而,可变形注意力最初是为2D感知而设计的,因此对于3D场景需要进行一些调整。
    在这里插入图片描述

  • 如图2(b)所示,首先将BEV平面上的每个查询提升为一个柱状查询,从柱状中采样 N r e f N_{ref} Nref 个3D参考点,然后将这些点投影到2D视图

  • 对于一个BEV查询,投影的2D点只能落在某些视图上,其他视图不被击中。在这里,将命中视图称为 V h i t V_{hit} Vhit 。然后,将这些2D点视为查询 Q p Q_p Qp 的参考点,并从这些参考点周围的命中视图 V h i t V_{hit} Vhit 中采样特征

  • 最后,对采样的特征进行加权求和作为空间交叉注意力的输出。空间交叉注意力( SCA )的过程可以表示为:
    在这里插入图片描述

    i为相机视图索引,j为参考点索引,** N r e f N_{ref} Nref为每次BEV查询的总参考点。 F t i F^i_t Fti 为第i个相机视图的特征。对于每个BEV查询 Q p Q_p Qp,使用投影函数P( p , i , j)**得到第i个视图图像上的第j个参考点。

  • 接下来介绍如何从投影函数P中获取视图图像上的参考点。首先计算查询Qp位于Q的p = ( x , y)处对应的真实世界位置( x′, y′)
    在这里插入图片描述

    其中H,W为BEV查询的空间形状,s为BEV网格的分辨率大小,( x′, y′)为以自车位置为原点的坐标。在三维空间中,位于( x′, y′)的物体会出现在z轴上z′的高度处。因此预先定义了一组锚点高度 { z ′ j } = 1 N r e f \{ z′_j \} ^{Nref}_{ = 1} {zj}=1Nref *,*确保能够捕获出现在不同高度的线索。这样,对于每个查询Qp,得到一个3D参考点的支柱 ( x ′ , y ′ , z ′ j ) j = 1 N r e f ( x′, y′, z′_j)^{Nref}_{j = 1} (x,y,zj)j=1Nref 。最后,通过相机的投影矩阵将3D参考点投影到不同的图像视图,可以写为:
    在这里插入图片描述

    这里,P( p , i , j)是从第j个3D点( x′, y′, z′j)投影到第i个视图的2D点, T i ∈ R 3 × 4 T_i∈R^{3 × 4} TiR3×4 是第i个相机的已知投影矩阵。

4.时间自注意力

  • 除了空间信息,时间信息对于视觉系统理解周围环境也是至关重要的。例如,在没有时间线索的情况下,从静态图像中推断运动物体的速度或检测高度遮挡的物体是具有挑战性的。为了解决这个问题,本文设计了时间自注意力,它可以通过结合历史BEV特征来表示当前环境。

  • 鉴于BEV查询Q在当前时间戳t和历史BEV特征Bt - 1保存在时间戳t - 1,首先根据自运动将Bt - 1对齐到Q,以使相同网格上的特征对应于相同的现实位置。这里,我们将对齐后的BEV特征Bt - 1记为B′t - 1。然而,从时间t - 1到t,可移动物体以各种偏移量在现实世界中运动。在不同时间的BEV特征之间构造相同对象的精确关联是具有挑战性的。

  • 因此,本文通过时间自注意力( TSA )层对特征之间的这种时间连接进行建模,该层可以写成如下形式:
    在这里插入图片描述

  • 其中Qp表示位于p = ( x , y)的BEV查询。此外,与传统可变形注意力不同,时间自注意力中的偏移量∆p通过QB′t - 1的级联来预测。特别地,对于每个序列的第一个样本,时序自注意力将退化为一个没有时序信息的自注意力,这里我们将BEV特征{ Q,B′t-1 }替换为重复的BEV查询{ Q,Q }。

  • 相比于在[ 18、38、6]中简单地堆叠BEV,本文的时间自注意力可以更有效地建模长时间依赖。BEVFormer从以前的BEV特征中提取时态信息,而不是多个堆叠的BEV特征,因此需要更少的计算成本和更少的干扰信息。

5.BEV特征的应用

  • 由于BEV特征Bt∈RH × W × C是一个通用的2D特征图,可以用于各种自动驾驶感知任务,因此可以在2D感知方法的基础上稍作修改开发3D目标检测和地图分割任务头。

  • 对于3D目标检测,本文基于2D检测器Deformable DETR设计了一个端到端的3D检测头。这些改进包括使用单尺度BEV特征Bt作为解码器的输入,预测3D边界框和速度而不是2D边界框,以及仅使用L1损失来监督3D边界框回归。有了检测头,我们的模型可以端到端的预测3D边界框和速度,而不需要NMS后处理。

  • 对于地图分割,我们基于二维分割方法展示全景SegFormer 设计了一个地图分割头。由于基于BEV的地图分割与常见的语义分割基本相同,我们利用[ 22 ]的掩码解码器和固定类别的查询来针对每个语义类别,包括包括汽车、车辆、道路(可行驶区域)和车道。

五、实验

1.数据集

  • nuScenes数据集:包含1000个场景,每个场景的时长约为20s,关键样本的标注频率为2Hz。每个样本由6个相机的RGB图像组成,具有360 °的水平视场。对于检测任务,共有来自10个类别的1.4 M标注的3D边界框。

  • Waymo公开数据集:包含798个训练序列和202个验证序列的大规模自动驾驶数据集。

2.实验设置

  • baseline。为了消除任务头的影响,并公平地比较其他BEV生成方法,我们使用VPN和Lift - Splat来替换BEVFormer,并保持任务头和其他设置相同。我们还在不使用历史BEV特征的情况下,通过将时间自注意力调整为传统自注意力,将BEVFormer调整为静态模型BEVFormer - S。

3.实验结果

  • 3D目标检测结果

    • 表1和表2报告了关于nuScenes测试和val分解的主要结果。在公平的训练策略和可比较的模型规模下,本文方法在val集( 51.7 % NDS vs . 42.5 % NDS)上比先前最好的方法DETR3D高出9.2个点。

    • 以往基于相机的方法几乎无法估计速度,而我们的方法证明了时间信息在多相机检测的速度估计中起着至关重要的作用。在测试集上,BEVFormer的平均平均速度误差( mean Average Velocity Error,mAVE )为0.378 m / s,远远优于其他基于相机的方法,接近基于LiDAR的。
      在这里插入图片描述在这里插入图片描述

  • 多任务感知结果

    • 同时使用检测和分割头训练我们的模型,以验证模型对多个任务的学习能力,结果如表4所示。

    • 在相同设置下比较不同的BEV编码器时,除了道路分割结果与BEVFormer - S相当外,BEVFormer在所有任务上都取得了更高的性能。例如,在联合训练的情况下,BEVFormer在检测任务( 52.0 % NDS v.s. 41.0 % NDS)上比Lift - Splat * 高出11.0点,在车道分割( 23.9 % v.s. 18.3 %)上比Lift - Splat *高出5.6点。与单独训练任务相比,多任务学习通过共享更多的模块,节省了计算成本,减少了推理时间,包括主干和BEV编码器。

    • 在本文中BEV编码器生成的BEV特征可以很好地适应不同的任务,并且多任务头的模型训练在检测任务和车辆分割上表现更好。然而,对于道路和车道分割,联合训练的模型表现不如单独训练的模型,这是多任务学习中一种常见的现象,称为负迁移。

  • 消融研究

    • 空间交叉注意的有效性。

      • 为了验证空间交叉注意力的效果,使用BEVFormer - S进行消融实验排除时间信息的干扰,结果如表5。

      在这里插入图片描述

      • 默认的空间交叉注意力是基于可变形注意力的。为了进行比较,我们还构建了另外两种具有不同注意力机制的基线:( 1 )使用全局注意力替换可变形注意力;( 2 )使得每个查询只与其参考点进行交互,而不与周围的局部区域进行交互。为了进行更广泛的比较,我们还将BEVFormer替换为VPN 和Lift - Spalt提出的BEV生成方法。观察到在可比较的模型规模下,可变形注意力显著优于其他注意力机制。全局注意力消耗过多GPU内存,点交互感受野有限。稀疏注意力由于与先验确定的感兴趣区域进行交互,平衡感受野和GPU消耗,获得了更好的性能。
    • 时间自注意力的有效性。

      • 由表1和表4可以观察到,在相同的设置下,BEVFormer比BEVFormer - S有显著的改进,特别是在具有挑战性的检测任务上。时间信息的作用主要体现在以下几个方面:( 1 )时间信息的引入极大地提升了速度估计的精度;( 2 )利用时间信息预测目标的位置和朝向更加准确;( 3 )由于时间信息包含过去物体的线索,我们在严重遮挡的物体上获得了更高的召回率,如图3所示。
        在这里插入图片描述

      • 不同遮挡率子集的检测结果。根据{ 0 ~ 40 %,40 ~ 60 %,60 ~ 80 %,80 ~ 100 % }的可见性将nu Scenes val集合划分为4个子集。( a ):受时间信息的增强,BEVFormer在所有子集上都有较高的召回率,尤其是在能见度最低的子集上( 0 ~ 40 % )。( b )、( d )、( e ):时间信息有利于平移、定向和速度精度。( c )和( f ):不同方法之间的尺度和属性误差差距最小。时间信息并不能帮助对象的尺度预测。

      • 为了评估BEVFormer在不同遮挡程度物体上的表现,我们根据nuScenes提供的官方可见性标签将nuScenes的验证集划分为4个子集。在每个子集中,我们还计算了匹配时中心距离阈值为2米的所有类别的平均召回率。所有方法的预测框最大数量都是300,以公平地比较召回率。在只有0 - 40 %的对象可见的子集上,BEVFormer的平均召回率优于BEVFormer - S和DETR3D,超过6.0 %。

    • 模型规模和延迟。

    • 在这里插入图片描述

      • 在表6中比较了不同配置的性能和延迟,从是否使用多尺度视图特征BEV查询的形状层数3个方面对BEVFormer的尺度进行消融,以验证性能和推理延迟之间的权衡。

      • 可以观察到在BEVFormer中使用一个编码器层的配置C达到了50.1 %的NDS,并将BEVFormer的延迟从原来的130ms降低到了25ms。配置D具有单尺度视图特征、较小的BEV尺寸和仅有1个编码器层,虽然与默认配置相比损失了3.9个点,但在推理过程中仅消耗了7ms。然而,然而,由于多视角图像输入,限制效率的瓶颈在于主干网,高效的自动驾驶主干网值得深入研究。总体而言,我们的架构能够适应不同的模型规模,并能够灵活地权衡性能和效率。

  • 可视化

  • 在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/941556.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

ABAQUS纤维混凝土冲击破坏三维模型

纤维混凝土作为土木工程领域常用的复合材料具备良好的抗裂性及抗冲击性能,纤维混凝土在荷载下的破坏行为及本构关系对其应用范围具有重要影响。本案例通过AutoCAD随机三维纤维插件建立随机投放的圆柱体纤维模型,并将模型导入ABAQUS内,通过混凝…

selenium学习笔记(一)

文章目录 前言一、selenium的简介java使用seleniumPython使用selenium常用的浏览器selenium的功能 二、chromeDriver的安装查看本机的chrome版本?匹配对应的chromedriver并下载在服务器上例如Centos如何安装Chrome 三、selenium内容详解chrome启动chrome启动参数元素…

如何利用Java爬虫按关键字搜索苏宁易购商品

在信息技术飞速发展的今天,数据的获取和分析对于企业决策、市场研究和用户行为分析至关重要。本文将介绍如何使用Java编写爬虫程序,通过关键字搜索苏宁易购的商品,并获取搜索结果。 1. 爬虫简介 爬虫是一种自动化程序,用于从互联…

网页生成鸿蒙App

如何网页生成鸿蒙App 纯鸿蒙发布后,鸿蒙App需求上升。如何快速生成鸿蒙App。变色龙云(http://www.appbsl.cn)推出了鸿蒙App打包服务。可以在线自动打包鸿蒙App。 第一步 创建应用 输入网站网址,上传图标。 第二步 生成鸿蒙证书 打开华为开发者管理中…

【Linux进程】进程间通信(共享内存、消息队列、信号量)

目录 前言 1. System V IPC 2. 共享内存 系统调用接口 shmget ftok shmat shmdt shmctl 共享内存的读写 共享内存的描述对象 3. 消息队列 msgget msgsnd msgctl 消息队列描述对象 4. 信号量 系统调用接口 semget semctl 信号量描述对象 5. 系统层面IPC资源 6.…

endnote插参考文献【毕业论文设置】

一、GBT7714下载 https://endnote.com/downloads/styles/ 二、最新过滤器下载 Import filters - EndNote 三、设置修改 Conference Proceedings Author. Title[C]//Conference Name|. Conference Location|: Publisher|, Year of Conference|: Pages|. Thesis Author. Ti…

Temu怎么入驻:全面解析入驻流程

Temu是拼多多旗下的跨境电商平台,随着海外市场的不断拓展,该平台也吸引了许多商家的关注。一些新手商家想要入驻Temu来销售自己的产品。那Temu怎么入驻?下面将带来详细的入驻流程。 一、Temu入驻流程 1、注册Temu账户 首先,登录…

aioice里面candidate固定UDP端口测试

环境: aioice0.9.0 问题描述: aioice里面candidate固定UDP端口测试 解决方案: /miniconda3/envs/nerfstream/lib/python3.10/site-packages/aioice import hashlib import ipaddress import random from typing import Optional import…

【电商搜索】文档的信息论生成聚类

【电商搜索】文档的信息论生成聚类 目录 文章目录 【电商搜索】文档的信息论生成聚类目录文章信息概览研究背景技术挑战如何破局技术应用主要相关工作与参考文献后续优化方向 后记 文章信息 https://arxiv.org/pdf/2412.13534 概览 本文提出了一种基于信息论的生成聚类&#…

车载网关性能 --- GW ECU报文(message)处理机制的技术解析

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 所谓鸡汤,要么蛊惑你认命,要么怂恿你拼命,但都是回避问题的根源,以现象替代逻辑,以情绪代替思考,把消极接受现实的懦弱,伪装成乐观面对不幸的…

FPGA(一)verilog语句基础

Verilog 是一种硬件描述语言(HDL),常用于数字电路的设计、模拟和验证,特别是用于 FPGA 和 ASIC 的设计。Verilog 让设计者能够描述和模拟硬件系统的行为和结构,最终将其转化为硬件电路。 一、模块结构 Verilog 中的设计…

故障诊断 | 信号降噪算法合集

往期精彩内容: Python-凯斯西储大学(CWRU)轴承数据解读与分类处理 基于FFT CNN - BiGRU-Attention 时域、频域特征注意力融合的轴承故障识别模型-CSDN博客 基于FFT CNN - Transformer 时域、频域特征融合的轴承故障识别模型-CSDN博客 P…

easegen将教材批量生成可控ppt课件方案设计

之前客户提出过一个需求,就是希望可以将一本教材,快速的转换为教学ppt,虽然通过人工程序脚本的方式,已经实现了该功能,但是因为没有做到通用,每次都需要修改脚本,无法让客户自行完成所有流程&am…

AI,cursor快速上手思维导图

https://cursor101.com/zh/tutorial/learn-cursor-tab

Echarts实现大屏可视化

一、效果展示 二、简介 该项目涉及到的图表有: 渐变堆叠面积图中国地图涟漪特效散点图饼图横向柱状图竖向柱状图圆环饼图 该项目主要展示的是使用Echarts制作的大屏可视化,所用到的技术有: 2.1 前端: vue3、vite、echarts、pi…

ECharts关系图-关系图11,附视频讲解与代码下载

引言: 关系图(或称网络图、关系网络图)在数据可视化中扮演着至关重要的角色。它们通过节点(代表实体,如人、物体、概念等)和边(代表实体之间的关系或连接)的形式,直观地…

javaEE--计算机是如何工作的-1

目录 一.计算机的组成: 各组件的功能: 衡量cpu好坏的标准: 二.指令(instruction) 三.操作系统Operating System 四.进程/任务process/tesk 五.进程在系统中如何管理 1.进程在系统中的管理,从两个角度来分类: 2.进程控制块PCB(Process Control Block)) 3.P…

目标检测-R-CNN

R-CNN在2014年被提出,算法流程可以概括如下: 候选区域生成:利用选择性搜索(selective search)方法找出图片中可能存在目标的候选区域(region proposal) CNN网络提取特征:对候选区域进行特征提取(可以使用AlexNet、VGG等网络) 目…

Blender 中投影仪的配置与使用

Blender 中投影仪的配置与使用 Blenderdownloadbasic Projectordownloadinstallconfigure 利用Blender中的投影仪搭建一个简单的结构光仿真系统,通过调整被测对象的材质和投影仪位姿以及投影来获得不同的渲染图像。 Blender download 在官网中下载相应安装包&…

MYSQL慢查询日志(开启慢查询配置、explain执行计划SQL优化、各个字段详解、索引失效)

大家好,我是此林。 今天来分享一下MYSQL慢查询日志记录。 目录 1. 定义 2. 开启慢查询 方法一:命令行 方法二:修改配置文件 3. explain性能分析 4. 索引失效 1. 最左前缀法则 2. 对字段做运算、字段类型不匹配 3. 模糊匹配 4. OR…