VINS-Mono 论文解读(IMU预积分残差+Marg边缘化)

本文详细介绍了VINS-Mono(视觉惯性里程计)的工作原理,重点讨论了IMU预积分和基于舒尔补的边缘化技术。首先,阐述了VIO的必要性和融合方案,接着详细解析了预积分的各个步骤,包括IMU模型、运动模型的离散积分和预积分误差。然后,探讨了边缘化的概念,通过舒尔补来构建先验项,实现状态估计的优化。此外,还涵盖了VIO的初始化、重定位和全局位姿图优化等关键环节,旨在提供一个全面的VINS-Mono实现框架理解。
摘要由CSDN通过智能技术生成

目录

VIO引出原因:

融合方案:

本文贡献:

0、总体框架

0.1 数据预处理(IMU预积分见标题1)

0.2 初始化

A.滑动窗口(Sliding Window)纯视觉SfM

B. 视觉惯性校准(IMU预积分与视觉结构对齐)

0.3 紧耦合后端非线性优化(IMU约束+视觉约束+闭环约束)

A 公式

B IMU残差

C 视觉残差

D 边缘化 Marginalization(详见标题2)

E 相机速率下的状态估计--只有运动的VIO

0.4 重定位

A、回环检测(只对关键帧)

B、回环候选帧之间的特征匹配

C、紧耦合重定位

0.5 全局位姿图优化

A、位姿图中添加关键帧

B、4自由度位姿图优化

C、位姿图管理

1、IMU预积分

1.1、IMU模型

1.2、连续时间IMU运动模型,积分 PVQ(两帧之间)

1.3、运动模型的离散积分(前后IMU)

1.4、 IMU预积分

1.5、预积分量

1.6、预积分误差

1.7、 预积分离散形式(IMU增量)

1.8、bias 预积分量(bias发生变化)

2、基于舒尔补的边缘化

2.1、舒尔补

2.2 marg后形成的先验

2.3 具体例子


VIO引出原因

1)单纯视觉:缺点: 尺度不确定性、单目纯旋转无法估计、快速运动易丢失、受图像遮挡运动物体干扰。

                        优点:不产生漂移、直接测量旋转与平移。

2)单纯IMU:缺点:零偏导致漂移、低精度IMU积分位姿发散

                       优点:快速响应、可估计绝对尺度、角速度估计准确。

3)结合视觉+IMU:可用视觉弥补IMU的零偏,减少IMU由于零偏导致的发散和累计误差,IMU可为视觉提供快速响应的定位。

融合方案

松耦合:将 IMU 定位与视觉的位姿直接后处理融合,融合过程对二者本身不产生影响,典型方案为卡尔曼滤波器

紧耦合:融合过程本身会影响视觉和 IMU 中的参数(如 IMU 的零偏和视觉的尺度)典型方案为 MSCKF 和非线性优化。

                     

本文贡献

1、一个紧耦合、基于优化的单目视觉惯性里程计,具有相机-IMU外部校准和IMU偏置估计。
2、基于有界滑动窗口迭代进行估计。
3、基于滑动窗口里的关键帧维持视觉结构,基于关键帧之间的IMU进行预积分维持惯性测量。
4、鲁棒性:未知状态的初始化、相机和IMU外参数的在线标定、球面不统一重投影误差、回环检测、四自由度位姿图优化(三位置和航向)


0、总体框架

包括五个部分:数据预处理、初始化、后端非线性优化、闭环检测、位姿图优化。

0.1 数据预处理(IMU预积分见标题1)

  • 视觉:1)提取Harris角点,KLT金字塔光流跟踪相邻帧;2)2 维特征点先矫正为不失真的,然后在通过外点剔除后投影到一个单位球面上  ;3)去除异常点:先进行F矩阵测试,通过RANSAC去除异常点;4)关键帧选取:1、当前帧相对最近的关键帧的特征平均视差大于一个阈值就为关键帧(因为视差可以根据平移和旋转共同得到,而纯旋转则导致不能三角化成功,所以这一步需要IMU预积分进行补偿)2、当前帧跟踪到的特征点数量小于阈值视为关键帧;
  • IMU:1)两帧k和k+1之间进行位置、速度、姿态(PVQ)预测;2)避免每次姿态优化调整后重复IMU传播,采用预积分算法,计算预积分误差的雅克比矩阵和协方差项。

0.2 初始化

采用松耦合的传感器融合方法得到初始值。首先用SFM进行纯视觉估计滑动窗内所有帧的位姿以及路标点逆深度,然后与IMU预积分对齐,继而恢复对齐尺度s,重力g,imu速度v,和陀螺仪偏置bg

VINS本文初始化过程中忽视掉了加速度计的bias,因为加速度计与重力耦合,并且重力向量很大,初始化过程动态过程很短,幅度又不大,加速度计偏置很难观测到。

A.滑动窗口(Sliding Window)纯视觉SfM

1、选择一个滑动窗,在最后一帧与滑动窗之前帧寻找帧:跟踪到的点数目大于30个的并且视差超过20的,找到后用5点法本质矩阵初始化恢复出R和t。否则,滑动窗内保留最新图像帧,继续等待下一帧。

2、随意设置一个尺度因子,三角化这两帧观测到的所有路标点。再用PnP算法估计滑动窗内所有其余帧的位姿。滑动窗内全局BA重投影误差优化所有帧位姿。

3、假设IMU-Camera外参已知,乘上视觉得到的位姿,转换到IMU坐标系下。

B. 视觉惯性校准(IMU预积分与视觉结构对齐)

1、陀螺仪零偏bg标定

旋转两种方式:陀螺仪测量值和视觉观测值,二者的误差其实就是陀螺仪偏置bg

目标函数:visual给出的相邻帧间的旋转应等于IMU预积分的旋转值Q之间的差。

   考虑到了陀螺仪bias噪声,

我们得到了陀螺仪偏置bias的初始校准,需要将陀螺仪偏置bg代入到IMU预积分重新计算预积分

2、速度v、重力g和尺度初始化s

优化变量:速度、重力向量和尺度 

目标函数:相邻两帧IMU预积分增量与预测值之间平移、速度(P、V)的差。通过HX=B 利用cholesky分解获得

 

结合得到:

通过求解线性最小二乘问题:

3、重力矢量修正

重力向量的大小是已知的,加入了模长限制,这导致三维重力向量只剩2个自由度。

主要做的是优化方向,一个二维向量。

在其切线空间上用两个变量重新参数化重力,采用球面坐标进行参数化:

其中,

  • 34
    点赞
  • 122
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值