M^2BEV: 统一的鸟瞰图表示的多相机联合3D检测和分割

news2024/11/25 12:28:36

文章:M^2BEV: Multi-Camera Joint 3D Detection and Segmentation with Unified Bird’s-Eye View Representation

作者:Enze Xie, Zhiding Yu, Daquan Zhou, Jonah Philion, Anima Anandkumar, Sanja Fidler, Ping Luo, Jose M. Alvarez

编辑:点云PCL

主页:https://xieenze.github.io/projects/m2bev/

欢迎各位加入知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。

公众号致力于点云处理,SLAM,三维视觉,高精地图等领域相关内容的干货分享,欢迎各位加入,有兴趣的可联系dianyunpcl@163.com。未经作者允许请勿转载,欢迎各位同学积极分享和交流。

摘要

本文提出了M^2BEV(Multi-Camera Multi-Modal Bird's Eye View)框架,它在多摄像头图像输入的鸟瞰图空间中联合进行3D物体检测和地图分割。与大多数先前的工作单独处理检测和分割不同,M^2BEV使用统一的模型推断两个任务,并提高了效率。M^2BEV将多视角的2D图像特征有效地转换为以自车坐标系为基础的3D鸟瞰图特征,这种鸟瞰图表示很重要,因为它使不同任务能够共享一个编码器,该框架还包含四个重要设计,既提高了准确性又提高了效率:

(1)一种有效的鸟瞰图编码器设计,减小了体素特征图的空间维度。

(2)一种动态框分配策略,使用学习匹配来将真值3D框分配给锚点。

(3)一种鸟瞰图中心性重新加权方法,对更远的预测加权更大。

(4)大规模2D检测预训练和辅助监督。

我们展示了这些设计在缺乏深度信息的基于摄像头的3D感知任务中的显著效果。M^2BEV具有高效的内存使用,允许输入更高分辨率的图像,并具有更快的推断速度,在nuScenes数据集上的实验表明,M^2BEV在3D物体检测和鸟瞰图分割两个任务中取得了最先进的结果,其中最佳单模型分别达到了42.5的mAP和57.0的mIoU。

7c184332f8f200857a3bd760c18609e8.gif

主要贡献

多摄像头自动驾驶感知的两种解决方案。top:多个任务特定网络在各自的2D视图上运行,无法跨任务共享特征,并输出视图特定的结果,需要进行后处理才能融合成最终的、与世界一致的输出。bottom:M^2BEV采用统一的鸟瞰图(BEV)特征表示,支持单个网络进行多视角多任务学习。我们认为统一的鸟瞰图(BEV)特征表示对于360度多任务自动驾驶感知至关重要。本文通过有效的特征转换获得BEV表示,其中BEV表示是通过将多视角2D图像特征沿光线重构到3D体素中得到的。如图2所示,统一的BEV表示使我们能够以最小的额外计算成本轻松支持多个任务,如检测和分割。

e4b6f7fa321ef1ecb8803d54a730e1cb.png

图2:多摄像头AV感知的两种解决方案

这使得我们的工作与简单地顺序堆叠单独的任务特定网络不同。本文的贡献可以总结如下:

  • 提出了一个统一的框架,将多摄像头图像转换为鸟瞰图(BEV)表示,用于多任务自动驾驶感知,包括3D物体检测和BEV分割。据我们所知,这是第一个在单一框架中针对这两个具有挑战性的任务进行预测的工作。

  • 提出了几个新颖的设计,如高效的BEV编码器、动态框分配和BEV中心性。这些设计有助于提高GPU内存效率,并显著提高了两个任务的性能。

  • 展示了大规模的2D注释(如nuImage)和2D辅助监督的预训练可以显著提高3D任务的性能,并有益于标签效率。因此,我们的方法在nuScenes上在3D物体检测和BEV分割两个任务上取得了最先进的性能,表明BEV表示在下一代自动驾驶感知中具有很大的潜力。

主要内容

M^2BEV的整体流程如图3 ,给定时间戳T处的N个图像以及相应的内参和外参相机参数作为输入,编码器首先从多视图图像中提取2D特征,然后将这些2D特征投影到3D车辆坐标系中生成鸟瞰图(BEV)特征表示,最后,采用任务特定的头部来预测3D物体和地图。

6030bfc4af07c493b69bd19fec064838.png

图3:M2BEV的整体流程

d9a737704f98fe9abdb84ac2df5c3cf5.png

图4:(a)、(b)展示了我们的基准线相比于3D检测和BEV分割上的显著性能改进,这意味着这些设计是非常重要的。(c)展示了在M2BEV中高效的2D→3D特征投影,它将2D特征沿着射线投影到3D体素中。

e57d01bd347f614f42e6819689454ccd.png

图5:一些改进设计的细节。(a) 不同范围内的BEV中心度和IoU改进;(b) 2D检测预训练。我们首先在2D检测任务上预训练模型,然后将骨干网络的权重转移到3D任务上;(c) 通过将自车空间中的3D GT框投影到2D图像空间中生成2D GT框。

实验结果

M^2BEV在nuScenes数据集上在3D物体检测和BEV分割两个任务上均取得了最先进的结果。此外,由于采用了统一的BEV表示,M^2BEV在运行时比仅进行检测或分割的方法更加高效。

b5480d9b096f038672320485da93f28c.png

16334c58b5855f4bfb15f9722f553963.png

联合3D物体检测和地图分割的定性结果如图7,红色圆圈表示一些失败案例,我们的模型可以在复杂的道路条件下检测到密集的3D物体并分割地图。然而,在车道分割和超大物体检测方面,预测的质量仍然不够完美。未来应该在这些情况下投入更多的努力来提高预测质量。

506adbf33ac653e38560cf86c326df79.png

图7,联合3D物体检测和地图分割的定性结果

总结

3D物体检测和地图分割是多摄像头自动驾驶感知中最重要的两个任务,本文提出了一种在一个网络中完成这两个任务的框架,关键思想是将多视角特征从图像平面投影到鸟瞰图(BEV)空间中,创建统一的BEV表示,然后,检测和分割分支在BEV表示上进行操作,还展示了在廉价的2D数据上进行预训练可以提高3D任务的标签效率。

更多详细内容后台发送“知识星球”加入知识星球查看更多。

3D视觉与点云学习星球:主要针对智能驾驶全栈相关技术,3D/2D视觉技术学习分享的知识星球,将持续进行干货技术分享,知识点总结,代码解惑,最新paper分享,解疑答惑等等。星球邀请各个领域有持续分享能力的大佬加入我们,对入门者进行技术指导,对提问者知无不答。同时,星球将联合各知名企业发布自动驾驶,机器视觉等相关招聘信息和内推机会,创造一个在学习和就业上能够相互分享,互帮互助的技术人才聚集群。

以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除

扫描二维码

                   关注我们

让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入知识星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。

分享与合作方式:微信“cloudpoint9527”(备注:姓名+学校/公司+研究方向) 联系邮箱:dianyunpcl@163.com。

点赞吧!

4dcdb23d27a31f17c6bb6ae486a72495.gif

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

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

相关文章

SpringBoot内置Tomcat 配置和切换

目录 SpringBoot内置Tomcat 配置和切换 基本介绍 内置Tomcat 的配置 application.yml配置 对上面代码解释一下方便理解 通过类来配置Tomcat 注销application.yml 对tomcat 配置,完成测试 切换WebServer, 演示如何切换成Undertow 修改pom.xml , 排除tomcat…

sqli_labs17 ——更新注入

输入用户名admin密码随便输入,发现回显提示是成功修改密码,更新就是指的更新密码 想要在用户栏测试闭合,但是都回显的是hacker 利用自己的字典查了一下也全部回显的一样的数据,那说明这个用户栏是设定了严格的过滤的,结…

前端3D技术概述

操作系统、编译原理、计算机图形学被传为程序员的三大浪漫,每个方向都易懂难深,但作为程序员对每个方向还是要有基本的认识和判断,毕竟贯穿虚拟和现实生活的桥梁是搭建在抽象之上的,这三大浪漫是抽象化的课代表。本次我们认识下计…

Spring 五大类注解、方法注解、对象注入简化 Bean 操作

目录 为什么要使用注解 配置扫描文件: 1.配置扫描路径 1. 五大类注解: 五大类注解有哪些? 1.1 Controller: 1.1.1 存储 Bean 1.1.2 读取 Bean 1.2 Service: 1.2.1 存储 Bean 1.2.2 读取 Bean 1.3 Repository&a…

Hadoop的基本概念和架构

Hadoop的基本概念和架构 学习路线 hadoop的基本概念和架构hadoop的安装和配置hadoop的HDFS文件系统hadoop的MapReduce计算框架hadoop的YARN资源管理器hadoop的高级特效,如HBase,Hive,Pig等hadoop的优化和调优hadoop的应用场景,如…

23种设计模式之组合模式(Composite Pattern)

前言:大家好,我是小威,24届毕业生,在一家满意的公司实习。本篇文章将23种设计模式中的组合模式,此篇文章为一天学习一个设计模式系列文章,后面会分享其他模式知识。 如果文章有什么需要改进的地方还请大佬不…

跨平台应用开发进阶(六十三):微信小程序开发

文章目录 一、前言二、开发物料准备2.1 个性化小程序2.2 开发时如何调用API2.3 微信小程序开发常用组件库2.3.1 WeUI2.3.2 Vant Weapp2.3.3 iView Weapp2.3.4 ColorUI2.3.5 Wux Weapp2.3.6 TaroUI2.3.7 MinUI 三、创建一个UNI-APP项目四、进行调试4.1 启动微信开发者工具4.2 调…

网络基础进阶

1、交换机接口类型 Console口:也称为:串口接口,一般用于与PC连接,用于配置和监控交换机。百兆以太网接口:用于连接计算机和交换机之间的通信。Console到的网络接口:俗称交叉串口,是用于连接交换…

Day.js 常用方法

Day.js是一个极简的JavaScript库,可以为现代浏览器解析、验证、操作和显示日期和时间,文件大小只有2KB左右,下载、解析和执行的JavaScript更少。 官网:Day.js中文网 1. 安装 npm install dayjs --save 2.引入 3. 初始化日期 …

基于开源大模型Vicuna-13B构建私有制库问答系统

本教程专注在怎么使用已经开源的模型和项目,构建一个可以私有化部署的问答知识库,而且整体效果要有所保障。 主要工作包括: 选择基础模型,openAI,claude 这些商用的,或者其他的开源的,这次我们…

vue 全局注册--

注册全局-过滤器 filters 的 js 文件 /*** 格式化单位展示* param value* param unit* returns {string}*/const unitFormatter function (value , unit ) {value value || -return value ([, -].includes(value) ? : unit) }export default {unitFormatter }vue -ma…

如何使用ArcGIS进行字段连接

(本文首发于“水经注GIS”公号,关注公号免费领取地图数据 当我们的shapefile文件属性表中的数据不够丰富,而Excel表格中的数据很丰富的时候,我们可以通过两个数据之间的共有字段进行连接,这里为大家介绍一下ArcGIS中字…

五、easyUI中的datagrid(数据表格)组件

1.datagrid(数据表格)组件的概述 datagrid以表格形式展示数据,并提供了丰富的选择、排序、分组和编辑数据的功能支持。datagrid的设计用于缩短开发时间,并且使开发人员不需要具备特定的知识。它是轻量级的且功能丰富,…

MDM(移动设备管理策略系统)、MAM、MCM作用

目录 定义 MDM MAM MCM 作用 定义 MDM 移动设备管理是一种软件应用程序,用于管理企业中的终端,如笔记本电脑、智能手机、平板电脑等。随着越来越多的员工使用这些设备,各种形式和规模的企业现在都转向移动设备管理,以增强数据安全性并提高生产力。 Device Management…

C嘎嘎~~[构造函数提升篇]

构造函数提升篇 1. 再谈构造函数1.1. 引入1.1.1问题引入1.1.2 const引入 1.2 正篇1.2.1 构造函数体赋值1.2.2 初始化列表1.2.3.1 浅浅认识1.2.3.2 构造函数的 行走顺序1.2.3.3 引用修饰成员变量1.2.3.4 没有默认构造的自定义类型 1.2.3初始化列表的 坑1.2.4 谈谈初始化列表 和 …

如何使用ChatGPT生成Excel公式?

Excel是日常工作和生活中经常使用的一款数据统计和分析软件,它可以帮助我们快速完成各种复杂的数据计算。但对于一些复杂的计算公式,不是每个人都能轻松掌握,或者说有时候并不想手动输入计算公式。如果能有一个智能工具,帮助我们快…

libiosa语音信号处理

img { margin: auto; display: block } librosa是一个非常强大的python语音信号处理的第三方库,本文参考的是librosa的官方文档,本文主要总结了一些重要,对我来说非常常用的功能。学会librosa后再也不用python去实现那些复杂的算法了&#xf…

人工智能与大模型主题师资培训落地,飞桨持续赋能AI人才培养

5月12日-5月14日,由百度飞桨联合中国自动化学会、复旦大学共同举办的“人工智能与大模型”主题师资培训班在百度飞桨(张江)人工智能产业赋能中心圆满举办。来自全国各地17所高校、26个人工智能及相关专业的50名教师线下参加此次培训。复旦大学…

Java --- redis的缓存淘汰策略

目录 一、redis内存查看与设置 二、redis的数据删除方式 三、redis缓存淘汰策略 一、redis内存查看与设置 查看redis最大占用内存: redis默认内存使用: 不设置最大内存大小或设置为0,在64位操作系统下不限制内存大小,32位操作系…

Linux系统编程(四)—— 进程基本知识

一、进程标识符pid 1、pid的类型:pid_t pid 是有符号的16位整型数,也就是说可以同时进行三万多进程。 2、命令:ps ps命令用于报告当前进程的信息: ps命令有着不同的组合,可以显示进程不同的内容: &…