【论文速递】BEVFormer: 通过时空变换器从多相机图像中学习BEV表示

news2024/11/16 9:26:07

【论文原文】:ECCV2022 - BEVFormer: Learning Bird’s-Eye-View Representation from Multi-Camera Images via Spatiotemporal Transformers

论文:https://arxiv.org/abs/2203.17270
代码:https://github.com/fundamentalvision/BEVFormer

博主关键词: 小样本学习,语义分割,图注意力网络,互监督,目标检测,三维视觉

推荐相关论文:

【论文速递】CoRL2021 - DETR3D:通过 3D 到 2D 查询从多视图图像中检测 3D 对象
https://bbs.csdn.net/topics/612489503

摘要

3D 视觉感知任务,包括基于多相机图像的 3D 检测和地图分割,对于自动驾驶系统至关重要。在这项工作中,文章提出了一个名为 BEVFormer 的新框架,它使用时空变换器学习统一的 BEV 表示,以支持多个自动驾驶感知任务。 简而言之,BEVFormer 通过预定义的网格状 BEV 查询与空间和时间交互,从而利用空间和时间信息。 为了聚合空间信息,文章设计了空间交叉注意力(Spatial Cross Attention),每个 BEV 查询都从相机视图中的感兴趣区域中提取空间特征。 对于时间信息,文章提出时间自我注意(Temporal Self Attention)以循环融合历史 BEV 信息。 方法在 nuScenes 测试集的 NDS 指标方面达到了新的最先进的 56.9%,比以前的最佳技术高 9.0 分,与基于 LiDAR 的基线的性能相当。 进一步表明,BEVFormer 在低能见度条件下显着提高了速度估计和对象召回的准确性。
文章提出了 BEVFormer,这是一种自动驾驶范例,它应用 Transformer 和 Temporal 结构从多摄像头输入生成鸟瞰图 (BEV) 特征。BEVFormer 利用查询向量来查找空间和时间并相应地聚合时空信息,从而有利于感知任务的更强表示

简介

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

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

BEVFormer 的总体架构。 (a) BEVFormer 的编码器层包含网格状 BEV 查询、时间自注意力和空间交叉注意力。 (b) 在空间交叉注意中,每个 BEV 查询仅与感兴趣区域中的图像特征交互。 (c) 在时间自注意力中,每个 BEV 查询与两个特征交互:当前时间戳的 BEV 查询和前一个时间戳的 BEV 特征。

作为单目框架的替代方案,一个更统一的框架正在从多相机图像中提取整体表示。 鸟瞰图 (BEV) 是一种常用的周围场景表示,因为它可以清楚地呈现物体的位置和规模,适用于各种自动驾驶任务,例如感知和规划。 尽管以前的地图分割方法证明了 BEV 的有效性,但基于 BEV 的方法在 3D 对象检测中并未显示出优于其他范例的显着优势。 根本原因是 3D 对象检测任务需要强大的 BEV 特征来支持准确的 3D 边界框预测,但是从 2D 平面生成 BEV 是不适定的。 生成 BEV 特征的流行 BEV 框架是基于深度信息的,但这种范式对深度值或深度分布的准确性很敏感。 因此,基于 BEV 的方法的检测性能容易受到复合误差的影响,不准确的 BEV 特征会严重损害最终性能。 因此,我们有动力设计一种不依赖深度信息的 BEV 生成方法,并且可以自适应地学习 BEV 特征,而不是严格依赖 3D 先验。 Transformer使用注意力机制动态聚合有价值的特征,从概念上满足了我们的需求。

使用 BEV 特征执行感知任务的另一个动机是 BEV 是连接时空空间的理想桥梁。 对于人类视觉感知系统,时间信息在推断物体的运动状态和识别被遮挡物体方面起着至关重要的作用,视觉领域的许多工作已经证明了使用视频数据的有效性。 然而,现有的最先进的多相机 3D 检测方法很少利用时间信息。 重大挑战是自动驾驶是时间关键的,场景中的物体变化很快,因此简单地堆叠交叉时间戳的 BEV 特征会带来额外的计算成本和干扰信息,这可能不是理想的。 受循环神经网络 (RNN) 的启发,我们利用 BEV 特征循环传递从过去到现在的时间信息,这与 RNN 模型的隐藏状态具有相同的精神。

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

