当前位置:

首页 > 业界资讯 > FastOcc:实时提升SOTA,推理更快友好部署Occ算法登场

FastOcc:实时提升SOTA,推理更快友好部署Occ算法登场

写在前面&笔者的个人理解在自动驾驶系统当中,感知任务是整个自驾系统中至关重要的组成部分。感知任务的主要目标是使自动驾驶车辆能够理解和感知周围的环境元素,如行驶在路上的车辆、路旁的行人、行驶过程中遇到的障碍物、路上的交通标志等,从而帮助下游模块做出正确合理的决策和行为。在一辆具备自动驾驶功能的车辆中,通常会配备不同类型的信息采集传感器,如环视相机传感器、激光雷达传感器以及毫米波雷达传感器等等,从而确保自动驾驶车辆能够准确感知和理解周围环境要素,使自动驾驶车辆在自主行驶的过程中能够做出正确的决断。目前

写在前面&笔者的个人理解

在自动驾驶系统当中,感知任务是整个自驾系统中至关重要的组成部分。感知任务的主要目标是使自动驾驶车辆能够理解和感知周围的环境元素,如行驶在路上的车辆、路旁的行人、行驶过程中遇到的障碍物、路上的交通标志等,从而帮助下游模块做出正确合理的决策和行为。在一辆具备自动驾驶功能的车辆中,通常会配备不同类型的信息采集传感器,如环视相机传感器、激光雷达传感器以及毫米波雷达传感器等等,从而确保自动驾驶车辆能够准确感知和理解周围环境要素,使自动驾驶车辆在自主行驶的过程中能够做出正确的决断。

目前,基于纯图像的视觉感知方法相对于基于激光雷达的感知算法具有更低的硬件成本和部署成本,因此受到了工业界和学术界的广泛关注。已经涌现了许多出色的视觉感知算法,用于实现3D目标感知任务和BEV场景下的语义分割任务。虽然现有的3D目标感知算法在检测性能方面已经取得了显著进展,但在实际应用中仍然存在一些问题逐渐显露出来:

  • 原有的3D目标感知算法无法很好的解决数据集中存在的长尾问题,以及真实世界中存在但是当前训练数据集中可能没有标注的物体(如:行驶道路上的大石块,翻倒的车辆等等)
  • 原有的3D目标感知算法通常会直接输出一个粗糙的3D立体边界框而无法准确描述任意形状的目标物体,对物体形状和几何结构的表达还不够细粒度。虽然这种输出结果框可以满足大多数的物体场景,但是像有连接的公交车或者具有很长挖钩的建筑车辆,当前3D感知算法就无法给出准确和清楚的描述了

基于上述提到的相关问题,栅格占用网络(Occupancy Network)感知算法被提出。本质上而言,Occupancy Network感知算法是基于3D空间场景的语义分割任务。基于纯视觉的Occupancy Network感知算法会将当前的3D空间划分成一个个的3D体素网格,通过自动驾驶车辆配备的环视相机传感器将采集到的环视图像送入到网络模型中,经过算法模型的处理和预测,输出当前空间中每个3D体素网格的占用状态以及可能包含的目标语义类别,从而实现对于当前3D空间场景的全面感知。

近年来,基于Occupancy Network的感知算法因其更好的感知优势而受到了研究者们的广泛关注,目前已经涌现出了很多优秀的工作用于提升该类算法的检测性能,这些论文的大概思路方向为:提出更加鲁棒的特征提取方法、2D特征向3D特征的坐标变换方式、更加复杂的网络结构设计以及如何更加准确的生成Occupancy真值标注帮助模型学习等等。然而许多现有的Occupancy Network感知方法在模型预测推理的过程中都存在着严重的计算开销,使得这些算法很难满足自动驾驶实时感知的要求,很难上车部署。

我们提出了一种创新的Occupancy Network预测方法,与当前的领先感知算法相比,我们的FastOcc算法具有实时的推理速度和优异的检测性能。通过下图可以直观地比较我们提出的算法与其他算法在性能和推理速度上的差异。

实时加SOTA一飞冲天!FastOcc:推理更快、部署友好Occ算法来啦!FastOcc算法和其他SOTA算法的精度和推理速度比较

论文链接:https://arxiv.org/pdf/2403.02710.pdf

网络模型的整体架构&细节梳理

为了提高Occupancy Network感知算法的推理速度,我们分别从输入图像的分辨率、特征提取主干网络、视角转换的方式以及栅格预测头结构四个部分进行了实验,通过实验结果发现,栅格预测头中的三维卷积或者反卷积具有很大的耗时优化空间。基于此,我们设计了FastOcc算法的网络结构,如下图所示。

