关于使用卡尔曼滤波器跟踪移动球的问题

Joh*_*ohn 7 tracking filter computer-vision kalman-filter

我想学习使用卡尔曼滤波器跟踪移动的球.虽然有很多教程可用,但我仍然有一些问题.

  1. 如果我们可以在视频序列的每个帧中提取球,我们将知道球的位置.那么,为什么我们需要再使用卡尔曼装?卡尔曼滤波器的工作是什么?

  2. 卡尔曼滤波器:x(k + 1)= Ax(k)+ Bu(k)+噪声

                  y(k) = C.x(k) + noise
    
    Run Code Online (Sandbox Code Playgroud)

那么,我们如何定义A,B,C?假设我们想跟踪移动球?

3.如果我们知道先前的状态x(k-1)和当前状态y(k)的测量,我们可以计算估计的状态.在跟踪移动球的情况下,"测量"是什么?

flo*_*hge 8

基本上你使用跟踪方法来跟踪场景中的球.你仍然需要在每个时间步中检测到球.

(1)

假设你到达另一个球进入场景的地步.所以你需要找到一种识别每个球的方法.让它变得更糟,甚至让它们相互交叉或在可能隐藏球的方式上有障碍物.

然后,您的跟踪方法(即卡尔曼滤波器)将根据球之前的移动方式继续在估计的轨迹上移动.

因此,如果您只是想知道每个帧中的球在哪里,您不需要跟踪方法,但如果您想要识别并跟随一个球,您需要一个跟踪器,即卡尔曼滤波器或用于多目标跟踪我更喜欢粒子滤镜(http://en.wikipedia.org/wiki/Particle_Filter).

(2)

现在不能帮助你,因为我现在对卡尔曼滤波器并不太远.但基本上A应该是从步骤x(t-1)到x(t)的转换矩阵,B应该是参考模型.但正如我所说,如果你可能得到不止一个球,你可能想看一下粒子滤波器.

(3)

测量值将是您在图像上测量的位置.基本上是你的球的中点.您将使用此度量来更正估计的路径.所以基本上你比较球应该在当前时间步长(取决于它的前动作)与它的实际位置.

我希望有帮助......如果没有,请继续问......