Создайте фильтр Калмана для отслеживания объектов
возвращает kalmanFilter = configureKalmanFilter(MotionModel,InitialLocation,InitialEstimateError,MotionNoise,MeasurementNoise)vision.KalmanFilter объект настроен для отслеживания физического объекта. Этот объект перемещается с постоянной скоростью или постоянным ускорением в M -мерном Декартовом пространстве. Функция определяет количество размерностей, M, из длины InitialLocation вектор.
Эта функция обеспечивает простой подход для настройки vision.KalmanFilter объект для отслеживания физического объекта в Декартовой системе координат. Отслеживаемый объект может перемещаться либо с постоянной скоростью, либо с постоянным ускорением. Статистика одинаковая по всем размерностям. Если вам нужно сконфигурировать фильтр Калмана с различными предположениями, используйте vision.KalmanFilter объект непосредственно.
Эта функция обеспечивает простой подход для настройки зрения. Объект KalmanFilter для отслеживания. Фильтр Калмана реализует дискретное время, линейную Систему в пространстве состояний. configureKalmanFilter функция устанавливает vision.KalmanFilter свойства объекта.
The InitialLocation свойство соответствует вектору измерения, используемому в модели пространства состояний фильтра Калмана. Эта таблица M связывает вектор измерения с моделью пространства состояний для фильтра Калмана. | ||
| Модель перехода состояния, A и модель Измерения, H | ||
Модель перехода между состояниями, A и модель измерения, H модели пространства состояний, установлены, чтобы блокировать диагональные матрицы, сделанные из M одинаковых подматриц A s и H s, соответственно: A = H = | ||
| Подматрицы A s и H s описаны ниже: | ||
| MotionModel | A s | H s |
'ConstantVelocity' | [1 1; 0 1] | [1 0] |
'ConstantAcceleration' | [1 1 0.5; 0 1 1; 0 0 1] | [1 0 0] |
| Начальное состояние, x: | ||
| MotionModel | Начальное состояние, x | |
'ConstantVelocity' | [InitialLocation(1), 0..., InitialLocation(<reservedrangesplaceholder0>) , 0] | |
'ConstantAcceleration' | [InitialLocation(1), 0, 0..., InitialLocation(<reservedrangesplaceholder0>) , 0, 0] | |
| Начальное состояние ошибки расчета ковариации матрицу, P: | ||
P = diag(repmat(InitialError, [1, M])) | ||
| Ковариация шума процесса, Q: | ||
Q = diag(repmat(MotionNoise, [1, M])) | ||
| Измерение измерительного шума, R: | ||
R = diag(repmat(MeasurementNoise, [1, M])). | ||