当前位置:   article > 正文

介绍五种可用于RGBD的SLAM建图算法:_rgbdslam算法

rgbdslam算法

本文介绍五种可用于RGBD的建图算法:

  1. Bundle fusion
  2. InfiniTAM
  3. RGBD SLAM2
  4. RTAB-Map
  5. ORB-SLAM3

Bundle Fusion

优点:

1.重建效果在所有RGB-D SLAM中靠前.

2.使用持续的local to global分层优化,去除了时域跟踪的依赖。

3.不需要任何显示的loop closure检测。因为每一帧都和历史帧相关,所以其实包含了持续的隐式的loop closure。

4.支持在GPU上实时鲁棒跟踪,可以在跟踪失败时移动到重建成功的地方进行relocalization,匹配上后继续跟踪。

缺点

1.由于成像传感器存在噪音,稀疏关键点匹配可能产生小的局部误匹配。这些误匹配可能会在全局优化中传播,导致误差累积。

2.上述效果图片都是在作者提供的公开数据集上的效果,该数据集采集的场景纹理比较丰富,光照也比较适中。而实际重建时效果和所使用深度相机的性能、待重建场景的纹理丰富程度关系很大。对于办公室这种简洁风格的场景效果会下降很多,还有很多可改进的地方。

3.目前算法需要两块GPU才能实时运行。

4.缺乏Linux下的环境实现方案。

实际建图效果:4:40-5:55

BundleFusion: Real-time Globally Consistent 3D Reconstruction using On-the-fly Surface Reintegration - YouTube

项目官网

BundleFusion

论文

https://arxiv.org/pdf/1604.01093.pdf

代码

https://github.com/niessner/BundleFusion

InfiniTAM

官网

InfiniTAM v3

代码

https://github.com/victorprad/InfiniTAM

优点

1.提供Linux,iOS,Android平台版本

2.CPU可以实时重建

缺点

loop closure 不是很稳定,loop closure后经常无法消除累计漂移

没有提供带color的重建结果,需要自己写

建图效果:

InfiniTAM_哔哩哔哩_bilibili

安装教程:

InfiniTAM项目配置(Ubuntu下) - 简书 (jianshu.com)

RGBD SLAM2

优点:

       RGBD SLAM2(见rgbdslam-ROS Wiki和视觉SLAM实战)是一个非常全面的系统,将SLAM领域的图像特征、优化、闭环检测、点云、octomap等技术融为一体,非常适合RGBD SLAM初学者,也可以在其基础上继续开发。

缺点

由于要提特征(SIFT很费时)、渲染点云,导致算法实时性不太好。有时你会发现它卡在那儿不动了,不得不等它一小会。机器人如果走的太快,很容易跟丢。一旦转头快了,轨迹基本就断掉了。此外,程序采集关键帧的频率很高,稍微一会就采出几十个帧,不太适合做长时间的SLAM。

RGBD_SLAMv2实际建图效果展示:

RGBDSLAMv2 test - YouTube

安装教程:

一起做RGB-D SLAM - 创客智造 (ncnynl.com)

RTAB-Map

RTAB-Map( Real-Time Appearance-Based Mapping)用于基于外观的实时建图, 是一个通过内存管理方法实现回环检测的开源库。它限制地图的大小以使得回环检测始终在固定的时间限制内处理,从而满足长期和大规模环境在线建图要求。目前RTAB-Map已经发展成为一个跨平台的独立C ++库和一个ROS包,允许用户使用不同的机器人和传感器实现和比较各种3D和2D对于各种应用的解决方案。

1、RTAB-Map 整体描述

 

RTAB-Map ROS节点的框图。

所需输入是:TF,用于定义传感器相对于机器人底座的位置; 来自任何来源的里程计(可以是3DoF或6DoF); 其中一种相机输入(一个或多个RGB-D图像,或双目立体图像),且带有相应的校准消息。

可选输入:2D激光的雷达扫描,或3D激光的点云。

输入的所有消息被同步并传递给graph-SLAM算法。

输出的是:Map Data,包含最新添加的节点(带有压缩传感器数据)和Graph; Map Graph,没有任何数据的纯图;TF,矫正过的里程计; 可选的OctoMap(3D占用栅格地图); 可选的稠密点云地图; 可选的2D占用栅格地图。

优点

定位精度很准,支持视觉、激光传感器,支持跨平台、ROS,在线处理

缺点

鲁棒性不是很好,如果建图时间和重定位时间间隔得比较久,或者光线变化都很明显的话,重定位会失败

点云网格化用possion重建,不是主流的TSDF,速度会慢

重建效果不如 bundle fusion,但是也还不错

局部地图:

 

STM的局部占用栅格地图创建。

依赖的参数(由椭圆显示),可选用激光扫描和点云输入(由棱形显示),局部占用栅格地图可以是2D或3D。

建图效果:

realsenese D435i_Stereo双目三维重建RTAB-Map_哔哩哔哩_bilibili

官网

RTAB-Map | Real-Time Appearance-Based Mapping

代码

https://github.com/introlab/rtabmap

ORB-SLAM3

ORB-SLAM3是一个支持视觉、视觉加惯导、混合地图的SLAM系统,可以在单目,双目和RGB-D相机上利用针孔或者鱼眼模型运行。

他是第一个基于特征的紧耦合的VIO系统,仅依赖于最大后验估计(包括IMU在初始化时)。这样一个系统的效果就是:不管是在大场景还是小场景,室内还是室外都能鲁棒实时的运行,在精度上相比于上一版显著提升。

第二个创新点是根据改进recall的新的重定位模块来构建的混合地图,因为这个模块他可以让ORB-SLAM3在特征不是很好的场景中长期运行:当视觉里程计失败的时候,系统会重新构建地图并将这个地图和原来构建的地图对齐。和那些仅利用最新的几帧数据的里程计相比,ORB-SLAM3是第一个能够在所有算法阶段重用所有先前信息的系统。这样的机制就可以在BA的时候用有共视关系的关键帧,即使两帧在时间相差很远,或者来自原来的建图过程。

这个系统在EuRoC数据集上达到了平均3.6cm的精度,在TUM-VI这种利用手持设备快速移动的数据集(AR/VR场景)上达到了9mm的精度。

运行效果

[高清 720P] ORB-SLAM3_P1_1.ORB-SLAM3- TUM-VI Stereo-Inertial, room1+magistrale1+ma_哔哩哔哩_bilibili

Ubuntu安装教程

(9条消息) 在Ubuntu上安装ORBSLAM3与运行RGBD-TUM数据集_威少少熬夜的博客-CSDN博客_orbslam3运行rgbd

代码:

UZ-SLAMLab/ORB_SLAM3: ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAM (github.com)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/657238
推荐阅读
  

闽ICP备14008679号