Occ-BEV:通过3D场景重建实现多相机统一预训练

文章:Occ-BEV: Multi-Camera Unified Pre-training via 3D Scene Reconstruction

作者:Chen Min Peking University

编辑:点云PCL

代码:

https://github.com/chaytonmin/Occ-BEV.git

欢迎各位加入知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。

公众号致力于点云处理,SLAM,三维视觉,高精地图等领域相关内容的干货分享,欢迎各位加入,有兴趣的可联系dianyunpcl@163.com。未经作者允许请勿转载,欢迎各位同学积极分享和交流。

摘要

多摄像头3D感知已经成为自动驾驶中一个重要的研究领域,能够为基于lidar的解决方案提供了可行且经济有效的替代方案。然而现有的多摄像头算法主要依赖于单目图像的预训练,忽视了不同摄像头视角之间的空间和时间相关性。为了解决这个限制,我们提出了第一个多摄像头统一预训练框架,称为Occ-BEV。该框架首先通过重建3D场景作为基础阶段,然后在下游任务上对模型进行微调,具体而言,设计了一个3D解码器,利用多视图图像中的鸟瞰图特征来预测3D几何占用情况,使模型能够更全面地理解3D环境。Occ-BEV的一个重要优势是能够利用大量未标记的图像-LiDAR对进行预训练。在多摄像头3D目标检测和周围语义场景完整性等关键任务上,所提出的多摄像头统一预训练框架显示出良好的结果,与nuScenes数据集上的单目预训练方法相比,Occ-BEV在多摄像头3D目标检测方面的mAP提高了约2.0%,NDS提高了2.0%,周围语义场景完整性方面的mIoU提高了3%。代码开源https://github.com/chaytonmin/Occ-BEV。

主要贡献

为了评估我们方法的有效性,在3D目标检测任务中,所提出的Occ-BEV与单目预训练方法相比,在mAP和NDS方面均取得了显著的改进,分别提高了2.0%。这表明我们的模型更适合在3D环境中准确检测和定位物体。对于语义场景完整性任务,Occ-BEV在mIoU方面取得了约3%的显著改进,表明我们的模型在重建和预测周围环境的语义标签方面更有效。模型的优越性能归功于其能够有效利用未标记数据,并考虑到空间和时间相关性,通过整合多个摄像头视角的信息,我们的模型可以更好地捕捉场景中丰富的上下文和时间信息,从而提高自动驾驶场景中的感知能力。本文的主要贡献如下:

  • 定义了多摄像头统一预训练的任务,并提出了第一个统一预训练框架,该框架首先通过重建3D周围场景作为基础阶段,然后在下游任务上进行微调。

  • 引入了3D几何占用预测作为预文本任务,仅通过多视图图像恢复了3D场景的完整占用分布。

  • 多摄像头预训练方法在学习统一表示方面表现出色,能够有效利用多个摄像头视角和帧的空间和时间信息,在多视图3D目标检测和周围语义场景完整性任务中超越了单目预训练的性能。

主要内容

Occ-BEV的网络架构如图2所示,首先介绍基于视觉的BEV感知方法。然后介绍提出的几何占据预训练方法,并与现有的单目预训练和知识蒸馏方法进行了比较。

201dc19325c23b005e97f35d6e619e43.png

图2:所提出的多摄像头统一预训练方法Occ-BEV的总体架构,首先将多帧大规模非规则LiDAR点云转换为体积表示,作为几何占用标签,然后在BEV编码器中添加一个具有几层3D卷积的占用解码器。将二进制占用分类作为预文本任务,用于区分体素是否包含点云,在预训练之后,轻量级解码器被丢弃,编码器用于预热下游任务的主干网络。

将2D图像转换为3D空间的学习方法主要有两种:基于LSS的视角转换和基于Transformer的视角转换,我们的方法不局限于特定的视角转换方法。这里概述基于鸟瞰图的多摄像头感知算法的工作流程。多摄像头输入图像表示为I = {Ii,i = 1, 2, ..., N},首先通过图像主干网络(例如ResNet-101)进行处理,为每个摄像头视图生成特征图F,然后,将这些特征输入到2D到3D视角转换操作中,将它们投影到统一的鸟瞰图表示中,表示为Fbev ,通过结合特定的任务头,可以在鸟瞰图上完成各种自动驾驶感知任务,包括3D物体检测、地图分割、物体跟踪等。目前的BEV感知算法主要依赖于在单目图像上训练的特征提取模型(例如ImageNet)或深度估计模型(例如V2-99 ),然而,这些方法未考虑来自不同摄像头视图和帧的图像之间的相互作用和相关性,因此,缺乏一个多摄像头统一预训练模型,为了充分利用不同摄像头视图之间的空间和时间关系,我们提出了一个多摄像头统一预训练模型。诸如BEVDepth 和DD3D等方法展示了深度估计对基于视觉的感知算法的重要性,然而,深度估计只能估计物体表面的位置,忽略了物体的遮挡情况,对于多摄像头系统来说,精确的3D占据栅格预测有助于提高感知的准确性。

