ORBSLAM2 论文阅读笔记

1、Introduce

文章的贡献:

  1. ORBLAM1的单目基础上增加了对于双目与RGBD相机的支持。
  2. 使用BA来实现比ICP与光度与深度最小化更好的效果
  3. 通过使用远近的双目点与单目的观察来实现比一般的直接法更加精确的SLAM。
  4. 一个轻量化的定位模式

2、ORBSLAM2请添加图片描述

从全局图中可以看出,ORBSLAM2分为三个主要线程Tracking,Mapping,Loop closure。然后在Loop Closure之后还有一个full BA的线程。

A. Monocular, Close Stereo and Far Stereo Keypoints

对于传进来的image,在提取完关键点之后就不会再保存在系统当中,系统只会保存关键点。同时被提取出来的关键点会被分类为远点和近点。

Stereo 和 RGBD的关键点保存的方式都是一样的,关键点保存格式为 ( u l , v l , u r ) (u_{l},v_{l},u_{r}) (ul,vl,ur)
请添加图片描述
Stereo keypoints
对于stereo会对左右两边都提取ORB关键点,然后使用左目去匹配右目。匹配成功的右目会保存其列坐标(因为左右目是平行的,只需要列坐标)

对于RGBD会创建一个虚拟的右目,像Stereo那样保存关键点。由于RGBD可以直接获得深度信息,所以使用下面公式:
u l = u r − f x b / d u_{l} = u_{r} - f_{x}b/d ul=urfxb/d
来构造出右目的列坐标。(详见双目相机原理)

对于深度超过40倍基线的关键点,会被定义为远点,反之则是近点。近点会被直接转化为map中的point,加入到Stereo Keypoints 的分类当中,而近点则是加入到MonoKeypoints 的分类当中去。

远点和近点的区别在于远点不能很好的提供scale和translation信息(类似于单目的尺度判断比较难)。

B. System Bootstrapping

会将第一个帧作为关键帧并且将其坐标作为世界坐标的原点。在后续的优化中也不会对他进行。

C. Bundle Adjustment with Monocular and Stereo Constraints

在两帧之间的Track,会使用Motion BA来实现在mapping模块中,会维护一个滑动窗口,并在建图时候进行local BA。在Loop Closure 之后,会进行一个full BA。

Motion-only BA
请添加图片描述

Local BA
请添加图片描述
会对滑动窗口中的所有点和关键帧都进行优化

Full BA
对除了初始帧之外的所有帧进行优化

D. Loop Closing and Full BA

在loopClosure 之后插入了full BA。所以在检测到loopClosure 之后,会立刻停止local BA,并且进行回环处理,然后开始一次full BA。

当full BA完成的时候,由于full BA执行的过程中也是在Track 的,所以需要将新生成的point 与关键正与BA优化之后的点重新整合起来。

E. Keyframe Insertion

如果检测到与上一个关键帧的close point 少于T1个同时本帧检测到的关键帧大于T2个的话,就会创建一个新的关键帧。

F. Localization Mode

通过比当前帧的ORB关键点和上一帧创建出来的3D点,来实现Track。

ORB-SLAM3是一个基于视觉和IMU数据的视觉惯性里程计系统。在ORB-SLAM3中,IMU数据被用来提供更准确的相机位姿估计和运动跟踪。引用\[1\]中提到,在ORB-SLAM3的初始化阶段,会先进行纯视觉的计算,构建一个纯视觉的BA(Bundle Adjustment)来优化相机位姿。然后,在第二阶段,使用IMU数据来计算IMU运动残差,进一步优化相机位姿。引用\[2\]中提到,IMU预积分是根据物理运动公式计算加速度、速度和位移之间的关系。在ORB-SLAM3中,IMU预积分从第2帧开始,使用当前帧和上一帧之间的IMU数据进行计算。引用\[3\]中提到了在ORB-SLAM3中定义的一些与IMU相关的类,包括IMU测量值类、IMU偏置类和IMU预积分类。这些类用于处理IMU数据的获取、处理和传递过程。所以,ORB-SLAM3中的IMU在整个系统中起到了重要的作用,用于提供更准确的相机位姿估计和运动跟踪。 #### 引用[.reference_title] - *1* [ORB-SLAM笔记——ORB-SLAM3的IMU初始化(1)理论部分](https://blog.csdn.net/RoBOt__Dreamer/article/details/107645939)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [3.1ORBSLAM3之IMU预积分](https://blog.csdn.net/guanjing_dream/article/details/128291888)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值