【深度学习|目标跟踪】快速入门卡尔曼滤波!

[复制链接]
发表于 2026-2-10 19:41:00 | 显示全部楼层 |阅读模式
说明

  本博客参考了b站up主“华南小虎队”的卡尔曼滤波讲授视频以及Lauszus Kristian Sloth Lauszus的卡尔曼滤波代码(c++实现),以及关于该代码示例中的博客教程。
一、什么是卡尔曼滤波

1.1 卡尔曼滤波的利用场景

  卡尔曼滤波是一种最优估计的算法,我们可以把他明白成一个改正算法,大概是一种插值算法。卡尔曼滤波可以根据我们对当前任务场景的运动学建模方程以及前一时候的状态来估计下一时候的状态。卡尔曼滤波被广泛应用于定位导航场景中,好比疾行的汽车在隧道中穿行时,由于我们的卫星定位体系会被隧道的山体所屏蔽信号,因此,我们无法通过卫星定位的方式来直观的定位汽车在隧道中的位置,这个时间我们就可以将当前的一些状态量通过传感器得到,好比当前速率以及当前位置等作为状态量传入我们的状态方程中来举行猜测,并通过卡尔曼滤波来改正我们的猜测结果。
  在呆板人控制场景中,也可以利用卡尔曼滤波来赋能,对于呆板人发出的控制指令通常是离散的,如许会使得我们的呆板人在实办法作时显得比力“生硬”,此时我们就可以利用卡尔曼滤波来对呆板人举行状态的猜测来插值,使得呆板人的运动变得更加丝滑。固然卡尔曼滤波也不光范围于以上两种场景,这只是我举得例子。
1.2 卡尔曼滤波的界说

  卡尔曼滤波的实用体系线性高斯体系(这里我们提到的为通例的kalman filter 而非UKF大概EKF)。线性体系即输入与输出满足齐次性叠加性。高斯则是指外部噪声的概率分布满足正态分布的规律。以一个具有着初速率的小车来说,小车在行驶的过程中会受到地面临于轮胎的摩擦力,氛围的阻力,这两者都可以算是影响小车终极位置的外部噪声,现原形况是,氛围阻力以及地面的摩擦力都不是恒定的值,那么在卡尔曼滤波中,我们将其的分布假定为满足高斯正态分布的,因此我们的小车的位置终极也是满足高斯正态分布的,如下图所示:

二、卡尔曼滤波公式详解(无推导)

起首我们先明白一下参数:


  • 过程噪声满足均值为0,方差为Q的高斯正态分布;
  • 观测噪声满足均值为0,方差为R的高斯正态分布;
卡尔曼滤波简朴可以总结为以下两个步调:


  • 利用上一时候的最优结果来得到当前时候的先验估计。
  • 利用第一步的先验估计以及观测到的状态来对先验估计举行改正得到这一时候的最优结果。
详细来说,卡尔曼滤波可以分为两个阶段,一个是猜测阶段,一个是更新阶段,如下图所示:

此中,最优估计的盘算我们可以拆解为先验估计 + 增益 *(观测结果 - 先验估计的观测)。 也就是说,我们可以把它看成一个权重题目,即假如我们更信任观测结果(高精度的传感器),那么我们可以将卡尔曼增益的权重增大,来扩大观测结果与先验估计偏差对终极估计的影响力,假如我们更信任猜测的结果,那么使卡尔曼增益的值减小,来扩大先验估计对终极结果的影响力。详细的怎样通过调治参数来改变卡尔曼增益的值,我们在下面会讲到。
三、卡尔曼滤波的简朴应用


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!qidao123.com:ToB企服之家,中国第一个企服评测及软件市场,开放入驻,技术点评得现金

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表