机动目标跟踪——Jerk模型

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

针对机动目标跟踪的探讨、技术支持欢迎联系,也可以站内私信
WX: ZB823618313

机动目标跟踪——Jerk模型

  • 机动目标跟踪——Jerk模型
    • 1. 对机动目标跟踪的理解
      • 1.1. 对机动目标跟踪的理解
      • 1.2. 目标模型概述
    • 2. 一维Jerk模型
      • 2.1. Jerk模型(连续)
      • 2.2. Jerk模型(离散)
      • 2.3. Jerk模型分析
    • 3. 二维Jerk模型
      • 3.1. Jerk模型(连续)
      • 3.2. Jerk模型(离散)
    • 4. Jerk模型matlab仿真
    • 5. Jerk模型2D目标跟踪
    • 6. 其它模型
      • 6.1 匀速转弯CT模型
      • 6.2. 匀加速运动CA模型
      • 6.3. “当前”统计模型
      • 6.4. Singer模型

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

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

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

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

被跟踪目标建模(本博客重点讲:Jerk模型)
传感器测量(另一个博客介绍)
滤波器设计(见目标跟踪专栏)

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

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

1.2. 目标模型概述

  机动目标模型描述了目标状态随着时间变化的过程。一个好的模型抵得上大量的数据。当前几乎所有的目标跟踪算法都是基于模型进行状态估计的。在卡尔曼滤波器被引入目标跟踪领域后,基于状态空间的机动目标建模成为主要研究对象之一。

常用的目标运动模型包括:

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

  1. 目标的空间运动基于不同的运动轨迹和坐标系
    一维运动
    二维运动
    三维运动

  2. 根据不同方向的运动是否相关
    坐标间不耦合模型
    坐标间耦合模型

2. 一维Jerk模型

Jerk模型假设目标加速度变化率服从零均值、平稳一阶时间相关过程,其时间相关函数为指数衰减形式,即加速度变化率 j ( t ) j(t) j(t)满足:
R j ( τ ) = E [ j ( t ) j ( t + τ ) ] = σ 2 e − α ∣ τ ∣ , α ≥ 0 R_j(\tau)=E[j(t)j(t+\tau)]=\sigma^2e^{-\alpha|\tau|}, \alpha\geq0 Rj​(τ)=E[j(t)j(t+τ)]=σ2e−α∣τ∣,α≥0
其中: σ \sigma σ为加加速度的方差; α \alpha α为自相关时间常数,也称之为机动频率。

通过Wiener-Kolmogorov白化过程进行处理可得关于加速度在状态空间的描述方式为
j ˙ ( t ) = − α j ( t ) + w ( t ) \dot{j}(t)=-\alpha j(t) +w(t) j˙​(t)=−αj(t)+w(t)
其中: w ( t ) w(t) w(t)是均值为0,方差为 σ 2 \sigma^2 σ2的高斯白噪声。

2.1. Jerk模型(连续)

令状态向量为
X = [ x , x ˙ , x ¨ , d x ¨ / d t ] T {X}=[x, \dot{x},\ddot{x}, d\ddot{x}/dt]^T X=[x,x˙,x¨,dx¨/dt]T
则加速度为
j ( t ) = d x ¨ ( t ) / d t j(t)=d\ddot{x}(t)/dt j(t)=dx¨(t)/dt
连续时间Jerk模型为
X ˙ ( t ) = [ 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 − α ] X ( t ) + [ 0 0 0 1 ] w ( t ) \dot{X}(t)=\begin{bmatrix}0&1&0&0\\0&0&1&0\\0&0&0&1\\0&0&0&-\alpha\end{bmatrix}X(t) + \begin{bmatrix}0\\0\\0\\1\end{bmatrix}w(t) X˙(t)=⎣⎢⎢⎡​0000​1000​0100​001−α​⎦⎥⎥⎤​X(t)+⎣⎢⎢⎡​0001​⎦⎥⎥⎤​w(t)

Jerk模型也可以表述为
X ˙ ( t ) = A X ( t ) + B w ( t ) \dot{X}(t)=AX(t) + Bw(t) X˙(t)=AX(t)+Bw(t)
其中
A = [ 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 − α ] , B = [ 0 0 0 1 ] A=\begin{bmatrix}0&1&0&0\\0&0&1&0\\0&0&0&1\\0&0&0&-\alpha\end{bmatrix}, B= \begin{bmatrix}0\\0\\0\\1\end{bmatrix} A=⎣⎢⎢⎡​0000​1000​0100​001−α​⎦⎥⎥⎤​,B=⎣⎢⎢⎡​0001​⎦⎥⎥⎤​

2.2. Jerk模型(离散)

