【论文阅读】Multi-Camera Unified Pre-Training via 3D Scene Reconstruction

论文链接
代码链接

多摄像头三维感知已成为自动驾驶领域的一个重要研究领域,为基于激光雷达的解决方案提供了一种可行且具有成本效益的替代方案。具有成本效益的解决方案。现有的多摄像头算法主要依赖于单目 2D 预训练。然而,单目 2D 预训练忽略了多摄像头在空间和时间上的相关性。多摄像头系统之间的时空相关性。针对这一局限性,我们提出了首个多摄像头统一预训练框架。
首先重建三维场景作为基础阶段,然后对模型进行微调随后在下游任务中对模型进行微调。具体来说,我们采用 “占位”(Occupancy)作为三维场景的一般表示方法
三维场景的一般表征,使模型能够通过预训练掌握周围世界的几何先验
通过预训练,模型能够掌握周围世界的几何先验。UniScene 的一个显著优势是,它能够利用大量未标记的图像UniScene 的一个显著优势是它能够利用大量未标记的图像-LiDAR 对进行预训练。该所提出的多摄像头统一预训练框架在一些关键任务中取得了可喜的成果,如多摄像头三维物体检测和周边语义场景补全。
物体检测和周边语义场景补全等关键任务中取得了可喜的成果。与单目预训练方法相比,UniScene在多摄像头三维物体检测和周边语义场景补全中,UniScene 的 mAP 和 NDS 分别大幅提高了约 2.0% 和 2.0以及周围语义场景的 mIoU 提高了 3%。在周边语义场景补全方面,mIoU 提高了 3%。通过采用通过采用我们的统一预训练方法,可将三维训练和注释成本降低 25%。注释成本可降低 25%,为实现真实世界中的自动驾驶提供了重要的实用价值。
Q: 这篇论文试图解决什么问题?
A: 这篇论文试图解决的问题是多摄像头3D感知在自动驾驶领域的挑战,特别是现有多摄像头算法主要依赖于单目2D预训练,忽略了多摄像头系统中的空间和时间相关性。为了解决这个限制,论文提出了一个名为UniScene的首个多摄像头统一预训练框架。该框架首先通过3D场景重建作为基础阶段,然后在下游任务上对模型进行微调。具体来说,论文采用了占用(Occupancy)作为3D场景的通用表示,使模型能够在预训练过程中掌握周围世界的几何先验。通过这种方式,UniScene能够利用大量的未标记的图像-LiDAR对进行预训练,从而提高了多摄像头3D目标检测和周围语义场景完成等关键任务的性能。
对 BEV 感知的结构图

单目和多目的对比

Q: 论文如何解决这个问题?
A: 论文提出了一个名为UniScene的多摄像头统一预训练框架,通过以下步骤解决多摄像头3D感知的问题:
-
3D场景重建:首先,使用多摄像头系统重建3D场景,作为预训练的基础阶段。这一步骤利用了占用(Occupancy)作为3D场景的通用表示,使模型能够通过预训练掌握周围世界的几何先验。

-
无标签预训练:UniScene的预训练过程不需要标签,可以利用自动驾驶车辆收集的大量图像-LiDAR对,这些数据对包含了宝贵的3D空间和结构信息。

- 多帧点云融合:由于单帧点云的稀疏性,论文采用了多帧点云融合作为占用标签生成的真值。这通过融合关键帧的LiDAR点云来实现。

- 几何占位预测头:在BEV(鸟瞰图)特征上加入一个几何占用预测头,以学习3D占用分布,从而增强模型对3D周围场景的理解。

-
预训练和微调:在预训练阶段,使用轻量级解码器来重建占用体素。预训练完成后,丢弃解码器,并使用训练好的模型来初始化多摄像头感知模型,然后在下游任务上进行微调
-
空间-时间整合:通过利用多个摄像头视图的空间和时间信息,模型能够更好地理解环境的动态特性,并做出更准确的预测。

-
统一表示:统一预训练方法允许模型学习不同摄像头视图之间的共享表示,促进更好的知识迁移,并减少对特定任务预训练的需求。

-
处理遮挡区域:与单目深度估计方法相比,UniScene能够实现遮挡对象的整体3D重建。
-

-
考虑到单帧激光雷达点云的稀疏性,以及由于动态对象的存在而融合大量帧所产生的潜在不精确性,我们融合了一些关键帧的激光雷达点云和生成占用标签。根据3D感知模型的标准实践[45,46,47,48],激光雷达点云被划分为均匀间隔的体素。对于激光雷达点云沿Z×Y×X的维度分别为D×H×W,体素大小相应地确定为vZ×vH×vW。体素的占用,即在每个体素中是否包含点,用作基本事实T∈{0,1}D×H×W×1。1表示已占用,0表示空闲。
-
介绍了用于预训练多摄像机感知模型的二进制几何占用分类任务。该任务的目的是训练网络基于多视图图像准确预测3D场景的几何占用分布。考虑到大量的空体素,预测占用网格提出了一个不平衡的二元分类问题。为了实现这一点,我们利用预测的占用值P和地面实况占用的体素T来计算二进制占用分类的焦点损失:


