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

Extended Kalman Filter (EKF)

Der erweiterte Kalman-Filter (EKF) schätzt den Zustand eines nichtlinearen Systems, indem er dessen Modelle in jedem Schritt mithilfe von Jacobi-Matrizen linearisiert. Mit Mathematik und Code.

Der erweiterte Kalman-Filter (EKF) ist ein rekursiver Algorithmus zur Schätzung des Zustands eines Systems mit nichtlinearer Bewegung oder nichtlinearen Messungen, etwa der Ausrichtung einer Drohne oder der Position eines Ziels, dessen Entfernung und Peilung ein Radar erfasst. Der standardmäßige Kalman-Filter (KF) ist nur für lineare Modelle mit gaußschem Rauschen exakt. Der EKF verarbeitet nichtlineare Modelle, indem er sie in jedem Schritt um die aktuelle Schätzung mithilfe von Jakobi-Matrizen der ersten Ableitungen linearisiert und anschließend die bekannten Prädiktions- und Aktualisierungsgleichungen anwendet. Gerald Smith, Stanley Schmidt und Leonard McGee von der NASA Ames entwickelten ihn Anfang der 1960er-Jahre für die Bordnavigation eines Raumfahrzeugs für einen Flug um den Mond. Diese Arbeit floss in den Apollo-Navigationscomputer ein. Der EKF ist nach wie vor der De-facto-Standard für nichtlineare Zustandsschätzungen in Navigationssystemen, GPS-Empfängern, Drohnen und Robotern.

So funktioniert der EKF#

Wie der Kalman-Filter führt der EKF eine Zustandsschätzung x und eine Kovarianz P, die die Unsicherheit beschreibt. Das Bewegungsmodell f und das Messmodell h können jedoch beliebige differenzierbare Funktionen sein. Jeder Schritt besteht aus zwei Phasen:

  1. Prädiktion: Die Schätzung wird durch das nichtlineare Bewegungsmodell x = f(x) geleitet. Der Filter wertet die Jakobi-Matrix F = ∂f/∂x an der Schätzung aus und vergrößert die Unsicherheit mithilfe des Prozessrauschens Q: P = F P Fᵀ + Q.
  2. Aktualisierung: Eine Messung z trifft ein. Der Filter wertet die Mess-Jakobi-Matrix H = ∂h/∂x am vorhergesagten Zustand aus, berechnet den Residualwert y = z − h(x) und den Verstärkungsfaktor K = P Hᵀ (H P Hᵀ + R)⁻¹, wobei R das Messrauschen bezeichnet, und korrigiert die Schätzung mithilfe von x = x + K y und P = (I − K H) P.

Der Zustand und die vorhergesagte Messung durchlaufen die tatsächlichen nichtlinearen Funktionen. Nur für Kovarianz und Verstärkungsfaktor werden die linearisierten Jakobi-Matrizen verwendet. Wenn f und h linear sind, entsprechen die Jakobi-Matrizen den Modellmatrizen, und der EKF ist exakt der Kalman-Filter. Die Näherung ist gut, wenn die Modelle über die Streuung der Unsicherheit hinweg annähernd linear sind. Sie wird schlechter, wenn die Modelle innerhalb dieses Bereichs stark gekrümmt sind.

Ein Radar, das Entfernung und Peilung misst, ist ein klassisches Beispiel: Die geradlinige Bewegung eines Ziels in x- und y-Richtung ist in diesen Koordinaten linear, aber Entfernung √(x² + y²) und Peilung atan2(y, x) sind es nicht. Dieser EKF verfolgt ein solches Ziel und schätzt dessen Geschwindigkeit, die das Radar nicht misst:

import numpy as np

rng = np.random.default_rng(0)
F = np.eye(4) + np.eye(4, k=2)  # constant velocity, state = [x, y, vx, vy], 1 s per step
Q, R = 1e-4 * np.eye(4), np.diag([1.0**2, 0.02**2])  # process noise; radar noise of 1 m and 0.02 rad
s = np.array([20.0, 50.0, 1.0, -0.5])  # true state
x, P = np.array([20.0, 50.0, 0.0, 0.0]), np.diag([1.0, 1.0, 4.0, 4.0])  # estimate starts with unknown velocity

raw_err, ekf_err = [], []
for _ in range(60):
    s = F @ s
    z = np.array([np.hypot(s[0], s[1]), np.arctan2(s[1], s[0])]) + rng.normal(0, [1.0, 0.02])  # range, bearing
    x, P = F @ x, F @ P @ F.T + Q  # predict
    r = np.hypot(x[0], x[1])
    H = np.array([[x[0] / r, x[1] / r, 0, 0], [-x[1] / r**2, x[0] / r**2, 0, 0]])  # Jacobian of h(x)
    K = P @ H.T @ np.linalg.inv(H @ P @ H.T + R)
    x = x + K @ (z - np.array([r, np.arctan2(x[1], x[0])]))  # update with the nonlinear residual
    P = (np.eye(4) - K @ H) @ P
    raw_err.append(np.hypot(z[0] * np.cos(z[1]) - s[0], z[0] * np.sin(z[1]) - s[1]))
    ekf_err.append(np.hypot(x[0] - s[0], x[1] - s[1]))

