Learn how the Kalman Filter (KF) enhances [object tracking](https://docs.ultralytics.com/models/yolo26/) by estimating system states and reducing noise. Discover how to use [YOLO26](https://docs.ultralytics.com/models/yolo26/) with trackers like BoT-SORT on the [Ultralytics Platform](https://platform.ultralytics.com) for precise, real-time AI.
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. Introduite à l'origine par Rudolf E. Kálmán, cette technique est essentielle pour traiter des données incertaines, imprécises ou contenant des variations aléatoires, souvent appelées « bruit ». En combinant une série de mesures observées au fil du temps et 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. Dans les domaines de l' apprentissage automatique (ML) et de l' intelligence artificielle (IA), il constitue un outil essentiel pour la modélisation prédictive, en lissant les points de données irréguliers afin de révéler la véritable tendance sous-jacente.
L'algorithme fonctionne selon un cycle en deux étapes : prédiction et mise à jour (également appelée correction). Il part du principe que le système sous-jacent est linéaire et que le bruit suit une distribution gaussienne (courbe en cloche).
Bien qu'il trouve ses origines dans la théorie du contrôle et la navigation aérospatiale, le filtre de Kalman est désormais omniprésent dans les pipelines modernes de vision par ordinateur (CV).
Il est utile de différencier le filtre de Kalman standard de ses variantes et alternatives présentes dans l' IA statistique:
Dans Ultralytics , les filtres de Kalman sont directement intégrés aux algorithmes de suivi. Vous n'avez pas besoin d' écrire les équations manuellement ; vous pouvez les exploiter en activant les modes de suivi. Ultralytics vous permet de gérer des ensembles de données et de former des modèles qui peuvent être facilement déployés grâce à ces capacités de suivi.
Voici un exemple concis utilisant Python effectuer un suivi avec YOLO26, où le tracker sous-jacent applique automatiquement le filtrage de Kalman pour lisser les mouvements du cadre de sélection:
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()}")
Dans la réalité, les données sont rarement parfaites. Les caméras souffrent du flou de mouvement et les capteurs subissent des perturbations. Le filtre de Kalman agit comme un mécanisme sophistiqué de nettoyage des données au sein de la boucle de décision. En affinant continuellement les estimations, il garantit que les agents IA fonctionnent sur la base de la réalité la plus probable plutôt que de réagir à chaque anomalie momentanée dans le flux d'entrée. Cette fiabilité est primordiale pour les applications critiques en matière de sécurité, de la surveillance des opérations aéroportuaires à l'automatisation industrielle de précision.