SLAM——计算机对世界的感知与理解

管理员账号

2019-08-14

在移动互联网大潮之后,自动驾驶、无人机、服务机器人等人工智能硬件会成为下一个产业爆发点,其中关键的技术之一就是动态定位和环境建模的SLAM技术。

在计算机视觉(Computer Vision)创立之初,人们就想象着有朝一日计算机能和我们一样,用眼睛去观察世界,理解周遭的物体,探索未知的领域。这样一个美妙而又浪漫的梦想,吸引了无数科研人员日夜为之奋斗。

但事情的进展远不如预想那么顺利。我们眼中的花草树木、虫鱼鸟兽,在计算机中只是由一个个数字自排列而成矩阵。让计算机理解图像的内容,就像让我们自己理解这些数字一样困难。更别提让计算机去探索这个世界了。

随着技术的发展,现在的我们终于有了一点点成功迹象:一方面是机器学习技术的发展,使计算机渐渐能够辨别出物体、人脸、声音、文字。另一方面,在SLAM(Simultaneous Localization and Mapping,同时定位与地图构建)发展了将近30年之后,我们的相机渐渐开始能够认识到自身的位置,发觉自己在运动并感受周围的环境,甚至可以进行实时的三维重建。

SLAM技术解决了机器人的一个基础性困难——定位和建图。当设备主体(机器人)来到一个完全陌生的环境时,它可以精准地在运动过程中建立环境模型,同时估计自己的运动。基于此,涌现出一大批与SLAM 相关的应用点:自动驾驶、无人机、服务机器人、虚拟现实和增强现实……

SLAM是计算机对世界的感知和理解,也一直是机器人和计算机视觉的研究热点。

虽然SLAM理论框架基本趋于稳定,但其编程实现仍然较为复杂,有着较高的技术门槛。加之,国内与SLAM 相关的论文、书籍非常匮乏,让许多对SLAM 技术感兴趣的初学者无从一窥门径。刚步入SLAM 领域的研究者,不得不花很长的时间,学习大量的知识,走许多弯路才得以接近SLAM 技术的核心。

幸运的是,2017年《视觉 SLAM 十四讲:从理论到实践》一书出版。作为SLAM第一本话语原创著作,这本书从基础理论到代码实例,系统性讲解SLAM,大大降低了国内学生和相关从业者的进入门槛。

两年来,《视觉SLAM十四讲》一书共经历了 13 次重印,在 GitHub 上拥有 2500 个星星,也在业界引起了广泛的关注和讨论。今天,《视觉SLAM十四讲:从理论到实践(第2版)》带着超40%的内容增补回来了!

本书全面系统地介绍了以视觉传感器为主体的视觉SLAM 技术,并极其重视实践。书中介绍的所有重要算法,都将给出可以运行的实际代码,以求加深读者的理解。在第2版中,我们会讨论大多数算法的内在原理,而非简单地从函数库中进行调用。

之所以这么做,主要是考虑到SLAM 是一项和实践紧密相关的技术。再漂亮的数学理论,如果不能转化为可以运行的代码,就仍是可望而不可及的空中楼阁,没有实际意义。我们相信,实践出真知,实践出真爱。只有实际地演算过各种算法,你才能真正认识SLAM,真正地喜欢上科研。

1.更多的实例。增加了一些实验代码来介绍算法的原理。在第1版中,多数实践代码调用了各种库中的内置函数,现在作者认为更深入地介绍底层计算会更好。所以本书中的许多代码,除了调用库函数,还提供了底层的实现。

2.更深入的内容。主要是从第7讲至第12讲的部分,同时删除了一些泛泛而谈的边角料(比如GTSAM 相关内容)。对第1版大部分数学公式进行了审查,重写了那些容易引起误解的内容。

3.更完善的工程项目。将第1版的第9讲移至第13 讲。于是,我们可以在介绍了所有必要知识之后,向大家展现一个完整的SLAM 系统是如何工作的。相比于第1版,本书的项目中将追求以精简的代码实现完整的功能,你会得到一个由几百行代码实现的、有完整前后端的SLAM 系统。

4.更通俗、简洁的表达。这是一本好书的标准,特别是当介绍一些看起来高深莫测的数学知识时。作者重新制作了部分插图,使它们即使在黑白印刷条件下也能看起来很清楚。

高 翔

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

如果你完全看不懂上面再说什么,那么恭喜你!本书很适合你!只要你对这门新技术感兴趣,在学习本书的过程中肯定会有所收获!你会掌握与SLAM 相关的理论知识,你的编程能力也将有明显的进步。首批拿到第二版的读者给出了这样的评价:

读者评论

  • 高博您好,买了第一版以后觉得有一些还是很迷惑,然后看网上说第二版比第一版增加了很多东西,所以又买了一本。想问一下会有后面几章节的视频讲解么,以及代码解析什么的?

    烧鸡发表于 2019/8/15 19:58:25

相关专题

相关博文

  • 机器学习算法实现解析——word2vec源码解析

    机器学习算法实现解析——word2vec源码解析

    赵志勇 2017-05-23

    在阅读本文之前,建议首先阅读“简单易学的机器学习算法——word2vec的算法原理”(目前还没发布),掌握如下的几个概念: 什么是统计语言模型 神经概率语言模型的网络结构 CBOW模型和Skip-gram模型的网络结构 Hierar...

    赵志勇 2017-05-23
    1020 0 0 0
  • 深度学习第一天“基本概念”

    深度学习第一天“基本概念”

    款热的AI患者 2017-05-07

    人工智能,机器学习,深度学习 人工智能范围宽泛,机器学习是实现人工智能的一种手段,深度学习是人工智能的一个分支。 深度学习发展史 目前深度学习,基本上是神经网络的代名词。 神经网络发展史基本分为三个阶段 第一阶段类似于仿生(McCul...

    款热的AI患者 2017-05-07
    273 1 0 0
  • 初识视觉SLAM:用相机解决定位和建图问题

    初识视觉SLAM:用相机解决定位和建图问题

    管理员账号 2017-05-04

    小编说:视觉SLAM 是指用相机解决定位和建图问题。本文以一个小机器人为例形象地介绍了视觉SLAM的功能及特点。 SLAM 是Simultaneous Localization and Mapping 的缩写,中文译作“同时定位与...

    管理员账号 2017-05-04
    1492 0 0 0