实时加SOTA一飞冲天!FastOcc:推理更快、部署友好Occ算法来啦!FastOcc算法网络结构图

整体而言,提出的FastOcc算法包括三个子模块,分别是Image Feature Extraction用于多尺度特征提取、View Transformation用于视角转换、Occupancy Prediction Head用于实现感知输出,接下来我们会分别介绍这三个部分的细节。

图像特征提取(Image Feature Extraction)

对于提出的FastOcc算法而言,网络输入依旧是采集到的环视图像,这里我们采用了ResNet的网络结构完成环视图像的特征提取过程。同时,我们也利用了FPN特征金字塔结构用于聚合主干网络输出的多尺度图像特征。为了后续的表达方便,这里我们将输入图像表示为,经过特征提取后的特征表示为。

视角转换(View Transformation)

视角转换模块的主要作用就是完成2D图像特征向3D空间特征的转换过程,同时为了降低算法模型的开销,通常转换到3D空间的特征会进行粗糙的表达,这里为了方便表示,我们将转换到3D空间的特征标记为,其中代表嵌入特征向量的维度,代表感知空间的长度、宽度和高度。在目前的感知算法当中,主流的视角转换过程包括两类:

  • 一类是以BEVFormer为代表的Backward的坐标变换方法。该类方法通常是先在3D空间生成体素Query,然后利用Cross-view Attention的方式将3D空间的体素Query与2D图像特征进行交互,完成最终的3D体素特征的构建。
  • 一类是以LSS为代表的Forward的坐标变换方法。这类方法会利用网络中的深度估计网络来同时估计每个特征像素位置的语义特征信息和离散深度概率,通过外积运算构建出语义视锥特征,最终利用VoxelPooling层实现最终的3D体素特征的构建。

考虑到LSS算法具有更好的推理速度和效率,在本文中,我们采用了LSS算法作为我们的视角转换模块。同时,考虑到每个像素位置的离散深度都是估计出来的,其不确定性一定程度上会制约模型最终的感知性能。因此,在我们的具体实现中,我们利用点云信息来进行深度方向上的监督,以实现更好的感知结果。

栅格预测头(Occupancy Prediction Head)

在上图展示的网络结构图中,栅格预测头还包含三个子部分,分别是BEV特征提取图像特征插值采样特征集成。接下来,我们将逐一介绍三部分的方法的细节。

BEV特征提取

目前,大多数的Occupancy Network算法都是对视角转换模块得到的3D体素特征进行处理。而处理的形式一般是三维的全卷积网络。具体而言,对于三维全卷积网络的任意一层,其对输入的三维体素特征进行卷积所需要的计算量如下:

其中,和分别代表输入特征和输出特征的通道数量,代表特征图空间大小。相比于直接在3D空间中处理体素特征,我们采用了轻量级的2D BEV特征卷积模块。具体而言,对于视角转换模块的输出体素特征,我们首先将高度信息和语义特征进行融合得到2D的BEV特征,其次利用2D全卷积网络进行特征提取得到BEV特征,该2D过程的特征提取过程的计算量可以表述成如下的形式

通过3D和2D处理过程的计算量对比可以看出,通过利用轻量化的2D BEV特征卷积模块来代替原有的3D体素特征提取可以大大减少模型的计算量。同时,两类处理过程的可视化流程图如下图所示:

实时加SOTA一飞冲天!FastOcc:推理更快、部署友好Occ算法来啦!

2D FCN和3D FCN网络结构的可视化情况

图像特征插值采样

为了减少栅格预测头模块的计算量,我们将视角转换模块输出的3D体素特征的高度进行压缩,并利用2D的BEV卷积模块进行特征提取。但为了增加缺失的Z轴高度特征信息并秉持着减少模型计算量的思想出发,我们提出了图像特征插值采样方法。

具体而言,我们首先根据需要感知的范围设定对应的三维体素空间,并将其分配到ego坐标系下,记作。其次,利用相机的外参和内参坐标变换矩阵,将ego坐标系下的坐标点投影到图像坐标系,用于提取对应位置的图像特征。

其中,和分别代表相机的内参和外参坐标变换矩阵,代表ego坐标系下的空间点投影到图像坐标系下的位置。在得到对应的图像坐标后,我们将超过图像范围或者具有负深度的坐标点过滤掉。然后,我们采用双线性插值运算根据投影后的坐标位置获取对应的图像语义特征,并对所有相机图像收集到的特征取平均值,得到最终的插值采样结果。

特征集成

