SVL-VI SLAM
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的更多相关文章
- 高翔《视觉SLAM十四讲》从理论到实践
目录 第1讲 前言:本书讲什么:如何使用本书: 第2讲 初始SLAM:引子-小萝卜的例子:经典视觉SLAM框架:SLAM问题的数学表述:实践-编程基础: 第3讲 三维空间刚体运动 旋转矩阵:实践-Ei ...
- SLAM、三维重建,语义相关数据集大全
作者朱尊杰,公众号:计算机视觉life,编辑成员 一 主要针对自动驾驶: 1.KITTI数据集: http://www.cvlibs.net/datasets/kitti/index.php(RGB+ ...
- 三维视觉惯性SLAM的有效Schmidt-EKF
三维视觉惯性SLAM的有效Schmidt-EKF An Efficient Schmidt-EKF for 3D Visual-Inertial SLAM 论文地址: http://openaccess ...
- Hector SLAM解读(1)原文翻译
一种带有3D运动状态估计的slam系统 A Flexible and Scalable SLAM System with Full 3D Motion Estimation 摘要: 在许多应用场景 ...
- 在docker容器中vi指令找不到
在使用docker容器时,有时候里边没有安装vi,敲vi命令时提示说:vi: command not found,这个时候就需要安装vi,可是当你敲apt-get install vi命令时,提示: ...
- linux vi 命令大全
进入vi的命令 vi filename :打开或新建文件,并将光标置于第一行首 vi +n filename :打开文件,并将光标置于第n行首 vi + filename :打开文件,并将光标置于最后 ...
- Cygwin中解决vi编辑器方向键和Backspace键不好使、安装vim的方法
修改.virc文件(如果没有就创建)vi .virc 添加以下内容set nocpset backspace=start,indent,eol 保存退出:wq 如果是vim就修改.vimrc文件. 由 ...
- vi(vim)键盘图及其基本命令
进入vi vi filename 打开或新建文件,并将光标置于第一行首 vi +n filename 打开文件,并将光标置于第 n行首 vi + fi ...
- vi安装Vundle+YouCompleteMe+注释快捷'scrooloose/nerdcommenter'
Vundle is short for Vim bundle and is a Vim plugin manager. 从git上下载vundle $ git clone https://github ...
随机推荐
- python算法与数据结构-插入排序算法(34)
一.插入排序的介绍 插入排序的工作方式非常像人们排序一手扑克牌一样.开始时,我们的左手为空并且桌子上的牌面朝下.然后,我们每次从桌子上拿走一张牌并将它插入左手中正确的位置.为了找到一张牌的正确位置,我 ...
- Angular CLI behind the scenes, part one
原文:https://commandlinefanatic.com/cgi-bin/showarticle.cgi?article=art074 --------------------------- ...
- destoon7.0后台栏目分类一键获取所有栏目拼音目录
近期研究DT,从DT4.0一直研究到DT7.0,总算也有些心得.最近重新开发设计了一个信息资讯站点:http://www.xuetong365.com/ 废话不多说,上教程 用于DESTOON7.0系 ...
- C# 6.0 中的新增功能(.NET Framework 4.6 与 Visual Studio 2015 )
C#6.0 在 2015 年7月随着.NET Framework 4.6 一同发布,后期发布了.NET Framework 4.6.1,4.6.2. 一.自动属性初始化(Auto-property i ...
- vscode远程调试node服务端
{ "type": "node", "request": "attach", "name": &qu ...
- oracle数据库锁表
在团队开发一个项目的时候,避免不了两个或两个以上的人同时操作某一数据库中的同一张表,这时候,如果一个用户没有提交事务,或者忘记提交事务,那么其他用户就不能对这张表进行操作了,这是很烦人的事情,下面是查 ...
- luogu 1714
前缀和 + rmq #include <bits/stdc++.h> const int N = 5e5 + 10; int Pow[30], Log[N]; int n, m; int ...
- [C++]线程池 与 [Go] mapreduce
线程池 ref: https://github.com/progschj/ThreadPool/blob/master/ThreadPool.h ref: https://www.jianshu.co ...
- 洛谷P1706全排列问题
P1706 全排列问题 题目描述 输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字. 输入输出格式 输入格式: n(1≤n≤9) 输出格式: 由1-n组 ...
- AtCoder Grand Contest 004题解
传送门 \(A\) 咕咕 int a,b,c; int main(){ scanf("%d%d%d",&a,&b,&c); if((a&1^1)|( ...