Ein 3D-Modell einfach durch das Aufnehmen vieler Bilder eines realen Objekts erstellen? Ja! Die Photogrammetrie ist wieder da – und sie ist leichter zu benutzen, ergibt bessere Ergebnisse und ist immer noch völlig frei!

Haben Sie unseren ersten Artikel über Photogrammetrie gelesen? Eine kurze Zusammenfassung – anhand vieler Bilder aus allen möglichen Richtungen versucht die Photogrammetrie-Software, die gleichen Merkmale auf mehreren Bildern zu finden. Am Ende erhält man eine sogenannte Punktwolke, ein Bündel von 3D-Punkten, die dem Objekt ähneln. Um ein druckbares Netz zu erhalten, müssen wir die Daten triangulieren. Das kann schwierig sein, weil wir Punkte, die zum Hintergrund gehören, und andere Objekte in der Szene verwerfen müssen. Wir säubern das Modell ein wenig, flicken alle Löcher, slicen es und sind bereit zum Drucken!

Nun, das klingt alles schön und einfach, aber in Wirklichkeit war unser ursprüngliches Tutorial ziemlich <komplex. Zum Glück für uns haben sich die Dinge geändert und ein neuer Spieler ist in den Photogrammetrie-Ring getreten: Treffen Sie Meshroom!

Meshroom/AliceVision

Meshroom ist eine kostenlose, quelloffene Photogrammetrie-Software mit einer schönen Benutzeroberfläche. Sie basiert auf einem zugrundeliegenden Framework namens AliceVision, das das Ergebnis der Zusammenarbeit zwischen mehreren Universitäten & Labs (Tschechische Technische Universität, IMAGINE, INPT, Simula Research Laboratory und Quine) und Mikros Image, einer französischen Postproduktionsfirma, ist.

Meshroom UI

Die grundlegende Interaktion ist so einfach wie möglich. Ziehen Sie Bilder per Drag & Drop in das Meshroom-Fenster, drücken Sie START und warten Sie auf das fertige Modell. Mit Meshroom können Sie jedoch auch Augmented Rekonstruktion durchführen. Das bedeutet, dass Sie einer halbfertigen Lösung weitere Bilder hinzufügen können, falls Sie (in der Vorschau) feststellen, dass einige Bereiche mehr Details benötigen.

Und noch besser, mit Meshroom können Sie Live Rekonstruktion nutzen. In diesem Modus nehmen Sie wiederholt Sätze von Bildern auf, laden sie in einen Ordner hoch und sie werden automatisch verarbeitet. Es wird eine Vorschau angezeigt, und Sie können entscheiden, welcher Teil des Modells mehr Details benötigt. Dann nehmen Sie weitere Bilder auf, und der gesamte Prozess wiederholt sich, bis Sie das Modell aus allen Winkeln erfasst haben.

Sie können die neueste Version von Meshroom hier herunterladen. Es ist sowohl für Windows als auch für OSX/Linux verfügbar (aber Sie müssen es für OSX/Linux kompilieren). Besuchen Sie das Wiki oder die Dokumentations Google-Doc für Installationsanweisungen. Sie benötigen eine CUDA fähige GPU, also nur NVIDIA-Karten 🙁

Aber bevor wir mit Meshroom spielen, wollen wir einige wichtige Schritte durchgehen, die Sie bei der Aufnahme von Bildern für die Fotogrammetrie beachten sollten.

Wie man Bilder für die Photogrammetrie aufnimmt

Kamera & Einstellungen

Eine Smartphone-Kamera wird gut funktionieren, aber wenn Sie eine DSLR haben, ist es noch besser. Wenn Sie eine DSLR verwenden, drehen Sie die Blende auf mindestens 5-6, so dass das gesamte Modell, das Sie aufnehmen wollen, scharf abgebildet wird.

Erwägen Sie die Aufnahme im RAW-Format, wenn Ihre Kamera dies unterstützt. JPEGs sind in der Regel vollkommen in Ordnung, aber das RAW-Dateiformat bietet einige bessere Optionen zur Optimierung der Bildeinstellungen – wie z.B. die Helligkeit. Wenn Sie RAW-Bilder entwickeln oder JPGs bearbeiten, stellen Sie sicher, dass Sie keine Objektivkorrektur-Effekte oder ähnliche Filter anwenden.

Aufnahme der Fotos

