文章:PLVS: A SLAM System with Points, Lines, Volumetric Mapping, and 3D Incremental Segmentation
作者: Luigi Freda
编辑:点云PCL
代码:https://github.com/luigifreda/plvs.git
欢迎各位加入知识星球,获取PDF论文,欢迎转发朋友圈。文章仅做学术分享,如有侵权联系删文。
公众号致力于点云处理,SLAM,三维视觉,高精地图等领域相关内容的干货分享,欢迎各位加入,有兴趣的可联系dianyunpcl@163.com。侵权或转载联系微信cloudpoint9527。
摘要
本文介绍了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负载之间进行精细的权衡,并使框架能够适应手头的系统。
资源
自动驾驶及定位相关分享
【点云论文速读】基于激光雷达的里程计及3D点云地图中的定位方法
自动驾驶中基于激光雷达的车辆道路和人行道实时检测(代码开源)
更多文章可查看:点云学习历史文章大汇总
SLAM及AR相关分享
结构化PLP-SLAM:单目、RGB-D和双目相机使用点线面的高效稀疏建图与定位方案
以上内容如有错误请留言评论,欢迎指正交流。如有侵权,请联系删除
扫描二维码
关注我们
让我们一起分享一起学习吧!期待有想法,乐于分享的小伙伴加入知识星球注入爱分享的新鲜活力。分享的主题包含但不限于三维视觉,点云,高精地图,自动驾驶,以及机器人等相关的领域。
分享与合作方式:微信“cloudpoint9527”(备注:姓名+学校/公司+研究方向) 联系邮箱:dianyunpcl@163.com。
为分享的伙伴们点赞吧!