点击上方“计算机视觉life”,选择“星标”
快速获得最新干货

前言

最近因为疫情在家办公,连续直播了好几次,直播间很多刚入门的小伙伴问的最多的问题,我列举了一下:
  • 学完十四讲,下一步怎么办?
  • 一直停留在理论层面,不知道怎么开始实战
  • 刚入门,基础不好,推荐哪些视觉SLAM框架?
  • 想找一个SLAM开源框架,方便二次开发的那种,主播有什么推荐吗?
  • 看了一些论文,有些思路,但是自己实现有些困难,怎么办?
  • 有哪些适合初学者的学习路径?
  • ……
这些问题是刚刚踏进视觉SLAM门槛的小伙伴最常见的问题,我当初也有类似的困惑,我推荐的学习路径是:
  1. 学习语言基础,《C++ Primer》必看,最好代码跟着敲一遍。如果想要精进,可以看看哔哩哔哩上黑马程序员的C++免费课程,质量很不错。
  2. 学习《视觉SLAM十四讲》,书上的原理要看懂,代码要自己编译运行调试。如有余力,建议学一学OpenCV编程、《数字图像处理》。
  3. 挑一个开源框架学透它。这个开源框架最好满足如下条件:功能全面、研究的人比较多、可扩展性强、方便二次开发、代码规范、难度适中、最好持续更新中。能够满足这个条件的开源框架基本就只有ORB-SLAM2了,该代码的作者团队还在持续更新,一年多前开源了ORB-SLAM3,至今仍然在不断的更新和打补丁,预计后续还会有ORB-SLAM4。
  4. 基于ORB-SLAM2代码去做移植,实地测试,改进遇到的问题。或者在ORB-SLAM2基础上增加稠密建图、语义地图、动态场景等等,都是很好的思路,毕竟借助现有框架二次开发是比较高效的。事实上,发表在ICRA, IROS等很多顶会的工作都是基于ORB-SLAM2框架的延伸。
正是基于上述第3点,我选择了ORB-SLAM2作为计算机视觉life平台的第一门课程,至今已有1700+名学员,课程也在不断的完善和更新。
第4期《视觉SLAM必学基础:ORB-SLAM2源码解析:从 理论到实战》开始预售!4月22日正式开课
课程中不仅讲述了源码中涉及到的所有视觉SLAM理论知识,而且讲师中文详细注释源码并逐行讲解,学员学完可以直接上手做项目理论与实战并重,并且针对每章提供对应的作业和考试,并根据学习情况每月有机会获得100元学习基金,根据周作业、大作业、课程完成度等数据,评选最终的课程优秀学员,全额退还课程费用+发放优秀学员证书+至少1次内推机会!
ORB-SLAM2第4期预售,开课前立减100元,扫描学习↓
购买课程后添加此微信进答疑群,如果对课程有疑问,也可加下面微信咨询↓

什么是视觉SLAM?

先说说SLAM的定义。SLAM是指某种移动设备(如机器人、无人机、手机、汽车、智能 穿戴设备等) 从一个未知环境里的未知地点出 发, 在运动过程中通过传感器(如相 机、激光雷达、 IMU等)观测定位 自身位置和姿态,再根据自身位 姿进行增量式的地图构建, 从而达到同时定位和地图构建的 目的。
如果SLAM过程使用的主要是视觉相关的传感器(如单目、双目、RGB-D、鱼眼、全景相机),一般称之为视觉SLAM。目前最知名的、效果最好的视觉SLAM是ORB-SLAM2/3系列。

ORB-SLAM2/3简介

2015年,西班牙萨拉戈萨大学机器人感知与实时研究组开源了ORB-SLAM第一个版本,由于其出色的效果受到广泛关注。该团队分别在2016年和2020年开源了第二个版本ORB-SLAM2和第三个版本ORB-SLAM3。
其中ORB-SLAM2是业内最知名、应用最广泛的开源代码。它有如下优点:
  • 支持单目,双目和RGB-D相机的完整开源SLAM方案,能够实现地图重用、回环检测和重新定位的功能。
  • 支持轻量级定位模式,可以达到零漂移,此时不使用局部建图和回环检测的线程,可以用视觉里程计来跟踪未建图区域。
  • 采用ORB特征,具有旋转不变性、光照不变性、尺度不变性,匹配速度快,适合实时应用。无论是在室内的小型手持设备,还是到工厂环境的无人机和城市里驾驶的汽车,ORB-SLAM2都能够在CPU上进行实时工作。
  • 跟踪、局部地图、闭环、重定位等所有的任务都采用相同的ORB特征,使得系统内数据交互更高效、稳定可靠。
  • 单目初始化和应用场景解耦,不管是平面还是非平面场景,都可以自动初始化,无需人工干预
  • 地图点和关键帧创建比较宽松,但后续会进行严格筛选,剔除冗余关键帧和误差大的地图点,增加建图过程的弹性,在大旋转、快速运动、纹理不足等恶劣情况下可以提高跟踪的鲁棒性
  • 采用共视图,使得跟踪和建图控制在局部共视区域,与全局地图大小无关,可以在大场景下运行
  • 使用本质图(Essential Graph)来优化位姿实现回环检测,耗时少精度高 。
  • 相比于直接法,可以用于宽基线特征匹配,更适合于对深度精度要求较高的场景,比如三维重建。
  • 定位精度高,可达厘米级,是特征点法SLAM的经典代表作品。
  • 代码可读性强,包含很多工程化技巧,非常实用。
