【论文阅读】BEVFormer

news2025/5/18 12:10:39

〇、Introduction

BEVFormer是现在端到端无人驾驶中常使用的一个Backbone,用于将六个视角下的图像转换为鸟瞰图视角下的特征,转换出的BEV特征则会被用于后续模块的特征交互。然而在这个模型设计的初期,其最本质的意图是为了提取用于各种CV任务的BEV特征。相机本身作为一个简单的感知设备,具有开销小、便于检测远处物体的特点。在多视角感知的领域,最简单直接的方法是在各个视角下都进行一次检测,最后将检测结果进行融合,然而这种方法忽略了视角之间存在的联系。从整体的角度来看,BEV视角是一个很好的选择,因为BEV能够从全局角度进行感知。但是从2d的成像平面提取出BEV有些困难,这一点导致了在BEV场景中进行的CV任务比较困难。主要的困难点在于转换过程需要从图像这一2d结构转换为3d场景,得益于Transformer结构,现在我们可以不完全依赖于深度信息动态学习BEV特征。

这篇文章中作者提出了BEVFormer,利用多相机输入得到场景的BEV表示,这个输出的BEV特征可以用于各种的CV任务。提出了时间自注意力机制和空间交叉注意力机制,利用可学习的BEV query进行两种注意力的计算,得到时空关联的BEV特征输出。

一、模型结构

整体结构

BEVFormer采用的也是传统的Transformer结构,具有六个编码器层,除了BEV query、时间自注意力和空间交叉注意力,其余的部分与穿砼结构一致。其中BEV query是一个网格形状的可学习参数,用于从多视角下利用注意力进行特征的提取。空间交叉注意力和时间自注意力都会与BEV query进行交互,从而增强输出的BEV特征时间和空间联系。

在一次推理中,六个视角下的图像首先会各自利用Resnet进行特征的提取,转换为六个视角下的特征图。每次推理我们利用上一帧输出的BEV特征与BEV query进行时间自注意力机制的计算,从而增强当前帧的BEV query,之后利用空间信息与多视角的特征图进行空间交叉注意力的计算。经过六层编码器最终得到当前帧的BEV特征。
在这里插入图片描述

BEV query

因为BEV本身具有一个二维的坐标结构,所以这里BEV query也可以用二维结构来解释。BEV query是一个网格状的可学习参数,它的大小为H×W×C,其中H和W是BEV平面的大小,我们可以将其拆解为H×W个维的向量,每个query对应的就是一个坐标下的特征信息,这个H和W我们可以理解为网格的数量,所谓BEV平面实际上就是一个二维的矩形网格结构,类似于2dNDT里面的网格,每个网格的大小为超参数S,H和W就是网格在两个方向上的数量,每个query对应的位置就是每个网格的中心。对于每个query,我们为其加入最基本的可学习的空间位置编码来增强。
在这里插入图片描述

空间交叉注意力

空间交叉注意力实际上是可变形注意力的一个优化版本。对于目前的一个BEV query,其实它本身是一个二维结构,是一个H×W的矩阵,这里我们首先将其补充为3d结构,做法是将H×W直接进行拉伸。比如说原本一个BEV query的坐标是(x, y),利用预设好的高度值,我们将起补充为(x, y, z),z的取值完全是认为选择的,相当于我们将2d的平面在纵向上复制了很多次。这样子我们就得到了很多3d的点,利用点的坐标、相机的内外参,我们可以利用小孔成像原理计算在六个视角下的投影位置,也就是在六个视角下能否观测到这些点,对于能够观测到的视角,我们将其记录在Vhit里面,之后对于每个3d点,我们对所有能够观测到的视角Vhit计算可变形注意力,我们在投影点的位置的基础上,利用可学习的偏移量,加权求和得到当前视角下的特征向量,之后所有的可观测视角都进行这个操作,最后加权求和,得到的特征向量就是BEV query中一个点的特征向量。
在这里插入图片描述
这里补充一个想了很久的问题,在这个计算的过程中,既然每个BEV query的坐标(x, y)是固定的,3d点在自车坐标系下的位置固定,自车坐标系与相机坐标系的变换关系也是固定,那么它会被哪几个相机观测不就是确定的吗,这里为什么又要使用内外参动态计算会被哪个相机观测。我和ScholarGPT讨论了半天,它提供的说法是,这套解释理论上是成立的,但是太过暴力,实际上这个转换过程引入了世界坐标系,固定的3d点首先利用自车坐标系与当前位姿,转换为世界坐标系下的点,之后再根据世界坐标系和相机坐标系的关系进行投影,这个过程当前位姿是变化的或者是不完全准确的,所以哪个点能被哪个相机观测也就不确定了,所以需要动态计算。

时间自注意力

