Tôi đang làm việc trên dự án theo dõi đối tượng và tôi muốn cải thiện kết quả tôi đang sử dụng bộ lọc Kalman.Ma trận chuyển tiếp KalmanFilter (6,2,0)
Tôi đã tìm thấy rất nhiều ví dụ trên internet đang hoạt động nhưng tôi thực sự muốn hiểu những gì đằng sau nó.
Sử dụng OpenCV, đây là một phần của mã:
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);
Cái này cho kết quả mượt mà hơn một Bộ lọc Kalman (4,2,0) nhưng tôi không thực sự hiểu tại sao. Ai đó có thể giải thích cho tôi điều gì đằng sau ma trận chuyển tiếp này (6,6) không?
EDIT: Giải pháp có lẽ here nhưng rõ ràng là tôi không đủ tốt để tìm thấy nó bằng bản thân mình ...
Cảm ơn bạn đã giúp đỡ của bạn.
Cảm ơn, tôi đã đưa ra kết luận tương tự. – Thibel