Ultralytics YOLO27: Trag dich in die Warteliste ein.
YOLO lizenzieren
Zurück zum Ultralytics-Glossar

Neural Radiance Fields (NeRF)

Neuronale Strahlungsfelder (NeRF) bilden eine 3D-Szene in einem neuronalen Netzwerk ab, das mit Fotos samt Kamerapositionen trainiert wird. Neue Ansichten werden durch Volumenrendering entlang der Kamerastrahlen erzeugt.

Ein neuronales Strahlungsfeld (NeRF) stellt eine 3D-Szene als neuronales Netz dar, das jede 3D-Position und Blickrichtung einer Dichte und einer Farbe zuordnet. Das Netz lernt diese Zuordnung anhand gewöhnlicher Fotos mit bekannten Kamerapositionen. Zum Rendern einer Ansicht wird durch jedes Pixel ein Strahl geschickt, das Netz an Punkten entlang des Strahls abgefragt und die Ergebnisse mittels Volumenrendering kombiniert. So zeigt ein trainiertes NeRF die Szene aus Blickwinkeln, die keine Kamera aufgenommen hat. Ben Mildenhall, Pratul Srinivasan, Matthew Tancik und ihre Kolleginnen und Kollegen von UC Berkeley, Google Research und UC San Diego stellten die Methode auf der ECCV 2020 in NeRF: Szenen als neuronale Strahlungsfelder für die Synthese von Ansichten darstellen vor. NeRFs bilden Reflexionen, dünne Strukturen und halbtransparente Materialien nach, mit denen meshbasierte Photogrammetrie Schwierigkeiten hat. Sie lösten außerdem die Welle der Forschung zum neuronalen Rendering aus, aus der Gaussian Splatting hervorging.

So funktionieren Neural Radiance Fields#

Das ursprüngliche NeRF ist ein mehrschichtiges Perzeptron ohne Faltungen. Es verarbeitet eine kodierte 3D-Position mit 8 vollständig verbundenen Schichten mit jeweils 256 Kanälen und gibt eine Volumendichte sowie einen Merkmalsvektor mit 256 Werten aus. Der Merkmalsvektor wird mit der kodierten Blickrichtung kombiniert und durch eine weitere Schicht mit 128 Kanälen geleitet, die eine RGB-Farbe ausgibt. Die Dichte hängt nur von der Position ab, wodurch die Geometrie über verschiedene Ansichten hinweg konsistent bleibt. Die Farbe hängt zusätzlich von der Blickrichtung ab und erfasst dadurch Glanzlichter und Reflexionen, die sich mit der Kamerabewegung verschieben:

Zum Rendern eines Pixels tastet NeRF mit einem groben Netz 64 Punkte entlang des Kamerastrahls ab, anschließend 128 weitere Punkte dort, wo der grobe Durchlauf Dichte festgestellt hat, und wertet ein feines Netz an allen Punkten aus. Jede Abtastung trägt proportional zu ihrer Deckkraft und zur Transmission bei – dem Anteil des Lichts, der die davorliegenden Abtastungen übersteht. Die gewichtete Summe ergibt die Pixelfarbe. Beim Training wird die quadrierte Abweichung minimiert zwischen den gerenderten und fotografierten Pixelfarben in Stapeln von 4.096 Strahlen. Kameraposen stammen in der Regel aus Structure-from-Motion-Software wie COLMAP. Eine Szene erforderte 100.000 bis 300.000 Iterationen, also etwa ein bis zwei Tage auf einer NVIDIA V100 GPU.

Ein einfaches MLP, das mit Rohkoordinaten gespeist wird, lernt glatte Funktionen und verwischt feine Details. Deshalb bildet NeRF jede Koordinate zunächst mit Sinus- und Kosinusfunktionen auf sich verdoppelnden Frequenzen ab: 10 für die Position und 4 für die Richtung. Dieser PyTorch-Code passt dasselbe Netz mit und ohne Positionskodierung an ein gestreiftes 1D-Signal an:

import torch
from torch import nn

torch.manual_seed(0)
# Color along one line through a scene, with fine detail such as a striped texture
x = torch.linspace(-1, 1, 512).unsqueeze(1)
target = torch.sin(12 * torch.pi * x) * torch.cos(3 * torch.pi * x)

# NeRF's positional encoding: sines and cosines of the coordinate at 10 doubling frequencies
freqs = 2.0 ** torch.arange(10) * torch.pi
encoded = torch.cat([torch.sin(x * freqs), torch.cos(x * freqs)], dim=1)

for name, inputs in (("raw coordinate", x), ("positional encoding", encoded)):
    mlp = nn.Sequential(nn.Linear(inputs.shape[1], 256), nn.ReLU(), nn.Linear(256, 256), nn.ReLU(), nn.Linear(256, 1))
    optimizer = torch.optim.Adam(mlp.parameters(), lr=1e-3)
    for step in range(1000):
        loss = ((mlp(inputs) - target) ** 2).mean()
        optimizer.zero_grad()
        loss.backward()
        optimizer.step()
    print(f"{name}: mean squared error {loss.item():.4f}")