由于帧与帧之间并不是完全独立的,它们之间也存在一个相互关联的关系,所以作者引入了时间自注意力机制来优化这一点。对于上个时刻输出的BEV特征,我们首先根据位姿真值进行投影,转换到当前帧的坐标系下,这一步和SLAM中的坐标投影是一样的。转换之后,我们使用当前帧的BEV query与投影后的BEV特征进行可变形注意力的计算,这里虽然名字叫做时间自注意力,但是使用的可变形注意力计算是可变形交叉注意力,即使用可学习的偏移量对上一帧的BEV特征进行处理,将加权求和后的结果与原始的特征向量进行叠加,得到增强后的BEV query。
在这里插入图片描述
由于第一帧时没有上一帧的BEV特征,所以第一帧时采用两个BEV query进行可变形注意力的计算,也就是自己和自己计算可变形交叉注意力。

这里的投影其实存在一些问题,投影实际上相当于SLAM中的坐标系变换,那么必然会存在一个投影后裁切的问题,因为车辆在前移,以车辆坐标系来看,必然有些点变得太远而消失,有些点因为靠近而突然出现,但是BEV特征的大小是固定的,这就有可能导致投影后的BEV特征,一些部分因为超出了范围被丢弃,一些部分因为根本就投影不到而保持为0。这种情况下会通过降低该部分的权重来避免BEV query无法被强化。投影的过程实际上就是取整的过程,会根据位置自动分配一个网格,网格内如果存在多个投影点,则对于这个网格的特征向量来说,其等于所有投影过来的点对应的特征向量的平均。

整体流程

从整个流程来看,在非第一帧的情况下,每次推理的输入是上一个时刻的BEV特征和训练好的可学习参数组成的BEVquery,首先利用自车的位姿变化将上一个时刻的BEV特征转换到当前时刻,之后用BEVquery与转换后的BEV特征做可变形交叉注意力,由于BEV query和BEV特征的大小是一样的,所以如果query的坐标是xy,那么可以直接将BEV特征xy位置作为采样点的初始位置,之后利用可学习的偏移在每个位置采样并加权求和,得到一个与原BEV特征大小相同的特征图,之后将这个特征图从2d补充高度变成3d,利用内外参矩阵投影到不同视角的相机成像平面,如果点可以投影到某个相机视角下,就利用投影位置在当前视角对应的特征图中计算可变形交叉注意力,最后得到一个新的特征图,作为当前帧的BEV特征。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IDEA编辑器设置的导出导入

背景 最近新换了电脑,因为之前是 Intel 芯片的 Mac,这次换了 arm 架构的 M 芯片的 Mac,旧 Mac 上的很多软件不兼容,所以就没有选择换机数据迁移,一点一点下载、配置了所有环境。 导出 IDEA 支持设置的导入导出&…

成功案例丨从草图到鞍座:用先进的发泡成型仿真技术变革鞍座制造

案例简介 在鞍座制造中,聚氨酯泡沫成型工艺是关键环节,传统依赖实验测试的方法耗时且成本高昂。为解决这一问题,意大利自行车鞍座制造商 Selle Royal与Altair合作,采用Altair Inspire PolyFoam软件进行发泡成型仿真。 该工具帮助团…

电机试验平台:创新科技推动电动机研究发展

电机试验平台是电机制造和研发过程中不可或缺的重要设备,其功能涵盖了电机性能测试、电机寿命测试、电机质量评估等多个方面。随着科技的不断发展和电机应用领域的日益扩大,对电机试验平台的要求也越来越高。本文将从现代化电机试验平台的设计与应用两个…

【springcloud学习(dalston.sr1)】Zuul路由访问映射规则配置及使用(含源代码)(十二)