目前,多摄像头感知算法通常采用在ImageNet上进行单目图像预训练或深度估计预训练的方法。如图1所示,我们提出的多摄像头统一预训练模型相对于单目预训练具有以下几个优势:

(1) 空间-时间整合:通过利用多个摄像头视角的空间和时间信息,模型可以更好地理解环境的动态特性并进行更准确的预测。

(2) 统一表示:统一的预训练方法使模型能够跨不同摄像头视角学习共享的表示,促进更好的知识传递,并减少对任务特定预训练的需求。

(3) 对遮挡区域的感知:单目深度估计只能预测物体表面的位置,而提出的多摄像头统一预训练方法能够对遮挡物体进行整体的3D重建。

79253ffdc4bd64239eff50527dda9aa5.png

图1:单目预训练与我们提出的统一多摄像头预训练的对比,单目预训练仅增强了从单个视角提取特征的能力,而我们提出的多视角统一预训练通过3D场景重建使得能够整合多视角图像的时空信息进行预训练。

实验

在nuScenes数据集上进行了大量实验。我们采用了现有方法DETR3D和BEVFormer(基于Transformer的方法),以及BEVDet、BEVDepth和BEVStereo(基于LSS的方法)的训练设置。对于DETR3D和BEVFormer,将体素大小设置为16×200×200;对于BEVDet、BEVDepth和BEVStereo,将体素大小设置为16×128×128,我们总共进行了24个时期的预训练,占用解码器包括两层3D卷积层,所有实验均使用了8张Nvidia Tesla A40 GPU卡进行。

bf21bc51a2b232d248aea800000110f0.png

首先在nuScenes的验证集上对Occ-BEV进行了评估,如表1所示,我们的多相机统一预训练方法在monocular FCOS3D 上展现了显著的改进,它在NDS上超过了DETR3D,达到了2.7%的增长,在mAP上增长了1.1%,此外,它在NDS上超过了BEVFormer,达到了1.7%的改进,在mAP上增长了2.2%。

427ee09cd9ddaa5817f38c9b0285af1d.png

在图3中展示了BEVFormer的收敛曲线,我们的统一预训练在初始时期显著提升了BEVFormer,NDS增加了4%。这表明我们的统一预训练方法能够从全局角度提供准确的目标位置信息,对于基于LSS的方法BEVDet和BEVDepth,它们在ImageNet上进行了monocular预训练,我们的多相机统一预训练方法在NDS和mAP上分别改进了约2.0%。

383930f04f387e9e6851c8fc2c4e096b.png

为了进一步验证,我们在nuScenes的测试集上进行了额外的实验证明了我们提出的基于三维场景重建的多相机统一预训练方法相较于基于monocular深度估计的预训练方法的有效性。如表2所示,与在DD3D上进行深度估计预训练的DETR3D 相比,我们的多相机统一预训练方法在mAP和NDS上都显著提高了约1.8%。这凸显了我们的预训练方法在提升三维感知任务性能方面的有效性和优越性。以上结果表明,我们提出的Occ-BEV模型在自动驾驶领域具有良好的应用前景。我们还将我们提出的多相机统一预训练方法与知识蒸馏方法BEVDistill 进行了比较。如表5所示,我们的方法表现与基于标注的LiDAR点云数据进行训练的知识蒸馏方法相当,值得注意的是,我们的方法更高效且具有更广泛的适用性,因为它不依赖于数据注释或LiDAR点云模型的训练,而BEVDistill 则依赖于这些。

c95acbed0f68e9b6245f65fb2faa312f.png

图5:三维场景重建的可视化

如图5展示了几个重建的三维场景,可以观察到使用单帧点云作为占据格生成的监督信息会导致不完整的重建,因为LiDAR点云的稀疏性。另一方面,使用三个关键帧及其对应的非关键帧作为监督信息可以更完整地重建三维场景。