- 实验验证:通过在nuScenes数据集上进行广泛的实验,验证了UniScene框架在多摄像头3D目标检测和周围语义场景完成等关键任务中的有效性。
通过这些步骤,UniScene框架能够在预训练阶段利用未标记的数据,同时考虑空间和时间相关性,从而提高了模型对复杂3D场景的理解能力,并减少了对昂贵和耗时的手动3D注释的依赖。
Q: 总结一下论文的主要内容
-
问题定义:论文针对自动驾驶领域中多摄像头3D感知的问题,提出了现有算法主要依赖单目2D预训练,忽略了多摄像头系统中的空间和时间相关性。
-
UniScene框架:提出了首个多摄像头统一预训练框架UniScene,该框架通过3D场景重建作为预训练的基础阶段,然后在下游任务上对模型进行微调。
-
占用表示:采用占用(Occupancy)作为3D场景的通用表示,使模型能够在预训练过程中掌握周围世界的几何先验。
-
无标签预训练:UniScene能够利用大量的未标记的图像-LiDAR对进行预训练,减少了对昂贵3D标注的依赖。
-
实验验证:通过在nuScenes数据集上的实验,展示了UniScene在多摄像头3D目标检测和周围语义场景完成等任务中的性能提升。
-
性能提升:与单目预训练方法相比,UniScene在多摄像头3D目标检测任务上实现了约2.0%的mAP和NDS提升,在语义场景完成任务上实现了约3%的mIoU提升。
-
实际价值:通过采用UniScene的统一预训练方法,可以减少25%的3D训练注释成本,对实际自动驾驶系统的实施具有重要价值。
-
未来工作:论文指出了UniScene的局限性,并提出了未来工作的方向,包括提高分辨率、处理动态对象、利用显式监督和知识蒸馏技术等。

