• Stars
    star
    149
  • Rank 248,619 (Top 5 %)
  • Language
    C++
  • License
    GNU General Publi...
  • Created over 1 year ago
  • Updated 12 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

VSLAM开源基础教程,各章节练习代码

smoothly-vslam

  • 项目简介

    👋 欢迎来到VSLAM的世界
    SLAM是一个与传感器紧密联系的系统,VSLAM使用的传感器就是摄像头。处理摄像头数据需要理解相机成像的过程,这是一个从现实世界到计算机能处理的数据的映射过程。通过这节,你会知道相机的成像模型及映射过程的几个坐标系。与之相关的是相机的畸变及内参标定。这对应于第一章。
    观测数据所处坐标系为传感器坐标系,为局部观测,我们需要将局部观测转换到全局观测上,这就涉及坐标系间转换。将传感器坐标系观测转换到载体坐标系需要通过外参,计算载体坐标系在世界坐标系下坐标需要用到三维空间中刚体运动变换。这两部分分别对应第二章与第三章。
    通过上面三部分,基本就可以知道VSLAM的前端工作的一个背景了。可以想象VSLAM系统是在一个载体上搭载着摄像头,在未知环境中不断移动,对环境及自身位姿进行同时估计。那么什么是VSLAM?这块会在第四章进行介绍。
    通过第四章,我们知道目前成熟的VSLAM框架主要包含前端,后端,回环检测及建图四个模块,这会在后续章节依次介绍。
    前端为视觉里程计,即VO。我们着重介绍目前使用的较多的特征点法VO,也就是间接法。传统特征点法依赖人工设计的视觉特征,这块会在第五章进行介绍。
    基于特征点的提取与匹配,我们可以对相机的位姿及特征点的三维空间位姿进行估计,这部分主要分为两个过程,即初始化过程及帧间位移估计。初始化需要确定三维空间点坐标,世界坐标系及尺度,比较复杂,在初始化完成后,就可以通过特征匹配,比较轻松得获得相机帧间位移。这两个过程会在第六章及第七章进行介绍。
    介绍完视觉前端,接下来是视觉后端,按照使用不同技术,分为基于滤波的方法与非线性优化的方法。这两部分对应于第八章及第九章。
    然后是回环检测模块,这部分会在第十章进行讲解。
    VSLAM最后一个重要模块建图对应于第十一章,这也是主教程最后一个章节。
    如果学有余力,可以看第十二章实践章节,亲自设计一个VSLAM系统。如果完成这个章节,你会获得很大的成就感,对于后面工程应用会有很大帮助。
    最后就是进度,每天看一点就行。学到很多东西的秘诀,就是每次不要看太多。\

    教程博客在线阅读地址一:smoothly-vslam

推荐书籍

VSLAM属于一个交叉系统学科,包含很多方向的内容,如多视图几何,状态估计,优化等等,以下是部分推荐书籍:
1.多视图几何

2.刚体运动

3.VSLAM介绍

  • 《视觉SLAM十四讲:从理论到实践》
  • 高翔博士的博客
    • D. Scaramuzza, F. Fraundorfer, "Visual Odometry: Part I - The First 30 Years and Fundamentals IEEE Robotics and Automation Magazine", Volume 18, issue 4, 2011.
    • F. Fraundorfer and D. Scaramuzza, "Visual Odometry : Part II: Matching, Robustness, Optimization, and Applications," in IEEE Robotics & Automation Magazine, vol. 19, no. 2, pp. 78-90, June 2012.

4.概率论

  • 《概率机器人》

5.优化理论

优化理论进阶

  • Nolinear Programming

6.一些工具

如果你想对本教程做贡献,请邮件联系:[email protected]

Finally, hope you enjoy it!

  • 项目内容目录
    0.前言
    1.一幅图像的诞生:相机投影及相机畸变
    2.差异与统一:坐标系变换与外参标定
    3.描述状态不简单:三维空间刚体运动
    4.也见森林:视觉SLAM简介
    5.以不变应万变:前端-视觉里程计之特征点
    6.换一个视角看世界:前端视觉里程计之对极几何
    7.积硅步以至千里:前端-视觉里程计之相对位姿估计
    8.在不确定中寻找确定:后端之卡尔曼滤波
    9.每次更好,就是最好:后端之非线性优化
    10.又回到曾经的地点:回环检测
    11.终识庐山真面目:建图
    12.实践是检验真理的唯一标准:设计VSLAM系统

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

