多目标跟踪之卡尔曼滤波
卡尔曼滤波适用于含不确定信息的动态系统,可推测系统下一步状态,优点是内存占用小、速度快,适合实时和嵌入式系统。在多目标跟踪中,能处理目标位置等测量值的噪声,实现对目标位置的滤波、预测等。其通过高斯分布、协方差矩阵等,结合预测与传感器读数来优化估计。

多目标跟踪之卡尔曼滤波
为后期写多目标跟踪准备的算法(用来多目标跟踪预测)多目标跟踪匹配算法:多目标跟踪之二分图无权匹配——匈牙利算法多目标跟踪加权二分图匹配 ——KM
1 定义
只要是存在不确定信息的动态系统,卡尔曼滤波就可以对系统下一步要做什么做出有根据的推测。即便有噪声信息干扰,卡尔曼滤波通常也能很好的弄清楚究竟发生了什么,找出现象间不易察觉的相关性因此卡尔曼滤波非常适合不断变化的系统,它的优点还有内存占用较小(只需保留前一个状态)、速度快,是实时问题和嵌入式系统的理想选择。
2 应用
比如跟踪目标,但目标的位置、速度、加速度的测量值往往在任何时候都有噪声。卡尔曼滤波利用目标的动态信息,设法去掉噪声的影响,得到一个关于目标位置的好的估计。这个估计可以是对当前目标位置的估计(滤波),也可以是对于将来位置的估计(预测),也可以是对过去位置的估计(插值或平滑)。
3 卡尔曼滤波眼里的行人跟踪问题
下面是图例公式的描述,初学同学可能有点蒙,建议去查一下卡尔曼滤波相关视频(然后发现还是蒙/坏笑/,但每次的学习都会有新的发现/加油/)下面是UP学习了不错文章作者Bzarg
一个包含位置信息和速度信息的状 x=(p,v)
卡尔曼滤波假设两个变量(在我们的例子里是位置和速度)都应该是随机的,而且符合高斯分布。如下图 
位置和速度是不相关的,这意味着我们不能从一个变量推测另一个变量。那么如果位置和速度相关呢?如下图所示,人前往特定位置的可能性取决于它拥有的速度。
这不难理解,如果基于旧位置估计新位置,我们会产生这两个结论:如果速度很快,人可能移动得更远,所以得到的位置会更远;如果速度很慢,人就走不了那么远。
这种关系对目标跟踪来说非常重要,因为它提供了更多信息:一个可以衡量可能性的标准。这就是卡尔曼滤波的目标:从不确定信息中挤出尽可能多的信息!
为了捕获这种相关性,我们用的是协方差矩阵。简而言之,矩阵的每个值是第i个变量和第j个变量之间的相关程度(由于矩阵是对称的,i和j的位置可以随便交换)。我们用表示协方差矩阵,在这个例子中,就是
。

