В случае, если вы можете найти мяч точно в каждом кадре, вам не нужен фильтр Калмана.То, что вы нашли какой-то блог, который, скорее всего, является мячом, не означает, что центр этого шарика будет идеальным центром шара.Думайте об этом как об ошибке измерения.Кроме того, если вы выбрали неправильный блог, использование фильтра Калмана поможет вам не доверять этому неправильному измерению.Как вы сказали ранее, если вы не можете найти мяч в кадре, вы также можете использовать фильтр, чтобы оценить, где он может быть.
Вот некоторые из матриц, которые вам понадобятся, и я думаю, что они будут для вас.Поскольку положение мяча по осям x и y не зависит, я думаю, что проще иметь два фильтра, по одному для каждого.Оба будут выглядеть примерно так:
x = [position;скорость] // Это выход фильтра P = [1, 0;0, 1] // Это неопределенность оценки, я не совсем уверен, с чего вам начинать, но она сойдет после того, как фильтр запустится.F = [1, дт;0,1], когда вы делаете x * F, это будет предсказывать следующее местоположение мяча.Обратите внимание, что это предполагает, что мяч продолжает двигаться с той же скоростью, что и раньше, и просто обновляет позицию.Q = [0,0;0, vSigma ^ 2] Это «шум процесса».Это одна из матриц, которые вы настраиваете, чтобы сделать фильтр преформ хорошо.В вашей системе скорость может измениться в любое время, но положение никогда не изменится, если скорость не изменила ее.Это смущает.Значение должно быть стандартным отклонением того, какими могут быть эти изменения скорости.z = [позиция в x или y] Это ваше измерение H = [1,0;0,0] Это то, как ваши измерения применяются к вашему текущему состоянию.Поскольку вы измеряете только позицию, у вас есть только 1 в первом ряду.R = [?] Я думаю, вам понадобится только скаляр для R, что является ошибкой в ваших измерениях.
С этими матрицами вы сможете подключить их к формулам, которые есть везде для фильтров Калмана.
Несколько полезных вещей для чтения: Демонстрация фильтрации по Калману Еще одна отличная статья, прочитайте страницу, на которую ссылается третий абзац