Die Ausgabe lautet raw coordinate: mean squared error 0.0870 und positional encoding: mean squared error 0.0000. Die mittlere Leistung des Signals beträgt 0,25. Daher erfasst das Netz mit Rohkoordinaten etwa ein Drittel davon – die feinen Streifen – nicht, während das kodierte Netz das Signal reproduziert.

Schnellere und robustere NeRFs#

  • Kantenglättung und unbegrenzte Szenen: Mip-NeRF rendert Kegel statt unendlich dünner Strahlen, um Aliasing zu vermeiden. Mip-NeRF 360 erweitert das Verfahren auf unbegrenzte 360°-Aufnahmen.
  • Geschwindigkeit: NVIDIA ersetzt mit Instant NGP den Großteil des Netzes durch eine mehrskalige Hash-Tabelle gelernter Merkmale. Dadurch verkürzt sich das Training von Tagen auf Sekunden oder Minuten und das Rendern auf einige zehn Millisekunden bei 1920×1080.
  • Fotos aus der freien Umgebung: NeRF in the Wild ergänzt Einbettungen für das Erscheinungsbild einzelner Fotos und eine separate Komponente für vorübergehende Objekte. So lassen sich auch Sammlungen von Internetfotos mit wechselnder Beleuchtung und vorbeigehenden Touristen sauber rekonstruieren.
  • Text zu 3D: DreamFusion optimiert ein NeRF so lange, bis seine Renderings aus allen Blickwinkeln für ein 2D-Text-zu-Bild-Diffusionsmodell plausibel aussehen. So entstehen aus Eingabeaufforderungen 3D-Objekte, ohne dass 3D-Trainingsdaten benötigt werden.
  • Gaussian Splatting: Stellt eine Szene explizit als Millionen von 3D-Gauß-Funktionen dar und rastert diese. Das ermöglicht Echtzeit-Rendering ohne Netzwerkauswertung für jedes Pixel. 2023 erreichte das Verfahren die Qualität von Mip-NeRF 360 und löste NeRF in vielen Aufnahmewerkzeugen ab, benötigt dafür aber mehr Speicher.
  • Photogrammetrie: Erstellt ein explizites Mesh, indem Merkmale über mehrere Fotos hinweg abgeglichen werden. Meshes sind kompakt und lassen sich in gängiger 3D-Software bearbeiten, haben aber Schwierigkeiten mit glänzenden, transparenten und sehr dünnen Oberflächen.
  • Tiefenschätzung: Ein NeRF erzeugt nebenbei eine Tiefenkarte: den erwarteten Abstand, bei dem jeder Strahl endet. Dafür muss es jedoch zuvor anhand zahlreicher Fotos einer Szene mit bekannten Kameraposen optimiert werden. Monokulare Tiefenmodelle schätzen die Tiefe aus einem einzelnen Bild in einem Vorwärtsdurchlauf.
  • Implizite neuronale Repräsentationen: NeRF ist eine implizite neuronale Repräsentation, die speziell auf Strahlung und Dichte ausgerichtet ist. Daneben gibt es Netze, die Bilder, Formen oder Audiodaten als stetige Funktionen speichern.

Anforderungen an die Aufnahme#

Ein NeRF setzt eine statische Szene mit gleichbleibender Beleuchtung voraus, die aus vielen überlappenden Blickwinkeln und mit präzisen Kameraposen fotografiert wurde. Das ursprüngliche Paper trainierte jedes synthetische Objekt mit 100 gerenderten Ansichten und jede reale, nach vorn gerichtete Szene mit 20 bis 62 Fotos. Alles, was sich während der Aufnahme bewegt, etwa eine vorbeigehende Person oder ein Auto, erscheint auf manchen Fotos, auf anderen aber nicht. Die Optimierung erklärt diese Unterschiede mit halbtransparenten „Schwebeteilchen“. Ultralytics YOLO26-Modelle zur Instanzsegmentierung maskieren Personen und Fahrzeuge auf jedem Foto, sodass Strahlen durch diese Pixel beim Training ausgelassen werden können.

