【论文笔记】Scene as Occupancy

原文链接:https://arxiv.org/abs/2306.02851

1. 引言

  与传统的3D框物体表达相比,使用3D占用表达是几何感知的,因为3D框表达简化了物体的形状。此外,现有基于视觉的方法很少考虑时间信息;单阶段方法缺少从粗到细的细化过程。
  本文提出OccNet,一种基于多视图图像的方法,包含级联体素解码器,利用时间信息重建3D占用,接入任务头即可支持不同的自动驾驶任务。OccNet的核心是紧凑而有代表性的3D占用嵌入,用来描述3D场景。OccNet使用级联方式,从BEV特征中解码3D占用特征。解码器使用基于体素的时间自注意力和空间交叉注意力,逐步恢复高度信息。
  OccNet支持包括检测、分割和规划等各种任务。为比较各种方法,本文基于nuScenes,提出OpenOcc,一种带有密集高质量标注的3D占用基准。它将物体运动标注为有向流以支持规划任务。
  OccNet能在语义场景补全、3D目标检测方面大幅增加性能;在规划方面,比起基于BEV分割或3D边界框的规划策略,OccNet能大幅减少碰撞。

3. 方法

  本文的OccNet分为两个阶段:占用重建和占用利用。两阶段的连接部分是驾驶场景的统一表达,被称为占用描述符。
在这里插入图片描述  占用重建:目标是获取占用描述符已支持下游任务。直接从图像建立体素特征有极大的计算开销,但仅建立BEV特征又不足以感知高度。本文的OccNet从上述两个方案取得平衡,以可接收的代价获取较高的性能。首先提取多视图图像特征 F t F_t Ft,并与历史帧的BEV特征 B t − 1 B_{t-1} Bt1以及当前帧的BEV查询 Q t Q_t Qt一起输入BEV编码器(与BEVFormer相同),得到当前帧的BEV特征 B t B_t Bt。然后,通过级联BEV解码器将图像特征、历史帧和当前帧的BEV特征解码为占用描述符。
  占用利用:基于重建的占用描述符,可以进行3D检测和3D语义场景补全。随后压缩3D占用网格与边界框的高度得到BEV分割图。BEV分割图能与高级指令采样器一起直接输入运动规划头,通过argmin和GRU模块得到自车轨迹。

3.1 级联体素解码器

  BEV到级联体素:本文将BEV特征重建为体素特征的过程分为 N N N步,每一步逐步增加体素高度并减小通道数。如图所示, B t − 1 B_{t-1} Bt1 B t B_t Bt被FFN提升为 V t − 1 , i ′ V'_{t-1,i} Vt1,i V t , i ′ V'_{t,i} Vt,i,然后通过第 i i i层体素解码器得到修正的 V t , i ′ V'_{t,i} Vt,i。每个体素解码器由基于体素的时间自注意力和基于体素的空间交叉注意力组成,分别使用 V t − 1 , i V_{t-1,i} Vt1,i F t F_t Ft修正 V t , i ′ V'_{t,i} Vt,i。最终得到占用描述符 V t V_t Vt
  基于体素的时间自注意力:给定历史帧的体素特征 V t − 1 , i ′ V'_{t-1,i} Vt1,i,首先根据自车位置与当前帧占用特征 V t , i ′ V'_{t,i} Vt,i对齐。为减小计算,设计基于体素的3D可变形注意力,使得每个查询仅和局部感兴趣的体素交互。
  3D可变形注意力:将2D可变形注意力扩展为3D形式。给定体素特征 V t − 1 , i ′ V'_{t-1,i} Vt1,i、查询特征 q q q和3D参考点 p p p,3D可变形注意力如下: 3D-DA ( q , p , V t , i ′ ) = ∑ m = 1 M W m ∑ k = 1 K A m k W k ′ V t , i ′ ( p + Δ p m k ) \text{3D-DA}(q,p,V'_{t,i})=\sum_{m=1}^MW_m\sum_{k=1}^KA_{mk}W'_kV'_{t,i}(p+\Delta p_{mk}) 3D-DA(q,p,Vt,i)=m=1MWmk=1KAmkWkVt,i(p+Δpmk)其中 M M M为注意力头数, K K K为采样点数, W m W_m Wm W k ′ W'_k Wk为学习权重, A m k A_{mk} Amk为归一化后的注意力权重, p + Δ p m k p+\Delta p_{mk} p+Δpmk为可学习的3D采样点位置(使用三线性插值从体素采样特征)。
  基于体素的空间交叉注意力:体素特征 V t , i ′ V'_{t,i} Vt,i会与多尺度图像特征 F t F_t Ft通过2D可变形注意力交互,第 i i i层的解码器为每个体素直接采样若干3D点,并投影到图像平面采样特征。