文章的主要贡献如下:
• 提出BEVFormer,一种时空变换器编码器,可将多摄像头和/或时间戳输入投射到BEV 表示。 凭借统一的 BEV 功能,我们的模型可以同时支持多个自动驾驶感知任务,包括 3D 检测和地图分割。

• 文章设计了可学习的 BEV 查询以及空间交叉注意层和时间自注意层,以查找来自交叉摄像头的空间特征和来自历史的时间特征BEV,然后将它们聚合成统一的 BEV 特征。

• 文章在多个具有挑战性的基准测试中评估提议的 BEVFormer,包括 nuScenes 和 Waymo。 与现有技术相比,我们的 BEVFormer 始终如一地实现了改进的性能。 例如,在可比较的参数和计算开销下,BEVFormer 在 nuScenes 测试集上实现了 56.9% NDS,比之前的最佳检测方法 DETR3D高出 9.0 个百分点(56.9% 对 47.9%)。 对于地图分割任务,我们也实现了最先进的性能,在最具挑战性的车道分割上比 Lift-Splat高出 5.0 多分。 我们希望这个简单而强大的框架可以作为后续 3D 感知任务的新基线。

【社区访问】

img 【论文速递 | 精选】

img阅读原文访问社区

https://bbs.csdn.net/forums/paper

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

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

相关文章

C++ opencv之配置环境

opencv下载官网下载连接:https://opencv.org/releases/选择相应版本下载,windows操作系统下载windows版本下载exe后,双击即可安装,选择好路径,尽量安装路径不要存在中文,安装好如下:vs2022配置opencv为DLL添加Path环境…

windows10搭建spark本地开发环境

windows10搭建spark本地开发环境1. spark概述2. 安装spark2.1 Windows10 安装Spark本地开发环境2.1.1 **版本说明**2.1.2 **环境准备**2.1.2.1 JDK 安装和配置2.1.2.1.1 JDK下载2.1.2.1.2 JDK安装2.1.2.1.3 JDK配置2.1.2.2 Scala 安装和配置2.1.2.2.1Scala下载2.1.2.2.2 Scala安…

51单片机学习笔记-11 DS18B02温度传感器(单总线)

11 DS18B02温度传感器 [toc] 注:笔记主要参考B站江科大自化协教学视频“51单片机入门教程-2020版 程序全程纯手打 从零开始入门”。 11.1 温度传感器与单总线通信 11.1.1 DS18B20温度传感器 DS18B20是一种常见的数字温度传感器,其控制命令和数据都是以…

SAP ADM100-Unit3 系统配置介绍:系统如何评估它的参数

本节将了解系统评估配置文件参数的顺序,并了解这些参数存储的位置。 1、配置profile参数 各个实例和SAP系统都是使用Profile配置文件参数来配置的。这些参数的默认值被定义在内核程序代码中。 可以通过配置文件改变这些参数的默认值,当实例被开启时将读取配置文件中参数值。…

大屏加载速度优化--突破chrome 6个请求线程限制

1. 问题 当大屏中的内容很多时,比如50个以上,整个页面呈现速度会慢很多,影响用户体验。 通过 chrome开发者工具可以看到,默认情况下,chrome仅开启6个请求线程,用于发起ajax请求。 2. 解决方案 改进的方式…

epoll模型要点总结

(图是网上的,懒得自己画了) 1 epoll_ctl是向红黑树rbr插入、删除、修改fd。epoll_wait在双向链表rdllist中查询IO可读、可写、错误事件。 为什么使用红黑树?从插入、删除考虑。 2 epoll_ctl插入新fd时,新建epitem,会设置回调函…

2023年第五届清洁能源与智能电网国际会议(CCESG 2023)

2023年第五届清洁能源与智能电网国际会议(CCESG 2023) 重要信息 会议网址:www.ccesg.org 会议时间:2023年4月21-23日 召开地点:广西-南宁 截稿时间:2023年2月28日 录用通知:投稿后2周内 收…

结合代谢组学和网络药理学研究康复消炎栓治疗慢性盆腔炎作用机制

文章标题:Integrated Metabolomics and Network Pharmacology Study on the Mechanism of Kangfuxiaoyan Suppository for Treating Chronic Pelvic Inflflammatory Disease 发表期刊:Frontiers in Pharmacology 影响因子:5.988 发表年份&…

读书:《好奇心:保持对未知世界永不停息的热情》

