首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >PLVS:一种具有点、线、栅格建图和3D增量分割的SLAM系统

PLVS:一种具有点、线、栅格建图和3D增量分割的SLAM系统

作者头像
点云PCL博主
发布2023-10-07 11:39:35
发布2023-10-07 11:39:35
1.6K0
举报
文章被收录于专栏:点云PCL点云PCL

文章:PLVS: A SLAM System with Points, Lines, Volumetric Mapping, and 3D Incremental Segmentation

作者: Luigi Freda

编辑:点云PCL

代码:https://github.com/luigifreda/plvs.git

摘要

本文介绍了PLVS:一种稀疏、栅格建图和3D无监督增量分割的实时SLAM系统。PLVS代表Points(点)、Lines(线)、Volumetric mapping(栅格建图)和Segmentation(分割)。它支持RGB-D和双目摄像头,可以选择搭配IMU。SLAM模块是基于关键帧的提取和跟踪稀疏点和线段作为特征。栅格建图与SLAM前端并行运行,通过融合从关键帧反投影的点云生成探索环境的3D重建。PLVS集成了不同的栅格建图方法。我们使用一种新颖的重投影误差来进行线段的捆集调整。这个误差利用可用的深度信息来稳定线段端点的位置估计。PLVS框架中实现并集成了用于RGBD相机的增量和几何分割方法。我们对PLVS框架在一些公开可用的数据集上进行了定性和定量评估,并且该软件是开源的。

图1. 三维重建的三个方面 (a) 线段 (b) 点云 (c) 分割点云。为简单起见,我们没有显示点特征。 栅格地图是通过使用1cm分辨率的八叉树模型获得的。

主要贡献

PLVS方案的目标是创建一个强大而灵活的SLAM框架,可以可靠地在小型机器人平台上运行,并生成周围环境的一致稠密地图。目标传感器是RGBD和双目摄像头,可以选择搭配IMU设备。以下是PLVS的主要贡献:

  • PLVS是一个开源框架,它(i)同时利用关键点和关键线进行相机跟踪和稀疏建图, (ii)集成了不同的栅格建图方法:特别是八叉树、八叉树地图以及带有截断有符号距离场(TSDFs)和网格的空间散列体素。
  • 它被设计用于RGB-D和双目摄像头,无论是否搭配IMU设备。
  • 该框架实现了一种新颖的线段重投影误差,这个误差利用可用的深度信息来稳定线段端点的位置估计。此外,它是通用的,可以用于RGB-D和双目相机系统。
  • 它提供了一种逐步分割体积图的方法,这种方法基于几何,是无监督的。目前它只适用于RGBD相机,并利用SLAM生成的线段信息。
  • 该系统完全在CPU上运行。可选关键点提取可以移至GPU以减轻计算负载。

PLVS是一个模块化和多功能的系统。其不同功能被组织成可以由用户以不同方式启用/禁用和配置的分区。这允许在地图精度/分辨率与CPU负载之间进行精细权衡,并将框架的功能适应到手头的系统。图1-2显示了使用PLVS实时构建地图的详细信息。开源代码在github.com/luigifreda/plvs。

图2. 三维重建的细节 (a) 线段 (b) 法线 (c) 点云 (d) 分割点云。

内容概述

PLVS系统可以分为两个主要组件:(i) 稀疏SLAM和(ii)栅格建图(Volumetric Mapping,VOMA)。

我们构建了基于ORB-SLAM的稀疏SLAM子系统,它是基于关键帧的。它检测、跟踪和地图点和线段作为稀疏特征。PLVS使用稀疏SLAM来准确定位相机并选择相关的关键帧。实际上,PLVS有两个不同的版本:第一个版本,PLVS I,基于ORB-SLAM2,而最新版本PLVS II,基于ORB-SLAM3,并支持配备IMU的相机系统。

VOMA在一个并行线程中运行,并使用SLAM关键帧、它们估计的相机位置和反投影的点云来构建探测环境的三维重建。系统中集成了不同的方法,以融合关键帧点云。针对RGB-D相机,VOMA实施了一个增量的三维分割方法。事实上,平行构建了两种类型的地图:

  • 稀疏地图Ms = (K, P, L),它是稀疏SLAM的输出,包括关键帧集K和分别表示在关键帧K中提取和匹配的特征的3D点集P和3D线段集L;
  • 栅格地图Mv,它由VOMA构建,是通过从关键帧K反投影的点云的“集成”结果,为了保持两个地图之间的一致性,只要SLAM地图或其底层的位姿图经历全局优化(例如检测到环路闭合时),就会重新构建栅格地图。

PLVS框架完全在CPU上运行,旨在移植到小型移动机器人上(这些机器人不一定具备高级GPU功能)。它是模块化的,这意味着用户可以通过启用/禁用和配置其不同部分的方式来微调地图的精度/分辨率与CPU负载,并使框架适应自己的系统。

实验

我们成功地使用不同的传感器(Asus Xtion Pro、ZED立体相机、Intel Realsense等)在实时环境中测试了PLVS框架,以证明其多功能性。图6显示了一个使用配备了Realsense R200的追踪机器人获得的栅格地图(自定义八叉树方法)。

图6,配备Realsense R200的机器人和构建的栅格地图(基于八叉树模型)

图8显示了我们使用手持式Asus Xtion Pro实时获得的实验室的3D重建和分割结果。

图8,在大型办公环境中执行的分割

总结

本文介绍了PLVS,这是一个模块化且多功能的系统,展示了基于特征的SLAM系统的跟踪“灵活性”,并且能够仅依赖CPU生成密集的栅格地图,可用的不同方法包括:八叉树、Octomap以及带有TSDFs和网格的空间散列的体积像素。系统的不同功能模块可以由用户以不同方式启用/禁用和配置。这允许用户在地图精度/分辨率与CPU负载之间进行精细的权衡,并使框架能够适应手头的系统。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-10-04 08:11,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档