自动驾驶-BEV感知综述

BEV感知综述

随着自动驾驶传感器配置多模态化、多源化,将多源信息在unified View下表达变得更加关键。BEV视角下构建的local map对于多源信息融合及理解更加直观简洁,同时对于后续规划控制模块任务的开展也更为方便。BEV感知的核心问题是:

  • 如何利用缺失3D信息的PV视角来构建BEV视角;
  • 如何获取BEV表达下的真值标注;
  • 如何有效融合不同模态及视角的传感器数据;
  • 不同车型、场景下传感器配置各不相同,如何能够实现Onetrack的能力;

本文回溯了近期BEV感知领域的最新进展,并对各类解决方案进行了深入分析。对于工业界流行的解决方案也进行了详细的阐述,并指明了未来该领域的研究方向。以期更多的研发资源能够推动该领域快速发展。

自动驾驶感知模块的任务就是对物理世界的3D重建。随着智驾车辆传感器配置多样化丰富化,BEV对于多源多视觉信息的汇聚融合具有天然的优势。BEV视角下解决了2D前视视角存在的遮挡、尺度等问题,同时动目标、地图要素等可直接用于下游的规划和控制模块。

  • BEV Camera:纯视觉;
  • BEV LiDAR:激光;
  • BEV Fusion:多传感器,包括视觉、激光、轮速、IMU等;

BEV感知研究动机

重要性

目前Nuscence和Waymo数据集的排行榜可知,视觉相比激光仍然存在20-30%的差距,那纯视觉的效果能否追平甚至超越激光的效果呢?这个问题对于学术界,是如何将2D的视觉信息像LiDAR一样精确的转换到BEV空间中;而对于工业界来说,相机相比LiDAR具有更低的成本,且在远处更稠密更丰富的纹理信息。另外一个问题是如何融合两种传感器的优势,形成更为强大的融合结果。

空间

对于激光传感器易获得深度信息,而对于单目相机要获得深度信息是非常挑战的任务。如何对多模态数据进行融合,包括前融合、后融合等,其中后融合阶段来自于视觉和激光的深度信息误差或配准都会导致性能降低。

准备度

当前公开的数据集是否能够支撑BEV感知的进一步研究?在数据集方面:Nusence及Waymo数据集提供了高质量的标注及多模态数据对齐,非常利于BEV感知研发的开展。同时leadboard也给大家听了同台打擂的机会。在算法方面:通用视觉领域已经突飞猛进,Transformer、ViT、CLIP等均有优异的表现。

贡献

  • 回溯了今年BEV感知研发的进展,包括宏观的架构及方法的细节讨论;
  • 综合分析了各个方面,包括depth estimation、View transformation、sensor fusion、domain adaptation等;
  • 除理论基础外,还提供了提升BEV感知的实践指导手册;

评价标准

BEV感知方法介绍

BEV Camera

在这里插入图片描述

纯视觉3D感知最初的任务是如何从PV视角预测Object的位置,因为基于PV的检测任务已经成熟,所以核心任务就成了如何在2D检测能力基础上增加3D场景的认知能力。之后为了处理在3D空间Oject的Size保持一致,而在image中会随着距离远近而变化的问题,研究者引入了BEV的表达形式加以解决;通常采用了深度预测及先验信息假设(地面、触地点)等手段来弥补image的3D信息缺失。近期BEV感知进展已经极大的推动了3D感知问题的发展,主要原因包括:

  1. 高质量数据集的出现,比如Nuscence multi-camera的配置非常适合在BEV空间下进行multi-view特征的聚合;
  2. 纯视觉BEV任务借鉴了很多LiDAR在检测头和LOSS函数设计方面的优秀实践;
  3. 单目视觉的PV视角任务经历了蓬勃发展,这些进展在BEV任务中的落地也推动了BEV任务的性能表现;

BEV Lidar

雷达BEV感知

在这里插入图片描述

  • preBEV
  • postBEV

点云是在连续3D空间采集到的数据,而在3D连续空间计算点与点见的相对位置关系存在着算力和感受野受限等关键问题。近期研究利用离散的grid数据来表示原始点云数据;然后使用卷积操作在grid表达上进行卷积操作,然而原始点云被表达为grid的形式难以避免信息的丢失。SOTA的pre-BEV方法借住高分辨率的Voxel size能够尽可能保留原始点云中的信息,从而在3D检测任务中取得了不俗的表现。高分辨率Voxel size也伴随着高算力和高存储的问题。直接将原始点云转到BEV空间避免了3D空间的卷积操作,但是丢失了大量高维信息,最高效的方式是将原始点云通过统计的方式表达为featrue map,获得不是最优但是可以接受的性能表现。pillar-base方法很好的平衡了效果和算力,在商用落地上优势明显。因此在效果和效率的trade-off上是lidar bev感知的核心问题。

BEV Fusion

雷达BEV感知

在这里插入图片描述

在这里插入图片描述

雷达BEV感知

