Contents — find the section you need

Betrachtet man ein Video Bild für Bild, ist es nicht intuitiv ersichtlich, welcher Teil des Bildes sich wie stark bewegt hat. Optischer Fluss stellt die Helligkeitsverschiebung jedes Pixels im nächsten Bild als Vektor dar. Er wird zur gemeinsamen Sprache für alle Prozesse, die Bewegung beinhalten: Kollisionsvorhersage bei autonomen Fahrzeugen, Selbstlokalisierung von Drohnen, Sportanalysen und Videointerpolation.

0. Zusammenfassung (30 Sekunden)

  • Optischer Fluss ist nicht die Geschwindigkeit des Objekts selbst, sondern seine scheinbare Bewegung im Bild. Kamerabewegung, Objektbewegung und Tiefeninformationen fließen darin ein.

  • Die Gleichung für die Helligkeitskonstanz liefert nur eine Gleichung pro Pixel. Daher muss sie durch Hinzufügen einer lokalen Glättungsannahme, Merkmalspunkten oder Regularisierung gelöst werden.

  • Das Lucas-Kanade-Verfahren behandelt ein kleines Fenster als einzelne Geschwindigkeit – eine Methode zur spärlichen Verfolgung. Das Horn-Schunck-Verfahren nutzt die Glättung über das gesamte Bild – eine Methode zur dichten Schätzung.

  • Große Verschiebungen erfordern eine Bildpyramide. Verdeckung, Reflexionen und Unschärfe erfordern Konfidenzmaße und den Umgang mit Ausreißern. Der Rolling-Shutter-Effekt muss zudem die unterschiedlichen Zeilenlaufzeiten korrigieren.

Lernbasierte Methoden wie RAFT sind hochpräzise, sollten aber erst nach Prüfung des GPU-Speichers, des Verhaltens außerhalb der Verteilung, der Echtzeitfähigkeit und der Lizenzierung eingesetzt werden.

1. Von der Helligkeitskonstanz zur Flussbeschränkungsgleichung

Diagram 1 · Use the button to switch views
Optische Flussabschätzung von einer Bildpyramide zu einem dichten Vektorfeld

Abbildung 1 – Eine Pyramide verarbeitet zunächst große Verschiebungen und verfeinert anschließend ein dichtes Vektorfeld in feineren Skalen. Konfidenz- und Okklusionsmasken müssen sich mit den Vektoren bewegen.

Wenn sich ein kleines, stationäres Muster zwischen den Bildern bewegt, können wir es idealisiert als mit konstanter Helligkeit annehmen.

I(x,y,t)=I(x+u\Delta t,y+v\Delta t,t+\Delta t)

Eine Taylor-Entwicklung erster Ordnung zusammen mit \Delta t\to0 ergibt

I_xu+I_yv+I_t=0

Da zwei unbekannte Geschwindigkeitskomponenten (u,v) vorliegen, aber nur eine Gleichung, kann diese allein nicht gelöst werden. An einer Kante ist die Bewegung entlang der Kantenrichtung Unsichtbar; in einem flachen Bereich gibt es überhaupt keinen Gradienten. Dies ist das Aperturproblem.

2. Lucas-Kanade und Horn-Schunck

Lucas-Kanade geht davon aus, dass die Geschwindigkeit innerhalb eines lokalen Fensters W konstant ist und minimiert den folgenden quadratischen Fehler.

E(u,v)=\sum_{(x,y)\in W}w(x,y)\{I_xu+I_yv+I_t\}^2

Es verwendet nur Ecken, in denen die Gradientenmatrix ausreichend gut konditioniert ist, und kombiniert dies mit derselben Pyramide und iterativen Aktualisierung, die auch beim Feature-Point-Tracking verwendet wird (siehe vorheriger Abschnitt). OpenCVs calcOpticalFlowPyrLK ist eine Implementierung dieser Familie.

Horn-Schunck behandelt das Strömungsfeld über das gesamte Bild als unbekannte Größe und minimiert gleichzeitig die Helligkeitsbeschränkung und die Glätte der Geschwindigkeit.

