好书推荐 好书速递 排行榜 读书文摘

视觉SLAM十四讲:从理论到实践(第2版)

视觉SLAM十四讲:从理论到实践(第2版)
作者:高翔 等 著
出版社:电子工业出版社
出版年:2019-08
ISBN:9787121369421
行业:学术研究
浏览数:103

内容简介

《视觉SLAM十四讲:从理论到实践(第2版)》系统介绍了视觉 SLAM(同时定位与地图构建)所需的基本知识与核心算法,既包括数学理论基础,如三维空间的刚体运动、非线性优化,又包括计算机视觉的算法实现,例如多视图几何、回环检测等。此外,我们还提供了大量的实例代码供读者学习研究,从而更深入地掌握这些内容。

《视觉SLAM十四讲:从理论到实践(第2版)》可以作为对 SLAM 感兴趣的研究人员的入门自学材料,也可以作为 SLAM 相关的高校本科生或研究生课程教材使用。

......(更多)

作者简介

高翔,清华大学自动化系博士,慕尼黑工业大学博士后。研究兴趣主要为计算机视觉、定位与建图、机器学习等,主要著、译作包括《视觉SLAM十四讲:从理论到实践》、《机器人学中的状态估计》,在RAS、Auto Robotics、IROS等期刊会议上发表论文,现从事自动驾驶车辆研发工作。

......(更多)

目录

第 1 讲 预备知识 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.1 本书讲什么....................................................................................................... 1

1.2 如何使用本书 ................................................................................................... 3

1.2.1 组织方式................................................................................................ 3

1.2.2 代码....................................................................................................... 5

1.2.3 面向的读者............................................................................................. 6

1.3 风格约定.......................................................................................................... 6

1.4 致谢和声明....................................................................................................... 8

第 1 部分 数学基础 10

第 2 讲 初识 SLAM. . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.1 引子:小萝卜的例子 ......................................................................................... 13

2.2 经典视觉 SLAM 框架 ........................................................................................ 19

2.2.1 视觉里程计............................................................................................. 20

2.2.2 后端优化................................................................................................ 21

2.2.3 回环检测................................................................................................ 22

2.2.4 建图....................................................................................................... 23

2.3 SLAM 问题的数学表述...................................................................................... 24

2.4 实践:编程基础................................................................................................ 27

2.4.1 安装 Linux 操作系统................................................................................ 27

2.4.2 Hello SLAM............................................................................................ 29

2.4.3 使用 cmake ............................................................................................. 30

2.4.4 使用库 ................................................................................................... 32

2.4.5 使用 IDE ................................................................................................ 35

第 3 讲 三维空间刚体运动 . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3.1 旋转矩阵.......................................................................................................... 42

3.1.1 点、向量和坐标系................................................................................... 42

3.1.2 坐标系间的欧氏变换 ............................................................................... 43

3.1.3 变换矩阵与齐次坐标 ............................................................................... 46

3.2 实践:Eigen...................................................................................................... 47

3.3 旋转向量和欧拉角............................................................................................. 53

3.3.1 旋转向量................................................................................................ 53

3.3.2 欧拉角 ................................................................................................... 54

3.4 四元数 ............................................................................................................. 56

3.4.1 四元数的定义 ......................................................................................... 56

3.4.2 四元数的运算 ......................................................................................... 57

3.4.3 用四元数表示旋转................................................................................... 59

3.4.4 四元数到其他旋转表示的转换.................................................................. 59

3.5 * 相似、仿射、射影变换.................................................................................... 61

3.6 实践:Eigen 几何模块 ....................................................................................... 62

3.6.1 Eigen 几何模块的数据演示....................................................................... 62

3.6.2 实际的坐标变换例子 ............................................................................... 64

3.7 可视化演示....................................................................................................... 66

3.7.1 显示运动轨迹 ......................................................................................... 66

3.7.2 显示相机的位姿...................................................................................... 69

第 4 讲 李群与李代数 . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

4.1 李群与李代数基础............................................................................................. 73

4.1.1 群.......................................................................................................... 73

4.1.2 李代数的引出 ......................................................................................... 74

4.1.3 李代数的定义 ......................................................................................... 76

4.1.4 李代数 so(3)........................................................................................... 76

4.1.5 李代数 se(3) ........................................................................................... 77

4.2 指数与对数映射................................................................................................ 78

4.2.1 SO(3) 上的指数映射................................................................................ 78

4.2.2 SE(3) 上的指数映射 ................................................................................ 80

4.3 李代数求导与扰动模型...................................................................................... 81

4.3.1 BCH 公式与近似形式 .............................................................................. 81

4.3.2 SO(3) 上的李代数求导............................................................................. 83

4.3.3 李代数求导............................................................................................. 84

4.3.4 扰动模型(左乘)................................................................................... 85

4.3.5 SE(3) 上的李代数求导............................................................................. 85

4.4 实践:Sophus.................................................................................................... 86

