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

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

1星价 ¥64.8 (6.0折)
2星价¥64.8 定价¥108.0
暂无评论
图文详情
  • ISBN:9787121369421
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:其他
  • 页数:408
  • 出版时间:2019-07-01
  • 条形码:9787121369421 ; 978-7-121-36942-1

本书特色

本书系统介绍了视觉 SLAM(同时定位与地图构建)所需的基本知识与核心算法,既包括数学理论基础,如三维空间的刚体运动、非线性优化,又包括计算机视觉的算法实现,例如多视图几何、回环检测等。此外,我们还提供了大量的实例代码供读者学习研究,从而更深入地掌握这些内容。本书可以作为对 SLAM 感兴趣的研究人员的入门自学材料,也可以作为 SLAM 相关的高校本科生或研究生课程教材使用。

内容简介

本书系统介绍了视觉 SLAM(同时定位与地图构建)所需的基本知识与核心算法,既包括数学理论基础,如三维空间的刚体运动、非线性优化,又包括计算机视觉的算法实现,例如多视图几何、回环检测等。此外,我们还提供了大量的实例代码供读者学习研究,从而更深入地掌握这些内容。本书可以作为对 SLAM 感兴趣的研究人员的入门自学材料,也可以作为 SLAM 相关的高校本科生或研究生课程教材使用。

目录

第 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

展开全部

作者简介

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

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航