VI-DSO论文阅读笔记

Direct sparse visual-inertial odometry using dynamic marginalization

VI-DSO主要做了什么事:

  1. 一种新的初始化策略,包括尺度和重力方向,并在初始化后联合优化。(什么新的策略?)
  2. 我们引入“动态边缘化”作为一种技术,自适应地使用边缘化策略。(何为自适应?)
    首先,通过最小化energy function,估计位姿和深度。由光度误差项和惯性误差项组成。
    在这里插入图片描述
    算法分两个线程并行运行:
  3. 对每一帧都执行粗跟踪,并使用直接图像对齐结合惯性误差项估计最近一帧的姿态
  4. 创建一个新的关键帧时,我们执行一个可视化的惯性束调整,如优化,以估计所有活跃关键帧的位姿。
    note:与【22】不同,在初始化视觉惯性系统之前并不等待固定的时间,而是共同优化了包括尺度在内的所有参数。因为惯性测量从一开始就被使用。(为什么之前会等待固定的时间?)

【22】R. Mur-Artal and J. D. Tard´os, “Visual-inertial monocular slam with map reuse,” IEEE Robot. and Autom. Lett., vol. 2, no. 2, 2017.

一、光度误差

理解这个光度误差公式真的很重要!什么是光度误差?在直接法中,假设一个空间点在各个视角下,成像的灰度是不变的。在不同视角下得到的误差越小,相机位姿越准确。
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

二、惯性误差

首先,imu预积分,非线性动力学模型参考的是《Direct Visual-Inertial Odometry with Stereo Cameras》
在这里插入图片描述
在这里插入图片描述
然后,预积分得到 imu在两帧图像i和j之间的旋转角,速度和位置。就可以得到第j帧图像的预测状态,协方差矩阵。
对应的误差函数:

在这里插入图片描述
i和j两帧的真实值与预测值之间的惯性误差 包括a和w。

三、初始化 前端

初始化尺度和重力方向,为什么要观察重力方向呢? 是因为,知道了准确的重力方向也就知道了这时系统的姿态。
作者将尺度(和重力方向)作为视觉惯性系统中的一个参数,并将它们与其他值,如姿态和几何形状一起进行优化。这意味着可以用任意的尺度进行初始化,而不是等到它被可观察到。初始化各种参数如下:

  1. 使用与DSO相同的视觉初始化,它计算两帧之间的粗略姿态估计以及几个点的近似深度。它们被归一化了,所以平均深度为1。
  2. 初始重力方向是通过平均多达40个加速度计的测量值来计算的,即使在高加速度的情况下,也能产生一个足够好的估计值。(初始化imu的姿态)
  3. 用零来初始化速度和imu偏差,尺度为1.0。
  4. 所有这些参数都在BA过程中进行联合优化

note:从DSO frame到metric frame (尺度恢复后的坐标系)的变换 Tm_d
光度误差总是在DSOframe中进行评估,独立与尺度和重力方向
惯性误差使用metric frame

四、尺度感知的视觉惯性优化 后端

后端优化了一个滑动窗口中几个关键帧的姿态p、imu偏差b和速度v。
下图显示了该问题的因子图。为了避免imu预积分的误差太大,确保连续两个连续关键帧之间的时间不大于0.5秒。作者说,我们的算法的一个重要特性是,优化后的姿态不是在度量框架中表示,而是在DSO框架中表示。这意味着它们并不依赖于环境的规模。 (不太理解,意思是实时出来的是没有尺度恢复的位姿吗,那么优化后的位姿还有什么用)
在这里插入图片描述

  1. 非线性优化,高斯牛顿法;

  2. 使用舒尔-补体的边缘化:为了在一个合理的时间框架内计算高斯-牛顿更新,我们对较老的关键帧执行部分边缘化。这意味着与这个关键帧对应的所有变量(姿态、偏差、速度和仿射照明参数)都使用Schur补体被边缘化。下图显示了边缘化如何改变因子图。视觉因素的边缘化与dso中一样,通过删除影响系统稀疏性的残余项,并首先边缘化关键帧中的所有点,然后边缘化关键帧本身。
    在这里插入图片描述
    3.动态边缘化。主要思想是同时保持多个边缘化先验,当尺度估计离边缘化之前的线性化点太远时,重置我们目前使用的先验。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值