Sie sollten mindestens 30 Bilder aufnehmen. Während unserer Tests haben wir oft 50, 100 oder noch mehr Bilder aufgenommen, um jedes Detail zu erfassen. Es dauert nicht annähernd so lange, wie man erwarten würde. Bedenken Sie, dass einige Bilder verworfen werden könnten, wenn das Programm nicht genügend Ähnlichkeiten mit anderen Bildern findet oder wenn sie verschwommen sind.

  1. Bewegen Sie sich kreisförmig um das Zielobjekt. Bewegen Sie nicht das Objekt oder seine Umgebung zwischen den Aufnahmen.
  2. Überlappen! Sie sollten jeden Teil des Modells durch mindestens 2 Bilder erfassen. Im Idealfall haben Sie etwa 60-80% Überlappung bei den nachfolgenden Bildern.
  3. Vermeiden Sie harte Schlagschatten, verwenden Sie diffuses Licht oder nehmen Sie die Bilder im Freien an einem leicht bewölkten Tag auf.
  4. Das Objekt sollte einen signifikanten Teil jedes Bildes einnehmen.
  5. Vermeiden Sie sehr glänzende oder transparente Objekte.

Anontin Dvorak’s Statue – STL Link

Sie können den Kamerazoom verwenden oder sogar Bilder von völlig verschiedenen Kameras mischen, Meshroom ist in dieser Hinsicht wirklich großartig. Aber ändern Sie den Zoom nicht unnötig nach jedem Bild, nur weil Sie es können. Es ist gut, viele Bilder mit der gleichen Kamera und dem gleichen Zoom (Brennweite) aufzunehmen, da dies die notwendigen Grenzen für den internen Kamerakalibrierungsprozess schafft – was wir möchten.

Können Sie stattdessen ein Video machen? Ja… aber tun Sie es nicht. Obwohl es technisch möglich ist, in Einzelbildern gerendertes Video als Input für Meshroom zu verwenden, ist die Qualität im Vergleich zu einem Standard-Standbild wesentlich geringer. Es fehlen die Metadaten der Kamera (Sensorgröße, Objektiv), und Sie müssen Hunderte von Bildern importieren. Das bedeutet, dass die Verarbeitung ewig dauern wird.

Was wäre, wenn Sie die Bilder vor einem perfekt weißen Hintergrund aufnehmen und das Modell zwischen den Bildern drehen würden? Das funktioniert… irgendwie. Die Ergebnisse werden schlechter ausfallen. Wir werden nur Punkte auf dem Objekt haben, die einen kleinen Teil des Bildes darstellen, so dass die Kameraparameter weniger eingeschränkt sind, was zu weniger präzisen Ergebnissen führt.

Ideale Ziele für die Photogrammetrie sind strukturierte oder grobe Gegenstände (z.B. Statuen). Wenn es eine Option ist, können Sie glänzende oder transparente Objekte mit Pulver (Mehl/Kreidespray) abdecken, um Reflexionen zu vermeiden. Oder die glänzende Oberfläche mit einem Malerklebeband abdecken.

Standard-Rekonstruktion

Sie werden höchstwahrscheinlich die Standard-Rekonstruktion verwenden, wenn Sie zuvor im Freien aufgenommene Fotos verarbeiten, und Sie nicht einfach mehr davon aufnehmen können. Wir gehen davon aus, dass Sie bereits alle erforderlichen Bilder aufgenommen haben, nach Hause gekommen sind und nun das 3D-Modell rekonstruieren wollen. Der Arbeitsablauf ist wirklich einfach:

  1. Kopieren Sie alle Bilder in einen Ordner auf Ihrer Festplatte
  2. Ziehen Sie den Ordner (oder die einzelnen Bilder) per Drag & Drop in das Meshroom-Fenster
  3. Speichern Sie das Projekt mit File – Save an einem Ziel Ihrer Wahl (sonst wird die Rekonstruktion in einem temporären Ordner gespeichert)
  4. Drücken Sie Start oder Klicken Sie mit der rechten Maustaste den Knoten der StructureFromMotion (SFM) und drücken Sie Compute
    • Es ist besser, den SFM zu berechnen, da Sie die Vorschau innerhalb von Minuten sehen werden
  5. Schnappen Sie sich einen Kaffee und warten Sie – das wird einige Zeit dauern 🙂
    • Die Knoten am unteren Ende werden nach und nach grün, wenn sie abgeschlossen sind.
    • Sie können jederzeit auf Stopp drücken und die Rekonstruktion später wieder aufnehmen.