局限性:虽然我们的多摄像头统一预训练方法已经展示出了有希望的结果,但还存在几个限制需要考虑:

(1)解码器中的三维卷积限制了其在需要高分辨率占据重建的任务中的适用性。我们将探索级联细化策略。(2)目前,我们依赖于LiDAR来获得真实的占据格数据。未来,我们将探索使用NeRF和MVS算法仅通过多视角图像重建三维场景并获得真实数据。

(3)动态目标可能导致不准确的定位,这可以通过进行四维场景重建来解决。

总结

本文定义了多摄像头统一预训练任务,并提出了第一个统一预训练算法,该算法在多个自动驾驶任务中展现了出色的性能,如多摄像头三维物体检测和周围语义场景完成,通过使用无标签的图像-LiDAR对进行三维场景重建的预训练为减少对标注的三维数据的依赖和建立自动驾驶的基础模型提供了有希望的机会,未来的工作应集中解决上述限制,并进一步提高我们方法在实际自动驾驶场景中的性能和适用性。

资源

自动驾驶及定位相关分享

【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法

自动驾驶中基于光流的运动物体检测

基于语义分割的相机外参标定

综述:用于自动驾驶的全景鱼眼相机的理论模型和感知介绍

高速场景下自动驾驶车辆定位方法综述

Patchwork++:基于点云的快速、稳健的地面分割方法

PaGO-LOAM:基于地面优化的激光雷达里程计

多模态路沿检测与滤波方法

多个激光雷达同时校准、定位和建图的框架

动态的城市环境中杆状物的提取建图与长期定位

非重复型扫描激光雷达的运动畸变矫正

快速紧耦合的稀疏直接雷达-惯性-视觉里程计

基于相机和低分辨率激光雷达的三维车辆检测

用于三维点云语义分割的标注工具和城市数据集

ROS2入门之基本介绍

固态激光雷达和相机系统的自动标定

激光雷达+GPS+IMU+轮速计的传感器融合定位方案

基于稀疏语义视觉特征的道路场景的建图与定位

自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)

用于三维点云语义分割的标注工具和城市数据集

更多文章可查看:点云学习历史文章大汇总

SLAM及AR相关分享

TOF相机原理介绍

TOF飞行时间深度相机介绍

结构化PLP-SLAM:单目、RGB-D和双目相机使用点线面的高效稀疏建图与定位方案

开源又优化的F-LOAM方案:基于优化的SC-F-LOAM

【开源方案共享】ORB-SLAM3开源啦!

【论文速读】AVP-SLAM:自动泊车系统中的语义SLAM

【点云论文速读】StructSLAM:结构化线特征SLAM

SLAM和AR综述

常用的3D深度相机

AR设备单目视觉惯导SLAM算法综述与评价

SLAM综述(4)激光与视觉融合SLAM

Kimera实时重建的语义SLAM系统

SLAM综述(3)-视觉与惯导,视觉与深度学习SLAM

易扩展的SLAM框架-OpenVSLAM

高翔:非结构化道路激光SLAM中的挑战

基于鱼眼相机的SLAM方法介绍

以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除

000a8d9771696ff5d1de40690770949e.png

扫描二维码

                   关注我们

让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入知识星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。

分享与合作方式:微信“cloudpoint9527”(备注:姓名+学校/公司+研究方向) 联系邮箱:dianyunpcl@163.com。

为分享的伙伴们点赞吧!

f810fea508df24b7f0072e78d0b2c33d.gif

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ORA-01400错误是指尝试向一个非空列插入NULL值时出现的错误。根据引用[2],错误消息提示了具体的列名("GREE"."OCC_CMPT_BILL_MAP_RULE"."ID"),即在插入数据时,试图将NULL值插入到该列中,而该列被设置为非空。 根据引用,可以看到在创建表时,列"ID"被定义为NOT NULL,这意味着它不能接受NULL值。因此,当试图将NULL值插入到该列时,会产生ORA-01400错误。 要解决这个问题,您需要确保在插入数据时不要向"ID"列插入NULL值,或者修改表结构使该列接受NULL值。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [GoldenGate OGG-01004 ORA-01400 Cannot insert null into ...](https://blog.csdn.net/congsong2560/article/details/100422700)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [ORA-01400: cannot insert NULL into](https://blog.csdn.net/hezuijiudexiaobai/article/details/124709254)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

点云PCL公众号博客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值