论文阅读 <Relocalization, Global Optimization and Map Merging for Monocular Visual-Inertial SLAM>
看了一下港科的基于vins拓展的论文<relocalization, global optimization and merging for vins>,在回环的实现部分总体没有什么变化,DBoW2 + PnPRANSAC + 4DOF pose graph,唯一的改动是在pnp前面加了个fundamental matrix RANSAC,应该是有效果调优的,但是根据之前VINS和LDSO的写法,DBoW2 + PnPRANSAC也是够用的.别的一些不同的操作就是在用回环帧更新当前pose的位姿的时候不是直接修正,而是把回环帧作为一个固定帧加入到当期那滑窗.其他的工作更偏向纯实现吧,包括地图的保存和读取.
Abstract
VINS会漂移并且不能提供绝对的位姿估计.
衡量历史信息来进行重定位然后修正漂移是一个热点话题.
通过高效的存储和加载地图来重复使用地图.
现在的地图和以往的可以被融合,通过全局pose graph.
代码已经被融合近VINS-Mono了.
Introduction
里程计会产生drift,及时IMU可以修正在roll和pitch角的drift,其他4个维度还是会漂的.
另一个问题是里程计是一个基于第一帧计算相对变化的系统而不是计算一个绝对的位姿.每一次我们启动系统的时候,起始点都会变成第一帧然后输出一个不是固定坐标系下的里程.
Related Work
[7, 8]松耦合IMU和相机,然后用KF.
一个比较有名的基于EKF的VIO方案是MSCKF.几个相机的位姿会被保持在状态向量里.所以连续帧看到的同样的特征会形成multi-constraint update.
重定位算法可以基于地图的类别分为两类.
- offline-built地图
[17]-[19]
[18],[19] build an offline map in geometric configuration
[17] build the offline map by learning method.
- online-built地图
[20]和[22]用BRISK特征,[21]用ORB.这些方法都缺少加载和复用之前地图的能力.
System Overview
基本pipeline就这样.
Algorithm
A. Visual-Inertial Odometry
就是个VINS简介.
B. Loop Detection
我们用了DBoW2,每一个关键帧,我们用了500个FAST特征,然后用BRIEF描述子.
比之前的VINS里回环操作多了一个2D-2D,可能是有好处的,不知道出于什么考量.因为只是PnPRANSAC工作的也很好,包括LDSO也是这么操作的.
我们用了两步,
- 先是2D-2D的Fundamental Matrix RANSAC.
- 然后是3D-2D的PnP RANSAC
C. Tightly-Coupled Relocalization
我们没有只是计算了两个匹配帧的相对位子,我们通过在局部滑窗联合优化loop closure frame来解决.
这个回环帧被看做一个局部滑窗中的固定的额外帧.
在cost function中也只是加了个回环帧的重投影误差.
这种联合优化的方式会生成更高精度的结果.
D. Global Pose Graph Optimization
当我们固定过去的状态的时候,local window会立刻飞到一个"没有漂移"的地方. 这样的话,轨迹就会有一个跳跃.为了使得整个轨迹持续而平滑,我们用了一个轻量级的4DOF的pose graph.
4DOF的优化是比一般的pose graph不一样一些,因为重力可观以后,角度中只有yaw角不可观.
1) Four Accumulated Drift Direction
pitch和roll是可观的.
2) Adding Keyframes into the Pose Graph
每一帧在它被边缘化呢以后就会被加入pose graph. (?)为啥
然后会有两种变,顺序边和回环边.
3) 4-DOF Pose Graph Optimization
4) Map Merging
E. Map Reuse
1) Pose Graph Saving
我们只需要保存每一个节点和边,和每一个关键帧描述子(节点).
原图被扔了(这个和VINS中的操作一致.)
特征的描述子消耗的内存最多,就是500*32一个关键帧.
2) Pose Graph Loading
没啥.
Experiment Result
..
Conclusion
..
论文阅读 <Relocalization, Global Optimization and Map Merging for Monocular Visual-Inertial SLAM>的更多相关文章
- 《Deep Learning of Graph Matching》论文阅读
1. 论文概述 论文首次将深度学习同图匹配(Graph matching)结合,设计了end-to-end网络去学习图匹配过程. 1.1 网络学习的目标(输出) 是两个图(Graph)之间的相似度矩阵 ...
- Deep Learning of Graph Matching 阅读笔记
Deep Learning of Graph Matching 阅读笔记 CVPR2018的一篇文章,主要提出了一种利用深度神经网络实现端到端图匹配(Graph Matching)的方法. 该篇文章理 ...
- Deep Reinforcement Learning for Dialogue Generation 论文阅读
本文来自李纪为博士的论文 Deep Reinforcement Learning for Dialogue Generation. 1,概述 当前在闲聊机器人中的主要技术框架都是seq2seq模型.但 ...
- Deep Learning 33:读论文“Densely Connected Convolutional Networks”-------DenseNet 简单理解
一.读前说明 1.论文"Densely Connected Convolutional Networks"是现在为止效果最好的CNN架构,比Resnet还好,有必要学习一下它为什么 ...
- Deep Learning 26:读论文“Maxout Networks”——ICML 2013
论文Maxout Networks实际上非常简单,只是发现一种新的激活函数(叫maxout)而已,跟relu有点类似,relu使用的max(x,0)是对每个通道的特征图的每一个单元执行的与0比较最大化 ...
- Discriminative Learning of Deep Convolutional Feature Point Descriptors 论文阅读笔记
介绍 该文提出一种基于深度学习的特征描述方法,并且对尺度变化.图像旋转.透射变换.非刚性变形.光照变化等具有很好的鲁棒性.该算法的整体思想并不复杂,使用孪生网络从图块中提取特征信息(得到一个128维的 ...
- Sequence to Sequence Learning with Neural Networks论文阅读
论文下载 作者(三位Google大佬)一开始提出DNN的缺点,DNN不能用于将序列映射到序列.此论文以机器翻译为例,核心模型是长短期记忆神经网络(LSTM),首先通过一个多层的LSTM将输入的语言序列 ...
- Deep Learning 24:读论文“Batch-normalized Maxout Network in Network”——mnist错误率为0.24%
读本篇论文“Batch-normalized Maxout Network in Network”的原因在它的mnist错误率为0.24%,世界排名第4.并且代码是用matlab写的,本人还没装caf ...
- Deep Learning 25:读论文“Network in Network”——ICLR 2014
论文Network in network (ICLR 2014)是对传统CNN的改进,传统的CNN就交替的卷积层和池化层的叠加,其中卷积层就是把上一层的输出与卷积核(即滤波器)卷积,是线性变换,然后再 ...
- Deep Learning 28:读论文“Multi Column Deep Neural Network for Traffic Sign Classification”-------MCDNN 简单理解
读这篇论文“ Multi Column Deep Neural Network for Traffic Sign Classification”是为了更加理解,论文“Multi-column Deep ...
随机推荐
- Qt 制作透明背景图片与裁剪图片(很实用)
这两天想做一个五子棋游戏,想从零开始自己绘制各种图片素材,将经验心得整理如下. 制作透明背景图片: void MyPainter::DrawKit() { QImage image(30, 30, Q ...
- C#可扩展编程之MEF学习笔记(四):见证奇迹的时刻(转)
前面三篇讲了MEF的基础和基本到导入导出方法,下面就是见证MEF真正魅力所在的时刻.如果没有看过前面的文章,请到我的博客首页查看. 前面我们都是在一个项目中写了一个类来测试的,但实际开发中,我们往往要 ...
- 中资收购美新半导体,为何能通过CFIUS审查(其实是国内公司,技术水平国内领先,和国际仍有差距)
日前,华灿光电发布公告称,旗下子公司和谐光电收购美国美新半导体终获得CFIUS审查通过.这是中资收购豪威科技.图芯科技等公司之后,再次从美国成功收购半导体企业.而且本次中资收购美新半导体还是在特朗普上 ...
- 使用Boost的DLL库管理动态链接库(类似于Qt中的QLibrary)
Boost 1.61新增了一个DLL库,跟Qt中的QLibrary类似,提供了跨平台的动态库链接库加载.调用等功能.http://www.boost.org/users/history/version ...
- 纯CSS3创意loading文字特效
快速使用Romanysoft LAB的技术实现 HTML 开发Mac OS App,并销售到苹果应用商店中. <HTML开发Mac OS App 视频教程> 土豆网同步更新:http: ...
- OpenGL与Directx的区别
OpenGL 只是图形函数库. DirectX 包含图形, 声音, 输入, 网络等模块. 单就图形而论, DirectX 的图形库性能不如 OpenGL OpenGL稳定,可跨平台使用.但 OpenG ...
- wpf中的datagrid绑定操作按钮是否显示或者隐藏
如图,需要在wpf中的datagrid的操作那列有个确认按钮,然后在某些条件下确认按钮可见,某些情况下不可见的,放在mvc里直接在cshtml页面中if..else就行了. 但是在wpf里不行..网上 ...
- Ruby元编程:单元测试框架如何找到测试用例
前几天看了Google Testing Blog上的一篇文章讲到C++因为没有反射机制,所以如何注册测试用例就成了一件需要各显神通的事情.从我的经验来看,无论是Google的GTest还是微软的LTM ...
- SYN6107型 GPS北斗双模子钟
SYN6107型 GPS北斗双模子钟 产品概述 SYN6107型GPS北斗双模子钟是由西安同步电子科技有限公司精心设计.自行研发生产的一套以接收北斗卫星信号的子钟,从北斗地球同步卫星上获取标准时钟信号 ...
- python之datetime
一.获取当前日期 >>> from datetime import datetime >>> now=datetime.now() >>> pri ...