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}