关于相关代码及注释可以参考原文:OpenCV去畸变undistortPoints原理解析 2.3 VINS-MONO中的图像去畸变 与传统使用优化来求解优化问题来求解畸变不同,VINS中的去畸变并未对坐标进行强制逆向迭代数值求解(看到一些文章中说,opencv会在计算畸变过程中追求一些没必要的精度),而是使用了一种非常巧妙地方法迭代正向逼近。换句话来...
//jacobian:雅可比矩阵,初始化为单位矩阵,15 x 15//covariance:协方差矩阵,初始化为零矩阵,15 x 15//delta_p:对应于预积分量α,初始化为0向量,3 x 1//delta_q:对应于预积分量γ,初始化为单位四元数, ,3 x 1//delta_v:对应于预积分量β,初始化为零向量,3 x 1 构造函数 函数体 //Δx{k+1} ...
estimator.cpp是核心函数,串起了前端后端,并且体现了VINS的许多核心思想 具体函数代码解读&备注 1、void Estimator::problemSolve() 用途:marg掉老帧后对图优化模型进行梳理 变量明确: 状态向量包括滑动窗口内的所有相机状态(位置P、旋转Q、速度V、加速度偏置ba、陀螺仪偏置bw)、相机到IMU的外参、所有3D点的逆深度:...
VINS-Mono是香港科技大学开源的一个VIO,我简单的测试了,发现效果不错。做个简单的笔记,详细的内容等我毕设搞完再弄。 代码主要分为前端(feature tracker),后端(sliding window, loop closure),还加了初始化(visual-imu aligment) Feature tracker 这部分代码在feature_tracker包下面,主要是接收图像topic,使用KLT光流...
VINS-Mono代码分析与总结(二) 系统初始化 Vins-Mono完整版总结:https://www.zybuluo.com/Xiaobuyi/note/866099 参考文献 1VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator, Tong Qin, Peiliang Li, Zhenfei Yang, Shaojie Shen (techincal report)...
VINS-Mono代码分析总结 参考⽂献 1 2 3 4 5 6 7 8 CamOdoCal:9 前⾔ 视觉与IMU融合的分类:松耦合和紧耦合:按照是否把图像的Feature加⼊到状态向量区分,换句话说就是松耦合是在视觉和IMU各⾃求出的位姿的基础上做的耦合。滤波法和优化法: Vins-Mono是视觉与IMU的融合中的经典之作...
VINSMono中相机模型对应代码在/VINS-Mono/cameramodel/src/camera_models/CataCamera.cc文件**liftSphere**()函数中,该函数是将$2d$ 投影到$3d$ 点(单位球面上),首先对$2d$去畸变,然后再投影到单位球面上。 去畸变过程代码如下: //去畸变过程 int n = 6; ...
VINS-Mono Feature tracker 特征跟踪 这部分代码在feature_tracker包下面,主要是接收图像topic, 使用KLT光流算法跟踪特征点,同时保持每一帧图像有最少的(100-300)个特征点。 根据配置文件中的freq,确定每隔多久的时候, 把检测到的特征点打包成/feature_tracker/featuretopic 发出去,...
在这项工作中,介绍了VINS-Mono:一种坚固耐用且多功能的单目视觉惯性状态估计器。方法从用于估计器初始化和故障恢复的强大过程开始。使用基于紧密耦合的非线性优化方法,通过融合预先集成的IMU测量和特征观察来获得高精度的视觉惯性里程计。环路检测模块与紧密耦合配方相结合,能够以最小的计算开销实现重新定位。还执行四个...