经典文献阅读之--FlashOcc(快速且内存高效的占用预测模块)

news2024/10/5 22:21:56

Tip: 如果你在进行深度学习、自动驾驶、模型推理、微调或AI绘画出图等任务,并且需要GPU资源,可以考虑使用UCloud云计算旗下的Compshare的GPU算力云平台。他们提供高性价比的4090 GPU,按时收费每卡2.6元,月卡只需要1.7元每小时,并附带200G的免费磁盘空间。通过链接注册并联系客服,可以获得20元代金券(相当于6-7H的免费GPU资源)。欢迎大家体验一下~

0. 简介

鉴于能够缓解 3D 目标检测中普遍存在的长尾缺陷和复杂形状缺失的能力,占用预测已成为自动驾驶系统的关键组成部分。然而,三维体素级表示的处理不可避免地会在内存和计算方面引入大量开销,阻碍了迄今为止的占用预测方法的部署。与使模型变得更大、更复杂的趋势相反,《FlashOcc: Fast and Memory-Efficient Occupancy Prediction via Channel-to-Height Plugin》认为理想的框架应该对不同的芯片进行部署友好,同时保持高精度。为此,本文提出了一种即插即用范例,即 FlashOCC,以巩固快速且节省内存的占用预测,同时保持高精度。特别是,本文的 FlashOCC 基于当代体素级占用预测方法做出了两项改进。首先,特征保留在 BEV 中,从而能够使用高效的 2D 卷积层进行特征提取。其次,引入通道到高度变换(channel-to-height transformation) ,将 BEV 的输出 logits 提升到 3D 空间。本文将 FlashOCC 应用于具有挑战性的 Occ3D-nuScenes 基准的各种占用预测基线,并进行广泛的实验来验证其有效性。结果证实了本文的即插即用范例在精度、运行时效率和内存成本方面优于以前最先进的方法,展示了其部署潜力。该代码将可供使用。

1. 主要贡献

  1. 在我们的工作中,我们旨在高效实现通道到高度特征转换。鉴于BEV感知任务的进展,其中BEV表示中的每个像素包含沿高度维度的相应柱中所有对象的信息,我们直观地利用通道到高度转换来将扁平化的BEV特征重塑为三维体素级占用对数。

  2. 以一种通用且即插即用的方式增强现有模型,而不是开发新的模型架构,如图1(a)所示。具体来说,我们将当代方法中的3D卷积直接替换为2D卷积,并用通过2D卷积获得的BEV级特征的通道到高度转换替换从3D卷积输出中得出的占用对数。这些模型不仅在准确性和时间消耗之间取得了最佳平衡,而且表现出了出色的部署兼容性。

在这里插入图片描述

图1(a)说明了如何以即插即用的方式实现所提出的FlashOcc。当代方法使用经过3D卷积处理的体素级3D特征来预测占据情况。相比之下,我们的插件替代模型通过(1)用2D卷积替换3D卷积和(2)用2D卷积获取的BEV级特征的通道到高度转换来实现快速且内存高效的占据情况预测。缩写"Conv"代表卷积。图1(b)举例说明了准确性与速度、推理内存消耗和训练持续时间等因素之间的权衡。有关M0-8的详细配置,请参阅表2。"FO"是FlashOcc的缩写,"FO()“表示相应模型的插件替代,该模型以”"命名。最佳观看方式为彩色显示。

2.框架

FlashOcc 在该领域做出了开创性的贡献,成功实现了具有显著准确性的实时全景3D占据预测。此外,它在不同车载平台上展示了增强的多功能性,因为它避免了昂贵的体素级特征处理,其中避免了视图变换器或3D(可变形)卷积运算符的需求。如图2所示,FlashOcc的输入数据包括全景图像,而输出是密集的占据预测结果。尽管我们的FlashOcc专注于以一种通用和即插即用的方式增强现有模型,但它仍然可以分为五个基本模块:(1)负责从多摄像头图像中提取图像特征的2D图像编码器。(2)一个视图变换模块,用于将2D感知视图图像特征映射到3D BEV表示。(3)负责处理BEV特征信息的BEV编码器。(4)占据预测模块,用于预测每个体素的分割标签。(5)一个可选的时间融合模块,旨在整合历史信息以提高性能。

3. 图像编码器

图像编码器将输入图像提取为感知视图中的高级特征。具体来说,它利用骨干网络提取多尺度语义特征,随后将其馈送到颈部模块进行融合,从而充分利用具有不同粒度的语义信息。经典的ResNet [8]和强大的SwinTransformer [18]通常被选择为骨干网络。ResNet的多个残差块设计使其能够优雅地获取具有丰富和多粒度语义信息的特征表示。Swin Transformer引入了一个分层结构,将输入图像分成小块并逐步处理。通过利用移位窗口机制,SwinTransformer在保持竞争性能的同时实现了高效性和可扩展性。至于颈部模块,简洁的FPN-LSS [9, 25]被选中。它将细粒度特征与直接上采样的粗粒度特征进行整合。事实上,由于所提出的范式从未局限于特定的架构,因此骨干网络可以替换为其他先进模型,如SwinTransformer [18],Vit [5]。颈部模块也可以替换为其他具有竞争力的变体,如NAS-FPN [7],BiFPN [29]。


