当前位置: 首页 > news >正文

自动驾驶中的占用感知综述:信息融合视角

原论文地址

引言

鸟瞰图(BEV)感知是主流的感知模式[1,2],其优点在于描述环境时具有绝对尺度和无遮挡性。BEV 感知为多源信息融合(例如来自不同视角、模态、传感器和时间序列的信息)以及众多下游应用(例如可解释决策和运动规划)提供了一个统一的表示空间。然而,BEV 感知不监测高度信息,因此无法为三维场景提供完整的表示。为解决这一问题,自主驾驶领域提出了占用感知技术,旨在捕捉真实世界的密集三维结构。这项新兴感知技术致力于推断体素化世界中每个体素的占用状态,其特点是对开放集物体、不规则形状的车辆以及特殊道路结构具有强大的泛化能力[3, 4]。与透视图和鸟瞰图等二维视图相比,占用感知具有三维属性,使其更适合三维下游任务,如三维检测[5, 6]、分割[4]和跟踪[7]。

背景

发展趋势

语义占用感知源自 SSCNet[25],它从单张图像中预测室内场景中所有体素(voxel)的占用状态和语义。然而,与室内场景相比,研究室外场景中的占用感知对于自动驾驶至关重要。MonoScene[26]是使用单目相机进行室外场景占用感知的开创性工作。与 MonoScene 同时期,特斯拉在 2022 年自动驾驶 CVPR 研讨会上宣布了其全新的仅使用相机的占用网络[27]。该网络根据环视 RGB 图像全面理解车辆周围的 3D 环境。随后,占用感知吸引了广泛关注,推动了近年来自动驾驶占用感知研究的激增。图中的时间概述表明自 2023 年以来,占用感知领域发展迅速。
OCC时间线

目前,占用感知研究中的一个主导趋势是以视觉为中心的解决方案,辅以 LiDAR 为中心的方法和多模态方法。占用感知可以在端到端的自动驾驶框架内作为 3D 物理世界的统一表示[ 8, 35],随后应用于各种驾驶任务,如检测、跟踪和规划。占用感知网络的训练严重依赖于密集的 3D 占用标签,这导致了多种街道视图占用数据集的开发[ 11, 10, 36, 37]。最近,利用大型模型的强大性能,将大型模型与占用感知相结合显示出缓解繁琐的 3D 占用标注需求的潜力[38]。

任务定义

占用感知旨在从多源输入中提取观察到的 3D 场景的体素级表示。具体而言,这种表示涉及将连续的 3D 空间 \(W\) 离散化为由密集体素组成的网格体积 \(V\) 。每个体素的状态由 {1,0} 或 \({c_0,⋯,c_n}\) 的值描述,如图 3 所示。

占用网络的不同标签

占用感知可以被视为 BEV 感知的延伸。占用感知构建一个 3D 体积空间,而不是 2D 的 BEV 平面,从而对 3D 场景进行更完整的描述。

以视觉为中心的占用感知

受特斯拉自动驾驶汽车感知系统技术[27]的启发,以视觉为中心的占用感知在工业界和学术界都引起了广泛关注。与以激光雷达为中心的方法相比,仅依赖摄像头传感器的以视觉为中心的占用感知代表了当前趋势。主要有三个原因:(i) 摄像头在车辆大规模部署方面具有成本效益。(ii) RGB 图像捕捉丰富的环境纹理,有助于理解交通标志、车道线等场景和物体。(iii) 深度学习技术的蓬勃发展使得从二维视觉实现三维占用感知成为可能。以视觉为中心的占用感知可以分为单目解决方案[26, 33, 51, 52, 54, 55, 84, 88, 111, 112]和多摄像头解决方案[8, 31, 32, 38, 53, 61, 80, 81, 113, 114, 115]。覆盖更广视场的多摄像头感知遵循一个通用流程,如图 5 所示。 它首先从多相机图像中提取前视图特征图,然后进行二维到三维的转换、空间信息融合以及可选的时间信息融合,最终通过一个占用头推断环境的三维占用情况。

以视觉为中心的占用感知算法通用结构

