计算机视觉之三维重建——第八章:SLAM系统设计《深入浅出sfm和SLAM核心算法 (鲁鹏)》

第八章:SLAM系统设计

1. SLAM介绍

Simultaneous Localization and Mapping(SLAM):同时定位和建图

  • Localization:传感器的位置和姿态;
  • Mapping:地图构建
  • 应用场景:定位、导航、避障、重建、交互

SLAM传感器分类:

  • 携带于机器人本体的,例如轮式编码器、相机、激光等;
    安装于环境中的,如导轨、二维码标识等;

开源SLAM方案
在这里插入图片描述

2. ORB-SLAM系统

同时运行三个线程:

  • 跟踪:确定当前帧位姿;
  • 建图:完成局部地图构建;
  • 回环修正:回环检测以及基于回环信息修正系统漂移;

在这里插入图片描述

2.1 关键词介绍

(1)地图点

  • 世界坐标系下的3D点坐标;
  • 观测方向,即所有可以观测到该特征点的视图所产生的观测方向均值;
  • ORB特征描述子;
  • 该点能被观测到的最大距离与最小距离;

(2)关键帧

  • 摄像机位姿;
  • 内参数;
  • 该帧中提取到的全部ORB特征描述子,以及它们和地图点之间的对应关系;

(3)共视图

一种有向无权图,节点为关键帧,如两个节点共享的地图点数量大于阈值(至少15个),则存在一条边,边的权重设置为共享地图点的个数。

(4)本质图

是共视图的子图,保留所有节点,边数量相较于共视图更少,尽量减少边,其作用是加速回环校正的计算。
本质图=生成树+共视图边权重超过100的边+回环边

2.2 跟踪线程

跟踪(Tracking):给定当前帧,从图像提取ORB特征,根据上一帧估计当前帧姿态,估计失败时,尝试全局重定位初始化位姿,构建局部地图进一步优化位姿,并确定是否设置成关键帧。

在这里插入图片描述

2.3 建图线程

建图(LocalMapping):完成局部地图构建。包括对关键帧的插入,验证最近生成的地图点并进行筛选,然后生成新的地图点,实用局部光束法平差(Local BA),最后再对插入的关键帧进行筛选,去除多余的关键帧。

在这里插入图片描述

2.4 回环修正线程

回环修正(LoopClosing):包含闭环检测和闭环校正两步。闭环探测先使用词袋模型找到闭环图片,然后通过Sim3算法计算相似变换。闭环校正主要是闭环融合和Essential Graph的图优化。

猜你喜欢

转载自blog.csdn.net/xijuezhu8128/article/details/127267662