该系列项目整体介绍及源代码请参照前面写的一篇文章【springcloud学习(dalston.sr1)】项目整体介绍(含源代码)(一) springcloud学习(dalston.sr1)系统文章汇总如下: 【springcloud学习(dalston…

Qt与Hid设备通信

什么是HID? HID(Human Interface Device)是‌直接与人交互的电子设备‌,通过标准化协议实现用户与计算机或其他设备的通信,典型代表包括键盘、鼠标、游戏手柄等。‌ 为什么HID要与qt进行通信? 我这里的应…

2024 山东省ccpc省赛

目录 I(签到) 题目简述: 思路: 代码: A(二分答案) 题目简述: 思路: 代码: K(构造) 题目: 思路: 代…

SAP HCM 0008数据存储逻辑

0008信息类型:0008信息类型是存储员工基本薪酬的地方,因为很多企业都会都薪酬带宽,都会按岗定薪,所以在上线前为体现工资体系的标准化,都会在配置对应的薪酬关系,HCM叫间接评估,今天我们就分析下…

如何使用通义灵码辅助学习C++编程 - AI编程助手提升效率

一、引言 C 是一门功能强大且灵活的编程语言,在软件开发、系统编程、游戏开发等领域广泛应用。然而,其复杂的语法和丰富的特性使得学习曲线较为陡峭。对于初学者而言,在学习过程中难免会遇到各种问题,如语法理解困难、代码调试耗…

【Docker】CentOS 8.2 安装Docker教程

目录 1.卸载 2.安装依赖 3.设置yum源 4.安装Docker 5.启动Docker 6.设置Docker开机自启 7.验证Docker是否安装成功 8.配置多个国内镜像地址 9.重启Docker 10.Docker指令大全 10.1.启动与关闭Docker 10.2.Docker镜像操作 10.3.Docker容器操作 10.4.Docker Compose操作…

K230 ISP:一种新的白平衡标定方法

第一次遇见需要利用光谱响应曲线进行白平衡标定的方法。很好奇是如何利用光谱响应曲线进行白平衡标定的。 参考资料参考:K230 ISP图像调优指南 K230 介绍 嘉楠科技 Kendryte 系列 AIoT 芯片中的最新一代 AIoT SoC K230 芯片采用全新的多核异构单元加速计算架构&a…

桃芯ingchips——windows HID键盘例程无法同时连接两个,但是安卓手机可以的问题

目录 环境 现象 原理及解决办法 环境 PC:windows11 安卓:Android14 例程使用的是HID Keyboard,板子使用的是91870CQ的开发板,DB870CC1A 现象 连接安卓手机时并不会出现该现象,两个开发板都可以当做键盘给手机发按…

[Linux] vim及gcc工具

目录 一、vim 1.vim的模式 2.vim的命令集 (1):命令模式 (2):底行模式 3.vim配置 二、gcc 1.gcc格式及选项 2.工作布置 三、自动化构建工具makefile 1.基本使用方法 2.配置文件解析 3.拓展 在linux操作系统的常用工具中,常用vim来进行程序的编写&#xff1b…

MySQL只操作同一条记录也会死锁吗?

大家好,我是锋哥。今天分享关于【MySQL只操作同一条记录也会死锁吗?】面试题。希望对大家有帮助; MySQL里where条件的顺序影响索引使用吗? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在MySQL中,死锁通常发生在多…

数据结构与算法——双向链表

双向链表 定义链表分类双向链表:带头双向循环链表 初始化打印尾插头插尾删头删查找在pos(指定位置)之后插入结点在pos(指定位置)之前插入结点删除pos(指定位置)的结点销毁顺序表与链表的分析 定义 链表分类 单向和双向 带头和不带头 带头是指存在一个头结点&…

MODBUS RTU调试助手使用方法详解

一、软件简介 485调试助手是一款常用的串口通信调试工具,专门用于RS-485总线设备的测试、调试和通信监控。它支持多种串口参数设置,提供数据收发功能,是工业现场调试的必备工具之一。 二、软件安装与启动 1. 系统要求 Windows 7/10/11操作…

自由学习记录(60)

Lecture 16 Ray Tracing 4_哔哩哔哩_bilibili 老师说的“高频采样”问题是什么? 现在考虑一个特殊情况: ❗ 一个像素内,图像信号变化很剧烈(高频): 比如: 细网格纹理 马赛克背景 很高频的…

现代计算机图形学Games101入门笔记(三)

三维变换 具体形式缩放,平移 特殊点旋转。这里涉及到坐标系,先统一定义右手坐标系,根据叉乘和右手螺旋判定方向。这里还能法线Ry Sina 正负与其他两个旋转不一样。这里可以用右手螺旋,x叉乘z,发现大拇指朝下&#xff0…

WeakAuras Lua Script <BiaoGe>

WeakAuras Lua Script <BiaoGe> 表格拍卖插件WA字符串 表格字符串代码&#xff1a; !WA:2!S3xA3XXXrcoE2VH9l7ZFy)C969PvDpSrRgaeuhljFlUiiSWbxaqXDx(4RDd0vtulB0fMUQMhwMZJsAO5HenLnf1LPSUT4iBrjRzSepL(pS)e2bDdWp5)cBEvzLhrMvvnAkj7zWJeO7mJ8kYiJmYiImYF0b(XR)JR9JRD…

chrome 浏览器插件 myTools, 日常小工具。

1. 起因&#xff0c; 目的: 比如&#xff0c;chatgpt, google&#xff0c; 打开网页&#xff0c;就能直接输入文字&#xff0c;然后 grok 就不行&#xff0c;必须用鼠标点一下&#xff0c;才能输入文字。 对我而言&#xff0c;是个痛点&#xff01;写个插件&#xff0c;自动点…

智慧校园(含实验室)智能化专项汇报方案

该方案聚焦智慧校园(含实验室)智能化建设,针对传统实验室在运营监管、环境监测、安全管控、排课考勤等方面的问题,依据《智慧校园总体框架》等标准,设计数字孪生平台、实验室综合管理平台、消安电一体化平台三大核心平台,涵盖通信、安防、建筑设备管理等设施,涉及 395 个…