Paper · arXiv 2003.08934
NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
Veröffentlicht cs.CVcs.GR arXivPDF
Zusammenfassung in drei Zeilen
- 🎯 Synthese hochauflösender, fotorealistischer neuer Ansichten komplexer 3D-Szenen ohne diskrete Voxelgitter oder Proxy-Mesh-Geometrien.
- 🔧 Repräsentation statischer Szenen als kontinuierliche 5D-Funktionen über ein MLP mittels Positional Encoding, differenzierbarem Volumen-Rendering und hierarchischem Sampling.
- 📈 Erzielte State-of-the-Art-Ansichtssynthese mit 31,01 dB PSNR auf realistischen synthetischen Szenen und komprimierte Szenenrepräsentationen auf ~5 MB.
Abstract
Wir präsentieren eine Methode, die State-of-the-Art-Ergebnisse bei der Synthese neuartiger Ansichten komplexer Szenen erzielt, indem sie eine zugrunde liegende kontinuierliche volumetrische Szenenfunktion anhand einer spärlichen Menge von Eingabeansichten optimiert. Unser Algorithmus repräsentiert eine Szene mithilfe eines vollvermaschten (nicht-faltungsbasierten) tiefen Netzwerks, dessen Eingabe eine einzelne kontinuierliche 5D-Koordinate (räumliche Position und Blickrichtung ) ist und dessen Ausgabe die Volumendichte sowie die blickrichtungsabhängig emittierte Radiometrie an dieser räumlichen Position darstellt. Wir synthetisieren Ansichten, indem wir 5D-Koordinaten entlang von Kamerastrahlen abfragen und klassische Techniken des Volumen-Renderings verwenden, um die ausgegebenen Farben und Dichten in ein Bild zu projizieren. Da das Volumen-Rendering von Natur aus differenzierbar ist, besteht die einzige zur Optimierung unserer Repräsentation erforderliche Eingabe aus einem Satz von Bildern mit bekannten Kameraposen. Wir beschreiben, wie sich neuronale Radiance Fields effektiv optimieren lassen, um fotorealistische neuartige Ansichten von Szenen mit komplizierter Geometrie und Erscheinung zu rendern, und demonstrieren Ergebnisse, die frühere Arbeiten zum neuronalen Rendering und zur View Synthesis übertreffen. Da sich Ergebnisse der Ansichtssynthese am besten als Videos betrachten lassen, empfehlen wir den Lesern unser Zusatzvideo für überzeugende Vergleiche.
Original-Abstract (Englisch)
We present a method that achieves state-of-the-art results for synthesizing novel views of complex scenes by optimizing an underlying continuous volumetric scene function using a sparse set of input views. Our algorithm represents a scene using a fully-connected (non-convolutional) deep network, whose input is a single continuous 5D coordinate (spatial location and viewing direction ) and whose output is the volume density and view-dependent emitted radiance at that spatial location. We synthesize views by querying 5D coordinates along camera rays and use classic volume rendering techniques to project the output colors and densities into an image. Because volume rendering is naturally differentiable, the only input required to optimize our representation is a set of images with known camera poses. We describe how to effectively optimize neural radiance fields to render photorealistic novel views of scenes with complicated geometry and appearance, and demonstrate results that outperform prior work on neural rendering and view synthesis. View synthesis results are best viewed as videos, so we urge readers to view our supplementary video for convincing comparisons.
Leseleitfaden
Problem und Motivation
Die Synthese neuartiger Ansichten (Novel View Synthesis) aus aufgenommenen Bildern stützte sich traditionell auf diskrete volumetrische Repräsentationen (wie Voxelgitter oder Multiplane-Bilder) oder Oberflächennetze (Meshes). Diskretisierte Voxelgitter verursachen jedoch prohibitive Speicher- und Rechenaufwände, die kubisch mit der Auflösung skalieren, während die netzbasierte differenzierbare Optimierung unter ungünstigen Optimierungslandschaften leidet und eine gute Ausgangstopologie erfordert. Frühere implizite neuronale Szenenrepräsentationen bildeten Koordinaten direkt auf Signed Distance Functions oder einzelne Oberflächenpunkte ab; sie hatten Schwierigkeiten mit komplexer Geometrie, blickrichtungsabhängigen Effekten (wie Glanzpunkten) und hochfrequenten Details, was zu überschmälerten, unscharfen Ergebnissen führte.
Kernideen
- Kontinuierliche 5D-Szenenfunktion: Repräsentation einer statischen Szene als implizite kontinuierliche Funktion , die eine 3D-Position und eine 2D-Blickrichtung auf die emittierte RGB-Radiometrie und die Volumendichte abbildet.
- Mehransichtskonsistenz durch asymmetrische Prädiktion: Die Dichte wird ausschließlich aus der Position vorhergesagt (Geometrie ist blickrichtungsinvariant), während die emittierte Farbe sowohl von der Position als auch von der Blickrichtung abhängt (was spekulare und nicht-lambertsche Glanzlichter ermöglicht).
- Hochfrequentes Positional Encoding: Überwindung des spektralen Bias von MLPs gegenüber niedrigen Frequenzen, indem niedrigdimensionale Eingabekoordinaten mithilfe von Sinus-Basisfunktionen in höherdimensionale Räume projiziert werden.
- Differenzierbares Volumen-Rendering & Hierarchisches Sampling: Verwendung numerischer Quadratur zur Akkumulation kontinuierlicher Abtastpunkte entlang von Strahlen zu 2D-Pixelfarben, End-to-End optimiert gegen die Eingabefotos und beschleunigt durch hierarchisches Coarse-to-Fine-Sampling.
Methode (mit den wichtigsten Gleichungen)
Für einen Kamerastrahl , der durch die Nah- und Fernebenen und begrenzt ist, lautet die kontinuierliche erwartete Farbe : wobei die akkumulierte Transmittanz ist.
Um dies numerisch zu berechnen, wird das kontinuierliche Intervall in Abschnitte unterteilt und mittels stratifizierten Samplings ausgewertet, was einer diskreten Quadratur äquivalent zum Alpha-Compositing entspricht: wobei gilt.
Um hochfrequente Geometrien und Texturen zu erfassen, werden die Eingaben über ein Positional Encoding abgebildet: mit für und für .
Für ein effizientes Sampling optimiert NeRF gleichzeitig zwei Netzwerke (ein grobes mit Abtastwerten und ein feines mit zusätzlichen Abtastwerten). Die Gewichte der groben Stichproben definieren eine stückweise konstante Wahrscheinlichkeitsdichtefunktion entlang des Strahls, aus der die feinen Stichproben mittels Inversionsmethode gezogen werden.
Das gesamte Modell wird durch Minimierung des mittleren quadratischen Fehlers über einen Strahl-Batch trainiert:
Ergebnisse (mit den wichtigsten Kennzahlen)
- Realistische synthetische -Datensätze: NeRF erzielte 31,01 dB PSNR, 0,947 SSIM und 0,081 LPIPS und übertraf Baselines wie NV (26,05 dB), LLFF (24,88 dB) und SRN (22,26 dB) deutlich.
- Diffuse synthetische -Datensätze: NeRF erreichte 40,15 dB PSNR und 0,991 SSIM, verglichen mit DeepVoxels (implizierter Mittelwert von 30,55 dB aus Einzelwerten) und LLFF (34,38 dB).
- Reale nach vorne gerichtete Szenen (Forward-Facing): Erreichte 26,50 dB PSNR und übertraf LLFF (24,13 dB) sowie SRN (22,84 dB).
- Speichereffizienz: Ein fertig trainiertes NeRF-Modell benötigt ca. 5 MB an MLP-Gewichten – eine etwa geringere Speichergröße im Vergleich zu LLFF-Voxelrepräsentationen (>15 GB pro Szene).
Limitationen und offene Fragen
- Trainings- und Rendering-Dauer: Die Optimierung einer Szene erfordert 100k–300k Iterationen (ca. 1–2 Tage auf einer einzelnen NVIDIA V100 GPU). Das Rendern eines einzelnen Frames erfordert 150–200 Millionen MLP-Abfragen und dauert ~30 Sekunden.
- Modell-Interpretierbarkeit: Anders als bei Voxelgittern oder Polygon-Meshes ist die Szene in den Gewichten eines MLP verankert, was direkte Bearbeitung, Inspektion und Fehlerdebugging erschwert.
- Anforderungen an kontrollierte Aufnahmen: Die Methode setzt bekannte Kameraposen (z. B. via COLMAP), statische Szenen, konsistente Beleuchtung und sauber begrenzte Szenenvolumina voraus.
Schlüsselbegriffe
- Neural Radiance Field (NeRF)
- Eine kontinuierliche volumetrische 5D-Szenenrepräsentation, die durch ein tiefes, vollvermaschtes neuronales Netzwerk parametrisiert wird und Raumkoordinaten sowie Blickrichtungen auf Volumendichte und emittierte Radiometrie abbildet.
- Positional Encoding
- Eine deterministische sinusoidale Abbildung , die kontinuierliche Eingabekoordinaten in höherdimensionale Frequenzräume projiziert, damit das Netzwerk hochfrequente Details erlernen kann.
- Volume Density
- Eine blickrichtungsinvariante differenzielle Opazität , die die Wahrscheinlichkeit modelliert, dass ein Kamerastrahl an einem infinitesimalen Punkt im 3D-Raum endet.
- Transmittance
- Die Wahrscheinlichkeit , dass ein Kamerastrahl von der vorderen Schnittebene bis zu einem bestimmten Abstand entlang des Strahls verläuft, ohne an Partikeln der Szene zu terminieren.
- Hierarchical Volume Sampling
- Ein Coarse-to-Fine-Sampling-Verfahren, das die von einem groben Netzwerk geschätzten Strahldichten verwendet, um eine ungleichmäßige Wahrscheinlichkeitsverteilung für das Abtasten zusätzlicher Punkte entlang des Strahls durch ein feines Netzwerk zu konstruieren.
- Stratified Sampling
- Ein Sampling-Verfahren, das den Tiefenbereich des Strahls in gleich große Intervalle unterteilt und pro Intervall eine gleichmäßig zufällige kontinuierliche Stichprobe zieht, um eine kontinuierliche Auswertung während der Optimierung zu ermöglichen.
- Normalized Device Coordinates (NDC)
- Ein Koordinatenraum, der das perspektivische Sichtvolumen (Frustum) nach vorne gerichteter Aufnahmen auf abbildet, wodurch die Kameraachse linear in der Disparität wird.
Fragen
Warum hängt die Dichte nur von der Position ab, während die Farbe von Position und Blickrichtung abhängt?
Die Beschränkung der Dichte auf den reinen Raumort erzwingt eine über mehrere Ansichten hinweg konsistente Geometrie. Indem die Farbe zusätzlich die Blickrichtung als Eingabe erhält, kann das MLP blickrichtungsabhängige, nicht-lambertsche Phänomene wie Glanzreflexionen darstellen.
Wie unterscheidet sich das Positional Encoding in NeRF vom Positional Encoding in Transformern?
Transformer nutzen Positional Encodings, um permutationsinvarianten Attention-Blöcken eine diskrete Token-Reihenfolge zu übermitteln. NeRF verwendet sinusoidale Encodings, um kontinuierliche niedrigdimensionale Koordinaten in einen höherdimensionalen Raum zu projizieren und so den spektralen Bias von MLPs gegenüber niedrigen Frequenzen zu umgehen.
Welche Eingabedaten sind erforderlich, um ein NeRF von Grund auf zu optimieren?
NeRF benötigt lediglich einen Satz kalibrierter 2D-RGB-Bilder einer statischen Szene mit bekannten Kameraintrinsiken, Kameraposen sowie vorderen und hinteren Szenenbegrenzungen (ermittelt z. B. über COLMAP für reale Daten oder aus Ground-Truth-Posen bei synthetischen Daten).
Wie lange dauern das Training und das Rendering bei NeRF?
Das Training einer einzelnen Szene benötigt zwischen 100k und 300k Iterationen (etwa 1 bis 2 Tage) auf einer NVIDIA V100 GPU. Das Rendern neuer Ansichten erfordert die Auswertung von 150 bis 200 Millionen Koordinatenabfragen pro Bild, was ca. 30 Sekunden pro Frame in Anspruch nimmt.
Die Übersicht auf dieser Seite wurde von einer KI aus dem Paper erstellt und kann Fehler enthalten. Details stehen im Paper.