论文阅读:LIC-Fusion: LiDAR-Inertial-Camera Odometry
本文提出了一种紧耦合的多传感器(雷达-惯导-相机)融合算法,将IMU测量、稀疏视觉特征、提取的激光点融合。提出的算法在时间和空间上对三个异步传感器进行在线校准,补偿校准发生的变化。贡献在于将检测和追踪的激光surf/边特征和观测到的稀疏特征点以及IMU数据用MSCFK框架融合,仅仅采用单线程实现,实现了6自由度的位姿估计。雷达特征包括点和线面,在户外和室内环境都进行了实验,目前最好的VIOL里程计。
LIC-FUSION
A.状态向量
状态向量主要包括\(k\)时刻的IMU状态、IMU和相机之间的外参、IMU和激光雷达之间的外参、滑动窗口中过去\(m\)个相机帧对应的IMU状态、\(n\)个雷达帧对应的IMU状态。分别见公式(1)到(6)。当前时刻IMU状态包括全局坐标系到IMU的位姿四元数、IMU在全局坐标系中的速度、位置,重力和加速度的偏差。外参状态向量包括两个传感器之间的位姿变换。由于传感器延迟、时钟偏移或者数据传输延迟,作者估计了不同传感器与IMU之间的时间偏移(即以IMU为基准),假设存在一个时间偏移量,对其进行纠正,见公式(7)-(8)。参考文献[18]。状态估计值、偏差值、估计值的定义及更新见公式(10),注意旋转不能直接加法。
B.IMU传播
IMU运动学方程见公式(11)-(15)。
C.状态增强
当系统接收到新的一帧图像或者雷达数据,IMU将状态传递到当前时刻,同时也更新窗口中的IMU状态,为了标定不同传感器之间的时间偏移,将估计当前IMU时间,见公式(16),协方差矩阵见公式(17)。雅克比的推导见公式(18)(19)。
D.测量模型
1)雷达特征测量
雷达特征选取曲率比较低或者高的部分,分别对应着边和面。通过使用投影到最近的帧寻找最近的对应特征进行追踪,使用kd-tree快速查找,即将i+1帧的特征点投影到i帧上。而帧间位姿变换可以通过雷达i+1-IMU-Global-IMU-雷达i,具体推导见公式(21)-(23)。追踪完成后,在之前的两帧scan中找到两个边特征,这两个最近的特征应该在相邻的ring上,假设这两个边特征和当前帧的变特征对应物理世界中同一条边,则重投影的误差可以用当前帧的特征线到之前两个线的距离表示,见公式(24)。
对该距离进行线性化,加上高斯白噪声,需要求距离对状态向量的雅克比矩阵,为了实现扩展卡尔曼滤波更新,需要知道距离测量的协方差,由于该距离不是直接测量,因此需要用上文的相关帧上点的协方差进行传递,计算公式见公式(27)。使用基于马氏距离的概率方法将外点去除,见公式。
同理,对于投影的平面surf特征,在其他帧找到三个对应的surf特征,假设是在相同的物理平面上进行采样。测量残差为重投影的特征点和三个对应点形成平面的距离,协方差和马氏距离测试与边特征相似。
2)视觉特征测量
给定一个新的图像,提取FAST特征,使用KLT光流进行追踪,一旦视觉特征丢失或者追踪在滑动窗口之外,使用当前相机位姿进行三角化3D点。已知了3D视觉特征,残差可以用公式(28)和(29)表示,主要就是线性化。这里零空间和在线标定没看懂,二者有什么联系?
E.测量简练
在线性化雷达和视觉特征测量后,可以采用扩展卡尔曼滤波更新,而视觉和雷达的残差可以统一公式,由于测量量太多,采用Givens旋转对测量hessian矩阵进行QR分解后。线性的测量残差可以用标准EKF进行更新。
问题
MSCKF nullspace projection to remove this dependency 啥意思
滑动窗口为什么不维护相机位姿
论文阅读:LIC-Fusion: LiDAR-Inertial-Camera Odometry的更多相关文章
- 论文阅读笔记(二十一)【CVPR2017】:Deep Spatial-Temporal Fusion Network for Video-Based Person Re-Identification
Introduction (1)Motivation: 当前CNN无法提取图像序列的关系特征:RNN较为忽视视频序列前期的帧信息,也缺乏对于步态等具体信息的提取:Siamese损失和Triplet损失 ...
- [论文阅读笔记] Unsupervised Attributed Network Embedding via Cross Fusion
[论文阅读笔记] Unsupervised Attributed Network Embedding via Cross Fusion 本文结构 解决问题 主要贡献 算法原理 实验结果 参考文献 (1 ...
- 论文阅读LR LIO-SAM
Abstract 紧耦合lidar inertial里程计, 用smoothing和mapping. 1. Introduction 紧耦合lidar-inertial里程计. 紧耦合的lidar i ...
- 论文阅读(Xiang Bai——【PAMI2017】An End-to-End Trainable Neural Network for Image-based Sequence Recognition and Its Application to Scene Text Recognition)
白翔的CRNN论文阅读 1. 论文题目 Xiang Bai--[PAMI2017]An End-to-End Trainable Neural Network for Image-based Seq ...
- BITED数学建模七日谈之三:怎样进行论文阅读
前两天,我和大家谈了如何阅读教材和备战数模比赛应该积累的内容,本文进入到数学建模七日谈第三天:怎样进行论文阅读. 大家也许看过大量的数学模型的书籍,学过很多相关的课程,但是若没有真刀真枪地看过论文,进 ...
- 论文阅读笔记 - YARN : Architecture of Next Generation Apache Hadoop MapReduceFramework
作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...
- 论文阅读笔记 - Mesos: A Platform for Fine-Grained ResourceSharing in the Data Center
作者:刘旭晖 Raymond 转载请注明出处 Email:colorant at 163.com BLOG:http://blog.csdn.net/colorant/ 更多论文阅读笔记 http:/ ...
- Deep Reinforcement Learning for Dialogue Generation 论文阅读
本文来自李纪为博士的论文 Deep Reinforcement Learning for Dialogue Generation. 1,概述 当前在闲聊机器人中的主要技术框架都是seq2seq模型.但 ...
- 论文阅读(Lukas Neumann——【ICCV2017】Deep TextSpotter_An End-to-End Trainable Scene Text Localization and Recognition Framework)
Lukas Neumann——[ICCV2017]Deep TextSpotter_An End-to-End Trainable Scene Text Localization and Recogn ...
- 论文阅读笔记 Word Embeddings A Survey
论文阅读笔记 Word Embeddings A Survey 收获 Word Embedding 的定义 dense, distributed, fixed-length word vectors, ...
随机推荐
- 3 Python相对路径地址的的一个问题
构建程序xiaojie_test.py import os from xxx.yyy import test test() 同目录下构建一个目录xxx,并且目录中有/tmp/results/graph ...
- AI框架外部用户贡献代码
AI框架外部用户贡献代码 概述 飞桨是百度自主研发的一款开源的深度学习框架,是主流深度学习框架中首个完全国产化的产品,已经在农业.医疗.林业.科研.服务等领域成功应用.无论是已入职场的深度学习从业者. ...
- AlexeyAB DarkNet YOLOv3框架解析与应用实践(六)
AlexeyAB DarkNet YOLOv3框架解析与应用实践(六) 1. Tiny Darknet 听过很多人谈论SqueezeNet. SqueezeNet很酷,但它只是优化参数计数.当大多数高 ...
- 相机自动对焦AF原理
相机自动对焦AF原理 AF性能是判断相机好坏的重要指标,主要从准确度和速度两个方面来进行考察,本文将介绍自动对焦的几种方式. 一.凸透镜成像原理 二.三种对焦方法 有公式在手,只要给相机安个测距仪就好 ...
- 实用的jar包加密方案
前言 jar包相信大家都很熟悉,是通过打包java工程而获得的产物,但是jar包是有一个致命的缺点的,那就是很容易被反编译,只需要使用jd-gui就可以很容易的获取到java源码. 如果你想要防止别人 ...
- 2、java数据结构和算法:单链表: 反转,逆序打印, 合并二个有序链表,获取倒数第n个节点, 链表的有序插入
什么也不说, 直接上代码: 功能点有: 1, 获取尾结点 2, 添加(添加节点到链表的最后面) 3, 添加(根据节点的no(排名)的大小, 有序添加) 4, 单向链表的 遍历 5, 链表的长度 6, ...
- 5.7w字?GitHub标星120K的Java面试知识点总结,真就物超所值了
如果你觉得在一些程序员平台获取到的资料太乱学习起来毫无头绪,但是单看<Java编程思想>相似的一类的Java圣经"枯燥无味",那我推荐你看一下这份GitHub获得过12 ...
- SpringBoot+SpringDataJpa快速上手(基本CRUD)
以及表结构和数据 依赖 <!-- 如果有SpringBoot启动器,就不加--> <parent> <groupId>org.springframework.boo ...
- 保存数据到csv文件报错:Permission denied: './train_data.csv'
如果你此前已经输出,创建了文件,很有可能是你打开了此文件,导致写入不进去报错,关掉文件重新运行程序即可!
- 「题解」300iq Contest 2 B Bitwise Xor
本文将同步发布于: 洛谷博客: csdn: 博客园: 简书. 题目 题目链接:gym102331B. 题意概述 给你一个长度为 \(n\) 的序列 \(a_i\),求一个最长的子序列满足所有子序列中的 ...