VINS-Mono 理论详细解读——紧耦合后端非线性优化 IMU+视觉的残差residual、Jacobian、协方差、基于舒尔补的边缘化

本文深入解析VINS-Mono的后端非线性优化,涉及视觉和IMU的残差函数、Jacobian和协方差计算,以及基于舒尔补的边缘化技术,旨在优化滑动窗口中所有帧的PVQ、bias等状态量。
摘要由CSDN通过智能技术生成

本讲是VINS最核心部分了,前面经历了

 1)视觉跟踪feature_trackerIMU预积分integrationBase类

2)初始化中SFM纯视觉估计滑动窗中所有帧的位姿和3D路标点深度SFM与IMU预积分松耦合对齐求解初始化参数

在完成前面的初始化环节后,本节将进行第3部分,基于滑动窗的紧耦合后端非线性优化:将视觉约束、IMU约束、闭环约束放到一个大的目标函数中进行非线性优化,求解出滑动窗口中所有帧的PVQ、bias等。

在视觉约束和IMU约束中,基本思想是找到优化状态向量,然后通过视觉残差和IMU测量残差分别对状态向量求导,获得视觉和IMU预积分的Jacobian和协方差矩阵。

阅读本文所需知识储备:

1、最小二乘、梯度下降法、牛顿与高斯-牛顿与LM关系总结

2、《视觉SLAM十四讲精品总结》4:非线性优化g2o(BA基础)

3、IMU预积分integrationBase类

目录

一、VIO残差函数的构建

1、需要优化的状态向量:

2、目标函数为:

二、视觉约束(细致)

1.视觉重投影误差residual(归一化平面)

2、优化变量

3、Jacobian

4、协方差

三、IMU约束(粗略,祥细见之前)

1、残差:

2、优化变量:

3、IMU测量残差公式推导

4、残差对状态量的Jacobian

5、残差对状态量的协方差

四、基于舒尔补的边缘化

1、论文部分

2、基本公式

3、舒尔补

4、marg后形成的先验

5 具体例子

5.1 原来的信息矩阵H的构成

5.2 舒尔补后形成新的信息矩阵new_H,并构造为先验

5.3 新测量信息和先验构成新的系统

 


一、VIO残差函数的构建

1、需要优化的状态向量

滑动窗口内IMU状态(PVQ、加速度bias、陀螺仪bias)、IMU到Camera的外参、m+1个3D路标点逆深度。

第一个式子是滑动窗口内所有状态量,n是关键帧数量,m是滑动窗内所有观测到的路标点总数,维度是15*n+6+m。特征点逆深度为了满足高斯系统。

第二个式子xk是在第k帧图像捕获到的IMU状态,包括位置,速度,旋转(PVQ)和加速度偏置,陀螺仪偏置。

第三个式子是相机外参。

注意:xk只与IMU项和Marg有关;特征点深度也只与camera和Marg有关

2、目标函数为

视觉惯性BA:这三项分别为边缘化的先验信息、IMU的测量残差、视觉的重投影误差

BA优化模型分为三部分:

1、Marg边缘化残差部分(滑动窗口中去掉位姿和特征点约束)代码中使用Google开源的Ceres solver解决。

2、IMU残差部分(滑动窗口中相邻帧间的IMU产生)

3、视觉误差函数部分(滑动窗口中特征点在相机下视觉重投影残差)

二、视觉约束(细致)

这部分要拟合的目标可以通过重投影误差约束,求解的是对同一个路标点的观测值估计值之间的误差,注意是在归一化平面上表示

1.视觉重投影误差residual(归一化平面)

相关自变量是:该路标点被两帧观察到的相机帧位姿、Cam和IMU之间相对位姿、路标点在第一帧的逆深度。

 当某路标点在第i帧观测到并进行初始化操作得到路标点逆深度,当其在第j帧也被观测到时,估计其在第j帧中的坐标为:

此时的视觉残差为:(左侧为根据i帧反推估计的位置,右侧为观测值)

逆深度参数化

逆深度作为参数原因:1)观测到的特征点深度可能非常大,难以进行优化;2)可以减少实际优化的参数变量;3)逆深度更加服从高斯分布。这里特征点的逆深度在第i帧初始化操作中得到。

论文中:

上面的公式是传统的针孔相机模型,这里用的是单位

  • 11
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
VINS-Mono是一种基于单目相机的视觉惯性里程计系统,可以实现实时的相机姿态估计和轨迹重建。它采用了基于滑动窗口的非线性优化方法,并结合了IMU(惯性测量单元)的信息来提高姿态和位置的估计精度。下面对VINS-Mono的几个关键点进行详细介绍: 1. 单目相机:相比双目、RGB-D相机等多视角传感器,单目相机的成本更低,易于使用,并且可以适应更广泛的场景。但是单目相机只能提供2D的图像信息,需要通过计算来获取3D的姿态和位置信息。 2. 滑动窗口非线性优化VINS-Mono使用滑动窗口非线性优化方法来处理视觉惯性里程计问题。它通过滑动窗口技术来管理视觉IMU数据的历史信息,以便在优化过程中考虑它们的空间和时间相关性。同时,由于滑动窗口方法可以利用局部线性化和稀疏矩阵技术来加速优化,所以它具有高效的计算性能和优化精度。 3. IMU信息:IMU可以测量物体的角速度和线性加速度,这些信息可以提供更精确的姿态和位置估计。VINS-Mono使用IMU的信息来补偿相机的姿态误差,并将其与视觉信息进行联合优化,从而提高姿态和位置的估计精度。 4. 实时性:VINS-Mono可实现实时的相机姿态估计和轨迹重建,最高能达到50Hz的帧率。这得益于其高效的优化算法、滑动窗口技术和IMU信息融合策略。 总之,VINS-Mono是一种高效、准确且易于使用的单目视觉惯性里程计系统,可以广泛应用于机器人导航、自动驾驶等领域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值