fine
uniscense_epoch_24
pretrain
occ_bev_epoch_24
相关文章:
【论文阅读】Multi-Camera Unified Pre-Training via 3D Scene Reconstruction
论文链接 代码链接 多摄像头三维感知已成为自动驾驶领域的一个重要研究领域,为基于激光雷达的解决方案提供了一种可行且具有成本效益的替代方案。具有成本效益的解决方案。现有的多摄像头算法主要依赖于单目 2D 预训练。然而,单目 2D 预训练忽略了多摄像…...
深入了解NumPy的原理与使用
文章目录 一、引言二、NumPy的原理1. 多维数组对象2. 广播(Broadcasting)3. 内存效率和速度 三、NumPy的使用1. 创建数组2. 数组操作3. 广播(Broadcasting)示例 四、总结 一、引言 在Python的数据科学和科学计算领域,…...
Linux Centos 环境下搭建RocketMq集群(双主双从)
1、下载rocketmq的包 下载 | RocketMQ 2、配置环境变量 1、编辑环境变量文件:vim /etc/profile2、加入如下配置: #rocketmq 4.9.8 ROCKETMQ_HOME/home/rocketmq/rocketmq-4.9.8 export PATH${ROCKETMQ_HOME}/bin:${PATH}3、刷新配置:source…...
全网最全postman接口测试教程和项目实战~从入门到精通
Postman实现接口测试内容大纲一览: 一、什么是接口?为什么需要接口? 接口指的是实体或者软件提供给外界的一种服务。 因为接口能使我们的实体或者软件的内部数据能够被外部进行修改。从而使得内部和外部实现数据交互。所以需要接口。 比如&…...
【ARM】MDK Debug模式下Disassembly窗口介绍
【更多软件使用问题请点击亿道电子官方网站】 1、 文档目标 主要了解Disassembly窗口中包含的内容,和如何利用Disassembly中的内容了解程序的存储和调用情况。 2、 问题场景 对于Disassembly窗口中具体包含的内容不了解,无法合理地应用Disassembly窗口…...
灵活的招聘管理系统有五种方法帮助成功招聘
还记得以前的时代吗?这取决于你的年龄,直到智能手机、流媒体电视和电子邮件出现。今天,任何活着的成年人都经历了技术上的巨大变化,这创造了一种新的行为方式。人才获取也是如此。 一个值得推荐的招聘管理系统 招聘团队被困在满足…...
美摄科技匿名化处理解决方案,包含模糊、同色、马赛克、效果遮挡等各种形式
信息安全已成为企业发展中不可忽视的重要一环,随着信息安全法规的日益严格和公众对个人隐私保护意识的不断提高,企业如何在保障业务顺畅进行的同时,满足信息安全和隐私保护的要求,成为了亟待解决的问题。美摄科技凭借其强大的技术…...
O2OA的数据库数据库配置-使用不同用户访问Oracle时报错-表或视图不存在
在使用Oracle数据库时,多个O2OA服务器同一个Oracle实例中使用不同的用户启动时,可能会遇到数据库访问的错误。本篇阐述此类问题以及解决方案。 一、先决条件: 1、O2OA已经下载并且解压到指定的目录; 2、Oracle数据库已经完成安…...
leetcode56 合并区间
题目 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 示例 输入:intervals [[1,3],[2,6]…...
Elasticsearch扩展性探索:水平扩展与集群管理
在当今数据驱动的时代,搜索引擎和数据存储解决方案的重要性不言而喻。Elasticsearch,作为一款基于Lucene构建的开源、分布式、RESTful搜索引擎,凭借其强大的全文搜索、结构化搜索和分析能力,受到了众多企业和开发者的青睐。然而&a…...
node版本过高出现ERR_OSSL_EVP_UNSUPPORTED错误
错误原因: 新版本的nodejs使用的openssl和旧版本不同,导致出错 解决方法: 1.将node版本重新换回16.x 2 windows 下 在package.json文件下添加set NODE_OPTIONS--openssl-legacy-provider && "scripts": {"dev"…...
不得不看的AI前沿理论与技术: LLM-Assisted Light大模型
文章主要介绍最新论文《LLM-Assisted Light: Leveraging Large Language Model Capabilities for Human-Mimetic Traffic Signal Control in Complex Urban Environments》,该论文提出了一种名为LLM-Assisted Light(LA-Light)的创新方法&…...
流行跨链桥总结
本贴主要总结出现的新跨链桥,简介,及其项目主页,持续更新 1.Cbridge cBridge引入了一流的跨链Token桥接体验,为用户提供了深度流动性,为不想运营cBridge节点的cBridge节点运营商和流动性提供商提供了高效且易于使用的…...
代理网络基础设施 101:增强安全性、速度和可扩展性
编辑代理网络在现代网络架构中发挥着重要作用,充当管理和重新路由数据流的中介。它们处理的数据可以是各种类型,包括搜索查询和潜在的敏感客户信息,这凸显了它们在数据安全方面的作用。 然而,代理的好处不仅限于安全性。它们为用…...
小游戏app看广告app开发案例
游戏APP与看广告APP的开发案例众多,这些案例通常展示了如何通过创新的方式将游戏与广告相结合,实现用户体验与商业利益的双重提升。以下是一些具体的案例: 创意小程序广告案例: 某快餐品牌通过推出一款基于其主打产品(…...
VOC数据集
VOC(Visual Object Classes)格式的数据集是一种用于计算机视觉任务的标准数据集格式,它最初是由Pascal VOC(PASCAL Visual Object Classes)数据集引入的。VOC数据集格式定义了一套标准化的数据集结构,包括X…...
[Linux内核驱动]内存动态申请
内核空间内存动态申请 更多详细内容可以查看我的github kmalloc() 函数原型: void *kmalloc(size_t size, gfp_t flags);参数说明: size:要分配的内存块的大小,以字节为单位。flags:分配标志,用于指定内…...
在Worpress增加网站的二级目录,并转向到站外网站
在WordPress中,你可以通过添加自定义重定向来实现将某个二级目录(例如 www.example.com/subdir)重定向到站外网站。可以通过以下几种方法来实现: 方法一:使用 .htaccess 文件 如果你的服务器使用Apache,你…...
torch.max函数
torch.max函数的用法 第一种第二种 官方介绍:Link 有两种使用场景,输入的参数不同以及返回值不同: 第一种 没有参数dim,但这种只适合一维张量。 torch.max(input) → Tensor Returns the maximum value of all elements in the…...
“打造智能售货机系统,基于ruoyi微服务版本开源项目“
目录 # 开篇 售货机术语 1. 表设计说明 2. 页面展示 2.1 区域管理页面 2.2 合作商管理页面 2.3 点位管理页面 3. 建表资源 3.1 创建表的 SQL 语句(包含字段备注) 1. Region 表 2. Node 表 3. Partner 表 4. 创建 tb_vending_machine 表的 S…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
谷歌浏览器插件
项目中有时候会用到插件 sync-cookie-extension1.0.0:开发环境同步测试 cookie 至 localhost,便于本地请求服务携带 cookie 参考地址:https://juejin.cn/post/7139354571712757767 里面有源码下载下来,加在到扩展即可使用FeHelp…...
python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...
前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
【Java_EE】Spring MVC
目录 Spring Web MVC 编辑注解 RestController RequestMapping RequestParam RequestParam RequestBody PathVariable RequestPart 参数传递 注意事项 编辑参数重命名 RequestParam 编辑编辑传递集合 RequestParam 传递JSON数据 编辑RequestBody …...
ArcGIS Pro制作水平横向图例+多级标注
今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作:ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等(ArcGIS出图图例8大技巧),那这次我们看看ArcGIS Pro如何更加快捷的操作。…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...
浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...
解决:Android studio 编译后报错\app\src\main\cpp\CMakeLists.txt‘ to exist
现象: android studio报错: [CXX1409] D:\GitLab\xxxxx\app.cxx\Debug\3f3w4y1i\arm64-v8a\android_gradle_build.json : expected buildFiles file ‘D:\GitLab\xxxxx\app\src\main\cpp\CMakeLists.txt’ to exist 解决: 不要动CMakeLists.…...
