2013-07-24 25 views
9

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.

Odpowiedz

9

Masz wektor stanu X składający się z 6 komponentów, z których pierwsze dwa są pozycją x i y obiektu; Załóżmy, że inny 4 są ich prędkości i przyspieszeń:

X = [X, Y, v_x, v_y, a_x, a_y] t

W filtrze Kalmana, następny stan, X t + 1 jest równa poprzedniego stanu X t pomnożonej przez macierz transformacji , więc z macierzą transformacji opublikowanej, trzeba:

x t + 1 = X t + v_x t + 0,5 a_x t

Y t + 1 = Y t + v_y t + 0,5 a_y t

v_x t + 1 = v_x t + a_x T

v_y t + 1 = v_t t + a_t t

a_x t + 1 = a_x t

a_y t + 1 = a_y t

Które płyty są rete aproksymacja równań obiektu poruszającego się ze stałym przyspieszeniem, jeśli przedział czasowy między dwoma stanami jest równy 1 (i dlatego sensowne wydaje się przypuszczenie, że pozostałe cztery zmienne to prędkości i przyspieszenia).

Jest to filtr Kalmana, który pozwala na szybsze zmiany w oszacowaniu prędkości, dlatego wprowadza mniejsze opóźnienie niż filtr (4, 2, 0), który wykorzystywałby model stałej prędkości.

+0

Dzięki, wymyśliłem ten sam wniosek. – Thibel