OccNet 栅格占据网络:重建智能驾驶场景表征

本文探讨了在智能驾驶中,长尾障碍物的精确检测挑战,提出3DOccupancy表征方法和OccNet网络结构,它能通过预测3D空间占据和运动信息提升感知性能。OccNet支持多模态输入,适用于3D目标检测、BEV分割等任务,特别在处理不规则障碍物方面表现出色。
摘要由CSDN通过智能技术生成

随着高阶智能驾驶的发展,长尾障碍物感知成为智驾发力的关键点。驾驶场景中常见的行人、车、障碍物,能够通过 3D 物体检测等方式实现其位置、大小的估计。而现实世界城区的交通路况中,还存在海量长尾场景问题:如异形车辆、路上的石子、掉落的树叶等障碍物,以 3D 检测框、点云等传统表征方式已经难以实现精准、细致的检测和识别。我们希望能够找到一种更好的表征方式以描述长尾障碍物:

3D Occupancy 表征形式,以占用的方式重建了周围的 3D 场景,可用于通用物体检测,精准实现 3D 空间中物体的占位情况、语义识别、运动情况等,在表征上更具优势

基于此,我们提出基于 Occupancy 的通用框架,通过预测 3D 空间的占据(occupany)及运动(motion)信息,从而提升智能驾驶感知任务性能。

商汤绝影 x 上海人工智能实验室:多模态通用 Occupancy 网络结构 OccNet

商汤绝影联合上海人工智能实验室提出的多模态通用 Occpancy 网络结构 OccNet。

图片

该网络结构能够支持环视相机和 LiDAR 的单模态输入或联合输入:

1.)OccNet 从输入模态中提取特征,重建 3D 空间表征,从而输出 3D 空间的 occupancy 语义及运动信息。

2.)OccNet 还可直接用于多项智能驾驶任务,如 3D 目标检测、BEV 分割、运动规划等任务。

  • OccNet 效果呈现

栅格占据网络(Occupancy Network)将世界划分为 3D 网络单元,OccNet 通过体素(Voxel)体现单元的占据情况,并预测了每个占据单元包含的语义类别、速度、方向信息。

例如,以右下角 Colorbar 指示障碍物的行驶速度、行驶方向。其十字指针方向代表运动方向,上、下方向分别表示前向、对向行驶,左、右方向为向左、向右行驶。

图片

十字中心的白色体素(占据单元)即表示障碍物状态为静止。随着障碍物的运动速度、运动方向改变,其颜色也随之发生变化。如图中所示,对向行驶的车辆,行驶方向由右转到直行时,其颜色逐渐从黄色变为绿色。

占据单元本身所涵盖的信息较为丰富,因此能够帮助更精细地检测和预测各类障碍物。

  • OccNet 网络结构框架

OccNet 网络结构分为两个阶段,分别是基于 Occupancy Descriptor 的 3D 空间表征,和 Occupancy Descriptor 的下游任务应用。

图片

在第一阶段中,我们使用编码解码的结构来重建 Occupancy Descriptor。

1.)LiDAR 输入处理:首先进行 3D 点云的体素化(voxelize),然后通过 Voxel Encoder 编码点云的特征。

2.)环视相机输入处理:在 BEV 下提取图像特征,再使用级联式的 Voxel 解码器逐渐恢复特征的高度信息。在 Encoder-Decoder 模块中,我们会使用时序和空间注意力机制学习特征结构,从而构建鲁棒的 3D 特征表示,用于下游任务。

在第二阶段,Occupancy Descriptor 可以接多个轻量级的 head 用于不同的智驾任务:根据 Occupancy 的场景补全任务,用 MLP 结构直接预测 3D 空间每个占用栅格(Grid)的语义,及运动信息(motion)。

图片

  • Occupancy 数据集构建

