目录
- 为什么需要粒子滤波,与无迹卡尔曼滤波的区别?
- 粒子滤波的核心思想与假设条件
- 算法核心:蒙特卡洛方法与序贯重要性采样
- 典型应用场景与优势
- 挑战与改进方向
- 下期预告
为什么需要粒子滤波,与无迹卡尔曼滤波的区别?
传统卡尔曼滤波家族(EKF/UKF)依赖高斯分布假设和线性化近似,在以下场景中存在固有缺陷:
- 非高斯噪声:如突发脉冲噪声、多模态分布噪声
- 强非线性系统:如混沌系统、离散跳跃过程
- 高维状态空间:如多目标跟踪、图像序列分析
粒子滤波(Particle Filter, PF)通过蒙特卡洛方法实现非参数化后验估计,其核心优势在于:
- 突破高斯限制:直接处理非高斯噪声和多模态分布
- 无需线性化:通过粒子集模拟状态转移,适用于任意非线性模型
- 高维适应性:结合重采样技术缓解维度灾难问题
与 UKF 的对比:
特性 | UKF | 粒子滤波 |
---|---|---|
噪声假设 | 高斯分布 | 任意分布 |
非线性处理 | 无迹变换近似 | 直接粒子传播 |
计算复杂度 | O ( n ³ ) O(n³) O(n³) | O ( N n ) O (Nn) O(Nn)(N 为粒子数) |
多模态跟踪 | 性能下降 | 天然支持 |
粒子滤波的核心思想与假设条件
(一)核心思想
- 贝叶斯框架:通过递推公式更新后验概率 p ( x k ∣ z 1 : k ) ∝ p ( z k ∣ x k ) ∫ p ( x k ∣ x k − 1 ) p ( x k − 1 ∣ z 1 : k − 1 ) d x k − 1 p(x_k | z_{1:k}) \propto p(z_k | x_k) \int p(x_k | x_{k-1}) p(x_{k-1} | z_{1:k-1}) dx_{k-1} p(xk∣z1:k)∝p(zk∣xk)∫p(xk∣xk−1)p(xk−1∣z1:k−1)dxk−1
- 蒙特卡洛近似:用 N 个带权粒子集 { x k ( i ) , w k ( i ) } i = 1 N \{x_k^{(i)}, w_k^{(i)}\}_{i=1}^N {xk(i),wk(i)}i=1N表示后验分布
- 序贯重要性采样:通过重要性权重调整采样分布与真实分布的差异
(二)假设条件
- 马尔可夫性:当前状态仅依赖前一状态
- 观测独立性:观测值仅依赖当前状态
- 状态空间可采样性:存在有效的重要性密度函数
- 噪声分布已知:系统噪声和观测噪声的概率密度函数可计算
算法核心:蒙特卡洛方法与序贯重要性采样
(一)基本流程
(二)关键步骤详解
- 初始化(k=0) x 0 ( i ) ∼ p ( x 0 ) , w 0 ( i ) = 1 N x_0^{(i)} \sim p(x_0), \quad w_0^{(i)} = \frac{1}{N} x0(i)∼p(x0),w0(i)=N1
- 预测阶段(k ≥ 1)
- 状态转移: x k ( i ) ∼ p ( x k ∣ x k − 1 ( i ) ) x_k^{(i)} \sim p(x_k | x_{k-1}^{(i)}) xk(i)∼p(xk∣xk−1(i))
- 重要性权重更新: w k ( i ) = w k − 1 ( i ) ⋅ p ( z k ∣ x k ( i ) ) q ( x k ( i ) ∣ x k − 1 ( i ) , z k ) w_k^{(i)} = w_{k-1}^{(i)} \cdot \frac{p(z_k | x_k^{(i)})}{q(x_k^{(i)} | x_{k-1}^{(i)}, z_k)} wk(i)=wk−1(i)⋅q(xk(i)∣xk−1(i),zk)p(zk∣xk(i))
- 重采样
- 多项式重采样:按权重比例复制粒子
- 分层重采样:均匀划分概率区间
- 系统重采样:固定间隔选择粒子
- 状态估计
- 均值估计: x ^ k = ∑ i = 1 N w k ( i ) x k ( i ) \hat{x}_k = \sum_{i=1}^N w_k^{(i)} x_k^{(i)} x^k=∑i=1Nwk(i)xk(i)
- 协方差估计: P k = ∑ i = 1 N w k ( i ) ( x k ( i ) − x ^ k ) ( x k ( i ) − x ^ k ) T P_k = \sum_{i=1}^N w_k^{(i)} (x_k^{(i)} - \hat{x}_k)(x_k^{(i)} - \hat{x}_k)^T Pk=∑i=1Nwk(i)(xk(i)−x^k)(xk(i)−x^k)T
(三)改进技术
- 重要性密度函数优化
- 最优重要性函数: q ( x k ∣ x k − 1 , z k ) = p ( x k ∣ x k − 1 , z k ) q(x_k | x_{k-1}, z_k) = p(x_k | x_{k-1}, z_k) q(xk∣xk−1,zk)=p(xk∣xk−1,zk)
- 实用选择: q ( x k ∣ x k − 1 , z k ) = p ( x k ∣ x k − 1 ) q(x_k | x_{k-1}, z_k) = p(x_k | x_{k-1}) q(xk∣xk−1,zk)=p(xk∣xk−1)
- 重采样策略
- 有效粒子数阈值: N e f f = 1 ∑ ( w k ( i ) ) 2 N_{eff} = \frac{1}{\sum (w_k^{(i)})^2} Neff=∑(wk(i))21
- 自适应重采样:仅当 N e f f < N t h r N_{eff} < N_{thr} Neff<Nthr时触发
典型应用场景与优势
(一)机器人 SLAM
- 优势:处理激光雷达回波的多模态分布,融合视觉里程计的非线性特征
- 案例:基于 RGB-D 相机的室内导航系统,通过粒子滤波实现动态环境下的位姿估计
(二)多目标跟踪
- 优势:天然支持目标的出生 / 死亡事件,处理遮挡和交叉轨迹
- 案例:机场跑道行人跟踪系统,结合毫米波雷达数据实现鲁棒跟踪
(三)金融时间序列预测
- 优势:捕捉资产价格的尖峰厚尾特性,处理波动率的随机跳跃
- 案例:基于粒子滤波的期权定价模型,有效应对市场异常波动
(四)生物医学工程
- 优势:分析非高斯生物信号(如肌电信号),建立非线性生理模型
- 案例:基于 ECG 信号的心率变异性分析,实时监测心律失常事件
挑战与改进方向
- 样本贫化问题
- 解决方案:正则化粒子滤波、辅助粒子滤波
- 理论突破:通过最优传输理论优化粒子分布
- 计算效率提升
- 降维技术:Rao-Blackwell 化粒子滤波
- 并行计算:GPU 加速的粒子滤波实现
- 实时性增强
- 稀疏采样:基于随机有限集的粒子滤波
- 在线学习:自适应调整粒子数量的动态 PF
下期预告
尽管粒子滤波在非高斯估计中表现优异,但其在多目标跟踪场景中面临数据关联难题。下期我们将重点探讨概率数据关联(Probabilistic Data Association, PDA),这一经典算法能够:
- 核心突破:
- 解决观测数据与目标轨迹的匹配歧义
- 量化杂波环境下的关联不确定性
- 实现多目标状态估计与数据关联的联合优化
敬请期待下期专题:“概率数据关联:多目标跟踪的基石算法”,探索这一 50 年经典算法如何通过贝叶斯框架解决观测数据与目标轨迹的匹配难题,并展望其在未来智能系统中的前沿应用!
有关ukf的matlab代码见
链接:https://pan.baidu.com/s/1NQlCIgFvDZyiMwKDPuq2pA
提取码:6523