3.2 在多种任务上进行占用利用

  语义场景补全:为每个体素使用MLP预测语义标签,并使用Focal损失。此外,使用L1损失的flow head为每个体素网格估计流速度。
  3D目标检测:将占用描述符压缩为BEV,并使用基于查询的检测头(类似DeformableDETR)预测3D边界框。
  BEV分割:地图分割与语义分割同样从BEV特征预测。前者使用可驾驶区域分割头和车道头表达地图,后者使用汽车分割头和行人分割头进行语义分割。
  运动规划:首先将语义场景补全结果和3D边界框转化到BEV下(压缩高度),且每个BEV网格的值为0或1(表示是否占用),并输入安全代价函数计算采样轨迹的安全代价、舒适代价和进度代价。所有候选轨迹由随机速度、加速度和曲率采样得到。考虑高级指令(前进、左转、右转),相应于指令的、代价最低的轨迹会被输出。与ST-P3相同,还会使用前视图特征进行GRU细化轨迹,得到最终轨迹。

4. OpenOcc:3D占用基准

  为公平比较各种方案,本文基于nuScenes提出OpenOcc的3D占用基准。

4.1 基准概述

  使用稀疏激光雷达点云和3D边界框生成带高质量标注的占用数据。标注的类别包括前景和背景,且对前景物体体素标注了流速度。

4.2 高质量标注生成

  独立积累背景和前景:为了生成密集表达,直观的做法是积累关键帧和中间帧的点云。但是由于运动物体的存在,通过坐标变换进行积累是有问题的。本文基于3D边界框,将激光雷达点云分为静态背景与前景物体,并分别在世界坐标系和物体坐标系下积累得到密集点云。
  标注生成:先将积累的密集点云体素化,然后按照多数标注点的标注信息对体素进行标注。此外,基于边界框的速度标注,还对体素进行了流速度标注,以进行运动规划任务。对于不含标注点(来自中间帧)的体素,基于周围体素进行标注。最后进行细化,如填充道路上的洞以提高质量。此外,通过追踪相机射线,对相机不可见的体素进行了标注,使得对相机输入的任务更合理。

5. 实验

5.1 主要结果

  语义场景补全:OccNet能超过其他方法的性能。
  占用用于激光雷达分割:语义场景补全在体素大小趋于0的情况下与激光雷达分割等价。在只使用图像输入的情况下,OccNet能接近激光雷达分割方法的性能。
  占用用于3D检测:在场景补全任务中,前景物体的位置能被粗略地回归,能帮助进行3D检测。当同时进行3D检测和场景补全时,基于BEV的方法、基于体素的方法和基于占用的方法(OccNet)均能提高性能。但是由于体素较大,在联合训练时mATE与mASE会略微上升。
  占用预训练进行3D检测和BEV分割:在数据集的一小部分进行预训练时,OccNet比FCOS3D的检测性能更好;比较不同的预训练任务对BEV分割性能的影响,占用(场景补全)预训练能比3D检测预训练有更高的性能。
  占用用于规划:使用OccNet的占用预测结果转化为BEV分割结果并用于规划时,比使用ST-P3直接估计的BEV分割结果有更低的碰撞率。

5.2 讨论

  模型效率:比较基于BEV的方法、基于体素的方法和基于占用的方法(OccNet),OccNet能有最好的性能,且有适中的效率。
  不规则物体:用3D边界框表达不规则物体如建筑车辆和交通标志是困难且不精确的。本文将3D边界框转化为体素后比较其在不规则物体上的IoU,发现占用表达能更合适地表达不规则物体。此外,减小体素大小,占用变得更细粒,能增大与3D检测的差距。
  密集与稀疏占用的比较:与稀疏占用相比,密集占用能更完整地表达场景,包含更多信息,因此在下游任务上的性能更优。

附录

A. 评价指标

  语义场景补全(SSC)指标:语义场景补全即预测每个体素的语义标签。评价指标为平均交并比(mIoU): mIoU = 1 C ∑ c = 1 C TP c TP c + FP c + FN c \text{mIoU}=\frac{1}{C}\sum_{c=1}^C\frac{\text{TP}_c}{\text{TP}_c+\text{FP}_c+\text{FN}_c} mIoU=C1c=1CTPc+FPc+FNcTPc其中 C C C为类别数。此外还考虑类别无关的 IoU g e o \text{IoU}_{geo} IoUgeo来评估场景的几何重建。
  3D目标检测指标:与nuScenes官方相同。
  运动规划指标:真实轨迹和规划轨迹的L2距离用于衡量回归精度;碰撞率用于衡量安全性。

