视觉SLAM
随机游走321
这个作者很懒,什么都没留下…
展开
-
ORB_SLAM2源码阅读记录(3):线程LocalMapping
继续阅读ORB_SLAM2源码,主线程Tracking向局部建图线程LocalMapping插完关键帧后,局部建图线程LocalMapping主要做了哪些工作? 从LocalMapping::Run()函数开始。 局部地图构建线程: 创建新的地图点以及剔除冗余的关键帧。 检查队列插入新的关键帧,处理关键帧队列; 删除不合理的地图点,创建新的地图点,三角化新的地图点,利用local BA 优化局部地图中关键帧的位姿和地图点3D位置; 删除冗余的关键帧和 3D 点,如果关键帧中 90%以上的地图点...原创 2020-06-03 15:55:09 · 273 阅读 · 0 评论 -
ORB_SLAM2源码阅读记录(2):主线程Tracking
接着上一次阅读的完成单目初始化,继续阅读Tracking主线程,单目初始化完成后,开始进行帧跟踪,分为三个小步骤,如论文中的系统框架所示,(1)初始位姿估计;(2)跟踪局部地图;(3)跟踪良好,检查是否插入新的关键帧,及生成关键帧。 1.初始位姿估计 初始位姿估计又分为SLAM模式和定位模式两种,在显示地图界面可以勾选是否是只进行定位(仅跟踪,局部建图LocalMapping线程和回环LoopClosing线程就会关闭),SLAM模式是完整的,程序默认情况下是这种模式,这里也只看这种模式对应的代..原创 2020-06-02 20:14:05 · 307 阅读 · 0 评论 -
ORB_SLAM2源码阅读记录(1):单目初始化
最近开始学习了下ORB_SLAM2源码,边阅读边记录下自己的理解,首先来一个大致初始化流程图 Tracking::MonocularInitialization(); 1.第一帧刚来,未构造初始化器,则构造 (如果是单目初始器mpInitializer为空,即第一次进行初始化,并且特征点数>100,得到用于初始化的第一帧:) 2.第二帧(当前帧),如果当前(第二帧)帧特征点太少,删除之前构造的初始器,将mpInitializer置空,返回需要重新初始化(如果当前帧特征点数大于100,则得到原创 2020-05-29 22:11:11 · 413 阅读 · 0 评论 -
ORB_SLAM运行详细过程(ubuntu14.04系统和ROS Indigo环境搭建,配置及测试运行)
ORB_SLAM运行详细过程(不能再详细了) 本文档包括单目ORB_SLAM从ubuntu系统和ROS环境搭建到最终测试程序,主要包含以下几部分。 运行环境:window 7下装虚拟机VMWare 10,在虚拟机里跑ubuntu14.04。参考了一些资料,在测试中也碰到很多问题,故编写这个详细ORB_SLAM运行过程,辛苦堆砌。 一、ORB SLAM简介 ORBSLAM是15年出的比较完备原创 2017-12-15 21:06:09 · 2751 阅读 · 1 评论