Roadmap

这里列一些还需要完善的部分

1.对各章节内容的进一步的完善

补充各章节的基础内容,从背景发展到具体的算法原理的进一步充实 比如,对第八章,卡尔曼滤波可以有如下的进一步完善

  • 1.贝叶斯滤波的补充
  • 2.其他滤波的介绍

2.内容的进阶,不仅限于VSLAM内容

  • 1.SLAM更一般的理论基础,如可观性,退化场景分析
  • 2.SLAM应用场景等等

当前教程为VSLAM基础教程,涉及VSLAM背景知识及基础算法原理,对更深入的部分,计划后续开一个进阶教程进行讲解。

参与贡献

  • 如果你想参与到项目中来欢迎查看项目的 Issue 查看没有被分配的任务。
  • 如果你发现了一些问题,欢迎在 Issue 中进行反馈🐛。
  • 如果你对本项目感兴趣想要参与进来可以通过 Discussion 进行交流💬。

如果你对 Datawhale 很感兴趣并想要发起一个新的项目,欢迎查看 Datawhale 贡献指南

贡献者名单

姓名 职责 简介 联系方式
胡明豪 项目负责人,教程初版贡献者 DataWhale成员,VSLAM算法工程师 [email protected]
王洲烽 第1,2章贡献者 DataWhale成员,国防科技大学准研究生 [email protected]
乔建森 第3,5,8,9章贡献者 中国航天科工三院-算法工程师 [email protected]
林俊强 第5章贡献者 算法工程师 [email protected]

关注我们

扫描下方二维码关注公众号:Datawhale

LICENSE

知识共享许可协议
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

More Repositories

1

pumpkin-book

《机器学习》(西瓜书)公式详解
23,825
star
2

leedl-tutorial

《李宏毅深度学习教程》(李宏毅老师推荐👍,苹果书🍎),PDF下载地址:https://github.com/datawhalechina/leedl-tutorial/releases
Jupyter Notebook
13,188
star
3

llm-cookbook

面向开发者的 LLM 入门教程,吴恩达大模型系列课程中文版
Jupyter Notebook
11,475
star
4

easy-rl

强化学习中文教程(蘑菇书🍄),在线阅读地址:https://datawhalechina.github.io/easy-rl/
Jupyter Notebook
9,150
star
5

self-llm

《开源大模型食用指南》基于Linux环境快速部署开源大模型,更适合中国宝宝的部署教程
Jupyter Notebook
8,097
star
6

joyful-pandas

pandas中文教程
Jupyter Notebook
4,603
star
7

llm-universe

本项目是一个面向小白开发者的大模型应用开发教程,在线阅读地址:https://datawhalechina.github.io/llm-universe/
Jupyter Notebook
4,420
star
8

competition-baseline

数据挖掘、计算机视觉、自然语言处理、推荐系统竞赛知识、代码、思路
Jupyter Notebook
4,251
star
9

fun-rec

推荐系统入门教程,在线阅读地址:https://datawhalechina.github.io/fun-rec/
Jupyter Notebook
4,197
star
10

hugging-llm

HuggingLLM, Hugging Future.
Jupyter Notebook
2,732
star
11

so-large-lm

大模型基础: 一文了解大模型基础知识
2,612
star
12

daily-interview

Datawhale成员整理的面经,内容包括机器学习,CV,NLP,推荐,开发等,欢迎大家star
HTML
2,524
star
13

thorough-pytorch

PyTorch入门教程,在线阅读地址:https://datawhalechina.github.io/thorough-pytorch/
Jupyter Notebook
2,426
star
14

learn-nlp-with-transformers

we want to create a repo to illustrate usage of transformers in chinese
Shell
2,245
star
15

team-learning

主要展示Datawhale的组队学习计划。
2,208
star
16

statistical-learning-method-solutions-manual

统计学习方法习题解答,在线阅读地址:https://datawhalechina.github.io/statistical-learning-method-solutions-manual
Jupyter Notebook
1,709
star
17

team-learning-data-mining

主要存储Datawhale组队学习中“数据挖掘/机器学习”方向的资料。
Jupyter Notebook
1,599
star
18

