Yolo Vision Shenzhen
Shenzhen
Jetzt beitreten
Glossar

Erweiterter Kalman-Filter (EKF)

Learn how the Extended Kalman Filter (EKF) handles non-linear systems for accurate object tracking and sensor fusion. Enhance your [YOLO26](https://docs.ultralytics.com/models/yolo26/) projects on the [Ultralytics Platform](https://platform.ultralytics.com).

Der Extended Kalman Filter (EKF) ist ein robuster mathematischer Algorithmus, der entwickelt wurde, um den Zustand eines dynamischen Systems zu schätzen, das sich nichtlinear verhält. Während der Standard- Kalman-Filter (KF) eine optimale Lösung für Systeme bietet, die sich in geraden Linien bewegen oder einfachen linearen Gleichungen folgen, ist die Physik in der realen Welt selten so vorhersehbar. Die meisten physikalischen Objekte, wie beispielsweise eine Drohne, die gegen den Luftwiderstand ankämpft, oder ein Roboterarm, der sich um mehrere Achsen dreht, folgen gekrümmten oder komplexen Bahnen. Der EKF begegnet dieser Komplexität, indem er eine lineare Annäherung des Systems zu einem bestimmten Zeitpunkt erstellt, sodass Ingenieure und Datenwissenschaftler effiziente Filtertechniken für vorausschauende Modellierungsaufgaben anwenden können, selbst wenn die zugrunde liegende Mechanik kompliziert ist.

Mechanismus und Linearisierung

Um komplexe Dynamiken zu verarbeiten, verwendet der EKF einen mathematischen Prozess namens Linearisierung, der im Wesentlichen die Steigung einer Funktion am aktuellen Betriebspunkt schätzt. Dazu muss häufig eine Jacobimatrix berechnet werden, um zu approximieren, wie sich das System über kurze Intervalle verändert. Der Algorithmus arbeitet in einer rekursiven Schleife, die aus zwei Hauptphasen besteht: Vorhersage und Aktualisierung. In der Vorhersagephase projiziert der Filter den aktuellen Zustand mithilfe eines physikalischen Bewegungsmodells vorwärts. In der Aktualisierungsphase korrigiert er diese Projektion anhand neuer, oft verrauschter Daten von Sensoren wie Gyroskopen oder Beschleunigungsmessern. Dieser kontinuierliche Zyklus aus Vorhersage und Korrektur trägt dazu bei, Datenrauschen zu reduzieren und liefert eine glattere, genauere Schätzung des tatsächlichen Zustands, als es ein einzelner Sensor allein leisten könnte.

Relevanz in der Computer Vision

Im Bereich der Computervision (CV) spielt der erweiterte Kalman-Filter eine entscheidende Rolle bei der Aufrechterhaltung der Identität sich bewegender Objekte. Fortschrittliche Modelle wie YOLO26 sind hervorragend darin, Objekte in einzelnen Bildern zu erkennen, aber sie verstehen von Natur aus nicht die Bewegungskontinuität über einen längeren Zeitraum. Durch die Integration eines EKF oder einer ähnlichen Logik kann ein Objektverfolgungssystem vorhersagen, wo ein Begrenzungsrahmen im nächsten Videobild erscheinen sollte, basierend auf seiner vorherigen Geschwindigkeit und Flugbahn. Dies ist besonders nützlich für den Umgang mit Verdeckungen, bei denen ein Objekt vorübergehend nicht sichtbar ist. Der Filter hält dietrack aufrecht, indem er die Position des Objekts schätzt, bis es wieder sichtbar ist – eine Technik, die für eine robuste Multi-Objekt-Verfolgung (MOT) unerlässlich ist.

Anwendungsfälle in der Praxis

Die Vielseitigkeit des EKF macht ihn zu einer Schlüsseltechnologie in verschiedenen Hightech-Branchen, in denen maschinelles Lernen (ML) mit physischer Hardware zusammentrifft:

  • Autonome Fahrzeuge: Selbstfahrende Autos sind auf Sensorfusion angewiesen, um sicher zu navigieren. Ein EKF führt verschiedene Datenströme aus Global Positioning Systems (GPS), LiDAR und Radar zusammen, um die genaue Position und Ausrichtung des Fahrzeugs auf der Straße zu berechnen und Signalausfälle oder Umgebungsgeräusche auszugleichen.
  • Robotik: Roboter, die in unstrukturierten Umgebungen arbeiten, verwenden SLAM-Algorithmen (Simultaneous Localization and Mapping). Der EKF hilft einem Roboter dabei, eine Karte eines Raumes zu erstellen und gleichzeitig seine eigene Position innerhalb dieser Karte zu bestimmen, wobei er Radschlupf oder Sensordrift korrigiert, um eine genaue Bewegung zu gewährleisten.
  • Posen-Schätzung: In Anwendungen wie Virtual Reality oder Sportanalysen erfordert die Verfolgung menschlicher Gelenke die Glättung von unruhigen Schlüsselpunkten. EKF-Algorithmen verfeinern die Ausgabe von Deep-Learning-Modellen, um flüssige, natürliche Bewegungsanimationen für Aktionserkennungssysteme zu erstellen.

Vergleich mit verwandten Konzepten

Es ist hilfreich, den erweiterten Kalman-Filter von verwandten Filtermethoden zu unterscheiden, um seine spezifische Nützlichkeit zu verstehen:

  • EKF vs. Kalman-Filter (KF): Der Standard-KF ist mathematisch optimal und rechenintensiv, versagt jedoch bei stark nichtlinearen Systemen. Der EKF erweitert den KF, um durch Approximation auch mit nichtlinearen Systemen zu arbeiten.
  • EKF vs. Partikelfilter: Ein Partikelfilter bewältigt Nichtlinearität und nicht-gaußsches Rauschen sehr gut, indem er viele Zufallsstichproben (Partikel) verwendet, um die Wahrscheinlichkeit darzustellen. Allerdings erfordert er deutlich mehr Rechenleistung, weshalb der EKF die bevorzugte Wahl für ressourcenbeschränkte eingebettete Systeme ist.
  • EKF vs. Unscented Kalman Filter (UKF): Der Unscented Kalman Filter bietet einen Mittelweg, indem er deterministische Abtastpunkte verwendet, um Nichtlinearitäten zu behandeln, ohne die komplexen Berechnungen, die der EKF erfordert, obwohl der EKF für viele Steuerungssysteme nach wie vor der Industriestandard ist.

Beispiel für die Umsetzung

In der ultralytics Paket verwenden Tracking-Algorithmen intern Kalman-Filterkonzepte, um Trajektorien zu glätten und Erkennungen über Frames hinweg zuzuordnen. Auch wenn Sie die EKF-Matrix-Mathematik bei der Verwendung von High-Level-Tools nicht manuell programmieren, hilft das Verständnis, dass sie den Tracker antreibt, bei der Konfiguration der Parameter für die Ultralytics.

So initiieren Sie einen Tracker mit einem YOLO , das diese Filtertechniken für die Zustandsschätzung nutzt:

from ultralytics import YOLO

# Load the latest YOLO26 model (nano version for speed)
model = YOLO("yolo26n.pt")

# Track objects in a video source
# Trackers like BoT-SORT or ByteTrack use Kalman filtering logic internally
results = model.track(source="https://ultralytics.com/images/bus.jpg", tracker="botsort.yaml")

# Print the ID of the tracked objects
for r in results:
    if r.boxes.id is not None:
        print(f"Track IDs: {r.boxes.id.numpy()}")

Werden Sie Mitglied der Ultralytics

Gestalten Sie die Zukunft der KI mit. Vernetzen Sie sich, arbeiten Sie zusammen und wachsen Sie mit globalen Innovatoren

Jetzt beitreten