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. 如何解决redis的并发竞争问题?

    这个也是线上非常常见的一个问题,就是多客户端同时并发写一个key,可能本来应该先到的数据后到了,导致数据版本错了.或者是多客户端同时获取一个key,修改值之后再写回去,只要顺序错了,数据就错了. 而且 ...

  2. redis都有哪些数据类型?分别在哪些场景下使用比较合适?

    (1)string 这是最基本的类型了,没啥可说的,就是普通的set和get,做简单的kv缓存 (2)hash 这个是类似map的一种结构,这个一般就是可以将结构化的数据,比如一个对象(前提是这个对象 ...

  3. c++的标准流入流出和使用例子

    参考链接 标准输出流(cout) 预定义的对象 cout 是 iostream 类的一个实例.cout 对象"连接"到标准输出设备,通常是显示屏.cout 是与流插入运算符 < ...

  4. Excel技巧大全

    1.一列数据同时除以10000 复制10000所在单元格,选取数据区域 - 选择粘性粘贴 - 除 2.同时冻结第1行和第1列 选取第一列和第一行交汇处的墙角位置B2,窗口 - 冻结窗格 3.快速把公式 ...

  5. cookies localStorage和sessionStorage的区别

    sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁.因此sessionStorage不是一种持久化的本地 ...

  6. Go语言 - 关于常用插件不能安装的处理办法

    解决办法 这里的是Windows的环境下的解决办法 在GOPATH的src目录下面创建github.com\golang文件夹,若文件夹存请忽略本步骤 在vs code终端执行: cd %GOPATH ...

  7. car购车翻译篇

    Sedans 4门轿车 si 运动型车,通常匹配6挡位变速箱 Coupes 双门,有少少跑车的含义 Hatchbacks 掀背   配置英语 Honda Sensing® Standard 感应标准, ...

  8. grpc提供http服务

    package main import ( "google.golang.org/grpc" "google.golang.org/grpc/credentials&qu ...

  9. (二)IDEA使用,快捷键

    idea的快捷键设置: idea支持使用其他开发工具的快捷键,可以在此设置: idea 默认的本身的快捷键: 常用快捷键 Ctrl + Alt + s 打开设置选项 Alt + Enter 修复提示 ...

  10. 汇编语言DOSBox软件使用方法

    https://wenku.baidu.com/view/e63b8b46ccbff121dc368305.html