key-book

《机器学习理论导引》(宝箱书)的证明、案例、概念补充与参考文献讲解。
1,522
star
19

hugging-multi-agent

A tutorial based on MetaGPT to quickly help you understand the concept of agent and muti-agent and get started with coding development. 基于MetaGPT的多智能体入门与开发教程
CSS
1,333
star
20

llms-from-scratch-cn

仅需Python基础,从0构建大语言模型;从0逐步构建GLM4\Llama3\RWKV6, 深入理解大模型原理
Jupyter Notebook
1,149
star
21

hands-on-data-analysis

动手学数据分析以项目为主线,知识点孕育其中,通过边学、边做、边引导来得到更好的学习效果
Jupyter Notebook
1,148
star
22

tiny-universe

《大模型白盒子构建指南》:一个全手搓的Tiny-Universe
Python
1,113
star
23

team-learning-nlp

主要存储Datawhale组队学习中“自然语言处理”方向的资料。
Jupyter Notebook
865
star
24

dive-into-cv-pytorch

动手学CV-Pytorch版
Python
837
star
25

team-learning-program

主要存储Datawhale组队学习中“编程、数据结构与算法”方向的资料。
Jupyter Notebook
825
star
26

wonderful-sql

Follow me,从 0 到 1 掌握 SQL。
736
star
27

leetcode-notes

🐳 LeetCode 算法笔记:面试、刷题、学算法。在线阅读地址:https://datawhalechina.github.io/leetcode-notes/
682
star
28

machine-learning-toy-code

《机器学习》(西瓜书)代码实战
Jupyter Notebook
648
star
29

whale-quant

本项目为量化开源课程,可以帮助人们快速掌握量化金融知识以及使用Python进行量化开发的能力。
Jupyter Notebook
515
star
30

intro-mathmodel

《数学建模导论》教程,全网最全数学建模模型与算法教程系列,带你走进数学建模的大门!
460
star
31

fantastic-matplotlib

Matplotlib中文教程,在线阅读地址:https://datawhalechina.github.io/fantastic-matplotlib/
Python
456
star
32

torch-rechub

A Lighting Pytorch Framework for Recommendation Models, Easy-to-use and Easy-to-extend.
Python
400
star
33

powerful-numpy

巨硬的NumPy
Jupyter Notebook
363
star
34

d2l-ai-solutions-manual

《动手学深度学习》习题解答,在线阅读地址如下:
Jupyter Notebook
337
star
35

learn-python-the-smart-way

聪明方法学Python,简明且系统的 Python 入门教程。
Jupyter Notebook
330
star
36

vced

VCED 可以通过你的文字描述来自动识别视频中相符合的片段进行视频剪辑。该项目基于跨模态搜索与向量检索技术搭建,通过前后端分离的模式,帮助你快速的接触新一代搜索技术。
Python
327
star
37

team-learning-cv

主要存储Datawhale组队学习中“计算机视觉”方向的资料。
Jupyter Notebook
315
star
38

juicy-bigdata

🎉🎉🐳 Datawhale大数据处理导论教程 | 大数据技术方向的开篇课程🎉🎉
Python
265
star
39

office-automation

python自动化办公
Jupyter Notebook
245
star
40

learn-python-the-smart-way-v2

聪明办法学Python,简明且系统的 Python 入门教程第二版。
Jupyter Notebook
216
star
41

DOPMC

Datawhale 开源项目管理委员会(Datawhale Open-source Project Management Committee,简称DOPMC)
199
star
42

grape-book

图深度学习(葡萄书),在线阅读地址: https://datawhalechina.github.io/grape-book
HTML
186
star
43

team-learning-sql

主要存储Datawhale组队学习中“SQL”方向的资料。
178
star
44

joyrl

An easier PyTorch deep reinforcement learning library.
Python
160
star
45

agent-tutorial

157
star
46

awesome-compression

模型压缩的小白入门教程
152
star
47

undingable-optimization

顶不住的运筹优化
149
star
48

faster-git

a chinese tutorial of git
138
star
49

ensemble-learning

Jupyter Notebook
137
star
50

free-excel

开源Excel教程。
CSS
131
star
51

unusual-deep-learning

水很深的深度学习
122
star
52

hugging-sd