下面是ORB-SLAM2的算法框架

ORB-SLAM2/3效果展示

ORB-SLAM2 在汽车上应用
ORB-SLAM2 手持设备上的定位
ORB-SLAM2 用于室内三维重建
ORB-SLAM3在上个版本基础上,增加了视觉惯性里程计、多地图融合、适配鱼眼相机等功能,精度碾压同类型算法(见下图),功能强大到让SLAM算法研究者感慨“把自己想做的都做了”
看 ORB-SLAM3 疯狂绕圈,稳的很!
甚至滑滑梯从黑管子中穿过!

课程大纲

招生时间:

为了保证课程学习质量,本期招生限200名学员,招满即止;
招生日期:2022/4/2-2022/7/31
开课日期:2022/4/22
总共11周,约100个教学视频!每周都有精心设计的对应章节的作业考试!定期公布成绩榜单!
课程安排可参考学习规划表(群内通知)~

为什么需要学习本课程?

  • ORB-SLAM2是视觉SLAM中特征点法的开源代表作,是学习SLAM必学的第一个开源算法。同时支持单目、双目、RGBD相机,涵盖视觉SLAM领域核心算法,包括地图初始化、实时跟踪、局部建图、回环检测、BA优化,工程技巧等。本课程帮助学员系统掌握整个SLAM知识体系,迅速入门和提升。
  • 企业对视觉SLAM从业者的要求越来越高,只有深入理解视觉SLAM原理与源码实现,具备工程实践经验,举一反三,才具有核心竞争力。
  • ORB-SLAM2源码庞大,涉及大量的SLAM理论,内部逻辑复杂,自学入门难度大,通过课程学习,结合详细代码注释和独家示意图,可以快速掌握代码细节和底层技术原理,帮助学员节省大量入门时间,踏实掌握SLAM工程经验。
  • 是学习进阶算法ORB-SLAM3的必备基础

学完课程可以收获什么?

  • 本课程延续我们一贯的学以致用风格,带领学员从零开始编译、运行、学习源码,并讲解算法落地的工程实践技巧代码改进方向等,快速上手做项目。
  • 学完课程,可以掌握:地图初始化、跟踪、局部建图、闭环检测、BA优化等原理及底层代码,吃透ORB-SLAM2核心算法;掌握视觉SLAM中重难点:特征均匀化、共视图、关键帧、Spanning tree、Essential graph、local/global BA、EPnP、BoW、Sim3等,具备扎实的VSLAM理论实践基础;掌握CMake、多线程、编程调试、代码改进、量化结果评价等项目实战经验,具备项目研发能力、举一反三能力。
  • 理论与实践并重,理解原理如何在代码中具体实现,掌握代码中的工程实践技巧,在实际应用场景中改进提升。具备改进思路、项目实战经验与工程研发能力
  • 学完本门课程,学员可以达到工作1年的视觉SLAM算法工程师水平

课程适合人群及基础要求

  • 适合人群:想要快速入门的高年级本科生、硕士、博士研究生等,有项目需求需要快速拥有实战经验的工程师。希望能够快速上手并学以致用的从业者。自学能力差、需要有人督促带动一起学习的朋友。
  • 应用领域:自动驾驶、增强/混合现实、机器人、无人机等。
  • 要求基础:理工科专业,有一定的C/C++编程基础,正在或已经阅读《视觉SLAM十四讲》
  • 运行环境:Ubuntu 16.04/18.04/20.04 均可,推荐Ubuntu 18.04
  • 硬件要求:普通台式机/笔记本电脑均可,无需GPU。课程使用公开数据集,不需要机器人、相机传感器等其他硬件

课程讲师及注释代码

小六,中科院博士、多年视觉SLAM从业经验、计算机视觉life公众号创始人。课程讲解细致,善于将复杂的原理用图表具象化,帮助学员快速理解复杂的源码并理解背后的物理意义,教学耐心仔细,广受学员好评。他也是《ORB-SLAM3源码详解》课程讲师。
讲师注释代码:
ORB-SLAM2中文注释代码
https://github.com/electech6/ORB_SLAM2_detailed_comments
ORB-SLAM3中文注释代码
https://github.com/electech6/ORB_SLAM3_detailed_comments
ORB-SLAM2第4期预售,开课前立减100元,扫描学习↓
购买课程后添加此微信进答疑群,如果对课程有疑问,也可加下面微信咨询↓

作业、全额返现、学习基金

