opencv跟踪

 

卡尔曼滤波器

卡尔曼滤波的基本思想是,在一个强而合理的假设条件下,有可能——给定系统历史测量情况下——为系统的当前状态建立模型,使模型的后验概率最大化

输入和输出

卡尔曼滤波是一个估计器,意味着它可以帮助我们整合关于系统状态的信息,关于系统动态的信息以及系统运行时通过观察学到的消息

卡尔曼滤波器只能在状态中可以用向量或矩阵表示的系统上帮助我们,向量代表每个自由度上的当前值,矩阵代表每个自由度上的不确定性

卡尔曼滤波器所需的假设

在卡尔曼滤波器的理论构建中需要三个重要假设:

  1. 建模的系统时线性的(意味着状态可以表示为向量,下一时刻的状态可以表示为此刻状态乘以一些矩阵
  2. 测量的噪声是白噪声(意味着系统中任何噪声在时间上都不相关,且幅值可以仅用平均和协方差来精确建模
  3. 这个噪声本质是高斯的

“给出先前测量值后,最大化后验概率”

信息融合

测量中存在高斯不确定性

新的测量值对原始平均值和标准偏差起到修正作用

动态系统

考虑实际测量中目标移动的情况,在卡尔曼滤波的背景下考虑三种运动

  1. 动态运动:预计的最后一次测量系统状态的直接结果(t+dt时的速度仍为t时的v)
  2. 控制运动:估计一个受控系统的状态时,知道我们的控制会使系统产生什么运动
  3. 随机运动:假设该随机运动可以建模为高斯

首先进行“更新”以便将动态变化包含进仿真模型中,根据其先前的状态在仿真模型中融入所有有关目标的运动信息,然后融入我们自己在系统上已经采取或从另一外部代理程序产生的关于运动产生的任何附加信息,最后融合我们估计的可能改变系统状态的随机事件,最后融合下一个新的测量值