无迹卡尔曼滤波在目标跟踪中的作用(二)

这篇具有很好参考价值的文章主要介绍了无迹卡尔曼滤波在目标跟踪中的作用(二)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在上一节的内容中,我们介绍了UKF中最重要的内容—无迹变换UT,今天我们将具体介绍UKF是如何实现的。
好了,话不多说,开整!!!

UKF算法的实现

我们知道,我们可以使用状态方程观测方程来对系统进行描述,那么一个非线性系统可以用以下的方程进行描述:
{ X ( k + 1 ) = f ( x ( k ) , V ( k ) ) Z ( k ) = h ( x ( k ) , W ( k ) ) \left\{\begin{array}{l}X\left(k+1\right)=f\left(x\left(k\right),V\left(k\right)\right)\\ Z\left(k\right)=h\left(x\left(k\right),W\left(k\right)\right)\end{array}\right. {X(k+1)=f(x(k),V(k))Z(k)=h(x(k),W(k))
其中的

  • f f f为非线性状态方程函数
  • V ( k ) V(k) V(k)为过程噪声,其协方差矩阵为Q
  • h h h为非线性观测方程函数
  • W ( k ) W(k) W(k)为量测噪声,协方差矩阵为R

在描述完非线性系统后,对不同时刻的数据进行滤波,步骤如下:

  • 1、首先获得一组Sigma点集(采样点集)与权值,计算如下式:无迹卡尔曼滤波在目标跟踪中的作用(二),目标跟踪,目标跟踪,人工智能,计算机视觉,雷达,滤波算法
    无迹卡尔曼滤波在目标跟踪中的作用(二),目标跟踪,目标跟踪,人工智能,计算机视觉,雷达,滤波算法
    详细介绍请见:
    UKF在目标跟踪中的应用(一)
    也即:
    X ( i ) ( k ∣ k ) = [ X ^ ( k ∣ k ) X ^ ( k ∣ k ) + ( n + λ ) P ( k ∣ k ) X ^ ( k ∣ k ) − ( n + λ ) P ( k ∣ k ) ] X^{(i)}(k|k)=[\hat{X}(k|k)\quad\hat{X}(k|k)+\sqrt{(n+\lambda)P(k|k)}\quad\hat{X}(k|k)-\sqrt{(n+\lambda)P(k|k)}] X(i)(kk)=[X^(kk)X^(kk)+(n+λ)P(kk) X^(kk)(n+λ)P(kk) ]

  • 2、然后计算2n+1个Sigma点的一步预测值,i=1,2……2n+1;
    X ( i ) ( k + 1 ∣ k ) = f [ k , X ( i ) ( k ∣ k ) ] X^{(i)}(k+1|k)=f[k,X^{(i)}(k|k)] X(i)(k+1∣k)=f[k,X(i)(kk)]

  • 3、计算系统状态量和协方差矩阵的一步预测值

X ^ ( k + 1 ∣ k ) = ∑ i = 0 2 n ω ( i ) X ( i ) ( k + 1 ∣ k ) \hat{X}(k+1|k)=\sum_{i=0}^{2n}\omega^{(i)}X^{(i)}(k+1|k) X^(k+1∣k)=i=02nω(i)X(i)(k+1∣k)
P ( k + 1 ∣ k ) = ∑ k = 0 2 n ω ( k ) [ X ^ ( k + 1 ∣ k ) − X ( k ) ( k + 1 ∣ k ) ] [ X ^ ( k + 1 ∣ k ) − X ( n ) ( k + 1 ∣ k ) ] T + Q P(k+1|k)=\sum\limits_{k=0}^{2n}\omega^{(k)}[\hat{X}(k+1|k)-X^{(k)}(k+1|k)][\hat{X}(k+1|k)-X^{(n)}(k+1|k)]^T+Q P(k+1∣k)=k=02nω(k)[X^(k+1∣k)X(k)(k+1∣k)][X^(k+1∣k)X(n)(k+1∣k)]T+Q

此处就与Kalman明显不同:
Kalman滤波中,只需将上一时刻的值带入状态方程计算一次即可得到预测值UKF是将一组采样点值进行预测,然后加权,得到状态的预测值

  • 4、再根据一步预测值,使用UT变换产生新的Sigma点集
    X ( i ) ( k + 1 ∣ k ) = [ X ^ ( k + 1 ∣ k ) X ^ ( k + 1 ∣ k ) + ( n + λ ) P ( k + 1 ∣ k ) X ^ ( k + 1 ∣ k ) − ( n + λ ) P ( k + 1 ∣ k ) ] X^{(i)}(k+1|k)=[\hat{X}(k+1|k) \quad \hat{X}(k+1|k)+\sqrt{(n+\lambda)P(k+1|k)} \quad \hat{X}(k+1|k)-\sqrt{(n+\lambda)P(k+1|k)}] X(i)(k+1∣k)=[X^(k+1∣k)X^(k+1∣k)+(n+λ)P(k+1∣k) X^(k+1∣k)(n+λ)P(k+1∣k) ]

  • 5、将步骤4新产生的Sigma点集带入观测方程,得到观测的预测值,i=1,2,……2n+1;
    Z ( i ) ( k + 1 ∣ k ) = h [ X ( i ) ( k + 1 ∣ k ) ] Z^{(i)}\left(k+1|k\right)=h[X^{(i)}(k+1|k)] Z(i)(k+1∣k)=h[X(i)(k+1∣k)]

  • 6、通过步骤5中得到的Sigma点集的观测预测值加权求和得到系统预测的均值和方差
    Z ‾ ( k + 1 ∣ k ) = ∑ i = 0 2 n ω ( i ) Z ( i ) ( k + 1 ∣ k ) \overline{Z}(k+1|k)=\sum\limits_{i=0}^{2n}\omega^{(i)}{Z}^{(i)}(k+1|k) Z(k+1∣k)=i=02nω(i)Z(i)(k+1∣k)
    P z k z k = ∑ i = 0 2 n ω ( i ) [ Z ( i ) ( k + 1 ∣ k ) − Z ‾ ( k + 1 ∣ k ) ] [ Z ( i ) ( k + 1 ∣ k ) − Z ‾ ( k + 1 ∣ k ) ] T + R P_{z_kz_k}=\sum\limits_{i=0}^{2n}\omega^{(i)}[Z^{(i)}(k+1|k)-\overline{Z}(k+1|k)][Z^{(i)}(k+1|k)-\overline{Z}(k+1|k)]^{\mathrm{T}}+R Pzkzk=i=02nω(i)[Z(i)(k+1∣k)Z(k+1∣k)][Z(i)(k+1∣k)Z(k+1∣k)]T+R
    P x k z k = ∑ i = 0 2 π ω ( i ) [ X ( i ) ( k + 1 ∣ k ) − Z ‾ ( k + 1 ∣ k ) ] [ Z ( i ) ( k + 1 ∣ k ) − Z ‾ ( k + 1 ∣ k ) ] T P_{x_k z_k}=\sum\limits_{i=0}^{2\pi}\omega^{(i)}[X^{(i)}(k+1|k)-\overline{Z}(k+1|k)][Z^{(i)}(k+1|k)-\overline{Z}(k+1|k)]^T Pxkzk=i=02πω(i)[X(i)(k+1∣k)Z(k+1∣k)][Z(i)(k+1∣k)Z(k+1∣k)]T

  • 7、计算滤波增益K
    K ( k + 1 ) = P x k z k P z k z k − 1 K(k+1)=P_{x_k z_k}P_{z_k z_k}^{-1} K(k+1)=PxkzkPzkzk1

  • 8、状态更新、协方差更新:
    X ^ ( k + 1 ∣ k + 1 ) = X ^ ( k + 1 ∣ k ) + K ( k + 1 ) [ Z ( k + 1 ) − Z ^ ( k + 1 ∣ k ) ] \hat{X}\left(k+1|k+1\right)=\hat{X}\left(k+1|k\right)+K\left(k+1\right)\left[Z\left(k+1\right)-\hat{Z}\left(k+1|k\right)\right] X^(k+1∣k+1)=X^(k+1∣k)+K(k+1)[Z(k+1)Z^(k+1∣k)]
    P ( k + 1 ∣ k + 1 ) = P ( k + 1 ∣ k ) − K ( k + 1 ) P z k z k K ⊺ ( k + 1 ) P(k+1|k+1)=P(k+1|k)-K(k+1)P_{z_kz_k}K^{\intercal}(k+1) P(k+1∣k+1)=P(k+1∣k)K(k+1)PzkzkK(k+1)

经过上述的步骤,即可完成一次滤波,然后不断循环进行即可,如果用一张图表示UKF滤波过程,可以如下图所示:
无迹卡尔曼滤波在目标跟踪中的作用(二),目标跟踪,目标跟踪,人工智能,计算机视觉,雷达,滤波算法
下次将对其进行MATLAB仿真验证。

上述内容即使今天的全部内容了,感谢大家的观看。
如果方便,辛苦大家点个赞和关注哦!
您的点赞或评论或关注是对我最大的肯定,谢谢大家!!!文章来源地址https://www.toymoban.com/news/detail-520204.html

到了这里,关于无迹卡尔曼滤波在目标跟踪中的作用(二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 滤波算法 | 无迹卡尔曼滤波(UKF)算法及其MATLAB实现

    本文接着分享位姿跟踪和滤波算法中用到的一些常用程序,希望为后来者减少一些基础性内容的工作时间。以往分享总结见文章:位姿跟踪 | 相关内容目录和链接总结(不断更新中~~~) 本文分享无迹卡尔曼滤波(UKF)算法的一些基本公式和MATLAB程序。 首先简单介绍一下UKF滤

    2023年04月15日
    浏览(49)
  • 基于EKF扩展卡尔曼滤波的传感器网络目标跟踪matlab仿真

    目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 MATLAB2022a         随着传感器网络技术的不断发展,目标跟踪作为其核心应用之一,在军事、民用等领域中得到了广泛的关注。扩展卡尔曼滤波(EKF)作为一种有效的非线性滤

    2024年02月22日
    浏览(77)
  • 无迹卡尔曼滤波估计SOC(附MATLAB程序详解)

    设置电流采样周期为1s   导入电流数据并求电流数据的长度。  设置参数Q为单位矩阵乘以1e-4,设置参数R=1e-5  设置协方差矩阵P0=1e-4乘以单位矩阵;初始化二阶RC模型的参数R0、Rs、Rp、Cs、Cp为一行N列的零矩阵  求解模型参数,通过辨识电池模型参数得到的各个参数与SOC之间

    2024年02月04日
    浏览(43)
  • 目标跟踪:Deepsort--卡尔曼滤波、匈牙利匹配、马氏距离、欧氏距离、级联匹配、reid

    本篇文章供自己学习回顾,其中错误希望指出! 先把目标跟踪中涉及到的名词抛出来: 1、卡尔曼滤波、 2、匈牙利匹配:https://blog.csdn.net/DeepCBW/article/details/124740092 3、马氏距离、 4、欧氏距离、 5、级联匹配、 6、代价矩阵 sort过程比较简单,先搬个图: 基于上图展开对sort的

    2024年02月05日
    浏览(50)
  • 基于卡尔曼滤波的视频跟踪,基于卡尔曼滤波的运动小球跟踪

    完整代码和数据下载链接:基于卡尔曼滤波的视频跟踪,基于卡尔曼滤波的运动小球跟踪(代码完整,数据齐全)资源-CSDN文库 https://download.csdn.net/download/abc991835105/88738577 卡尔曼滤波原理 RBF的定义 RBF理论 易错及常见问题 RBF应用实例,基于rbf的空调功率预测 代码 结果分析

    2024年02月02日
    浏览(49)
  • 【MATLAB源码-第106期】基于matlab的SAR雷达系统仿真,实现雷达目标跟踪功能,使用卡尔曼滤波算法。

    1. 雷达系统参数设定:    - 工作频率:选择一个适合的工作频率,例如X波段(8-12 GHz)。    - 脉冲重复频率(PRF):设定一个适当的PRF,确保雷达覆盖所需的范围。    - 天线增益和波束宽度:根据目标探测的需求确定天线的增益和波束宽度。 2. 目标和环境模拟:

    2024年01月16日
    浏览(58)
  • 线性卡尔曼跟踪融合滤波算法(Matlab仿真)

            卡尔曼滤波的原理和理论在CSDN已有很多文章,这里不再赘述,仅分享个人的理解和Matlab仿真代码。         假设目标的状态为X =  [x, y, vx, vy],符合匀速直线运动目标,也即                  其中F为状态转移矩阵,                  在匀速直线(const velo

    2024年01月17日
    浏览(43)
  • RBF-UKF径向基神经网络结合无迹卡尔曼滤波估计锂离子电池SOC(附MATLAB代码)RBF神经网络训练部分

    1.清空变量 2.导入数据用以RBF神经网络训练,一共14组,训练数据P(第一列为电压值,第二列为SOC值,第三列为电流值。),并将所有数据存储在变量PP中,所有电压数据存储在变量TT中。 3. 用第1、2、3、4、5组数据来训练网络 , 用第六组数据来测试网络的精度 。   4.建立

    2023年04月22日
    浏览(60)
  • 卡尔曼滤波 - 状态空间模型中的状态方程

    卡尔曼滤波 - 状态空间模型中的状态方程 flyfish 状态方程和观测方程统称为状态空间模型  位移 = Δ x = x f − x 0 text { 位移}=Delta x=x_f-x_0   位移 = Δ x = x f ​ − x 0 ​ x 0 x_0 x 0 ​ 是起始位置 x f x_f x f ​ 是终止位置 在坐标轴里,右边是正,左边是负 绿色矩形的高度为 v 0 v

    2024年02月02日
    浏览(41)
  • 使用 TensorRT、卡尔曼滤波器和 SORT 算法进行实时对象检测和跟踪:第 2 部分将模型转换为 TensorRT 并进行推理

    在本博客文章系列的第 1 部分中,我们展示了如何使用 mmdetection 框架训练对象检测模型并在 BDD100K 数据集上对其进行微调。在第 2 部分中,我们将介绍将模型转换为 TensorRT 并在 Nvidia GPU 上执行推理的过程。 在本博客文章系列的第 2 部分中,我们将讨论以下主题: 将模型转换

    2024年02月15日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包