OCC-VO:生成面向自动驾驶的基于3D占用栅格的视觉里程计稠密地图

2023-10-25 11:34:32 浏览数 (2)

代码:https://github.com/USTCLH/OCC-VO.git (coming soon)

摘要

视觉里程计(VO)在自主系统中起着至关重要的作用,其中一个主要挑战是相机图像中缺乏深度信息。本文介绍了OCC-VO,这是一个新颖的框架,充分利用了深度学习的最新进展,将2D相机图像转化为3D语义占用,从而避免了传统需要同时估计自我位姿和地标位置的需求。在这个框架内,我们利用TPV-Former将环视相机的图像转化为3D语义占用。为了解决这种转化带来的挑战,我们专门定制了一种姿态估计和地图算法,其中包括语义标签滤波器、动态对象滤波器,最后利用体素PFilter来维护一致的全局语义地图。对Occ3DnuScenes数据集的评估不仅展示了与ORB-SLAM3相比成功率提高了20.6%、轨迹准确性提高了29.6%的成果,还强调了我们构建综合地图的能力。开源地址:

https://github.com/USTCLH/OCC-VO 。

主要贡献

在这项工作中,作者设计和开发了OCC-VO,这是一个以环视相机图像为输入并输出密集语义地图的框架,有助于增强场景理解,进而用于感知和导航等下游任务。在这个框架内,我们使用开源的3D语义占用预测模块TPV-Former,将环视相机图像转化为3D语义占用栅格。为了解决配准问题,我们设计了一种专为3D语义占用量身定制的位姿估计和地图算法。具体来说,我们从常用于激光雷达SLAM的GICP算法作为基线。该算法依赖于特征匹配和迭代优化,用于对齐点云。鉴于从图像转换而来的3D语义占用的独特特征,在配准过程中引入了语义约束,类似于ColorICP。这些语义约束在几何结构可能相似但语义不同的情况下非常有效,例如在自动驾驶场景中的道路表面。此外,在地图创建阶段,我们利用PFilter中的想法来消除不可靠的点,构建一个更稳健的全局语义地图。最终的结果是经过精心调整的姿态估计和高度准确的地图,如图1所示。

图1。我们的方法将环视相机图像序列转化为轨迹和全局语义地图。这种转化可以增强在具有挑战性的环境中进行下游任务的场景理解。

对方法的评估是使用Occ3D-nuScenes数据集进行的,这是nuScenes数据集的扩展,增加了体素标签。我们特别关注在2Hz采集的6个环视相机的训练和验证集。数据集中涵盖了不同国家、不同光照条件、不同天气条件和不同环境的多样化情景,使我们能够全面评估OCC-VO。与传统的视觉SLAM算法相比,我们的方法在自动驾驶场景中表现出更高的准确性和稳健性,尤其是在与ORB-SLAM3进行比较时,该方法的成功率提高了20.6%,轨迹准确性大幅提升,将绝对姿态误差降低了29.6%。此外,我们评估了地图的完整性和精度,证明了它对下游任务的潜在支持。虽然OCC-VO具有这些优势,但它需要环视相机的存在,会增加更多的计算成本和延迟。因此,在某些情况下,与其他轻量级解决方案相比,它可能不是更好的选择。本文的主要贡献如下:

  • 据我们所知,我们设计和开发了OCC-VO,这是第一个将3D语义占用与VO集成的框架。这种组合纠正了图像中缺乏深度信息的缺点,使我们能够创建密集和全面的地图,有助于在复杂环境中增强场景理解,用于下游任务。
  • 我们专门为提出的框架设计了一个姿态估计和地图模块,用于解决3D语义占用的固有限制,如由于大分辨率引起的推理错误和不确定性。在这个框架下,这使我们能够实现准确和稳健的姿态估计以及稠密地图。
  • 通过轨迹评估、消融研究和地图评估,我们的方法在复杂环境中展示了其在准确性和稳健性方面的卓越性能,即使在低频输入情况下。

内容概述

系统概述