如上图,各模态在独自的模态上进行特征提取的工作,然后各自模态下的feature map转换到BEV空间下进行融合,这块可以参考 BEVFusion ;还有一种实现路径是将视觉PV信息先提升到Voxel下的feature map,然后和激光的Voxel下feature map进行融合,这类的方法可以参考 UVTR 。进一步可以考虑自车的运动信息实现时域维度的融合,更好的速度预测及遮挡场景下的检测效果。在Temporal上的融合可以参见 BEVDet4D BEVFormer

图像是PV坐标系,而点云是3D坐标系,因此对齐两种模态的数据是关键环节之一。虽然点云数据通过相机投影模型很容易转换到图像PV坐标系下,但是点云的稀疏性使得紧靠点云单独提取有价值的feature变得困难;反过来由于图像PV数据缺少深度信息,将PV观测转到3D空间也是一个病态的问题。针对这一问题,已有的研究,包括IPM、LSS等,正在构建将图像PV数据转换为BEV空间的方法,使得多模态、时间、空间的融合成为了可能。

融合视觉和激光各自传感器优势,显著提升了3D感知任务的优势。融合框架同时保留了传感器件的独立性,不在依赖于单一器件,因此整个感知系统的鲁棒性也得到了增强。对于时域的融合,BEV空间的feature map具有尺度一致性,可以通过自车的运动补偿实现时域融合。因此考虑到鲁棒性和尺度准确性,BEV成为了一个感知结果表达的理想空间。

BEV感知商用落地

雷达BEV感知

在这里插入图片描述

商用的感知系统最初常用a图方式,即pv先出感知结果,然后转换到bev空间下与激光的结果进行后融合操作;显著已经发展为了b图的形式,即pv出featuremap,然后转换到bev空间下进行featuremap融合,进而执行检测任务,也就是所谓的前融合。

经验谈

Data Augmentation

  1. 视觉:color jitter, flip(包含了image的和bev两种空间下的翻转), resize, rotation, crop, and Grid Mask;
  2. 激光:random rotation, scaling, flipping, and point translation、Painting( Point-Painting )、temporal;

BEV Encoder

参考以下两种视觉和激光的典型BEV方法:

  • BEVFormer++
  • Voxel-SPVCNN

LOSS

对于视觉来说,可以综合运用目标检测的2D和3D的loss设计来训练模型;此外还可以使用深度监督信息( BEVDepth ),以提升3D检测的精度。通常2D的目标检测和单目深度估计会直接使用SOTA的预训练模型。对于激光来说,会联合使用 cross-entropy loss Geo loss Lovász loss 来提升检测效果;

总结

综合以上,未来BEV感知的主要研究方向包括:

  1. 如何设计一个精确的深度估计器;
  2. 如何融合来自多模态多视角的传感器数据的feature map;
  3. 如何实现模型对传感器安装位置无感,实现onetrack的部署能力;
  4. 如何将foundation model的成功经验(大模型、多任务)复制到bev感知领域上;

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

asp.net学生成绩评估系统VS开发sqlserver数据库web结构c#编程计算机网页项目

一、源码特点 asp.net 学生成绩评估系统 是一套完善的web设计管理系统,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 系统运行视频连接:https://www.bilibili.com/video/BV1Wz4y1A7CG/ 二、功能介绍 本系统使用Microsof…

基于STM32的外部中断(EXTI)在嵌入式系统中的应用

外部中断(External Interrupt,EXTI)是STM32嵌入式系统中常见且重要的功能之一。它允许外部事件(例如按键按下、传感器触发等)通过适当的引脚触发中断,从而应用于各种嵌入式系统中。在STM32微控制器中&#…

2023全新付费进群系统源码 带定位完整版 附教程

这源码是我付费花钱买的分享给大家,功能完整。 搭建教程 Nginx1.2 PHP5.6-7.2均可 最好是7.2 第一步上传文件程序到网站根目录解压 第二步导入数据库(58soho.cn.sql) 第三步修改/config/database.php里面的数据库地址 第四步修改/conf…

二十三种设计模式全面解析-当你的对象需要知道其他对象的状态变化时,观察者模式是你的救星!

在软件设计的世界中,有一种设计模式以其简洁而强大的特性闪耀着光芒,它就是——观察者模式(Observer Pattern)。这个模式它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象,为我们创造…

竞赛 题目:基于深度学习卷积神经网络的花卉识别 - 深度学习 机器视觉

文章目录 0 前言1 项目背景2 花卉识别的基本原理3 算法实现3.1 预处理3.2 特征提取和选择3.3 分类器设计和决策3.4 卷积神经网络基本原理 4 算法实现4.1 花卉图像数据4.2 模块组成 5 项目执行结果6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 基…

浅谈WPF之控件模板和数据模板

WPF不仅支持传统的Windows Forms编程的用户界面和用户体验设计,同时还推出了以模板为核心的新一代设计理念。在WPF中,通过引入模板,将数据和算法的“内容”和“形式”进行解耦。模板主要分为两大类:数据模板【Data Template】和控…