具体而言,RGB 图像的 2D 特征图 F2D⁢(u、,v)构成了以视觉为中心的占用感知流程的基础。其提取利用预训练的图像骨干网络 ΦF,例如基于卷积的 ResNet [ 39] 和基于 Transformer 的 ViT [ 117], \(F_{2D}(u,v)=Φ_F⁢(I⁢(u,v))\)\(I\) 表示输入图像, \((u,v)\) 是像素坐标。由于前视图仅提供 2D 视角,因此需要进行 2D 到 3D 的转换,以推算出前视图所缺乏的深度维度,从而实现 3D 场景感知。接下来将详细说明 2D 到 3D 的转换。

2D-3D的转换

该转换设计用于将前视图特征转换为 BEV 特征[61, 80]、TPV 特征[32]或体素特征[33, 76, 85],以获取前视图缺失的深度维度。值得注意的是,尽管 BEV 特征位于俯视图的 2D 平面上,但它们可以将高度信息编码到特征的通道维度中,从而表示 3D 场景。三视角投影将 3D 空间投影到三个正交的 2D 平面上,因此 3D 空间中的每个特征都可以表示为三个 TPV 特征的组合。2D 到 3D 的转换表示为 \(F_{B⁢EV/T⁢P⁢V/Vo⁢l}(x∗,y∗,z∗)=Φ_T⁢(F_{2⁢D}(u,v))\),其中 (x,y,z)表示 3D 空间中的坐标, ∗ 表示在 BEV 或 TPV 平面上该特定维度可能不存在, \(Φ_T\) 是从 2D 到 3D 的转换。这种转换可以分为三种类型,分别以使用投影[26, 31, 38, 53]、反投影[55, 80, 81, 82]和交叉注意力[4, 36, 76, 113, 118]技术为特征。以体素特征的构建为例,该过程如图 6(a)所示。

占据网络体素构建方案
  1. 投影方案:它建立了一个从特征体到特征图的几何映射。该映射通过将 3D 空间中的体素质心通过透视投影模型 [ 121]投影到 2D 正视图特征图上,然后通过双线性插值 [ 26, 31, 38, 53]进行采样来实现。然而,基于投影的 2D 到 3D 变换存在的问题是,在视线方向上,3D 空间中的多个体素对应于前视图特征图中的同一位置。这导致了多对一的映射(PS,这里有点意思,多对一没有办法通过概率建模来解决,反过来LSS的一对多就可以通过显式概率建模来解决了),从而引入了 2D 和 3D 之间对应关系的模糊性
  2. 反投影:反投影是投影的逆过程。同样,它也利用透视投影在 2D 和 3D 之间建立对应关系。然而,与投影不同,反投影使用每个像素的估计深度 d 来计算从 2D 到 3D 的一对一映射。这种基于深度分布的重新投影,源自 LSS [ 122],具有显著优势。一方面,它可以处理深度感知中的不确定性和模糊性。例如,如果某个像素的深度不明确,模型可以通过深度分布来体现这种不确定性。另一方面,这种概率性的深度估计方法提供了更大的鲁棒性,特别是在多相机设置中。如果多相机图像中的对应像素具有映射到 3D 空间中相同体素的不正确深度值,它们的信息可能无法整合。相比之下,估计深度分布允许在深度不确定性下进行信息融合,从而提高鲁棒性和准确性。
  3. 交叉注意力:基于交叉注意力的变换旨在以可学习的方式在特征体和特征图之间进行交互。与注意力机制[ 40]一致,3D 特征体中的每个体素特征都充当查询,而键和值来自 2D 特征图。然而,对于 2D 到 3D 的变换采用普通的交叉注意力需要相当大的计算成本,因为每个查询必须关注特征图中的所有特征。为了优化 GPU 效率,许多变换方法[ 4, 36, 76, 113, 118]采用可变形交叉注意力[ 123],其中查询与特征图中的选定参考特征交互,而不是所有特征,从而大大减少了计算。具体来说,对于每个查询,我们根据给定的内参和外参,将其 3D 位置 q 投影到 2D 特征图上。我们在投影的 2D 位置 p 附近采样一些参考特征。然后,根据可变形注意力机制对这些采样的特征进行加权求和。

此外,还有一些混合变换方法,它们结合了多种 2D 到 3D 变换技术。VoxFormer [ 33] 和 SGN [ 51] 首先通过逐像素深度估计和反向投影计算一个粗略的 3D 特征体,然后使用交叉注意力来细化特征体。COTR [ 85] 与 VoxFormer 和 SGN 具有类似的混合变换,但它用深度分布估计替换了逐像素深度估计。

