In dieser Folge der grundlegenden Tutorialreihe zur Drehteller-Photogrammetrie sehen wir uns an, wie man aus den Bildern mit Transparenz, die am Ende der vorherigen Folge in Blender erzeugt wurden, die High-Poly-Geometrie rekonstruiert.



Videotranskript

Hallo zusammen! In dieser Folge der grundlegenden Tutorialreihe zur Drehteller-Photogrammetrie sehen wir uns an, wie man aus den Bildern mit Transparenz, die am Ende der vorherigen Folge in Blender erzeugt wurden, die High-Poly-Geometrie rekonstruiert.

Unter anderem werden wir sehen, wie man den Prozess auf halbem Weg unterbrechen kann, um den Rekonstruktionsbereich anzupassen, und ihn anschließend an derselben Stelle fortsetzt.

Zunächst öffne ich das Meshroom-Projekt, das ich in der zweiten Folge erstellt und nach dem Setzen des Feldes Minimal 2D Motion im Node Feature Matching auf den Wert 2 gespeichert habe.

Ich importiere die gerenderten Bilder aus Blender in den Reiter Image Gallery. Wie man am roten Verschlusssymbol erkennen kann, enthalten die Bilder diesmal keine zusätzlichen Informationen mehr, da es sich nicht mehr um die ursprünglichen Fotografien handelt, sondern um in Blender erzeugte Renderings.

Durch die Verwendung des Nodes Image Masking, den wir in der zweiten Folge betrachtet haben, bleiben die ursprünglichen Daten erhalten, allerdings ist das Entfernen des grünen Hintergrunds etwas schwieriger. Andererseits lässt sich in Blender ein besseres Color Keying erzielen, allerdings auf Kosten der ursprünglichen EXIF-Daten. Das ist jedoch kein großes Problem, denn Meshroom wird damit hervorragend umgehen, wie wir gleich sehen werden.

Ich speichere das Meshroom-Projekt mit den neuen Daten und klicke auf eine freie Stelle im Graph Editor, um die Auswahl aller Nodes aufzuheben. Anschließend starte ich die Rekonstruktion mit einem Klick auf Start.

Wenn ich nun einen Blick in den Ordner werfe, in dem ich die MG-Datei des Projekts gespeichert habe, sehe ich den Ordner Meshroom Cache und dessen Unterordner, in denen Meshroom die Log-Dateien und temporären Arbeitsdateien der verschiedenen Nodes speichert.

Diese Funktion von Meshroom ist sehr nützlich, da sie es ermöglicht, nur bestimmte Informationsabschnitte zu verarbeiten, während sie durch die einzelnen Nodes laufen.

Während der Verarbeitung zeigt ein Fortschrittsbalken im oberen Bereich den Gesamtfortschritt der Pipeline an, während jeder Node zusätzlich über einen eigenen Fortschrittsbalken verfügt. In beiden Fällen bedeutet die grüne Farbe, dass der Vorgang erfolgreich abgeschlossen wurde. Orange bedeutet, dass der Prozess noch läuft. Rot weist auf einen Fehler hin. Cyan zeigt an, dass sich der Node in der Ausführungswarteschlange befindet.

Diese Fortschrittsanzeigen können im Reiter Task Manager genauer untersucht werden. Zusätzliche Informationen befinden sich im Abschnitt Log jedes Nodes.

Eine weitere nützliche Funktion besteht darin, dass Meshroom beim Unterbrechen eines Prozesses und dessen späterem Neustart neue Unterordner für die verschiedenen Nodes erstellt. Dadurch gehen die bisherigen Ergebnisse nicht verloren, und man hat weiterhin Zugriff auf die einzelnen Verarbeitungsschritte.

Apropos Unterbrechungen: Ich klicke auf Stop, sobald die Verarbeitung Structure From Motion abgeschlossen ist. Das ist der erste Teil der Pipeline. So kann ich einige neue Daten überprüfen und den Rekonstruktionsbereich anpassen, der als Bounding Box bezeichnet wird.

Zunächst sehen wir im unteren Bereich des Reiters Image Gallery, dass Meshroom alle 146 Eingabebilder erkannt und verarbeitet hat, was meiner Meinung nach ein ausgezeichnetes Ergebnis ist.

Im Reiter 3D Viewer befinden sich Symbole, die verschiedene Kameras darstellen. Diese Symbole zeigen die Standpunkte an, von denen aus die Fotos aufgenommen wurden. Wenn man in der Image Gallery auf ein Foto klickt, wird die entsprechende Kamera im 3D Viewer ausgewählt.

