ORB_SLAM2源码:

获得旋转矩阵,来自这里:http://www.cnblogs.com/shang-slam/p/6406584.html

关于Covisibility图来自:http://blog.csdn.net/zhaojun1204/article/details/53002752

1、Covisibility Graph是一个无向有权图(graph),这个概念最早来自2010的文章[Closing Loops Without Places]。简单来说,每个node就是关键帧,edge的权重就是两个关键帧找到足够多的相同的 3d 点的数目。

  2、为了在优化阶段减小计算量,作者提出了Essential Graph的概念,这个能够连接所有的node,但是edge会减少很多。可以认为是Covisibity Graph的最小生成树(MST)。

另有:http://blog.csdn.net/u014488388/article/details/65446731

直接法和特征点法,来自知乎:

SVO论文中嵌入式平台和PC运行时间的比较,嵌入式平台ARM A9,4核1.6G;PC平台酷睿i7,8核1.6G,但作者指出这俩都只用两个CPU:

作者指出,作图线程的运行时间取决于深度滤波器的个数,有新关键帧插入时,滤波器个数很多,但随着滤波器的converge会显著下降。总的来说,作图线程比位姿估计线程耗时短得多,因此不重要。

高翔直接法笔记:

视频:http://www.bilibili.com/video/av6299156/

课件:http://www.rosclub.cn/post-231.html

这个雅克比矩阵表示一个像素对李代数的变化量,刻画对相机做一个微小的扰动,p在相机第二个图里的的投影点是如何变化的。

SLAM常用依赖库:http://weixin.niurenqushi.com/article/2017-02-23/4776497.html

Eigen3、Sophus、OpenCV。

SuiteSparse库是稀疏矩阵运算库。Boost库是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库很庞大,DSO其实只用了它的多线程功能。

Ziplib库是zip文件相关的库。这个库是可选的,DSO作者并没有强烈推荐大家安装。如果不安装的话,在运行TUM数据集的时候,需要把图像集的zip文件手动解压缩。

SLAM学习笔记的更多相关文章

  1. ROS_RGB-D SLAM学习笔记--室内环境测试

    ROS_RGB-D SLAM学习笔记 RTAB-Map's ros-pkg. RTAB-Map is a RGB-D SLAM approach with real-time constraints. ...

  2. SLAM学习笔记(2)SLAM算法

    SLAM算法分为三类:Kalman滤波.概率滤波.图优化 Kalman滤波方法包括EKF.EIF:概率滤波包括RBPF,FastSLAM是RBPF滤波器最为成功的实例, 也是应用最为广泛的SLAM方法 ...

  3. SLAM学习笔记(1)基本概念

    SLAM (simultaneous localization and mapping),也称为CML (Concurrent Mapping and Localization), 即时定位与地图构建 ...

  4. SLAM学习笔记 - 视觉SLAM方法资源汇总

    工具类: ros框架 linux系列教程     vim Eigen     Eigen快速入门 Pangolin  Pangolin安装与使用 数据集: TUM         数据格式 提供pyt ...

  5. SLAM学习笔记 - ORB_SLAM2源码运行及分析

    参考资料: DBow2的理解 单目跑TUM数据集的运行和函数调用过程 跑数据集不需要ros和相机标定,进入ORB_SLAM目录,执行以下命令: ./Examples/Monocluar/mono_tu ...

  6. SLAM学习笔记(3)相关概念

    SIFT,即尺度不变特征变换(Scale-invariant feature transform,SIFT),是用于图像处理领域的一种描述子.这种描述具有尺度不变性,可在图像中检测出关键点,是一种局部 ...

  7. SLAM学习笔记 - 世界坐标系到相机坐标系的变换

    参考自: http://blog.csdn.net/yangdashi888/article/details/51356385 http://blog.csdn.net/li_007/article/ ...

  8. ROS学习笔记八:基于Qt搭建ROS开发环境

    1 前言 本文介绍一种Qt下进行ROS开发的完美方案,使用的是ros-industrial的Levi-Armstrong在2015年12月开发的一个Qt插件ros_qtc_plugin,这个插件使得Q ...

  9. Learning ROS for Robotics Programming Second Edition学习笔记(十) indigo Gazebo rviz slam navigation

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 moveit是书的最后一章,由于对机械臂完全不知,看不懂 ...

随机推荐

  1. Java+Selenium如何解决空指针

    1.问题描述:浏览器获取当期窗口值获取为空.

  2. C语言编程中pid, tid以及真实pid的关系(转)

    add by zhj: 下面是我对pid,tgid,ppid的个人理解 对于ubuntu14.04操作系统,可以在/usr/src/linux-headers-4.4.0-31/include/lin ...

  3. ConcurrentHashMap详解

    public class ConcurrentHashMap<K,V>extends AbstractMap<K,V>implements ConcurrentMap<K ...

  4. pymysql 模块 使用目录

    mysql python pymysql模块 基本使用 mysql python pymysql模块 增删改查 插入数据 介绍 commit() execute() executemany() 函数 ...

  5. 20190122 loop

    declare a number; v_begin date := to_date('201901013','yyyymmdd'); v_end date := to_date('20190119', ...

  6. 20180820 SQL 提示Error: String or binary data would be truncated

    Error: String or binary data would be truncated,错误,是因为栏位给出的长度不够,增加初始化长度就可以了. 除了创建表的增加长度情况,还有一种是,SELE ...

  7. HIVE简单操作

    1.hive命令登录HIVE数据库后,执行show databases;命令可以看到hive数据库中有一个默认的default数据库. [root@hadoop hive]# hive Logging ...

  8. pip批量安装和卸载package

    创建文件 将要安装或卸载的包按指定格式保存到文件中,这里以 packages.txt 为例,格式如下: Flask_Script==2.0.6 alembic==1.0.5 SQLAlchemy==1 ...

  9. VS中属性配置ABC

    1.包含目录和附加包含目录(库目录和附加库目录)的区别: 包含目录:修改了系统的include宏的值,是全局的: 附加包含目录:用于当前项目,对其他项目没有影响. (库目录和附加库目录的区别同上) 2 ...

  10. [django]django缓存

    发现搞了全局缓存后,刷新得不到最新数据了. 还好有过期时间 redis常用: https://www.cnblogs.com/fansik/p/5483060.html django-redis缓存: ...