视觉slam十四讲(1)

一、SLAM是什么?

SLAM 是 Simultaneous Localization and Mapping 的缩写,中文译作“同时定位与地图构建”。它是指搭载特定传感器的主体,在没有环境先验信息的情况下,在运动过程中建立环境的模型,同时估计自己的运动 。

二、组织架构

1、第一部分为数学基础篇

•第二讲为 SLAM 系统概述,介绍一个 SLAM 系统由哪些模块组成,各模块的具体工作是什么。实践部分介绍编程环境的搭建过程以及 IDE 的使用。
• 第三讲介绍三维空间运动,你将接触旋转矩阵、四元数、欧拉角的相关知识,并且在 Eigen 当中使用它们。
• 第四讲为李群和李代数。如果你现在不懂李代数为何物,也没有关系。你将学习李代数的定义和使用方式,然后通过 Sophus 操作它们。
• 第五讲介绍针孔相机模型以及图像在计算机中的表达。你将用 OpenCV 来调取相机的内外参数。
• 第六讲介绍非线性优化,包括状态估计理论基础、最小二乘问题、梯度下降方法。你会完成一个使用 Ceres 和 g2o 进行曲线拟合的实验。

2、第二部分为 SLAM 技术篇

• 第七讲为特征点法的视觉里程计。该讲内容比较多,包括特征点的提取与匹配、对极几何约束的计算、PnP 和 ICP 等。在实践中,你将用这些方法去估计两个图像之间的运动。
• 第八讲为直接法的视觉里程计。你将学习光流和直接法的原理,然后利用 g2o实现一个简单的 RGB-D 直接法。
• 第九讲为视觉里程计的实践章,你将搭建一个视觉里程计框架,综合应用先前学过的知识,实现它的基本功能。从中你会碰到一些问题,例如优化的必要性、关键帧的选择等。
• 第十讲为后端优化,主要为 Bundle Adjustment 的深入讨论,包括基本的 BA以及如何利用稀疏性加速求解过程。你将用 Ceres 和 g2o 分别书写一个 BA 程序。
• 第十一讲主要讲后端优化中的位姿图。位姿图是表达关键帧之间约束的一种更紧凑的形式。你将用 g2o 和 gtsam 对一个位姿球进行优化。
• 第十二讲为回环检测,我们主要介绍以词袋方法为主的回环检测。你将使用dbow3 书写字典训练程序和回环检测程序。
• 第十三讲为地图构建。我们会讨论如何使用单目进行稠密深度图的估计(以及这是多么不可靠),然后讨论 RGB-D 的稠密地图构建过程。你会书写极线搜索与块匹配的程序,然后在 RGB-D 中遇到点云地图和八叉树地图的构建问题。
• 第十四讲主要介绍当前的开源 SLAM 项目以及未来的发展方向。

三、代码

代码链接:https://github.com/gaoxiang12/slambook

四、理论基础

1.高等数学、线性代数、概率论
2.C++语言基础
3.Linux基础

上一篇:《SLAM机器人基础教程》第十章 局部规划(章节目录)


下一篇:sphinx中文版Coreseek中文检索引擎安装和使用方法(Linux)