前言
今天开始,开启这一系列博客,记录自己的学习过程。博客大致分为阅读笔记和课后习题。
更新计划:
2020.08.19——2020.08.31:更新第一、二、三、四讲
2020.09.01——2020.09.31:更新第五、六、七讲
2020.10.01——2020.10.31:更新第八、九、十、十一讲
2020.11.01——2020.11.31:更新第十二、十三、十四讲
读书笔记
1.1 主要内容
SLAM:
SLAM,全称是Simultaneous Localization and Mapping,即“同时定位与地图构建”。就是在搭载特定传感器的情况下,在没有环境先验信息的情况下,于运动过程中建立环境的模型,同时估计自己的运动。
1.2 本书结构
前言:
- 第一讲:介绍本书基本信息,以讲义的形式,每讲分为理论部分、实践部分。
数学基础篇:
- 第二讲:SLAM系统概述,介绍SLAM系统的四个组成模块,及各模块的具体工作。
- 第三讲:三维空间运动,主要介绍:旋转矩阵、四元数、欧拉角的相关概念,及Eigen中如何使用。
- 第四讲:李群和李代数,理论部分,以及Sophus操作。
- 第五讲:针孔相机模型以及图像在计算机中的表达,将用到OpenCV来调取相机的内外参数。
- 第六讲:非线性优化,包括状态估计理论基础、最小二乘法、梯度下降方法。实践部分包括:Ceres和g2o的使用,及曲线拟合。
SLAM技术篇:
- 第七讲:特征点的视觉里程计。包括特征点的提取与匹配、对极几何约束的计算、PnP和ICP等。实践部分:用上述方法去估计两个图像之间的运动。
- 第八讲:直接法的视觉里程计。包括光流和直接法的原理,然后利用g2o实现一个简单的RGB-D直接法。
- 第九讲:视觉里程计的实践章,将搭载一个视觉里程计框架,综合应用先前知识。
- 第十讲:后端优化,主要为BUN多了Adjustment的深入讨论,包括基本的BA以及如何利用稀疏性加速求解过程。将用Ceres和g2o分别书写一个BA程序。
- 第十一讲:主要讲后端优化的位姿图。位姿图是表达关键帧之间约束的一种更紧凑的形式。将用到g2o和gtsam对一个位姿球进行优化。
- 第十二讲:回环检测,以词袋方法为主的回环检测。将使用dbow3书写字典训练程序和回环检测程序。
- 第十三讲:地图构建,将会讨论如何使用单目进行稠密深度图的估计,以及RGB-D的稠密地图构建过程。会书写极限搜索与块匹配的程序,然后在RGB-D中遇到点云地图和八叉树地图构建。
- 第十四讲:介绍当前开源SLAM项目及未来发展方向。
1.4 代码
代码地址: https://github.com/gaoxiang12/slambook