4.4.1 Sophus 的基本使用方法 ........................................................................... 86

4.4.2 例子:评估轨迹的误差............................................................................ 89

4.5 * 相似变换群与李代数 ....................................................................................... 92

4.6 小结................................................................................................................. 93

第 5 讲 相机与图像 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

5.1 相机模型.......................................................................................................... 97

5.1.1 针孔相机模型 ......................................................................................... 97

5.1.2 畸变模型................................................................................................ 100

5.1.3 双目相机模型 ......................................................................................... 103

5.1.4 RGB-D 相机模型..................................................................................... 104

5.2 图像................................................................................................................. 106

5.3 实践:计算机中的图像...................................................................................... 107

5.3.1 OpenCV 的基本使用方法 ......................................................................... 107

5.3.2 图像去畸变............................................................................................. 112

5.4 实践:3D 视觉.................................................................................................. 113

5.4.1 双目视觉................................................................................................ 113

5.4.2 RGB-D 视觉 ........................................................................................... 115

第 6 讲 非线性优化 . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

6.1 状态估计问题 ................................................................................................... 121

6.1.1 批量状态估计与最大后验估计.................................................................. 121

6.1.2 最小二乘的引出...................................................................................... 123

6.1.3 例子:批量状态估计 ............................................................................... 125

6.2 非线性最小二乘................................................................................................ 126

6.2.1 一阶和二阶梯度法................................................................................... 127

6.2.2 高斯牛顿法............................................................................................. 128

6.2.3 列文伯格—马夸尔特方法......................................................................... 130

6.3 实践:曲线拟合问题 ......................................................................................... 132

6.3.1 手写高斯牛顿法...................................................................................... 132

6.3.2 使用 Ceres 进行曲线拟合 ......................................................................... 136

6.3.3 使用 g2o 进行曲线拟合............................................................................ 141

6.4 小结................................................................................................................. 148

第 2 部分 实践应用 150

第 7 讲 视觉里程计 1. . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

7.1 特征点法.......................................................................................................... 153

7.1.1 特征点 ................................................................................................... 153

7.1.2 ORB 特征............................................................................................... 155

7.1.3 特征匹配................................................................................................ 158

7.2 实践:特征提取和匹配...................................................................................... 159

7.2.1 OpenCV 的 ORB 特征 .............................................................................. 159

7.2.2 手写 ORB 特征 ....................................................................................... 162

7.2.3 计算相机运动 ......................................................................................... 165

7.3 2D−2D:对极几何............................................................................................. 165

7.3.1 对极约束................................................................................................ 165

7.3.2 本质矩阵................................................................................................ 168

7.3.3 单应矩阵................................................................................................ 170

7.4 实践:对极约束求解相机运动............................................................................ 172

7.5 三角测量.......................................................................................................... 177

7.6 实践:三角测量................................................................................................ 178

7.6.1 三角测量代码 ......................................................................................... 178

7.6.2 讨论....................................................................................................... 179

7.7 3D−2D:PnP..................................................................................................... 180

7.7.1 直接线性变换 ......................................................................................... 180

7.7.2 P3P ............................................................................... 182

7.7.3 最小化重投影误差求解 PnP...................................................................... 184

7.8 实践:求解 PnP ................................................................................................ 188

7.8.1 使用 EPnP 求解位姿 ................................................................................ 188

7.8.2 手写位姿估计 ......................................................................................... 189

7.8.3 使用 g2o 进行 BA 优化 ............................................................................ 191

7.9 3D−3D:ICP..................................................................................................... 196

7.9.1 SVD 方法 ............................................................................................... 196

7.9.2 非线性优化方法...................................................................................... 198

7.10 实践:求解 ICP................................................................................................. 199

7.10.1 实践:SVD 方法 ..................................................................................... 199

7.10.2 实践:非线性优化方法............................................................................ 201

7.11 小结................................................................................................................. 203

第 8 讲 视觉里程计 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205

8.1 直接法的引出 ................................................................................................... 207

8.2 2D 光流............................................................................................................ 208

8.3 实践:LK 光流 ................................................................................................. 210

8.3.1 使用 LK 光流.......................................................................................... 210

8.3.2 用高斯牛顿法实现光流............................................................................ 211

8.3.3 光流实践小结 ......................................................................................... 218

8.4 直接法 ............................................................................................................. 218

8.4.1 直接法的推导 ......................................................................................... 218

8.4.2 直接法的讨论 ......................................................................................... 221

8.5 实践:直接法 ................................................................................................... 221

8.5.1 单层直接法............................................................................................. 221

8.5.2 多层直接法............................................................................................. 226

8.5.3 结果讨论................................................................................................ 227

8.5.4 直接法优缺点总结................................................................................... 230

第 9 讲 后端 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232

9.1 概述................................................................................................................. 234

9.1.1 状态估计的概率解释 ............................................................................... 234

9.1.2 线性系统和 KF........................................................................................ 236

