卡尔曼滤波器 3D 实现



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

初始化的语法为:

KalmanFilter::KalmanFilter ( int dynamParams, int measureParams, int 控件参数 = 0,int 类型 = CV_32F )

就我而言,dynamParams = 9measureParams = 3 吗?

在我的情况下,过渡矩阵是什么?

在这种情况下,转换矩阵 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

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

最新更新