ORB-SLAM2(论文阅读)

        该系统的后端使用基于单目和双目观测的光束法平差法(bundle adjustment),这使得其可以精确估计轨迹的尺度。该系统包含一个轻量级的定位模式,它使用视觉里程计追踪未建图区域并匹配地图点,实现零漂移定位。

        位置识别是SLAM系统中实现回环检测(当检测到传感器回到已建图区域时,修正探索过程中的累积误差)的关键模块,它能够在因遮挡或剧烈运动导致追踪失败后以及系统重新初始化时,重定位相机的位置。

        RGB-D结果显示,相比较目前最好的基于迭代最近点法(ICP)广度和深度误差最小法,通过使用光束法平差法(BA),可以达到更高的精度。

VSLAM基础(七)————光束平差法Bundle Adjustment_potxxx的博客-CSDN博客_光束平差法

【三维重建】光束法平差原理介绍(一)_wsxzhbzl的博客-CSDN博客_光束法平差

        在局部关键帧集合中采用了BA,因此该方法的复杂度不受地图尺寸影响

        当闭合一个回环时,我们的系统会首先将两端对齐,因此追踪模块可以使用旧地图继续定位,之后采用位姿图优化来最小化回环中的累积漂移,再之后进行全局BA

        该方法的后端基于BA,并且能够得到一个全局一致的稀疏重建。目标是实现长期并且全局一致的定位,而不是进行具有更多细节的稠密重建。该方法也可以通过精度很高的关键帧位姿,进行深度图融合来实时地对局部环境进行准确重建,或者在全局BA后对所有关键帧的深度图进行处理从而得到整个场景的精准三维模型。

ORB-SLAM2由三个主要的并行线程组成:追踪局部建图回环检测。在回环检测后会执行第四个线程,进行全局BA。追踪线程会对双目和RGB-D输入进行预处理,从而使得系统其它部分可以独立于输入传感器运行。该系统具有三个主要的并行线程:1)追踪线程是用来在每一帧中定位相机的位置,通过匹配特征局部地图并且进行运动BA(motion-only BA)最小化重投影误差;2)局部建图线程是用来管理和优化局部地图;3)回环检测线程是用来检测大回环,并通过执行位姿图优化来修正累积误差。该线程在位姿图优化后会启动第四个线程来执行全局BA,计算最优的结构和运动结果。

【SLAM】位姿图优化的入门与实践_heroybc的博客-CSDN博客_位姿图优化

科普SLAM之位姿图优化建图_麦田拾忆的博客-CSDN博客_pgo算法

 最小生成树详解(模板 + 例题)_倒究怎啦的博客-CSDN博客_最小生成树例题详解

        该系统维护了一个关联可见地图(convisible map),此地图将每两个观察到相同地图点的关键帧连接到一起;

        该系统也维护了一个最小生成树,它连接了所有的关键帧。这种地图结构实现了对于关键帧局部窗的检索,因此追踪线程和局部建图线程可以局部地运行,使其可以在大场景中工作;

        该结构在回环闭合进行位姿图优化时,也可作为优化的图结构。

        系统在追踪、建图和位置识别任务中,都使用相同的ORB特征。

        作为一种基于特征的方法,ORB-SLAM2会对输入进行预处理,在显著关键点位置提取特征。接下来,输入的图片会被丢弃,系统的全部运算会基于这些特征。

SFM(Structure from Motion)一点总结_Z5122的博客-CSDN博客_sfm技术