正如图2所示,同时由环视相机捕获的6幅图像首先通过TPV-Former转化为3D语义占用图,生成的3D语义占用图被视为点云,并通过它和全局语义地图之间的配准来估算每帧的位姿。具体来说,我们两次使用GICP算法。首先,建立点之间的粗略对应关系。随后,我们使用Semantic Label Filter和Dynamic Object Filter来丢弃错误的匹配,从而提高第二次应用GICP的准确性。一旦确定了精确的位姿,我们利用Voxel PFilter将数据帧合并到全局语义地图中,以修正TPV-Former对全局一致性的地图推断中的错误。

图 2. 本文提出的 OCC-VO 的流程

语义标签过滤器

在自动驾驶场景中,动态车辆和行人会显著影响配准的准确性。一个简单的方法是使用语义标签来消除潜在移动对象的占用,如各种类型的车辆和人类。我们将这种方法称为基于标签的对象过滤。然而,不加选择地消除这些潜在的动态对象并不总是有利于位姿估计。具体来说,静止物体通常为配准提供了有效的约束,而它们的去除可能会导致场景恶化。当这些对象是大型车辆,如工程车辆或公交车时,问题会变得更为严重,因为它们占据了相机视野的大部分。

动态对象过滤器

在自动驾驶场景中,动态车辆和行人会显著影响配准的准确性。一个简单的方法是使用语义标签来消除潜在移动对象的占用,如各种类型的车辆和人类。我们将这种方法称为基于标签的对象过滤。然而,不加选择地消除这些潜在的动态对象并不总是有利于位姿估计。具体来说,静止物体通常为配准提供了有效的约束,而它们的去除可能会导致场景恶化。当这些对象是大型车辆,如工程车辆或公交车时,问题会变得更为严重,因为它们占据了相机视野的大部分。

Voxel PFilter

考虑到在相邻帧之间,对同一对象或表面的3D语义占用可能具有不一致的网格表示,这在这个领域是很常见的。因此,我们建议在配准过程中引入Voxel PFilter,将3D语义占用中更可靠的点合并到全局语义地图中。这一修改旨在维护地图的全局一致性并校正由网络干扰引起的噪音。

实验

使用 Occ3D-nuScenes 数据集评估了 OCC-VO,并将其性能与传统方法,即 ORB-SLAM3 和基于学习的方法,即 DROID-SLAM 进行了对比。然后进行了消融研究,以突出我们的方法的效力。此外还阐明了 OCC-VO 在自动驾驶场景中能够熟练构建全面和准确的3D语义地图。最后进行了执行时间分析,展示了我们的算法的实时性能。

表格 I 展示了我们的实验结果。很明显,OCC-VO 实现了更高的成功率和减少了 APE。具体而言,OCC-VO 的成功率为 99.3%,APE 的 RMSE 为 0.140 米。与 ORB-SLAM3 相比,这表示成功率提高了 20.6%,轨迹准确性提高了 29.6%。

消融研究的结果如表 II 所示,不同过滤器组合的实验表现出不同程度的成功率和准确性。

如表III所示,我们展示了算法的定性视觉结果,这些视觉呈现显示出我们的算法能够准确重建许多静态语义细节,如植被、可通行道路和屏障。

图5: 将我们估算的轨迹与地面真值轨迹进行比较,涵盖了5个数据集。

表V展示了详细的执行时间分析,3D语义占有预测网络消耗了5401MB的GPU内存,并需要267毫秒进行一次推断。

总结

这项工作引入了OCC-VO,这是一种新颖的VO框架,利用了3D语义占用栅格,使其与传统的视觉SLAM有所不同。通过使用设计的滤波器,这一创新不仅有助于生成更稠密的地图,还能在自动驾驶场景中产生更准确的轨迹。我们在Occ3D-nuScenes数据集上的实验证明了OCC-VO在自动驾驶场景中的准确性和稳健性优势。在未来的工作中,我们打算将环路闭合检测等模块整合到OCC-VO中,将其发展成为一个SLAM系统。

资源

自动驾驶及定位相关分享

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ROS2入门之基本介绍

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

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

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

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

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

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

SLAM及AR相关分享

TOF相机原理介绍

TOF飞行时间深度相机介绍

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

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

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

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

SLAM和AR综述

常用的3D深度相机

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

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

Kimera实时重建的语义SLAM系统

易扩展的SLAM框架-OpenVSLAM

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

0 人点赞