【问题标题】:Question on tracking a moving ball using Kalman filter关于使用卡尔曼滤波器跟踪运动球的问题
【发布时间】:2011-06-10 10:44:01
【问题描述】:

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

  1. 如果我们能在视频序列的每一帧中提取球,我们就知道球的位置。那么,为什么我们还需要使用卡尔曼滤波器呢?卡尔曼滤波器在这里的作用是什么?

  2. 卡尔曼滤波器:x(k+1) = A.x(k) + B.u(k) + 噪声

                  y(k) = C.x(k) + noise
    

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

3 .如果我们知道先前状态 x(k-1) 和当前状态 y(k) 的测量值,我们可以计算估计状态。追踪移动球时的“测量”是什么?

【问题讨论】:

    标签: filter tracking computer-vision kalman-filter


    【解决方案1】:

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

    (1)

    假设您到达一个点,另一个球进入场景。所以你需要找到一种方法来识别每个球。让情况变得更糟,甚至让他们相互交叉或在路上设置障碍物,这可能会暂时隐藏球。

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

    因此,如果您只想知道球在每一帧中的位置,则不需要跟踪方法,但如果您想识别并跟踪一个球,则需要一个跟踪器,即卡尔曼滤波器或多- 对象跟踪我更喜欢粒子过滤器 (http://en.wikipedia.org/wiki/Particle_Filter)。

    (2)

    现在无法帮助您,因为我现在对卡尔曼滤波器还不太了解。 但基本上 A 应该是从步骤 x(t-1) 到 x(t) 的转移矩阵,B 应该是参考模型。但正如我所说,如果你可能得到多个球,你可能想看看粒子过滤器。

    (3)

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

    希望对您有所帮助...如果没有,请继续询问...

    【讨论】:

      【解决方案2】:

      我会一一回答你的问题。

      1. 卡尔曼滤波器仅用于估计,意味着减少错误。当你只是跟踪单个目标时,比如一个球,如果你能确定球在每一帧图像中的位置,我认为没有必要使用卡尔曼滤波器。但是,在多目标跟踪中,如果需要在连续两帧中匹配同一个目标,使用卡尔曼滤波器可以减少错误。

      2. 关于卡尔曼滤波的原理,我不是很清楚。

      3. 我认为“测量”是对当前帧中移动目标的检测。检测到的参数包括目标的质心位置和轮廓大小。

      这是我个人的看法。如有错误,望指正。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-02-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-21
        • 1970-01-01
        相关资源
        最近更新 更多