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

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

在前一节中,我们介绍了扩展卡尔曼滤波算法EKF在目标跟踪中的应用,其原理是

将非线性函数局部线性化,舍弃高阶泰勒项,只保留一次项

,这就不可避免地会影响结果的准确性,除此以外,实际中要计算雅各比矩阵不是特别的容易,因此有必要研究其他的滤波算法。

无迹卡尔曼滤波UKFEKF不同,UKF不对非线性函数进行线性化,而是

仍采用传统的Kalman滤波算法框架,对于其中的一步预测方程,使用无迹变换来处理参数的非线性传递问题

由于其不是对非线性函数线性化,也无需求雅各比矩阵,因此,在精度上较EKF更加优秀
好了,话不多少,直接开整!!!!

UKF原理

UKF滤波算法的关键之处就在于无迹变换,而所谓的无迹变换就是:

估计点附近确定采样点这些样本点表示的高斯密度近似状态的概率密度函数

那么UT变换(无迹变换)具体如何实现呢,下面将进行介绍。

UT变换实现方法

无迹变换通常按以下步骤进行:

  • 原状态分布中按某一规则选取一些采样点,其中要注意:这些采样点的均值和协方差要等于原状态分布的均值和协方差
  • 将这些点代入非线性函数中,将会得到非线性函数值点集
  • 通过这些点集求取变换后的均值和协方差

通过无迹变换,最终得到的非线性变换后的均值和协方差精度最少具有2阶精度(Taylor序列展开),在高斯分布的条件下,精度更是可以达到三阶精度

UT变换采样点的选择

上述提到了无迹变换需要按照一定的规则选取采样点,一般遵循以下原则:

基于先验均值先验协方差矩阵的平方根的相关列实现的

非线性变换见的对比

我们将之前学过的EKF和今天的UKF进行对比,可见下图:
无迹卡尔曼滤波在目标跟踪中的作用(一)
从上述的图,我们也可以看到,经过无迹变换(UT)变换后的分布,相比于EKF更加贴近真实的分布,那么自然滤波的精度要比EKF要高一些。

UT变换的基本原理

下面我们将以对称分布采样作为例子,对于无迹变换的原理进行阐述。
此时,假设存在某非线性变换 y = f ( x ) y=f(x) y=f(x),状态向量有n维,且已知其均值 x ‾ \overline{x} x协方差P,此时就可以通过UT变换得到2n+1个Sigma点(采样点)X和相应的权值 ω \omega ω,进而计算y的统计特性:

  • 首先,计算2n+1个Sigma点,其中的n为状态量的维数
    X ( 0 ) = X ‾ , i = 0 X ( i ) = X ‾ + ( ( n + λ ) P ) i , i = 1 ∼ n X ( i ) = X ‾ − ( ( n + λ ) P ) i , i = n + 1 ∼ 2 n \begin{aligned} &X^{\left(0\right)} =\overline{X},i=0 \\ &X^{(i)} =\overline{X}+\left(\sqrt{\left(n+\lambda\right)P}\right)_{i},i=1\sim n \\ &X^{\left(i\right)}=\overline{X}-\left(\sqrt{\left(n+\lambda\right)P}\right)_{i},i=n+1\sim2n \end{aligned} X(0)=X,i=0X(i)=X+((n+λ)P )i,i=1nX(i)=X((n+λ)P )i,i=n+12n
    上式中的 ( P ) T ( P ) = P , ( P ) i 是矩阵方根的第 i 列 \left(\sqrt{P}\right)^{T}\left(\sqrt{P}\right)=P,\left(\sqrt{P}\right)_{i}是矩阵方根的第i列 (P )T(P )=P,(P )i是矩阵方根的第i
  • 然后计算这些采样点的权值
    ω m ( 0 ) = λ n + λ ω c ( 0 ) = λ n + λ + ( 1 − a 2 + β ) ω m ( i ) = ω c ( i ) = λ 2 ( n + λ ) , i = 1 ∼ 2 n \begin{aligned} &\omega_{m}^{\left(0\right)}=\frac{\lambda}{n+\lambda}\\ & \omega_c^{(0)}=\frac{\lambda}{n+\lambda}+\left(1-a^{2}+\beta\right)\\ & \omega_{m}^{\left(i\right)}=\omega_{c}^{\left(i\right)}=\frac{\lambda}{2\left(n+\lambda\right)},i =1\sim2n \\ \end{aligned} ωm(0)=n+λλωc(0)=n+λλ+(1a2+β)ωm(i)=ωc(i)=2(n+λ)λ,i=12n
    上述式中的下标m为均值c为协方差上标为第几个采样点,参数 λ = α 2 ( n + k ) − n \lambda=\alpha^{2}\left(n+k\right)-n λ=α2(n+k)n是一个缩放比例参数用来降低总的预测误差

α的选取控制了采样点的分布状态;

k为待选参数,其具体取值虽然没有界限,但通常应确保矩阵 ( n + λ ) P (n+\lambda)P (n+λ)P为半正定矩
。待选参数 β \beta β≥0是一个非负的权系数,它可以合并方程中高阶项的动差,这样就可以把高阶项的影响包括在内。

上述内容即使今天的全部内容了,感谢大家的观看,下次内容将进行具体的仿真验证。

如果方便,辛苦大家点个赞和关注哦!
您的点赞或评论或关注是对我最大的肯定,谢谢大家!!!

ref:卡尔曼滤波原理及应用MATLAB仿真–黄小平文章来源地址https://www.toymoban.com/news/detail-500956.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日
    浏览(49)
  • 基于卡尔曼滤波的视频跟踪,基于卡尔曼滤波的运动小球跟踪

    完整代码和数据下载链接:基于卡尔曼滤波的视频跟踪,基于卡尔曼滤波的运动小球跟踪(代码完整,数据齐全)资源-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

领红包