周期T采样离散化后,转化为离散时间状态方程为:

X k + 1 = F k X k + W k X_{k+1}=F_kX_{k} + W_k Xk+1​=Fk​Xk​+Wk​
其中
F k = [ 1 T T 2 / 2 p 1 0 1 T q 1 0 0 1 r 1 0 0 0 s 1 ] F_k=\begin{bmatrix}1&T&T^2/2&p1\\0&1&T &q1 \\0&0&1 &r1\\ 0&0&0&s1\end{bmatrix} Fk​=⎣⎢⎢⎡​1000​T100​T2/2T10​p1q1r1s1​⎦⎥⎥⎤​
其中:

p 1 = ( 2 − 2 α T + α 2 T 2 − 2 e − α T ) / ( 2 α 3 ) p1=(2-2\alpha T+\alpha^2T^2-2e^{-\alpha T})/(2\alpha^3) p1=(2−2αT+α2T2−2e−αT)/(2α3)
q 1 = ( α T − 1 + e − α T ) / α 2 q1=(\alpha T-1 + e^{-\alpha T})/\alpha^2 q1=(αT−1+e−αT)/α2
r 1 = ( 1 − e − α T ) / α r1=(1 - e^{-\alpha T})/\alpha r1=(1−e−αT)/α
s 1 = e − α T s1= e^{-\alpha T} s1=e−αT

噪声 W k W_k Wk​的方差为
Q = 2 α σ 2 [ q 11 q 12 q 13 q 14 q 21 q 22 q 23 q 24 q 31 q 32 q 33 q 34 q 41 q 42 q 43 q 44 ] Q=2\alpha \sigma^2 \begin{bmatrix}q_{11}&q_{12}&q_{13}&q_{14}\\q_{21}&q_{22}&q_{23}&q_{24}\\q_{31}&q_{32}&q_{33}&q_{34}\\q_{41}&q_{42}&q_{43}&q_{44}\end{bmatrix} Q=2ασ2⎣⎢⎢⎡​q11​q21​q31​q41​​q12​q22​q32​q42​​q13​q23​q33​q43​​q14​q24​q34​q44​​⎦⎥⎥⎤​
Q Q Q为对称矩阵,且

上图中有些公式存在出入,请参见原文:

Mehrotra, Kishore, and Pravas R. Mahapatra. “A jerk model for tracking highly maneuvering targets.” IEEE Transactions on Aerospace and Electronic Systems 33.4 (1997): 1094-1105.

2.3. Jerk模型分析

  1. Jerk模型由于在加速度模型的基础上又增加一维,即实时地对加速度的导数——加加速度进行估计,以此可得到对加速度更加精确的估计,因此,对于强机动性的运动目标,利用模型描述目标机动更为方便。当然,不可避免的,模型算法的跟踪性能与参数σ、α和采样周期的选取是否合适也息息相关。
  1. Jerk模型看着复杂,实际上Jerk模型在Singer模型的基础上引入了加速度的变化率,相较于Singer模型,跟踪刻画目标的机动性
  1. Jerk模型和CA模型区别:Jerk是加速度的导数。在大多数坐标非耦合模型中,选择目标加速度作为目标机动的描述,并将其建模为随机过程。这是力学、运动学和车辆动力学中最自然的现象,因为加速度与作用于目标上的力直接相关。这就是为什么通常把目标加速度作为控制输入u的原因。然而,对于某些目标,特别是敏捷目标,使用随机猛击过程来建模目标机动可能更方便。猛击模型与通常的加速度模型有简单的区别,这取决于目标运动是用猛击模型还是加速度随机过程模型更好地描述。然而,另一方面,一个jerk模型中的jerk必须被估计,其精度通常比加速度估计差得多,因为通常只有位置(和多普勒)测量

3. 二维Jerk模型

3.1. Jerk模型(连续)

令状态向量为
X = [ x , x ˙ , x ¨ , d x ¨ / d t , y , y ˙ , y ¨ , d y ¨ / d t ] T {X}=[x, \dot{x},\ddot{x}, d\ddot{x}/dt,y, \dot{y},\ddot{y},d\ddot{y}/dt]^T X=[x,x˙,x¨,dx¨/dt,y,y˙​,y¨​,dy¨​/dt]T
则加速度变化率为
j ( t ) = [ d x ¨ / d t , d y ¨ / d t ] T j(t)=[d\ddot{x}/dt,d\ddot{y}/dt]^T j(t)=[dx¨/dt,dy¨​/dt]T
连续时间Singer模型为

