交互式多模型-粒子滤波IMM-PF—在机动目标跟踪中的应用/matlab实现

Posted 脑壳二

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了交互式多模型-粒子滤波IMM-PF—在机动目标跟踪中的应用/matlab实现相关的知识,希望对你有一定的参考价值。

交互式多模型-粒子滤波IMM-PF—在机动目标跟踪中的应用/matlab实现

原创不易,路过的各位大佬请点个赞

WX: ZB823618313

交互式多模型-粒子滤波IMM-PF—在机动目标跟踪中的应用/matlab实现

1. 对机动目标跟踪的理解

  机动目标跟踪一直是目标跟踪领域研究的难点和重点问题。建立目标运动模型和滤波算法是目标跟踪的两个重要因素。由于目标的机动具有不可预测性,使得我们很难建立精确的目标运动模型。如何建立一种有效的模型来反映目标真实的运动轨迹是高机动目标跟踪系统急需解决的问题。经过近三十年的研究,该领域取得了许多重要成果。

个人理解:机动目标跟踪拥有三要素:

1) 机动目标跟踪建模
2) 传感器测量
3) 滤波器设计

1) 机动目标跟踪建模
机动目标模型描述了目标状态随着时间变化的过程。文献[1]指出,一个好的模型抵得上大量的数据。当前几乎所有的目标跟踪算法都是基于模型进行状态估计的。在卡尔曼滤波器被引入目标跟踪领域后,基于状态空间的机动目标建模成为主要研究对象之一。目标的空间运动基于不同的运动轨迹和坐标系,可分为-维、二维和三维运动。而根据不同方向的运动是否相关,目标机动模型可分为坐标间不耦合模型和坐标间耦合模型。

匀速运动模型CV
匀加速运动模型CA
匀速转弯模型CT
当前统计模型CS
Singer模型
Jerk模型

2) 传感器测量
测量一般分为在

笛卡尔坐标系:惯导、激光雷达、ADS-B数据
极坐标/球坐标:雷达、声纳、相控阵雷达
混合坐标系:雷达+INS
大地坐标系:GPS、经纬仪、ADS-B数据

3) 滤波算法

  从算法层面,在目标跟踪系统中,常用的滤波算法是以卡尔曼滤波器为基本框架的估计算法。卡尔曼滤波器是一种线性、无偏、以误差均方差最小为准则的最优估计算法,它有精确的数学形式和优良的使用效能。卡尔曼滤波方法实质上是一种数据处理方法,它采用递推滤波方法,根据获取的量测数据由递推方程递推给出新的状态估计。由于计算量和存储量小,比较容易满足实时计算的要求,在工程实践中得到广泛应用。
  除此之外,非线性滤波也广泛应用与机动目标跟踪,比如:

卡尔曼滤波

非线性滤波+自适应模型
扩展卡尔曼滤波EKF
无迹卡尔曼滤波UKF
容积卡尔曼滤波CKF
求积卡尔曼滤波QKF
中心差分卡尔曼滤波CDKF
Divided difference filter DDF
高斯混合滤波GSF
强跟踪滤波STF
粒子滤波PF
… …

自适应多模型方法
自主式多模型方法
协作式多模型方法:GPB、IMM
变结构多模型方法
… …

2. 交互式多模型IMM

  在现代目标跟踪系统中,对于运动模型基本不改变的运动目标,即系统的状态转移方程和观察方程都是线性的,那么在线性最小均方误差(LMMSE)的意义下,采用α-β滤波、Kalman滤波等线性滤波算法可以得到良好的滤波效果。但是对于机动目标跟踪,由于其运动状态的不确定性,效果不好。所以提出交互式多模型(IMM)的自适应机动目标跟踪算法:

  在机动目标跟踪方法中,为避免具有机动检测的跟踪算法产生的估计时间延迟和机动检测过程中跟踪性能的降低,采用基于交互式多模型(IMM)的自适应机动目标跟踪算法,通过2个目标模型的交互作用来实现对目标机动状态的自适应估计。在工程上,将基于CV和"当前"统计模型的IMM算法应用在某导航雷达跟踪系统中,经验证IMM算法对匀速直线运动、机动运动目标跟踪均能取得较好的效果。

核心思想: IMM算法的基本思想是用多个不同的运动模型匹配机动目标的不同运动模式,不同模型间的转移概率是–个马尔可夫矩阵,目标的状态估计和模型概率的更新使用卡尔曼滤波。


3、 粒子滤波PF