课程持续迭代优化

  1. 结合前面几期学员的反馈,对课程内容进行升级,补录、增录、重录重点内容。包括:补充提炼知识、重点论文讲解、整体框架的把握、疑难点可视化、图表勘误等。
  2. 增加学员加油站内部直播(仅学员观看,无录播)。涉及内容包括:求职经验、行业趋势、论文讲解、SLAM学习经验等。

作业重磅提升!

  1. 每章节增加针对本章学习内容的作业和考试,需要在规定时间内完成作业。学习视频+作业考试巩固强化~学习效果双倍提高!
  2. 全程陪伴式学习,定期公示学习情况排行榜,班主任跟进自制力较差学员~再也不怕学习掉队!
  3. 不定期内部直播,分享学习经验和作业思路~学习收获UP UP UP!

学习基金 & 优秀学员全额返现!

每个学员有3次拿奖机会:包括2次月度优秀学员(退款100),1次最终课程优秀学员(全额退款)。
  1. 每月公布当前累积排行榜单,排行榜前5%学员退款100元作学习基金奖励!
  2. 课程结课后根据周作业、大作业、课程完成度等数据,评选最终的课程优秀学员(前5名),全额退还课程费用+发放优秀学员证书+至少1次内推机会!100%有效,等你来战!
注:①月排行榜根据累计每章作业成绩得分,由班主任在课程群内公示动态排名榜单。②优秀学员退课程款在结课仪式时同步发放;评选日期详见学习规划表!

课程亮点

1、超级走心的独家原理图,快速理解纷繁复杂的源码
2、硬核清晰的关键原理推导,直达问题本质
3、超详细保姆级注释的源码,让你完全吃透代码

常见问题解答

1 购买过前面几期课程购买有优惠吗?

目前的可用优惠:
  • 购买课程统一优惠是开课前立减100;
    自动发放给老学员的优惠券;
  • 账户内积分抵扣;
优惠券只能用一张,其他优惠可叠加使用!

2 已购买过前几期还有必要学第4期吗?

如前所述,第4期最大的特点:课程持续迭代优化、作业重磅提升、学习基金 & 优秀学员全额返现。如果你ORB-SLAM2没学好想要巩固可以跟着大家重新学习,挑战一下作业考试。如获得优秀学员可全额退款+就业推荐!

3 学习基金、返现是通过什么发放?

会退还到你付款时的支付方式,原路退回。

4 作业提供答案吗?

不提供,但会在内部直播提供思路讲解。课程交流群里大家可讨论,但不能直接给出答案。

5 课程观看、答疑有效期是?

答疑主要在开课期间,所以购买课程后务必加客服进入答疑群。后续所有的直播、答疑、讲评作业、排行榜都在课程群里进行。课程观看有效期长久有效,购买后请及时学习。

6 课程直播是否有提供录播?

课程内部直播提供录播。
注意学员加油站直播仅限学员观看,且不提供录播涉及内容包括:求职经验、行业趋势、论文讲解、SLAM学习经验等。请留意课程内通知并及时参加。

7 课程是否可以开发票?

可以开具增值税电子普通发票。购买课程后找课程助手开具发票即可。

8 有往期课程评价吗?

ORB-SLAM2课程往期至今已有1700+学员,评价非常棒!如下是部分评价。
课程交流群里讲师和嘉宾的日常答疑

以下是部分学员对课程的评价:
我可以上下滑动
郑建东:从开课以来,一路跟着课程听下来,对于我这种上班族,还是很需要花额外时间来听课,但学到的东西很多,一切都很值得。我也听过市面上其他机构讲的SLAM课程,真心不如六哥讲解得好,六哥在理论和代码的工程实践方面都讲解得很透彻、易懂,能把握住SLAM技术的前沿发展,很值得认真学习!
吉桑:本来是自己看完十四讲自己看orbslam源码的,但是对它的结构,要点,代码的工程技巧都不了解,从头开始实在效率低下,好在有六哥的课程,对整个框架和细节都学习到了,前期可能对里面的各种类,对象,超多的类成员感到崩溃,但是耐心跟着六哥学下去,到后面会越来越熟悉,对各种变量都知道代表什么。
石磊:很高兴完成课程学习,深刻体会到orb-slam2的学习需要理论结合实践,课程视频、讲义研读、代码分析和作业,相互结合/反复迭代去看,会有助于提升理解效果。同时学习中,建议先抓住理清大的基础框架和流程,再去掌握细节,尝试思考一下作者为何这样设计。
LY:对各个线程有一个整体的分析,然后又抽丝剥茧理解细节,对视觉slam有了一个清晰的认识,一节课可以反复观看,效果提升的很快,真的对于初学者很友好,理论与实践结合,能更清晰的感受到各个部分的作用,还有思路的讲解,对创新点的发掘也很有帮助
ORB-SLAM2第4期预售,开课前立减100元,扫描学习↓
购买课程后添加此微信进答疑群,如果对课程有疑问,也可加下面微信咨询↓
独家重磅课程官网:cvlife.net
9、系统全面的相机标定课程:单目/鱼眼/双目/阵列 相机标定:原理与实战
全国最棒的SLAM、三维视觉学习社区↓
继续阅读
阅读原文