- 本课程包括:
- 3个月群内答疑,讲师助教及时解答
- 课程有效期为1年,建议合理规划学习
- 课程配有作业练习,助教一对一批改
- 班主任带班,严格督学,告别拖延
- 根据学习情况颁发结业证书、优秀学员证书
高翔
慕尼黑工业大学博士后,清华大学自动化系博士,长期从事SLAM的研究,主要包括机器人中的视觉SLAM技术、机器学习与SLAM的结合,主编畅销书《视觉SLAM十四讲:从理论到实践》,《机器人学中的状态估计》译者之一。
随着SLAM的广泛应用及关注,越来越多的同学加入到SLAM的学习中。通过本课程能够掌握SLAM相关基础知识的基本原理,对前端跟踪的两大类方法(特征点法和直接法)以及后端基于图模型的bundel Adjustment优化方法有深入的理解,并且通过课程将学到的算法串成系统,在算法和编程两方面都能得到很大的提高。
课程目标
目标O1
扎实视觉slam基础和编程基础:
- 掌握C++/CMake构建project的流程
- 掌握李群李代数等基础知识
目标O2
视觉里程计相关原理及实战:
- 掌握对极约束,单应性,本质矩阵等重要概念
- 掌握基于特征点的里程计设计
- 掌握特征提取和匹配算法实战
目标O3
具备自我设计SLAM框架的能力:
- 掌握后端优化BA的实现过程
- 学会对比分析各个技术方案的优劣
- 设计自己的SLAM框架
课程脉络
-
01阶段
首先从理论知识出发,包括矩阵微分性质,三维刚体运动,四元数与旋转的关系,李群李代数的基本概念等,是学习SLAM所必备的知识。
-
02阶段
接着从SLAM的第一个模块出发,梳理视觉里程计的原理和实现流程,在学习特征提取和特征匹配的方法之后,我们还会继续探讨光流法和直接法,分析对比各种算法之间的优劣性。
-
03阶段
课程设计大量算法作业,不允许直接调用三方库,自我完成算法实现,在充分理解理论知识的基础上,完成ORB特征匹配,光流法,直接法,BA等课题,并且在最后的大作业中,通过前面所学的各个模块知识,完成对SLAM整体框架的搭建。
课程大纲
-
第1章:概述与预备知识
本节课程带领大家了解视觉SLAM的应用场景,建立视觉SLAM的初步认识,并介绍学习SLAM需要掌握的预备知识,进一步带领大家了解Linux系统,熟悉CMake下的C++编程范式,为后续课程的编程实践打下基础。
-
第2章:三维空间的刚体运动
本节课程讲解三维空间的刚体运动如何表达,细致讲解旋转矩阵,欧拉角,旋转向量和四元数四种不同参数的性质,以及各自的优缺点和变换关系,进一步学习如何调用Eigen库,让学生在实践中理解刚体运动的本质。
-
第3章:李群与李代数
本节课程讲解李群李代数相关的基础知识,从SLAM的角度出发,解释引入李群的目的,介绍BCH近似,详细推导SLAM中关于旋转的…
-
第4章:相机模型与非线性优化
学习收获
- 1具备实现完整SLAM系统的能力
- 2提升灵活运用及正确实现VSLAM算法的能力
- 3具备通过视觉方法解决建图与定位问题的能力
- 4深入理解前端跟踪的两大类方法(特征点法和直接法)
- 5深入理解后端基于图模型的Bundel Adjustment优化方法
- 课程适合谁学习
- 刚开始接触视觉SLAM,并将其作为长期研究或者工作内容的小白
- 渴求以最短时间入门视觉SLAM的爱好者
- 希望进一步夯实基础知识的SLAM算法工程师
- 课程所需的基础知识
- 所需基础:矩阵论&C++
- 电脑系统要求:Ubuntu16.04/18.04
全方位的学习服务
个性化增值服务,学习有保障更高效
-
作业批改 助教1V1批改作业,定期针对作业中的“通病”进行点评
-
结业证书 本课程将根据作业完成情况评选结业学员及优秀学员,颁发证书
-
实时答疑 讲师微信群答疑,及时解决大家遇到的问题
-
班班督学 班主任全程带班,不定时“关照”未交作业的同学,克服拖延
- 1:课程上课说明
- 2-1:【资料】三方库资料
- 2-2:助教分享资料
- 3:【资料】四元数与三维旋转
-
第1章: 概述与预备知识 3节课程1篇阅读材料·1次作业·1小时59分钟
本节课程带领大家了解视觉SLAM的应用场景,建立视觉SLAM的初步认识,并介绍学习SLAM需要掌握的预备知识,进一步带领大家了解Linux系统,熟悉CMake下的C++编程范式,为后续课程的编程实践打下基础。
- 4:【课件】SLAM第1讲:概述与预备知识
-
第1节: 课程内容提要与预备知识
- 5:【视频】概述与预备知识
-
第2节: Linux下的C++编程基础
- 6:【视频】实践
-
第3节: 实践作业
- 7-1:【作业】第一章
- 7-2:第一章作业思路提示
- 7-3:第一章作业思路提示(pdf版)
-
第2章: 三维空间的刚体运动 3节课程1篇阅读材料·1次作业·1小时46分钟
本节课程讲解三维空间的刚体运动如何表达,细致讲解旋转矩阵,欧拉角,旋转向量和四元数四种不同参数的性质,以及各自的优缺点和变换关系,进一步学习如何调用Eigen库,让学生在实践中理解刚体运动的本质。
- 8:【课件】三维空间的刚体运动
-
第1节: 理论:三维空间的刚体运动
- 9:【视频】三维空间的刚体运动
-
第2节: 实践演示:三维空间的刚体运动
- 10:【视频】实践演示
-
第3节: 实践作业
- 11-1:【作业】第二章
- 11-2:第二章作业思路提示
- 11-3:第二章作业思路提示(pdf版)
-
第3章: 李群与李代数 2节课程1篇阅读材料·1次作业·1小时32分钟
本节课程讲解李群李代数相关的基础知识,从SLAM的角度出发,解释引入李群的目的,介绍BCH近似,详细推导SLAM中关于旋转的求导与扰动模型,并带领学生了解和学习Sophus库,让学生认识扰动模型的具体实现。
- 12:【课件】SLAM理论与实践第三次课
-
第1节: 李群与李代数
- 13-1:【视频】李群与李代数
- 13-2:【视频】实践:李群与李代数
-
第2节: 作业
- 14-1:【作业】第三章
- 14-2:【视频】第三章作业思路提示
- 14-3:第三章作业思路提示
- 14-4:第三章作业思路提示(pdf版)
-
第4章: 相机模型与非线性优化 2节课程1篇阅读材料·1次作业·2小时17分钟
本节课程讲解单目和双目针孔相机模型的投影原理,介绍主要的畸变类型,引入OpenCV库,让学生体会实际代码的操作过程;接着引入批量状态估计问题和非线性最小二乘,让大家初步了解SLAM问题的求解过程。
- 15:【课件】SLAM理论与实践第四次课
-
第1节: 相机模型与非线性优化
- 16-1:【视频】相机模型与非线性优化
- 16-2:【实践】相机模型与非线性优化
-
第2节: 实践:g2o曲线拟合
- 17-1:【作业】第四章
- 17-2:第四章作业思路提示
- 17-3:第四章作业思路提示(pdf版)
-
第5章: 特征点法视觉里程计 2节课程1篇阅读材料·1次作业·2小时3分钟
本章节在基于特征点的视觉里程计应用中极为重要,课程细致探讨特征点法下的SLAM运动观测方程,研究ORB特征提取与匹配的性质,理论推导以及实现技术,进一步研究特征匹配后的运动恢复,详细推导对极几何,PnP以及ICP算法原理,从对极几何进一步深入讨论本质矩阵和单应矩阵的应用场景,最后探讨三角化与深度估计问题,并通过代码实现让大家对各算法有更深刻的认识。
- 18:【课件】SLAM理论与实践第五次课
-
第1节: 特征点提取与匹配
- 19:【视频】理论:特征点法视觉里程计
- 20:【视频】实践:特征点法视觉里程计
-
第2节: 实践:ORB特征点、PnP和ICP
- 21-1:第五章环境配置教程
- 21-2:【作业】第五章
- 21-3:关于C++execution库的几点说明
- 21-4:第五章作业思路提示
- 21-5:第五章作业思路提示(pdf版)
-
第6章: 直接法视觉里程计 2节课程2篇阅读材料·1次作业·1小时11分钟
本章节重点讲解不同的视觉里程计算法,提升大家对比分析的能力,基于上节课程的内容,进一步研究视觉里程计中的光流法和直接法,详细推导光流法和直接法的数学原理,并根据之前所学内容,理解光流法和直接法的代码实现。
- 22:【课件】SLAM理论与实践第六次课
-
第1节: 光流法
- 23-1:【理论】直接法视觉里程计
- 23-2:【实践】直接法视觉里程计
-
第2节: 作业
- 24-1:【作业】第六章
- 24-2:第六章作业思路提示
- 24-3:面试题汇总
- 24-4:第六章作业思路提示(pdf版)
-
第7章: 后端优化 2节课程2篇阅读材料·1次作业·1小时32分钟
本章节是SLAM框架中的四大模块之一,课程基于前面所学的最小二乘,进一步研究SLAM后端优化的求解过程,介绍经典的卡尔曼滤波方法,接着引入批量方法BA,加深对BA的稀疏性和边缘化概念的理解,最后介绍位姿图优化的原理以及数学推导。
- 25:【课件】SLAM理论与实践第七次课
-
第1节: 后端优化
- 26:【视频】后端优化
-
第2节: 作业:第七章
- 27-1:【作业】第七章
- 27-2:第七章作业思路提示
- 27-3:面试题汇总
- 27-4:第七章作业思路提示(pdf版)
-
第8章: 回环检测 1节课程·1小时19分钟
本章节在实际SLAM系统中非常重要,课程讲解从回环检测的意义讲起,并以词袋作为例子,深刻讲解回环检测的实现步骤,本节进一步探讨建图的意义,以及不同建图算法之间的差异,最后展望SLAM的研究方向,为大家明确研究目标和开展相应工作提供思路。
- 28:【课件】SLAM理论与实践第八次课
-
第1节: 回环检测
- 29-1:【视频】回环检测理论
- 29-2:【视频】回环检测实践
-
第9章: Project:实现完整的SLAM系统 1节课程2篇阅读材料·1次作业
此为最后的大作业,旨在帮助大家从零开始搭建SLAM系统,深刻理解SLAM系统中每个模块的作用,通过实践的方式理解SLAM系统的整体流程,方便学生进一步学习多传感器融合以及结合深度学习的SLAM系统。
-
第1节: Project:实现完整的SLAM系统
- 30-1:文献资料
- 30-2:【作业】Final Project
- 30-3:大作业参考资料
- 30-4:大作业思路提示
- 30-5:面试题汇总
- 31:大作业思路提示(pdf版)
课程讨论区
已累计讨论26495个问题
课程配备专属讨论区,不仅有讲师、助教全程答疑,更能与同学们交流讨论,在思维碰撞中加深理解
在课程中随想随问,同学们的问题也可能启发到你
在课程讨论区,和684位同学一起探讨更多问题···
作业批改
已累计批改4951份作业
助教一对一批改作业,定期针对作业中的问题进行评讲
结业证书
课程根据作业完成情况评选结业学员及优秀学员,颁发证书
优秀学员更能获得额外购课优惠
班班督学
班班、助教、讲师全程带班,日常答疑解惑
FAQ
1、课程可以试听吗?
可以,您可以联系客服领取试听内容,根据试听的效果决定是否报名。
2、报名课程后,如果不满意,可以退款吗?
我们承诺: 报名后7天内且学习进度停留在第一章节的内容可以无条件全额退款,若您的学习进度超过第一章或报名时间超过7天将不再支持退款哦。课好不好,学了就知道了!
3、报名课程的费用可以开发票吗?
深蓝学院所有课程都可以开具发票。您可以登录深蓝学院官网(https://www.shenlanxueyuan.com),进入个人“账户中心”,在线申请。
4、报名后怎么开始学习呢?
PC端:登录深蓝学院官网(https://www.shenlanxueyuan.com),进入“个人中心”或“我的课程” 的课程即可开始学习。课程中包含讲师讲解的视频、课件、代码、作业及其它学习资料。建议在PC端学习体验更好。
如果想缓存视频,可下载深蓝学院APP。
5、可以跟讲师直接交流吗?
报名课程后添加课程对应的班主任微信,由其邀请加入微信答疑群。在答疑群内,您可以直接跟讲师和其他同学讨论交流。
报名后在对应的课程详情页,可查看对应的班主任微信。
6、学习形式和学习周期是怎样的?
为保证学习质量方便同学们反复观看,本课程采用录播形式。建议同学们登录深蓝学院PC端官网体验更佳。
7、课程有有效期吗?
为了督促同学们学习,保证学习效率,学院的课程有效期均为一年,当课程有效期截止后将不再支持观看视频、下载课件等课程服务及操作。若同学们依旧想观看视频和下载课件,建议可选择续费本课程。需要提醒大家的是,课程答疑、作业批改&讲评等课程相关服务期从报名加入课程后开始计算至少保证三个月。
8、作业会提供参考答案吗?
不提供参考答案。当每章作业截止提交后,会解锁作业思路讲解。我们希望引导大家培养独立思考的习惯和敢于动手实践的勇气,以便尽快适应实际工作中解决问题的模式。做作业过程中,如果有任何困惑和问题,可以在课程讨论区和交流群内提问解决。
课程预览
视觉SLAM理论与实践