3.1理论推导

首先假设状态变量为x,观测量为z,那么结合贝叶斯后验概率模型:

多目标跟踪从形式上讲可以理解为最大化后验概率,现在结合第二节的内容,假设状态变量x服从高斯分布,反映的是运动模型的不稳定性。基于状态变量x的估计先验,观测量z也服从高斯分布,反映的是量测误差,比如传感器误差。那么我们就可以利用高斯分布的融合来刻画Kalman滤波器的更新部分。

这里我们先给出一阶Kalman滤波器的公式,其中预测环节就是基于线性运动特性对状态变量的预测,即:

其中​

为状态变量的均值,​

为预测方差,那么​对应的高斯分布方差即为

,而​

则是线性运动模型本身的误差,由此得到预测环节。即预测结果服从高斯分布

​。

对于更新环节,同样地,假设量测误差分布满足

​,那么:

代入变量得:

上式即为Kalman滤波器是更新环节,其中H是从状态变量到观测量/输出变量的转换矩阵。

3.2实验分析

我们可以看到的是,Kalman滤波器有很多参数,除去运动模型形式假设的F和B参数,存在有多个协方差矩阵P、Q、R。下面我们逐一分析各个参数的影响。

协方差矩阵变化规律

在此之前可以看看不经过更新校正的状态变量均值和方差的变化,假设有如下的运动方式:

则有状态变量分布如下:

可以看到,在不引入量测的情况下,物体一直保持匀速直线运动,所以其误差的协方差分布一直向水平方向倾斜。

(1)不同Kalman模型

下面我们分别用一阶和二阶的Kalman滤波器去跟踪一个直线运动的物体,其中一阶Kalman滤波完全依赖量测的矫正,二阶Kalman滤波加入了速度因素,可见二阶模型跟踪效果更好,不过其实在这里,如果加入控制变量u,也能恰好达到匀速直线运动的效果。

(2) R和Q的影响

对于匀速直线运动,我们保持量测误差R不变,对比运动估计误差Q发现,Q越小,模型越相信运动规律,而模型正好也是匀速直线运动,因此跟踪效果更好。而当R变大时,模型会更加不相信量测结果,从而使得状态变量的协方差越来越大,但是由于预测环节模型的准确性,跟踪依然比较准确,可以从图中看出,当初始状态偏差很大时,模型不相信量测,导致跟踪轨迹很难与目标轨迹一致,而当R变小却可以重新跟踪到。

(3)P的影响

对于上面两幅图,表面上看上去P=1时,跟踪轨迹跟贴近于真实轨迹,但是如果将协方差矩阵P中的参数绘制出来即为:

我们可以发现,后者关于位置的方差变化趋势比较复杂,虽然二者均能跟踪到,但是当初始状态估计不好时,P过小会使得跟踪周期变长,而P较大时跟踪效果没有明显降低,因此通常P取值较大。

kalman filter java_Kalman filters(一)相关推荐

  1. kalman filter java_Kalman Filter算法详解

    关键词:卡尔曼滤波 线性最优估计 迭代 预测值 估计值 协方差矩阵 状态转移方程 观测方程 最小均方估计 预测+矫正 经典的卡尔曼滤波是一个迭代的线性的最优状态估计器.利用最小均方误差原理,可以保证状 ...

  2. Error-State Kalman filter (ESKF)

    1. 原理 1.1. 变量定义 1.2. 名义量预测 1.3. 误差量预测 1.4. 更新 1.5. 重置 2. 主要优点 The orientation error-state is minimal ...

  3. 一文图解卡尔曼滤波(Kalman Filter)

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 译者注:这恐怕是全网有关卡尔曼滤波最简单易懂的解释,如果你认真的读 ...

  4. [Math]理解卡尔曼滤波器 (Understanding Kalman Filter)

    2. 基本模型 2.1 系统模型 卡尔曼滤波模型假设k时刻的真实状态是从(k − 1)时刻的状态演化而来,符合下式:  (1) Fk 是作用在 Xk−1 上的状态变换模型(/矩阵/矢量). Bk 是作 ...

  5. Control~Kalman filter

    常用控制算法(包括PID和卡尔曼滤波等)各有什么天然的局限乃至缺陷               回答都专业而又接地气 自平衡小车的探讨:卡尔曼滤波与PID算法                      ...

  6. matlab温度数据怎么滤波_卡尔曼滤波算法思想理解 Kalman filter 第一篇

    卡尔曼滤波算法思想理解 Kalman filter 第一篇 最近在初步的理解目标跟踪的领域, 其中一个非常经典的算法卡尔曼滤波Kalman filter是需要有很好的理解才行, 由于已经脱离了学校,懂 ...

  7. 【UWB】Kalman filter, KF卡尔曼滤波, EKF 扩展卡尔曼滤波

    文章目录 卡尔曼滤波器 扩展卡尔曼滤波器 协方差 Ref: 卡尔曼滤波器 首先从工程上看卡尔曼滤波算法. 引入一个离散控制过程的系统,该系统可用一个线性随机微分方程(linear stochastic ...

  8. 卡尔曼滤波器算法(Kalman Filter)—— 数学推导,图文并茂

    (1)HMM:隐变量是离散的 (2)Kalman Filter:又叫 Linear Dynamic Model 或 Linear Gaussian Model 隐变量和观测变量都是连续的,都是服从高斯 ...

  9. OpenCV‘s Kalman filter卡尔曼滤波器的实例(附完整代码)

    OpenCV's Kalman filter卡尔曼滤波器的实例 OpenCV's Kalman filter卡尔曼滤波器的实例 OpenCV's Kalman filter卡尔曼滤波器的实例 #inc ...

最新文章

  1. hashcode()和hash()
  2. 用字节流查看txt文件
  3. 快速学习一个新的模块
  4. 第七十五期:Java 2019 生态圈使用报告,这结果你赞同吗?
  5. geth 转账_eth客户端安装 geth使用 批量转账(一)
  6. 如何在电脑上制作请假条表格_条码标签打印软件如何制作请假表
  7. setlength java_Java StringBuilder setLength()方法与示例
  8. javascript第三节
  9. CTO下午茶:张弛有度,动静自如
  10. 【李宏毅2020 ML/DL】P35-42 Attack ML Models
  11. MPEG-7实例入门
  12. Redis环境配置和命令语句
  13. 局域网打印机一键共享工具_AppStore今日推荐分享 支持局域网设备共享的抓包工具...
  14. 吉比特H2-3光猫破解超级密码
  15. 计算机文化基础(高职高专版 第十一版)第六章 答案
  16. 【数理统计】卡方检验
  17. Android 设置无线热点模块隐藏SSID
  18. python中add函数_add_argument函数的dest参数
  19. 初识EMC元器件(四)——共模电感选型及应用
  20. java消息中间件_java消息中间件

热门文章

  1. ras私钥c#转java_RSA密钥,JAVA与.NET之间转换
  2. python tkinter库 pack布局方法调用
  3. 大学物理实验电学基本参数的测量实验报告_思你所想 | 那些年,我们做过的实验...
  4. think php5目录结构,目录结构 · ThinkPHP5.1完全开发手册 · 看云
  5. 终端操作MySQL数据库
  6. ## CSP 201312-2 ISBN号码(C语言)(100分)
  7. bat文件获取当前时间并格式化输出
  8. 【有趣】Python之禅
  9. linux shell下除了某个文件外的其他文件全部删除的命令
  10. 使用阿里云搭建微信公众号管理系统