Можно ли измерить только некоторые параметры фильтра Калмана из этих, выбранных в KalmanMesurementMatrix? - PullRequest
0 голосов
/ 20 марта 2019

Я работаю с OpenCV KalmanFilter, и я новичок в этой проблеме.До сих пор я знаю, что с помощью KalmanMesurementMatrix я могу указать, какие параметры я могу измерить, а какие нет.

У меня сейчас проблема в том, что я могу измерить координаты x и y и dx и dy, что означаетразница, что-л.как скорость между кадрами, но иногда у меня нет информации о координатах x, y, и у меня есть только информация о dx и dy (это происходит в большинстве случаев).

моя матрица перехода :

np.array([
    [1, 0, 1, 0],
    [0, 1, 0, 1],
    [0, 0, 1, 0],
    [0, 0, 0, 1]
], np.float32)

и матрица измерений :

np.array([
    [1, 0, 0, 0],
    [0, 1, 0, 0],
    [0, 0, 1, 0],
    [0, 0, 0, 1]
], np.float32) 

1) Есть ли возможность просто обновить "выбранные" параметры или нет?Я пытался что-токак это:

[np.float32(coordinates.x)],  # x-coord
[np.float32(coordinates.y)],  # y-coord
[],  # dx
[],  # dy

но это не работает

2) Может быть, я думаю об этом неправильно, я должен удалить параметр координат x, y и придерживаться простоdx, dy и перед обновлением из измерения координат преобразовать его только в dx и dy?

Спасибо, :)


РЕДАКТИРОВАТЬ:

После некоторой фиктивной попытки я понял, что когда я изменяю матрицу измерений на:

np.array([
    [1, 0, 0, 0],
    [0, 1, 0, 0],
    [0, 0, 0, 0],
    [0, 0, 0, 0]
], np.float32) 

, она игнорирует значения, которые я даю измерению dx, dy.Но я не знаю, это законно делать это во время выполнения.И я не знаю, правильно ли построена моя матрица переходов.

Любая помощь приветствуется.

это моя матрица переходов:

np.array([
    [1, 0, 1, 0],
    [0, 1, 0, 1],
    [0, 0, 1, 0],
    [0, 0, 0, 1]
], np.float32)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...