第3章 SLAM基础数学:李群李代数、概率论、最小二乘优化

本章聚焦 SLAM 面试中最常被追问的三大数学基础:李群与李代数、概率论(不确定性处理)、最小二乘优化。面试官通过这些问题考察候选人对数学模型的理解深度、推导能力及工程应用意识。以下先以表格梳理核心概念,再用回答框架图建立解题思路,最后通过三个问答卡片拆解高频题。

数学基础核心概念高频面试点
李群李代数SO(3)/SE(3)、指数映射、扰动模型左扰动 vs 右扰动、链式求导
概率论高斯分布、协方差传播、马氏距离信息矩阵、边缘化、后端优化
最小二乘优化高斯牛顿法、LM 算法、鲁棒核函数正规方程推导、步长控制、稀疏性
SLAM数学基础 李群李代数 扰动模型 概率论 协方差传播 最小二乘优化 高斯牛顿/LM 回答框架 定义→推导→应用 回答时按「定义 → 数学推导 → SLAM 工程应用」顺序展开

面试问题 1:请解释李群 SO(3) 与李代数 so(3) 的关系,并说明在 SLAM 中如何使用扰动模型进行求导。

面试官考察点:对李群李代数基本定义的掌握、指数与对数映射推导、扰动模型求导的几何意义、能联系 SLAM 中位姿优化的实际用法。

回答框架:

  1. 定义关系 – 李群 SO(3) 是旋转矩阵群,李代数 so(3) 是三维反对称张量空间,通过指数映射 exp(·) 将 so(3) 映射到 SO(3),对数映射 ln(·) 反之。
  2. 扰动模型推导 – 对旋转矩阵 R 施加左扰动 δφ,求导时使用 Baker–Campbell–Hausdorff 公式近似,得到关于 δφ 的雅可比矩阵。
  3. SLAM 应用 – 在位姿图优化中,通过扰动模型得到误差函数对位姿的导数,构建线性化系统求解增量。

示例回答(约 80 字):SO(3) 通过指数映射与 so(3) 对应。对 R 施加左扰动 ΔR = exp(δφ^),求导时利用 BCH 近似将扰动项分离,得到 ∂(R p)/∂δφ = -R p^,该雅可比用于 SLAM 中重投影误差对旋转的求导,实现高效优化。

避坑提醒:不要混淆旋转矩阵左乘/右乘对求导结果的影响;避免直接对旋转矩阵差分(违反约束),务必使用局部参数化扰动模型;回答时强调 BCH 近似的前提条件(扰动较小时成立)。

面试问题 2:在 SLAM 中如何处理不确定性?请解释卡尔曼滤波中的协方差更新方程,并说明后端优化中信息矩阵的意义。

面试官考察点:理解高斯分布描述不确定性、协方差传播原则、卡尔曼滤波与图优化两种范式后端的概率解释、信息矩阵的稀疏性与边缘化操作。

回答框架:

  1. 不确定性表达 – SLAM 中状态和观测均建模为高斯分布,协方差矩阵编码不确定性,马氏距离作为残差度量。
  2. 卡尔曼滤波更新 – 预测步骤通过运动模型传播协方差 Pk|k-1 = F Pk-1 FT + Q;更新步骤使用卡尔曼增益 K 融合观测,后验协方差 Pk|k = (I - K H) Pk|k-1。
  3. 信息矩阵意义 – 在最小二乘中,Hessian 矩阵(或信息矩阵 Σ⁻¹)表示估计的置信度,其逆对角元素为方差;图优化中海量观测导致信息矩阵呈稀疏带状,可利用 Schur 补加速求解。

示例回答(约 90 字):SLAM 将状态与观测视为高斯分布,协方差 P 代表不确定度。卡尔曼滤波中预测协方差由模型噪声传递,更新后协方差缩小。后端优化中信息矩阵 Ω = Σ⁻¹ 的对角线衡量各变量置信度,利用稀疏性(如 VINS 中边缘化旧帧)可显著降低计算量。

避坑提醒:不要将协方差传播与信息矩阵更新混淆;在回答卡尔曼滤波时注意区分 EKF 与 UKF 的协方差近似方式;边缘化时要强调高斯-马尔可夫假设及 Schur 补操作,避免回答“直接删除变量”的粗浅理解。

面试问题 3:请推导高斯牛顿法的迭代公式,并说明与 LM 算法的区别。

面试官考察点:基础优化算法推导能力、理解雅可比与 Hessian 近似关系、LM 的阻尼策略、在 SLAM 后端中的具体应用(如 BA 问题)。

回答框架:

  1. 高斯牛顿推导 – 目标函数 f(x) = ½‖r(x)‖²,一阶泰勒展开 r(x+Δx) ≈ r(x) + J Δx,代入得 Δx* = argmin ½‖r + JΔx‖²,求导得正规方程 JTJ Δx = -JTr。
  2. 与 LM 区别 – LM 在高斯牛顿基础上引入阻尼项 λI: (JTJ + λI) Δx = -JTr。λ 根据增益比 ρ 自适应调整:λ 大时接近梯度下降,小时接近高斯牛顿,保证全局收敛。
  3. SLAM 应用 – BA 问题中 JTJ 为稀疏矩阵(仅相机-3D 点相关块),利用 Schur 补或共轭梯度法高效求解。

示例回答(约 90 字):高斯牛顿:残差 r 对变量求雅可比 J,近似 Hessian 为 JTJ,求解线性方程组 JTJ Δx = -JTr。LM 增加阻尼项 λI,当 λ=0 退化为高斯牛顿;λ 大则退化为梯度下降。LM 通过 ρ 控制 λ 变化,更鲁棒,适合 SLAM 中初始值较差的 BA 问题。

避坑提醒:不要混淆高斯牛顿与牛顿法的区别(是否计算二阶导数);回答阻尼项时要说明其几何意义(信任区域);SLAM 中常用 LM 的变体(如 Ceres 实现的阻尼策略),避免只讲书本公式而忽略工程细节。