C. OccNet的实施细节

  体素解码器的特征变换:为将体素特征 V t , i ′ ∈ R Z i × H × W × C i V'_{t,i}\in\mathbb{R}^{Z_i\times H\times W\times C_i} Vt,iRZi×H×W×Ci转换为 V t , i + 1 ′ ∈ R Z i + 1 × H × W × C i + 1 V'_{t,i+1}\in\mathbb{R}^{Z_{i+1}\times H\times W\times C_{i+1}} Vt,i+1RZi+1×H×W×Ci+1,本文使用MLP变换特征维度。在空间交叉注意力中,图像特征会通过MLP变换为 C i C_i Ci维度。

D. 有关OpenOcc的更多细节

  前景物体的积累:由于非关键帧没有边界框标注,本文使用关键帧标注进行线性插值,然后进行前景物体的积累。
  数据集生成流程

  1. 基于前景点和背景点的标注生成占用数据,此时仍有一部分来自中间帧的无标注体素。
  2. 基于已生成的占用,为部分无标注占用生成标注(按照正文的说法是根据邻域体素确定标注);
  3. 仍无标注的占用被视为噪声丢弃;
  4. 后处理,如填充小洞,来保证场景的完整性。

E. 更多实验

  时间自注意力帧数的消融研究:增大帧数能略微提高性能,但是性能会逐渐饱和。
  规划的占用指标评估:使用预测占用或真实占用进行规划,均比使用相应的边界框进行规划有更好的性能。
  规划的预训练:实验表明,与检测预训练相比,对规划任务进行占用预训练不能提高性能。因此,需要直接使用占用的场景补全结果而非预训练特征进行规划。

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

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

相关文章

建议收藏《Verilog代码规范笔记_华为》(附下载)

华为verilog编程规范是坊间流传出来华为内部的资料,其贴合实际工作需要,是非常宝贵的资料,希望大家善存。至于其介绍,在此不再赘述,大家可看下图详细了解,感兴趣的可私信领取《Verilog代码规范笔记_华为》。…

open62541开发:添加sqlite3 历史数据库

历史数据库在OPCUA 应用中十分重要,例如OPCUA 网关和OPCUA 汇聚服务器中都需要历史数据库功能。但是open62541 协议栈中仅包含了基于内存的历史数据库,在实际应用中是不够的。本博文讨论open62541 中添加sqlite3 为基础的历史数据库若干问题。 借鉴 Gi…

Postman应用——接口请求和响应(Get和Post请求)

文章目录 新增Request请求Get请求Post请求 Request请求响应Postman响应界面说明请求响应另存为示例(模板)Postman显示的响应数据清空请求响应数据保存到本地文件 这里只讲用的比较多的Get和Post请求方式,也可以遵循restful api接口规范&#…

【Spring Boot】拦截器学习笔记

