论文阅读《BEVFormer v2》
BEVFormer v2: Adapting Modern Image Backbones to Bird’s-Eye-View Recognition via Perspective Supervision
目录
- 摘要
- 1 介绍
- 2 相关工作
- 2.1 BEV三维目标检测器
摘要
我们提出了一种具有透视监督的新型鸟瞰图(BEV)检测器,其收敛速度更快并且更适合现代图像主干。现有的最先进的BEV检测器通常与某些深度预训练主干网络(如VoVNet)相关联,从而阻碍了蓬勃发展的图像主干网络和BEV检测器之间的协同作用。为了解决这一限制,我们优先通过引入透视图监督来简化BEV检测器的优化。为此,我们提出了一个两阶段BEV检测器,其中来自透视头的提议被输入到鸟瞰头中进行最终预测。为了评估我们模型的有效性,我们进行了广泛的消融研究,重点关注监督形式和所提出的检测器的通用性。所提出的方法通过广泛的传统和现代图像主干得到了验证,并在大规模nuScenes数据集上取得了新的SoTA结果。代码即将发布。
1 介绍
鸟瞰图(BEV)识别模型引起了自动驾驶领域的兴趣,因为它们可以自然地将来自多个传感器的部分原始观测结果整合到统一的整体3D输出空间中。典型的BEV模型建立在图像主干之上,然后是视图转换模块,该模块将透视图像特征提升为 BEV 特征,然后由BEV特征编码器和一些特定任务的头进一步处理。人们投入了大量精力来设计视图转换模块,并将不断增长的下游任务列表纳入新的识别框架,但BEV模型中图像主干的研究却被忽视了。作为一个前沿且要求极高的领域,将现代图像主干引入自动驾驶是理所当然的。令人惊讶的是,研究界选择坚持使用VoVNet来享受其大规模深度预训练。在这项工作中,我们专注于释放现代图像特征提取器的全部威力,用于BEV识别,为未来的研究人员探索该领域更好的图像主干设计打开大门。
然而,仅仅采用那些现代图像主干而没有进行适当的预训练并不能产生令人满意的结果。例如,在3D物体检测方面,ImageNet预训练的ConvNeXt-XL主干网络的性能与DDAD-15M预训练的VoVNet-99相当,尽管后者的参数是前者的3.5倍。我们将适应现代图像主干的努力归因于以下问题。其一,自然图像和自动驾驶场景之间的领域差距。在一般二维识别任务上进行预训练的主干网络无法感知三维场景,尤其是无法估计深度。其二,当前BEV检测器的结构复杂。以BEVFormer为例。3D边界框和物体类别标签的监督信号通过视图编码器和物体解码器与图像主干分离,每个编码器和物体解码器由多层transformer组成。用于适应自动驾驶任务的通用二维图像主干的梯度流被堆叠的transformer层扭曲了。为了解决在将现代图像主干网络应用于BEV识别时遇到的上述困难,我们在BEVFormer中引入了透视监督,即将来自透视视图任务的额外监督信号直接应用于主干网络。它引导主干网络学习二维识别任务中缺失的三维知识,并克服BEV检测器的复杂性,极大地促进了模型的优化。具体来说,我们在主干网络上构建一个透视3D检测头,它将图像特征作为输入并直接预测目标对象的3D边界框和类别标签。这个透视头的损失,表示为透视损失,被添加到由BEV头衍生的原始损失(BEV损失)中,作为辅助检测损失。两个检测头使用其相应的损失项进行联合训练。此外,我们发现将两个检测头自然而然地组合成两级BEV检测器BEV-Former v2。由于透视头已经很成熟了,它可以在透视图中生成高质量的目标提案,我们将其作为第一阶段提案。我们将它们编码为目标查询,并将它们与原始BEVFormer中可学习的查询收集起来,形成混合对象查询,然后将其输入到第二阶段检测头以生成最终预测。
我们进行了大量的实验来证实我们提出的透视监督的有效性和必要性。透视损失有助于图像主干的适应,从而提高检测性能并加快模型收敛。而如果没有这种监督,即使经过更长的时间训练,模型也无法取得类似的结果。因此,我们成功地将现代图像主干适应BEV模型,在nuScenes测试集上实现了63.4%的NDS。
本文的贡献总结如下:
- 我们指出,透视监督是将一般的二维图像主干适应BEV模型的关键。我们通过透视图中的检测损失明确地添加了这种监督。
- 我们提出了一种新颖的两阶段BEV检测器,BEV-Former v2。它由一个透视3D和一个BEV检测头组成,前者的提议与后者的目标查询相结合。
- 我们通过将我们的方法与最新开发的图像主干相结合来强调其有效性,并在nuScenes数据集上取得了比以前最先进的结果更显著的改进。
2 相关工作
2.1 BEV三维目标检测器
最近,鸟瞰图(BEV)目标检测因其在自动驾驶系统中的巨大成功而受到了更多的关注。
早期的研究包括OF、Pseudo LiDAR和VPN,它们阐明了如何将透视特征转换为BEV特征,但无论是针对单个摄像头还是不太知名的任务。OFT率先采用从2D图像特征到3D BEV特征的转换,实现单目3D目标检测。Pseudo LiDAR,顾名思义,通过单目深度估计和相机内参创建伪点云,然后在BEV空间中对其进行处理。VPN是第一个将多视角相机输入融合到自上而下的视角特征图中以进行语义分割的技术。
相关文章:
论文阅读《BEVFormer v2》
BEVFormer v2: Adapting Modern Image Backbones to Bird’s-Eye-View Recognition via Perspective Supervision 目录 摘要1 介绍2 相关工作2.1 BEV三维目标检测器 摘要 我们提出了一种具有透视监督的新型鸟瞰图(BEV)检测器,其收敛速度更快…...

