《视觉 SLAM 十四讲:从理论到实践》出版已经两年多。两年来,这本书经历了 13 次重印,在 GitHub 上拥有 2500 个星星,也在业界引起了广泛的关注和讨论。大多数读者评价是正面的,当然,书中也有些地方不够令人满意。例如,这本书面向初学者,有些应该深入的地方讲得不够深入;书中的数学符号不够统一,有些地方容易令读者产生误解;工程实践章节内容不够丰富,介绍较浅,等等。实际上,我在 2016 年中期开始创作第 1 版,所有文字、图片和代码都是从零开始准备的,再加上当时在读博士,也是第一次写这么厚的书,错漏在所难免。2018 年,我在慕尼黑工大给学生讲 SLAM 课程,期间又积累了一些材料,所以本书从内容上更丰富、更合理。在第 1 版的基础上做了如下改动:
1. 更多的实例。增加了一些实验代码来介绍算法的原理。在第 1 版中,多数实践代码调用了各种库中的内置函数,现在我认为更深入地介绍底层计算会更好,所以本书中的许多代码,除了调用库函数,还提供了底层的实现。
2. 更深入的内容。主要是从第 7 讲至第 12 讲的部分,同时删除了一些泛泛而谈的边角料(比如 GTSAM 相关内容➀)。对第 1 版大部分数学公式进行了审查,重写了那些容易引起误解的内容。
3. 更完善的工程项目。将第 1 版的第 9 讲移至第 13 讲。于是,我们可以在介绍了所有必要知识之后,向大家展现一个完整的 SLAM 系统是如何工作的。相比于第 1 版,我在本书的项目中将追求以精简的代码实现完整的功能,你会得到一个由几百行代码实现的、有完整前后端的 SLAM 系统。
4. 更通俗、简洁的表达。我觉得这是一本好书的标准,特别是当介绍一些看起来高深莫测的数学知识时。我重新制作了部分插图,使它们即使在黑白印刷条件下也能看起来很清楚。
当然,每讲前的简笔画我是不会改的!
总之,我尽量做到深入浅出,也希望本书能够给你带来更加舒适的阅读体验。