前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第三期:一起来学SLAM

第三期:一起来学SLAM

作者头像
点云PCL博主
发布2019-07-30 16:31:26
8420
发布2019-07-30 16:31:26
举报
文章被收录于专栏:点云PCL点云PCL

1

SLAM常用传感器

激光扫描仪

激光雷达:通过测量激光信号的时间差、相位差确定距离,通过水平旋转扫描或相控扫描测角度,并根据这两个数据建立二维的极坐标系;再通过获取不同俯仰角度的信号获得第三维的高度信息。

深度相机

深度相机:目前的深度相机根据其工作原理可以分为三种:TOF、RGB双目、结构光。

激光SLAM和视觉SLAM

基于这两种传感器有激光SLAM和视觉SLAM。

其中激光SLAM经典开源方案:

  • Gmapping
  • Cartographer

视觉SLAM常见开源方案有:

  1. 稀疏法(特征点):
  • ORB-SLAM(单目,双目,RGBD)
  • PTAM(单目)
  • MonoSLAM(单目)

2. 半稠密法:

  • LSD-SLAM(单目,双目,RGBD)
  • DSO(单目)
  • SVO(单目, 仅VO)

3. 稠密法:

  • DTAM(RGBD)
  • Elastic Fusion(RGBD)
  • Kintinous(RGBD)
  • DVO
  • RGBD-SLAM-V2
  • RTAB-MAP

2

一起学SLAM学习会要求

应群友的要求,利用平台开展第三期活动“一起学SLAM”,这里需要大佬制定学习计划,需要每位参与者都积极参与。只要不是三分钟热度,就可以加入我们,我们需要你对SLAM有所了解,有一定的基础知识,我们希望在这个平台的活动中,从中低层次的SLAM研究者到对SLAM有更深入的理解和细节上的学习。

所以我们不是辅导机构,不是教育机构,不是为了广告,而是群主为了让更多的人参与学习,一起分享,相信人多力量大。才花费如此心血,来组织这样的一次学习活动。活动从ORB-SLAM2的学习开始。

任务要求:

1,每个模块的最终形成文档是为了让其他模块的人,一看就懂,如果有不懂得可以在github组群中提问。相关负责人需要解答,当然懂的人都可以解答。

2,考虑到每个人都有自己主营业务,该学习小组是一个兴趣,一次提升自己的机会,所有我们将所有的理论模块定位一个月的时间,能够形成文档,在github中。再用一个月的时间各自熟悉,或者提问别人的模块。有兴趣的可以做网络直播讲解。

3,贵在坚持。分工明确,三到五个人负责一个小模块。你们可以交流形成一个文档,当然如果没人主,可以各自形成自己的文档。虽然有重复,但是你们的理解肯定是不一样的。

3

为什么选择ORB-SLAM2

视觉SLAM中最为系统且完整的开源框架非ORB-SLAM莫属,在搜索页面搜索ORB-SLAM2也是一大堆的资料。从安装教程,理论细节,流程解析,代码注释,都有十分丰富的资料。

甚至我们可以直接阅读ORB-SLAM的经典入门教程高翔博士的《视觉SLAM 14讲》,就可以迅速上手并入门。但是就算你读完了这本书,看完了代码,还是有一些细节上的问题,难以理解,可能是一些公式难以推导,代码与理论不一致等等问题。

所以这也是我们要学习SLAM的目的,最终要在这个平台上形成一套或者一本最完整的从理论到实践,再到代码细节的教程笔记。不仅有理论支持,并且将代码与理论部分对应,知道代码为什么要这么写?

4

学习计划安排

目标:形成一套完整的ORB-SLAM2入门手册,以及详尽的代码注释。

三步走:

(1)ORB-SLAM2理论学习:我们将ORB-SLAM2分成多个模块,并且每个模块涉及到一种理论知识,或者是基础知识,然后对应任务的成员可以查阅书籍,查阅博客,通过各种方式,最终形成这部分的文档。

(2)代码注释部分,该部分群主将在github上建立组群,并专门对该工程进行注释。

(3)微信交流和github组群交流,由于每个人都负责不同的模块,所以大部分小伙伴是对自己负责的模块要尽可能的熟悉,而其他模块的小伙伴,对该模块有任何疑问或者不理解的地方,都可以提出来,而此模块的负责人,尽量给出解答。

5

加群须知

微信群主要是有组织者发布学习任务和交流,为了避免群主多次发布群规则,在此将群规则说明如下:

相信进来的小伙伴,都是热爱学习的,切记不要三分钟热度,既然要开始下决心学习SLAM,首先先从理论搞起来,然后我们一起注释代码,从理论到代码,我们一步一步来,如果有大佬,欢迎毛遂自荐,帮我们制定学习机会,模块划分,任务划分,以及给予相应的指点。希望可以认识一群积极且爱分享的小伙伴,一点点成长起来!

最终我们在理论搞得差不多得情况下,一起注释代码。

6

github组群及模块划分

模块划分 (1)相机模型 模块负责人可以查看网络资料,最终能够形成PPT。涉及到从世界坐标系到像素坐标系公式转换,以及相机标定的基本原理等、 (2)ORB-SLAM初始化模块 模块负责人主要是根据已有相机模型的基础上,对单应矩阵,基础矩阵,本质矩阵之间的关系进行理论推导,和求解方法的总结。更多的是细节上的知识带你,最终形成PPT。 (3)特征点提取模块 模块负责人要能够对ORB,SIFT,SURF三种特征点的理论有一个全面的汇总。有何区别等。并对OPENCV中这三个特征点的提取演示demo(可参考 14讲)。 (4)特征点匹配模块 对特征点匹配使用的方法以及去除误匹配的方法等相关原理有详细的介绍。 (5)ORB-SLAM关键帧处理模块 在该框架中对关键帧的提取,判定关键帧,去重复帧等,对关键帧的处理的流程等相关内容进行总结。 (6)局部优化地图的方法 在该框架中使用了BA的方法,那么BA的推导。以及与其他非线性优化的方法的对比。 (7)Covisibility graph essential graph 为什么要使用这个这两种图,在其中起到了什么作用,从理论到意义的解析 (8)李代数 该部分内容不仅要参考《14讲》并需要收集更多的资料。力求所有人看了你的资料能够恍然大悟的理解李代数 (9)回环检测模块(可以多分配几个人) 该模块主要是搞清楚回环检测的逻辑部分,以流程图的方式展现。以及词袋如何生成? (10)PNP 生成稀疏地图点的PNP方法总结,理论推导等。 (11)优化工具介绍 主要是ceres和g2o基本介绍。从简单的优化公式如何写代码的教程

git学习小组组群已经建立,加入方式:

(1)请有意加入第三次学习小组的小伙伴,评论文章或者联系邮箱:dianyunpcl@163.com

(2)大家按照进群顺序,给自己备注一下,序号+姓名,比如“01+张三+github账号”,这样好分配任务。

(3)将github账号邮箱发到群里,加入github组群参与讨论和学习。

如有补充请大家积极留言,并且希望大家能够在阅读论文或者有推荐的论文或者开源代码,只要和点云相关,都可以留言给群主,如果有必要将会出与你推荐相关的资料。希望大家能够积极参与分享。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 点云PCL 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云直播
云直播(Cloud Streaming Services,CSS)为您提供极速、稳定、专业的云端直播处理服务,根据业务的不同直播场景需求,云直播提供了标准直播、快直播、云导播台三种服务,分别针对大规模实时观看、超低延时直播、便捷云端导播的场景,配合腾讯云视立方·直播 SDK,为您提供一站式的音视频直播解决方案。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档