• 计算机视觉之三维重建——第八章: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的图优化。

  • 相关阅读:
    Digester解析xml原理
    逆向工程搭建过程
    spring源码 - AOP原理理解
    【Spring5】AOP面向切面?程序不可多得的Buff
    视频号的链接在哪,视频号视频链接地址获取办法!
    VScode多文件编译/调试配置
    Spring Security 自定义授权服务器实践
    IO学习系列之使用fgetc函数实现Linux命令“wc -l”和“wc -c”的功能
    文件I/O与标准I/O
    【ffmpeg】音频编码原理
  • 原文地址:https://blog.csdn.net/xijuezhu8128/article/details/127267662