Pracuję nad projektem śledzenia obiektów i chcę poprawić wyniki uzyskując filtr Kalmana.Matryca przejściowa KalmanFilter (6,2,0)
Znalazłem wiele przykładów w Internecie, które działają, ale naprawdę chcę zrozumieć, co kryje się za tym.
Używanie OpenCV, tutaj jest część kodu:
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);
Ten daje gładsze wyniki niż Filtr Kalmana (4,2,0), ale ja naprawdę nie rozumiem dlaczego. Czy ktoś może mi wyjaśnić, co kryje się za tą macierzą przejścia (6,6)?
EDIT: Rozwiązanie jest prawdopodobnie here ale oczywiście nie jestem wystarczająco dobry, aby znaleźć to sam ...
Dziękuję za pomoc.
Dzięki, wymyśliłem ten sam wniosek. – Thibel