开源SLAM方案选型:
数据集:
一、ORB-SLAM2
检测流程:Kinect生成地图【地图主要可见的有关键帧(包括相机的pose,相机的内参,ORB特征),3D的地图点( 空间中3D位置,法线方向,ORB的描述子),词袋向量,共视图等】 → 保存地图 → 加载地图和重定位
【自我备注:1、保存稀疏地图的MapPoint和KeyFrame成.bin格式 ;2、如果保存成pcd格式,那么关键帧与关键点之间的关系没有办法保存。。。即pcd保存的地图信息并不完整】
二、VINS MONO
三、ORB_SLAM2、VI ORB SLAM2 、 VINS Mono对比实验
3、VI ORB 与 VINS Mono 对比(关闭闭环)

由表可以看出:
VINS Mono 对闭环依赖较大,在关闭闭环后,VINS Mono 的性能下降较多。
4、实验小结
1)在没有闭环情况下,VINS Mono 精度略低于 VIORB;而在有闭环情况下,二者精度差距不大。
2)由于开源 VIORB 版本并非官方实现,与官方版本有很多不同之处,没有办法测试真实官方 VIORB 的性能;但基本可以看出对于VI ORB SLAM2 框架,IMU 的引入主要是在快速运动时能够减少一些丢失,而精度上与 VO 相近或略有下降;
3)以光流作为前端的 VINS Mono 比描述子作为前端的 VIORB 具有更好的鲁棒性,在快速运动时更不容易丢失。因此在类似于无人机这样的场景,VINS 应该是比 VIORB 更好的选择;而对于精度要求较高、场景更大而运动较慢的场景,VIORB /ORB仍然更合适;
4)不论是否引入 IMU,双目对于精度和鲁棒性都会有一定的提升,VINS Fusion相比于vins mono,性能有所提升; {精度——慢速,双目;鲁棒——快速}
5)除前端差别较大外(比如光流与ORB、滑窗与局部地图),虽然都是预积分,二者后端算法与实现亦有较大不同(李代数与四元数参数化不同、积分方式不同、g2o与ceres实现差别等),因此造成性能差异的原因较复杂。
5、 VI ORB-SLAM初始化与VINS初始化对比(将vi orb-slam初始化方法移植到vins中)
四、VIO:飞行机器人单目VIO算法测评
- 全面的比较了各种公开的单目VIO算法(MSCKF、OKVIS、ROVIO、VINS-Mono、SVO+MSF和SVO+GTSAM);
- 在多个嵌入式平台上(Laptop,Intel NUC,UP Board,ODROID)测试了各种单目VIO算法,并分析了算法的表现;
3.选用EuRoC MAV数据集。
结论:SVO+MSF是计算效率最高的算法,而VINS-Mono是状态估计精度最高的算法,ROVIO则处于两者之间
五、VINS FUSION
六、RTAB-MAP
七、RGBD-SLAM V2
八、RTAB-MAP和RGBD-SLAM V2的对比
九、RTAB-MAP和ORB-SLAM的对比
十、SLAM算法对比:
一:视觉和IMU前端数据处理
对于视觉前端做法基本分为三种:
①特征点提取(feature detection)+根据描述子匹配特征点
orbslam, okvis
优点:因为有描述子,因此对地图的维护很方便(包括重定位,闭环,全局优化)
尤其是对室内环境,当视觉上共视关系较多的时候,这种方法能很大提高定位精度和局部的稳定性。室内移动机器人建议使用这种方法
缺点:每帧图像都要提取特征点数量的描述子,浪费时间;在tracking过程中,如果运动过快(图像出现模糊)比较容易tracking failed,而光流要好一些
对于IMU前端:
IMU前端基本都是使用预积分的方式,和积分的区别(预积分把重力考虑进去了)。imu预积分主要是在两帧图像之间更新imu的5个状态变量(p, v, q, ba, bg)的Jacobian和covariance。
PS:为了使得非线性优化中,不用每次改变位姿后,积分需要重新计算的问题。
现在改变位姿(速度,位移,旋转四元数关于世界坐标系的),预积分内的项保持不变。
改变ba,bg(加速度和陀螺仪偏移)后,预积分的项可以通过泰勒一阶展开来进行更新。
jacobian是单位矩阵,主要是为了求一阶近似的p, v,q;covariance是零矩阵,主要是为了求imu误差项的权重
IMU初值确定:一般结合vins mono 等的视觉信息来求
二:后端优化
滤波:不需要做边缘化,重定位难。因为不需要迭代,速度略快。
优化:需要边缘化(比较耗时间),重定位容易。迭代优化,速度略慢。
VINS-Mono与OKVIS类似,是基于非线性优化器优化一个滑窗内的关键帧,帧间通过鲁棒的角点关联。在系统初始化阶段,通过松耦合的方式融合多种传感器;在重定位阶段,则通过紧耦合的方式融合传感器。在优化之前,也通过IMU预积分减少计算量。除此至外,VINS还提供了基于4DoF的位姿图优化和回环检测。
十一、实体测试

十二、方案选型(个人观点,不喜勿喷)
通过上述调研,出于资源等的考虑,初步将ORB_SLAM2、 VINS FUSION、RTAB MAP 和LSD SLAM列入后期调研中,拟再花两周进行相机选型和实体场景测试,先给出现阶段调研结果,希望大家相互学习,共同进步!
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/202952.html原文链接:https://javaforall.net
