Orb_SLAM被业内人士称为第一个现代SLAM方法,不仅是因为其工程化良好,简单易用。OrbSLAM更是对PTAM的改进,PTAM分离了追踪和地图构建过程。OrbSLAM走的更远,把闭环检测和世界地图的优化从局部地图优化中独立出来,另辟一个线程,使在线SLAM过程应用到了更大的场景中。

作为传统在线SLAM算法的滤波器算法,使用EM同时完成追踪和地图构建;PTAM引入BA,把地图构建从追踪中独立出来,增大在线SLAM的使用场景;OrbSLAM工程方法,把闭环检测和世界地图优化独立出来,使在线SLAM应用到更大的场景,并可以应用到室外。

OrbSLAM应用广泛的一个前提是其开源工程做的不错,方法论和设计模式有可圈可点之处。引发全员SLAM。

0.ORB_SLAM的官方网站:http://webdiis.unizar.es/~raulmur/orbslam/

1. 参考知乎上对 orb-slam 的评价:orb-slam在众多SLAM方法中处于怎样的地位

2. 评价说是 PTAM 的改进版:PTAM主页

3. Orb_SLAM的 GitHub 页面:此页面有详细的使用方法

4. 使用Orb_SLAM的一些实用参考工程:视觉SLAM实战(一):RGB-D SLAM V2、Orb_SLAM

"RGBDSLAMv2 is based on the ROS project, OpenCV, PCL, OctoMap, SiftGPU and more – thanks!" 你还在等什么?装装装!好在这些东西在Ubuntu下安装,就是几句话搞定的事。

ROS hydro安装指南: http://wiki.ros.org/cn/hydro/Installation/Ubuntu (加ppa源后直接安装)

Linux OpenCV安装指南:http://blog.sciencenet.cn/blog-571755-694742.html (从源代码编译)

PCL:http://www.pointclouds.org/downloads/linux.html (加ppa后安装)

5. Orb_SLAM的使用方法中文介绍:ORB-SLAM(1) --- 让程序飞起来

本文给出了一些注意事项和排错方法,值得没有时间读详细文档的使用者参考一下。

6.  SLAM:ORB_SLAM源代码中的设计模式分析

此文分析了ORB_SLAM的设计模式的由来。原文链接:SLAM代码(设计模式)

若要读取代码之前先观其思路,看看这个系列的不错:http://blog.csdn.net/wendox/article/month/2016/12

一部分摘抄

引入一个Frame结构,为了实现上述的跟踪器,第一步是读取图像,通过图像的数据估计当前帧对应的位姿状态。场景中相同的点在不同的视角中构成一个基础矩阵的关系,一个图像帧的图像平面和另一帧的图像的平面之间构成单应矩阵的关系。使用最小二乘法通过图像点可以计算得到单应矩阵和基础矩阵,,使用矩阵奇异值分解(SVD)可将单应矩阵或者基础矩阵分解恢复出位姿变化。这些内容的实现可以放到Frame结构,也可以像ORB那样专门放到一个Initializer里边。Frame需要和Map完成互动。除了需要计算当前帧的位姿,还要完成特征点的三维重建。有的方法使用了一个深度滤波器,如SVO,LSD中考虑了极线与深度的夹角,这样会得到一个半稠密的地图。因为稠密的地图点想要试试完成一般是需要使用GPU来完成的。图像的上的特征点和空间中的三维点如何对应呢?常用的方法是PnP。PnP是已知三维点计算相机位姿,三维重建是已知相机位姿计算三维点。

PnP的计算中需要知道相机的内参数,这里引入第二个结构相机模型Camera,他保存并管理相机的参数,进行一些图像空间到世界空间的转换,完成图像点(关键特征点)的去畸变。

如何解决累计误差问题,常用的方法是使用路标点和当前图像点进行匹配估计相机的运动,这时候需要存储这些路标点的描述子。另外一方面在LSD-SLAM, SVO等方法中,是怎样存储路标点的呢?这里引入一个结构叫做Mappoint

如何评价一个路标点的好坏程度?如何如何保存病管理这些路标点呢?路标点的添加删除等管理工作可以放入另外一个结构Map中进行。地图中以何种形式保存这些路标呢,一种方法是路标放在图像帧里作为关键帧KeyFrame进行保存和提取。关键帧串起来成为一个地图。这样做的好处就是我们使用了关键帧继承了帧的性质,便于以后特征点匹配。在前边累计相机运动的时候参考帧是前一帧图像,这里的参考帧是关键帧的图像。关键帧是相机运动过程中保留了重要信息的最小集合中的元素。理论上关键帧是没有重叠的。后端优化的对象主要是关键帧。

