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.
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.
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:
Diese Methoden liefern ein Low-Level-Verständnis der Pixelbewegung, das dann für verschiedene Anwendungen interpretiert werden kann.
Der optische Fluss hat zahlreiche praktische Anwendungen in verschiedenen Bereichen:
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.