为了将得到的平面BEV特征与插值采样得到的3D体素特征进行集成,我们首先利用上采样操作将BEV特征的空间尺寸和3D体素特征的空间尺寸进行对齐,并且沿着Z轴方向执行repeat操作,操作后得到的特征我们记作。然后我们将以及图像特征插值采样得到的特征进行Concat并通过一个卷积层进行集成得到最终的体素特征。

上述提到的图像特征插值采样和特征集成过程整体可以用下图进行表示:

实时加SOTA一飞冲天!FastOcc:推理更快、部署友好Occ算法来啦!

图像特征插值采样以及特征集成过程

除此之外,为了进一步确保经过BEV特征提取模块输出的BEV特征包含有足够的特征信息用于完成后续的感知过程,我们采用了一个额外的监督方法,即利用一个语义分割头来首先语义分割任务,并利用Occupancy的真值来构建语义分割的真值标签完成整个的监督过程。

实验结果&评价指标

定量分析部分

首先展示一下我们提出的FastOcc算法在Occ3D-nuScenes数据集上和其他SOTA算法的对比情况,各个算法的具体指标见下表所示

实时加SOTA一飞冲天!FastOcc:推理更快、部署友好Occ算法来啦!

各个算法指标的在Occ3D-nuScenes数据集上的对比

通过表格上的结果可以看出,我们提出的FastOcc算法相比于其他的算法而言,在大多数的类别上都更加的具有优势,同时总的mIoU指标也实现了SOTA的效果。

除此之外,我们也比较了不同的视角转换方式以及栅格预测头当中所使用的解码特征的模块对于感知性能以及推理耗时的影响(实验数据均是基于输入图像分辨率为640×1600,主干网络采用的是ResNet-101网络),相关的实验结果对比如下表所示

实时加SOTA一飞冲天!FastOcc:推理更快、部署友好Occ算法来啦!

不同视角转换以及栅格预测头的精度和推理耗时对比

SurroundOcc算法采用了多尺度的Cross-view Attention视角转换方式以及3D卷积来实现3D体素特征的提取,具有最高的推理耗时。我们将原有的Cross-view Attention视角转换方式换成LSS的转换方式之后,mIoU精度有所提升,同时耗时也得到了降低。在此基础上,通过将原有的3D卷积换成3D FCN结构,可以进一步的增加精度,但是推理耗时也明显增加。最后我们选择采样LSS的坐标转换方式以及2D FCN结构实现检测性能和推理耗时之间的平衡。

此外,我们也验证了我们提出的基于BEV特征的语义分割监督任务以及图像特征插值采样的有效性,具体的消融实验结果见下表所示:

实时加SOTA一飞冲天!FastOcc:推理更快、部署友好Occ算法来啦!

不同模块的消融实验对比情况

此外,我们还做了模型上的scale实验,通过控制主干网络的大小以及输入图像的分辨率,从而构建了一组Occupancy Network感知算法模型(FastOcc、FastOcc-Small、FastOcc-Tiny),具体配置见下表:

实时加SOTA一飞冲天!FastOcc:推理更快、部署友好Occ算法来啦!

不同主干网络和分辨率配置下的模型能力对比

定性分析部分

下图展示了我们提出的FastOcc算法模型与SurroundOcc算法模型的可视化结果对比情况,可以明显的看到,提出的FastOcc算法模型以更加合理的方式填补了周围的环境元素,并且实现了更加准确的行驶车辆以及树木的感知。

实时加SOTA一飞冲天!FastOcc:推理更快、部署友好Occ算法来啦!

FastOcc算法与SurroundOcc算法的可视化结果对比情况

结论

在本文中,针对现有的Occupancy Network算法模型检测耗时长,难以上车部署的问题,我们提出了FastOcc算法模型。通过将原有的处理3D体素的3D卷积模块用2D卷积进行替代,极大缩短了推理耗时,并且和其他算法相比实现了SOTA的感知结果。

本文内容来源于互联网,如有侵权请联系删除。
作者最新文章
业界资讯
上一篇: AI在体育运动中的环境与气候信息支持方面的应用
下一篇: Photoshop快捷键修改在哪里?PS2020快捷键设置方法
相关文章 更多
“异算方舟”国产计算系统软件生态全栈平台发布
“异算方舟”国产计算系统软件生态全栈平台发布

6月29日,中科院计算机网络信息中心等单位发布“异算方舟”国产计算系统软件生态全栈平台。该平台针对算法供给不足、代码迁移困难、智能应用落地慢三大痛点,打造九衍枢算法库、无界BoundX代码转换大模型、Agent-HiReFlow自动化仿真智能体三大能力,提供从底层算法到代码适配再到智能应用的一体化解决方案。

