Egal, ob ein VFX -Künstler, ein Research Fellow oder ein Amateur von Grafiken, Blendernerf der einfachste und schnellste Weg, um synthetische Nerf- und Gaußsche Splating -Datensätze in Blender zu erstellen. Rendern und Kameraparameter mit einem einzigen Klick erhalten, während Sie die volle Benutzersteuerung über die 3D -Szene und die Kamera haben!
Bist du bereit zu nerf? Beginnen Sie mit einem einzigen Klick in Blender, indem Sie dieses Tutorial überprüfen!
Neural Radiance Fields (NERF) zielen darauf ab, eine 3D -Szene als volumetrische Ansichtsobjekt nur aus 2D -Bildern zusammen mit ihren jeweiligen Kamerainformationen darzustellen. Die 3D -Szene wird mit Hilfe eines einfachen neuronalen Netzwerks aus den Trainingsbildern umgekehrt.
Gaußsche Splatting ist eine Follow-up-Methode, mit der Radiance Fields auf pointbasierter Weise rendert. Diese Darstellung ist für die GPU -Rendering stark optimiert und nutzt mehr herkömmliche Grafiktechniken, um hohe Bildraten zu erreichen.
Ich empfehle, dieses YouTube -Video von Corridor Crew für eine spannende Untersuchung einiger Anwendungsfälle und zukünftiger potenzieller Anwendungen von NERFs anzusehen.
Rendering ist eine teure Berechnung. Photorealistische Szenen können je nach Komplexität, Hardware und verfügbaren Software -Ressourcen von Sekunden bis Stunden dauern, bis sie die Szenenkomplexität, Hardware und verfügbare Software -Ressourcen rendern.
Nerfs und Gaußsche Splats können diesen Vorgang beschleunigen, erfordern jedoch Kamerainformationen, die normalerweise über umständliche Code extrahiert werden. Mit diesem Plugin können jeder Render und Kameras mit einem einzigen Klick in Mixer erhalten.
Obwohl Release -Versionen von Blendernerf zum Download zur Verfügung stehen, sind sie hauptsächlich für die Verfolgung großer Codeänderungen und zu Zitierzwecken bestimmt. Ich empfehle, das aktuelle Repository direkt herunterzuladen, da geringfügige Änderungen oder Fehlerbehebungen möglicherweise nicht sofort in eine Version enthalten sind.
Blendernerf besteht aus 3 Methoden, die in den folgenden Unterabschnitten diskutiert werden. Jede Methode ist in der Lage, Schulungsdaten zu erstellen und Daten für NERF in Form von Trainingsbildern und einer transforms_train.json transforms_test.json mit den entsprechenden Kamerainformationen zu testen . Die Daten werden in eine einzelne Zip -Datei mit Trainings- und Testordnern archiviert. Trainingsdaten können dann von einem NERF -Modell verwendet werden, um die 3D -Szenenrepräsentation zu erlernen. Nach dem Training kann das Modell in den Testdaten (nur Kamerainformationen) bewertet (oder getestet) werden, um neuartige Rendergänge zu erhalten.
Die Teilmenge der Frames (SOF) rendert alle N -Frames aus einer Kameraanimation und verwendet die gerenderte Teilmenge der Frames als NERF -Trainingsdaten. Die registrierten Testdaten umfassen alle Frames derselben Kameraanimation, einschließlich Trainingsrahmen. Im Training kann das NERF -Modell die vollständige Kameraanimation rendern und eignet sich folglich gut für die Interpolation oder Renderung großer Animationen statischer Szenen.
Zug- und Testkameras (TTC) registriert das Training und Testen von Daten von zwei separaten benutzerdefinierten Kameras. Ein NERF -Modell kann dann mit den aus der Trainingskamera extrahierten Daten ausgestattet und an den Testdaten bewertet werden.
Kamera auf der Kugel (COS) macht Trainingsrahmen, indem zufällige Kameraansichten von einer benutzergesteuerten Kugel in die Mitte gerichtet sind. Testdaten werden aus einer ausgewählten Kamera extrahiert.
Das Add-On-Eigenschaftenbereich ist unter 3D View > N panel > BlenderNeRF erhältlich (das N-Panel ist unter dem 3D-Ansichtsfenster beim Drücken N zugegriffen). Alle 3 Methoden ( SOF , TTC und COS ) teilen sich eine gemeinsame Registerkarte, die als BlenderNeRF shared UI mit den folgenden aufgelisteten steuerbaren Eigenschaften bezeichnet werden.
Train (standardmäßig aktiviert): Ob Registrierung von Trainingsdaten (Renderings + Kamerainformationen) registriert werdenTest (standardmäßig aktiviert): Ob Registrierung von Testdaten (nur Kamerainformationen) registrieren soll)AABB (standardmäßig auf 4 festgelegt): AABB -Skalierungsparameter, wie in sofortiger NGP beschrieben (weitere Details unten)Render Frames (standardmäßig aktiviert): Ob Sie die Frames rendernSave Log File (standardmäßig deaktiviert): Ob Sie eine Protokolldatei speichern, die Reproduzierbarkeitsinformationen auf dem Mixernerf -Lauf enthältFile Format (standardmäßig NGP ): Ob exportierenGaussian Points (standardmäßig deaktiviert): Ob exportieren Sie eine points3d.ply -Datei für Gaußsche SplattingGaussian Test Camera Poses (standardmäßig Dummy ): Ob exportieren eine Dummy -Testkamera -Datei oder der vollständige Satz von Testkamera -Posen (nur mit Gaussian Points )Save Path (standardmäßig leer): Pfad zum Ausgabeverzeichnis, in dem der Datensatz erstellt wird Wenn die Gaussian Points -Eigenschaft aktiv ist, erstellt Blendernerf eine zusätzliche points3d.ply -Datei aus allen sichtbaren Maschen (zur Renderzeit), wobei jeder Scheitelpunkt als Initialisierungspunkt verwendet wird. Scheitelpunktfarben werden, falls verfügbar, gespeichert und sonst auf Schwarz eingestellt.
Das Gaußsche Splatting -Repository unterstützt nativ NERF -Datensätze, erfordert jedoch sowohl Zug- als auch Testdaten. Die Dummy -Option für die Eigenschaft Gaussian Test Camera Poses erstellt eine leere Testkamera -Pose -Datei, im Fall sind keine Testbilder erforderlich. Die Full Option exportiert die Standard -Testkamera -Posen, erfordert jedoch separat einen test , der alle Testrender enthält.
AABB ist beschränkt, eine Ganzzahlkraft von 2 zu sein. Es definiert die Seitenlänge des Begrenzungskastenvolumens, in dem Nerf Strahlen verfolgt. Die Eigenschaft wurde mit der sofortigen NGP -Version von NVIDIA von Nerf eingeführt.
Die File Format kann entweder NGP oder Nerf sein. Die NGP -Dateiformatkonvention entspricht dem NERF -NEF -Vorgang mit einigen zusätzlichen Parametern, auf die durch sofortige NGP zugegriffen werden kann.
Beachten Sie, dass jede Methode ihre charakteristische Name (standardmäßig auf dataset festgelegt) entspricht, die dem Dataset -Namen entspricht und für die jeweilige Methode einen Zip -Dateinamen erstellt hat. Bitte beachten Sie, dass nicht unterstützte Zeichen wie Leerzeichen, # oder / , automatisch durch einen Unterstrich ersetzt werden.
Im Folgenden finden Sie die für jede Methode spezifischen Eigenschaften (die Name wird ausgelassen, da bereits oben diskutiert wird).
Frame Step (standardmäßig auf 3 festgelegt): n (wie im Abschnitt Einstellungsabschnitt definiert) = Häufigkeit, bei der die Trainingsrahmen registriert sindCamera (immer auf die aktive Kamera eingestellt): Kamera zum Registrieren von Trainings- und Testen von DatenPLAY SOF : Spielen Sie die Untergruppe der Rahmenmethodenbetreiber, um NERF -Daten zu exportierenFrames (standardmäßig auf 100 ): Anzahl der Trainingsrahmen, die von der Trainingskamera verwendet werdenTrain Cam (standardmäßig leer): Kamera zum Registrieren der Trainingsdaten verwendetTest Cam (standardmäßig leer): Kamera zum Registrieren der Testdaten verwendetPLAY TTC : Spielen Sie den Zug- und Testkameras -Methodenbetreiber, um NERF -Daten zu exportieren Frames der Trainingsrahmen werden mit dem Train Cam -Objekt aus dem Szenenstart -Rahmen erfasst.
Camera (immer auf die aktive Kamera eingestellt): Kamera zum Registrieren der Testdaten verwendetLocation (standardmäßig auf 0 m Vektor festgelegt): Mittelposition der Trainingskugel, aus der die Kameraansichten abgetastet werdenRotation (standardmäßig auf 0 ° Vektor eingestellt): Drehung der Trainingskugel, aus der die Kameraansichten abgetastet werdenScale (standardmäßig auf 1 Vektor eingestellt): Skalenvektor der Trainingskugel in XYZ -AchsenRadius (standardmäßig auf 4 m eingestellt): Radius -Skalar der TrainingskugelLens (standardmäßig auf 50 mm eingestellt): Brennweite der TrainingskameraSeedFrames (standardmäßig auf 100 ): Anzahl der Trainingsrahmen, die aus der Trainingskugel abgetastet und gerendert wurdenSphere (standardmäßig deaktiviert): Ob Sie die Trainingskugel zeigen, aus der zufällige Ansichten abgetastet werdenCamera (standardmäßig deaktiviert): Ob die Kamera zur Registrierung der Trainingsdaten verwendet werden sollUpper Views (standardmäßig deaktiviert): Ob Sie nur Ansichten aus der oberen Trainingshemisphäre probieren (Rotationsvariante)Outwards (standardmäßig deaktiviert): ob die Kamera nach außen der Trainingskugel verweisen sollPLAY COS : Spielen Sie die Kamera auf dem Sphere -Methodenbetreiber, um NERF -Daten zu exportieren Beachten Sie, dass die Aktivierung der Sphere und Camera ein leeres Objekt BlenderNeRF Sphere bzw. ein BlenderNeRF Camera -Objekt erzeugt. Bitte erstellen Sie keine Objekte mit diesen Namen manuell, da dies die Zusatzfunktionen brechen kann.
Frames der Trainingsrahmen werden mit dem BlenderNeRF Camera aus dem Szenenstart -Frame erfasst. Beachten Sie schließlich, dass die Trainingskamera festgelegt ist und nicht manuell bewegt werden kann.
NVIDIA bietet einige hilfreiche Tipps zum Training eines NERF -Modells mit Instant NGP. Besuchen Sie ihr Repository für weitere Hilfe. Im Folgenden finden Sie einige schnelle Tipps für optimale Nerfing , die aus persönlicher Erfahrung gewonnen werden.
AABB so eng wie möglich auf die Szenenskala, höhere Werte werden das Training verlangsamenAABB ein und halten Sie sie eine Kraft von 2Vertical Kamerasensoranpassung führt manchmal zu verzerrten Nerf -Volumina. Vermeiden Sie ihn, wenn möglich Wenn Sie Zugriff auf eine NVIDIA -GPU haben, möchten Sie möglicherweise sofortige NGP auf Ihrem eigenen Gerät für eine optimale Benutzererfahrung installieren, indem Sie die in ihrem Repository angegebenen Anweisungen befolgen. Andernfalls können Sie Nerf in einem Colab -Notebook bei Google GPUs kostenlos mit einem Google -Konto ausführen.
Öffnen Sie dieses Colab -Notizbuch (auch hier herunterladbar) und befolgen Sie die Anweisungen.
Dieses Add-On wird im Laufe mehrerer Monate und Versionen von Blender als lustiges Nebenprojekt entwickelt, hauptsächlich auf MacOS. Wenn Sie Probleme mit den Plugin -Funktionen begegnen, können Sie ein Github -Problem mit einer klaren Beschreibung des Problems eröffnen, mit der die Mixerf -Version mit den Problemen aufgetreten sind, und gegebenenfalls weitere Informationen.
Während diese Erweiterung für die Erstellung synthetischer Datensätze bestimmt ist, sind vorhandene Tools zum Importieren von Datenverfolgungsdaten aus realen Kameras vorhanden. Ein solches Beispiel ist Tracky By Shopify , eine Open -Source -App -App und ein benachbartes Mixer -Plugin -Aufzeichnungsbewegungsdaten aus einer Arkit -Sitzung auf dem iPhone. Beachten Sie jedoch, dass die Verfolgung von Daten Drifts und Ungenauigkeiten ausgesetzt sein können, die die resultierende Qualität der NERF -Rekonstruktion beeinflussen können.
Wenn Sie dieses Repository in Ihrer Forschung nützlich finden, sollten Sie Blendernerf unter Verwendung der dedizierten Github -Taste oben zitieren. Wenn Sie diese Erweiterung für Ihre künstlerischen Projekte genutzt haben, können Sie einige Ihrer Arbeiten mit dem #blendernerf -Hashtag in den sozialen Medien teilen! :)