如何从零开始系统化学习视觉SLAM?

2019 年 4 月 13 日 计算机视觉life


什么是SLAM?


SLAM是 Simultaneous Localization And Mapping的 英文首字母组合,一般翻译为:同时定位与建图、同时定位与地图构建。虽然听起来比较拗口,但SLAM却是三维视觉的核心技术,广泛应用于AR、自动驾驶、智能机器人、无人机等前沿热门领域。可以说凡是具有一定行动能力的智能体都拥有某种形式的SLAM系统。关于SLAM的具体应用场景介绍可以看《SLAM有什么用?


SLAM是计算机视觉技术的下一个风口


相比于计算机 视觉领域的另一个热门:深度学习,SLAM技术尚处于技术爆发前期。这是因为:


  • 在学术研究 方面:从最近几年计算机视觉的三大顶级会议CVPR, ICCV,  ECCV 录用论文来看,以SLAM技术为核心的三维视觉论文正在快速增长;

  • 在硬件设备方面:以双目相机、深度相机为代表的消费级3D相机最近几年发展迅猛,国内外已经形成了成熟的产业链。3D相机在智能手机、智能眼镜等设备上应用越来越多,以手机为例,苹果、华为、小米、OPPO、VIVO等手机大厂都在积极推动深度相机在手机上的普及。

  • 在应用场景方面:最近几年无人机,智能机器人,自动驾驶汽车,AR设备的快速发展也极大促进SLAM技术在现实场景中的应用。

雷军说,站在时代的风口,猪都能飞起来。可以预见,SLAM技术是计算机视觉技术继深度学习后的下一个爆发的风口,关于这方面详情见《为什么要学SLAM?》。


学习SLAM如何入门?


那么,想要学习SLAM如何入门呢?


我们还是先拿深度学习做个对比。从研究角度出发,深度学习相对容易入门,这是由于深度学习本身黑盒子的特点,很多从业者不需要了解图像处理、计算机视觉的基础知识便可以得到一个相对较好的结果,因此入门门槛并不是很高。但事情都具有两面性,门槛越低的行业,也容易被替代


而学习SLAM则需要具备三维空间刚体变换、相机成像模型、特征点提取与匹配、多视角几何、非线性优化等内容。这对于非该领域的从业者来说算是较高的门槛,也需要花费不少的时间来打基础。这个过程可能比较痛苦,但是熬过了这个过程,你就拥有了自己独有的核心竞争力,不用担心轻易被取代,未来会有非常强的竞争力


但是目前关于SLAM学习的资料不多,而且参差不齐,初学者推荐高翔的《视觉SLAM十四讲》,该书也是本教程的必备参考书籍,虽然本书写的已经比较基础,但很多小伙伴在学习期间仍然会遇到很多困难:公式看不懂,代码不会写,不知道怎么入手等,白白浪费了时间和精力,甚至因此放弃了该方向的研究,白白错过了时代的风口


有没有好的入门方法?


首先,我们来看看入门都需要哪些知识。这篇文章告诉你《学习SLAM到底需要学什么?》,以下是笔者所总结的SLAM学习的知识树:


限时优惠福利


《从零开始学习SLAM》知识星球

原价108元,限时优惠只需88元

(优惠截止日期:2019年4月20号)

扫码即可加入学习

支持三天内无条件退款(退款2次无法再加入)


有效期一年,平均每天不到0.3元,就能够和一群优秀的SLAM从业者一起交流进步,甚至解决就业问题。AI时代,最好的投资就是投资自己的大脑


《从零开始学习SLAM》知识星球

星主是中科院毕业博士,目前在某CV公司从事视觉SLAM相关研究工作。星球主要有以下几个亮点:


1、技术介绍全面,不枯燥。该系列从最基础的知识开始介绍,一次只介绍一个具体的知识点,以形象生动的公众号图文结合视频课程,一点点深挖SLAM的各个重要技术点。有效期一年(从加入时间开始往后一年有效,到期仍可查看之前所有内容,查看新内容需续费),平时忙也没关系,有空可以反复看。


2、有习题,重视实践。笔者会根据不同知识点设计一些实用性的练习题(推导、编程等),俗话说,光看不做假把式,适当的练习能够加深读者的理解,把知识消化吸收为自己所用。


3、高质量的交流学习社区。练习题参考答案都会放到知识星球「从零开始一起学习SLAM」里,并会根据作业情况进行不定期讲解。星球内所有成员都可以进行发布问题、分享知识、上传资源、点赞、留言、赞赏、收藏等操作。而所有的交流讨论、资源分享等都可以沉淀下来并方便日后查询。遇到问题可以在星球里免费提问,星主看到后会及时答疑解惑 。