E(u,v)=\iint (I_xu+I_yv+I_t)^2+\alpha^2(|\nabla u|^2+|\nabla v|^2)\,dxdy

Ein größerer Wert für \alpha führt zu einem glatteren Strömungsfeld; ein kleinerer Wert erlaubt lokale Diskontinuitäten. Die Glättung über eine Objektgrenze hinweg vermischt die Geschwindigkeiten verschiedener Objekte. Daher werden stattdessen robuste Verlustfunktionen oder kantenerhaltende Regularisierung verwendet.

3. Sparse Flow und Dense Flow

Typ Geschätzte Punkte Repräsentative Methoden Stärken Schwächen
Sparse Hunderte bis Tausende von Punkten, z. B. Ecken LK, KLT Leichtgewichtig, direkte Eingabe in die Pose-Schätzung Lässt Lücken in texturarmen Bereichen entstehen
Semi-Dense Pixel mit Gradient Direkte visuelle Odometrie, Hesse-Matrix-basierte Methoden Abwägung zwischen geometrischer Information und Rechenaufwand Füllt nicht das gesamte Bild aus
Dense Nahezu jedes Pixel Horn-Schunck, TV-L1, RAFT Effektiv für bewegte Objekte, Flüssigkeiten, Interpolation Rechenaufwand, Mehrdeutigkeit an Verdeckungsgrenzen

Bei der visuellen Odometrie ist die Übergabe spärlicher Korrespondenzen an die geometrische Berechnung tendenziell stabiler. Um Bereiche mit sich bewegenden Fußgängern zu maskieren oder die Bewegung pro Pixel für die Videointerpolation zu nutzen, ist ein hoher Datenfluss erforderlich. Die im Voraus für den jeweiligen Zweck benötigte Dichte festzulegen, ist effektiver, als einfach mehr GPU-Leistung einzusetzen.

4. Umgang mit großen Verschiebungen, Verdeckung und Helligkeitsänderungen

Eine Ein-Pixel-Differentialapproximation versagt bei großen Bewegungen. Eine Gaußsche Pyramide wird erstellt, indem das Bild auf 1/2, 1/4 und 1/8 skaliert wird. Große Verschiebungen werden auf der groben Ebene geschätzt, dann auf die feine Ebene hochskaliert und iterativ verfeinert. Zu viele Pyramidenebenen lassen kleine Objekte verschwinden; zu wenige führen zu einem zu geringen Suchbereich.

Bei Lichtänderungen ist die Helligkeitskonstanz nicht mehr gegeben. Daher werden stattdessen lokale Normalisierung, Gradientenrichtung, robuster Charbonnier-Verlust oder relative Farbdifferenz verwendet. An der Grenze eines sich bewegenden Objekts kann ein im vorherigen Frame sichtbares Pixel im nächsten Frame verdeckt sein (Verdeckung). Verdeckungsflags, Vorwärts-Rückwärts-Konsistenz und Sichtbarkeitsmasken werden verwendet. wird verwendet, anstatt eine Spur durch das Bild zu erzwingen.

5. Lernbasierte Methoden: RAFT-Daten lesen

RAFT (Recurrent All-Pairs Field Transforms) berechnet die Korrelation zwischen allen Pixelpaaren zweier Bilder und verfeinert den Datenfluss anschließend mit einem iterativen Aktualisierungsoperator. Da RAFT auf einen deutlich größeren Pool an Korrespondenzkandidaten zurückgreifen kann als das „lokale Fenster“ klassischer Methoden, ist es besonders geeignet für Bereiche mit sich wiederholender Textur oder bei großen Verschiebungen.

Ein niedriger durchschnittlicher Endpunktfehler (EPE) in einem Benchmark bedeutet jedoch nicht automatisch, dass das Modell sicher auf einem realen Roboter im Feld eingesetzt werden kann. Weichen Objektiv, Belichtung, Rolling Shutter, Staub oder die Nachtbeleuchtung der Kamera von den Trainingsdaten ab, sinkt die Zuverlässigkeit. Die Evaluierung sollte Inferenzzeit, Eingangsauflösung, Quantisierungsfehler, GPU-Treiber und die Lizenz des Modells berücksichtigen.