一、普通拦截器 1,新建类MyWebConfig实现WebMvcConfigurer,实现addInterceptors方法 Overridepublic void addInterceptors(InterceptorRegistry registry) {registry// 不拦截哪些请求.excludePathPatterns("/login")// 拦截哪些请求.addPat…

D1117内置热保护和电流限制保护功能,输出电流能力为 1.0A,应用于计算机主板和显卡电源管理等产品上

D1117 是一款低压差线性稳压电路,该电路输出电流能力为 1.0A。该系列电路包含固定输出电压版本和可调输出电压版本, 其输出电压精度为1.5% 。为了保证芯片和电源系统的稳定性,D1117 内置热保护和电流限制保护功能,同时产品采用了…

【前端知识】Three 学习日志(七)—— 动画渲染循环

Three 学习日志(七)—— 动画渲染循环 一、旋转动画 // 渲染函数 function render() {renderer.render(scene, camera); //执行渲染操作mesh.rotateY(0.01);//每次绕y轴旋转0.01弧度requestAnimationFrame(render);//请求再次执行渲染函数render&#…

Microsoft 网络监控

随着网络的发展和变得越来越复杂,公司比以往任何时候都更需要监控其网络基础设施,因为即使是轻微的系统中断也可能导致重大损失。网络监控工具提供实时数据和网络状态的图形概述。这使您能够准确地了解正在发生的事情,以便您知道需要更改的位…

基于Java的公务员考试资料共享平台的设计与实现

前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 👇🏻…

vue管理系统列表行按钮过多, 封装更多组件

管理系统table列表操作列, 随着按钮的数量越来越多会不断加宽操作列, 感觉很不好, 对此我封装了这个自动把多余的按钮放到更多菜单下 MoreOperation/index.vue menu组件我这是ant的, 可以自行替换为其他框架的 <template><div class"table-operations-group"…

CSS 实现祥云纹理背景

&#x1fab4; 背景 最近掘金出来一个中秋创意活动&#xff0c;我准备参加一下。作品方向选择用纯css做一个中秋贺卡&#xff0c;其中有一些中秋的元素和一些简单的动画&#xff0c;而贺卡背景的实现就是本文要讲的内容。 中秋贺卡成果图&#xff08;生成gif有点失真&#x1f6…

网站有反爬机制就爬不了数据?那是你不会【反】反爬

目录 前言 一、什么是代理IP 二、使用代理IP反反爬 1.获取代理IP 2.设置代理IP 3.验证代理IP 4.设置代理池 5.定时更新代理IP 三、反反爬案例 1.分析目标网站 2.爬取目标网站 四、总结 前言 爬虫技术的不断发展&#xff0c;使得许多网站都采取了反爬机制&#xff…

Python150题day08

2.基础语法篇 2.1 if 条件句 ①单个条件分支 使用input函数接收用户的输入&#xff0c;如果用户输入的整数是偶数&#xff0c;则使用print函数输出"你输入的整数是:{value],它是偶数”&#xff0c;[value]部分要替换成用户的输入。 解答: value input("请输⼊⼀…

ESP8266 WiFi物联网智能插座—项目简介

目录 1、项目背景 2、设备节点功能 3、上位机功能 物联网虽然能够使家居设备和系统实现自动化、智能化管理&#xff0c;但是依然需要依靠更为先进的终端插座作为根本保障&#xff0c;插座是所有家用电器需要使用的电源设备&#xff0c;插座的有序智能管理&#xff0c;对于实…

Ubuntu系统下载及安装教程

史上最全最新Ubuntu安装教程&#xff08;图文&#xff09; - 知乎 (说明&#xff1a;本教程介绍的是安装DeskTop版的系统) 1.官网下载镜像 官方网址: https://ubuntu.com/#download进入官网后会有最新版本的镜像下载地址&#xff0c;如果需要下载最新版本&#xff0c;直接点…

Openresty(二十二)ngx.balance和balance_by_lua终结篇

一 灰度发布铺垫 ① init_by_lua* init_by_lua init_by_lua_block 特点: 在openresty start、reload、restart时执行,属于master init 阶段机制&#xff1a; nginx master 主进程加载配置文件时&#xff0c;运行全局Lua VM级别上的参数指定的Lua代码场景&#xff1a; …

SadTalker 让图片说话

参考&#xff1a;https://github.com/OpenTalker/SadTalker 其他类似参考&#xff1a;https://www.d-id.com/ 输入图片加音频产生2d视频 安装使用 1、拉取github&#xff0c;下载对应安装库 2、下载对应模型baidu网盘 新建checkpoints&#xff0c;把下载sadtalker里模型拷贝进…

人源化抗体的改造方式及其优势

抗体是一类能与抗原特异性结合的免疫球蛋白&#xff0c;作为免疫系统中的重要组成部分&#xff0c;在许多疾病的预防和治疗中发挥着重要作用。抗体治疗的最早应用可以追溯到中国人接种“人痘”预防天花的记载算起&#xff0c;国际上一般公认的人痘接种术最早起源于中国公元10世…

基于TensorFlow+CNN+协同过滤算法的智能电影推荐系统——深度学习算法应用(含微信小程序、ipynb工程源码)+MovieLens数据集(六)

目录 前言总体设计系统整体结构图系统流程图 运行环境模块实现1. 模型训练1&#xff09;数据集分析2&#xff09;数据预处理3&#xff09;模型创建4&#xff09;模型训练5&#xff09;获取特征矩阵 2. 后端Django3. 前端微信小程序1&#xff09;小程序全局配置文件2&#xff09…

电容笔有必要买最好的吗?开学好用iPad手写笔推荐

在iPad平板的热卖下&#xff0c;一些学生开始从传统的纸和笔的教学模式转向无纸化教学。因此&#xff0c;原来的Apple Pencil也成了热门话题&#xff0c;不少人都对这款售价近千元的电容笔产生了浓厚的兴趣。我认为对于职业画师来说&#xff0c;这一点非常重要&#xff0c;因为…

开源项目-SeaTunnel-UI数据集成系统

哈喽,大家好,今天给大家带来一个开源项目-SeaTunnel-UI数据集成系统 系统主要有任务配置,任务实例,数据源,虚拟表,用户管理等功能 登录 数据源 mysql数据源配置参数说明 kafka参数配置 mysqlcdc配置参数说明 虚拟表