(均值,也就是
,协方差矩阵
。(虽然还是用了位置和速度两个变量,但只要和问题相关,卡尔曼滤波可以包含任意数量的变量)

我们可以用矩阵
表示这个预测步骤:




把这个式子和上面的最佳估计
结合,可得:

,纳入预测系统作为修正。假设油门设置和控制命令是已知的,我们知道火车的预期加速度a。根据运动学基本定理,我们可得:

是控制矩阵,
是控制向量。如果外部环境异常简单,我们可以忽略这部分内容,但是如果添加了外部影响后,模型的准确率还是上不去,这又是为什么呢?
外部不确定性
但是,如果存在我们不知道的力量呢?当我们监控无人机时,它可能会受到风的影响;当我们跟踪轮式机器人时,它的轮胎可能会打滑,或者粗糙地面会降低它的移速。这些因素是难以掌握的,如果出现其中的任意一种情况,预测结果就难以保障。这要求我们在每个预测步骤后再加上一些新的不确定性,来模拟和“世界”相关的所有不确定性:

的每个预测状态都可能会移动到另一点,也就是蓝色的高斯分布会移动到紫色高斯分布的位置,并且具有协方差
。换句话说,我们把这些不确定影响视为协方差
的噪声。

我们在原式上加入

新的最佳估计是基于原最佳估计和已知外部影响矫正后得到的预测新的不确定性是基于原不确定性和外部环境不确定性得到的预测
通过测量来细化估计值
我们可能有好几个传感器,它们一起提供有关系统状态的信息。传感器的作用不是我们关心的重点,它可以读取位置,可以读取速度,重点是,它能告诉我们关于状态的间接信息——它是状态下产生的一组读数。





,读数的分布均值设为
。现在我们得到了两块高斯分布,一块围绕预测的均值,另一块围绕传感器读数。
,这两种方法预测的状态都有可能是准的,也都有可能是不准的。重点是我们怎么找到这两个准确率。最简单的方法是两者相乘:

事实证明,当你把两个高斯分布和它们各自的均值和协方差矩阵相乘时,你会得到一个拥有独立均值和协方差矩阵的新高斯分布。最后剩下的问题就不难解决了:我们必须有一个公式来从旧的参数中获取这些新参数!
结合高斯
两条高斯曲线相乘




就是我们说的卡尔曼增益结合在一起截至目前,我们有用矩阵
预测的分布,有用传感器读数
预测的分布。把它们代入上节的矩阵等式中:

考虑到
里还包含着一个
,我们再精简一下上式

最后,
是我们的最佳估计值,我们可以把它继续放进去做另一轮预测

4 代码实现
In [9]import matplotlib.pyplot as plt# 模拟数据t = np.linspace(1,100,100)# print(t)a = 0.5position = (a * t**2)/2# print(position)position_noise = position+np.random.normal(0,120,size=(t.shape[0])) plt.plot(t,position,label='truth position') # 原值plt.plot(t,position_noise,label='only use measured position') # 加入噪声的值# 初始的估计的位置就直接用GPS测量的位置predicts = [position_noise[0]]position_predict = predicts[0]predict_var = 0odo_var = 120**2 #这是我们自己设定的位置测量仪器的方差,越大则测量值占比越低v_std = 50 # 测量仪器的方差for i in range(1,t.shape[0]): dv = (position[i]-position[i-1]) + np.random.normal(0,50) # 模拟从惯性测量单元IMU读取出的速度 position_predict = position_predict + dv # 利用上个时刻的位置和速度预测当前位置 predict_var += v_std**2 # 更新预测数据的方差 # 下面是Kalman滤波 position_predict = position_predict*odo_var/(predict_var + odo_var)+position_noise[i]*predict_var/(predict_var + odo_var) predict_var = (predict_var * odo_var)/(predict_var + odo_var)**2 predicts.append(position_predict) plt.plot(t,predicts,label='kalman filtered position') # 滤波后的值plt.legend()plt.show()# 卡尔曼滤波将噪声值(橙色线),滤波后(绿色线),尽量去拟合原值(蓝色线)登录后复制
登录后复制
游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。
同类文章
AI语言模型纽约街头实测:哥本哈根大学研究揭示人机交互安全挑战
这项由哥本哈根大学、IIIT兰契、ISI加尔各答、NIT安得拉邦、IGDTUW、IIT卡拉格普尔、谷歌DeepMind、谷歌以及南卡罗来纳大学AI研究所联合开展的研究,以预印本形式于2026年4月10日发布,论文编号为arXiv:2604 09746。 人工智能助手的能力日益强大,从撰写报告到规划行
字节跳动GRN模型革新AI绘画实现边生成边修改新方法
在探讨AI图像与视频生成技术时,我们通常会想到扩散模型——它如同修复一张被雨水浸湿的照片,通过反复“去噪”从混沌中逐步显现清晰画面。尽管这种方法效果显著,却存在一个根本的效率瓶颈:无论生成内容的复杂程度如何,模型都需要执行固定且繁重的计算步骤,无法智能地分配算力资源。 另一条主流技术路径是自回归模型
斯坦福AI诊断师可自我评估短板并针对性优化
这项由斯坦福大学主导的研究以预印本形式于2026年4月发表,论文编号为arXiv:2604 05336v1。研究提出了一个名为TRACE的系统,全称是“Turning Recurrent Agent failures into Capability-targeted training Environ
Meta AI新研究揭示旧数据复用如何提升40%训练效率
一项由Meta基础人工智能研究团队与纽约大学柯朗研究所联合开展的研究,于2026年4月9日以预印本形式发布,论文编号为arXiv:2604 08706v1。这项研究颠覆了AI训练领域一个长期被视为“金科玉律”的常识。 一、一个反直觉的发现:旧数据“回炉重造”,效果更佳? 在AI模型训练中,数据如同食
AI能否记住你?Kenotic Labs评估体系重新定义人工智能记忆边界
这项由Kenotic Labs开发的研究成果发表于2026年4月的第39届神经信息处理系统大会(NeurIPS 2025),论文编号为arXiv:2604 06710v1。 不知道你有没有过这样的体验:和一位朋友促膝长谈,分享了近期的压力、生活的变动,甚至一些私密的感受。可下次见面,对方却仿佛失忆了
- 日榜
- 周榜
- 月榜
1
2
3
4
5
6
7
8
9
10
相关攻略
2015-03-10 11:25
2015-03-10 11:05
2021-08-04 13:30
2015-03-10 11:22
2015-03-10 12:39
2022-05-16 18:57
2025-05-23 13:43
2025-05-23 14:01
热门教程
- 游戏攻略
- 安卓教程
- 苹果教程
- 电脑教程
热门话题