9.1.3 非线性系统和 EKF .................................................................................. 239

9.1.4 EKF 的讨论 ............................................................................................ 241

9.2 BA 与图优化..................................................................................................... 242

9.2.1 投影模型和 BA 代价函数......................................................................... 242

9.2.2 BA 的求解.............................................................................................. 243

9.2.3 稀疏性和边缘化...................................................................................... 245

9.2.4 鲁棒核函数............................................................................................. 251

9.3 实践:Ceres BA ................................................................................................ 253

9.3.1 BAL 数据集............................................................................................ 253

9.3.2 Ceres BA 的书写 ..................................................................................... 253

9.4 实践:g2o 求解 BA ........................................................................................... 257

9.5 小结................................................................................................................. 263

第 10 讲 后端 2. . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

10.1 滑动窗口滤波和优化 ......................................................................................... 266

10.1.1 实际环境下的 BA 结构 ............................................................................ 266

10.1.2 滑动窗口法............................................................................................. 267

10.2 位姿图 ............................................................................................................. 270

10.2.1 位姿图的意义 ......................................................................................... 270

10.2.2 位姿图的优化 ......................................................................................... 270

10.3 实践:位姿图优化............................................................................................. 272

10.3.1 g2o 原生位姿图....................................................................................... 272

10.3.2 李代数上的位姿图优化............................................................................ 277

10.3.3 小结....................................................................................................... 282

第 11 讲 回环检测 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283

11.1 概述................................................................................................................. 285

11.1.1 回环检测的意义...................................................................................... 285

11.1.2 回环检测的方法...................................................................................... 286

11.1.3 准确率和召回率...................................................................................... 287

11.2 词袋模型.......................................................................................................... 289

11.3 字典................................................................................................................. 291

11.3.1 字典的结构............................................................................................. 291

11.3.2 实践:创建字典...................................................................................... 292

11.4 相似度计算....................................................................................................... 295

11.4.1 理论部分................................................................................................ 295

11.4.2 实践:相似度的计算 ............................................................................... 296

11.5 实验分析与评述................................................................................................ 300

11.5.1 增加字典规模 ......................................................................................... 300

11.5.2 相似性评分的处理................................................................................... 302

11.5.3 关键帧的处理 ......................................................................................... 302

11.5.4 检测之后的验证...................................................................................... 303

11.5.5 与机器学习的关系................................................................................... 303

第 12 讲 建图 . . . . . . . .. . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305

12.1 概述................................................................................................................. 306

12.2 单目稠密重建 ................................................................................................... 308

12.2.1 立体视觉................................................................................................ 308

12.2.2 极线搜索与块匹配................................................................................... 309

12.2.3 高斯分布的深度滤波器............................................................................ 311

12.3 实践:单目稠密重建 ......................................................................................... 314

12.3.1 实验分析与讨论...................................................................................... 323

12.3.2 像素梯度的问题...................................................................................... 324

12.3.3 逆深度 ................................................................................................... 325

12.3.4 图像间的变换 ......................................................................................... 326

12.3.5 并行化:效率的问题 ............................................................................... 327

12.3.6 其他的改进............................................................................................. 327

12.4 RGB-D 稠密建图............................................................................................... 328

12.4.1 实践:点云地图...................................................................................... 328

12.4.2 从点云重建网格...................................................................................... 333

12.4.3 八叉树地图............................................................................................. 336

12.4.4 实践:八叉树地图................................................................................... 338

12.5 * TSDF 地图和 Fusion 系列................................................................................. 340

12.6 小结................................................................................................................. 343

第 13 讲 实践:设计 SLAM 系统 . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345

13.1 为什么要单独列工程章节................................................................................... 346

13.2 工程框架.......................................................................................................... 347

13.3 实现................................................................................................................. 349

13.3.1 实现基本数据结构................................................................................... 349

13.3.2 前端....................................................................................................... 354

13.3.3 后端....................................................................................................... 357

13.4 实验效果.......................................................................................................... 361

第 14 讲 SLAM:现在与未来 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363

14.1 当前的开源方案................................................................................................ 364

14.1.1 MonoSLAM ..................................................................................... 364

14.1.2 PTAM .................................................................................................... 365

14.1.3 ORB-SLAM .................................................................................. 366

14.1.4 LSD-SLAM............................................................................................. 369

14.1.5 SVO....................................................................................................... 370

14.1.6 RTAB-MAP............................................................................................. 371

14.1.7 其他....................................................................................................... 372

14.2 未来的 SLAM 话题............................................................................................ 372

14.2.1 视觉 + 惯性导航 SLAM............................................................................ 373

14.2.2 语义 SLAM............................................................................................. 374

14.2.3 SLAM 的未来 ......................................................................................... 375

附录 A 高斯分布的性质 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377

附录 B 矩阵求导 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380

附录 C ROS 入门 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382

参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385

......(更多)

读书文摘

......(更多)

猜你喜欢

点击查看