Глоссарий

Фильтр Калмана (KF)

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

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

Как работают фильтры Калмана в искусственном интеллекте и компьютерном зрении

В контексте ИИ фильтры Калмана чаще всего используются для отслеживания объектов. После того как модель обнаружения объектов, например Ultralytics YOLO, идентифицирует объекты в кадре, фильтр Калмана используется для предсказания их положения в следующем кадре. Это предсказание основано на модели движения, которая обычно предполагает постоянную скорость или постоянное ускорение.

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

  • Шумоподавление: Сглаживает дрожание при обнаружении, обеспечивая более стабильную траекторию движения.
  • Обработка окклюзии: Если детектор не видит объект в течение нескольких кадров (например, автомобиль скрывается за деревом), фильтр может продолжать предсказывать его положение, позволяя трекеру повторно идентифицировать объект, когда он снова появится.
  • Оценка состояния: Позволяет получить более полное представление о состоянии объекта, чем его текущее положение, включая его скорость. Вы можете узнать больше об основных понятиях в этом подробном визуальном введении в фильтры Калмана.

Способность фильтра рекурсивно обрабатывать измерения делает его вычислительно эффективным и идеальным для прогнозирования в реальном времени. Многие популярные алгоритмы слежения, такие как SORT (Simple Online and Realtime Tracking) и ByteTrack, используют фильтр Калмана в качестве основного компонента предсказания движения. Модели Ultralytics, такие как YOLO11, используют такие трекеры в режиме слежения.

Применение в реальном мире

Фильтры Калмана являются неотъемлемой частью бесчисленного множества современных систем. Вот несколько примеров:

  1. Автономные транспортные средства: В автономных транспортных средствах фильтры Калмана необходимы для объединения датчиков. Данные от различных датчиков, таких как камеры, GPS, LiDAR и IMU, зашумлены и имеют разную частоту обновления. Фильтр объединяет эти данные для получения единой, высокоточной и надежной оценки положения, скорости автомобиля и траектории движения других объектов на дороге. Это очень важно для безопасной навигации и принятия решений в наших решениях по ИИ в автомобилестроении.
  2. Отслеживание пешеходов для интеллектуального наблюдения: Системы безопасности часто используют отслеживание объектов для наблюдения за общественными местами. После того как модель YOLO обнаруживает пешеходов, трекер на основе фильтра Калмана присваивает каждому человеку уникальный идентификатор и следит за ним в поле зрения камеры. Это позволяет использовать такие приложения, как автоматический подсчет объектов, обнаружение аномалий и управление очередями. Прогностические возможности фильтра гарантируют, что отслеживание человека не будет потеряно, даже если его временно заслонят другие люди или объекты, что является ключевой особенностью для повышения эффективности интеллектуального наблюдения.

Связанные понятия и различия

Важно отличать фильтр Калмана от смежных терминов:

  • Расширенный фильтр Калмана (EKF): Стандартный фильтр Калмана предполагает, что динамика системы линейна. Однако многие реальные системы (например, поворачивающий автомобиль) нелинейны. EKF расширяет фильтр Калмана для работы с нелинейными системами путем линеаризации модели на каждом временном шаге.
  • Нисходящий фильтр Калмана (UKF): Для сильно нелинейных систем, в которых линеаризация EKF недостаточна, UKF обеспечивает более точную альтернативу без необходимости вычисления якобианов, как объясняется в этом введении в нецентрированный фильтр Калмана.
  • Фильтры частиц: Это еще одна альтернатива для нелинейных, негауссовских систем, которая часто используется в робототехнике для локализации и картографирования. В отличие от фильтров Калмана, они представляют распределения вероятностей с помощью набора случайных выборок (частиц).

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

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему искусственного интеллекта. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединяйтесь сейчас
Ссылка копируется в буфер обмена