一、理论
1. 滑动窗口滤波与优化
我们来详细探讨一下视觉SLAM中一个非常核心且重要的技术:滑动窗口滤波与优化 (Sliding Window Filtering and Optimization)。
这是一种在实时性和精度之间取得精妙平衡的关键方法,被广泛应用于现代高性能的视觉(或视觉-惯性)SLAM系统中,例如 VINS-Mono、OKVIS 和 ORB-SLAM系列中的局部捆集调整(Local BA)。
2. 基于李代数表示的滑动窗口法
我们来深入探讨基于李代数表示的滑动窗口优化法。这部分内容会更偏向数学和实现细节,是理解现代SLAM后端如何处理位姿优化的核心。
在上一篇回答中,我们讨论了滑动窗口的“是什么”和“为什么”。现在,我们关注“怎么做”,特别是如何处理旋转和位姿这种非向量空间中的变量。
3. 滑动窗口法适用范围
了解一个技术的适用范围和局限性,与了解其工作原理同等重要。
滑动窗口优化法(Sliding Window Optimization)并非万能钥匙,它是一种针对特定场景和需求而设计的折中方案。它的适用范围主要由其核心特性——有界的计算复杂度和对局部信息的精细优化——所决定。
4. 位姿图
我们来详细解析视觉SLAM中另一个至关重要的概念:位姿图 (Pose Graph)。
如果说滑动窗口优化是“专注于当下和近邻的精细打磨”,那么位姿图优化就是“着眼于大局的宏观调控”。它主要用于解决SLAM中的大尺度一致性问题,尤其是回环闭合 (Loop Closure)。
5. 关于目标函数(误差项)的定义
6. 根据目标函数推导雅可比矩阵
7. 位姿图的优化
8. 为什么有的地方是这样的结果
二、代码笔记
1. pose_graph_g2o_SE3.cpp
2. pose_graph_g2o_lie_algebra.cpp
SE(3) 李代数顶点与测量边的定义;
重投影误差的李代数表达及其线性化;
基于 G2O 的 Levenberg–Marquardt 优化架构。