我正在进行一个物体跟踪项目,希望通过使用卡尔曼滤波器来改善结果。我在互联网上找到了很多工作的示例,但我真的想了解背后的原理。
使用opencv,以下是代码的一部分:
这个方法的结果比 KalmanFilter(4,2,0) 更加平滑,但我不太明白为什么。 有人能解释一下这个 (6,6) 转移矩阵背后的原理吗?
编辑:答案可能在这里,但显然我自己找不到...
谢谢你的帮助。
使用opencv,以下是代码的一部分:
KalmanFilter KF(6, 2, 0);
Mat_ state(6, 1);
Mat processNoise(6, 1, CV_32F);
...
KF.statePre.at(0) = mouse_info.x;
KF.statePre.at(1) = mouse_info.y;
KF.statePre.at(2) = 0;
KF.statePre.at(3) = 0;
KF.statePre.at(4) = 0;
KF.statePre.at(5) = 0;
KF.transitionMatrix = *(Mat_(6, 6) << 1,0,1,0,0.5,0, 0,1,0,1,0,0.5, 0,0,1,0,1,0, 0,0,0,1,0,1, 0,0,0,0,1,0, 0,0,0,0,0,1);
KF.measurementMatrix = *(Mat_(2, 6) << 1,0,1,0,0.5,0, 0,1,0,1,0,0.5);
这个方法的结果比 KalmanFilter(4,2,0) 更加平滑,但我不太明白为什么。 有人能解释一下这个 (6,6) 转移矩阵背后的原理吗?
编辑:答案可能在这里,但显然我自己找不到...
谢谢你的帮助。