第2章 SLAM基础理论:状态估计、卡尔曼滤波、BA原理

本章定位:面试中最核心的“数学功底”考察章节。面试官会从概率框架、线性代数、优化理论三个维度快速判断你的基础扎实程度。回答需展示公式推导能力、算法演进脉络以及工程落地意识。
SLAM基础理论回答框架 步骤1:定义与本质 概率/优化问题 步骤2:核心公式 MAP/卡尔曼/最小二乘 步骤3:SLAM角色 前端/后端/回环 步骤4:局限与对比 线性假设/计算量 ⚠️ 每个步骤需结合具体问题(状态估计/EKF/BA)展开 MAP vs MLE EKF线性化 Schur消元 面试官追问路径 状态估计 追问1:MAP与MLE区别 先验有无 追问2:为何用MAP 后验最大化 卡尔曼滤波 追问1:EKF线性化误差 雅可比近似 追问2:与UKF/ESKF对比 无迹/误差状态 光束法平差 追问1:稀疏性利用 Schur消元 追问2:与图优化关系 因子图/顶点边 💡 提前准备每个追问的“一句话定义 + 数学表达 + SLAM例子”

问答卡片1:状态估计与 MAP / MLE

面试问题请解释SLAM中的状态估计问题,并说明最大后验估计(MAP)与最大似然估计(MLE)的区别。
面试官考察点概率基础、贝叶斯框架、先验理解;能否用数学语言简洁描述SLAM优化本质。
回答框架
  1. 定义本质:SLAM状态估计是在观测数据下求联合概率的后验最大化。
  2. 核心公式:MAP = P(X|Z) ∝ P(Z|X)P(X);MLE = argmax P(Z|X),忽略先验。
  3. SLAM角色:视觉SLAM常用MAP(如ORB-SLAM的局部BA);MLE仅用于无法获取先验的场景。
  4. 对比总结:MAP有正则化效果,防止过拟合;MLE更容易陷入局部最优。
示例回答“SLAM状态估计本质是求解后验概率最大化。MAP包含先验,形如 X̂ = argmax ∏P(z|x) P(x);MLE忽略先验,只依赖观测。在ORB-SLAM中,局部BA使用MAP约束运动先验,而初始化通常用MLE。”
✅ 加分点:说出“贝叶斯网络”或“因子图”
可能追问追问1:为什么SLAM中MAP更常用?追问2:若先验不准确会怎样?追问3:如何避免MAP陷入局部最优?
避坑提醒❌ 不要只背公式,必须举例说明SLAM场景中的先验来源(如IMU预积分、匀速运动模型)。

问答卡片2:卡尔曼滤波与 EKF 在 SLAM 中的应用

面试问题请讲解卡尔曼滤波的5个公式,并说明在SLAM中如何应用扩展卡尔曼滤波(EKF)?
面试官考察点KF数学框架、线性化手段(雅可比)、EKF局限性;能否自然引出UKF或ESKF。
回答框架
  1. KF五公式:预测(均值、协方差);更新(卡尔曼增益、状态更新、协方差更新)。
  2. EKF线性化:运动模型/观测模型泰勒展开至一阶,用雅可比矩阵代替原矩阵。
  3. SLAM角色:Monocular EKF-SLAM(MonoSLAM),维护状态向量含相机位姿与路标点。
  4. 局限:线性化误差导致不一致;计算量O(n²);适合小规模场景。
示例回答“KF由预测和更新两步构成:x̂ₖ⁻=A x̂ₖ₋₁ + Buₖ,Pₖ⁻=APₖ₋₁Aᵀ+Q;Kₖ= Pₖ⁻Hᵀ(HPₖ⁻Hᵀ+R)⁻¹。EKF通过雅可比线性化非线性模型,在MonoSLAM中用于实时估计相机位姿和稀疏地图点。但它假设高斯噪声,且雅可比近似可能引入误差。”
✅ 加分点:提到“ESKF(误差状态卡尔曼)”处理SLAM中旋转的局部线性化
可能追问追问1:EKF与UKF的本质差异?追问2:为什么EKF在SLAM中逐渐被图优化取代?追问3:ESKF如何解决方向表示问题?
避坑提醒❌ 切忌只背诵公式不解释“SLAM状态向量如何随时间增加?”务必说明新增路标点时的协方差扩张机制。

问答卡片3:光束法平差(BA)原理与作用

面试问题请解释光束法平差(BA)的原理,以及其在SLAM后端优化中的作用。
面试官考察点最小二乘优化理解、稀疏性利用、Schur消元、BA与图优化的关系。
回答框架
  1. 定义:BA同时优化相机位姿和3D点,使重投影误差平方和最小。
  2. 数学形式:argmin Σ||π(P,X) − x||²(通常用LM算法求解)。
  3. 稀疏性利用:Hessian矩阵具有箭状稀疏性,通过Schur消元先消去路标点,降低计算量。
  4. SLAM角色:局部BA维持轨迹精度,全局BA(回环后)消除累积漂移。
示例回答“BA通过最小化所有观测的重投影误差来联合优化相机位姿和3D点。其Hessian矩阵是稀疏的,可利用Schur消元先求相机增量再反算路标。在ORB-SLAM中,局部BA优化共视关键帧和局部地图点,全局BA在回环矫正后运行,将误差分散至整个轨迹。”
✅ 加分点:指出BA可以看作最大似然估计(高斯噪声假设下)
可能追问追问1:Schur消元的实现细节?追问2:BA如何应用核函数抑制外点?追问3:Huber核函数对代价的影响?
避坑提醒❌ 不要只说BA概念而忽略“为什么要用Schur消元”?必须解释计算复杂度从O(N³)降至O(M³)(M为相机数,N为路标数)。
📌 进阶思考: 面试官常会追问“为什么现代SLAM更倾向图优化而非EKF?”核心差异在于:图优化通过迭代线性化(多轮)逼近非线性最优解,而EKF只做一次线性化。尤其在大场景、长时间运行时,BA/图优化的全局一致性远超EKF。