4、精选SLAM常见面试题,定期发布在星球里,引导大家讨论,并提供参考答案,帮助找工作的同学从容面试。目前已经有几十条SLAM常见面试题目和详细解答。


SLAM学习大纲

 

工具类

1、  熟悉Linux指令及基本操作

2、  熟悉Cmake基本操作 

3、  熟悉C++编程,能看懂会使用C++11新特性 

4、  熟悉Clion集成开发环境 

5、  熟练掌握计算机视觉库OpenCV 

6、  熟练掌握几何库Eigen 

7、  熟练掌握李代数库Sophus

8、  熟练掌握点云库PCL

9、熟练掌握图优化库G2o

10、  熟练掌握非线性优化库Ceres

。。。

 

基础知识

1、  SLAM发展概况,宏观了解SLAM应用场景 

2、  使用齐次坐标的原因及应用 

3、  三维空间刚体旋转的表示方法,重点是四元数、旋转矩阵 

4、  李群李代数在SLAM中的应用背景、推导关键公式

6、  双目相机模型 

7、  RGB-D相机成像原理 

8、  点云处理

9、  相机畸变模型及去畸变方法 

10、对极几何 

11、单应矩阵 

12、相机标定

13、特征点提取、匹配、筛选

14、视觉里程计

15、梯度下降、牛顿法、高斯牛顿、LM、图优化方法

16、PNP、ICP、Bundle Adjustment

17、回环检测

。。。

 

亮点

1、  优秀论文讲解

2、  RGB-D稠密重建

3、  点云网格化

4、  三维模型重建

5、  从零开始手写一个完整SLAM

。。。

 

注:

1、  新进星球的同学可以关注 置顶的“内容快速导航”,尽早跟上节奏。

2、  一般隔一段时间会集中视频讲解一下作业,梳理一下常见问题和注意事项,所以大家没提交作业的尽早提交哈。做的不好没关系,关键要真的去做作业。

3、  本课程优势:

  • 会增加比较实用的知识(如点云处理、三维重建等)和编程经验(调试方法、容易出错点讲解)

  • 练习题实用性强,所有提交的作业都会批改,及时指出错误,也可以从其他人的作业中发现不同的做法,快速提高

  • 重点公式/代码细致讲解

  • 循序渐进写出一个完整SLAM

  • 研究方向选择、考研/考博、工作选择等问题都可以免费提问

 

知识星球需付费加入,随着人数增多,会适当调高价格,越早加入价格越优惠。此外,星球还会红包奖励积极分享、解答问题的成员,只要每天0.3元 ,就能够把握时代的风口,和一群优秀的SLAM从业者一起交流进步,甚至解决就业问题。快用微信扫下面二维码加入SLAM学习圈~


下面是星球里的部分讨论交流截图


如果没有考虑好是否加入星球也没关系。可以关注笔者公众号:计算机视觉life


 可以查看、学习以下笔者发布的SLAM学习系列文章,都是免费的哦~

把握时代风口,越早加入越有价值~


以下 是公众号部分文章:

从零开始一起学习SLAM | 为什么要学SLAM?
从零开始一起学习SLAM | 学习SLAM到底需要学什么?

从零开始一起学习SLAM | SLAM有什么用?

从零开始一起学习SLAM | C++新特性要不要学?

从零开始一起学习SLAM | 为什么要用齐次坐标?

从零开始一起学习SLAM | 三维空间刚体的旋转

从零开始一起学习SLAM | 为啥需要李群与李代数?

从零开始一起学习SLAM | 相机成像模型

从零开始一起学习SLAM | 不推公式,如何真正理解对极约束?

从零开始一起学习SLAM | 神奇的单应矩阵

从零开始一起学习SLAM | 你好,点云

从零开始一起学习SLAM | 给点云加个滤网

从零开始一起学习SLAM | 点云平滑法线估计

从零开始一起学习SLAM | 点云到网格的进化

从零开始一起学习SLAM | 理解图优化,一步步带你看懂g2o代码

从零开始一起学习SLAM | 掌握g2o顶点编程套路

从零开始一起学习SLAM | 掌握g2o边的代码套路

SLAM初识

SLAM技术框架

惯性导航系统简介

视觉里程计:起源、优势、对比、应用

视觉里程计:特征点法之全面梳理

SLAM领域牛人、牛实验室、牛研究成果梳理

我用MATLAB撸了一个2D LiDAR SLAM

可视化理解四元数,愿你不再掉头发

IMU标定 | 工业界和学术界有什么不同?

汇总 | VIO、激光SLAM相关论文分类集锦

最近一年语义SLAM有哪些代表性工作?

