0 讲座

(1)SLAM定义

对比雷达传感器和视觉传感器的优缺点(主要介绍视觉SLAM)

单目:不知道尺度信息

双目:知道尺度信息,但测量范围根据预定的基线相关

RGBD:知道深度信息,但是深度信息对距离也有要求

vSLAM(视觉SLAM)

摄像机(主要)+IMU+超声波避障传感器

2016年之后已经可以跑一点DEMO程序了(在刚体的和静态的环境下)

视觉SLAM的几个模块

传感器数据(图像数据采集点云)

视觉里程计(估计摄像机参数)

后端(对摄像机参数优化,因为摄像机误差累积跟IMU一样,因此需要对其优化)

建图(二维图和三维图)

回环检测(若能回来)

2. 视觉里程计

1. 提取特征点:FAST, SIFT, SURF, ORB

2. 匹配:KNN

3. 估计ego-运动

缺点:

1. 特征点必须存在,不能是一堵白墙或者运动太快晃得太厉害,SLAM是有这些假设条件的

2. 解不一定是最优解

ego运动估计

假设相机矩阵已知求解运动的R(旋转)、t()、X(平移)

问题:

1. 不一定有最优解 因为方程非凸

求解最优解的方法

代数法(解析法)

迭代法(数值法)

单目三维点重建

尺度问题

假设两幅图之间移动了一个距离1,而如果不移动呢距离就为0了怎么办

直接法

不提特征点直接求差的平方,这是在慢速运动、平滑运动以及光的条件改变不大的时候,计算量大

书籍:《视觉SLAM十四讲:从理论到实践》高翔

书籍:《视觉SLAM十四讲:从理论到实践》书籍配套代码

slambook

This is the code written for my new book about visual SLAM. It will come in April 2017. I am reviewing the context and codes right now.

It is highy recommended to download the code and run it in you machine because you can learn more and even modify it by doing so. In this repo, the code is stored by chapters like "ch2" and "ch4". Note that chapter 9 is a project so I stored it in the "project" directory.

If you have any questions about the code, please add an issue so I can solve it. Contact me for more information: gaoxiang12 dot mails dot tsinghua dot edu dot cn.

These codes are under MIT license. You don't need permission to use it or change it. But I recommed to cite this book if you are doing academic works.

Citation will be added as soon as the book is officially published.

Please cite: Xiang Gao, Tao Zhang, Qinrui Yan, Yi Liu, 14 Lectures on Visual SLAM: From Theory to Practice, Publishing House of Electronics Industry, 2017.

  • ch1 Preface
  • ch2 Overview of SLAM & linux, cmake
  • ch3 Rigid body motion & Eigen
  • ch4 Lie group and Lie Algebra & Sophus
  • ch5 Cameras and Images & OpenCV
  • ch6 Non-linear optimization & Ceres, g2o
  • ch7 Feature based Visual Odometry
  • ch8 Direct (Intensity based) Visual Odometry
  • ch9 Project
  • ch10 Back end optimization & Ceres, g2o
  • ch11 Pose graph and Factor graph & g2o, gtsam
  • ch12 Loop closure & DBoW3
  • ch13 Dense reconstruction & REMODE, Octomap

