ORB-SLAM策略思考之Tracking线程

本文详细解析了ORB-SLAM中的关键技术,包括特征点提取(处理尺度和旋转不变性)、地图初始化策略、位姿估计方法(恒速跟踪、基于上一帧和重定位)、局部地图跟踪以及关键帧的筛选规则,展示了ORB-SLAM系统如何保证跟踪稳定性和高效性能。
摘要由CSDN通过智能技术生成

ORB-SLAM策略思考之跟踪线程

跟踪线程

1 特征点提取

  1. 图像金字塔,来解决尺度不变性问题(通过缩放后,得到原图像上的特征点位置信息)
  2. FAST角点检测+灰度质心法,来解决旋转不变性问题(使用按行对称搜索的策略,加速)
  3. 特征点分块双阈值提取+四叉树筛选策略,来使得FAST特征点分布较均匀,防止特征点集中导致位姿估计失败
  4. 对图像添加一个19像素的镜像边框,防止BRIEF描述子模版超出图像边界导致描述子计算失败
  5. 得到特征点后,注意使用相机畸变参数,将畸变特征点的位置进行校正

2 地图初始化

  1. 使用初始化匹配(只进行原图匹配)策略来寻找两帧之间的特征点,用于构建基础矩阵或者单应性矩阵
  2. 双线程恢复相机运动,使用基础矩阵和单应性矩阵恢复两种方式恢复相机运动
  3. 使用RANSAC和卡方检验来构建评分系统,用于实现端到端的相机运动恢复
  4. 使用初始化帧和匹配帧的双关键帧策略,实现地图的初始化(0和1的id在初始化阶段就被添加到全局地图中)
  5. 使用全局优化的方式,对全局地图中的位姿和关键帧信息进行优化,用于校正初始地图的位姿和地图点信息

3 位姿估计

  1. 使用恒速模型跟踪、基于上一帧的跟踪和重定位跟踪来提高跟踪过程的鲁棒性,保证跟踪的成功率
  2. 使用速度参量、基于词袋的匹配方式和两帧之间的BA优化,进行恒速跟踪,这种方式计算量小,是首先需要考虑的方式
  3. 当恒速模型跟踪失败时,尝试基于上一帧的跟踪策略,采用窗口匹配和两帧之间BA优化的策略进行跟踪,这种方式的计算量要比恒速模型跟踪的计算量大一些,主要是用在的窗口匹配上
  4. 当基于上一帧的跟踪策略失败时,使用重定位进行位姿拯救,主要采用的策略有:
    1. 基于关键帧数据库的候选关键帧筛选策略
    2. 基于词袋的特征点匹配+RANSAC的EPnP的位姿估计策略,通过判断RANSAC迭代次数和内点数目来筛选候选关键帧策略
    3. 基于重投影的匹配方式产生新的匹配(已经成功的匹配不参加),基于BA优化来优化位姿
  5. 如果重定位失败时,进行整个系统的重启工作,以当前帧进行整个SLAM系统的重启

4 局部地图跟踪

  1. 使用一阶向量和二阶相连关键帧的方式进行局部地图的构建
  2. 采用未匹配地图点+可视信息筛选可以进行匹配的地图点,可视条件如下:
    1. 地图点深度为正
    2. 重投影符合去畸变参数要求
    3. 深度在地图点的最大和最小深度范围内
    4. 视角满足小于60°的要求
  3. 使用重投影匹配的方式添加匹配信息,并根据是否发生过重定位进行匹配参数构建
    1. 认为刚刚发生的重定位后,位姿信息并不准确,将会扩大匹配阈值
  4. 使用局部BA进行位姿优化(3D地图点固定)

5 关键帧筛选

  • 局部建图线程停止或者需要停止,则不插入
  • 如果重定位距离较近且地图中的关键帧数目较多,则不插入
  • 下面是关键帧插入策略
    • condition1:当上次插入关键帧距离当前帧较远时
    • condition2:当局部建图线程需要关键帧时
    • 条件2满足,则插入关键帧
    • 条件1满足且条件2不满足时,终止局部建图线程中的BA优化,且不插入当前关键帧
  • 7
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值