赞
踩
本文介绍五种可用于RGBD的建图算法:
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
项目官网
论文
https://arxiv.org/pdf/1604.01093.pdf
代码
https://github.com/niessner/BundleFusion
官网
代码
https://github.com/victorprad/InfiniTAM
优点:
1.提供Linux,iOS,Android平台版本
2.CPU可以实时重建
缺点:
loop closure 不是很稳定,loop closure后经常无法消除累计漂移
没有提供带color的重建结果,需要自己写
建图效果:
安装教程:
InfiniTAM项目配置(Ubuntu下) - 简书 (jianshu.com)
RGBD SLAM2
优点:
RGBD SLAM2(见rgbdslam-ROS Wiki和视觉SLAM实战)是一个非常全面的系统,将SLAM领域的图像特征、优化、闭环检测、点云、octomap等技术融为一体,非常适合RGBD SLAM初学者,也可以在其基础上继续开发。
缺点:
由于要提特征(SIFT很费时)、渲染点云,导致算法实时性不太好。有时你会发现它卡在那儿不动了,不得不等它一小会。机器人如果走的太快,很容易跟丢。一旦转头快了,轨迹基本就断掉了。此外,程序采集关键帧的频率很高,稍微一会就采出几十个帧,不太适合做长时间的SLAM。
RGBD_SLAMv2实际建图效果展示:
安装教程:
一起做RGB-D SLAM - 创客智造 (ncnynl.com)
RTAB-Map( Real-Time Appearance-Based Mapping)用于基于外观的实时建图, 是一个通过内存管理方法实现回环检测的开源库。它限制地图的大小以使得回环检测始终在固定的时间限制内处理,从而满足长期和大规模环境在线建图要求。目前RTAB-Map已经发展成为一个跨平台的独立C ++库和一个ROS包,允许用户使用不同的机器人和传感器实现和比较各种3D和2D对于各种应用的解决方案。
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
代码:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。