Erfahren Sie, wie der Kalman-Filter Systemzustände unter Unsicherheit schätzt. Lernen Sie, ihn für die Objektverfolgung mit Ultralytics zu verwenden, um die Genauigkeit der KI zu verbessern.
Ein Kalman-Filter (KF) ist ein rekursiver mathematischer Algorithmus, der zur Schätzung des Zustands eines dynamischen Systems im Zeitverlauf verwendet wird. Diese ursprünglich von Rudolf E. Kálmán eingeführte Technik ist für die Verarbeitung von Daten unerlässlich, die unsicher oder ungenau sind oder zufällige Schwankungen enthalten, die oft als „Rauschen” bezeichnet werden. Durch die Kombination einer Reihe von im Laufe der Zeit beobachteten Messungen, die statistische Ungenauigkeiten enthalten, erzeugt der Kalman-Filter Schätzungen unbekannter Variablen, die präziser sind als solche, die nur auf einer einzigen Messung basieren. In den Bereichen maschinelles Lernen (ML) und künstliche Intelligenz (KI) dient er als wichtiges Werkzeug für die prädiktive Modellierung, indem er unregelmäßige Datenpunkte glättet, um den tatsächlichen zugrunde liegenden Trend aufzudecken.
Der Algorithmus arbeitet in einem zweistufigen Zyklus: Vorhersage und Aktualisierung (auch als Korrektur bezeichnet). Er geht davon aus, dass das zugrunde liegende System linear ist und dass das Rauschen einer Gaußschen Verteilung (Glockenkurve) folgt.
Obwohl der Kalman-Filter ursprünglich in der Regelungstheorie und der Luft- und Raumfahrtnavigation verwurzelt war, ist er heute in modernen Computer-Vision -Pipelines (CV) allgegenwärtig.
Es ist hilfreich, den Standard-Kalman-Filter von seinen Varianten und Alternativen in der statistischen KI zu unterscheiden:
Im Ultralytics sind Kalman-Filter direkt in Tracking-Algorithmen integriert. Sie müssen die Gleichungen nicht manuell schreiben, sondern können sie durch Aktivieren der Tracking-Modi nutzen. Mit der Ultralytics können Sie Datensätze verwalten und Modelle trainieren , die mit diesen Tracking-Funktionen einfach bereitgestellt werden können.
Hier ist ein kurzes Beispiel, das Python verwendet, Python Tracking mit YOLO26 durchzuführen, wobei der zugrunde liegende Tracker automatisch Kalman-Filterung anwendet, um die Bewegungen des Begrenzungsrahmens zu glätten:
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()}")
In der Praxis sind Daten selten perfekt. Kameras leiden unter Bewegungsunschärfe und Sensoren unter Signalrauschen . Der Kalman-Filter fungiert als hochentwickelter Datenbereinigungsmechanismus innerhalb der Entscheidungsschleife. Durch die kontinuierliche Verfeinerung der Schätzungen stellt er sicher, dass KI-Agenten auf der Grundlage der wahrscheinlichsten Realität arbeiten und nicht auf jede momentane Störung im Eingabestrom reagieren. Diese Zuverlässigkeit ist für sicherheitskritische Anwendungen von größter Bedeutung, von der Überwachung des Flughafenbetriebs bis hin zur präzisen industriellen Automatisierung.