## …详情请参照[古月居](https://www.guyuehome.com/47203)

视角变换器是全景视图3D感知系统中的关键组件,它将2D感知视图特征映射到BEV表示。最近的工作中广泛使用了Lift-splat-shot(LSS)[9, 25]和激光雷达结构(LS)[13]。LSS利用像素级密集深度预测和相机内/外参数将图像特征投影到预定义的3D网格体素上。随后,沿垂直维度(高度)应用池化操作以获得扁平的BEV表示。然而,LS依赖于均匀分布的深度假设来转移特征,这导致特征错位,随后在相机光线方向上引起虚假检测,尽管计算复杂度降低。

5. BEV编码器

BEV编码器增强了通过视角变换获得的粗略BEV特征,从而产生更详细的3D表示。BEV编码器的架构类似于图像编码器,包括骨干和颈部。我们采用了第4节中概述的设置。通过在骨干中的几个块之后进行特征扩散,改善了LSS中缺失的中心特征[6]或LS中的混叠伪影。如图2所示,集成了两个多尺度特征以增强表示质量。

6. 占用预测模块

如图2所示,从颈部获取的BEV特征用于占用预测,输入到一个占用头中。它由一个多层卷积网络[1, 22, 23]或者复杂的多尺度特征融合模块[15]组成,后者具有更优越的全局感受野,能够更全面地感知整个场景,同时也提供了对局部详细特征更精细的表征。占用头产生的BEV特征然后通过通道到高度模块。该模块对通道维度执行简单的重塑操作,将BEV特征从 B × C × W × H B × C × W × H B×C×W×H的形状转换为具有 B × C ∗ × Z × W × H B × C^∗ × Z × W × H B×C×Z×W×H形状的占用对数,其中 B B B C C C C ∗ C^∗ C W W W H H H Z Z Z分别代表批处理大小、通道数、类别数、3D空间中 x / y / z x/y/z x/y/z维度的数量,且 C = C ∗ × Z C = C^∗ × Z C=C×Z

7. 时间融合模块

时间融合模块旨在通过整合历史信息来增强对动态对象或属性的感知。它由两个主要组件组成:时空对齐模块和特征融合模块,如图2所示。对齐模块利用自车信息将历史BEV特征与当前激光雷达系统进行对齐。这一对齐过程确保历史特征被正确插值并与当前感知系统同步。一旦对齐完成,对齐的BEV特征被传递到特征融合模块。该模块整合了对齐的特征,考虑了它们的时间上下文,生成了动态对象或属性的全面表示。融合过程结合了历史特征和当前感知输入的相关信息,以提高整体感知准确性和可靠性。

在这里插入图片描述

图2. 该图示意了我们的FlashOcc的总体架构,最好以彩色和缩放功能查看。
虚线框标识的区域表示可替换模块的存在。每个可替换模块的特征形状分别用代表2D图像、BEV级别和体素级别特征的图标表示。浅蓝色区域对应可选的时间融合模块,其使用取决于红色开关的激活。

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

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

相关文章

调用华为API实现语音合成

目录 1.作者介绍2.华为云语音合成2.1 语音合成介绍2.2 华为语音合成服务2.3 应用场景 3. 实验过程以及结果3.1 获取API密钥3.2 调用语音合成算法API3.3 实验代码3.4 运行结果 1.作者介绍 袁斌,男,西安工程大学电子信息学院,2023级研究生 研究…

哥斯拉v4.01webshell实验

1、工具使用 生成有效载荷 选择载荷和加密器 放到对应web目录下,然后就可以添加管理 2 、JAVA_AES_RAW-JSPX/JSP 流量 第一组:请求34880,响应0 第二组:请求48,响应32 第三组:请求64,响应2576…

Navicat访问宝塔中的MySQL

开放数据库权限: 开放3306端口: 连接数据库: 对应好用户名与名称,要不会报错1024:

【每日一题】错误的集合

错误的集合 ✨审题:在一个1-n的数组中,会有一个元素重复,一个元素丢失;👉目标;找到重复的元素和丢失的元素并放入一个数组中返还回去 ✨有没有想到单身狗问题的进阶版那个思路,找2个单身狗,一个…

升级和维护老旧LabVIEW程序

在升级老旧LabVIEW程序至64位环境时,需要解决兼容性、性能和稳定性等问题。本文从软件升级、硬件兼容性、程序优化、故障修复等多个角度详细分析。具体包括64位迁移注意事项、修复页面跳转崩溃、解决关闭程序后残留进程的问题,确保程序在新环境中的平稳运…

C++学习日记 | Lecture 7 函数进阶