核心思想:是使用一组具有相应权值的随机样本(粒子)来表示状态的后验分布。该方法的基本思路是选取一个重要性概率密度并从中进行随机抽样,得到一些带有相应权值的随机样本后,在状态观测的基础上调节权值的大小。和粒子的位置,再使用这些样本来逼近状态后验分布,最后将这组样本的加权求和作为状态的估计值。粒子滤波不受系统模型的线性和高斯假设约束,采用样本形式而不是函数形式对状态概率密度进行描述,使其不需要对状态变量的概率分布进行过多的约束,因而在非线性非高斯动态系统中广泛应用。尽管如此,粒子滤波目前仍存在计算量过大、粒子退化等关键问题亟待突破。

通常情况下选择先验分布作为重要性密度函数、即
q ( x k ∣ x k − 1 ( i ) , z k ) = p ( x k ∣ x k − 1 ( i ) ) q(x_k |x_k-1^(i), z_k)=p(x_k |x_k-1^(i)) q(xkxk1(i),zk)=p(xkxk1(i))
对该函数取重要性权值为
w k ( i ) = w k − 1 ( i ) p ( z k ∣ x k ( i ) ) w_k^(i)=w_k-1^(i)p(z_k |x_k^(i)) wk(i)=wk1(i)p(zkxk(i))
同样 w k ( i ) w_k^(i) wk(i)需要归一化得到 w ~ k ( i ) \\tildew_k^(i) w~k(i)

标准的粒子滤波算法步骤为:

粒子滤波PF:
Step 1: 根据 p ( x 0 ) p(x_0) p(x0)采样得到 N N N个粒子 x 0 ( i ) ∼ p ( x 0 ) x_0^(i) \\sim p(x_0) x0(i)p(x0)
For i = 2 : N i=2:N i=2:N
  Step 2: 根据状态转移函数产生新的粒子为:$ x k ( i ) ∼ p ( x k ∣ x k − 1 ( i ) ) x_k^(i) \\sim p(x_k |x_k-1^(i)) xk(i)p(xkxk1(i))
  Step 3: 计算重要性权值: w k ( i ) = w k − 1 ( i ) p ( z k ∣ x k ( i ) ) w_k^(i)=w_k-1^(i)p(z_k |x_k^(i)) wk(i)=wk1(i)p(zkxk(i))
  Step 4: 归一化重要性权值: w ~ k ( i ) = w k ( i ) ∑ j = 1 N w k ( j ) \\tildew_k^(i)=\\fracw_k^(i)\\sum_j=1^Nw_k^(j) w~k(i)=j=1Nwk(j)wk(i)
  Step 5: 使用重采样方法对粒子进行重采样(以系统重采样为例)
  Step 6: 得到 k k k时刻的后验状态估计:
E [ x ^ k ] = ∑ i = 1 N x k ( i ) w ~ k ( i ) E[\\hatx_k]= \\sum_i=1^Nx_k^(i)\\tildew_k^(i) E[x^k]=i=1Nxk(i)w~k(i)
End For

粒子滤波PF算法结构图

算法:系统重采样 (systematic resampling)
For i = 1 : N i=1:N i=1:N
  Step 1: 初始化累积概率密度函数CDF: c 1 = 0 c_1=0 c1=0
For i = 2 : N i=2:N i=2:N
  Step 2: 构造CDF: c i = c i − 1 + w k ( i ) c_i=c_i-1+w_k^(i) ci=ci1+wk(i)
  Step 3: 从CDF的底部开始: i = 1 i=1 i=1
  Step 4: 采样起始点: u 1 = U [ 0 , 1 / N ] u_1=\\mathcalU[0,1/N] u1=U[0,1/N]
End For
For j = 1 : N j=1:N j=1:N
  Step 5: 沿CDF移动: u j = u 1 + ( j − 1 ) / N u_j=u_1+(j-1)/N uj=u1以上是关于交互式多模型-粒子滤波IMM-PF—在机动目标跟踪中的应用/matlab实现的主要内容,如果未能解决你的问题,请参考以下文章

交互式多模型-粒子滤波IMM-PF—在机动目标跟踪中的应用/matlab实现

交互式多模型-扩展卡尔曼滤波IMM-EKF——机动目标跟踪中的应用

交互式多模型-扩展卡尔曼滤波IMM-EKF——机动目标跟踪中的应用

交互式多模型-无迹卡尔曼滤波IMM-UKF仿真一——机动目标跟踪中的应用

交互式多模型-无迹卡尔曼滤波IMM-UKF仿真一——机动目标跟踪中的应用

交互式多模型-无迹卡尔曼滤波IMM-UKF——CV/CT/CA模型交互机动目标跟踪(模型维数不同IMM算法设计)