高博-《视觉SLAM十四讲》的更多相关文章

  1. 视觉slam十四讲第七章课后习题6

    版权声明:本文为博主原创文章,转载请注明出处: http://www.cnblogs.com/newneul/p/8545450.html 6.在PnP优化中,将第一个相机的观测也考虑进来,程序应如何 ...

  2. 视觉slam十四讲第七章课后习题7

    版权声明:本文为博主原创文章,转载请注明出处:http://www.cnblogs.com/newneul/p/8544369.html  7.题目要求:在ICP程序中,将空间点也作为优化变量考虑进来 ...

  3. 浅读《视觉SLAM十四讲:从理论到实践》--操作1--初识SLAM

    下载<视觉SLAM十四讲:从理论到实践>源码:https://github.com/gaoxiang12/slambook 第二讲:初识SLAM 2.4.2 Hello SLAM(书本P2 ...

  4. 《视觉SLAM十四讲》第2讲

    目录 一 视觉SLAM中的传感器 二 经典视觉SLAM框架 三 SLAM问题的数学表述 注:原创不易,转载请务必注明原作者和出处,感谢支持! 本讲主要内容: (1) 视觉SLAM中的传感器 (2) 经 ...

  5. 《视觉SLAM十四讲》第1讲

    目录 一 视觉SLAM 注:原创不易,转载请务必注明原作者和出处,感谢支持! 一 视觉SLAM 什么是视觉SLAM? SLAM是Simultaneous Localization and Mappin ...

  6. 视觉SLAM十四讲:从理论到实践 两版 PDF和源码

    视觉SLAM十四讲:从理论到实践 第一版电子版PDF 链接:https://pan.baidu.com/s/1SuuSpavo_fj7xqTYtgHBfw提取码:lr4t 源码github链接:htt ...

  7. 高翔《视觉SLAM十四讲》从理论到实践

    目录 第1讲 前言:本书讲什么:如何使用本书: 第2讲 初始SLAM:引子-小萝卜的例子:经典视觉SLAM框架:SLAM问题的数学表述:实践-编程基础: 第3讲 三维空间刚体运动 旋转矩阵:实践-Ei ...

  8. 《视觉SLAM十四讲》学习日志(一)——预备知识

    SLAM简介 : SLAM是 Simultaneous Localization and Mapping 的缩写,中文译作 " 同时定位与地图构建 ".它是指搭载特定传感器的主题, ...

  9. 视觉slam十四讲开源库安装教程

    目录 前言 1.Eigen线性代数库的安装 2.Sophus李代数库的安装 3.OpenCV计算机视觉库的安装 4.PCL点云库的安装 5.Ceres非线性优化库的安装 6.G2O图优化库的安装 7. ...

随机推荐

  1. springMVC学习记录3-拦截器和文件上传

    拦截器和文件上传算是springmvc中比较高级一点的内容了吧,让我们一起看一下. 下面先说说拦截器.拦截器和过滤器有点像,都可以在请求被处理之前和请求被处理之到做一些额外的操作. 1. 实现Hand ...

  2. storm集群相关资料

    1. Storm集群组件 Storm集群中包含两类节点:主控节点(Master Node)和工作节点(Work Node).其分别对应的角色如下: 主控节点(Master Node)上运行一个被称为N ...

  3. GBDT 将子树结果当成lr输出

    http://scikit-learn.org/stable/auto_examples/ensemble/plot_feature_transformation.html#example-ensem ...

  4. mysql备份的三种方式

    一.备份的目的 做灾难恢复:对损坏的数据进行恢复和还原需求改变:因需求改变而需要把数据还原到改变以前测试:测试新功能是否可用 二.备份需要考虑的问题 可以容忍丢失多长时间的数据:恢复数据要在多长时间内 ...

  5. mybatis什么时候需要声明jdbcType?

    经常会见到以下两种写法:1. #{bookId}2. #{bookId,jdbcType=INTEGER}一般情况下,两种写法都可以.它们都可以获取Dao层传递过来的参数.但是,当传入的参数为null ...

  6. ECMAScript5之JSON对象属性的遍历顺序

    测试浏览器 Chrome.Safari 一 键可以用parseInt解析成整数的,按数值升序顺序. var intObj = { '3.3' : 3.3, '2' : 222, '1' :111 } ...

  7. 翻转链表reverse linked list:全部,m~n

    全部 [抄题]: Reverse a singly linked list. [思维问题]: 以为要用dummy node [一句话思路]: 直接全部转过来就行了,用dummy node反而多余 [输 ...

  8. SourceTree下载 及使用

    SourceTree 代码库管理工具 https://www.cnblogs.com/QianChia/p/8531725.html#_label0 SourceTree的基本使用 https://w ...

  9. Visual Event查看页面相关绑定事件

    页面相关绑定的事件比较复杂,在不熟悉的情况下很难找到相关逻辑的位置,所以希望借助工具来帮自己理清相关事件的脉络走向. 浏览器 工具 chrome( 58.0.3029.110) Visual Even ...

  10. Python.__getattr__Vs__getattribute__

    __getattr__ Vs __getattribute__ class Fish(object): def __getattr__(self, key): if key == 'color': p ...