其他卡尔曼滤波变体 — EnKF / Augmented State KF / IMM


  • Description:超出 KF/EKF/UKF/IF/iEKF/ESKF 主线之外的几个常见变体 — Ensemble KF (地球科学主流)、Augmented State KF (扩状态吸收偏置/有色噪声)、IMM (机动目标跟踪的多模型并行)
  • My Notion Note ID:K2E-A-E5
  • Created:2023-04-10
  • Updated:2026-06-02
  • License转载欢迎 — 请署名 Yu Zhang 并链回 yuzhang.io 原文

Table of Contents


1. 在 KF/EKF/UKF/ESKF 之外

主线变体已经涵盖了 SLAM 工程的 90% 应用 (见高斯滤波家族那篇)。但还有几个变体在特定领域占据主导地位,SLAM 工程师偶尔会遇到:

变体 主战场 解决什么
EnKF 地球科学 / 大气 / 海洋数据同化 状态维度极高 (10^6+),常规协方差矩阵存不下
Augmented State KF 雷达跟踪 / 控制 有色噪声 / 时变偏置 / 时延 — 把这些"麻烦"吸收进扩展状态
IMM 机动目标跟踪 (导弹、飞机、车辆) 运动模式未知且会切换 — 多个模型并行投票

2. Ensemble Kalman Filter (EnKF)

Geir Evensen 1994 — 为大气海洋数据同化设计的滤波器。其核心创新:用一组样本 (ensemble) 表示状态分布,而不是显式存协方差矩阵

动机

传统 KF/EKF 显式维护协方差矩阵 PRn×nP \in \mathbb{R}^{n \times n}。气象模拟里 n106108n \sim 10^6 \sim 10^8 (网格点 × 状态变量),PP 矩阵直接 OOM。EnKF 思路:NN 个样本 (典型 N50200N \sim 50 \sim 200) 隐式表示协方差。

算法

初始化:
    取 N 个状态样本 {x_0^(i)}_{i=1..N} (从初始分布抽样)

每个时刻 t:
    # 1. 预测 — 每个粒子独立通过非线性 f
    对 i = 1..N:
        x_t^(i) = f(x_{t-1}^(i), u_t) + ε_t^(i),  ε_t^(i) ~ N(0, Q)

    # 2. 样本统计量
    bar_μ = (1/N) Σ_i x_t^(i)
    bar_P = (1/(N-1)) Σ_i (x_t^(i) - bar_μ)(x_t^(i) - bar_μ)^T   # 注意! 实际不显式构造

    # 3. 测量更新 (随机扰动观测以保持统计正确性)
    对 i = 1..N:
        z_t^(i) = z_t + δ_t^(i),  δ_t^(i) ~ N(0, R)
        # Kalman 增益 (用样本协方差)
        K_t = bar_P_xz * (bar_P_zz + R)^{-1}
        x_t^(i) ← x_t^(i) + K_t (z_t^(i) - h(x_t^(i)))

关键技巧:增益 KtK_t 涉及到 PˉHT\bar{P} H^THPˉHTH \bar{P} H^T,这两个量可以直接从样本算不需要显式构造 Pˉ\bar{P}

PˉHT1N1i(xt(i)μˉ)(h(xt(i))hˉ)T\bar{P} H^T \approx \frac{1}{N-1} \sum_i (x_t^{(i)} - \bar{\mu}) (h(x_t^{(i)}) - \bar{h})^T

优缺点

  • 优点:可扩展到极高维状态空间;不要求线性化 (不需要 Jacobian) — 预测步直接传播完整非线性模型 (注意:更新步仍是线性高斯更新,后验假设高斯,见下文与 PF 的区别)
  • 缺点:样本数有限会引入采样噪声 (spurious correlations),常需要协方差膨胀 (covariance inflation) 和局部化 (localization) 对策
  • 与 UKF 区别:UKF 用确定性 Sigma 点 (2n+12n+1 个);EnKF 用随机样本 (NN 个,NnN \ll n)
  • 与粒子滤波区别:PF 用权重表示后验,EnKF 总假设高斯 — 只是用样本来近似高斯统计量

SLAM 中是否用得到

直接很少用 — SLAM 状态维度通常几十到几百,KF/EKF/iSAM 完全够。但在大型机器人地图融合 (multi-robot SLAM, 全城市建图) 这种场景下,EnKF 思路有用 — 因为协方差矩阵会大到需要类似稀疏化 / 采样的方法。

