Glossaire

Filtre de Kalman (KF)

Découvre comment les filtres de Kalman optimisent l'estimation de l'état dans l'IA, le suivi, la fusion de capteurs, la robotique et plus encore, même avec des données bruitées.

Entraîne les modèles YOLO simplement
avec Ultralytics HUB

En savoir plus

Le filtre de Kalman (KF) est un algorithme puissant et largement utilisé dans l'apprentissage automatique (ML) et dans divers domaines de l'ingénierie pour estimer l'état d'un système dynamique à partir d'une série de mesures bruyantes et incomplètes au fil du temps. Imagine que tu essaies de repérer l'emplacement et la vitesse exacts d'un drone en utilisant des relevés GPS légèrement imprécis ; le filtre de Kalman fournit un moyen statistiquement optimal de combiner le mouvement prédit avec les mesures bruyantes pour obtenir la meilleure estimation possible. Il est particulièrement apprécié pour son efficacité dans les applications en temps réel.

Comment fonctionnent les filtres de Kalman

À la base, le filtre de Kalman fonctionne de manière récursive sur des flux de données d'entrée bruyantes pour produire une estimation statistiquement optimale de l'état du système sous-jacent. Il fonctionne selon un cycle en deux étapes :

  1. Prédire : le filtre prédit le prochain état du système en se basant sur l'estimation de son état actuel et sur un modèle mathématique de la façon dont le système change au fil du temps (par exemple, en se basant sur des modèles de physique ou de mouvement connus). Cette prédiction comporte intrinsèquement une part d'incertitude.
  2. Mise à jour : lorsqu'une nouvelle mesure arrive (par exemple, une nouvelle coordonnée GPS), le filtre utilise cette mesure pour corriger ou mettre à jour sa prédiction. Il pondère intelligemment la prédiction et la mesure en fonction de leurs incertitudes respectives - en faisant davantage confiance à une valeur plus certaine. Cette étape de mise à jour permet d'obtenir une nouvelle estimation de l'état qui est plus précise que la prédiction ou la mesure seule.

Ce cycle de prédiction et de mise à jour se répète pour chaque nouvelle mesure, ce qui permet d'affiner continuellement l'estimation de l'état. Le filtre est considéré comme "optimal" pour les systèmes linéaires avec un bruit gaussien parce qu'il minimise l'erreur quadratique moyenne de l'estimation de l'état. Cela en fait un outil fondamental dans l'estimation de l'état et le traitement des signaux. Pour une explication plus visuelle, voir Comment fonctionne un filtre de Kalman, en images.

Caractéristiques principales

  • Optimalité : Fournit des estimations optimales pour les systèmes linéaires en supposant des caractéristiques de bruit gaussiennes.
  • Récursif : Traite les mesures une par une au fur et à mesure qu'elles arrivent, sans avoir besoin de stocker toutes les données passées, ce qui le rend adapté à l'inférence en temps réel.
  • Efficacité informatique : Exigences de calcul relativement faibles par rapport à d'autres méthodes d'estimation.
  • Estimation de l'état : Estime les états internes du système qui peuvent ne pas être directement mesurables.
  • Traitement du bruit : Filtre efficacement le bruit des mesures des capteurs.

Applications dans le monde réel

Les filtres de Kalman sont indispensables dans de nombreuses applications d'IA et de ML :

  • Suivi d'objet : Dans le domaine de la vision artificielle (CV), les KF sont utilisés dans le suivi d'objets pour prédire la position d'un objet dans les images vidéo suivantes en fonction de son mouvement précédent. Cela permet de maintenir l'identité de l'objet même en cas d'occlusions temporaires ou d'échecs de détection. Les algorithmes tels que SORT(Simple Online and Realtime Tracking) combinent souvent des détecteurs tels que Ultralytics YOLO d'Ultralytics avec des filtres de Kalman. Voir ladocumentation sur le mode de suivi d' Ultralytics pour des exemples.
  • Navigation et orientation : Les KF sont essentiels dans les systèmes de navigation pour les véhicules, les avions et les robots. Ils fusionnent les données de divers capteurs (comme le GPS, les unités de mesure inertielle (IMU), les odomètres) pour fournir des estimations précises de la position, de la vitesse et de l'orientation. Cette technique, connue sous le nom de fusion de capteurs, est fondamentale pour les véhicules autonomes. Historiquement, les filtres de Kalman ont joué un rôle essentiel dans le guidage aérospatial, notamment dans le cadre du programme Apollo.
  • Économie et finance : Utilisé dans l'analyse des séries temporelles pour la modélisation et la prévision des indicateurs économiques ou des prix des instruments financiers.

Filtre de Kalman et filtre de Kalman étendu

Le filtre de Kalman standard suppose que la dynamique du système et les modèles de mesure sont linéaires. Cependant, de nombreux systèmes du monde réel ne sont pas linéaires. Dans ce cas, on utilise des variantes comme le filtre de Kalman étendu (EKF). Le filtre de Kalman étendu approxime le système non linéaire en le linéarisant autour de l'estimation de l'état actuel à chaque pas de temps. Bien que puissante, cette linéarisation introduit des erreurs d'approximation, ce qui signifie que l'EKF peut ne pas être aussi optimal ou stable que le KF standard pour les problèmes purement linéaires. D'autres variantes, comme le filtre de Kalman non centré (UKF), offrent des approches différentes pour gérer les non-linéarités.

Filtres de Kalman dans l'Ultralytics

Les principes du filtrage de Kalman sont incorporés dans les algorithmes de suivi pris en charge par Ultralytics, tels que BoT-SORT et ByteTrack, qui peuvent être utilisés avec les détecteurs d'objetsYOLO d'Ultralytics . Le cadre Ultralytics fournit des implémentations, comme celle que l'on trouve dans reference/trackers/utils/kalman_filter/pour permettre une suivi des objets capacités. Tu peux gérer et former des modèles pour ces applications à l'aide d'outils tels que Ultralytics HUB.

Tout lire