X ˙ ( t ) = [ A 0 0 A ] X ( t ) + [ B 0 0 B ] w ( t ) \dot{X}(t)=\begin{bmatrix}A&0\\0&A \end{bmatrix}X(t) + \begin{bmatrix}B&0\\0&B\end{bmatrix}w(t) X˙(t)=[A0​0A​]X(t)+[B0​0B​]w(t)

其中
A = [ 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 − α ] , B = [ 0 0 0 1 ] A=\begin{bmatrix}0&1&0&0\\0&0&1&0\\0&0&0&1\\0&0&0&-\alpha\end{bmatrix}, B= \begin{bmatrix}0\\0\\0\\1\end{bmatrix} A=⎣⎢⎢⎡​0000​1000​0100​001−α​⎦⎥⎥⎤​,B=⎣⎢⎢⎡​0001​⎦⎥⎥⎤​

3.2. Jerk模型(离散)

周期T采样离散化后,转化为离散时间状态方程为:

X k + 1 = F k X k + W k X_{k+1}=F_kX_{k} + W_k Xk+1​=Fk​Xk​+Wk​
其中
F k = [ F 0 0 F ] F_k=\begin{bmatrix}F&0\\0&F \end{bmatrix} Fk​=[F0​0F​]

F = [ 1 T T 2 / 2 p 1 0 1 T q 1 0 0 1 r 1 0 0 0 s 1 ] F=\begin{bmatrix}1&T&T^2/2&p1\\0&1&T &q1 \\0&0&1 &r1\\ 0&0&0&s1\end{bmatrix} F=⎣⎢⎢⎡​1000​T100​T2/2T10​p1q1r1s1​⎦⎥⎥⎤​
其中:

p 1 = ( 2 − 2 α T + α 2 T 2 − 2 e − α T ) / ( 2 α 3 ) p1=(2-2\alpha T+\alpha^2T^2-2e^{-\alpha T})/(2\alpha^3) p1=(2−2αT+α2T2−2e−αT)/(2α3)
q 1 = ( α T − 1 + e − α T ) / α 2 q1=(\alpha T-1 + e^{-\alpha T})/\alpha^2 q1=(αT−1+e−αT)/α2
r 1 = ( 1 − e − α T ) / α r1=(1 - e^{-\alpha T})/\alpha r1=(1−e−αT)/α
s 1 = e − α T s1= e^{-\alpha T} s1=e−αT

噪声 W k W_k Wk​的方差为
Q = 2 α σ 2 [ q 11 q 12 q 13 q 14 q 21 q 22 q 23 q 24 q 31 q 32 q 33 q 34 q 41 q 42 q 43 q 44 ] Q=2\alpha \sigma^2 \begin{bmatrix}q_{11}&q_{12}&q_{13}&q_{14}\\q_{21}&q_{22}&q_{23}&q_{24}\\q_{31}&q_{32}&q_{33}&q_{34}\\q_{41}&q_{42}&q_{43}&q_{44}\end{bmatrix} Q=2ασ2⎣⎢⎢⎡​q11​q21​q31​q41​​q12​q22​q32​q42​​q13​q23​q33​q43​​q14​q24​q34​q44​​⎦⎥⎥⎤​
Q Q Q为对称矩阵,且

上图中有些公式存在出入,请参见原文:

Mehrotra, Kishore, and Pravas R. Mahapatra. “A jerk model for tracking highly maneuvering targets.” IEEE Transactions on Aerospace and Electronic Systems 33.4 (1997): 1094-1105.

4. Jerk模型matlab仿真

位置轨迹: 图1
速度轨迹: 图2
加速度轨迹: 图3
加速度变化率轨迹: 图4


5. Jerk模型2D目标跟踪

算法:卡尔曼滤波
扩展卡尔曼滤波
无迹卡尔曼滤波

测量:雷达

跟踪轨迹如下:

6. 其它模型

6.1 匀速转弯CT模型

匀速转弯CT运动模型见另一个博客:包括二维、三维

6.2. 匀加速运动CA模型

匀加速运动CA模型见另一个博客

6.3. “当前”统计模型

当前统计模型见另一个博客

6.4. Singer模型

Singer模型见另一个博客

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