3. Augmented State Kalman Filter

思路:当标准 KF 的某些假设被破坏时 (比如噪声不白、有未建模偏置、有延时观测),把这些破坏者作为新的状态变量加入状态向量,然后还是用标准 KF/EKF。

三种典型用途

A. 处理有色噪声

标准 KF 假设过程噪声 εt\varepsilon_t 和测量噪声 δt\delta_t 是白噪声。但实际工程里 (传感器低频漂移、电磁干扰、共振耦合),噪声往往是有色的 — 自相关函数非冲激。

对策:把有色噪声看作"白噪声通过 shaping filter 后的输出",把 shaping filter 的状态也并进 KF 状态向量。这种"白化处理"在 三脚猫Frank 的 KF 系列 (Zhihu Part 1, Zhihu Part 2) 有详细讨论 — 一阶 Gauss-Markov 过程是最常见的 shaping filter 形式:

η˙=βη+ν,νN(0,σ2)\dot{\eta} = -\beta \eta + \nu, \quad \nu \sim \mathcal{N}(0, \sigma^2)

η\eta 加入状态向量后,原系统等效变成"驱动是白噪声 ν\nu"的标准 KF 问题。

B. 处理偏置 / bias

传感器有未知静态偏置 (如 IMU 零偏),或缓慢漂移的偏置 (温度漂移)。 对策:把 bias 作为状态变量加入:

xaug=[xb],b˙=0 (静态)b˙=wb (随机游走漂移)x_{\text{aug}} = \begin{bmatrix} x \\ b \end{bmatrix}, \quad \dot{b} = 0 \text{ (静态)} \quad \text{或} \quad \dot{b} = w_b \text{ (随机游走漂移)}

测量方程对应改为 z=Hx+b+δz = H x + b + \delta,扩展后变成 z=[HI]xaug+δz = [H \mid I] x_{\text{aug}} + \delta。VIO / MSCKF / VINS 里的 IMU bias 估计就是这个套路。

C. 处理时延 / 多速率观测

观测有固定时延 (例如视觉处理延时 100ms),或观测频率低于状态更新频率。 对策:状态向量除了当前时刻 xtx_t,还保留 xtkx_{t-k} (延时 kk 步) 作为附加状态。观测到来时与对应时刻的扩展状态融合。MSCKF (Multi-State Constraint KF) 的核心思想就是把过去若干个相机姿态都保留在状态里,等到 feature 跨多帧观测时一起约束 — 等价于"以视觉观测为基准的延时融合"。

代价

  • 状态维度膨胀 → 协方差矩阵 PP 变大 → 计算量增加
  • 但是这是"用算力换正确性" — 比硬假设白噪声 + 现实是有色噪声,导致 KF 估计发散,要好得多

4. IMM — Interacting Multiple Model

问题:目标的运动模型是未知的或者会切换。例如跟踪一架飞机:可能在匀速巡航,可能匀加速爬升,也可能匀速转弯。一个固定模型的 KF 无法适配所有情况。

Blom & Bar-Shalom 1988 / Mazor et al. 1998 的 IMM 思路:

定位目标运动状态不可知。可能是匀速、匀加速、还是匀速转弯,这就是 IMM (交互式多模型滤波)。它的原理大概就是并行计算多种模式下的卡尔曼滤波,比如匀加速、匀速用 KF,匀速转弯用 EKF,然后将每次得出的估计结果与测量作比较,综合权衡几种模式。

算法骨架

维护 MM 个并行模型 {Fj,Hj,Qj,Rj}j=1..M\{F_j, H_j, Q_j, R_j\}_{j=1..M},每个对应一种运动假设。同时维护一个 Markov 转移矩阵 πij\pi_{ij} — 描述模型 ii 切换到模型 jj 的概率。