刚看到《好奇心》这本书的书名,我对《好奇心》还是有点好奇心的。 为什么小孩的好奇心比大人多?也不一定,如果家长或老师没有足够好的引导的话,孩子也会对周围的世界没有兴趣。 好奇心为两种:消遣性好奇、认识性好奇…

【go-zero】在微服务架构中是否要使用分布式事务 如何避免分布式的耦合 微服务与分布式事务的对立

微服务要不要引入分布式事务讨论问题:微服务要不要引入分布式事务?1、分布式事务的场景分析2、分析利与弊3、如何优化分布式事务3.1 什么是CAP理论3.2 方式一:避免使用分布式事务1)同步阻塞2)异步调用3)粗粒…

Linux中的Nginx平滑升级与回退

目录 一、平滑升级概述 1.平滑升级的定义 2.平滑升级的思路 (1)关于版本和备份 (2)向旧的Nginx的master进程发送USR2信号 (3)向旧的master进程发送winch信号,旧的worker子进程退出 &…

【疑难杂症】allennlp安装报错:Installing build dependencies ... error

背景: 配置PURE的算法环境,安装allennlp 0.9.0 (pip install allennlp0.9.0)报错,如图所示: 探索: 发现allennlp的依赖中有spacy,是在安装spacy 2.1.9的依赖时报错了。 此时我尝试…

PCB如何添加SMT定位孔经验总结

🏡《总目录》 目录1, 什么是SMT定位孔2,SMT定位孔有什么特征3,添加SMT定位孔的经验原则4,其他注意事项1, 什么是SMT定位孔 SMT定位孔是指在PCBA的SMT贴片焊接阶段,为了准确固定和定位板卡的机械…

【OpenGL学习】颜色和光照

颜色和光照 一、颜色的物理解释 颜色(英语:colour,color)又称色彩、色泽,是眼、脑和我们的生活经验对光的颜色类别描述的视觉感知特。这种对颜色的感知来自可见光谱中的电磁辐射对人眼视锥细胞的刺激。颜色是由光反射…

boost搜索引擎

文章目录1.项目介绍2.搜索引擎技术栈和项目环境3.正排索引和倒排索引 - 搜索引擎具体原理4.编写数据去标签和数据清洗模块Parser5.编写建立索引模块Index6.编写搜索引擎模块Searcher7.编写http_server8.效果展示1.项目介绍 Boost官网没有对应的搜索引擎,不方便我们…

04 frameset-iframe【尚硅谷JavaWeb教程】

04 frameset-iframe【尚硅谷JavaWeb教程】 frameset、iframe这个标签基本上已经不用了。 frameset标签 一个大的网页由很多个小的网页组成,会用到frameset。 frameset 表示页面框架,这个标签已经淘汰,了解,不需要掌握。 frame表…

Element ui Avatar头像管理组件 实现当用户没有头像时 以名称最后一个字为头像

el-avatar是一个比较方便的头像管理组件 src控制他的图片展示 <el-avatarclass "avatar":src"item.images" ></el-avatar>样式的话 可以用avatar控制 <style> .avatar{width: 18px;height: 18px;line-height: 18px; } .avatar img{b…

【可解释性机器学习】TextExplainer: 调试黑盒文本分类器

TextExplainer: 调试黑盒文本分类器示例问题&#xff1a;20个新闻组数据集的LSA SVM模型TextExplainer文本解释器的工作原理我们应该相信这个解释吗&#xff1f;让它们犯错吧让它们再次犯错吧自定义TextExplainer: 采样过程自定义TextExplainer&#xff1a;分类器参考资料尽管…

记录每日LeetCode 237.删除链表中的节点 Java实现

题目描述&#xff1a; 有一个单链表的 head&#xff0c;我们想删除它其中的一个节点 node。 给你一个需要删除的节点 node 。你将 无法访问 第一个节点 head。 链表的所有值都是 唯一的&#xff0c;并且保证给定的节点 node 不是链表中的最后一个节点。 删除给定的节点。注…

Kotlin之使用DSL构建专有的语法结构

DSL的全称是领域特定语言(Domain Specific Language)&#xff0c;它是编程语言赋予开发者的一种特殊能力&#xff0c;通过它我们可以编写出一些看似脱离其原始语法结构的代码&#xff0c;从而构建出一种专有的特殊结构。 Kotlin也是支持DSL的&#xff0c;并且在Kotlin中实现DSL…