卡尔曼滤波介绍

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

一、背景介绍:

    卡尔曼滤波无论是在单目标还是多目标领域都是很常用的一种算法,将卡尔曼滤波看作一种运动模型,用来对目标的位置进行预测,并且利用预测结果对跟踪的目标进行修正,属于自动控制理论中的一种方法。

    在对视频中的目标进行跟踪时,当目标运动速度较慢时,很容易前后两帧的目标进行关联,如下:

卡尔曼滤波,Deep Learning,学习,人工智能

    如果目标运动速度比较快,或者进行隔帧检测时,在后续帧中,目标A已运动到前一帧B所在的位置,这时再进行关联就会得到错误的结果,将A(new)和B关联在一起。

 

卡尔曼滤波,Deep Learning,学习,人工智能

    为了解决这个问题,就可以利用卡尔曼滤波,用卡尔曼滤波来预测下一帧A和B可能出现的位置,然后进行距离计算。

    

卡尔曼滤波,Deep Learning,学习,人工智能

 二、原理介绍:

    滤波器根据上一时刻(k-1 时刻 ) 的值来估计当前时刻(k时刻 ) 的状态,得到 k 时刻的先验估计值 ; 然后使 用当前时刻的测量值来更正这个估计值,得到当前时刻的估计值。  
    假设有一辆小车在行使,它的速度是v,可以通过观测得到它的位置是p。(有对应的观测方程或者仪器)

    在某一时刻小车的状态可以表示为一个向量:

                                                   

卡尔曼滤波,Deep Learning,学习,人工智能

    虽然此时小车的状态比较可信,但无论是计算还是检测都会存在一定的误差,所以我们只能认为当前状态是其真实状态的一个最优估计。

    为了解释,我们不妨认为当前的状态服从高斯分布,且状态位于分布中心μ处:

卡尔曼滤波,Deep Learning,学习,人工智能

    可以用一个协方差矩阵Pk来表示数据之间的相关性和离散程度:(对角线上是变量自身的方差,其余是不同变量之间的协方差)

                                                 

卡尔曼滤波,Deep Learning,学习,人工智能

  预测下一刻的状态:

  ①小车做匀速运动

    通过k-1时刻的位置和速度,可以预测下一个时刻的状态为:

                                                

卡尔曼滤波,Deep Learning,学习,人工智能

    写成矩阵的形式:                     

                                       

卡尔曼滤波,Deep Learning,学习,人工智能

    此处的Fk就是状态转移矩阵。

②小车做匀加速或者匀减速运动:

    那么下一时刻的状态为:

                                   

卡尔曼滤波,Deep Learning,学习,人工智能

    写成矩阵的形式:

                                        

卡尔曼滤波,Deep Learning,学习,人工智能

    其中,Bk是状态控制矩阵,uk-1是状态控制向量。很明显,前者表明的是加速减速如何改变小车的状态,而后者则表明控制的力度大小和方向。

    考虑系统的外部影响:

    外界有很多影响因素能够对小车的状态产生影响,比如风速、地面摩擦等等,在这里我们假设外部的不确定因素对小车造成的系统状态误差wk服从高斯分布。于是卡尔曼滤波中完整的状态预测方程更新如下:

                                     

卡尔曼滤波,Deep Learning,学习,人工智能

    以上是预测方程的推理,下面我们来推理观测方程:

    小车当前的状态和小车传感器上测量出来的结果应该具备某种特定的关系,假设这个关系通过矩阵表示为H,如下图在k时刻所示:

卡尔曼滤波,Deep Learning,学习,人工智能

    这是传感器测量出来的结果,H是一个关系矩阵,vk是传感器传来的测量噪声(大小不可测)

                                         

卡尔曼滤波,Deep Learning,学习,人工智能

    这就是卡尔曼滤波的观测方程。

    于是我们从预测方程和观测方程拿到了两组Xk:

卡尔曼滤波,Deep Learning,学习,人工智能卡尔曼滤波,Deep Learning,学习,人工智能

    并且得到卡尔曼滤波器公式:

                                    

卡尔曼滤波,Deep Learning,学习,人工智能

 

    其中,G是卡尔曼增益。G=1就是完全相信观测的结果。G=0就是完全相信预测出来的结果。

    我们要做的就是取一个k值,让两者加权平均出来一个相对来说方差小的结果,来作为计算出来最接近真实值的结果。

    用文字来描述就是:

 1.卡尔曼增益 = ( 当前估计协方差的平方 / ( 当前估计协方差的平方 + 当前测量方差的平方))

 2.真实结果 = 估计值 + 卡尔曼增益 * ( 测量值 - 估计值) 文章来源地址https://www.toymoban.com/news/detail-621066.html