视觉SLAM技术综述

研究SLAM,对编程的要求有多高?

深度学习遇到SLAM | 如何评价基于深度学习的DeepVO,VINet,VidLoc?

2018年SLAM、三维视觉方向求职经验分享

新型相机DVS/Event-based camera的发展及应用

最近三年开源「语义SLAM/分割/建模」方案介绍

超详细干货 | 三维语义分割概述及总结


长按识别进入星球

登录查看更多
21

相关内容

即时定位与地图构建(SLAM或Simultaneouslocalizationandmapping)是这样一种技术:使得机器人和自动驾驶汽车等设备能在未知环境(没有先验知识的前提下)建立地图,或者在已知环境(已给出该地图的先验知识)中能更新地图,并保证这些设备能在同时追踪它们的当前位置。
专知会员服务
129+阅读 · 2020年7月10日
【开放书】SLAM 中的几何与学习方法,62页pdf
专知会员服务
109+阅读 · 2020年6月5日
基于视觉的三维重建关键技术研究综述
专知会员服务
160+阅读 · 2020年5月1日
3D目标检测进展综述
专知会员服务
191+阅读 · 2020年4月24日
专知会员服务
86+阅读 · 2019年12月13日
【开源书】PyTorch深度学习起步,零基础入门(附pdf下载)
专知会员服务
110+阅读 · 2019年10月26日
计算机视觉方向简介 | 视觉惯性里程计(VIO)
计算机视觉life
64+阅读 · 2019年6月16日
SLAM中VIO的优势及入门姿势
计算机视觉life
87+阅读 · 2019年5月7日
对比激光SLAM与视觉SLAM:谁会成为未来主流趋势?
人工智能学家
8+阅读 · 2018年11月13日
从零开始一起学习SLAM | SLAM有什么用?
计算机视觉life
18+阅读 · 2018年9月17日
从零开始一起学习SLAM | 学习SLAM到底需要学什么?
计算机视觉life
8+阅读 · 2018年9月9日
零基础小白,如何入门计算机视觉?
计算机视觉life
9+阅读 · 2018年3月8日
牛逼哄哄的SLAM技术即将颠覆哪些领域
算法与数学之美
5+阅读 · 2017年11月15日
推荐|视觉SLAM漫淡:机器人即时定位与地图构建!
全球人工智能
8+阅读 · 2017年9月30日
SLAM初识
计算机视觉life
5+阅读 · 2017年6月4日
已删除
Arxiv
32+阅读 · 2020年3月23日
Arxiv
101+阅读 · 2020年3月4日
Arxiv
20+阅读 · 2019年9月7日
Arxiv
29+阅读 · 2018年4月6日
VIP会员
相关VIP内容
专知会员服务
129+阅读 · 2020年7月10日
【开放书】SLAM 中的几何与学习方法,62页pdf
专知会员服务
109+阅读 · 2020年6月5日
基于视觉的三维重建关键技术研究综述
专知会员服务
160+阅读 · 2020年5月1日
3D目标检测进展综述
专知会员服务
191+阅读 · 2020年4月24日
专知会员服务
86+阅读 · 2019年12月13日
【开源书】PyTorch深度学习起步,零基础入门(附pdf下载)
专知会员服务
110+阅读 · 2019年10月26日
相关资讯
计算机视觉方向简介 | 视觉惯性里程计(VIO)
计算机视觉life
64+阅读 · 2019年6月16日
SLAM中VIO的优势及入门姿势
计算机视觉life
87+阅读 · 2019年5月7日
对比激光SLAM与视觉SLAM:谁会成为未来主流趋势?
人工智能学家
8+阅读 · 2018年11月13日
从零开始一起学习SLAM | SLAM有什么用?
计算机视觉life
18+阅读 · 2018年9月17日
从零开始一起学习SLAM | 学习SLAM到底需要学什么?
计算机视觉life
8+阅读 · 2018年9月9日
零基础小白,如何入门计算机视觉?
计算机视觉life
9+阅读 · 2018年3月8日
牛逼哄哄的SLAM技术即将颠覆哪些领域
算法与数学之美
5+阅读 · 2017年11月15日
推荐|视觉SLAM漫淡:机器人即时定位与地图构建!
全球人工智能
8+阅读 · 2017年9月30日
SLAM初识
计算机视觉life
5+阅读 · 2017年6月4日
相关论文
已删除
Arxiv
32+阅读 · 2020年3月23日
Arxiv
101+阅读 · 2020年3月4日
Arxiv
20+阅读 · 2019年9月7日
Arxiv
29+阅读 · 2018年4月6日
Top
微信扫码咨询专知VIP会员