1. 舒尔补
1.1 舒尔补的实现
当滑动窗口新增关键帧时,由于由于滑动窗口大小一定,新进来一帧关键帧意味着必然有老的一帧被剔除出去。直接暴力剔除被边缘化帧会损失掉与之相关的信息,因此需要通过舒尔补的方式,在保留它与剩余帧之间的联系前提下将其剔除。
对于滑动窗口中优化求解的增量方程,有:
Hδx=b H\delta x = b Hδx=b
根据待边缘化的状态量,对上述方程进行划分,如下所示:
[ΛaΛbΛbTΛc][δxaδxb]=[gagb] \left[ \begin{array}{cc} \Lambda_a & \Lambda_b \\ \Lambda_b^T &\Lambda_c\end{array} \right]\left[ \begin{array}{cc} \delta x_a \\ \delta x_b \end{array} \right] = \left[ \begin{array}{cc} g_a \\ g_b \end{array} \right] [ΛaΛbTΛbΛc][δxaδxb]=[gagb]
其中,δxa\delta x_aδxa为待边缘化的状态量,δxb\delta x_bδxb为保留下来的状态量,HHH和bbb根据状态量的划分进行相应的分块处理。
舒尔补化简如下:
[I0−ΛbTΛa−11][ΛaΛbΛbTΛc][δxaδxb]=[I0−ΛbTΛa−11][gagb][ΛaΛb0Λc−ΛbTΛa−1Λb][δxaδxb]=[gagb−ΛbTΛa−1ga](Λc−ΛbTΛa−1Λb)δxb=gb−ΛbTΛa−1ga \left[ \begin{array}{cc} I & 0 \\ -\Lambda_b^T\Lambda_a^{-1} & 1 \end{array} \right]\left[ \begin{array}{cc} \Lambda_a & \Lambda_b \\ \Lambda_b^T &\Lambda_c\end{array} \right]\left[ \begin{array}{cc} \delta x_a \\ \delta x_b \end{array} \right] = \left[ \begin{array}{cc} I & 0 \\ -\Lambda_b^T\Lambda_a^{-1} & 1 \end{array} \right]\left[ \begin{array}{cc} g_a \\ g_b \end{array} \right] \\ \left[ \begin{array}{cc} \Lambda_a & \Lambda_b \\ 0 & \Lambda_c - \Lambda_b^T\Lambda_a^{-1}\Lambda_b \end{array} \right]\left[ \begin{array}{cc} \delta x_a \\ \delta x_b \end{array} \right] = \left[ \begin{array}{cc} g_a \\ g_b - \Lambda_b^T\Lambda_a^{-1}g_a \end{array} \right] \\ (\Lambda_c - \Lambda_b^T\Lambda_a^{-1}\Lambda_b)\delta x_b = g_b - \Lambda_b^T\Lambda_a^{-1}g_a [I−ΛbTΛa−101][ΛaΛbTΛbΛc][δxaδxb]=[I−ΛbTΛa−101][gagb][Λa0ΛbΛc−ΛbTΛa−1Λb][δxaδxb]=[gagb−ΛbTΛa−1ga](Λc−ΛbTΛa−1Λb)δxb=gb−ΛbTΛa−1ga
经过舒尔补边缘化后的增量方程仍然是一个Hδx=bH\delta x = bHδx=b形式,HHH可分解为JTJJ^TJJTJ,bbb可分解为−JTe-J^Te−JTe,分解后获得的JJJ和eee就是边缘化后的约束。
1.2 舒尔补后HHH矩阵的变化
(1)图优化建模
假设有如下最小二乘系统,对应的图模型如下图所示:
ξ=argminξ12∑i∣∣ri∣∣2∑i \xi=argmin_{\xi}\frac{1}{2}\sum_i{\vert| r_i \vert|^2}_{\sum_i} ξ=argminξ21i∑∣∣ri∣∣2∑i

- 圆圈:表示顶点,需要优化估计的变量
- 边:表示顶点之间构建的残差。有一元边(只连一个顶点),二元边,多元边……
上述最小二乘问题,对应的高斯牛顿求解为:
JTΣ−1Jδξ=−JTΣ−1r J^T\Sigma^{-1}J\delta{\xi} = -J^T\Sigma^{-1}r JTΣ−1Jδξ=−JTΣ−1r
雅可比矩阵JJJ如下:

本文深入探讨VINS-Mono中的边缘化过程,重点解析舒尔补在信息矩阵变换中的应用。通过边缘化,保持系统优化的同时剔除旧帧,以减小计算负担。文章详细阐述了舒尔补的实现、信息矩阵H的变化,以及边缘化在VINS-Mono中的具体实现策略和关键类的作用。
:边缘化约束&spm=1001.2101.3001.5002&articleId=130674909&d=1&t=3&u=d80bfc4c8cac47a9942c2062c5252a96)
1787

被折叠的 条评论
为什么被折叠?