print(f"Mean position error: raw radar {np.mean(raw_err):.2f} m, EKF {np.mean(ekf_err):.2f} m")
print(f"Estimated velocity: ({x[2]:.2f}, {x[3]:.2f}) m/s, true (1.00, -0.50)")

Wenn jede rohe Entfernungs- und Peilungsmessung in x- und y-Koordinaten umgerechnet wird, beträgt der mittlere Positionsfehler über 60 Schritte 1,43 m. Die EKF-Schätzung weicht dagegen um 0,57 m ab, und der Filter ermittelt die Geschwindigkeit als (1,01, −0,50) m/s.

Einschränkungen und Varianten#

Der EKF ist kein optimaler Schätzer. Wenn die anfängliche Schätzung stark abweicht oder die Modelle stark nichtlinear sind, können Linearisierungsfehler den Filter zu großer Zuversicht verleiten und schließlich zu seiner Divergenz führen. Deshalb erhöhen Ingenieurinnen und Ingenieure häufig vorsichtshalber das Prozessrauschen. Die Jakobi-Matrizen müssen von Hand oder mithilfe automatischer Differenzierung hergeleitet werden; eine falsche Ableitung ist eine häufige Ursache unbemerkter Fehler. Residuen von Winkeln wie Peilung oder Kurs müssen außerdem auf den Bereich von −π bis π begrenzt werden. Mehrere Varianten gehen diese Probleme an: Der iterierte EKF linearisiert das Messmodell während der Aktualisierung erneut, und der Fehlerzustands-EKF schätzt eine kleine Korrektur um einen nominalen Zustand. Dieses Verfahren wird in der Inertialnavigation häufig verwendet, um die 3D-Ausrichtung mit Quaternionen zu verfolgen.

EKF im Vergleich zu anderen Filtern#

Die Wahl des Filters hängt davon ab, wie stark die Modelle von der Linearität abweichen und welche Form die Unsicherheit hat:

  • Kalman-Filter: Optimal und kostengünstiger, wenn beide Modelle linear sind. Tracker für Begrenzungsboxen wie ByteTrack messen die Boxkoordinaten direkt. Für sie genügt daher ein linearer Filter.
  • Unscented-Kalman-Filter (UKF): Leitet eine kleine, deterministische Menge von Sigma-Punkten durch die nichtlinearen Funktionen, statt sie zu linearisieren. Er benötigt keine Jakobi-Matrizen und ist bei stark gekrümmten Modellen meist genauer als der EKF.
  • Partikelfilter: Stellt die Verteilung durch viele gewichtete Zufallsstichproben dar. Dadurch kann er multimodale Verteilungen verfolgen, etwa wenn ein Roboter nicht weiß, in welchem von zwei Fluren er sich befindet, allerdings mit deutlich höherem Rechenaufwand.
  • Hidden-Markov-Modell (HMM): Wendet dieselbe rekursive Prädiktion und Aktualisierung auf eine endliche Menge diskreter Zustände an.

Anwendungen in der Praxis#

  • Drohnen und Luftfahrzeuge: Der EKF2-Schätzer des PX4-Autopiloten führt einen EKF mit 24 Zuständen aus, der IMU-, GPS-, Magnetometer-, Barometer- und weitere Sensordaten kombiniert. Daraus schätzt er Ausrichtung, Geschwindigkeit, Position, Sensorabweichungen, das Erdmagnetfeld und den Wind.
  • Robotik: Das ROS-Paket robot_localization stellt EKF- und UKF-Knoten bereit, die Raddrehzahlmessungen, IMUs und GPS kombinieren. EKF-SLAM ist der klassische Ansatz für die simultane Lokalisierung und Kartenerstellung. Die visuell-inertiale Odometrie auf EKF-Basis, etwa der Multi-State Constraint Kalman Filter (MSCKF), verfolgt die Kamerapose anhand von Bildmerkmalen und IMU-Messungen.
  • Automobile Sensorfusion: Fahrerassistenzsysteme und Systeme für autonomes Fahren kombinieren Entfernungs- und Peilungsmessungen des Radars mit Erkennungen durch Kamera und Lidar, um Position und Geschwindigkeit umliegender Fahrzeuge zu verfolgen.
  • Kamerabasierte Lokalisierung: Eine einzelne Kamera misst nur die Richtung zu einem Objekt. Verarbeitungsketten, die erkannte Objekte in einer Karte verorten, verwenden Erkennungen von Ultralytics YOLO26 als EKF-Messungen: Die Mitte jeder Box ist eine Pixelposition und entspricht einer nichtlinearen Projektion der 3D-Position des Objekts durch das Kameramodell. Der Filter kombiniert diese Messung mit der Radarentfernung oder den GPS- und IMU-Daten der Kameraplattform.

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