Hugging StableDiffusion, Hugging Future.
Jupyter Notebook
112
star
53

huawei-od-python

华为OD算法题解
Python
110
star
54

sweetalk-design-pattern

基于《大话设计模式》对设计原则和设计模式进行解读。
C++
106
star
55

joyrl-book

Jupyter Notebook
101
star
56

sora-tutorial

97
star
57

wow-fullstack

wow-fullstack,令人惊叹的全栈开发教程
JavaScript
88
star
58

hands-dirty-nlp

本课程面对具有一定机器学习基础,但尚未入门的NLPer或经验尚浅的NLPer,尽力避免陷入繁琐枯燥的公式讲解中,力求用代码展示每个模型背后的设计思想,同时也会带大家梳理每个模块下的技术演变,做到既知树木也知森林。
Jupyter Notebook
80
star
59

paper-chart-tutorial

《科研论文配图》组队学习
64
star
60

whale-anno

Datawhale自研数据标注工具
Vue
63
star
61

time-series-learning

天池”AI Earth“气象海洋预测竞赛的Topline学习教程
Jupyter Notebook
60
star
62

wow-plotly

高级可视化神器plotly的学习
Jupyter Notebook
55
star
63

leegenai-tutorial

《李宏毅生成式人工智能教程》,PDF下载地址:https://github.com/datawhalechina/leegenai-tutorial/releases
55
star
64

openmmlab-tutorial

帮助新手快速入门、快速使用、习惯 OpenMMLab 开源库官方文档且能够自主上手实验,自由选择阅读更深层的知识。
Jupyter Notebook
53
star
65

go-talent

Go天才小队
Go
49
star
66

rl-papers

rl-papers
41
star
67

whale-paper

Datawhale论文分享,阅读前沿论文,分享技术创新
40
star
68

unlock-hf

解锁HuggingFace生态的百般用法
HTML
40
star
69

aima-notes

人工智能:现代方法(第4版)笔记
39
star
70

llm-deploy

大模型/LLM推理和部署理论与实践
39
star
71

llm-research

39
star
72

what-is-vs

向量检索教程
36
star
73

whale-starry

繁星点点,光芒万丈
C++
34
star
74

team-learning-rl

主要存储Datawhale组队学习中“强化学习”方向的资料。
31
star
75

hugging-audio

Hugging Face Audio Course中文版,帮助学习者快速入门音频模态
Jupyter Notebook
28
star
76

ML-FTTI

机器学习 - 从原理到实现
Python
28
star
77

whale-web

Python
27
star
78

handy-ollama

动手学Ollama,CPU玩转大模型部署,在线阅读地址:https://datawhalechina.github.io/handy-ollama/
Jupyter Notebook
27
star
79

magic-cv

Jupyter Notebook
22
star
80

hugging-rl

Robot Learning Algorithms
18
star
81

leeml-notes

leeml-notes已更名为leedl-tutorial,请访问:https://github.com/datawhalechina/leedl-tutorial
18
star
82

coggle

Coggle数据科学
16
star
83

easy-grokking-deep-learning

Easy-Grokking-Deep-Learning,意为轻松摸索深度学习,英文缩写可简称为EGDL。
Python
13
star
84

scientific-computing

Python科学计算教程,学完Python不知道如何应用?看这里:https://datawhalechina.github.io/scientific-computing/
12
star
85

sweetalk-data-structure

电子书阅读地址
10
star
86

datawhale-linklearner

datawhale linklearner 网站
TypeScript
9
star
87

camel-agent-tutorial

This is a tutorial based on the CAMEL framework, aimed at understanding how to build an Agent Society from the ground up!
9
star
88

repo-template

Datawhale Repository Template
8
star
89

self-dify

8
star
90

udl-tutorial

6
star
91

easy-ros2arm

Robotic arm with machine vision and its os is ROS2.
C++
5
star
92

HandPoseKeyPoints

5
star
93

latex-template

Datawhale LaTex Template
TeX
5
star
94

design-and-analysis-of-algorithm

4
star
95

hello-net

4
star
96

fun-marl

4
star
97

light-memory-pool

基于Arrow的轻量内存池
C++
4
star
98

hands-on-llm

Python
3
star
99

whale-coin

Python
3
star
100

ai-club

Datawhale 高校联盟
3
star