熵基科技发布HuggingZKT算法商城
熵基科技发布HuggingZKT算法商城

熵基科技发布HuggingZKT算法商城,面向空间智能领域打造端云协同AI算法管理平台,覆盖算法训练、发布、订阅、升级等全生命周期,形成开放高效的算法服务体系,推动园区、楼宇等场景的AI能力敏捷调用,助力空间智能规模化应用迈入新阶段。

芬兰阿尔托大学找到了让视觉文档理解彻底摆脱
芬兰阿尔托大学找到了让视觉文档理解彻底摆脱"坐标困境"的新路径

芬兰阿尔托大学提出用语言引用原文代替坐标定位,解决视觉文档理解中的归因幻觉问题。实验显示,该方法使归因幻觉率从97%降至28%,证据召回率从个位数提升至50%以上,且答案质量几乎不变。

对于懂得编程的人来说,编程对你来说有什么乐趣?编程大概是什么感觉?
对于懂得编程的人来说,编程对你来说有什么乐趣?编程大概是什么感觉?

解决编程问题后的痛快、完成作品的成就感、获取知识的满足感,以及用代码实现简化生活的惊喜与踏实,这些是编程独有的乐趣,只有真正写代码的人才能体会其中的酸甜苦辣、惊喜与满足,令人回味无穷。

以前我没学过编程 请问编程从那里学起
以前我没学过编程 请问编程从那里学起

编程语言仅为工具,真正决定高度的是数据结构和算法及计算机底层逻辑理解。建议从C语言入门,打好基本功。根据目标选择深入方向,避免同时学习多门语言。最终目标是学会用程序解决问题,语言只是实践载体。

编程和我
编程和我

考取了程序员证书,却无法与“程序员”身份画等号,更偏爱算法和底层操作,对软件工程兴趣寥寥。编程作为兴趣能带来挑战与喜悦,一旦沦为重复工作便失去意义。坚持自然学习,远胜于强制赶进度。

趣味编程:少儿编程思维的启蒙之旅
趣味编程:少儿编程思维的启蒙之旅

Scratch图形化编程以拖拽积木块方式启蒙少儿编程思维,无需记忆代码语法。通过素材库、即时反馈和社区协作,帮助孩子在创作中理解顺序执行、条件判断等核心概念,锻炼逻辑、创造力和问题解决能力。

函数式编程与异步编程学习
函数式编程与异步编程学习

函数式编程和异步编程,是很多开发者绕不开的两个核心概念。它们听起来有点学术,但实际上在日常的软件开发中,尤其是现代后端、数据处理和并发场景里,几乎无处不在。今天我们就来捋一捋,这两者到底在讲什么,以及怎么用Python写点实际的例子。 函数式编程 函数式编程,简单说就是一种把计算过程当成数学函数组合

再论中文编程
再论中文编程

中文编程旨在用母语写代码,但易语言等早期方案因理论根基不实、生态薄弱而失败。核心突破依赖编译原理创新,如解决产生式数量导致的LR状态爆炸问题,可尝试解释型分析法和公共命名空间。

count\_if与all\_of高效使用技巧解析
count\_if与all\_of高效使用技巧解析

count_if用于统计满足条件的元素个数,all_of用于判断所有元素是否都满足条件,二者均通过谓词进行判断,可结合Lambda表达式简化使用,在处理复杂数据时需设计合适的谓词,并注意其线性时间复杂度带来的性能影响。

查看更多
精品专题 更多
装机必备
装机必备

正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

Windows
Windows

正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

macOS软件
macOS软件

正软商城macOS软件专区,精选适用于Mac电脑的办公、设计、影音、效率、开发和系统工具,提供软件功能介绍、macOS兼容版本、正版授权及购买下载服务。

Mac软件 更多
灵活计算器
灵活计算器
macOS/iOS/Android

灵活计算器是一款笔记式算数应用,支持实时计算、动态关联和云端同步功能。记录、整理和输出之间的过渡会更自然,适合长期写作、做笔记或持续沉淀个人内容。

赤友清理大师
赤友清理大师
macOS

赤友清理大师是一款为 Mac 设计的智能清理优化工具,可精准扫描垃圾、大文件、重复文件等,释放磁盘空间。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

极度公式
极度公式
Windows/macOS/Linux

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

WINDOWS 更多
Windows 10
Windows 10
Windows

Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。

极度公式
极度公式
Windows/macOS/Linux

极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。

密码键盘
密码键盘
Windows/macOS/iOS/Android

密码键盘是一款兼具安全性与便捷性的高效密码管理器。日常使用里的持续防护和信息管理会更突出,适合把安全控制放进长期使用流程中的场景。