读像火箭科学家一样思考笔记02_与不确定性共舞(下)

1. 万有理论 1.1. 相对论 1.1.1. 适用于体积非常大的物体 1.2. 量子力学 1.2.1. 适用于非常小的物体 1.2.2. 在量子力学诞生之前,物理学一直强调的是因果关系,即做这件事,就会得到那个结果 1.2.3. 量子力学讲的似乎是:当我们…

wpf devexpress Property Gird管理集合属性

Property Grid允许你添加,浏览和编辑集合属性

【C++】内存管理

目录 C/C内存分布 C语言中动态内存管理方式 C内存管理方式 operator new与 operator delete函数 匹配使用的相关问题-内存泄漏: delete与delete [ ] malloc/free和 new/delete的区别 内存泄漏 C/C内存分布 栈又叫堆栈--非静态局部变量/函数参数/返回值等等,栈…

mfc140u.dll丢失的解决方法,以及针对每个解决mfc140u.dll丢失办法的优缺点

在使用电脑的过程中,有时会遇到一些与动态链接库文件(DLL)相关的错误。其中,mfc140u.dll丢失是一种常见的问题,它可能导致应用程序无法正常运行。在本文中,我们将探讨关于mfc140u.dll丢失的解决办法&#x…

openGauss通过VIP实现的故障转移

📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜&am…

【Linux】进程间是这样通信的--管道篇

TOC 目录 进程间通信的介绍 进程间通信的概念 进程间通信的目的 进程间通信的本质 进程间通信的分类 管道 什么是管道 匿名管道 pipe函数 匿名管道使用步骤 管道读写规则 管道的特点 1、管道内部自带同步与互斥机制 2、管道的生命周期随进程 3、管道提供的是流式…

【PyQt小知识 - 2】:QTextEdit内容的更新和获取、隐藏或显示滚动条、光标插入文本、文本自适应移动

文章目录 QTextEdit更新和获取内容隐藏或显示滚动条光标插入文本文本自适应移动 QTextEdit 更新和获取内容 更新:QTextEdit().setText(text) 或 QTextEdit().setPlainText(text) 获取:QTextEdit().toPlainText() setText()和setPlainText()的区别&…

UiPath Studio 2023.10 Crack

UiPath Studio是一款功能强大且用户友好的集成开发环境 (IDE),专为机器人流程自动化 (RPA) 设计。它由自动化技术领域的领先公司UiPath开发。 以下是 UiPath Studio 的一些主要功能和组件: 图形用户界面 (GUI):UiPath Studio 具有直观且用户友…

力扣每日一题-数位和相等数对的最大和-2023.11.18

力扣每日一题:数位和相等数对的最大和 开篇 这道每日一题还是挺需要思考的,我绕晕了好久,根据题解的提示才写出来。 题目链接:2342.数位和相等数对的最大和 题目描述 代码思路 1.创建一个数组存储每个数位的数的最大值,创建一…

LabVIEW关于USRPRIO的示例代码

LabVIEW关于USRPRIO的示例代码 USRPRIO 通常以两种方式使用: 1 基于 FPGA 的编程 对于希望修改USRP上的底层FPGA代码以添加自定义DSP模块的应用,请使用USRP示例项目。它可作为构建 USRP RIO 流式处理应用程序的起点,可从“创建项目”对话框…

Linux进程——exec族函数、exec族函数与fork函数的配合

exec族函数解析 作用 我们用fork函数创建新进程后,经常会在新进程中调用exec函数去执行另外一个程序。当进程调用exec函数时,该进程被完全替换为新程序。因为调用exec函数并不创建新进程,所以前后进程的ID并没有改变。 功能 在调用进程内部…

十. Linux关机重启命令与Vim编辑的使用

关机重启命令 shutdown命令 其他关机命令 其他重启命令 系统运行级别 系统默认运行级别与查询 退出登录命令logout 文本编辑器Vim Vim简介 没有菜单,只有命令Vim工作模式 Vim常用命令 插入命令 定位命令 删除命令 复制和剪切命令 替换和取消命令 搜索和搜索替换命令 保存和退出…

2023 PostgreSQL 数据库生态大会:解读拓数派大数据计算系统及其云存储底座

11月3日-5日,由中国开源软件推进联盟 PostgreSQL 分会主办的中国 PostgreSQL 数据库生态大会在北京中科院软件所隆重举行。大会以”极速进化融合新生”为主题,从线下会场和线上直播两种方式展开,邀请了数十位院士、教授、高管和社群专家&…

AIGC 是通向 AGI 的那条路吗?

AIGC 是通向 AGI 的那条路吗? 目录 一、背景知识 1.1、AGI(人工通用智能) 1.1.1、概念定义 1.1.2、通用人工智能特质 1.1.3、通用人工智能需要掌握能力 1.2、AIGC 二、AIGC 是通向 AGI 的那条路吗? 三、当前实现真正的 A…