Kalman Filter (KF)
Explore comment le Kalman Filter estime les états du système en cas d'incertitude. Apprends à l'utiliser pour le suivi d'objets avec Ultralytics YOLO26 afin d'améliorer la précision de l'IA.
Un Filtre de Kalman (KF) est un algorithme mathématique récursif utilisé pour estimer l'état d'un système dynamique au fil du temps. Initialement introduit par Rudolf E. Kálmán, cette technique est essentielle pour traiter des données incertaines, inexactes ou contenant des variations aléatoires, souvent appelées « bruit ». En combinant une série de mesures observées au fil du temps contenant des inexactitudes statistiques, le Filtre de Kalman produit des estimations de variables inconnues qui sont plus précises que celles basées sur une seule mesure isolée. Dans les domaines du machine learning (ML) et de l'intelligence artificielle (AI), il agit comme un outil critique pour la modélisation prédictive, lissant les points de données irréguliers pour révéler la véritable tendance sous-jacente.
Link to this sectionComment fonctionne le Filtre de Kalman#
L'algorithme fonctionne selon un cycle en deux étapes : prédiction et mise à jour (également appelée correction). Il suppose que le système sous-jacent est linéaire et que le bruit suit une distribution gaussienne (courbe en cloche).
-
Prédiction : Le filtre utilise un modèle physique pour projeter l'état actuel dans le futur. Par exemple, si un objet se déplace à une vitesse constante, le filtre prédit sa prochaine position en fonction des équations cinématiques standard. Cette étape estime également l'incertitude associée à cette prédiction.
-
Mise à jour : Lorsqu'une nouvelle mesure arrive d'un capteur, le filtre compare l'état prédit avec les données observées. Il calcule une moyenne pondérée—déterminée par le Gain de Kalman—qui accorde plus de confiance à la valeur (prédiction ou mesure) présentant le moins d'incertitude. Le résultat est une estimation d'état affinée qui sert de base au cycle suivant.
Link to this sectionApplications en vision par ordinateur et en IA#
Bien qu'il trouve ses racines dans la théorie du contrôle et la navigation aérospatiale, le Filtre de Kalman est aujourd'hui omniprésent dans les pipelines modernes de vision par ordinateur (CV).
- Suivi d'objets : C'est le cas d'utilisation le plus courant. Lorsqu'un modèle de détection comme YOLO26 identifie un objet dans une image vidéo, il fournit un instantané statique. Pour comprendre le mouvement, les trackers comme BoT-SORT utilisent des Filtres de Kalman pour lier les détections entre les images. Si un objet est temporairement occulté (caché de la vue), le filtre utilise la vitesse précédente de l'objet pour prédire son emplacement, empêchant ainsi le système de perdre la « trace » ou de changer d'ID.
- Fusion de capteurs en robotique : En robotique, les machines doivent naviguer en utilisant plusieurs capteurs bruyants. Un robot de livraison peut utiliser le GPS (qui peut dériver), des encodeurs de roue (qui peuvent glisser) et des IMUs (qui sont bruyants). Le Filtre de Kalman fusionne ces entrées disparates pour fournir une coordonnée unique et fiable pour la navigation, essentielle pour les opérations sécurisées de véhicules autonomes.
Link to this sectionDistinguer les concepts apparentés#
Il est utile de différencier le Filtre de Kalman standard de ses variantes et alternatives présentes dans l'IA statistique :
- Filtre de Kalman vs Filtre de Kalman Étendu (EKF) : Le KF standard suppose que le système suit des équations linéaires (lignes droites). Cependant, les mouvements réels—comme un drone effectuant un virage—sont souvent non linéaires. L'EKF résout ce problème en linéarisant la dynamique du système à chaque étape à l'aide de dérivées, ce qui le rend adapté aux trajectoires complexes.
- Filtre de Kalman vs Filtre Particulaire : Alors que les KF reposent sur des hypothèses gaussiennes, les filtres particulaires utilisent un ensemble d'échantillons aléatoires (particules) pour représenter les distributions de probabilité. Les filtres particulaires sont plus flexibles pour le bruit non gaussien, mais nécessitent beaucoup plus de puissance de calcul, ce qui peut affecter les vitesses d'inférence en temps réel.
Link to this sectionExemple d'implémentation#
Dans l'écosystème Ultralytics, les Filtres de Kalman sont intégrés directement dans les algorithmes de suivi. Tu n'as pas besoin d'écrire les équations manuellement ; tu peux les exploiter en activant les modes de suivi. La plateforme Ultralytics te permet de gérer des jeux de données et d'entraîner des modèles qui peuvent être facilement déployés avec ces capacités de suivi.
Voici un exemple concis utilisant Python pour effectuer un suivi avec YOLO26, où le tracker sous-jacent applique automatiquement le filtrage de Kalman pour lisser les mouvements des boîtes englobantes :
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# Run tracking on a video source
# The 'botsort' tracker uses Kalman Filters internally for state estimation
results = model.track(source="traffic_video.mp4", tracker="botsort.yaml")
# Process results
for result in results:
# Access the tracked IDs (assigned and maintained via KF logic)
if result.boxes.id is not None:
print(f"Tracked IDs in frame: {result.boxes.id.cpu().numpy()}")Link to this sectionImportance pour la qualité des données#
En déploiement réel, les données sont rarement parfaites. Les caméras souffrent de flou de mouvement et les capteurs subissent du bruit de signal. Le Filtre de Kalman agit comme un mécanisme sophistiqué de nettoyage de données au sein de la boucle de décision. En affinant continuellement les estimations, il garantit que les agents IA opèrent sur la base de la réalité la plus probable plutôt que de réagir à chaque glitch momentané dans le flux d'entrée. Cette fiabilité est primordiale pour les applications critiques en matière de sécurité, du contrôle des opérations aéroportuaires à l'automatisation industrielle précise.






