【问题标题】:Kalman filter 3D implementation卡尔曼滤波器 3D 实现
【发布时间】:2016-02-11 13:06:53
【问题描述】:

我想在 OpenCV 中为 r3(X、Y、Z 坐标)中的移动对象实现卡尔曼滤波器。 我试图理解OpenCV documentation 但这真的没有帮助而且非常罕见。

初始化的语法是:

KalmanFilter::KalmanFilter ( int dynamParams, int measureParams, int controlParams = 0, int type = CV_32F)

就我而言,是 dynamParams = 9measureParams=3

就我而言,transitionMatrix 是什么?

【问题讨论】:

    标签: opencv kalman-filter


    【解决方案1】:

    在这种情况下,转换矩阵 A 看起来像:

    A = [1, 0, 0, v, 0, 0, a, 0, 0;
         0, 1, 0, 0, v, 0, 0, a, 0;
         0, 0, 1, 0, 0, v, 0, 0, a;
         0, 0, 0, 1, 0, 0, v, 0, 0;
         0, 0, 0, 0, 1, 0, 0, v, 0;
         0, 0, 0, 0, 0, 1, 0, 0, v;
         0, 0, 0, 0, 0, 0, 1, 0, 0;
         0, 0, 0, 0, 0, 0, 0, 1, 0;
         0, 0, 0, 0, 0, 0, 0, 0, 1]
    

    v = dt
    a = 0.5*dt^2
    

    http://campar.in.tum.de/Chair/KalmanFilter

    【讨论】:

      【解决方案2】:

      我发现,对于 3D 案例,通常使用位置、速度和加速度。这意味着,对于 OpenCV 实现 dynamParams=9 和 measureParams=3 是正确的。

      【讨论】:

        猜你喜欢
        • 2017-08-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-02
        • 1970-01-01
        • 1970-01-01
        • 2011-04-14
        • 1970-01-01
        相关资源
        最近更新 更多