机动目标跟踪——Jerk模型相关推荐

  1. 机动目标跟踪——匀加速运动模型(三维)

    机动目标跟踪--匀加速运动模型(三维) 原创不易,路过的各位大佬请点个赞 WX: ZB823618313 机动目标跟踪--目标模型概述 机动目标跟踪--匀加速运动模型(三维) 1. 对机动目标跟踪的理 ...

  2. 机动目标跟踪——匀加速运动模型(一维)

    机动目标跟踪--目标模型概述(一维) 原创不易,路过的各位大佬请点个赞 WX: ZB823618313 机动目标跟踪--目标模型概述 机动目标跟踪--目标模型概述(一维) 1. 对机动目标跟踪的理解 ...

  3. 交互式多模型算法IMM——机动目标跟踪中的应用

    机动目标跟踪--交互式多模型算法IMM 原创不易,路过的各位大佬请点个赞 WX: ZB823618313 机动目标跟踪--交互式多模型算法IMM 机动目标跟踪--交互式多模型算法IMM 1. 对机动目 ...

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

    交互式多模型-粒子滤波IMM-PF-在机动目标跟踪中的应用/matlab实现 原创不易,路过的各位大佬请点个赞 WX: ZB823618313 交互式多模型-粒子滤波IMM-PF-在机动目标跟踪中的应 ...

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

    交互式多模型-扩展卡尔曼滤波IMM-EKF--机动目标跟踪中的应用 原创不易,路过的各位大佬请点个赞 针对机动目标跟踪的探讨.技术支持欢迎联系,也可以站内私信 WX: ZB823618313 机动目标 ...

  6. 机动目标跟踪—匀速转弯CT模型/匀速圆周运动

    机动目标跟踪-匀速转弯CT模型/匀速圆周运动 原创不易,路过的各位大佬请点个赞 针对机动目标跟踪的探讨.技术支持欢迎联系,也可以站内私信 WX: ZB823618313 机动目标跟踪-匀速转弯CT模型 ...

  7. 机动目标跟踪——目标模型概述(匀速运动CV模型)

    机动目标跟踪--目标模型概述 原创不易,路过的各位大佬请点个赞 WX: ZB823618313 机动目标跟踪--目标模型概述 机动目标跟踪--目标模型概述 1. 对机动目标跟踪的理解 2. 目标模型概 ...

  8. 机动目标跟踪——匀速运动CV模型

    机动目标跟踪--匀速运动CV模型 原创不易,路过的各位大佬请点个赞 WX: ZB823618313 机动目标跟踪--目标模型概述 机动目标跟踪--匀速运动CV模型 1. 对机动目标跟踪的理解 2. 目 ...

  9. 机动目标跟踪——匀加速运动CA模型(二维)

    机动目标跟踪--匀加速运动CA模型(二维) 原创不易,路过的各位大佬请点个赞 WX: ZB823618313 机动目标跟踪--目标模型概述 机动目标跟踪--匀加速运动CA模型(二维) 1. 对机动目标 ...

最新文章

  1. 【OpenGL】二十四、OpenGL 纹理贴图 ( 读取文件内容 | 桌面程序添加控制台窗口 | ‘fopen‘: This function may be unsafe 错误处理 )
  2. CLR Via CSharp读书笔记(14):字符、字符串和文本处理
  3. android xe 调用 java,Delphi XE6 for Android 让手机震动(调用Java的函数)
  4. html木桶布局,木桶布局 实现
  5. MNews 1.9 – 干净的新闻自媒体博客wordpress主题
  6. Android手机编程初学遇到的问题及解决方法
  7. 计蒜客挑战难题:最后一个单词的长度
  8. 详解:hive启动hiveserver2连JDBC报错:Could not open client transport with JDBC Uri 解决方案
  9. NLP基础—2.文本预处理
  10. 距离Java开发者玩转 Serverless,到底还有多远?
  11. 转:jdk动态代理实现
  12. 基于词嵌入技术的微博博文情感分析系统设计实现
  13. python判断是否含有0_Python:判断文本中的用户名在数据库中是否存在,存在返回1,不存在返回0...
  14. PHP字符串转换函数
  15. 第23个520情人节,女程序猿送男朋友什么?
  16. lol服务器不稳定领皮肤,LOL免费领“源代码娜美”皮肤 官方致歉游戏卡顿问题...
  17. ERROR: pip‘s dependency resolver does not currently take into account all the packages that are inst
  18. android 裁剪屏幕中特定区域内的内容
  19. 【绝对详细!不好使你顺着网线敲我!】Django3.1在Ubuntu16.04上的部署
  20. 下载pyboard的flash中的驱动程序_驱动人生下载-驱动人生绿色最新下载正式版

热门文章

  1. MySQL8_基础_聚合函数
  2. 数据库schema的导出和导入
  3. 微信小程序案例(最适合新手练手的项目)
  4. python程序设计作业_CS602留学生作业代做、代写Programming课程作业、代做Python语言作业、Python编程设计作业调试...
  5. 如何在工作中保持稳定情绪
  6. 解决C#提示导入密钥文件失败的问题
  7. ubuntu20.04配置git
  8. WIN-thrift 库 兼容XP系统
  9. C语言计算1-1/2+1/3-·····+1/100的值
  10. [USACO16DEC]Cities and States S