对于 TPV 特征,TPVFormer [ 32] 通过交叉注意力实现 2D 到 3D 的转换。转换过程与图 6(a)中所示略有不同,在图 6(a)中,3D 特征体被替换为在三个视图的特定视角下的 2D 特征图。对于 BEV 特征,从前视图到鸟瞰视图的转换可以通过交叉注意力 [ 61] 实现,或者通过反向投影然后垂直池化 [ 61, 80] 实现。

视觉中心占用中的信息融合

** 为什么需要时序融合 **
在多相机设置中,每个相机的正面视图特征图描述了场景的一部分。为了全面理解场景,有必要对多个特征图进行空间融合。此外,场景中的物体可能被遮挡或处于运动状态。时间上融合多个帧的特征图可以帮助推理被遮挡区域并识别物体的运动状态。

  1. 空间信息融合

多个摄像头的观测融合可以创建一个具有扩展视场的 3D 特征体,用于场景感知。在多摄像头视图的重叠区域,特征体中的 3D 体素在投影后会命中多个 2D 前视图特征图。融合命中到的 2D 特征有两种方法:平均[38, 53, 82]和交叉注意力[4, 32, 76, 113],如图 6(b)所示。平均操作计算多个特征的均值,简化了融合过程并降低了计算成本。然而,它假设不同的 2D 视角对感知 3D 场景的贡献是等效的。这种情况并不总是成立,尤其是在某些视图被遮挡或模糊时

图6b

为解决这一问题,采用多相机交叉注意力机制来适应性地融合多视角信息。具体而言,其过程可视为通过引入更多相机视角对式(7)的扩展。我们将可变形注意力函数重新定义为 \(DA(q,pi,F_{2⁢D-⁢i})\),其中 \(q\) 是三维空间中的一个查询位置, \(p_i\) 是其在一个特定二维视图上的投影位置, \(F2_{⁢D-i}\) 是对应的二维正视图特征图。多相机交叉注意力过程可表述为:\(F_{Vo⁢l}⁢(q)=\frac{1}{|ν|}⁢\sum_{i∈ν} DA⁢(q,p_i,F_{2D-i})\)\(F_{Vol}(q)\) 表示 3D 特征体中查询位置的特征, \(ν\) 表示所有命中视图。

  1. 时间信息融合:

基于视觉的 BEV 感知系统最近的进展[44, 124, 125]表明,整合时间信息可以显著提高感知性能。类似地,在基于视觉的占用感知中,通过结合历史特征和当前感知输入的相关信息,可以提高准确性和可靠性。时间信息融合的过程包括两个组件:时间-空间对齐和特征融合,如图 6(c) 所示。时间-空间对齐利用自车姿态信息将历史特征 \(F_{t−k}\) 与当前特征进行空间对齐。对齐完成后,历史特征和当前特征被输入到特征融合模块以增强表示能力,特别是加强遮挡推理能力和运动物体识别能力。特征融合主要有三条主线,即卷积、交叉注意力和自适应混合

PanoOcc [4] 将先前特征与当前特征连接起来,然后使用一组三维残差卷积块进行融合。许多占用感知方法 [22, 33, 56, 84, 120] 利用交叉注意力进行融合。该过程与多相机交叉注意力类似,但不同之处在于三维空间体素被投影到二维多帧特征图而不是多相机特征图。

图6c

视觉中心检测头

由空间和时间信息融合产生的特征通过不同类型的头部进行处理,以确定 3D 占用情况。这些包括卷积头部、掩码解码头部、线性投影头部和带阈值的线性投影头部。由空间和时间信息融合产生的特征通过不同类型的头部进行处理,以确定 3D 占用情况。这些包括卷积头部、掩码解码头部、线性投影头部和带阈值的线性投影头部。基于卷积的头部[ 7, 10, 26, 38, 61, 76, 114]由多个 3D 卷积层组成。基于掩码解码的头部[ 55, 85, 90, 118],受 MaskFormer[ 127]和 Mask2Former[ 128]的启发,将 3D 语义占用预测形式化为估计一组二进制 3D 掩码,每个掩码都与相应的语义类别相关联。具体来说,它们计算每个体素的嵌入,并评估每个查询的嵌入及其相关的语义。最终的占用预测是通过计算这两个嵌入的点积获得的。基于线性投影的头部[ 4, 32, 33, 36, 51, 84, 89]利用特征通道维度上的轻量级 MLP 来生成占用状态和语义。此外,对于基于 NeRF[ 69]的占用方法[ 81, 83, 87, 91, 116],它们的占用头部使用两个独立的 \(MLP( MLP_σ, MLP_s)\) 来估计密度体积 \(V_σ\) 和语义体积 \(V_S\)。 然后根据给定的置信度阈值 τ 选择被占用的体素,并根据 VS 确定它们的语义类别

