Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Zurück zum Ultralytics-Glossar

Kalman Filter (KF)

Ein Kalman-Filter schätzt einen sich verändernden Zustand, etwa die Position und Geschwindigkeit eines Objekts, indem es Modellvorhersagen mit verrauschten Messwerten kombiniert. Mathematik und Code.

Ein Kalman-Filter (KF) ist ein rekursiver Algorithmus, der anhand einer Reihe verrauschter Messungen den verborgenen Zustand eines sich verändernden Systems schätzt, etwa die Position und Geschwindigkeit eines Objekts. Bei jedem Zeitschritt sagt er den nächsten Zustand anhand eines Modells der Systembewegung voraus und korrigiert diese Vorhersage dann mit der neuen Messung. Dabei gewichtet er beide danach, wie unsicher sie sind. Rudolf E. Kálmán veröffentlichte das Verfahren 1960. Bei linearen Systemen mit gaußschem Rauschen liefert es die Schätzung mit dem kleinsten mittleren quadratischen Fehler. Der Filter kommt in GPS-Empfängern, der Flugzeug- und Raumfahrzeugnavigation, der Roboterlokalisierung und nahezu jedem Mehrziel-Tracker in der Computer Vision zum Einsatz. Dort glättet er springende Erkennungen und sagt voraus, wo jedes Objekt als Nächstes auftaucht.

So funktioniert der Kalman-Filter#

Der Filter speichert zwei Größen: eine Zustandsschätzung x, zum Beispiel Position und Geschwindigkeit, sowie eine Kovarianzmatrix P, die die Unsicherheit dieser Schätzung beschreibt. Jeder Zyklus besteht aus zwei Schritten:

  1. Vorhersage: Ein Bewegungsmodell F projiziert den Zustand vorwärts, x = F x, und die Unsicherheit wächst durch das Prozessrauschen Q, das Bewegungen abdeckt, die das Modell nicht erfasst: P = F P Fᵀ + Q.
  2. Aktualisierung: Eine neue Messung z trifft ein, die über das Messmodell H mit dem Zustand zusammenhängt. Der Filter berechnet die Abweichung z − H x und den Kalman-Verstärkungsfaktor K = P Hᵀ (H P Hᵀ + R)⁻¹, wobei R das Messrauschen bezeichnet. Der korrigierte Zustand lautet x + K (z − H x), und die Unsicherheit sinkt auf (I − K H) P.

Der Kalman-Verstärkungsfaktor bestimmt das Gleichgewicht zwischen Modell und Sensor. Sind die Messungen im Verhältnis zur Vorhersage präzise, nähert sich der Faktor 1, und die Schätzung folgt der Messung. Sind die Messungen verrauscht, nähert er sich 0, und die Schätzung folgt der Vorhersage. Da der Zustand Größen enthalten kann, die nie direkt gemessen werden, leitet der Filter auch diese ab: Ein Tracker, der nur Positionen beobachtet, schätzt dennoch die Geschwindigkeit. Fehlt eine Messung, überspringt der Filter die Aktualisierung und setzt die Vorhersage fort:

Kalman-Filter bei der Objektverfolgung#

Bei der Objektverfolgung besitzt jede Spur einen eigenen Kalman-Filter. Der Zustand umfasst den Mittelpunkt und die Größe der Begrenzungsbox sowie deren Geschwindigkeiten. Ein Modell mit konstanter Geschwindigkeit sagt voraus, wo sich die Box im nächsten Frame befinden wird. Diese Vorhersagen werden anhand der Schnittmenge über Vereinigungsmenge (IoU) neuen Erkennungen zugeordnet. Jede zugeordnete Erkennung dient als Messung zur Aktualisierung ihrer Spur. Wird ein Objekt einige Frames lang verdeckt, bewegt sich die Spur entlang ihres vorhergesagten Pfads weiter. Wenn das Objekt wieder auftaucht, liegt seine Erkennung nahe genug an der Vorhersage, um die alte ID beizubehalten.

Jeder Tracker in Ultralytics YOLO funktioniert im Modus zur Objektverfolgung auf diese Weise: Der Tracker ByteTrack verfolgt mithilfe von KalmanFilterXYAH einen 8-dimensionalen Zustand, der den Mittelpunkt der Box, das Seitenverhältnis, die Höhe und die jeweiligen Geschwindigkeiten umfasst; BoT-SORT und TrackTrack verwenden eine Variante mit Breite und Höhe, und beide skalieren ihr Rauschen anhand der Boxgröße, sodass große Objekte in der Nähe größere Sprünge in Pixeln tolerieren. Dieselben Vorhersage- und Aktualisierungsschritte lassen sich für eine Koordinate des Mittelpunkts einer Box mit wenigen Codezeilen in NumPy umsetzen:

import numpy as np

F = np.array([[1.0, 1.0], [0.0, 1.0]])  # constant-velocity model, state = [position, velocity]
H = np.array([[1.0, 0.0]])  # the detector measures position only
Q = 0.001 * np.eye(2)  # process noise: how far real motion may stray from the model
R = np.array([[25.0]])  # measurement noise: detections jitter by about 5 px

rng = np.random.default_rng(0)
truth = 100 + 3.0 * np.arange(60)  # box center moving 3 px per frame
z = truth + rng.normal(0, 5.0, truth.size)  # noisy detections

x, P = np.array([z[0], 0.0]), np.diag([25.0, 100.0])  # start from the first detection
estimates = [x[0]]
for measurement in z[1:]:
    x, P = F @ x, F @ P @ F.T + Q  # predict
    K = P @ H.T @ np.linalg.inv(H @ P @ H.T + R)  # Kalman gain
    x = x + K @ (measurement - H @ x)  # update with the weighted residual
    P = (np.eye(2) - K @ H) @ P
    estimates.append(x[0])

print(f"Detection error: {np.sqrt(np.mean((z - truth) ** 2)):.2f} px")
print(f"Kalman error: {np.sqrt(np.mean((np.array(estimates) - truth) ** 2)):.2f} px")
print(f"Estimated velocity: {x[1]:.2f} px/frame")

Die Ausgabe zeigt einen mittleren quadratischen Fehler von 4.50 px für die unverarbeiteten Erkennungen und 2.48 px für die gefilterten Schätzungen. Die geschätzte Geschwindigkeit beträgt 2.98 px pro Frame und liegt damit nahe am tatsächlichen Wert von 3 px, obwohl die Geschwindigkeit nie gemessen wurde.

Der herkömmliche Kalman-Filter setzt lineare Bewegungs- und Messmodelle mit gaußschem Rauschen voraus. Verwandte Verfahren lockern diese Annahmen:

  • Erweiterter Kalman-Filter (EKF): Linearisiert nichtlineare Modelle bei jedem Schritt mithilfe von Jacobi-Matrizen um die aktuelle Schätzung. Er ist die Standardwahl für GPS und Trägheitsnavigation.
  • Unscented-Kalman-Filter (UKF): Führt eine kleine, sorgfältig ausgewählte Menge von Stichprobenpunkten durch das nichtlineare Modell. Das ist meist genauer als eine Linearisierung und erfordert keine Ableitungen.
  • Partikelfilter: Stellt die Zustandsverteilung durch viele gewichtete Zufallsstichproben dar. Damit verarbeitet er nicht gaußsche und multimodale Wahrscheinlichkeitsverteilungen, etwa wenn ein Roboter nicht weiß, in welchem von zwei Korridoren er sich befindet – allerdings mit deutlich höherem Rechenaufwand.
  • Verdecktes Markov-Modell (HMM): Verwendet dieselbe rekursive Vorhersage und Aktualisierung für diskrete Zustände. Der Kalman-Filter ist das entsprechende Verfahren für kontinuierliche Zustände mit linearer gaußscher Verteilung.

Anwendungen jenseits der Verfolgung#

  • Robotik und Sensorfusion: Roboter kombinieren Radodometrie, IMUs, Lidar und Kameras zu einer gemeinsamen Pose-Schätzung. EKF-basierte Verfahren sind ein klassischer Ansatz für die simultane Lokalisierung und Kartierung.
  • Erweiterte Realität: Headsets filtern Messungen der Kopfhaltung, damit virtuelle Objekte bei geringer Latenz stabil bleiben.
  • Wirtschaft und Signalverarbeitung: Analysten verwenden Kalman-Glättung, um unbeobachtete Trends aus verrauschten Zeitreihen zu schätzen.
  • Navigation: Flugzeuge, Schiffe, Drohnen und Smartphones kombinieren GPS mit Trägheitssensoren, damit die Positionsangabe zwischen Satellitenmessungen stabil bleibt. Die Navigation war auch die erste bedeutende Anwendung des Filters: Anfang der 1960er-Jahre passte Stanley F. Schmidt bei NASA Ames das Verfahren für die nichtlineare Flugbahnschätzung im Apollo-Navigationscomputer an.

Lösungen entdecken

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Computer Vision in der Luft- und Raumfahrt mit Ultralytics YOLO ein – für Flugzeuginspektionen, die Erkennung von Fremdkörpern auf Start- und Landebahnen, den Bodenbetrieb am Flughafen und die Erkennung von Verbundwerkstofffehlern.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens