Пользовательская модель оценки движения для фильтра Калмана в MATLAB

Я пытался применить функцию multiObjectTracking() из этого пример к некоторым видеороликам о движении насекомых на 2D-поверхности.

В связанном примере фильтр Калмана используется для оценки движения отслеживаемых объектов, если они теряются на несколько кадров из-за перекрытия переднего плана. Фильтр настроен с использованием метода configureKalmanFilter() с использованием модели «Постоянная скорость» для оценки движения. В качестве альтернативы его можно вызвать с помощью модели «Постоянное ускорение».

Мой вопрос: как мне настроить пользовательскую модель для оценки движения в моем фильтре Калмана?

Основная причина потери следов в моих кадрах — это когда животное останавливается на несколько кадров, а затем снова начинает идти, возможно, в другом направлении. Поэтому я хотел бы реализовать модель «без скорости» (так сказать), которая предполагает, что потерянный объект просто остался в своем последнем известном местоположении, пока его снова не подберут.


person Dominic Clarke    schedule 21.05.2015    source источник


Ответы (1)


Вы можете создать объект vision.KalmanFilter напрямую, без используя функцию configureKalmanFilter. В этом случае вы можете передать пользовательскую матрицу перехода состояний. Однако, поскольку это обычный фильтр Калмана (не расширенный и не ароматизированный), переход состояния должен быть линейным. Поэтому я не уверен, какую другую модель движения вы можете разумно использовать, кроме постоянной скорости или постоянного ускорения.

person Dima    schedule 04.08.2015