解读《视觉SLAM十四讲》,带你一步一步入门视觉SLAM—— 前言

什么是SLAM

随着无人驾驶的发展,人们发现对于车辆外部环境的感知,以及车辆自身空间位置的确定变得尤为重要,知道外部环境就解决了“知彼”,而知道车辆本身在环境中的位置,就是“知己”,当我们达到“知己知彼”时,操控车辆在环境中运行,就显得游刃有余。
  
  其实我们可以想象一下我们自己在生活中行走时候的场景,我们首先观察环境,同时我们可以获得自己在环境中的位置,然后我们就可以大胆的向前走了,一边走一边再观察环境获得自己的位置,不断地往复,我们就可以在任何未知、复杂的环境中运动自如。
  
  而这个同时了解外部环境和自身定位的过程就叫做 SLAM,它的英文全称是:Simultaneous Localization and Mapping,译作“同时定位与地图构建”。

SLAM的就业情况

自动驾驶的火热,就代表了SLAM的火热,现在(2019年)不管大小无人驾驶公司,基本都有SLAM的岗位,而且普遍工资都不低,对于一个应届的研究生,拿下三四十万的年薪并不是很难。SLAM相关的博士毕业生工资更是可观,前段时间VINS-MONO的作者,港科大沈邵劼组的博士秦通,拿到华为201万年薪的offer。当然这样的大牛是少数,但是也足以说明SLAM的火热。
  
  SLAM工程师的年薪之所以这么高,一方面是因为自动驾驶的火热,另一方面SLAM是一个门槛很高的方向,它的理论知识很多,而且有些十分抽象,并且国内现在做这个方向的人还不是很多。不像是深度学习一个月就能入门,立马就能着手做一些东西,SLAM可能学了一年,还会觉得自己好像啥也不会,连一个完整的简单代码都写不出来。

我的SLAM学习历程

我是研一下的时候开始接触并学习SLAM,当时我们组调研一些资料,最终确定学习视觉SLAM。从那时起我的主要经历就放在SLAM的学习上了。现在还有大半年我就毕业了,算来学习SLAM也有两年的时间了,尽管看上去两年时间挺长的,但是我的大部分时间都是在自学,所以期间走了不少弯路,直到现在我都不觉得自己已经入门SLAM了,我觉得我只是找到了一些学习SLAM的感觉了。
  
  趁着毕业之前最后一些时间,给自己定下一个目标,挤出一些时间来,总结一下自己SLAM上学到一些东西,一方面是将知识记录下来,另一方面也是将自己前期学习中留下的坑,填一填。

关于《视觉SLAM十四讲》

对于SLAM初学者,一本高质量内容友好的教材非常重要,我在学习SLAM的时候,高翔的《视觉SLAM十四讲 从理论到实践》,给了我巨大的帮助,这本书是国内目前能看到的SLAM教材中,我觉得它算的上是最全面,最通俗的一本教材了。有些人说它不好,不适合初学者,这也无可厚非,确实这本书,为了突出一些内容和节省篇幅,省掉了很多算法的介绍,初学者读起来,会很吃力。

比方说第七讲,

尺度不变性由构建图像金字塔,并在图像金字塔的每一层上检测角点来实现

尽管这一句话并没有几个字,但是这一句话中隐藏的算法知识非常多,首先我们要知道什么是尺度不变性,其次我们还要知道什么是图像金字塔,但是这些东西在书中并没有给出解释。
  
  像这样被省略掉的算法知识点很多,有些对于公式的推导也省略了一些过程,对于初学者的理解造成不少麻烦。我在初读这本书的时候,其中很多这样的知识令我困惑。经过一些时间的学习之后,对其中的内容有了一些了解,我想借此再次拜读一下这本书,对其中的一些内容进行解读,对于一句话就带过的,但是很重要的算法,进行进一步的扩充,对于一些代码,再加上更详细的注释。

希望我可以坚持住,直到写完整本书的内容解读,加油。

你所浪费的今天,是许多人祈求奢望的明天;你所面对的现在,是未来的你回不去的曾经。

更新(2020年3月7日)

解读十四讲的内容基本就要写完了,过程中我不断地翻看之前的内容,每次看都觉得自己的写东西还不够好,常常写着写着就没有新东西,就完全变成解释书中的内容了,这一点是我特别不满意的地方,感觉这样一方面自己没有得到很大提高,另一方面内容也不够完善。
  
  在又一遍通读此书之后,我还是觉得这本书离你能自己写出一个简单的SLAM系统还很遥远,一个原因是因为书中的内容实际还是过于简单,另外一个重要的原因是书中为了考虑篇幅,省略了一些非常重要的算法的介绍,这些算法稍显复杂,但是在工程实际中确实是最常使用的,比如在PnP求解中常采用的一种方法是EPnP,而书中却并未介绍,又比如对于E矩阵和H矩阵,实际上的从它们分解出R和t也是非常重要的一步,但是书中也并未解释,我觉得这些内容对于初学SLAM的同学来说,会稍显复杂,但是这是一个必不可少的环节,你终究是要去学习一些更复杂的算法。这些被作者省略的内容,实际上你都能很容易的找到对应的资料或者论文研读,但是如果没有一些基础知识,直接看势必有些晦涩。
  
  所以我准备继续填补我在学习十四讲中的一些坑,继续挖掘一些更深层次的算法,也许这些算法都已经有人介绍过了,我想在别人的基础之上,再学习理解一下,然后将自己的理解记录在博客中,以达到促进自己不断学习的目的,如果能为那些初学SLAM的朋友带来帮助,我将不胜荣幸。
  
  后续我希望继续补充之前解读的内容,但是新加入的内容,我会明显标示出来。
  
  我还有一句忠告,送给那些正在学习的人,学习算法一定要多动手,如果你是初学者一定要耐下性子,去自己实现一些简单的算法,不要觉得这样是浪费时间,我就是因为这方面欠缺,现在开始显露一下问题。
  
  最后最后,我要感谢那些在抗疫一线奋斗的可爱的同学,是你们的辛苦让我们拥有健康的生活。

  • 17
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值