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

时间:2014-11-11 09:55:44

标签: opencv probability kalman-filter video-tracking

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

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

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

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

2 个答案:

答案 0 :(得分:1)

最可能的一点(我猜测来自检测)将是滤波器预测的最近点。

答案 1 :(得分:1)

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

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

数学方法是马哈拉诺比斯距离,它直接将上面的几何表示形成为距离。距离刻度是标准偏差,因此您的P = 0.5对应于0.67的距离(再次,如果这是令人惊讶的,请参见正态分布)。