我们基于 LiDAR segmentation 和 3D box occupancy 数据生成方案,构建了高质量、稠密的 Occupancy 数据集。除此以外,我们还引入自动驾驶公开数据集 nuScenes,搭建 OpenOcc Benchmark 数据集,并结合商汤绝影的智能驾驶业务场景,搭建了业务 Occupancy Benchmark。

图片

为了生成稠密的场景表示,并处理场景中的运动物体,需采用多帧点云累积前景-背景解耦的方式来生成 Occupancy 数据:

1.)单帧点云处理:以 LiDAR Segmentation3D box 将点云分解为静态的背景点云物体点云

2.)点云累积及标签生成:在世界坐标系中,对静态的背景点云进行累积。在物体坐标系中,累积物体点云,以生成稠密的背景点云和物体点云。将稠密点云进行体素化处理,以投票法确定每个体素的点云类别,随后对其进一步优化:通过填充孔洞等方式,生成高质量的 Occupancy 数据。

3.)前景 Occupancy 处理:赋予每个体素(voxel) 速度信息,用于后续的 occupancy motion 任务。

OccNet :全面的任务处理能力,不规则障碍物检测效果亮眼

  • Occupancy 预测任务

Occupancy 可直接应用于 3D 语义场景补全,实现 3D 空间的重建。在该任务中,我们将 OccNet 与 BEVDet、BEVDepth、TPVFormer 等方案进行了对比,在 mIoU、几何 IoU 等各类指标上均大幅领先其他方案

图片

OccNet 与 BEVDet、BEVDepth、TPVFormer 等方案对比

图片

OccNet 与 TPVFormer 的检测效果对比

  • 基于 Occupancy 的 3D 检测

在 Occupancy 预测任务中,我们可以定位前景物体以及背景元素的空间位置,重建出周围的 3D 场景,也意味着 Occupancy 可以用来提升 3D 检测任务的性能。

我们在 nuScenes 数据集上分别研究了 Occupancy 在多任务训练预训练任务中的作用。联合训练 3D 检测和 Occupancy 预测可以将 3D 检测 mAP 和 DNS 提升 10%-20% 。相比于基于 FCOS3D 的预训练,基于 Occupancy 的预训练模型可以大幅提升检测性能。

图片

基于Occupancy与基于FCOS3D的预训练对检测任务的影响

  • 不规则障碍物检测能力

智能驾驶场景中的不规则前景物体难以用传统的 3D 框来表示,如:工程车和背景物体、交通灯等。通过 Occupancy 占位,能够更加精确的描述这些不规则物体,从而实现通用障碍物的检测。

图片

如下图,如果以 3D 检测框对图中非常规姿态的行人(抱着方形木板行走)进行检测,会导致检测失效。而 Occupancy 因其占位的特征表达形式,也能够精准地检测出其行进方向和速度

图片

多模态 Occupancy 自动驾驶大模型探索之路

过去几年来,我们深入探索了 Occupancy 在智能驾驶任务中的应用潜力,基于学术数据集和业务数据集搭建了Occupancy benchmark 来系统研究 occupancy,并验证了 OccNet 网络结构框架的有效性:Occupancy 通过通用的表征形式来重建自动驾驶场景,能够实现感知和运动规划等自动驾驶下游任务。

相比于 BEV 感知的方案,Occupancy 显示了更加优越的性能,但 3D 的表征形式需要更大的算力成本,同时其数据集应用依赖于标注。

未来,我们希望能够基于大模型进一步探索开集检测问题,挖掘 Occupancy 在未知物体检测上的潜力,以应对自动驾驶的开放式场景。

同时,我们将深度结合 Occupancy 和大语言模型,探索基于多模态 Occupancy 的自动驾驶大模型,来提供更加通用的智能驾驶解决方案。

 

论文及相关代码链接见:

[1] https://arxiv.org/abs/2306.02851

[2] https://github.com/OpenDriveLab/OccNet

[3] https://github.com/OpenDriveLab/OpenScene

  • 19
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值