交互式多模型-粒子滤波器IMM-PF—在移动目标跟踪中的应用/matlab实现
WX: ZB823618313
交互式多模型-粒子滤波器IMM-PF—在移动目标跟踪中的应用/matlab实现
- 交互式多模型-粒子滤波器IMM-PF—在移动目标跟踪中的应用/matlab实现
-
- 1. 对机动目标跟踪的理解
- 2. 交互式多模型IMM
- 3、 粒子滤波PF
- 4、 交互式多模型-粒子滤波器IMM-PF
-
- 4.1、 核心思想
- 4.2.存在的问题
- 4.3、解决思路
- 5. IMM-PF应用于机动目标跟踪——matlab场景一
-
- 5.1. 仿真过程
- 5.2. 跟踪轨迹和误差RMSE
- 6. IMM-PF应用于机动目标跟踪——matlab场景二
-
- 6.1. 仿真过程
- 6.2. 跟踪轨迹和误差RMSE
- 7、IMM-PF部分代码
1. 了解机动目标跟踪的理解
??目标跟踪一直是目标跟踪领域研究的难点和关键问题。建立目标运动模型和滤波算法是目标跟踪的两个重要因素。由于目标的机动性是不可预测的,难建立准确的目标运动模型。高机动目标跟踪系统迫切需要解决如何建立有效的模型来反映目标的真实运动轨迹。经过近30年的研究,该领域取得了许多重要成果。
个人理解:机动目标跟踪拥有三要素:
传感器测量
移动目标模型描述了目标状态随时间变化的过程。文献[1]指出,一个好的模型值得大量数据。目前几乎所有的目标跟踪算法都是基于模型进行状态估计的。在卡尔曼滤波器被引入目标跟踪领域后,基于状态空间的移动目标建模成为主要研究对象之一。基于不同的运动轨迹和坐标系,目标空间运动可分为-维、二维和三维运动。目标机动模型可分为坐标间非耦合模型和坐标间耦合模型。
匀速运动模型CV 均匀加速运动模型CA 匀速转弯模型CT 当前统计模型CS Singer模型 Jerk模型 …
测量一般分为在
笛卡尔坐标系:惯导、激光雷达、ADS-B数据 极坐标/球坐标:雷达、声纳、相控阵雷达 混合坐标系:雷达 INS 地球坐标系:GPS、经纬仪、ADS-B数据 …
??在算法层面,目标跟踪系统中常用的滤波算法是以卡尔曼滤波器为基本框架的估计算法。卡尔曼滤波器是一种线性、无偏差、误差均方差最小的最佳估计算法,具有精确的数学形式和优良的使用效率。卡尔曼滤波法本质上是一种数据处理方法,采用递推滤波法,根据获得的量测数据,递推方程递推到新的状态估计。由于计算量和存储量小,更容易满足实时计算的要求,泛应用于工程实践中。 ??此外,非线性滤波器还广泛应用于机动目标跟踪,如:
卡尔曼滤波
扩展卡尔曼滤波器EKF 卡尔曼滤波器无痕UKF 卡尔曼滤波器的体积CKF 积卡尔曼滤波QKF 卡尔曼滤波器的中心差CDKF Divided difference filter DDF 高斯混合滤波器GSF 强跟踪滤波STF 粒子滤波PF … …
独立多模型方法 协作多模型方法:GPB、IMM 变结构多模型法 … …
2. 交互式多模型IMM
??在现代目标跟踪系统中,系统状态转移方程和观察方程是线性的,因此在线最小平方误差(LMMSE)使用的意义α-β滤波、Kalman线性滤波算法,如滤波获得良好的滤波效果。但对于移动目标跟踪,由于其运动状态的不确定性,效果不好。因此,提出交互式多模型(IMM)自适应移动目标跟踪算法:
??在移动目标跟踪方法中,为了避免移动检测跟踪算法的估计时间延迟和移动检测过程中跟踪性能的降低,基于交互式多模型(IMM)通过两个目标模型的交互作用,对目标移动状态进行自适应跟踪算法。以工程为基础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(xk∣xk−1(i),zk)=p(xk∣xk−1(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)=wk−1(i)p(zk∣xk(i)) 同样 w k ( i ) w_k^{(i)} wk(i)需要归一化得到 w ~ k ( i ) \tilde{w}_k^{(i)} w~k(i)。
标准的粒子滤波算法步骤为:
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(xk∣xk−1(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)=wk−1(i)p(zk∣xk(i)) Step 4: 归一化重要性权值: w ~ k ( i ) = w k ( i ) ∑ j = 1 N w k ( j ) \tilde{w}_k^{(i)}=\frac{w_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[\hat{x}_{k}]= \sum_{i=1}^Nx_{k}^{(i)}\tilde{w}_k^{(i)} E[x^k]=i=1∑Nxk(i)w~k(i) End For
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=ci−1+wk(i) Step 3: 从CDF的底部开始: i = 1 i=1 i=1 Step 4: 采样起始点: u 1 = U [ 0 , 1 / N ] u_1=\mathcal{U}[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+(j−1)/N Step 6: While u j > c i u_j>c_i uj>ci i = i + 1 i=i+1 i=i+1 End While Step 7: 赋值粒子: x k ( j ) = x k ( i ) x_k^{(j)}=x_k^{(i)} xk(j)=xk(i) Step 8: 赋值权值: w k ( j ) = 1 / N w_k^{(j)}=1/N wk(j)=1/N Step 9: 赋值父代: i ( j ) = i i^{(j)}=i i(j)=i End For
4、 交互式多模型-粒子滤波IMM-PF
目前, IMMPF算法在目标跟踪领域已取得了长足的进展,并逐渐延伸到故障诊断等领域,形成了一些有价值的理论和实践成果。但是,这些理论和应用实践相对庞杂,特别是IMMPF算法本身还出现了一些不同的分支,使得对该算法的系统理解和掌握存在一些困难。
4.1、 核心思想
把PF应用到IMM算法的最主要的问题在于如何实现PF到IMM算法框架中基于高斯假设滤波(如KF、UKF、EKF等)的替换,换句话说就是如何用PF替换KF,并保证替换以后算法的其他相关步骤的合理性。
卡尔曼滤波和粒子滤波的相同点:在于它们都需要以目标当前时刻的测量过程噪声方差和测量方差作为其输入条件。
卡尔曼滤波和粒子滤波的不同点:卡尔曼滤波是基于“高斯噪声、线性系统”的假设条件,初始输入条件是前一时刻的状态均值和协方差,输出的是更新后的状态估计和协方差;而粒子滤波不以“高斯噪声、线性系统”为其假设条件,其初始条件是粒子群,输出是更新后的粒子云和状态估计。
4.2、存在的问题
- 1)交互/混合的问题 经典IMM 算法交互过程以前一次运算的估计算满足各子模型滤