nuScenes SOTA!SurroundOcc:面向自动驾驶的纯视觉3D占据预测网络(清华&天大)

最近,多相机三维占据预测(3D Occupancy Prediction)受到了广泛关注。作为自动驾驶中的基石任务,三维目标检测天然存在无法识别任意形状以类别的物体。相较于三维目标检测,三维占据预测可以对周围环境进行稠密重建,从而更好地进行感知。本文提出SurroundOcc方法,我们利用多帧稀疏LiDAR点云自动生成稠密三维占据标签,并以此作为监督信号训练得到基于多相机图像的稠密占据预测网络。相关代码已经开源,除了公开数据集外,也支持个人数据的稠密占据预测和标签生成。相关demo如下:

三维占据预测:

三维占据标签生成:

原文:https://arxiv.org/pdf/2303.09551.pdf
代码:https://github.com/weiyithu/SurroundOcc/
主页:https://weiyithu.github.io/SurroundOcc/

简介

fb163f79b5aa6f6741bc753455bc9d85.jpeg

近年来,随着L2辅助驾驶的量产落地,自动驾驶相关技术飞速发展。作为感知的重要一环,三维目标检测可以识别大部分常见物体并指导下游进行避障和路径规划。但随着落地场景越来越复杂,从高速路到城市街道,三维目标检测逐渐暴露了一些弊端。由于检测任务天然存在长尾效应,非常依赖训练集中的样本类型和分布,三维检测器只能识别有限类别的物体。但真实世界中物体的种类是无穷的,因此,在没有激光雷达加持的纯视觉方案中,我们需要三维重建来辅助三维目标检测。相较于实时三维重建常用手段之一的深度估计,三维占据预测这种表示形式有着一些优势。首先,由于三维占据预测是直接在三维空间表示的,因此天然满足多视角/多相机一致性。其次,网络可以通过周围语义信息预测出被遮挡物体的形状,这一点在深度估计中是无法做到的。最后,三维占据预测易于拓展到其它任务上,例如三维语义分割和场景流估计,并且也方便与基于BEV的三维目标检测方案兼容。

为了得到三维占据预测的模型,我们首先需要生成稠密三维占据标签。尽管TPVFormer[1]利用稀疏LiDAR作为监督信号也可以进行占据预测,但他们的预测结果比较稀疏,无法进行稠密感知,会漏掉一些障碍物。而另一方面,在SemanticKITTI[2]中提到,对于稠密三维占据的人工标注是非常费时费力的,尤其是大规模工业数据集。三维任务的标注本身就比较麻烦,稠密占据标注更是难上加难。因此,本文提出了一套autolabel的方案,仅需要多帧LiDAR和数据集中已有的三维目标检测标签,就可以生成稠密三维占据标签。有了稠密标签后,我们设计了2D-3D UNet结构的模型进行稠密占据预测。SurroundOcc在nuScenes[3]在SemanticKITTI[2]数据集上SurroundOcc都达到了当前最佳性能,证明了方法的有效性。

三维占据预测方法

8f9f009c1b5e61ee95adbeec7fcee17b.jpeg

上图展示了本文方法的pipeline。首先利用ResNet-101等网络对多相机图像提取多尺度特征,并利用FPN对二维图像特征进行多尺度融合。之后在每个尺度上均利用空间注意力机制对多相机特征进行提取,并得到三维体素特征。最后利用三维反卷积对小尺度体素特征上采样并与大尺度特征进一步融合。不同尺度的特征会输出不同分辨率的三维占据预测,并利用loss权重衰减的稠密标签进行监督。

2D-3D 空间注意力机制

cddb8cab7d4ebeece6af77a794117f77.jpeg

很多三维场景重建方法将多视角特征投影到三维空间,并以求和或者求平均的方式得到三维特征。这类方法假设每个视角的贡献是一样的并且内外参是绝对准确的,但往往在真实场景中,由于物体遮挡,图像模糊,标定误差等因素的存在,这两个假设都很难成立。为了解决这个问题,本文利用空间注意力机制进行多相机特征融合。与BEV特征[4]不同的是,本文直接在三维空间进行相应的操作,从而可以更好地保留三维信息。具体来说,在每一个2D-3D 空间注意力机制层中,对于三维体素空间中的每一个点,根据内外参将其投影到每个相机视角下,并利用可变形注意力机制在每个视角的投影点周围进行特征提取和聚合。与此同时,本文利用三维卷积对相邻体素特征进行交互,避免了复杂的三维自注意力机制的使用。

多尺度占据预测

相较于三维目标检测,三维占据预测这个任务更需要细粒度的三维信息。因此,我们将2D-3D 空间注意力机制拓展到多尺度形式。在每个尺度中,本文方法使用不同层数的2D-3D 空间注意力机制层对不同尺度的二维特征进行聚合。利用三维反卷积对上一级的三维特征进行上采样,并与这一级的特征进行相加得到当前尺度的特征。在每一级中,网络都会输出一个占据预测结果,并且都会用相应分辨率的标签进行监督。本文使用交叉熵损失函数和场景类别匹配度损失函数作为监督信号。因为高分辨的预测是更重要的,因此本文在每一级中使用衰减的损失权重。

三维占据标签生成

dbedc6f588c8f4e0fc39712596b056c6.jpeg