每个时间步:

  1. 混合 (Interaction) — 各模型间根据 π\pi 互相交换状态信息 (避免某模型完全死掉):

    x0jt=iμijtxit,μijt=πijμitkπkjμktx_{0j}^t = \sum_i \mu_{i|j}^t \cdot x_i^t, \quad \mu_{i|j}^t = \frac{\pi_{ij} \mu_i^t}{\sum_k \pi_{kj} \mu_k^t}
  2. 并行滤波 — 每个模型独立跑 KF / EKF,得到各自的 xjt+1x_j^{t+1}, Pjt+1P_j^{t+1},以及似然 Λj\Lambda_j (创新与创新协方差的高斯密度)

  3. 模型概率更新 — 根据观测似然贝叶斯更新各模型的后验概率:

    μjt+1Λjiπijμit\mu_j^{t+1} \propto \Lambda_j \cdot \sum_i \pi_{ij} \mu_i^t
  4. 加权组合输出 — 最终估计是各模型估计的概率加权:

    xt+1=jμjt+1xjt+1x^{t+1} = \sum_j \mu_j^{t+1} \cdot x_j^{t+1}

直觉

  • 哪个模型最能"解释"当前观测 → 它的似然大 → 模型概率 μj\mu_j 上升 → 输出更偏向该模型
  • 当目标运动状态切换时 (匀速 → 转弯),模型概率会自动跟着切换,因此叫"自适应"

主战场

  • 导弹防御 (机动目标跟踪)
  • 空管雷达 (飞机跟踪)
  • 车载毫米波雷达多目标跟踪 (ACC, AEB)
  • 行人 / 车辆 BEV 跟踪 (3D 多目标跟踪)

SLAM 中是否用得到

直接 SLAM 后端不常用 (SLAM 的状态演化由相机/IMU 运动模型固定描述,没有"模式切换"问题)。但相邻领域 — 动态物体跟踪、AEB 系统、ACC 系统、行人/车辆轨迹预测 — IMM 是事实标准。Apollo / Autoware 的 perception 模块的 multi-object tracker 都有 IMM 选项。

进一步

机动目标跟踪是一整个学科。《机动目标跟踪的多模型滤波理论与方法》 (周宏仁 等) 是中文圈最详细的教材。Bar-Shalom Estimation with Applications to Tracking and Navigation 是英文权威。

5. 速查

变体 一句话 主战场 与主流 KF 关系
EnKF NN 样本表示协方差,避免显式 PP 地球科学、大气海洋同化 状态维度 \gg 主流 KF
Augmented State KF 把麻烦 (有色噪声 / 偏置 / 时延) 并入状态 雷达、IMU bias、MSCKF 标准 KF/EKF 的扩展用法
IMM 多模型并行 + 概率加权 机动目标跟踪 不是单一滤波器,是"多 KF 的元结构"

References

  • Evensen, G. (1994). Sequential data assimilation with a nonlinear quasi-geostrophic model using Monte Carlo methods to forecast error statistics. J. Geophysical Research. — EnKF 原始论文
  • Evensen, G. (2009). Data Assimilation: The Ensemble Kalman Filter (2nd ed.). Springer. — EnKF 系统教材
  • Bar-Shalom, Y., Li, X. R., & Kirubarajan, T. (2001). Estimation with Applications to Tracking and Navigation. Wiley. — Augmented State KF、IMM 的英文权威
  • Blom, H. A. P., & Bar-Shalom, Y. (1988). The Interacting Multiple Model Algorithm for Systems with Markovian Switching Coefficients. IEEE T-AC. — IMM 原始论文
  • Mazor, E., Averbuch, A., Bar-Shalom, Y., & Dayan, J. (1998). Interacting Multiple Model Methods in Target Tracking: A Survey. IEEE T-AES. — IMM 综述
  • 周宏仁 等. 机动目标跟踪. 国防工业出版社. — 中文权威教材,IMM + 多模型滤波详细
  • 三脚猫Frank, 卡尔曼滤波器详解 — 从零开始 (1) — 原 K2E "其他 KF" note 引用 (覆盖随机过程 + KF 基础 + shaping filter,对 §3 Augmented State KF 的"白化处理"理论铺垫有用)
  • 三脚猫Frank, 卡尔曼滤波器详解 — 从零开始 (2) — Part 2,BLUE / OLS / WLS / RLS
  • 梦里寻梦, 通俗易懂理解 — 卡尔曼滤波与扩展卡尔曼滤波 — KF/EKF + 毫米波雷达坐标变换示例 + 简短 IMM 介绍 (本文 §4 IMM 描述参考此文末段)
  • ESA. Data Assimilation 2 — Ensemble Kalman Filter (PDF). — 原 K2E "其他 KF" note 引用,链接已失效