Интуитивное объяснение трекинга с фильтрами Калмана

17

Я был бы очень признателен за интуитивное объяснение (визуального) отслеживания с помощью фильтров Калмана. что я знаю:

Шаг прогнозирования:

  • Динамическое состояние системы : целевое местоположение в момент времени тxtt
  • Измерение : изображение с индексом времени (??) tztt

Основываясь на изображениях / измерениях Я хочу предсказать состояние ? (используя динамическое уравнение) Это правильно?х т1(t1)xt

Как я могу интерпретировать шаг коррекции в эти термины (изображение, местоположение цели)?

matlabit
источник
cs.unc.edu/~welch/media/pdf/kalman_intro.pdf
Андрей Рубштейн

Ответы:

13

Сначала вы должны принять модель движения. Допустим, вы хотите отследить полет мяча по воздуху. Мяч имеет ускорение вниз из-за силы тяжести 9,8 м / с ^ 2. Таким образом, в этом случае модель движения с постоянным ускорением является подходящей.

Согласно этой модели ваше состояние - это положение, скорость и ускорение. Учитывая предыдущее состояние, вы можете легко предсказать следующее состояние.

У вас также есть понятие обнаружения. У вас есть видео о движении мяча, и вам как-то нужно обнаружить шарик в каждом видеокадре (например, с помощью вычитания фона).

Ваши обнаружения шумят. Кроме того, движение шара не совсем соответствует модели постоянного ускорения из-за сопротивления воздуха, ветра, космических лучей и т. Д. Фильтру Калмана нужны две матрицы, описывающие это: одна - ковариация шума измерения (ваша погрешность обнаружения), и один для ковариации шума процесса (как движение шара отклоняется от модели, которую вы указали).

Если вы отслеживаете отдельный объект, тогда фильтр Калмана позволяет сгладить часть шума, а также предсказать, где находится объект, когда обнаружение отсутствует (например, если объект перекрыт). Ниже приведен пример отслеживания отдельного объекта с помощью фильтра Калмана с использованием панели инструментов системы компьютерного зрения для MATLAB.

Если вы отслеживаете несколько объектов, то предсказания фильтра Калмана позволяют вам решить, какое обнаружение идет с каким объектом. Хороший способ сделать это - использовать логарифмическую вероятность обнаружения, учитывая ковариацию ошибок прогноза. Вот пример отслеживания нескольких объектов с помощью фильтра Калмана .

Дима
источник
1
Хороший ответ. Хотя одна заметка. Состоянием являются только положение и скорость
aiao
@aiao, для модели движения с постоянным ускорением ускорение является частью состояния. Для модели с постоянной скоростью это не так.
Дима
7

Этот онлайн-курс очень прост и понятен, и мне он очень хорошо объяснил фильтры Калмана.

Он называется «Программирование роботизированной машины», и в нем говорится о трех методах локализации: локализации Монте-Карло, фильтрах Калмана и фильтрах частиц. В качестве примера он сфокусирован на информации сонара, но объяснение достаточно простое, чтобы вы могли просто заменить «сонар» на «визуальную информацию», и все это все равно имело бы смысл.

Курс полностью бесплатный (сейчас он закончен, поэтому вы не можете активно участвовать, но вы все еще можете посмотреть лекции, которые я предполагаю), преподаваемые профессором Стэнфорда.

Пенелопа
источник
1
Это все еще активно. Вы все еще получаете сертификаты для завершения курсовой работы. Вы по-прежнему можете активно участвовать и получать ответы на свои вопросы на форумах.
Нареш
5

Когда вы делаете визуальное отслеживание, вам нужна модель , которая представляет собой математическое представление реального процесса. Эта модель будет иметь смысл для любых данных, полученных из измерений, будет соединять числа, которые мы вводим, и мы выходим из системы.

Но модель - это упрощение реальности, потому что вы будете использовать меньшее количество параметров. То, что вы не знаете о системе, называется шумом или неопределенностью. Это так же важно, как то, что вы знаете. Поскольку мы не можем описать систему идеально, нам нужны измерения из реального мира, чтобы сказать нам, что происходит с системой, которую мы моделируем.

Кальман - это инструмент для объединения того, что мы оцениваем, с нашей моделью и того, что мы измеряем от мира, путем сочетания обоих в взвешенном смысле.

Вы будете рассчитывать состояние каждый шаг. Это то, что вы в настоящее время знаете о системе. Состояние зависит от уравнения процесса и уравнения измерения . Оба уравнения имеют разные шумовые ковариации. Кальман решает, какой из них больше влияет на каждый шаг, регулируя усиление Калмана.

Именно так я думаю об этом, когда не хочу углубляться в формулы.

Jav_Rock
источник
4

Фильтр Калмана рекурсивно обеспечивает оптимальную линейную оценку сигнала, возмущенного AWGN. В вашем случае состояние (то, что вы хотите оценить) будет дано целевым местоположением. Измерения будут определяться вашим алгоритмом.

Если вы читали статью в Википедии, вы можете просмотреть эту презентацию в режиме визуального отслеживания. У тебя есть какие-нибудь книги?

Эмре
источник