1. März 2023

NeRF-Beispiel auf Basis von Nvidia Instant-ngp

Neural Radiance Fields (NRF) ist eine Technik aus Computergrafik und Deep Learning, mit der sich aus Eingabedaten fotorealistische 3D-Bilder und -Szenen erzeugen lassen. Die Technik wurde von Mildenhall et al. in einem 2020 veröffentlichten Forschungsartikel vorgestellt.

Die Idee hinter NRF besteht darin, mithilfe eines neuronalen Netzes die von einem Objekt in einer 3D-Szene abgegebene Strahlung anhand von Eingabedaten wie Bildern und Videos zu erlernen. Das neuronale Netz lernt die Beziehung zwischen der Strahlung des Objekts und seiner Position im Raum und kann so in Echtzeit neue Ansichten der Szene erzeugen.

Um mit NRF ein 3D-Bild zu erzeugen, wird zunächst ein 3D-Mesh des betreffenden Objekts erstellt, und es werden Bilder der Szene aus mehreren Blickwinkeln aufgenommen, etwa per Fotografie oder Videoaufnahme. Diese Bilder werden anschließend in das neuronale Netz eingespeist, das daraus ein 3D-Modell des Objekts aufbaut und die Beziehung zwischen Strahlung und Position im Raum erlernt.

Sobald das neuronale Netz trainiert ist, kann es in Echtzeit neue Ansichten der Szene erzeugen: Man gibt einfach eine Position im Raum ein und erhält ein Bild aus dieser Position.

 

Das Training kann sehr aufwendig sein und selbst bei einer einfachen Szene mehrere Stunden oder zumindest Minuten dauern. Seit der Veröffentlichung des ersten Artikels sind daher neue Studien und Projekte entstanden, die verschiedene Wege zum Training des Modells erkunden, etwa Nvidia Instant NGP.

Nvidia Instant NGP nutzt die Leistung von Nvidia-Grafikkarten, um ein Modell in Sekunden oder Minuten zu trainieren, und ermöglicht es anschließend, dieses trainierte Modell direkt zu laden. Das verkürzt die Zeit für Training und Rendering eines Modells.

 

Wir haben ein Evergine-Beispiel erstellt, das Nvidia Instant-ngp mit Evergine kombiniert und mit dem Sie ein Evergine-Projekt erstellen können, in das ein NeRF-Szenen-Rendering integriert ist.

Mit diesem Release stellen wir das NeRF-Beispiel vor, mit dem Sie diese Technologie mit Evergine erkunden können. Im Beispiel können Sie durch eine NeRF-Szene navigieren und die Codebasis nutzen, um sie zu erweitern und neue Möglichkeiten zu erkunden.

Wir haben ein Codebeispiel erstellt, das eine industrielle Wärmepumpe zeigt, die mit einem Neural-Radiance-Field-Modell erzeugt wurde. Im Beispiel können Nutzer das Modell umkreisen und so sehen, wie das trainierte Modell jeden beliebigen Blickwinkel auf die Wärmepumpe erzeugen kann. Die erzeugten Bilder sind synthetisch: Ein bestimmter Kamerawinkel wurde in den Trainingsbildern unter Umständen nie erfasst, doch das KI-Modell kann ihn vorhersagen.

 

Sie können eigene NeRF-Modelle erzeugen und dem Beispiel hinzufügen. Dazu nehmen Sie mit Ihrem Mobilgerät oder Ihrer Videokamera ein Video oder eine Bildserie des Objekts oder der Umgebung auf, die Sie darstellen möchten. Anschließend trainieren Sie das Modell mit Instant-ngp und erzeugen die Dateien transform.json mit den Positionen aller zum Training verwendeten Bilder sowie die Datei base.ingp mit dem Ergebnis des Netztrainings (wir empfehlen mehr als 35.000 Iterationen, um eine gute Modelldefinition sicherzustellen).

Unsere Empfehlungen für die Aufnahme von Bildern oder Videos zur Erzeugung eines NeRF-Modells:

  • Sorgen Sie für gute Beleuchtung.
  • Verwenden Sie eine hochauflösende HD- oder 4K-Kamera.
  • Verwenden Sie ein Weitwinkelobjektiv.
  • Halten Sie die Verschlusszeit kurz (um verwackelte Bilder zu vermeiden)
  • Halten Sie die Belichtung während der gesamten Aufnahme konstant.

 

Wir arbeiten weiter an diesem neuen Themenfeld und hoffen, in den nächsten Monaten weitere Beispiele hinzuzufügen, die NeRF-Technologie mit Evergine kombinieren. Bleiben Sie dran – bald veröffentlichen wir mehr.

 

Jorge Canton
Autor
Jorge Cantón
Plain Concepts Research