不足之处:

ORB-SLAM工程在设计数据关联时关系链接极为复杂,应该有一种能降低工程模块耦合的方法。

SLAM: Orb_SLAM的使用小综述相关推荐

  1. SLAM相关学习资料:综述/激光/视觉/数据集/常用库

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨菠萝包包包@知乎 来源丨https://zhuanlan.zhihu.com/p/4348743 ...

  2. 人工智能 | SLAM与Visual Odometry技术综述(浙江大学智能系统和控制研究所)

    github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 下载链接:https://download ...

  3. 三维重建面试0:*SLAM滤波方法的串联综述

    知乎上的提问,高翔作了回答:能否简单并且易懂地介绍一下多个基于滤波方法的SLAM算法原理? 写的比较通顺,抄之.如有异议,请拜访原文.如有侵权,请联系删除. 我怎么会写得那么长--如果您有兴趣可以和我 ...

  4. 循环神经网络RNN(含LSTM,GRU)小综述

    文章目录 前言 一.RNN循环神经网络 1.1 RNN的结构 1.2 BRNN的结构 1.3 梯度消失和梯度爆炸 二.LSTM 2.1 引子 2.2 LSTM单元 2.3 LSTM的补充理解方式和变种 ...

  5. 计算机视觉与深度学习 | 开源SLAM、视觉里程计综述(SLAM、Visual Odometry)

    视觉里程计综述 引言 Visual Odometry or VSLAM OF-VO:Robust and Efficient Stereo Visual Odometry Using Points a ...

  6. 【图像上色小综述】生成对抗网络的GAN法

    点击上方"机器学习与生成对抗网络",关注"星标" 获取有趣.好玩的前沿干货! 超100篇!CVPR 2020最全GAN论文梳理汇总! 0,图像上色及其分类 图像 ...

  7. 小综述 | 深度学习在数学文本相关领域的研究梳理

    每天给你送来NLP技术干货! 作者|龚政 机构|中国人民大学硕士二年级 方向|自然语言处理 来自 | RUC AI Box 近年来,随着大规模语言模型和其他深度学习技术的迅速发展,人工智能在自然语言的 ...

  8. 从零开始搭建ROS下无人机激光雷达SLAM——hector_slam建图入门——综述篇

    首先我们看下最终无人机SLAM定位的计算图,然后根据计算图追根溯源分析实现算法在ROS中实现的流程 从图中可以看出总共包含的ros节点有5个,分别所属三个包,其中包1.2是ROS官方现成直接可以使用的 ...

  9. GAN属于计算机视觉领域嘛_【图像上色小综述】生成对抗网络的GAN法

    本文首发于公众号[机器学习与生成对抗网络],欢迎关注.回复 GAN 获取分类好的论文集,后台会邀您加入CV&GAN交流群一起讨论) 戳我,查看GAN的系列专辑~! 0,图像上色及其分类 图像上 ...

最新文章

  1. 51nod 1381 硬币游戏 概率
  2. 睿云智合(Wise2C)谈论docker
  3. 20190405模拟测试
  4. O'Reilly 1500 份问卷调研:2019 年 Serverless 落地到底香不香?
  5. Selenium 高阶操作
  6. 洛谷P2280 [HNOI2003]激光炸弹
  7. 怎样在CentOS 7.0上安装和配置VNC服务器
  8. HTML5 Canvas游戏开发实战 PDF扫描版
  9. pow()函数的应用
  10. python写入txt,读取txt,拷贝txt文件
  11. pfSense添加子网的几种方式
  12. sql 2008 清空数据库日志
  13. Lintcode--007(不同的子序列)
  14. 解决Iframe嵌入帆软BI系统后,Chrome升级后跨域出现登录界面,Cookie写入不成功。解决办法
  15. 我的CV实习工作总结
  16. Python pyttsx3|文本朗读(各种语言)
  17. Unity NavMesh寻路 A*(A star)分析及实例应用(一)
  18. ORACLE SQL常用用法
  19. Mysql—索引③:优化篇(不仅仅是索引)
  20. 前端:字符串正则表达式替换

热门文章

  1. 如何为MySQL选择更合适的数据类型
  2. 《iOS应用软件设计之道》—— 2.11 小结
  3. SQL Server 2008 修改安装路径后安装出错的解决方法
  4. 局部类型 之 部分方法
  5. 后台运行 Windows CMD 命令与 BAT 程序
  6. iPhone5搭载iOS6:App应用与Siri攻略
  7. 用ACL构建防火墙体系
  8. 019.MFC_两种对话框
  9. js中浮点型运算 加减乘除
  10. Antd 修改主题颜色2018 最新版 填坑记录