vslam --- 基于滑动窗口的Local BA

orbslam中使用的 local BA 优化部分,是使用g2o图优化进行,基于共视图进行优化,虽然也是选取一部分满足一定共视条件的特征点与关键帧进行优化的,但是与基于滑动窗口的BA,是不同的。

vins-mono 中基于滑动窗口的local BA ,使用ceres ,以及需要定义相应的 costfuction。 在边缘化关键帧时,会将其残差与雅克比,进行保存,作为下一次 BA 的先验信息。

高博的十四讲slam中的滑动窗口,没有进行先验的处理,而是直接移除关键帧,以及与此关键帧相对应的观测值,这样会造成约束信息的缺失,所以在实验中,出现优化偏差(见实验效果图)

例:后续补充一下这个图片 以及对应的矩阵图
在这里插入图片描述

linearized_jacobians、
linearized_residuals,
分别指的是边缘化之后从信息矩阵恢复出来雅克比矩阵残差向量

信息矩阵

最小二乘的求解可以使用上节课的解法:
J ⊤ Σ − 1 J δ ξ = − J ⊤ Σ − 1 r \mathbf{J}^{\top} \mathbf{\Sigma}^{-1} \mathbf{J} \delta \boldsymbol{\xi}=-\mathbf{J}^{\top} \boldsymbol{\Sigma}^{-1} \mathbf{r} JΣ1Jδξ=JΣ1r

H δ ξ = b \mathbf H \delta \boldsymbol{\xi}=b Hδξ=b

这里我们可以注意到和上一讲中的形式相比它多了一个协方差矩阵的逆 Σ − 1 \mathbf{\Sigma}^{-1} Σ1,这是因为之前并没有考虑噪声,直接认为观测值 r \mathbf{r} r ξ \boldsymbol\xi ξ 相等,协方差矩阵的逆我们称之为信息矩阵,记为   Λ \boldsymbol\ Λ  Λ

边缘化

  1. 对于先验损失,其待边缘化优化变量是根据是否等于para_Pose[0]或者para_SpeedBias[0],也2就是说和第一帧相关的优化变量都作为边缘化的对象

  2. 与第一帧相关的变量都作为边缘化的对象

  3. 这里值得注意的是和后端优化不同,这里只添加了第一帧和第二帧的相关变量作为优化变量,因此边缘化构造的信息矩阵会比后端优化构造的信息矩阵要小

  4. VINS-mono的边缘化操作中会不仅仅会边缘化第一帧相关的优化变量,还会边缘化掉以第一帧为起始观察帧的路标点

  5. it->Evaluate()这一句里面其实就是调用各个损失函数中的重载函数Evaluate()

这个函数通过传入的优化变量值parameters,以及先验值(对于先验残差就是上一时刻的先验残差last_marginalization_info,对于IMU就是预计分值pre_integrations[1],对于视觉就是空间的的像素坐标pts_i, pts_j)可以计算出各项残差值residuals,以及残差对应个优化变量的雅克比矩阵jacobians

前期准备后,正式的边缘化 marginalize()

第一步,秉承这map数据结构没有即添加,存在即赋值的语法
(同时这里会计算出两个变量m和n,他们分别是待边缘化的优化变量的维度和以及保留的优化变量的维度和)

第二步,函数会通过多线程快速构造各个残差对应的各个优化变量的信息矩阵(雅克比和残差前面都已经求出来了),然后在加起来,如下图所示:
在这里插入图片描述
因为这里构造信息矩阵时采用的正是parameter_block_idx作为构造顺序,因此,就会自然而然地将待边缘化的变量构造在矩阵的左上方。

第三步,函数会通过shur补操作进行边缘化,然后再从边缘化后的信息矩阵中恢复出来雅克比矩阵linearized_jacobians和残差linearized_residuals,这两者会作为先验残差带入到下一轮的先验残差的雅克比和残差的计算当中去。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RGB-D视觉里程计是一种利用RGB-D相机的深度信息来进行定位和导航的技术。它通过同时使用RGB图像和深度图像来估计相机的运动和环境的结构。引用\[2\]中提到了一些研究人员利用RGB-D相机的深度信息来提高纯VIO/VI-SLAM系统的性能。深度信息对VIO的初始化和优化过程都有好处,并且可以提高在低纹理环境下的鲁棒性。此外,引用\[3\]中介绍了一种名为S-VIO的RGB-D视觉惯性里程计算法,它充分利用了多传感器测量、异质地标和环境的结构规则来获得鲁棒准确的定位结果。S-VIO算法在实验中表现出比传统的VIO算法和RGB-D VIO算法更好的精度和鲁棒性。因此,RGB-D视觉里程计是一种有潜力的技术,可以在各种应用中提供更准确和鲁棒的定位和导航能力。 #### 引用[.reference_title] - *1* [5、RGB-D— 视觉里程计 Visual Odometry](https://blog.csdn.net/Discoverhfub/article/details/78591698)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [vslam论文18:S-VIO:利用的结构约束的RGB-D视觉惯性里程计(RAL 2023)](https://blog.csdn.net/xsyaoxuexi/article/details/131571846)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值