SfM(Structure from motion,运动恢复结构,从motion中实现3D重建。也就是从时间系列的2D图像中推算3D信息_人工智能曾小健的博客-CSDN博客_sfm运动恢复结构

 [论文阅读]Structure-from-Motion Revisited_感天动地大白狗的博客-CSDN博客

        系统在追踪线程中使用BA来优化相机位姿(纯运动BA),在局部建图线程中优化关键帧和点的局部窗(局部BA),在回环检测后优化所有的关键帧和点(全局BA)。使用g2o 中的实现的Levenberg-Marquardt方法来进行优化。

纯运动BA(motion-only BA)优化相机的旋转矩阵位置 t,最小化相匹配的世界坐标系下的三维点 Xi∈R3 和关键点 xi(⋅) 之间的重投影误差

一文读懂重投影误差_少杰很帅的博客-CSDN博客_重投影误差

 SLAM十四讲与VINS重投影误差计算的对比_尘归尘-北尘的博客-CSDN博客

 Bundle Adjustment---即最小化重投影误差(高翔slam---第七讲) - Jessica&jie - 博客园

 SIFT特征提取分析_Rachel-Zhang的博客-CSDN博客_sift特征提取

SIFT与SURF算法_虾米龟儿的博客-CSDN博客_sift算法和surf算法

        回环检测分两步进行:第一步是检测和确认回环,第二步是通过优化位姿图来修正回环。相较于单目ORB-SLAM可能会发生尺度漂移,双目/深度信息会使尺度变得可以观测,所以几何验证和位姿图优化不再需要处理尺度漂移。

        在ORB-SLAM2中,在位姿图优化后,采用全局BA优化来得到最优解。

        在优化运行的同时发现了新的回环,就停止优化,转而去闭合回环,这将再次启动全局BA优化。当全局BA完成时,将全局BA优化更新后的关键帧和点的集合,与在优化过程中插入的未更新的关键帧和点,进行融合。这通过将更新的关键帧的修正(未优化位姿至优化位姿的变换)沿生成树传递至未更新的关键帧来完成。未更新的点依据它们的参考帧的修正来进行变换。

        ORB-SLAM2沿用了单目ORB-SLAM中介绍的策略:频繁插入关键帧,之后再剔除冗余的关键帧。当追踪的近处点数目低于τt并且此帧能够创建至少τc个新的近处立体点时,系统就会插将此帧作为一个新的关键帧插入。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: ORB-SLAM2 的运行程序是一段预先编写好的计算机代码,用于实现 ORB-SLAM2 论文中提到的 Simultaneous Localization and Mapping (SLAM) 算法。它可以通过处理视觉数据(例如,从摄像机或激光雷达设备获取的数据),实时地构建和更新场景的三维地图,并同时确定机器人在环境中的位置。 ORB-SLAM2 的代码是开源的,可以在 GitHub 上免费下载,并可以在许多不同类型的计算机系统上运行。如果您想使用 ORB-SLAM2,您可以下载代码并在自己的计算机上运行它。 ### 回答2: ORB-SLAM2是一个用于单目相机、双目相机和RGB-D相机的实时SLAM系统。下面是ORB-SLAM2的运行程序: 1. 首先,安装所需的依赖项,包括OpenCV、Pangolin、DBoW2和g2o。这些依赖项可通过Github页面上的说明进行安装。 2. 然后,从Github页面上下载ORB-SLAM2的源代码。 3. 解压缩下载的源代码,并使用CMake进行编译。指定正确的路径以链接到依赖项。编译完成后,将生成ORB-SLAM2的可执行文件。 4. 准备运行ORB-SLAM2的数据集或实时摄像头输入。如果使用数据集,将其放置在指定的路径下。 5. 打开终端,并导航到ORB-SLAM2的可执行文件所在的目录。 6. 运行ORB-SLAM2,可以使用以下命令: ./ORB_SLAM2 [参数] 参数包括: -voc [词汇文件路径]: 使用指定的词汇文件 -settings [配置文件路径]: 使用指定的配置文件 -test [数据集路径]: 使用指定的数据集 ... 使用各种参数可以根据实际情况进行设置,例如选择使用单目相机还是双目相机,是否保存地图等。 7. 在运行程序后,ORB-SLAM2将初始化相机,跟踪相机姿态,并在实时中构建地图。可以在控制台上看到相机的轨迹和地图的构建。 需要注意的是,ORB-SLAM2的运行程序可能因使用的相机类型、参数配置和数据集而有所不同。因此,在实际应用中,可能需要根据具体情况进行适当的调整和设置。此外,ORB-SLAM2还提供了一些API和示例代码,可用于开发更多的自定义功能。 ### 回答3: ORB-SLAM2是一种基于特征点的稀疏SLAM算法,可以同时实现定位和建图。下面是ORB-SLAM2的运行程序流程简述。 首先,程序会加载相机的参数和配置文件,并初始化ORB特征点提取器、描述符以及地图等数据结构。接着,程序开始处理每一帧输入图像序列。 对于每一帧输入图像,首先会进行特征点提取和描述子计算。ORB-SLAM2使用Oriented FAST特征点检测器提取特征点,并计算ORB描述子。在提取到足够数量的特征点之后,会通过判断几何约束进行匹配。 接下来,程序会进行初始化或跟踪过程。初始化是指在场景中没有建立地图时,通过匹配帧间的ORB特征点,计算出相机的姿态信息,并根据三角测量法计算出特征点的三维坐标。 在跟踪过程中,程序会通过参考帧的姿态信息和特征点的深度信息进行位姿估计。同时,ORB-SLAM2还使用BA(Bundle Adjustment)优化算法对地图和相机的位姿进行优化,以提高位姿估计的准确性。 最后,程序会更新地图,并将当前帧作为参考帧保存。在运行过程中,ORB-SLAM2还会根据设定的策略进行回环检测,通过匹配历史帧和当前帧的特征点,判断是否存在回环,并进行地图的闭合和优化。 总结来说,ORB-SLAM2的运行程序包括相机参数加载、初始化、特征点提取和描述子计算、匹配、位姿估计和优化、地图更新和回环检测等步骤。通过这些步骤,ORB-SLAM2能够实现实时的稀疏SLAM定位和建图。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值