神奇的卡尔曼滤波,行人追踪的福音
前言
卡尔曼滤波算法由匈牙利数学家Kalman提出,主要基于线性系统提出。这里我们将其用于行人跟踪,并对其基本原理进行介绍。
神奇的卡尔曼滤波,行人追踪的福音
前言
1.背景知识
1.1 时间序列模型
1.2. 滤波
1.3. 线性动态系统
2.卡尔曼滤波理论知识
2.1 状态序列的预测
1.背景知识
1.1 时间序列模型
时间序列模型都可以用如下示意图表示:
这个模型包含两个序列,一个是黄色部分的状态序列,用X表示,一个是绿色部分的观测序列(又叫测量序列、证据序列、观察序列,不同的书籍有不同的叫法,在这里统一叫观测序列。)用Y表示。状态序列反应了系统的真实状态,一般不能被直接观测,即使被直接观测也会引进噪声;观测序列是通过测量得到的数据,它与状态序列之间有规律性的联系。
上面序列中,假设初始时间为, 则,是时刻的状态值和观测值,,是时刻的状态值和观测值...,即随着时间的流逝,序列从左向右逐渐展开。
常见的时间序列模型主要包括三个:隐尔马尔科夫模型,卡尔曼滤波,粒子滤波。
1.2. 滤波
时间序列模型中包括预测和滤波两步
- 预测:指用当前和过去的数据来求取未来的数据。对应上述序列图中,则是利用时刻,的值,估计时刻值。
- 滤波:是用当前和过去的数据来求取当前的数据。对应上述序列图中,则是先通过上一步的预测步骤得到的一个预测值,再利用时刻的值对这个预测值进行纠正,得到最终的估计值。(通俗讲,就是通过预测一个值, 通过传感器测量一个值, 将两者进行融合得到最终的值)
1.3. 线性动态系统
卡尔曼滤波又称为基于高斯过程的线性动态系统(Linear Dynamic System, LDS)。
· 这里的高斯是指:状态变量和观测变量都符合高斯分布;(为什么是高斯分布?因为卡尔曼滤波估计的结果是一个概率,概率不是一个固定的值,而是一个范围,而这个范围符合高斯分布。)
· 这里的线性是指:可以通过线性表示,可以通过线性表示;
如果用数学表达式来表达这两层含义如下:
上面表达式中F是一个矩阵,常称作状态转移矩阵,保证了和的线性关系(线性代数中,矩阵就是线性变换);常称作噪声,其服从均值为0,方差为Q的高斯分布,保证了服从高斯分布(因为高斯分布加上一个常数后依然是高斯分布)。
同样的关于和,也可以得到如下表示, 其中矩阵H称作状态空间到观测空间的映射矩阵, rtrt称作噪声,其服从高斯分布:
2.卡尔曼滤波理论知识
2.1 状态序列的预测
在时间序列模型图中,这一步表示的是, 在预测序列中,从到的预测步骤。
需要用到的变量含义如下:
- :状态变量
- : 状态变量的协方差矩阵
- :状态转移矩阵
- :控制矩阵
- :控制向量
- : 状态变量的噪声矩阵
- :协方差矩阵的噪声矩阵
数学表达式如下:
未完待续...