VI-SLAM系统对比

3 篇文章 1 订阅

任何类型的相机对运动物体,视线遮挡,光照剧烈变化等恶劣情况下都不够鲁棒,而惯性测量单元(IMU)对环境基本没有要求,并且IMU可以提供高频的位姿估计,视觉一般只能提供低频的位姿。依据视觉与IMU的特点,视觉与IMU融合的SLAM系统逐渐受到广泛关注,已成为SLAM系统的研究热点。视觉与IMU融合的SLAM系统,称之为VI-SLAM系统,本博客针对目前主流的VI-SLAM进行对比。

一、单目VI-SLAM系统

1、ORB-SLAM2

(1)系统流程

在这里插入图片描述

(2)主要模块
  • 前端:系统特征提取、相机的位姿预测或重定位、判断新的关键帧等跟踪部分
  • 后端:局部建图、回环检测以及全局BA模块,此处的局部地图是主要负责关键帧的插入,以及对临近地图点进行处理以生成新的地图点,随后使用局部捆集调整(LocalBA)对新生成的地图点进行优化,最后再选择和删除部分关键帧,并将其输入到下一个模块
  • 回环检测:处理和优化从局部建图模块中输入的关键帧,该模块分别采用词袋模型和Sim3算法进行回环检测和相似变换,最后用全局优化对地图进行更新
(3)优点
  • 采用三线程结构,有非常好的跟踪和建图效果,能够保证轨迹与地图的全局一致性。
  • 对特征点提取及匹配方案进行优化,如提取均匀分布特征点、循环优化减少Outlier,这使得ORB-SLAM的鲁棒性很高;
  • 受车辆、行人等动态物体的影响大。
(4)缺点
  • 基于特征点,每次跟踪位姿都要提取匹配特征点,较为耗时
  • 系统较为精细庞大,三线程结构对搭载平台要求较高,目前多在PC运行
  • 只能建稀疏特征点地图,无法提供导航避障功能,只能提供定位

2、LSD-SLAM

(1)系统流程

在这里插入图片描述

(2)主要模块:
  • 前端跟踪:用之前一帧的位姿作为初始值,直接法求解跟踪获得每一新帧相对于当前关键帧的se(3);
  • 深度图估计:如果新帧跟关键帧变化较小,就通过small-baseline stereo comparison方法更新- 关键帧深度图;若变化较大就创建新关键帧,此新关键帧通过与最近的关键帧匹配来初始化。
  • 地图优化:跟踪两两邻近关键帧间的sim(3),作为下一步全局优化的edge;位姿图优化+闭环检测(用特征点的词袋方法)+尺度漂移检测
(3)优点:
  • 可在 CPU 上实现半稠密场景的重建;
  • 考虑了像素梯度与直接法的关系,以及像素梯度与极线方向在深度估计中的角度关系;使深度估计精度有了较大提高;
  • 用sim3作全局优化,可以减小尺度漂移,并可实现尺度可视化。
(4)缺点:
  • 对相机内参和曝光非常敏感,并且在相机快速运动时容易丢失。
  • 回环检测时还是得用特征点,不是单纯的直接法SLAM。

3、SVO

(1)系统流程

在这里插入图片描述

(2)主要模块:
  • 前端跟踪:和上一帧通过光流法跟踪,求位姿初始值,然后通过局部地图在图像上的投影用直接法优化位姿;通过平移量判断是否创建新关键帧,创建关键帧后均匀提取新特征点;
  • 深度滤波(地图优化):每次跟踪完后,获得帧间位姿,然后三角化获得点云深度,然后基于均值——高斯滤波器对逆深度进行融合,以优化地图。
(3)优点:
  • 特征点与直接法的混合使用,使得它速度极快,在低端计算平台上也能达到实时性,而在 PC 平台上则可以达到 100 多帧每秒的速度;
    框架简单,迁移容易。
(4)缺点:
  • 在单目初始化时,使用了分解 H 矩阵而不是传统的 F 或 E 矩阵的方式,这需要假设特征点位于平面上;
  • 目标应用平台为无人机的俯视相机,细节是围绕这个应用设计的,使得它在平视相机中表现不佳:如在关键帧选择时,使用了平移量作为确定新的关键帧的策略,而没有考虑旋转量;
  • 为了速度和轻量化,舍弃了后端优化和回环检测部分,也基本没有建图功能。

二、双目/RGB-D VSLAM

1、RTAB-MAP(RGB-D/双目)

(1)系统流程
(2)主要模块:

VO模块:提取GFTT/BRIEF特征,并进行帧间光流追踪,通过RANSC PnP方法获得位姿初始值;再通过帧与局部地图点特征匹配,用BA方法更新位姿。
循环回环检测:ROS中的STM节点从图像中提取视觉特征(SIFT, SURF, ORB 等), 然后将其量化成"视觉词袋",创建定位点;每次检测相似帧时都是由WM从LTM中选择可能性大的定位点(每个定位点都有权重,权重随着被访问次数增加而增加)来进行比对,以优化运行速度;
后端优化:g2o/GTSAM(位姿图或因子图)优化。
建图:可以建2D/3D占据栅格图/八叉树图/点云图。

(3)优点:

适用于长期和大规模环境在线建图的要求;
里程计鲁棒性较好,且低漂移;
提供相应软件包,地图生成开发实用且简便。

(4)缺点:

方案偏向于商品化,二次开发难

2、RGBD-SLAM-V2

(1)系统流程
(2)主要模块:

前端:从每一帧的RGB提取特征,计算描述子,RANSAC ICP计算两帧之间的运动估计,并提出了一个EMM(环境测量模型)判断运动估计是否可以接受;
后端优化:也是词袋检测,然后G2O位姿图优化;
建图:可建立八叉树地图。

(3)优点:

二次开发较容易

(4)缺点:

实时性相对较差,相机要慢速运动

3、Elastic Fusion

(1)系统流程
(2)主要模块:

前端:从每一帧的RGB提取特征,计算描述子,RANSAC ICP计算两帧之间的运动估计,并提出了一个EMM(环境测量模型)判断运动估计是否可以接受;
后端优化:也是词袋检测,然后G2O位姿图优化;
建图:可建立八叉树地图。

(3)优点:

二次开发较容易

(4)缺点:

实时性相对较差,相机要慢速运动

三、VSLAM+IMU(VIO)方案

1、VIORB-SLAM2(单目+IMU)

工作原理:在ORB-SLAM2上改进而来
前端:继承ORB-SLAM2,都采用orb特征点,通过特征匹配结合局部地图估计运动;
后端:
优点:精度高,较为成熟
缺点:由于单目+特征匹配,鲁棒性较低

2、VINS-MONO(单目)

(1)系统流程
(2)主要模块:

预处理:图像特征光流跟踪;IMU数据预积分;
初始化:纯视觉Sfm初始化;Sfm与IMU积分的松耦合;
局部BA联合优化和重定位:基于滑动窗口的非线性优化实现紧耦合;
回环检测与全局位姿图优化:四自由度位姿图优化。

(3)优点

用紧耦合方法实现的,通过单目+IMU恢复出尺度;
采用光流跟踪,跟踪鲁棒性较好,可实用与快速场景;
估计精度较高。

(4)缺点

系统较为复杂,闭环检测对精度影响大;

3、VINS-FUSION(双目)

工作原理: VINS-FUSION是VINS-MONO的进化版,共有四个版本:单目+imu;纯双目;双目+imu;双目+imu+GPS;最主要的版本就是-双目+imu+GPS,对比于VINS Mono,主要增加了global_fusion包,用来融合GPS以及视觉IMU定位的结果。
优点:
可以静止进行初始化;
尺度信息不一定完全依靠IMU(有双目),不会造成尺度不可关的情况;
鲁棒性上,双目明显优于单目。
缺点:由于视觉误匹配等各种原因,双目的精度会比单目差一点。

4、ORB-SLAM3(单目/双目+IMU)

(1)系统流程

在这里插入图片描述

(2)主要模块

相比于ORB-SLAM2加入了ATLAS成为了多地图系统;加入IMU可以进化为VIO-slam;

前端TRACKING:根据当前的active地图,实时地跟踪最新一帧的位置,利用最小化重投影误差的方式实现位姿的最大后验估计MAP。决定新一帧是否作为关键帧加入地图也是在这个线程中完成的。跟踪线程接受IMU、Frame输入,IMU 被预积分处理,而Frame被提取ORB特征,跟踪方法与2代类似。
局部建图优化:active地图加入新关键帧,在添加关键帧的时候,重复的关键点被移除。VI-Bundle Adjustment优化当前被插入帧前后窗口地图。
闭环检测:还是基于词袋法,将关键帧和整个Atlas地图集关键帧进行比较;找到相似后利用时间+几何一致性检验;
地图融合:关键帧和整个Atlas地图集关键帧进行比较,如果检测到两关键帧是同一地点,分为两种情况:若被召回帧是当前的active地图中的一部分,则需要进行loop correction回环矫正,在回环矫正之后,在另一个线程中进行,全局位姿图进行BA优化,整体的地图一致性得到了提升;若被召回帧是属于一个non-active的map,两个地图则会被合并成一个地图并将大地图设置为当前的active地图。

(3)优点

由于加入多地图概念,相比于ORB-SLAM2鲁棒性更强,在跟踪定位失败后,可以继续建立新图,并在回环检测召回时可以进行地图缝合;
加入IMU鲁棒性有了很大提高;
提供多种相机模型。

