Datawhale出品,视觉SLAM教程开源!

617次阅读
没有评论

 Datawhale开源 

贡献者:Datawhale团队

开源初衷

随着室内仓储、配送、清洁机器人的兴起及自动驾驶技术的发展,对带有传感器的载体自身的状态估计及环境建模的需求越来越大,作为直接满足这一需求的SLAM技术(Simultaneous Localization and Mapping:同时定位与建图)逐渐走入大众视野,学习的人越来越多。

摄像头成本低且能获取丰富的环境信息,使用摄像头作为传感器的VSLAM技术一直是学术界与工业界的热门研究方向。我们也是众多VSLAM学习者中的一员,从入门到查找各种资料学习的过程中,踩了不少坑,但也有一些心得。考虑到大多数VSLAM的入门学习者会碰到学习曲线陡峭,内容繁杂的问题,我们开源了《smoothly-vslam》教程,并将在组队学习中,陪伴学习者成长。

开源地址:https://github.com/datawhalechina/smoothly-vslam

Datawhale出品,视觉SLAM教程开源!

图1 项目首页

在线阅读地址:https://www.yuque.com/u1507140/vslam-hmh

Datawhale出品,视觉SLAM教程开源!

图2 在线阅读截图

作者

胡明豪:Datawhale成员,VSLAM算法工程师

王洲烽:Datawhale成员,国防科技大学研究生

乔建森:中国航天科工三院-算法工程师

教程内容

本项目主要分为VSLAM基础及VSLAM系统各模块两个部分

  1. VSLAM基础:内外参,刚体运动,坐标系变换等概念
  2. VSLAM系统:前端,后端,回环检测及建图模块

Datawhale出品,视觉SLAM教程开源!

图3 课程目录

使用方法

我们的课程内容都以markdown格式保存在本仓库内,同时提供网上教程阅读地址。在学习本项目之前,建议先浏览教程章节简介,然后按顺序阅读每章内容,每章结束后会有课程习题及参考链接,可自行练习及查阅。最重要的是:学习+思考。

组队学习安排

  1. 第一部分:1~4章:6天
  2. 第二部分:5~11章:14天
  3. 第三部分(选做):12章:2天

教程目录(部分)

Datawhale出品,视觉SLAM教程开源!

图4 课程大纲

创作历程

在很久很久以前

大概在2022年的2月,那时候上海的天气还很冷,有一位组织大佬发起了一个ORB-SLAM的教程,当时因为工作原因,我也正在学VSLAM,于是就加入了教程编写群。

最开始大家兴致都比较高,我们很快完成了教程章节的拆解及分工,并约定每两周开一次讨论会,汇报各自编写进度。然后,就没有然后了。。。群里分完工后就没消息了,教程的事也就搁置。但答应了要写最后却没有写,我心里还是过意不去的,时不时也会想起这个事情。

之后的一年多里,我先是做了室内机器人建图定位工作,然后又转到了自动驾驶的建图工作。经过一年的学习后,自己对VSLAM有了初步的认识,有了一种可以重新开工的感觉,并在其他的因素的作用下,我开始动笔写了初版的教程。大概五月份完工,写完后我再次找到当时发起ORB-SLAM的大佬成员,问他对想不想重启原来的教程。大佬很支持,但表示天天加班,可能没时间带大家做这个教程,但是可以在群里帮忙招募合作者。于是,我们就再次起航了。

一步一步走来

有了首批合作者,我们就申请了开源教程立项。在组织开源项目运营团队的帮助下,进一步招募了更多有意向的小伙伴们加入到项目筹备群。经过沟通交流,最后大概是有五六位小伙伴成为了第一批教程编写候选人。分工完毕后,我们开始了第一版教程的编写,但因为各自时间和项目存在一定冲突,在最后编写的过程中,实际就只剩我和另外两个小伙伴了,分别是洲烽和建森。

洲烽是今年国防科技大学的准研究生,做3D视觉方向,那段时间他还在入学之前的时间,对学习各种知识都很热情积极,主动承担起了相机成像及内外参标定相关的内容。建森是已经工作了,主要从事工业和医疗中的三维重建和检测,一来就把第三章的练习代码补全了,之后负责了教程中很多公式的编写及校准。在这两个优秀的小伙伴的帮助下,一个多月后,我们教程就由初稿变为第一版了。然后就是第一版教程的内测,接着是公测,在公测后基于学员反馈对教程进行修改,并完成了项目的毕业。

回头看

回顾整个教程编写过程过程,首先想对支持这个项目的每一个人表示感谢,没有他们的参与,可能就不会有这个开源教程了。同时也有一些反思,有如下几点:

  1. 有想法很容易,但实现很难,我们很多时候会忽略了自己及他人的惰性,也会对别人的是否有充足的时间来参与这个事情有误判。唯一能消除这个不确定性的,就是事先自己多做工作,比如教程已经有初版了,再拿出来申请立项,招募合作者,这样成功的概率会更大些。
  2. 要抱有平和的心态,相互配合总是一件不容易的事情,多理解他人,事情的开展会更顺利,我也是在不断学习这一点。
  3. 作为组织者,一定要去push事情节点,当然我不喜欢催别人做事情,不算一个合格的组织者。但我就既当过参与者,也做过组织者的经历来看,我觉得有时候成员可能不是不想做,其实就差一点督促的动力,如果能适当调动大家积极性,我感觉项目的进展会更快,质量更好。

开源价值

当学习一个方向有一定积累之后,自然而然就会去尝试做一些总结,对我来说,《smoothly-vslam》是我学习VSLAM的归纳和检验,在写教程的过程中我也收获了很多。愿其成为北尘星光一颗,陪伴学习者前行,若真如此,是我的荣幸。海边一游,深知海之广阔,VSLAM还有很多深入的东西有待大家挖掘,也希望大家能多提意见,参与到教程的完善中来,使其进化。
—— 胡明豪

作为课程设计者,自己也深入学习了VSLAM的相关知识,加深对这些概念和技术的理解,并将其应用于实际问题中。这个过程本身也是一种知识分享和沉淀的机会,通过将自己的学习经验和理解以教程的形式呈现出来,促进自己的学习和成长,希望大家也可以积极参与到开源分享中来!
—— 王洲烽

视觉SLAM随着无人驾驶等应用的兴起而获得重大关注,本项目旨在降低学习门槛的同时为初学者建立整体框架,希望读者能因此打开视觉SLAM世界的大门从而进一步深入学习。受益于开源,我也希望尽自己的力进行开源,让更多的人受益。最后,感谢Datawhale开源组织和各位小伙伴!
—— 乔建森

Datawhale出品,视觉SLAM教程开源!开源不易,在看

 

Read More 

正文完
可以使用微信扫码关注公众号(ID:xzluomor)
post-qrcode
 
评论(没有评论)
Generated by Feedzy