Sobald die StructureFromMotion-Knoten abgeschlossen sind, wird Ihnen eine Vorschau angezeigt (doppelklicken Sie auf den Knoten, um die Vorschau zu laden, falls sie nicht automatisch geladen wird). Alle Bilder, die bei der Rekonstruktion erfolgreich verwendet wurden, haben einen grünes Häkchen.

Verworfene Fotos sind mit einem roten Minuszeichen markiert

Wenn Sie feststellen, dass eine beträchtliche Anzahl von Bildern verworfen wurde und in der Vorschau nur wenige Kameras zu sehen sind, macht es wenig bis gar keinen Sinn, den Wiederaufbau fortzusetzen. Sie müssen entweder bessere Bilder aufnehmen, die Rekonstruktion mit mehr Bildern ergänzen (im nächsten Kapitel erläutert), oder mit den Einstellungen spielen.

Sobald die vollständige Rekonstruktion abgeschlossen ist, können Sie auf den Textur-Knoten doppelklicken, um eine Vorschau des endgültigen Netzes zu sehen.

Sie können mit der rechten Maustaste auf jeden der abgeschlossenen Knoten klicken und Open folder wählen. Öffnen Sie den Texturing oder MeshFiltering Ordner, um die Ausgabedatei in einem häufig verwendeten Wavefront .obj-Format zu finden.

Die echte Spinx-Statue und ein fertiger Druck, laden Sie das Modell hier herunter

Obwohl die Ausgabedatei direkt in PrusaSlicer importiert werden kann, werden Sie höchstwahrscheinlich zumindest einige sehr grundlegende Bereinigungen des Modells vornehmen wollen, bevor Sie es drucken.

Suchen Sie nach Beispielfotos, damit Sie die Photogrammetrie ohne allzu großen Aufwand ausprobieren können? Die Schöpfer von 3DF Zephyr, einer weiteren großartigen Photogrammetrie-Software, haben Beispielfotos auf ihrer Webseite, Sie finden sie hier.

Augmented Rekonstruction

Nehmen wir an, Sie scannen etwas zu Hause – einen niedlichen Tonsaurier, den Ihr Kind gemacht hat, Ihre Lieblings-Actionfigur oder Ihre Gitarre. Sie haben etwa 60 Bilder gemacht, und die Rekonstruktion läuft gut. Bis auf einen Bereich, den Sie nicht gut erfasst haben, wurden einige Bilder verworfen, und diesem Teil des Modells fehlen nun viele Details.

Mit Meshroom können Sie einfach mehr Bilder machen und sie zu einer bestehenden Rekonstruktion hinzufügen! Wir können nicht genug betonen, wie nützlich diese Funktion ist. Sie hat uns bei unseren Tests viel Zeit gespart.

Es ist wichtig, dass Sie das Objekt nicht zwischen den einzelnen Bildreihen bewegt haben. Wenn Sie es verschoben haben, können Sie die Rekonstruktion nicht mehr ergänzen.

Wenn Sie Bilder aufnehmen müssen, um einen schlecht aufgenommenen Bereich auszufüllen, empfehlen wir Ihnen, etwa 5 bis 10 Fotos zu machen. Und Sie können versuchen, mehrere Bereiche auf einmal auszufüllen. Neue Bilder werden mit dem ursprünglichen Fotosatz abgeglichen. Das bedeutet, dass das Hinzufügen neuer Bilder sogar dazu führen kann, dass zuvor verworfene Bilder erfolgreich mit der neuen Serie abgeglichen werden.

Immer wenn Sie eine Reihe von Bildern zu einer bestehenden Rekonstruktion hinzufügen, erscheint ein neuer Zweig im Grafik-Editor. Sie müssen nur alles bis zum StructureFromMotion-Knoten (Klicken Sie mit der rechten Maustaste darauf und wählen Sie Compute), was normalerweise ziemlich schnell geht. Sobald er grün wird, können Sie auf den Knoten doppelklicken, um die Vorschau im 3D-Viewer-Fenster zu aktualisieren.

Wenn Sie glauben, dass Sie genug Bilder für die endgültige Rekonstruktion haben, klicken Sie mit der rechten Maustaste auf den Knoten ganz unten rechts (Texturing) und drücken Sie die Taste Compute. Dies kann sehr zeitaufwendig sein, daher ist es wirklich vorteilhaft, die vollständige Rekonstruktion nur auf dem letzten Zweig mit allen Bildern durchzuführen.

Eine Aktionsfigur, die mit der Augmented Rekonstruktion neu erstellt wurde

 

Live Rekonstruktion