三、卡尔曼滤波总结

    总的来说卡尔曼滤波需要做的最重要的最核心的事就是融合预测和观测的结果,充分利用两者的不确定性来得到更加准确的估计。通俗来说就是怎么得到交集的高斯分布,看起来这是预测和观测高斯分布的重合部分,也就是概率比较高的部分。卡尔曼滤波器通过预测目标在后续帧中的位置,避免在进行目标关联时出现误差

到了这里,关于卡尔曼滤波介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【状态估计】卡尔曼滤波器、扩展卡尔曼滤波器、双卡尔曼滤波器和平方根卡尔曼滤波器研究(Matlab代码实现)

    💥💥💞💞 欢迎来到本博客 ❤️❤️💥💥 🏆博主优势: 🌞🌞🌞 博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️ 座右铭: 行百里者,半于九十。 📋📋📋 本文目录如下: 🎁🎁🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 本文包括

    2024年02月08日
    浏览(44)
  • 卡尔曼滤波(KF)和扩展卡尔曼滤波(EKF)相应推导

    从上个世纪卡尔曼滤波理论被提出,卡尔曼滤波在控制论与信息论的连接上做出了卓越的贡献。为了得出准确的下一时刻状态真值,我们常常使用卡尔曼滤波、扩展卡尔曼滤波、无迹卡尔曼滤波、粒子滤波等等方法,这些方法在姿态解算、轨迹规划等方面有着很多用途。卡尔

    2024年02月03日
    浏览(63)
  • 基于卡尔曼滤波的视频跟踪,基于卡尔曼滤波的运动小球跟踪

    完整代码和数据下载链接:基于卡尔曼滤波的视频跟踪,基于卡尔曼滤波的运动小球跟踪(代码完整,数据齐全)资源-CSDN文库 https://download.csdn.net/download/abc991835105/88738577 卡尔曼滤波原理 RBF的定义 RBF理论 易错及常见问题 RBF应用实例,基于rbf的空调功率预测 代码 结果分析

    2024年02月02日
    浏览(47)
  • 卡尔曼滤波理论小释之卡尔曼增益

    卡尔曼增益是卡尔曼滤波理论中的一个核心概念。一般教材里面是这么给出它的公式的: 图1  卡尔曼增益 直觉上容易理解,所谓的增益是指每次融合数据后不确定性的变化程度。如果融合了新的数据后不确定性降低了,那么这个增益就是正面的,有助于提高预测的准确度。

    2024年02月05日
    浏览(83)
  • 卡尔曼滤波器-概述及用递归思想解读卡尔曼滤波器 | 卡尔曼滤波器应用举例(附Matlab程序)| 数学基础-数据融合、协方差矩阵、状态空间方程

      卡尔曼滤波器是最优化的(Optimal)、递归的(Recursive)、数字处理的(Data Processing)算法(Algorithm)。卡尔曼滤波器更像是观测器,而不是一般意义上的滤波器,应用广泛,尤其是在导航中,它的广泛应用是因为生活中存在大量的不确定性。   当描述一个系统的不确

    2024年02月06日
    浏览(54)
  • 卡尔曼滤波系列_实例(二)均加速运动的卡尔曼滤波

    此系列(一)对卡尔曼滤波的原理进行了简单的阐述,总结了卡尔曼滤波的两大过程:预测和更新。接下来举例对卡尔曼滤波的使用进行介绍,加深对卡尔曼滤波的理解。 1.场景介绍 如上图所示,可知小车的初始速度为0,初始位置也为0,小车向前的加速度为1,小车感知自身

    2024年02月15日
    浏览(37)
  • 【算法系列】卡尔曼滤波算法

    ·【算法系列】卡尔曼滤波算法 ·【算法系列】非线性最小二乘求解-直接求解法 ·【算法系列】非线性最小二乘求解-梯度下降法 ·【算法系列】非线性最小二乘-高斯牛顿法  ·【算法系列】非线性最小二乘-列文伯格马夸尔和狗腿算法  文章目录 系列文章 文章目录 前言 一、

    2024年02月12日
    浏览(39)
  • 卡尔曼滤波器简介——概述

    关于卡尔曼滤波器         大多数现代系统都有许多传感器,可以根据一系列测量来估计隐藏(未知)状态。例如,GPS接收器提供位置和速度估计,其中位置和速度是隐藏状态,卫星信号到达的差分时间是测量值。         跟踪和控制系统的最大挑战之一是在存在不确

    2024年02月01日
    浏览(70)
  • 卡尔曼滤波算法原理及示例

      例程:物体做匀速运动每秒运动1m,观测器观测方差为1m

    2024年02月15日
    浏览(40)
  • 卡尔曼滤波的Python实现

    为了在Python编程环境下实现卡尔曼滤波算法,特编写此程序 主要用到了以下3个模块 numpy(数学计算) pandas(读取数据) matplotlib(画图展示) 代码的核心是实现了一个Kf_Params类,该类定义了卡尔曼滤波算法的相关参数 然后是实现了一个kf_init()函数,用来初始化卡尔曼滤波算

    2024年02月12日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包