为了得到稠密三维占据预测,我们需要使用稠密三维占据标签对网络进行训练。上图展示了三维占据标签生成的pipeline,本文方法只需要数据集中已有的三维目标检测和三维分割标签,无需昂贵的稠密三维占据标注。对于多帧时序激光雷达点云,本文通过三维目标检测标签将场景和物体点云分割开,并利用位姿信息将场景和物体点云分别拼接起来。之后将两种点云合并起来得到稀疏占据标签。为了填补空洞和进一步稠密化,本文使用泊松重建和最近邻算法得到稠密占据标签。

多帧点云拼接

一种简单的方式是根据每一帧的位姿信息直接将各帧点云拼接起来。但这种做法忽略了动态物体,只能应用在完全静止的场景中。为了解决这个问题,本文设计了一个two-stream的方法在体素化之前对多帧点云进行拼接。具体而言,对于每帧点云,本文根据三维目标检测标签将其划分为场景和物体点云,之后通过每帧的外参和每个物体各自的位姿信息将二者分别变换到世界坐标系。在世界坐标系下,利用一个序列中所有帧的点云,对物体和场景点云分别进行拼接。为了得到当前帧的标签,需要将二者投影到当前帧坐标系,并将两个点云拼合起来。

语义标签稠密化

4152a45a36474a1b74535042c9bababf.png

通过多帧点云拼接操作已经可以得到比较稠密的点云,但点云中仍存在比较多的空洞,尤其对于低线数激光雷达点云而言。因此,本文对点云中每个点计算法向量并利用泊松重建算法对拼接后的点云进一步地稠密化。泊松重建算法输出三角网格,本文方法对三角网格的顶点进行体素化处理得到不含语义的稠密占据标签。为了得到稠密语义标签,本文利用最近邻算法在稀疏占据标签中得到稠密占据的语义结果。上图对比了稀疏激光雷达点云,稀疏占据标签和稠密占据标签的结果。

实验结果

2b00ebf40d4b006c12c5f4d3aa1c938d.png 8326b338d9639ceb283d36936d18c871.png 735c6a27c96b41b38f382bb9ecfa7184.png

本文首先在多相机数据集nuScenes上进行了相关实验。三维占据预测的分辨率为200x200x16,栅格大小为0.5m。相关实验在8块RTX 3090上进行。表格1表明SurroundOcc取得了当前最佳性能。为了进一步体现本文方法的有效性,本文还在SemanticKITTI数据集上进行了单目三维语义分割实验。虽然本文方法不是为了单目感知而设计的,其中一些模块例如跨视角注意力机制可能会失效,但本文方法在SemanticKITTI数据集上仍超越了其它所有方法。除了三维语义分割任务,本文还进行了三维场景重建的相关实验,实验结果证明本文方法性能优于其它三维重建和深度估计方法。

77156ccb2c46b723a08f2a6c0fa5224d.png 15be3df9a0044405f44cbc5e486cdbe0.png

以上是一些可视化结果。从可视化结果中可以看出,相较于其它方法,本文方法的预测结果更加稠密和精细。并且,本文生成的三维稠密标签可以高质量地恢复出整个场景的细节。对于一些复杂场景,例如雨天和黑夜,RGB图像的质量会显著下降,但本文方法依然可以得到细粒度的预测结果,例如远处的人和摩托车。

引用

[1] Tri-Perspective View for Vision-Based 3D Semantic Occupancy Prediction, CVPR 2023

[2] nuScenes: A multimodal dataset for autonomous driving, CVPR 2020

[3] Semantickitti: A dataset for semantic scene understanding of lidar sequences, ICCV 2019

[4] BEVFormer: Learning Bird’s-Eye-View Representation from Multi-Camera Images via Spatiotemporal Transformers, ECCV 2020

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当谈到自动驾驶目标估计和预测方法时,有一些先进的技术被认为是SOTA(State-of-the-Art,最新技术)的。以下是一些SOTA自动驾驶目标估计和预测方法的示例: 1. 基于深度学习的方法:深度学习自动驾驶目标估计和预测领域取得了巨大的成功。通过使用卷积神经网络(CNN)和循环神经网络(RNN)等深度学习模型,可以从传感器数据中提取特征并进行目标检测、跟踪和预测。这些方法通常使用大规模的标注数据进行训练,并具有较高的准确性和鲁棒性。 2. 多传感器融合方法:自动驾驶系统通常使用多种传感器(如相机、激光雷达、雷达等)来获取环境信息。多传感器融合方法将这些传感器的数据进行融合,以提高目标估计和预测的准确性和可靠性。常见的融合方法包括基于卡尔曼滤波或粒子滤波的传感器数据融合。 3. 基于图像语义分割的方法:图像语义分割可以将图像中的每个像素分类为不同的物体类别。这些方法可以用于自动驾驶目标估计和预测中,以提供更精细的目标边界和形状信息。通过结合语义分割和目标检测/跟踪算法,可以实现更准确的目标预测和轨迹规划。 4. 基于概率建模的方法:这些方法使用概率模型来表示目标在未来的位置和轨迹。常见的方法包括高斯混合模型(GMM)和条件随机场(CRF)。这些方法可以通过历史轨迹数据和环境信息来估计目标的未来行为,并进行预测。 5. 端到端学习方法:端到端学习方法直接从传感器数据到车辆控制命令进行学习,省去了传统的模块化设计。这些方法通常使用深度学习模型,如卷积神经网络(CNN)和循环神经网络(RNN),以实现端到端的自动驾驶目标估计和预测。 需要注意的是,自动驾驶领域的研究和技术发展迅速,新的SOTA方法不断涌现。因此,上述列举的方法只是目前为止的一些示例,未来可能会有更多创新的方法被提出。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值