Neural Radiance Fields (NeRF)
Erkunde, wie Neural Radiance Fields (NeRF) 3D-Szenen aus 2D-Bildern synthetisieren. Lerne, wie du das NeRF-Training mit Ultralytics YOLO26 für präzise Segmentierung verbesserst.
Neural Radiance Fields (NeRF) stellen einen bahnbrechenden Fortschritt in der computer vision (CV) und der generative AI dar und wurden entwickelt, um fotorealistische 3D-Szenen aus einer spärlichen Menge von 2D-Bildern zu synthetisieren. Im Gegensatz zu herkömmlichen 3D-Modellierungsansätzen, die auf expliziten geometrischen Strukturen wie Polygonen, Meshes oder Punktwolken basieren, verwendet ein NeRF ein neural network (NN), um eine „implitzite“ Darstellung einer Szene zu lernen. Durch das Zuordnen von Raumkoordinaten und Blickrichtungen zu Farb- und Dichtewerten können NeRFs neue Blickwinkel mit außergewöhnlicher Genauigkeit rendern und komplexe visuelle Effekte wie Reflexionen, Transparenz und variable Beleuchtung präzise erfassen, die mit standardmäßiger photogrammetry oft nur schwer zu reproduzieren sind.
Wie Neural Radiance Fields funktionieren#
Im Kern modelliert ein NeRF eine Szene als kontinuierliche volumetrische Funktion. Diese Funktion wird typischerweise durch ein vollständig verbundenes deep learning (DL)-Netzwerk parametrisiert. Der Prozess beginnt mit dem Ray Marching, bei dem Strahlen von einer virtuellen Kamera durch jeden Pixel der gewünschten Bildebene in den 3D-Raum gesendet werden.
Für entlang jedes Strahls abgetastete Punkte nimmt das Netzwerk eine 5D-Eingabe entgegen – bestehend aus der 3D-Raumposition ($x, y, z$) und der 2D-Blickrichtung ($\theta, \phi$) – und gibt die emittierte Farbe und Volumendichte (Opazität) an diesem Punkt aus. Unter Verwendung von Techniken aus dem Bereich des volume rendering werden diese abgetasteten Werte akkumuliert, um die endgültige Farbe des Pixels zu berechnen. Das Netzwerk wird trainiert, indem die Differenz zwischen den gerenderten Pixeln und den tatsächlichen Pixeln aus den ursprünglichen training data minimiert wird, wodurch die model weights effektiv optimiert werden, um die visuellen Eigenschaften der Szene zu speichern.
Praxisanwendungen#
Die NeRF-Technologie hat den Übergang von akademischer Forschung zu praktischen Werkzeugen schnell vollzogen und beeinflusst verschiedene Branchen, indem sie die Lücke zwischen statischer Fotografie und interaktiven 3D-Umgebungen schließt.
- Immersive E-Commerce: Einzelhändler nutzen NeRFs, um interaktive Produktdemonstrationen zu erstellen. Durch die Verarbeitung einiger Fotos eines Artikels können AI in retail-Lösungen eine 3D-Darstellung generieren, die Kunden aus jedem Blickwinkel betrachten können, was ein reichhaltigeres Erlebnis als statische Bilder bietet.
- Virtual Production und VFX: Die Filmindustrie verwendet NeRFs, um reale Standorte zu erfassen und sie als fotorealistische Hintergründe für die virtual production zu rendern. Dies ermöglicht es Filmemachern, Schauspieler in digitale Umgebungen zu platzieren, die sich bei Kamerabewegungen realistisch verhalten, wodurch der Bedarf an teuren Dreharbeiten vor Ort reduziert wird.
- Robotik-Simulation: Das Training von autonomous vehicles und Drohnen erfordert riesige Mengen an Daten. NeRFs können komplexe reale Umgebungen aus Sensordaten rekonstruieren und so hochpräzise Simulationsumgebungen schaffen, in denen robotics-Algorithmen sicher und umfassend getestet werden können.
Unterscheidung von verwandten Konzepten#
Es ist hilfreich, NeRF von anderen 3D- und Vision-Technologien zu unterscheiden, um seinen spezifischen Nutzen zu verstehen.
- NeRF vs. Photogrammetry: Die Photogrammetry rekonstruiert die Oberflächengeometrie (Meshes) explizit durch den Abgleich von Merkmalen über Bilder hinweg. Obwohl sie für einfache Oberflächen effizient ist, hat sie oft Probleme mit „nicht-lambertschen“ Effekten wie glänzenden Oberflächen, dünnen Strukturen (wie Haaren) oder Transparenz. NeRFs zeichnen sich in diesen Bereichen aus, da sie das Volumen und den Lichttransport direkt modellieren.
- NeRF vs. 3D Object Detection: Während NeRF visuelle Daten generiert, konzentriert sich die 3D object detection darauf, den Inhalt der Szene zu verstehen. Erkennungsmodelle identifizieren und lokalisieren Objekte mithilfe von bounding boxes, während es bei NeRFs darum geht, das Erscheinungsbild der Szene darzustellen.
- NeRF vs. Depth Estimation: Die Depth estimation sagt die Entfernung von Pixeln zur Kamera voraus, was zu einer Tiefenkarte führt. NeRFs lernen die Geometrie implizit, um Bilder zu rendern, aber ihre primäre Ausgabe ist die synthetisierte Ansicht und nicht eine explizite Tiefenkarte.
Integration von NeRF in Vision-Pipelines#
Das Training eines qualitativ hochwertigen NeRF erfordert oft saubere Daten. Hintergrundgeräusche oder sich bewegende Objekte können zu „Ghosting“-Artefakten im endgültigen Render führen. Um dies zu mildern, verwenden Entwickler häufig instance segmentation-Modelle, um das relevante Motiv vor dem Training des NeRF automatisch auszublenden.
Die Ultralytics Platform und die Python API ermöglichen eine nahtlose Integration der Segmentierung in diesen Vorverarbeitungsworkflow. Das folgende Beispiel zeigt, wie YOLO26 verwendet wird, um Masken für eine Reihe von Bildern zu generieren und sie so für die 3D-Rekonstruktion vorzubereiten.
from ultralytics import YOLO
# Load the YOLO26 segmentation model
model = YOLO("yolo26n-seg.pt")
# Run inference to detect and segment objects
# Saving results creates masks useful for NeRF preprocessing
results = model("scene_image.jpg", save=True)
# Access the binary masks for the detected objects
masks = results[0].masks.data
print(f"Generated {len(masks)} masks for NeRF training.")Durch die Kombination der Präzision der Segmentierung mit der generativen Kraft von NeRFs können Ingenieure robuste Pipelines für die Generierung von synthetic data erstellen, wodurch die Erstellung unbegrenzter Trainingsstichproben für andere nachgeschaltete Aufgaben ermöglicht wird.






