当前位置: 首页 > news >正文

论文阅读《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搭建的项目里面,它给我们提…...

微信小程序之bind和catch

这两个呢,都是绑定事件用的,具体使用有些小区别。 官方文档: 事件冒泡处理不同 bind:绑定的事件会向上冒泡,即触发当前组件的事件后,还会继续触发父组件的相同事件。例如,有一个子视图绑定了b…...

树莓派超全系列教程文档--(61)树莓派摄像头高级使用方法

树莓派摄像头高级使用方法 配置通过调谐文件来调整相机行为 使用多个摄像头安装 libcam 和 rpicam-apps依赖关系开发包 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 配置 大多数用例自动工作,无需更改相机配置。但是,一…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

微信小程序云开发平台MySQL的连接方式

注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...

Python训练营-Day26-函数专题1:函数定义与参数

题目1:计算圆的面积 任务: 编写一个名为 calculate_circle_area 的函数,该函数接收圆的半径 radius 作为参数,并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求:函数接收一个位置参数 radi…...

跨平台商品数据接口的标准化与规范化发展路径:淘宝京东拼多多的最新实践

在电商行业蓬勃发展的当下,多平台运营已成为众多商家的必然选择。然而,不同电商平台在商品数据接口方面存在差异,导致商家在跨平台运营时面临诸多挑战,如数据对接困难、运营效率低下、用户体验不一致等。跨平台商品数据接口的标准…...

HTTPS证书一年多少钱?

HTTPS证书作为保障网站数据传输安全的重要工具,成为众多网站运营者的必备选择。然而,面对市场上种类繁多的HTTPS证书,其一年费用究竟是多少,又受哪些因素影响呢? 首先,HTTPS证书通常在PinTrust这样的专业平…...