![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
VINS论文学习与代码解读
港科大的VINS-Mono是目前state of the art的开源视觉惯性里程计(VIO)算法。本专栏将整理自己对VINS算法的论文理论和代码实现的相关解读,欢迎大家一起讨论。
Manii
视觉slam与vio
展开
-
VINS-Mono论文学习与代码解读——目录与参考
港科大的VINS-Mono作为目前state of the art的开源VIO项目,是研究视觉与IMU融合的必读算法。本人将在学习之余逐步整理自己对算法的论文和实现的相关解读,欢迎大家一起讨论。原创 2019-01-04 19:54:12 · 43761 阅读 · 17 评论 -
VINS-Mono理论学习——后端非线性优化
本文主要介绍VINS状态估计器模块(estimator)在完成了系统初始化后,对视觉与IMU信息进行基于滑动窗口的紧耦合过程中用到的非线性优化理论。这部分对应论文第六章(VI. TIGHTLY-COUPLED MONOCULAR VIO),并参考了崔博的《VINS论文推导与代码解析》、深蓝学院的VIO课程内容。主要想对目标函数中视觉残差和IMU残差,以及对应的雅可比、协方差进行推导。原创 2019-06-27 15:04:33 · 10456 阅读 · 10 评论 -
VINS-Mono理论学习——视觉惯性联合初始化与外参标定
前言本文主要介绍VINS状态估计器模块(estimator)中的视觉惯性联合初始化以及相机到IMU的外参估计,其中前半部分对应论文第五章(V. ESTIMATOR INITIALIZATION B. Visual-Inertial Alignment),后半部分参考了沈老师组的其他几篇论文。视觉惯性联合初始化对于VINS初始化中视觉惯性对齐之外的部分已在博客VINS-Mono代码解读——视觉...原创 2019-04-11 18:25:14 · 11398 阅读 · 18 评论 -
VINS-Mono理论学习——IMU预积分 Pre-integration (Jacobian 协方差)
VINS论文的IV-B. IMU Pre-integration介绍了IMU预积分模型。传统传统捷联惯性导航的递推算法,是在已知上一时刻的IMU状态量(姿态和速度、位移)情况下,利用IMU测量得到的线加速度和角速度,做积分运算得到当前时刻的状态量。然而在基于非线性优化的VIO中,各个节点的状态量都是估计值。当这些状态量在优化算法中,会不断调整,每次调整都需要在它们之间重新积分,传递IMU测量值。因此提出IMU预积分,希望对IMU的相对测量进行处理,使它与绝对位姿解耦,或者只要线性运算就可以进行矫正。原创 2019-05-06 16:22:02 · 23527 阅读 · 27 评论 -
VINS-Mono代码解读——视觉惯性联合初始化 initialStructure sfm
本文主要介绍VINS状态估计器模块(estimator)中的初始化过程。由于单目紧耦合的VIO是一个高度非线性系统,单目视觉没有尺度信息,IMU的测量又存在偏置误差,如果没有良好的初始值很难将这两种测量结果有机融合,因而初始化是VIO最脆弱的步骤。VINS采用了视觉和IMU的松耦合初始化方案,首先用从运动恢复结构(SFM)得到纯视觉系统的初始化,即滑动窗口中所有帧的位姿和所有路标点的3d位置,然后将其与IMU预积分结果进行对齐,恢复尺度因子、重力、陀螺仪偏置和每一帧的速度。原创 2019-04-02 22:46:10 · 12827 阅读 · 15 评论 -
【VINS论文翻译】VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator
写在前面港科大的VINS-Mono作为目前state of the art的开源VIO项目,是研究视觉与IMU紧耦合的必读算法,网上的论文解读与代码实现也非常丰富(感谢!)。为更好地进行学习,本人在几篇VINS论文解读与翻译的参考与改进下,完成了自己对全文的阅读与翻译,以后将逐步更新自己对算法的解读,欢迎大家一起讨论。原文:VINS-Mono A Robust and Versatile Mo...翻译 2019-01-03 16:24:02 · 53675 阅读 · 11 评论 -
VINS-Mono代码解读——启动文件launch与参数配置文件yaml介绍
以euroc.launch和euroc_config.yaml为例对VINS中的启动文件launch和参数配置文件yaml进行详细介绍,并讨论自己在实验中调参的感受。欢迎大家一起讨论。原创 2019-01-24 14:33:34 · 12955 阅读 · 15 评论 -
VINS-Mono代码解读——视觉跟踪 feature_trackers
前言本文主要介绍VIO的视觉处理前端的视觉跟踪模块(feature_trackers)。论文第四章A节(IV. MEASUREMENT PREPROCESSING——A. Vision Processing Front-end)可以看到其算法主要包括以下内容:1、对于每一幅新图像,KLT稀疏光流算法对现有特征进行跟踪;2、检测新的角点特征以保证每个图像特征的最小数目(100-300);3、...原创 2019-01-05 10:58:04 · 39151 阅读 · 16 评论 -
VINS-Mono代码解读——各种数据结构 sensor_msgs
前言在看VINS-Mono的代码时,觉得非常有必要整理总结一下其中不同的数据结构,尤其是各种sensor_msgs的格式与具体含义。慢慢补充吧!sensor_msgs::ImageConstPtrfrom file:sensor_msgs/Image.msg在feature_trackers_node.cpp中回调函数img_callback的输入,表示一幅图像Definition:...原创 2019-01-07 22:09:01 · 12401 阅读 · 1 评论 -
VINS-Mono代码解读——状态估计器流程 estimator 写在初始化和非线性优化前
前言本文主要介绍VINS的状态估计器模块(estimator),或者从ROS角度说是estimator节点。这个模块可以说是VINS的最核心模块,从论文的内容上来说,里面的内容包括了VINS的估计器初始化、基于滑动窗口的非线性优化实现紧耦合,即论文第五章(V. ESTIMATOR INITIALIZATION)第六章(VI. TIGHTLY-COUPLED MONOCULAR VIO)。代码...原创 2019-01-13 15:09:41 · 13943 阅读 · 9 评论 -
VINS-Mono代码解读——回环检测与重定位 pose graph loop closing
前言本文主要介绍VINS的重定位模块(relocalization),主要在代码中/pose_graph节点的相关部分实现。从论文的内容上来说,主要包括了VINS中的回环检测、特征匹配与检验、重定位等内容,即论文第七章(VII. RELOCALIZATION)。先简要介绍下论文中的内容:A. 回环检测1、利用DBoW2进行回环检测。2、除了用于单目VIO的角点特征外,还添加了500个角点...原创 2019-03-01 22:59:44 · 16081 阅读 · 7 评论 -
【VINS论文笔记】Online Temporal Calibration for Monocular Visual-Inertial Systems 单目视觉惯性系统在线时间标定
港科大VINS-Mono目前已集成了IMU和cam的在线时间偏差标定。本人就其相关论文进行了阅读,并进行内容整理。原文:Online Temporal Calibration for Monocular Visual-Inertial Systems单目视觉惯性系统的在线时间标定原创 2019-03-21 17:08:08 · 4468 阅读 · 3 评论 -
【VINS论文笔记】A General Optimization-based Framework for Local Odometry Estimation with Multiple Sensors
2019年1月11日,港科大VINS-Mono的团队发布了VINS的扩展版本——VINS-Fusion。其支持多种视觉惯性传感器类型(单相机+ IMU,立体相机+ IMU,立体相机),还支持将VINS与GPS进行融合。本人就VINS-Fusion中多传感器局部位姿估计的相关论文进行了阅读,并进行内容整理(尽可能简洁)。原创 2019-02-21 17:02:54 · 3642 阅读 · 0 评论 -
【VINS论文笔记】A General Optimization-based Framework for Global Pose Estimation with Multiple Sensors
2019年1月11日,港科大VINS-Mono的团队发布了VINS的扩展版本——VINS-Fusion。其支持多种视觉惯性传感器类型(单相机+ IMU,立体相机+ IMU,立体相机),还支持将VINS与GPS进行融合。本人就VINS-Fusion中多传感器全局位姿图优化的相关论文《A General Optimization-based Framework for Global Pose Estimation with Multiple Sensors》进行了阅读,并进行内容整理。原创 2019-01-24 22:37:05 · 4256 阅读 · 1 评论