(4)缺点

初始化时,使用视觉与IMU独立初始化再进行联合初始化,初始化速度较慢。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Vi-ORB-SLAM2是一种视觉惯性(VI)同时定位与地图构建(SLAM)系统,用于无人机和移动机器人的自主导航。它融合了惯性测量单元(IMU)和摄像头信息,通过实时跟踪相机的位置和姿态来构建地图和定位机器人。 Vi-ORB-SLAM2采用了ORB特征描述子和FAST角点特征,以实时地提取和匹配特征点。它利用相机的运动估计来排除误匹配的特征点,从而提高了对动态环境的鲁棒性。 Vi-ORB-SLAM2使用基于滤波器的方法来融合IMU和视觉数据。通过IMU的角速度和加速度数据,可以估计相机的运动和姿态,并根据视觉测量来校准IMU的漂移。这种融合可以提高系统的鲁棒性和精确性,特别是在存在相机运动模糊或视觉信息缺失的情况下。 Vi-ORB-SLAM2还具有回环检测和优化的能力,可以在长时间的导航中自动修正漂移误差。它采用词袋模型来建立地图和检测回环,通过优化相机和地图的位姿关系来实现全局一致性。 Vi-ORB-SLAM2已经在无人机和移动机器人的多个实验平台上进行了验证,并取得了令人满意的性能。它在实时性和精确性方面都有不错的表现,并且相对于传统的视觉SLAM系统更具鲁棒性。 综上所述,Vi-ORB-SLAM2是一种基于视觉惯性融合的SLAM系统,具有鲁棒性、精确性和实时性的优势,适用于无人机和移动机器人的自主导航。 ### 回答2: vi-orb-slam2是一种基于视觉的实时单目SLAM(Simultaneous Localization and Mapping)系统。SLAM是一种能够同时估计相机位姿和环境的三维地图的技术。vi-orb-slam2采用单个摄像头进行定位和地图构建。 vi-orb-slam2使用了一种双目VO(Visual Odometry)和ORB特征的融合方法。VO方法通过连续帧之间的图像匹配和运动估计来计算相机的运动轨迹。ORB特征是一种高效的特征提取算法,它可以在快速实时的情况下提取和匹配特征点。 vi-orb-slam2通过在VO方法中引入ORB特征,进一步提高了系统的鲁棒性和准确性。ORB特征具有自适应的尺度和旋转不变性,可以应对不同尺度和姿态变化的场景。此外,ORB特征的计算效率也很高,可以实现实时的图像处理和跟踪。 vi-orb-slam2在实际应用中具有广泛的应用前景。它可以用于室内导航、增强现实、机器人自主导航等领域。通过实时地建立环境地图和同时估计相机的位姿,vi-orb-slam2可以帮助机器人或者无人机在未知环境中进行自主导航和定位。同时,vi-orb-slam2的实时性和高效性也使得它可以应用于实时监控、虚拟现实等实时场景中。 总的来说,vi-orb-slam2是一种高效、鲁棒和实时的单目SLAM系统,具有广泛的应用前景,可以在多个领域中实现定位和地图构建的任务。 ### 回答3: vi-orb-slam2 是一种基于视觉和惯性传感器数据的实时单目SLAM(Simultaneous Localization and Mapping)系统。SLAM是一种同时利用感知和定位能力,实时构建环境地图并实现自我定位的技术。 vi-orb-slam2利用摄像头和惯性测量单元(IMU)融合数据,可以在没有GPS信号的情况下,实时地建立并更新环境地图,并估计自身相对于地图的位置和姿态信息。 其中,ORB指的是Oriented FAST and Rotated BRIEF,是一种特征检测和描述子提取算法,可以快速地检测和描述图像中的特征点。SLAM系统通过ORB算法提取图像关键点,并利用这些特征点进行特征匹配,从而实现环境地图的构建和定位过程。 vi-orb-slam2还利用IMU的数据,并将其与视觉数据进行融合,从而提高系统的稳定性和鲁棒性。IMU可以提供姿态和加速度信息,用于补偿视觉数据中的相机运动误差,进一步提高SLAM系统的定位精度和鲁棒性。 vi-orb-slam2具有实时性能,可以在实时视频流上运行,并实时地估计相机的位姿。这使得vi-orb-slam2在许多应用中具有广泛的应用前景,例如机器人导航、增强现实和虚拟现实等领域。 总之,vi-orb-slam2是一种基于视觉和惯性传感器的实时单目SLAM系统,通过视觉特征匹配和IMU数据融合,实现了环境地图的构建和自我定位。它具有实时性能和鲁棒性,适用于多种应用场景。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

极客范儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值