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 d'inférence en temps réel, ce qui en fait une technique de base dans des domaines tels que la robotique, la vision artificielle (CV) et les systèmes de navigation.

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 : Sur la base de l'estimation de l'état précédent et d'un modèle de la façon dont le système change au fil du temps (le modèle de processus), le filtre prédit l'état suivant du système. Cette prédiction comporte intrinsèquement une part d'incertitude.
  2. Mise à jour : le filtre intègre une nouvelle mesure (qui comporte également du bruit et de l'incertitude) liée à l'état actuel. Il compare la mesure à l'état prédit et met à jour l'estimation, en donnant plus de poids à la prédiction ou à la mesure en fonction de leurs incertitudes respectives. Le résultat est une estimation affinée de l'état qui est statistiquement meilleure (plus proche de l'état réel) 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. Le cadre mathématique sous-jacent repose sur l'inférence bayésienne.

Caractéristiques principales

  • Récursif : Traite les mesures une par une au fur et à mesure qu'elles arrivent, sans avoir besoin de stocker tout l'historique.
  • Optimal pour les systèmes linéaires : Fournit la meilleure estimation possible (en termes d'erreur quadratique moyenne minimale) si la dynamique du système et les processus de mesure sont linéaires et que le bruit suit une distribution gaussienne.
  • Estimation de l'état : Estime l'état interne d'un système (par exemple, la position, la vitesse) qui ne peut pas être mesuré directement.
  • Gère le bruit : Modélise explicitement l'incertitude à la fois dans la dynamique du système et dans les mesures.
  • Efficace sur le plan informatique : Relativement léger, il convient aux applications en temps réel sur les systèmes embarqués tels que ceux que l'on trouve dans l'IA de pointe.

Applications dans le monde réel

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

  • Suivi d'objets: Dans le domaine de la vision par ordinateur, les KF sont couramment utilisés pour prédire la position des objets détectés (comme les piétons ou les véhicules) dans les images vidéo suivantes, ce qui permet de maintenir des identités cohérentes même en cas de brèves occlusions ou d'échecs de détection. Des outils de suivi comme Simple Online and Realtime Tracking (SORT) s'appuient fortement sur les KF pour prédire les mouvements. Ultralytics YOLO d'Ultralytics exploitent de tels algorithmes de suivi ; tu peux en savoir plus dans la documentation sur le mode de suivi. Par exemple, un système de sécurité peut utiliser un KF pour suivre en douceur une personne qui marche dans le champ de vision de la caméra, en prédisant sa trajectoire entre les détections fournies par un modèle de détection d'objets tel que YOLO11.
  • Robotique et navigation : Les KF sont essentiels pour combiner des données provenant de plusieurs capteurs(fusion de capteurs) afin d'estimer la position et l'orientation (pose) d'un robot. Par exemple, un véhicule autonome peut fusionner des relevés GPS bruyants avec des données provenant d'unités de mesure inertielle (IMU) et de l'odométrie des roues à l'aide d'un KF pour obtenir une estimation fiable de sa position et de sa vitesse, ce qui est essentiel pour une navigation sûre(IA dans les solutions automobiles).
  • Aérospatiale et guidage : Le KF a été utilisé de façon célèbre dans le cadre du programme Apollo pour la navigation des engins spatiaux et continue à jouer un rôle essentiel dans les systèmes modernes de guidage aérospatial et de positionnement par satellite.
  • Analyse des séries chronologiques: Utilisée en économétrie et en finance pour modéliser et prévoir les données de séries temporelles en filtrant le bruit et en estimant les tendances sous-jacentes. Tu peux explorer les modèles de séries temporelles financières pour plus de contexte.
  • Traitement du signal : Appliqué à diverses tâches de traitement des signaux comme l'amélioration du son et l'analyse des signaux biomédicaux.

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 présentent un comportement non linéaire (par exemple, les mouvements du bras d'un robot, la dynamique complexe d'un véhicule). Dans de tels cas, des variantes telles que le filtre de Kalman étendu (EKF) sont utilisées.

La principale différence est que l'EKF traite les systèmes non linéaires en les approximant. Il linéarise les fonctions non linéaires autour de l'estimation de l'état actuel à chaque pas de temps en utilisant des techniques telles que les expansions des séries de Taylor. 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. Si l'on sait qu'un système est linéaire, le KF est généralement préféré en raison de son optimalité et de sa simplicité de calcul. D'autres variantes comme le filtre de Kalman non centré (UKF) offrent des approches différentes pour traiter les non-linéarités, offrant souvent une meilleure précision que l'EKF pour les systèmes hautement non linéaires, mais nécessitant généralement plus de calculs. Tu peux entraîner et expérimenter des modèles intégrant ces filtres à l'aide de plateformes comme Ultralytics HUB.

Tout lire