多种视觉SLAM方案对比

多种视觉SLAM方案对比在 SLAM 研究中 我们通常需要在各数据集上测试各个方案的性能情况 如下主要对表 1 中 6 个视觉 SLAM 方案进行相关测试 测试其在不同场景 要求下的精度和鲁棒性 并给出最终方案选型 由于时间 场地等原因 多次引用大神们测试结果 谢谢前人的分享 开源 SLAM 方案选型 数据集 一 ORB SLAM2 检测流程 Kinect 生成地图 地图主要可见的有关键帧 包括相机的 p

开源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算法测评

  1. 全面的比较了各种公开的单目VIO算法(MSCKF、OKVIS、ROVIO、VINS-Mono、SVO+MSF和SVO+GTSAM);
  2. 在多个嵌入式平台上(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

(0)
上一篇 2026年3月19日 下午10:56
下一篇 2026年3月19日 下午10:56


相关推荐

  • 电商网站详情页系统架构图_连连跨境电商

    电商网站详情页系统架构图_连连跨境电商电商网站的商品详情页系统架构小型电商网站的商品详情页系统架构小型电商网站的页面展示采用页面全量静态化的思想。数据库中存放了所有的商品信息,页面静态化系统,将数据填充进静态模板中,形成静态化页面,推入Nginx服务器。用户浏览网站页面时,取用一个已经静态化好的html页面,直接返回回去,不涉及任何的业务逻辑处理。下面是页面模板的简单Demo。<html>&…

    2022年10月1日
    5
  • 路由技术——OSPF

    路由技术——OSPF基础理论部分 邻居关系建立 1 OSPF 报文类型以及每一种报文的作用 提示 hello 作用有 4 个 答 OSPF 报文一共有 5 种 1 gt Hello 作用 1 发现邻居 2 维护邻居关系 3 选举 DR BDR4 保证邻居的双向通信 2 gt DBD Databasedesc 1 选举 DR BDR2 交互数据库摘要信息 3 gt LSR LSARequest 向对方请求对方有 本地没有的 LSA 信息 4 gt LSU LSAUpdate 给邻居发送 LSA 信

    2026年3月19日
    2
  • linux系统平均负载参数_变压器平均负载率怎么计算

    linux系统平均负载参数_变压器平均负载率怎么计算定义平均负载,表示当前正在运行的线程加上等待运行的线程的数量。##8.70表示过去1分钟的平均负载,7.33表示过去5分钟的平均负载,6.29表示过去15分钟的平均负载top-10:01:07up83days,23min,1user,loadaverage:8.70,7.33,6.29分析对于一个良好的系统,平均负载应该小于CPU核心数,这意味着所有的任务都可以被及时处理,而不需要等待,反之说明任务过多,无法及时响应,长期处于这样的状态,机器存在性能问题。

    2025年11月7日
    4
  • BoundsChecker使用说明(代码调试)

    目录….1一、BoundsChecker简介….2二、安装环境….2三、BoundsChecker两种工作模式….3      3.1ActiveCheck..3      3.2FinalCheck..3四、特性和优点….5五、检测示例….65.1内存泄漏检测示例….65.2野指针检测示

    2022年4月17日
    42
  • Delete OutputFiles folder file

    Delete OutputFiles folder file

    2021年8月10日
    63
  • nginx开源_NGINX反向代理

    nginx开源_NGINX反向代理Nginx源码分析-初探Nginx的架构 Nginx源码分析-基础数据结构篇-内存池ngx_palloc.c Nginx源码分析-基础数据结构篇-数组结构ngx_array.c Nginx源码分析-基础数据结构篇-缓冲区结构ngx_buf.c Nginx源码分析-基础数据结构篇-双向链表结构ngx_queue.c Nginx源码分析……

    2022年8月13日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号