Anwendungen in der Praxis#

  • Film und virtuelle Produktion: Aufgenommene Orte werden rekonstruiert und entlang neuer Kamerapfade als fotorealistische Hintergründe und Referenzen für Kulissen gerendert.
  • Robotik und Fahrsimulation: Aufgezeichnete Umgebungen werden rekonstruiert, damit Teams für autonome Fahrzeuge und Robotik Sensoransichten von Positionen rendern können, die bei der ursprünglichen Fahrt nicht aufgenommen wurden.
  • Produktvisualisierung: Aus einigen Dutzend Fotos eines Artikels wird eine interaktive Ansicht, die Kundinnen und Kunden frei drehen können.
  • Karten: Für Immersive View in Google Maps rekonstruierte Google Restaurant- und Café-Innenräume mit NeRF anhand von DSLR-Fotos, die pro Standort in etwa einer Stunde aufgenommen wurden. Das Verfahren baut auf Mip-NeRF 360 auf und ergänzt die Einbettungen für das Erscheinungsbild aus NeRF in the Wild sowie die Belichtungssteuerung aus Block-NeRF. Die Ergebnisse wurden als interaktive 360°-Videos entlang ausgewählter Flugrouten bereitgestellt.

Lösungen entdecken

Computer Vision im Sport

Computer Vision im Sport

Entdecke, wie Ultralytics YOLO die Sportbildanalyse voranbringt – mit Spieler- und Ballverfolgung, Leistungsanalysen, Erkenntnissen für das Coaching und der Rehabilitation von Athleten.
Mehr erfahren
Computer Vision für Luftbilder

Computer Vision für Luftbilder

Verwandle Drohnen- und Luftbilder mit Ultralytics YOLO in Echtzeit-Erkenntnisse für Landwirtschaft, Aquakultur, Naturschutz und Geodatenanalyse.
Mehr erfahren
Computer Vision in der Luft- und Raumfahrt

Computer Vision in der Luft- und Raumfahrt

Setze Computer Vision in der Luft- und Raumfahrt mit Ultralytics YOLO ein – für Flugzeuginspektionen, die Erkennung von Fremdkörpern auf Start- und Landebahnen, den Bodenbetrieb am Flughafen und die Erkennung von Verbundwerkstofffehlern.
Mehr erfahren
Computer Vision im Sicherheitsbereich

Computer Vision im Sicherheitsbereich

Schütze jeden Standort mit Ultralytics YOLO-Modellen. Vision-KI ermöglicht die Überwachung von Grundstücksgrenzen, die Erkennung von Bedrohungen, die Kennzeichenerkennung und die Sicherheit am Arbeitsplatz.
Mehr erfahren
Computer Vision in der Robotik

Computer Vision in der Robotik

Mach Maschinen mit Ultralytics YOLO-Modellen leistungsfähiger. Vision-KI in der Robotik ermöglicht autonome Navigation, Wahrnehmung, Objektverfolgung und Steuerung in Echtzeit.
Mehr erfahren
Bildverarbeitung in der Logistik

Bildverarbeitung in der Logistik

Optimiere die Logistik mit Ultralytics YOLO-Modellen. Vision AI ermöglicht die Paketprüfung, Sortierung und Fahrzeugverfolgung sowie die Sicherheitsüberwachung von Lagerhäusern in Echtzeit.
Mehr erfahren
Bildverarbeitung im Einzelhandel

Bildverarbeitung im Einzelhandel

Gestalte den Einzelhandel mit Ultralytics YOLO-Modellen neu. Vision AI ermöglicht Bestandsverfolgung, Regalüberwachung und Warteschlangenmanagement und liefert bessere Einblicke in das Kundenverhalten.
Mehr erfahren
Bildverarbeitung im Gesundheitswesen

Bildverarbeitung im Gesundheitswesen

Entwickle Lösungen für das Gesundheitswesen mit Ultralytics YOLO-Modellen. Vision AI ermöglicht im Gesundheitswesen schnellere medizinische Bildgebung, bessere Diagnostik und die Überwachung von Patienten.
Mehr erfahren
Computer Vision in der Fertigung

Computer Vision in der Fertigung

Optimiere die Fertigung mit Ultralytics-YOLO-Modellen. Vision AI ermöglicht Qualitätskontrolle, Fehlererkennung, die Überprüfung der Einhaltung von Vorgaben zu persönlicher Schutzausrüstung und die Automatisierung von Montagelinien.
Mehr erfahren
Computer Vision in der Automobilbranche

Computer Vision in der Automobilbranche

Setze Computer Vision in der Automobilbranche mit Ultralytics-YOLO-Modellen ein. Vision AI verbessert die Verkehrssicherheit, Fahrerassistenz und Fahrzeugautomatisierung – für intelligentere Straßen.
Mehr erfahren
Computer Vision in der Landwirtschaft

Computer Vision in der Landwirtschaft

Setze mit Ultralytics YOLO-Modellen KI für Bildverarbeitung in der intelligenten Landwirtschaft ein. Ermögliche die Überwachung von Nutzpflanzen, die Verfolgung von Nutztieren und Präzisionslandwirtschaft für höhere und nachhaltigere Erträge.
Mehr erfahren

Lass uns gemeinsam die Zukunft der KI gestalten!

Starte deine Reise in die Zukunft des maschinellen Lernens