3.4. Mappoints management and key frame process
如果在步骤3.3中成功跟踪地图点,则缓存地图点以在下一帧中优先化。当完成当前帧的跟踪时,应该为下一帧更新帧运动速度和地图点。最后,决定当前帧是否应该作为关键帧产生,其标准指的是[11]。 如果框架作为关键帧生成,则会提取并匹配新的ORB要素,同时在此关键帧中保留成功跟踪的要素。ORB功能在关键帧中提取; 因此,当前关键帧姿势和mappoints通过本地映射线程中的描述符匹配和投影错误进一步优化。如果通过直接方法进行跟踪失败,则通过与参考关键帧匹配,在当前帧中提取ORB要素以进行本地化。

4. SVL-VI SLAM system

在第3节的工作基础上,紧密耦合的Visual-
提出了惯性SLAM系统,它可以闭环并覆盖公制尺度。IMU数据通过预积分处理[25]。 与SVL类似,该系统还具有三个并行线程,用于跟踪,本地映射和循环关闭。由于需要融合惯性导航状态,这三个线程和仅视觉SVL系统之间存在差异。该系统的基本流程见[26]。 鉴于未在非关键帧中提取ORB特征,通过最小化类似于(3)中的光度误差来完成特征匹配。

4.1. Tracking

SVL-VI的跟踪线程负责跟踪姿势,速度和IMU偏差。 该线程的基本流程如图2所示(我们并没有专门绘制SVL-VI的流程图。SVL-VI的跟踪线程是类似的,其中初始姿势由IMU而不是SVL中的恒定速度运动模式预测,并且参考帧是最后一个关键帧或最后一帧,这取决于地图是否被更新。)初始姿势由IMU预测,其比恒定速度运动模式更可靠。通过最小化当前帧和参考帧之间的光度误差来进一步优化当前帧,类似于3.2中的帧。在使用(3)中给出的方法完成匹配之后,通过使用IMU状态误差项最小化类似于(4)中的投影误差来优化当前帧j。根据地图是否由另外两个线程更新,优化会有所不同。

SVL-VI SLAM的更多相关文章

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

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

  2. SLAM、三维重建,语义相关数据集大全

    作者朱尊杰,公众号:计算机视觉life,编辑成员 一 主要针对自动驾驶: 1.KITTI数据集: http://www.cvlibs.net/datasets/kitti/index.php(RGB+ ...

  3. 三维视觉惯性SLAM的有效Schmidt-EKF

    三维视觉惯性SLAM的有效Schmidt-EKF An Efficient Schmidt-EKF for 3D Visual-Inertial SLAM 论文地址: http://openaccess ...

  4. Hector SLAM解读(1)原文翻译

      一种带有3D运动状态估计的slam系统 A Flexible and Scalable SLAM System with Full 3D Motion Estimation 摘要: 在许多应用场景 ...

  5. 在docker容器中vi指令找不到

    在使用docker容器时,有时候里边没有安装vi,敲vi命令时提示说:vi: command not found,这个时候就需要安装vi,可是当你敲apt-get install vi命令时,提示: ...

  6. linux vi 命令大全

    进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...

  7. Cygwin中解决vi编辑器方向键和Backspace键不好使、安装vim的方法

    修改.virc文件(如果没有就创建)vi .virc 添加以下内容set nocpset backspace=start,indent,eol 保存退出:wq 如果是vim就修改.vimrc文件. 由 ...

  8. vi(vim)键盘图及其基本命令

    进入vi vi filename                打开或新建文件,并将光标置于第一行首 vi +n filename           打开文件,并将光标置于第 n行首 vi + fi ...

  9. vi安装Vundle+YouCompleteMe+注释快捷'scrooloose/nerdcommenter'

    Vundle is short for Vim bundle and is a Vim plugin manager. 从git上下载vundle $ git clone https://github ...

随机推荐

  1. dt二次开发之-url伪静态的自定义

    dt内核的方便性在于代码内核完全开源,都可以根据自身需要进行优化整改,个人在这段时间的深入研究,发现这套内核的方便性,今天继续给大家分享下DT的url伪静态如何自定义函数. url自定义文件是在api ...

  2. JOIN序列化过程中日期的处理

    一.在后台进行处理: System.Web.Script.Serialization.JavaScriptSerializer js = new System.Web.Script.Serializa ...

  3. Java - 框架之 SpringBoot 攻略day01

          Spring-Boot 攻略 day01 spring-boot   一. 基本配置加运行   1. 导入配置文件(pom.xml 文件中)   <parent> <gr ...

  4. Prometheus监控学习笔记

    K8S最佳实战(包括了K8S的Prometheus监控和EFK日志搜集) https://jimmysong.io/kubernetes-handbook/practice/ Prometheus-b ...

  5. /etc/shells

    List of acceptable shells for chpass(1). Ftpd will not allow users to connect who are not using one ...

  6. 表述数据的手段——json

    一.JSON 语法规则 在 JS 语言中,一切都是对象.因此,任何支持的类型都可以通过 JSON 来表示,例如字符串.数字.对象.数组等.但是对象和数组是比较特殊且常用的两种类型: 对象表示为键值对 ...

  7. 关灯问题II 状压DP

    关灯问题II 状压DP \(n\)个灯,\(m\)个按钮,每个按钮都会对每个灯有不同影响,问最少多少次使灯熄完. \(n\le 10,m\le 100\) 状压DP的好题,体现了状压的基本套路与二进制 ...

  8. Bzoj 1926: [Sdoi2010]粟粟的书架(二分答案+乱搞+主席树)

    1926: [Sdoi2010]粟粟的书架 Time Limit: 30 Sec Memory Limit: 552 MB Description 幸福幼儿园 B29 班的粟粟是一个聪明机灵.乖巧可爱 ...

  9. javascript 是实际上最容易被误解的语言

    不是立 Flag,而是摘录的 JSON 创始人的深切感受.如果你不同意,说明还理解的不够深入(kidding~)   “JavaScript is the world’s most misunders ...

  10. 利用nc当作备用shell管理方案.

    ssh 有时候真的就是连不上了,然后是没什么然后了呢. 或者手残改错配置然后重新sshd了. 所以这时候需要备用的远程管理工具.nc是最好的选择,一般服务器都是 内网的,如果跳板机也管理不了呢. 安装 ...