如何从零开始系统化学习视觉SLAM?
由于显示格式问题,建议阅读原文:如何从零开始系统化学习视觉SLAM?
什么是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》知识星球
扫码即可加入学习!
支持三天内无条件退款(退款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学习圈~
下面是星球里的部分讨论交流截图:
(由于显示格式问题,图片显示有问题,建议阅读原文:如何从零开始系统化学习视觉SLAM? )
如果没有考虑好是否加入星球也没关系。可以关注笔者公众号:计算机视觉life
可以查看、学习以下笔者发布的SLAM学习系列文章,都是免费的哦~
把握时代风口,越早加入越有价值~
以下 是公众号部分文章:
由于格式问题,部分链接显示有问题,建议阅读原文:
如何从零开始系统化学习视觉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领域牛人、牛实验室、牛研究成果梳理
我用MATLAB撸了一个2D LiDAR SLAM
可视化理解四元数,愿你不再掉头发
最近一年语义SLAM有哪些代表性工作?
视觉SLAM技术综述
汇总 | VIO、激光SLAM相关论文分类集锦
研究SLAM,对编程的要求有多高?
2018年SLAM、三维视觉方向求职经验分享
2018年SLAM、三维视觉方向求职经验分享
深度学习遇到SLAM | 如何评价基于深度学习的DeepVO,VINet,VidLoc?
视觉SLAM关键方法总结
如何从零开始系统化学习视觉SLAM?相关推荐
- 基于树莓派3b+学习视觉slam
基于树莓派3b+学习视觉slam(1) 搭建ubuntu mate16.04 参考jacka654321的博客树莓派3B+安装Ubuntu Mate 16.04 PS:本人使用外接显示屏与外设并没有用 ...
- SLAM学习--视觉slam学习教材推荐(附相关技术文档下载链接)
(理论上看完前三本,足够掌握视觉slam的所有理论知识,实践部分参考各种开源代码) 一.<视觉slam十四讲>,高翔,清华大学出版社,(目前已出第二版,优先推荐) 以上教材,其实是基于国外 ...
- [学习SLAM]深度学习+视觉SLAM 的可行性/方向
时间:2019.07 作者:干磊 背景:本文统计的是2018年及以前的相关论,未涉及2019年的论文. 1,深度学习+SLAM的可行性 长期来讲,深度学习有极大可能会去替代目前SLAM技术中的某些模块 ...
- 计算机视觉与深度学习 | 视觉SLAM详解及应用(中文版)
/********************************************************** github:https://github.com/MichaelBeechan ...
- 从零开始一起学习SLAM-ICP原理及应用
点"计算机视觉life"关注,星标更快接收干货! 小白:师兄,最近忙什么呢,都见不到你人影,我们的课也好久没更新了呢 师兄:抱歉,抱歉,最近忙于俗事.我后面一起补上,学习劲头得向你 ...
- tensorflow 语义slam_研究《视觉SLAM十四讲从理论到实践第2版》PDF代码+《OpenCV+TensorFlow深度学习与计算机视觉实战》PDF代码笔记...
我们知道随着人工神经网络和深度学习的发展,通过模拟视觉所构建的卷积神经网络模型在图像识别和分类上取得了非常好的效果,借助于深度学习技术的发展,使用人工智能去处理常规劳动,理解语音语义,帮助医学诊断和支 ...
- 视觉slam学习|基础篇01
系列文章目录 SLAM基础篇01 SLAM基础篇02 目录 系列文章目录 前言 SLAM是干什么的? SLAM的数学建模 机器人学基础 齐次矩阵 关于旋转的表示:旋转向量.欧拉角.四元数 李群和李代数 ...
- 视觉slam发展史--从开始到未来
1980年,Hans Moravec的在斯坦福大学的博士论文已经用视觉在机器人导航避障中使用. Hans Moravec是占据栅格地图的缔造者. Hans Moravec. Obstacle Avoi ...
- 关于视觉SLAM的最先进技术的调查-A survey of state-of-the-art on visual SLAM
原文见文章末尾: 今天读了一篇视觉slam的综述,真的是读了一天,记录一下.我比较关注的是特征提取和匹配和深度学习有关的章节.好久,但是还算是有收获的吧. 摘要: 本文概述了视觉同步定位和测绘(V-S ...
最新文章
- sp_MSforeachtable使用方法
- jmap -histo pid 输出的[C [B [I [S methodKlass的含义
- MySQL在单表上创建视图
- 网站服务器被攻击的形式,服务器被攻击的不同表现类型以及应对策略
- Spring Boot Log4j2 日志学习
- HDU3363_贪心
- 神奇!一行代码实现删除某集合下标20-30的元素
- Activity简介
- 用Python显示灰度图像的灰度直方图
- mencoder使用
- 爱普生690k打印针测试软件_针式打印机断针测试软件_9针、24针打印机断针测试 V1.3 下载...
- Python项目如何打包成whl文件
- webservice 传输加密
- 如何在BIOS中开启虚拟化技术
- 【SaltStack官方版】—— EventsReactor系统—BEACONS
- ArtWork(并查集+降维)
- DEFCON GROUP 010上竟玩了这些好玩的东西!
- 2020年C/C++精选面试题及答案(三)
- 144G在线网页制作html系统源码下载
- 小白都能看懂的go语言包管理工具DEP详解