Die Ansicht im 3D Viewer kann durch Klicken und Ziehen mit der linken Maustaste um einen Pivotpunkt rotiert werden. Gezoomt wird mit dem Mausrad. Durch Drücken des Mausrads beziehungsweise der mittleren Maustaste lässt sich die Ansicht verschieben. Der Pivotpunkt kann durch einen Doppelklick auf ein Element innerhalb der 3D-Ansicht neu positioniert werden.

Nun kann ich den Node Meshing auswählen und die Option Custom Bounding Box aktivieren, um einen benutzerdefinierten Rekonstruktionsbereich festzulegen. Diese Szene ist nicht besonders komplex, sodass dieser Schritt vielleicht unnötig erscheint. In anderen Situationen kann diese Option jedoch sehr nützlich sein, um die Rekonstruktion auf das tatsächlich benötigte Gebiet zu beschränken.

Das bloße Aktivieren der Option Custom Bounding Box reicht jedoch nicht aus, um das Rekonstruktionsvolumen anzuzeigen. In Meshroom genügt es nicht, einen Node auszuwählen, um dessen spezifische Informationen oder Funktionen anzuzeigen. Man muss ihn doppelt anklicken.

Jetzt kann ich die Bounding Box interaktiv mithilfe der Transformationsmanipulatoren definieren, die in ihrem Zentrum erscheinen. Mit den Pfeilen lässt sich das Zentrum der Bounding Box verschieben. Die Quadrate ermöglichen das Skalieren entlang einer ihrer Achsen. Die Kreise dienen dazu, sie um die Achsen zu drehen.

Nachdem die Bounding Box definiert wurde, kann ich auf Start klicken, um die Pipeline zur Geometrierekonstruktion an der Stelle fortzusetzen, an der sie unterbrochen wurde.

Wenn wir nun einen Unterordner im Cache des Projekts betrachten, sehen wir, dass ein neuer Ordner erstellt wurde. Das liegt daran, dass die vorherige Pipeline unterbrochen wurde und die neuen Daten deshalb in einem neuen Unterordner gespeichert werden.

Diese Unterordner haben standardmäßig recht allgemeine Namen, aber man kann sie in den Feldern Folder der verschiedenen Nodes umbenennen. Das ist besonders nützlich, wenn man mehrere Tests mit unterschiedlichen Parametern durchführen möchte, da sich die Ordner anhand der vorgenommenen Änderungen benennen lassen. Alternativ kann man die Ordner einfach nach Datum sortieren, um das aktuellste Verarbeitungsergebnis schnell zu finden.

Ich habe die Videoaufzeichnung am Ende des letzten Verarbeitungsschritts fortgesetzt, nämlich Texturing. Vor dem Start des Prozesses habe ich die Standardparameter dieses Nodes nicht verändert. Daher sollte Meshroom eine OBJ-Datei mit einer Base-Color-Textur im EXR-Format erstellt haben, wobei für das UV-Unwrapping die UDIM-Methode verwendet wurde.

In den Menüoptionen von Meshroom sehe ich jedoch nichts, das auf einen Export dieses Meshes an einen bestimmten Speicherort auf der Festplatte hindeutet.

Das ist jedoch kein Problem, denn das Mesh und seine Textur wurden bereits auf der Festplatte gespeichert. Die Dateipfade befinden sich im unteren Bereich des Reiters Attributes des Nodes Texturing.

Noch einfacher gesagt befinden sich die Dateien im neuesten Unterordner innerhalb von Texturing.

Ich kopiere die EXR- und OBJ-Dateien in den Hauptordner des Projekts und benenne die Kopien in High Poly um, damit die Originale sicher erhalten bleiben und ich in Blender mit den Kopien arbeiten kann.

Ich speichere die Änderungen am Projekt in Meshroom und schließe das Programm. Ich werde es später erneut öffnen, wenn ich die Texturen von der High-Poly-Version auf die Low-Poly-Version baken muss. In der nächsten Folge zeige ich, wie man die High-Poly-Version in Blender importiert und bereinigt, bevor die Low-Poly-Version erstellt wird. Bis zum nächsten Mal!

Tutorials durchsuchen

Geben Sie eine Suchphrase oder mehrere durch Kommas getrennte Schlüsselwörter ein.

3D-Modelle, Tutorials und Ressourcen zur Computergrafik von Francesco Milanese. Nutzungslizenzen für die 3D-Modelle können über die auf den jeweiligen Seiten verlinkten externen Shops zu den jeweils geltenden Lizenzbedingungen erworben werden. Francesco Milanese — Italienische Umsatzsteuernummer (Partita IVA): 06321250877. Kontakt: info@francescomilanese.com


ERWEITERTE DATENSCHUTZ- UND COOKIE-VERWENDUNGSRICHTLINIEN