高翔博士 《视觉SLAM十四讲》学习笔记 (1) 写在前面

本书的内容

SLAM 是 Simultaneous Localization and Mapping 的缩写,中文译作“同时定位与地图构建”[1]。它是指搭载特定传感器的主体,在没有环境先验信息的情况下,于运动过程中建立环境的模型,同时估计自己的运动 [2]。如果这里的传感器主要为相机,那就称为“视觉SLAM”。

1.SLAM的主要作用是解决Localization 和 Mapping的问题 同时可以完成Navegation

(1)可以实时的完成在没有先验知识的情况下就的SLAM,入门的门槛有点高,首先需要大量先验知识的学习,包括概率论、线性代数、矩阵分析、李群李代数、计算机视觉中的多视图几何,状态估计等系列的理论。

(2)需要一定的编程能力,c/c++、python等,总而言之引用沈劭劼教授的标准,变成牛、数学牛

2.SLAM的应用领域有哪些

  • 室内扫地机
  • 室内服务机器人
  • 自动驾驶
  • 空中的无人机
  • 虚拟现实
  • 增强现实
  • ........

SLAM 相关的书籍主要有《概率机器人》(Probabilistic robotics)[5]、《计算机视觉中的多视图几何》(Multiple View Geometry in Computer Vision)[3]、《机器人学中的状态估计》(State Estimation for Robotics: A Matrix-Lie-Group Approach)[6] 等。它们内容丰富、论述全面、推导严谨,在 SLAM 研究者中间是脍灸人口的经典教材。

SLAM 系统分成几个模块:视觉里程计、后端优化、建图以及回环检测。一点点实现这些模块中的核心部分,探讨它们在什么情况下有效,什么情况下会出问题,如何在自己的机器上运行这些代码。会接触到一些必要的数学理论和许多编程知识,会用到 Eigen、OpenCV、PCL、g2o、Ceres 等库 ,掌握它们在 Linux 操作系统中的使用方法。

本书的架构目录

本书主要介绍并理解算法所必须的数学知识,但是其中的一些理论有些复杂,并且晦涩难懂,所以需要几倍的时间去弥补相关的知识,SLAM看起来像是一个工程,因此让整个系统完美的运行运行起来就是我们需要做的事情。

    第一讲 前言

    第二讲 初始 SLAM (SLAM 系统概述

        介绍 SLAM 系统的模块以及模块的具体工作内容,实践部分介绍编程环境的搭建、CMake 的语法、IDE 的使用方法。

    第三讲 三维空间刚体运动

        旋转矩阵、四元数、欧拉角的相关知识,Eigen 库的使用。

    第四讲 李群与李代数

        李代数的定义和使用方式,Sophus 库的使用。

    第五讲 相机与图像

        针孔相机模型以及图像的表示方法,OpenCV 库调取相机内参、外参。

    第六讲 非线性优化

        状态估计理论基础、最小二乘问题、梯度下降方法,使用 Ceres 和 g2o 进行曲线拟合的方法介绍。

    第七讲 视觉里程计 1 (特征点法)

        特征点的提取与匹配、对极几何约束的计算、PnP、ICP 等,用这些方法去估计两幅图像之间的运动。

    第八讲 视觉里程计 2  (直接法)

        学习光流和直接法的原理,利用 g2o 实现一个简单的 RGB-D 直接法。

    第九讲 实践章:设计前端

        搭建一个视觉里程计框架,综合应用之前所学知识,实现它的基本功能。其中会涉及到优化的必要性、关键帧的选择等问题。

    第十讲 后端 1

        Bundle Adjustment 的深入讨论,包括基本的 BA 以及如何利用稀疏性加速求解过程,使用 Ceres 和 g2o 分别书写一个 BA 程序。

    第十一讲 后端 2

        位姿图是表达关键帧之间约束的一种更紧凑的形式,将用 g2o 和 gtsam 对一个位姿球进行优化。

    第十二讲 回环检测

        介绍以词袋方法为主的回环检测,将使用 dbow3 书写字典训练程序和回环检测程序。

    第十三讲 建图

        使用单目进行稠密深度图的估计(不可靠);RGB-D 的稠密地图构建过程。编写极线搜索与块匹配的程序,构建点云地图和八叉树地图。

    第十四讲 SLAM: 现在与未来

        当前开源 SLAM 项目以及未来的发展方向。

ORB_SLAM2:https://github.com/raulmur/ORB_SLAM2

相关学习资源:https://www.cnblogs.com/gaoxiang12/tag/%E8%A7%86%E8%A7%89SLAM/


 

你可能感兴趣的:(SLAM学习)