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 相关的理论知识,你的编程能力也将有明显的进步。首批拿到第二版的读者给出了这样的评价:

读者评论

  • Hi 高老师
    第二版ch4 程序编译出现以下问题,尚未找出原因,能否帮忙看看

    /home/cloudfu/slambook2/slambook2/ch4/build> make -j4
    Scanning dependencies of target useSophus
    [ 50%] Building CXX object CMakeFiles/useSophus.dir/useSophus.cpp.o
    /home/cloudfu/slambook2/slambook2/ch4/useSophus.cpp:5:10: fatal error: sophus/se3.hpp: No such file or directory

    include “sophus/se3.hpp”

          ^~~~~~~~~~~~~~~~
    

    compilation terminated.
    CMakeFiles/useSophus.dir/build.make:62: recipe for target ‘CMakeFiles/useSophus.dir/useSophus.cpp.o’ failed
    make[2]: [CMakeFiles/useSophus.dir/useSophus.cpp.o] Error 1
    CMakeFiles/Makefile2:67: recipe for target ‘CMakeFiles/useSophus.dir/all’ failed
    make[1]:
    [CMakeFiles/useSophus.dir/all] Error 2
    Makefile:83: recipe for target ‘all’ failed
    make: [all] Error 2 Failure: Exit code 2 *

    cloud.fu发表于 2019/8/30 11:07:54
    • 测试了下,还是需要make install

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

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

相关专题

相关博文

  • 用GPU进行TensorFlow计算加速

    用GPU进行TensorFlow计算加速

    管理员账号 2018-03-01

    小编说:将深度学习应用到实际问题中,一个非常大的问题在于训练深度学习模型需要的计算量太大。为了加速训练过程,本文将介绍如何如何在TensorFlow中使用单个GPU进行计算加速,也将介绍生成TensorFlow会话(tf.Sessio...

    管理员账号 2018-03-01
    5188 0 3 1
  • AI 大战高考作文!实测 ChatGPT、文心一言、通义千问等 8 款“神器”

    AI 大战高考作文!实测 ChatGPT、文心一言、通义千问等 8 款“神器”

    博文小编 2023-06-12

    2023 年高考作文题目火热出炉,其中全国甲卷作文题引人深思: 人们因技术发展得以更好地掌控时间,但也有人因此成了时间的仆人。 身处技术圈的我们,对于这句话可能有很多话想说。而对于这个话题,CSDN 也想问问近来大火的 AI 技术本...

    博文小编 2023-06-12
    280 0 0 0
  • 提示工程七巧板:让ChatGPT发挥出最佳性能

    提示工程七巧板:让ChatGPT发挥出最佳性能

    博文小编 2023-06-09

    机器有机器的作用,人有人的独特个性和价值。 正因为如此, 一方面,ChatGPT 等人工智能语言模型需要通过不断与人类的公共知识信息数据交互、汇聚,不断与人类进行对话,才能拥有越来越好的智能表现; 另一方面,作为人工智能机器...

    博文小编 2023-06-09
    61 0 0 0