如何从卡尔曼滤波器估计部分状态的概率?

Posted

技术标签:

【中文标题】如何从卡尔曼滤波器估计部分状态的概率?【英文标题】:How can I estimate the probability of a partial state from a Kalman filter? 【发布时间】:2014-11-11 09:55:43 【问题描述】:

我有一个跟踪点的卡尔曼滤波器,带有一个状态向量 (x, y, dx/dt, dy/dt)。

在给定的更新中,我有一组可能对应于跟踪点的候选点。我想遍历这些候选并选择最有可能对应于跟踪点的一个,但前提是该点对应于跟踪点的概率大于阈值(例如 p > 0.5)。

因此我需要使用滤波器的协方差和状态矩阵来估计这个概率。我该怎么做?

另外,请注意我的状态向量是四维的,但测量值是二维的 (x, y)。

【问题讨论】:

【参考方案1】:

当您使用y = Hx 预测测量值时,您还将y 的协方差计算为H*P*H.T。这个属性就是我们在卡尔曼滤波器中使用方差的原因。

了解给定点与预测点之间的距离的几何方法是误差椭圆置信区域。 95% 置信区域是缩放到 2*sigma 的椭圆(如果这不直观,您应该阅读正态分布,因为这是 KF 认为它正在研究的内容)。如果协方差是对角的,则误差椭圆将是轴对齐的。如果有共同变化的术语(如果您没有通过QR 在任何地方介绍它们,则可能没有),则椭圆将倾斜。

数学方法是用马氏距离,它只是将上面的几何表示直接公式化为距离。距离尺度是标准差,因此您的 P=0.5 对应于 0.67 的距离(如果这令人惊讶,请再次查看正态分布)。

【讨论】:

【参考方案2】:

最可能的点(我想来自检测)将是过滤预测的最近点。

【讨论】:

确实会 - 但是我们如何确定该点是否在特定的置信区间内?是否只是两个轴上的 T 检验? 您有协方差矩阵和坐标之间的差异,因此您可以找到马氏距离并将其用作置信度度量。如果你想要可能性,那么用你拥有的协方差矩阵将你新检测到的点替换为以预测点为中心的高斯。

以上是关于如何从卡尔曼滤波器估计部分状态的概率?的主要内容,如果未能解决你的问题,请参考以下文章

Matlab:如何在卡尔曼滤波器状态估计后模拟模型

如何使用 R 中的 DSE 包模拟卡尔曼滤波器的后验滤波估计

技术分享 | 运动状态估计之卡尔曼滤波详解

滤波估计基于matlab双卡尔曼滤波SOC和SOH联合估计含Matlab源码 2335期

使用卡尔曼滤波器估计误差

翻译: 使用非线性卡尔曼滤波来估计信号