资料来源:南科大 余仕琪 C/C Program Design LINK: CPP/week07 at main ShiqiYu/CPP GitHub7.1-default-arguments_哔哩哔哩_bilibili7.2-function-overloading_哔哩哔哩_bilibili7.3-function-templates_哔哩哔哩_bilibili7.4-function-pointers-an…

【课程总结】Day7:深度学习概述

前言 本篇文章,我们将通过示例来逐步学习理解导数、求函数最小值、深度学习的本质、以及使用numpy和pytorch实操深度学习训练过程。 线性回归 线性回归内容回顾 在《【课程总结】Day5(下):PCA降维、SVD分解、聚类算法和集成学习》中,我们…

Diffusers代码学习-ControlNet(Inpaint)

对于Inpaint,需要一个初始图像、一个蒙版图像和一个描述用什么替换蒙版的提示词。ControlNet模型允许添加另一个控制图片来调节模型。让我们用Inpaint蒙版来调整模型。这样,ControlNet可以使用修复掩模作为控件来引导模型在蒙版区域内生成图像。 # 以下代…

【Unity | Editor强化工具】资产快速访问工具

经常在Project窗口中翻找资产相对麻烦,Unity自带的Favorite功能又和Project窗口强绑定,且只能在双列视图下使用,故制作了一个可以在独立窗口中列举常用资产的小工具: Unity Asset Quick Access 。 CSDN弄了个Github加速计划&…

基于深度图像的无监督目标跟踪

概要 大致的步骤 深度图像获取:通过深度传感器(例如ToF相机、双目相机等)获取场景的深度图像。深度图转scanscan转pointcloud点云聚类卡尔曼滤波预测匈牙利算法匹配目标ID更新深度图转scan 参考这篇博客 scan转pointcloud

小迪安全代码语言回溯

java安全 第一个就是文件上传,可以通过../上传到上一级目录,以及别的目录,避免本目录不可以执行 jw令牌窃取 令牌由三部分组成,以.号分割,在java的程序看到cookie是三个奇怪的字符串以.号分开,可以确定是…

snmp-check一键获取SNMP信息(KALI工具系列二十一)

目录 1、KALI LINUX 简介 2、snmp-check工具简介 3、在KALI中使用onesixtyone 3.1 目标主机IP(win) 3.2 KALI的IP 4、操作示例 4.1 SNMP 检查 4.2 指定 SNMP 端口 4.3 指定社区字符串 4.4 详细输出 4.5 指定多项 5、总结 1、KALI LINUX 简介…

6.11 作业

以下是一个简单的比喻,将多态概念与生活中的实际情况相联系: 比喻:动物园的讲解员和动物表演 想象一下你去了一家动物园,看到了许多不同种类的动物,如狮子、大象、猴子等。现在,动物园里有一位讲解员&…

EGST:Explicit Geometric Structure Transformer论文解读

目录 一、导言 二、相关工作 1、3D局部描述子 2、点云配准方法 三、EGST模型 1、结构化特征 2、特征提取 3、点云匹配 4、变换估计 5、损失函数 四、实验 1、数据集 2、评估指标 3、细节 4、对比实验 一、导言 该论文提出一种基于增强几何结构特征的点云配准方…

【华为 ICT HCIA eNSP 习题汇总】——题目集21

1、OSPF协议中的hello报文不包括以下哪个字段? A、Priority(优先级) B、Neighbor(邻居表) C、Interval(时间间隔) D、Checksum(校验和) 考点:路由技术原理 解…

三十而已,逐梦AI新赛道,解锁职业第二春

前言 哎,你说这年头,一晃眼就三十了,是不是觉得找工作就像在走钢丝,小心翼翼还生怕踩空?特别是想换个跑道,跑到AI那边去,心里头那个忐忑啊,感觉比相亲还紧张。总担心老板们会不会嫌…

Linux-笔记 设备树插件

前言: 设备树插件(Device Tree Blob Overlay,简称 DTBO)是Linux内核和嵌入式系统中用于动态修改或扩展系统运行时的设备树配置的一种机制。它是对传统设备(Device Tree Source,简称 DTS)的补充&…

shiro反序列化分析

shiro反序列化分析 基础知识简单介绍关键组件SecurityManagerSubjectRealm总结 shiro安全框架在web中使用配置文件配置具体实现ShiroFilter过滤器分析 shiro的漏洞shiro550链子分析序列化加密cookie反序列化解密cookie验证总结 poc编写存在的问题和解决CC6TemplatesImlCC6insta…

AI写作助手:五款超实用工具让创作更轻松

写作这件事一直让我们从小学生头痛到打工人,初高中时期800字的作文让我们焦头烂额,一篇作文里用尽了口水话,拼拼凑凑才勉强完成。 大学时期以为可以轻松顺利毕业,结果毕业前的最后一道坎拦住我们的是毕业论文,苦战几个…

Day48 代码随想录打卡|二叉树篇---合并二叉树

题目(leecode T617): 给你两棵二叉树: root1 和 root2 。 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新…