Glossar

Optischer Fluss

Entdecke die Leistungsfähigkeit von Optical Flow in der Computer Vision. Erfahre, wie er Bewegungen schätzt, die Videoanalyse verbessert und Innovationen in der KI vorantreibt.

Trainiere YOLO Modelle einfach
mit Ultralytics HUB

Mehr erfahren

Der optische Fluss ist ein grundlegendes Konzept in der Computer Vision (cv), mit dem die scheinbare Bewegung von Objekten, Oberflächen und Kanten in einer visuellen Szene beschrieben wird, die durch die relative Bewegung zwischen einem Beobachter (wie einer Kamera) und der Szene verursacht wird. Sie berechnet ein Feld von Vektoren, die die Verschiebung von Helligkeitsmustern (Pixeln oder Merkmalen) zwischen aufeinanderfolgenden Bildern in einer Videosequenz darstellen. Dies liefert wertvolle Informationen über die Bewegungsdynamik in einem Video und bildet die Grundlage für viele übergeordnete Sehaufgaben.

Wie der optische Fluss funktioniert

Die Grundannahme der meisten Algorithmen für den optischen Fluss ist die Helligkeitskonstanz - die Vorstellung, dass die Intensität eines bestimmten Punktes auf einem Objekt über kurze Zeitintervalle konstant bleibt, selbst wenn es sich über die Bildebene bewegt. Die Algorithmen verfolgen diese konstanten Helligkeitsmuster von einem Bild zum nächsten, um Bewegungsvektoren zu schätzen. Zu den gängigen Techniken gehören:

  • Sparse Optical Flow: Verfolgt die Bewegung einer begrenzten Anzahl von bestimmten Merkmalspunkten (z. B. Ecken) zwischen Frames. Die Lucas-Kanade-Methode ist ein beliebtes Beispiel.
  • Dense Optical Flow: Berechnet einen Bewegungsvektor für jedes Pixel im Bild. Die Horn-Schunck-Methode ist ein klassisches Beispiel, obwohl modernere Ansätze oft Deep Learning verwenden. Du kannst den Vergleich zwischen Dense und Sparse Flow für weitere Details erkunden.

Diese Methoden liefern ein Low-Level-Verständnis der Pixelbewegung, das dann für verschiedene Anwendungen interpretiert werden kann.

Anwendungen des optischen Flusses

Der optische Fluss hat zahlreiche praktische Anwendungen in verschiedenen Bereichen:

  • Videokompression: Bewegungsvektoren helfen bei der Vorhersage nachfolgender Bilder und reduzieren so die Datenmenge, die für die Speicherung oder Übertragung benötigt wird, wie in Standards wie MPEG zu sehen ist.
  • Autonome Systeme: Wird in der Robotik und in autonomen Fahrzeugen für Aufgaben wie Ego-Motion Estimation (Bestimmung der Eigenbewegung der Kamera), Hindernisvermeidung und das Verständnis der relativen Bewegung anderer Objekte verwendet. Die KI in selbstfahrenden Autos nutzt zum Beispiel den Bewegungsfluss, um Fahrzeuge und Fußgänger in der Nähe zu verfolgen.
  • Action Recognition: Die Analyse von Bewegungsmustern hilft, Aktionen wie Gehen, Laufen oder Fallen in Videos zu erkennen. Das ist nützlich für die Überwachung, die Sportanalyse und die Interaktion zwischen Mensch und Computer. Ein Sicherheitsalarmsystem könnte den optischen Fluss nutzen, um verdächtige Bewegungen zu erkennen. Hier findest du mehr über die Forschung zur Aktionserkennung.
  • Medizinische Bildgebung: Verfolgt die Bewegung von Organen oder Geweben in Sequenzen wie Ultraschall oder MRT und hilft bei der Diagnose und Analyse. Siehe mehr über medizinische Bildanalyse.
  • Videostabilisierung: Schätzt die Kamerabewegung ein, um unerwünschtes Wackeln und Zittern digital zu entfernen, was zu einer flüssigeren Videoausgabe führt. Lies mehr über elektronische Bildstabilisierungstechniken.

Optischer Fluss vs. Objektverfolgung

Obwohl sie zusammenhängen, sind optischer Fluss und Objektverfolgung unterschiedliche Aufgaben. Der optische Fluss liefert Low-Level-Bewegungsvektoren für Pixel oder Merkmale zwischen zwei aufeinanderfolgenden Bildern. Er versteht nicht die Identität von Objekten oder verfolgt sie über längere Zeiträume.

Objektverfolgung, die oft mit Modellen wie Ultralytics YOLOdurchgeführt wird, konzentriert sich auf die Identifizierung bestimmter Objektinstanzen (in der Regel über die Objekterkennung) und die Beibehaltung ihrer Identität und Flugbahn über mehrere Bilder hinweg, möglicherweise über lange Zeiträume. Tracking-Algorithmen verwenden häufig den optischen Fluss als einen Input (zusammen mit Erscheinungsbildmodellen, Kalman-Filtern usw.), um die Position von Objekten in den nachfolgenden Frames vorherzusagen, aber Tracking ist eine übergeordnete Aufgabe, bei der es um die Beständigkeit von Objekten geht. Du kannst Modelle wie YOLOv8 für das Tracking untersuchen.

Bibliotheken wie OpenCV bieten leicht verfügbare Implementierungen verschiedener optischer Flussalgorithmen.

Alles lesen