Die unterhaltsamste Art, mit Photogrammetrie zu arbeiten! Sie richten einen Ordner ein, der von Meshroom überwacht wird. Immer wenn Sie Bilder in diesen Ordner kopieren, werden diese automatisch verarbeitet und der Rekonstruktion hinzugefügt. Machen Sie nach und nach mehr Bilder und beobachten Sie, wie sich das Modell verbessert. Am Ende können Sie Meshroom endlich das volltexturierte Modell berechnen lassen.

Die erste Bilderserie sollte mindestens 10-20 Bilder umfassen und sich auf die allgemeine Form des Objekts konzentrieren. Wenn Sie die gesamte Vorderseite des Objekts und dann die gesamte Rückseite erfassen, müssen Sie wahrscheinlich eine Brücke zwischen diesen Bilderserien erstellen. Sie können das tun, indem Sie Bilder aufnehmen, die in kleinen Schritten von der Vorderseite zur Rückseite übergehen.

Vorgehen

  1. Wählen Sie View – Live Reconstruction
  2. Wählen Sie den Image folder und die Mindestanzahl der Bilder, die bei jedem Schritt verarbeitet werden (halten Sie dies über 4)
  3. DRücken Sie Start im Live-Rekonstruktion-Panel
  4. Beginnen Sie mit dem Kopieren von Bildern in den Bildordner

Die Mindestanzahl der Bilder ist standardmäßig auf 4 eingestellt, aber wir empfehlen, in jeder Serie noch mehr Bilder aufzunehmen. 

Am Ende gibt es einen kleinen Haken. Um das texturierte Modell zu generieren, müssen Sie den letzten StructureFromMotion Knoten mit dem PrepareDenseScene Knoten verknüpfen.

  1. Klicken Sie mit der rechten Maustaste auf den Link zwischen dem ersten StructureFromMotion und PrepareDenseScene Knoten
  2. Wählen Sie Remove
  3. Ziehen Sie einen neuen Link von der untersten StructureFromMotion Ausgabe zum PrepareDenseScene Eingabe
  4. Rechtsklick auf Texturing und drücken Sie Compute

Hydrant – Live Rekonstruktion

Modelle für den Druck vorbereiten – Löcher verschließen & Reparatur

Fast alle durch 3D-Scannen oder Photogrammetrie erzeugten Netze weisen an der Unterseite ein Loch auf. Zum Glück brauchen wir eine flache Unterlage, die ohnehin leicht auf das Druckbett gelegt werden kann, so dass ein einfacher Planschnitt in Meshmixer, Blender, 3D-Builder (oder jedem anderen Programm, das Sie bevorzugen) ausreicht.

Auch der Maßstab des Modells wird ziemlich zufällig sein, also wundern Sie sich nicht, wenn das Modell nach dem Import wirklich winzig klein ist. Vergrößern Sie es einfach.

Es gibt insbesondere eine Technik, die eine perfekte Kombination mit der Photogrammetrie darstellt, und zwar Sculpting. Wir werden in der Zukunft einen separaten Artikel darüber schreiben, aber in der Zwischenzeit können Sie sich gerne vorhandene Tutorials ansehen, wie dieses

Wir empfehlen dringend, das Meshroom Wiki. Es gibt eine Menge Informationen darüber, wie man einige Fehler, auf die Sie stoßen könnten, lösen kann und welche Parameter es wert sind, mit ihnen zu spielen. Und wenn Sie einen Beitrag leisten wollen, ist das sogar noch besser, schicken Sie eine Zugriffsanfrage oder kontaktieren Sie die Entwickler per E-Mail.

Photogrammetrie Druck Galerie

Zusammenfassung

Dank Meshroom ist die Photogrammetrie jetzt einfacher denn je. Die Ausgabe-Meshes sind nicht sofort druckfertig, aber mit einigen geringfügigen Änderungen können Sie absolut beeindruckende Ergebnisse sowohl für den 3D-Druck als auch für die Spiele-/Animationsindustrie erzielen. Und das Ganze ist quelloffen! Wir können also Updates oder sogar 3D-Druck-spezifische Verbesserungen erwarten. Vor allem, wenn wir als Gemeinschaft die Entwicklung auch auf kleinste Weise unterstützen – etwa durch die Dokumentation von Fehlern oder durch die gemeinsame Nutzung guter Einstellungen.

Sie sind also überzeugt, dass es an der Zeit ist, der Fotogrammetrie eine weitere Chance zu geben? Worauf warten Sie noch, gehen Sie und scannen Sie die Welt! 🙂