\[V(x,y,z) = \left\{ \begin{array}{ll} \arg\max(V_S(x,y,z)) & V_\sigma(x,y,z) \geq \tau \\ \text{empty} & V_\sigma(x,y,z) < \tau \end{array} \right. \]

\((x,y,z)\)代表三维坐标。

常用指标

  1. 体素级指标:不考虑语义的占用预测被视为类无关感知。它仅关注空间几何理解,即确定三维空间中每个体素是否被占用或为空。常用评估指标是体素级交并比(IOU),表示为:

\[IoU=\frac{TP}{TP+FP+FN} \]

其中 \(TP\)\(F⁢P\)\(FN\) 分别表示真阳性、假阳性和假阴性的数量。真阳性意味着实际被占用的体素被正确预测。

同时推断体素占用状态和语义分类的占用预测可被视为语义几何感知。在这种情况下,平均交并比(mIoU)通常用作评估指标。mIoU 指标分别计算每个语义类别的 IOU,然后对所有类别的这些 IOU 进行平均,排除“空”类别:

\[mIoU = \frac{1}{N_C}\sum^{N_C}_{i=1}\frac{TP_i}{TP_i+FP_i+FN_i} \]

其中\(TP_i\)\(FP_i\)\(FN_i\)是特定语义类别i的真阳性、假阳性和假阴性的数量。\(N_C\)表示语义类别的总数。

http://www.jsqmd.com/news/662255/

相关文章:

  • 利用OWL ADVENTURE进行软件测试:自动化视觉回归测试与UI缺陷检测
  • 如何快速掌握抖音下载器:面向内容创作者的完整工具指南
  • WPF布局
  • 银行数据中心基础设施建设与运维管理【2.2】
  • 总结java学习one -
  • 软件服务管理化的客户价值创造
  • 网络安全技术思考
  • 从CTF实战到代码复现:手把手教你用Python逆向分析RC4加密的crypt.exe
  • ZeroPoint Security red team ops I CRTO 6 Persistence
  • 避坑!这些毕设太好抄了,3000+毕设案例推荐第1077期
  • 【点云处理之理论基石】—— Deep Sets:从集合不变性到点云分类的通用架构
  • AI教育平台开发技术框架
  • 从《倘若鸟儿回还》看无障碍设计:如何用技术为轮椅用户打造真正的“独立出行”体验
  • Untrunc终极指南:免费开源视频修复工具,拯救损坏的MP4/MOV文件
  • 1982-2010年陆地植被碳密度数据集
  • 突破限制!NVIDIA Profile Inspector深度调校指南:解锁显卡隐藏性能的终极秘籍
  • Linux内核中的网络管理详解
  • 微软为什么发明 SqlLocalDB?命令行直接启动,0配置成本
  • FireRed-OCR Studio入门必看:@st.cache_resource缓存机制原理与实测提速
  • 漫画离线阅读终极指南:如何轻松下载8大网站漫画内容
  • 终极指南:如何用LayerDivider实现插画智能分层与PSD自动生成
  • 一物一码系统功能点,如何重构快消增长与渠道管理
  • MCU深度学习新选择:如何用NNoM在微控制器上部署神经网络模型?
  • 静息态fMRI预处理实战:从DICOM到ALFF的完整流程解析
  • UE5 Nanite材质兼容性深度解析:从模型变黑到正确渲染
  • 为什么父母总学不会用新App,问题不在他们
  • Node 18 网络导入新特性:从HTTP/HTTPS URL直接加载ES模块
  • 告别Camera1!用Camera2 API + MediaRecorder打造更流畅的Android视频录制功能
  • Flutter 入门第九课:本地存储实战(SharedPreferences + 文件 + SQLite)
  • 10大好用无代码开发平台测评!企业无代码开发选型必看清单