自动化运维(k8s):一键获取指定命名空间镜像包脚本
前言:脚本写成并非一蹴而就,需要不断的调式和修改,这里也是改到了7版本才在 生产环境 中验证成功。 该命令 和 脚本适用于以下场景:在某些项目中,由于特定的安全或政策要求,不允许连接到你的镜像仓库。然而…...

HarmonyOS ArkUI(基于ArkTS) 开发布局 (上)
一 ArkUI(基于ArkTS)概述 基于ArkTS的声明式开发范式的方舟开发框架是一套开发极简、高性能、支持跨设备的UI开发框架,提供了构建应用UI所必需的能力 点击详情 特点 开发效率高,开发体验好 代码简洁:通过接近自然语义的方式描述UI&#x…...

第九部分 :1.STM32之通信接口《精讲》(USART,I2C,SPI,CAN,USB)
本芯片使用的是STM32F103C8T6型号 STM32F103C8T6是STM32F1系列中的一种较常用的低成本ARM Cortex-M3内核MCU,具有丰富的通信接口,包括USART、SPI、I2C等。下面是该芯片上通信接口的管脚分布、每个接口的工作模式、常用应用场景和注意事项。 1. USART (通…...

5. langgraph中的react agent使用 (从零构建一个react agent)
1. 定义 Agent 状态 首先,我们需要定义 Agent 的状态,这包括 Agent 所持有的消息。 from typing import (Annotated,Sequence,TypedDict, ) from langchain_core.messages import BaseMessage from langgraph.graph.message import add_messagesclass …...
uniapp vue3的下拉刷新和上拉加载
开启页面的下拉刷新,注意这个不是可滚动视图的下拉刷新. 一般页面建议使用页面外的,不要使用scroll-view里面的下拉刷新. pages: "pages": [ {"path": "pages/index/index","style": {"navigationBarTitleText": "首…...

STM32设计井下瓦斯检测联网WIFI加Zigbee多路节点协调器传输
目录 目录 前言 一、本设计主要实现哪些很“开门”功能? 二、电路设计原理图 1.电路图采用Altium Designer进行设计: 2.实物展示图片 三、程序源代码设计 四、获取资料内容 前言 本系统基于STM32微控制器和Zigbee无线通信技术,设计了…...
Vue 3 中的原生事件监听与组件事件处理详解
Vue 3 中的原生事件监听与组件事件处理完全指南 在 Vue 3 中,事件监听和事件处理是组件交互中的关键部分。Vue 提供了一套简单而强大的事件处理机制,可以方便地监听 DOM 原生事件和组件自定义事件。本篇文章将详细介绍 Vue 3 中事件的使用,包…...

Flink Source 详解
Flink Source 详解 原文 flip-27 FLIP-27 介绍了新版本Source 接口定义及架构 相比于SourceFunction,新版本的Source更具灵活性,原因是将“splits数据获取”与真“正数据获取”逻辑进行了分离 重要部件 Source 作为工厂类,会创建以下两…...
2024年了,TCP分析工具有哪些?
TCP分析工具广泛应用于网络调试、性能分析和协议学习。以下是一些常用的TCP分析工具,它们各有特点,适用于不同的场景: Wireshark - 这是一个非常强大的网络协议分析器,支持图形界面,可以捕获和分析TCP流量,…...

SRP 实现 Cook-Torrance BRDF
写的很乱! BRDF(Bidirectional Reflectance Distribution Function)全称双向反射分布函数。辐射量单位非常多,这里为方便直观理解,会用非常不严谨的光照强度来解释说明。 BRDF光照模型,上反射率公式&#…...
MySQL慢日志
慢查询日志顾名思义就是查询慢的sql语句可以记录到一个日志文件里,至于有多慢才会被记录,默认是10秒,但也可以通过系统配置来更改,慢日志在做系统优化时是一个非常好用的工具 #是否开启慢日志 show variables like slow_query_log…...
Flutter网络通信-封装Dio
前言 dio 是一个强大的 Dart HTTP 请求库,支持全局配置、Restful API、FormData、拦截器、 请求取消、Cookie 管理、文件上传/下载、超时以及自定义适配器等。 Dio的pub地址为:dio | Dart package 封装要求 能够使用get、post、put、patch、delete、…...
matlab 读取csv
需要跳过第一行表头等信息 1、读取整个文件 csvread(FILENAME)%文件路径 文件名2、指定起始位置 csvread(FILENAME, R, C)%从文件的第R行和第C列开始读取数据 逗号分开3、指定数据范围 csvread(FILENAME, R, C, [R1 C1 R2 C2])%读取从(R1, C1)到(R2, C2)范围内的数据注意&am…...

网络层9——虚拟专用网VPN和网络地址转换NAT
目录 一、为什么有虚拟专用网? 二、如何理解“虚拟专用网”? 三、IP隧道技术实现虚拟专用网 四、网络地址变换 一、为什么有虚拟专用网? 第一,IPv4只有32位,最多有40亿个全球唯一的IP地址数量不够,无法…...

开源科学工程技术软件介绍 – EDA工具KLayout
link 今天向各位知友介绍的 KLayout是一款由德国团队开发的开源EDA工具。 KLayout是使用C开发的,用户界面基于Qt。它支持Windows、MacOS和Linux操作系统。安装程序可以从下面的网址下载: https://www.klayout.de/build.html KLayout图形用户界面&…...
【网络安全】Cookie SameSite属性
未经许可,不得转载。 文章目录 背景CSRF 攻击SameSite 属性StrictLaxNone背景 为了有效防止 CSRF 攻击并保护用户隐私,Chrome 从 51 版本开始引入了 SameSite 属性,专门用于限制第三方 Cookie 的使用,进而减少安全风险。 CSRF 攻击 跨站请求伪造(CSRF)攻击是指恶意网站…...

Linux 命令 | 每日一学,文本处理三剑客之awk命令实践
[ 知识是人生的灯塔,只有不断学习,才能照亮前行的道路 ] 0x00 前言简述 描述:前面作者已经介绍了文本处理三剑客中的 grep 与 sed 文本处理工具,今天将介绍其最后一个且非常强大的 awk 文本处理输出工具,它可以非常方便…...

RabbitMQ的工作队列在Spring Boot中实现(详解常⽤的⼯作模式)
上文着重介绍RabbitMQ 七种工作模式介绍RabbitMQ 七种工作模式介绍_rabbitmq 工作模式-CSDN博客 本篇讲解如何在Spring环境下进⾏RabbitMQ的开发.(只演⽰部分常⽤的⼯作模式) 目录 引⼊依赖 一.工作队列模式 二.Publish/Subscribe(发布订阅模式) …...
【web前端笔记】vue3 + vite的前端项目中,使用import.meta.glob()方法实现全局注册组件的通用代码
目录 1.1、如何读取所有文件 1.2、通用代码 1.3、在main.js引入 这篇文章介绍一下,在vue3和vite搭建的项目中,如何将【src/components】目录下所有的【*.vue】文件,当做一个组件全局注册到Vue对象里面。 1.1、如何读取所有文件 在vue3和vite搭建的项目里面,它给我们提…...
uniapp 对接腾讯云IM群组成员管理(增删改查)
UniApp 实战:腾讯云IM群组成员管理(增删改查) 一、前言 在社交类App开发中,群组成员管理是核心功能之一。本文将基于UniApp框架,结合腾讯云IM SDK,详细讲解如何实现群组成员的增删改查全流程。 权限校验…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

【入坑系列】TiDB 强制索引在不同库下不生效问题
文章目录 背景SQL 优化情况线上SQL运行情况分析怀疑1:执行计划绑定问题?尝试:SHOW WARNINGS 查看警告探索 TiDB 的 USE_INDEX 写法Hint 不生效问题排查解决参考背景 项目中使用 TiDB 数据库,并对 SQL 进行优化了,添加了强制索引。 UAT 环境已经生效,但 PROD 环境强制索…...

(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)
更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心
当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
【Go语言基础【13】】函数、闭包、方法
文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数(函数作为参数、返回值) 三、匿名函数与闭包1. 匿名函数(Lambda函…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...