一、麻烦的边缘化
维持一个固定数量的滑窗的目的:
• 控制运算量;• 选择删除次新帧或最老帧,是为了让滑窗中的帧有足够多的视差量;• 删除最老帧时,要以边缘化约束的形式,保留最老帧对其他帧的约束 ( 理解这句话的意思 );
如何选择是删除次新帧还是最老帧?
计算相邻帧的视差量

二、根据删除最老帧还是次新帧,对滑窗进行更新:slideWindow()

三、slideWindow():更新滑窗


注意: 分清什么是
优化变量,什么是
需要边缘化掉的变量;

四、边缘化的大管家:MarginalizationInf

五、MarginalizationInfo中的几个变量




六、继续刚才的例子

七、addResidualBlockInfo:
(1)添加一个视觉因子

(2)添加IMU因子

八、MarginalizationInfo::preMarginalize


九、如何构建边缘化的Hessian矩阵?
将每个误差项关于相应变量的 Jacobian 相乘,放到对应的 H 矩阵块中即可

如何构建边缘化的Hessian矩阵?先建立个空的Hessian矩阵


如何构建边缘化的Hessian矩阵?一个视觉因子




十、得到H矩阵后,进行Schur补,得到marg因子

十一、MarginalizationFactor长什么模样?



十二、如何构建边缘化的Hessian矩阵?