6. Trennung von Kamerabewegung und dynamischen Objekten

Die Umwandlung von Datenfluss in Kamerabewegung erfordert die intrinsische Kameramatrix K und die Tiefeninformation. Z . In normalisierten Koordinaten eines Bildpunktes \mathbf{x} lässt sich die durch die Translation \mathbf{t} und Winkelgeschwindigkeit \boldsymbol{\omega} der Kamera verursachte Strömung konzeptionell wie folgt darstellen:

\mathbf{u}=\frac{1}{Z}A(\mathbf{x})\mathbf{t}+B(\mathbf{x})\boldsymbol{\omega}

Die Translationskomponente variiert mit 1/Z – nähere Objekte bewegen sich stärker als weiter entfernte –, während die Rotationskomponente nicht von der Tiefe abhängt. Strömungen, die mit einem einzigen, mittels RANSAC ermittelten Bewegungsmodell übereinstimmen, werden als Hintergrund behandelt; Bereiche mit großen Residuen werden zu potenziellen dynamischen Objekten. In Szenen mit vielen Fahrzeugen oder Fußgängern werden Objekterkennung und semantische Masken zusammen mit geometrischer Schätzung verwendet.

7. Bewertungsmetriken und reproduzierbare Messung

Bei gegebener Ground-Truth-Strömung (u^*,v^*) beträgt der mittlere Endpunktfehler:

EPE=\frac{1}{N}\sum_{i=1}^{N}\sqrt{(u_i-u_i^*)^2+(v_i-v_i^*)^2}

Geben Sie nicht nur den Mittelwert, sondern auch den 95. Perzentil, Fehler an Verdeckungsgrenzen, Fehler in texturarmen Bereichen und nach Geschwindigkeit aufgeschlüsselter Fehler. Da die Ground Truth auf realer Hardware schwer zu ermitteln ist, wird sie typischerweise aus Motion-Capture-Daten, der bekannten Trajektorie eines Roboterarms, synthetischen Bildern, Vorwärts-Rückwärts-Konsistenz und dem VO-Reprojektionsfehler kombiniert.

Die Protokolle sollten Kamera-Zeitstempel, Belichtung, Auflösung, Pyramidenebenen, Fenstergröße, Iterationsanzahl, GPU/CPU-Auslastung, Temperatur und Flusskonfidenz enthalten. Selbst bei gleichem Algorithmusnamen sind die Ergebnisse nicht vergleichbar, wenn diese Bedingungen abweichen.

8. Zusammenfassung

Optischer Fluss beschränkt die scheinbare Bewegung von Pixeln mithilfe von Gleichungen und löst diese mithilfe lokaler Fenster, Glättung des gesamten Bildes, Bildpyramiden und lernbasierter Korrelation. Sparse LK eignet sich für die Selbstlokalisierung; Dense Flow eignet sich für dynamische Objekte und Videoverarbeitung. Die separate Betrachtung von Kamerabewegung und Objektbewegung, Verdeckung, Beleuchtung und Rolling-Shutter-Effekt sowie die Bewertung von Fehlerbedingungen anstelle des durchschnittlichen Fehlers helfen, Fehlimplementierungen zu vermeiden. Auswahl.

Überprüfen Sie Ihr Verständnis
Ist die Bildbewegung die physikalische Geschwindigkeit des Objekts?

Kamerabewegung, Objektbewegung und Tiefe beeinflussen die projizierte Bewegung. Die Umrechnung von Pixeln pro Sekunde in Meter pro Sekunde erfordert geometrische Informationen.

Referenzen

What to read next

Review the backgroundOptischer-Fluss-Lab: Bewegung zwischen zwei BildernContinue the seriesEinführung in die Homographie – Beschreibung der planaren Korrespondenz mit einer einzelnen 3x3-MatrixExplore another aspect of this fieldLab für Bildhelligkeit und Leuchtdichte — Belichtung, Gamma und Clipping