3DCV Workshop 03 & 04 - 3D Object & Scene Reconstruction: Bericht¶
Marcel Ritter Buisan¶
1. Einleitung¶
In der 3D-Rekonstruktion werden aus zweidimensionalen Bildern oder Videos dreidimensionale Modelle von Objekten oder Szenen erzeugt. Traditionell werden 3D-Objekte anhand von Methoden wie Structure for Motion und Multi View Stereo rekonstruiert. In den vergangenen Jahren haben jedoch KI-basierte Ansätze zunehmend an Bedeutung gewonnen. Ziel des Workshops war es, verschiedene Methoden der 3D-Rekonstruktion, sowohl klassisch als auch KI-gestützt, zu vergleichen. Dabei wurde ein eigenes reales Objekt fotografiert und mit verschiedenen Methoden und Ansätzen als 3D-Modell rekonstruiert. Den Teilnehmern sollte der Workshop ein besseres Verständnis vermitteln, wie gut die verschiedenen Ansätze funktionieren. Außerdem sollte aufgezeigt werden, ob klassische Tools auch in Zukunft noch eine wichtige Rolle spielen oder ob sie durch KI-Methoden ersetzt werden.
2. Schlüsselfrage¶
Sind klassische, geometriebasierte Verfahren wie COLMAP oder Meshroom noch notwendig oder reichen moderne KI-Methoden für die 3D-Rekonstruktion aus?¶
3. Methoden und Einrichtung¶
Genutzte Geräte¶
- Google Pixel 8 Pro Smartphone Kamera
- Siedle PC im Masterpool (RTX 4070 TI Super, 64GB Ram, AMD 7 Prozessor)
Auf dem Computer installierte Software/Tools¶
- Meshroom
- VGGT
- Segment Anything
Für den Vergleich genutzte Software/Tools¶
- COLMAP
- Spann3R
- Mast3r
- Kiri Engine
- Polycam
Gewähltes Objekt¶
- Cowboy-Spielfigur und als Szene der I-Bau.
- Die Cowboy-Spielfigur wurde zu Beginn vor einem schwarzen Tuch fotografiert. Dabei wurde das Objekt per Hand gedreht, während die Kamera auf einem Stativ an derselben Stelle geblieben ist und Bilder gemacht hat. Anschließend wurde die Kamera etwas nach oben gerichtet, um noch Bilder des realen Objekts von oben zu bekommen. Dabei wurde das Objekt wieder per Hand gedreht.
-
Um weitere Vergleiche zu bekommen, wurde die Cowboy-Spielfigur später auch so fotografiert, dass die Kamera um das Objekt bewegt wurde. Die Cowboy-Spielfigur wurde dabei nicht bewegt. Die Bilder erhielten dadurch keinen schwarzen Hintergrund mehr, sondern den Hintergrund der Umgebung.
-
Der I-Bau wurde vom Boden aus von allen Seiten und aus verschiedenen Perspektiven fotografiert. Zudem wurden zwei Bilder von weiter oben aus den Nachbargebäuden gemacht. Einmal gegenüber vom Haupteingang und einmal links neben dem Haupteingang des I-Baus.
4. Toolbezogene Analyse und Erkenntnisse¶
In diesem Abschnitt wird auf die auf dem Computer installierten Tools (Meshroom, VGGT und Segment Anything) eingegangen. Dabei wird die Installation, die Nutzung und die gewonnenen Erkenntnisse beschrieben.
4.1 Meshroom¶
Beschreibung: Meshroom basiert auf dem AliceVision-Framework und bietet einen grafischen Arbeitsablauf für SfM und MVS. Es richtet sich an visuell orientierte Nutzer, die eine Benutzeroberfläche bevorzugen. Zudem können die einzelnen Schritte der Rekonstruktion direkt in der Software eingesehen werden.
Installation & Nutzung: Die Installation von Meshroom ist unkompliziert. Auf der Webseite kann das Programm für Windows oder Linux heruntergeladen werden. Nach dem Download erhält der Nutzer eine ZIP-Datei, die nach dem Entpacken die EXE-Datei zum Ausführen des Programms enthält. Nach dem Öffnen des Programms zieht der Nutzer die Aufnahmen seines realen Modells in das Programm, wählt einen Speicherort für das Projekt und drückt auf Start. Nachdem der Rekonstruktions-Prozess abgeschlossen ist, erhält der Nutzer ein fertiges 3D-Objekt. Dieses findet er als obj. Datei im zuvor gewählten Speicherort unter Meshroom Cache > Texturing.
Eigene Erfahrungen:
- Die Berechnungen und Ergebnisse von Meshroom schlugen immer wieder fehl, als die Bilder des Cowboys vor schwarzem Hintergrund in voller Fotoqualität mit 50 MP und einer Auflösung von 8192 × 6144 Pixel verarbeitet werden sollten. Offenbar kam die Software mit der extrem hohen Auflösung nicht zurecht, was zu Abstürzen oder unvollständigen Rekonstruktionen führte.
- Nachdem die Bilder anhand eines Python-Scripts auf eine Auflösung von 4080 × 3072 Pixel herunterskaliert wurden, schlug die Rekonstruktion nicht mehr fehl. Allerdings wurden die Kamerapositionen und das 3D Modell weiterhin nicht richtig berechnet.
- Die komprimierten Bilder wurden anschließend mit Segment Anything von Meta AI segmentiert und die größte Maske (der Hintergrund) entfernt. Dadurch hatte das Modell auf den Bildern einen transparenten Hintergrund. Das 3D-Modell sah zwar etwas besser aus als zuvor mit schwarzem Hintergrund. Allerdings schlug die Berechnung der Kameras weiter fehl, was dazu führte, dass nur eine Seite des Objekts korrekt rekonstruiert wurde.
- Auch als der Hintergrund mit Segment Anything entfernt und durch schwarze Bildpixel ersetzt wurde, konnten die Kamerapositionen nicht korrekt berechnet werden.
- Erst nachdem das Objekt mithilfe eines Pythonskripts zugeschnitten, die Transparenz entfernt und durch den ursprünglichen Hintergrund ersetzt sowie alle Bilder auf eine einheitliche Größe gebracht wurden, konnte Meshroom das Objekt korrekt rekonstruieren. Auch konnten dadurch die Kamerapositionen berechnet werden. Dies verdeutlicht, dass Meshroom eine saubere, standardisierte und texturreiche Bildbasis benötigt, um korrekt zu funktionieren.
Komprimierte Bilder mit Originalhintergrund
Komprimierte Bilder mit transparentem Hintergrund
Komprimierte Bilder, zugeschnitten, mit originalem Hintergrund und auf die gleiche Bildgröße gebracht. Hier konnte das Modell korrekt rekonstruiert werden.
- Um Meshroom weiter zu testen, wurden Bilder des Objekts, welche mit der um das Objekt bewegenden Kamera aufgenommen wurden, in Meshroom geladen. Die Rekonstruktion schlug jedoch fehl und zeigte, dass Meshroom Schwierigkeiten hat, relevante Objektmerkmale von störenden Hintergrundinformationen zu trennen.
Cowboy fotografiert mit Kameradrehung. Die Rekonstruktion schlug fehl.
- Auch wurden die Fotos des I-Baus in Meshroom geladen. Allerdings konnten die Kamerapositionen nicht richtig berechnet, wie auch die Szene nicht korrekt rekonstruiert werden.
Der I-Bau konnte mit Meshroom nicht richtig rekonstruiert werden.
Vorteile:
- Intuitive Oberfläche
- Open Source
- Gute Visualisierung des Workflows
Nachteile:
- Teilweise instabil bei einer großen Anzahl an Bildern
- Schwierigkeiten mit Transparenten Hintergründen
- Schwierigkeiten mit Hochauflösenden Bildern
- Schwierigkeiten mit störenden Hintergrundinformationen
- Lange Rechenzeiten bei vielen Bildern
- Rekonstruktion der I-Bau Szene hat nicht funktioniert
4.2 VGGT¶
Beschreibung:
VGGT (Visual Geometry Grounded Transformer) ist ein modernes, KI-basiertes Verfahren zur 3D-Rekonstruktion. Im Gegensatz zu klassischen SfM/MVS-Methoden nutzt VGGT ein rein neuronales Modell, das in einem einzigen Durchlauf aus Bildern automatisch Kamera-Parameter, Tiefenkarten, Punktwolken und 3D-Strukturen ableitet.
Installation & Nutzung:
- Für die Nutzung ist die Python-Version 3.11 notwendig. Auf dem Computer war die Python-Version 3.13 installiert. Die Python-Version auf dem Computer musste somit zuerst auf die Version 3.11 downgegraded werden.
- Das Github Repository https://github.com/facebookresearch/vggt wurde anschließend auf den Computer geklont.
- Nachdem im Terminal der Pfad zur Datei angegeben wurde, wurde mit dem Befehl
pip install -r requirements.txt
die Kernabhängigkeiten installiert. Anschließend wurde mit folgendem Befehl die passende PyTorch-Version installiert:pip install torch==2.3.1+cu118 torchvision==0.18.1+cu118 -f https://download.pytorch.org/whl/torch_stable.html
. Der Computer hatte zuvor eine neuere PyTorch-Version. Diese musste durch diese ältere Version ersetzt werden. - Zudem musste der Befehl:
pip install --upgrade gradio
ausgeführt werden. - Anschließend wurde mit
pip install -r requirements_demo.txt
die Demo-Visualisierung installiert. Die Installation schlug allerdings fehl, da die Installation des Checkpoints Modells über die Command Prompt fehlschlug. Das Modell musste daher manuell von der Webseite https://github.com/facebookresearch/vggt/blob/main/docs/package.md installiert und in den Ordner.cache\torch\hub\checkpoints
verschoben werden. - Mit dem Befehl
python demo_gradio.py
wird ein Lokalhost Server gestartet, auf dem die Demovisualisierung läuft. Auf dieser konnten die Bilder hochgeladen und das 3D-Modell rekonstruiert werden.
Eigene Erfahrungen:
- VGGT rekonstruiert in Sekundenschnelle aus den Bildern des Objekts ein 3D-Modell aus Punktwolken.
- Im Vergleich zu Meshroom konnte ein 3D-Modell aus den Bildern mit originalem schwarzem Hintergrund problemlos erstellt werden. Allerdings ist das Ergebnis etwas verzerrt.
- Der Hintergrund wurde anschließend mit Segment Anything entfernt und durch schwarze Bildpixel ersetzt. Das Ergebnis ist anschließend nicht mehr so verzerrt wie mit dem Originalhintergrund. Meshroom im Vergleich konnte mit diesen Bildern kein Modell rekonstruieren.
Rekonstruktion des Objektes in ein 3D-Modell mit VGGT, mit Originalhintergrund.
Rekonstruktion des Objektes in ein 3D-Modell mit VGGT, mit entferntem und durch schwarze Bildpixel ersetzten Hintergrund.
- Auch das Objekt, welches mit bewegter Kamera fotografiert wurde, konnte im Vergleich zu Meshroom gut rekonstruiert und die Kameraposition korrekt berechnet werden.
Rekonstruktion des Objektes in ein 3D-Modell mit VGGT. Das Objekt wurde fotografiert, indem sich die Kamera um das Objekt bewegte.
- Der I-Bau konnte mit VGGT im Vergleich zu Meshroom korrekt rekonstruiert werden. Auch ohne Fotos von oben.
Rekonstruktion des I-Baus in ein 3D Modell mit VGGT.
Rekonstruktion des I-Baus in ein 3D-Modell mit VGGT. Funktioniert auch ohne Fotos von höheren Perspektiven.
Vorteile:
- Hohe Genauigkeit
- Sehr schnelle Rekonstruktion
- Unterstützt wenige bis viele Bilder
- Kann Szenen gut rekonstruieren. Die Rekonstruktion des I-Baus hat erfolgreich funktioniert.
Nachteile:
- Die Anwendung muss nach jeder Rekonstruktion geschlossen und erneut geöffnet werden, da sich das sonst stark auf die Rekonstruktionszeit auswirkt.
4.3 Segment Anything¶
Beschreibung:
Segment Anything ist ein Open-Source-Projekt von Meta AI, das darauf abzielt, eine universelle Segmentierungs-KI bereitzustellen. Mit Segment Anything können beliebige Objekte in Bildern erkannt und segmentiert werden. Es handelt sich somit hiermit nicht um eine Methode zur Rekonstruktion von 3D-Modellen, sondern es dient dazu, die Rekonstruktion zu verbessern, indem der Hintergrund der Bilder entfernt und angepasst werden kann, bevor die eigentliche Rekonstruktion durch 3D Rekonstruktions-Methoden stattfindet.
Installation:
- Segment Anything lässt sich mit folgendem Befehl klonen:
git clone https://github.com/facebookresearch/segment-anything.git
- Zudem muss Pytorch installiert sein.
- Anschließend müssen die Abhängigkeiten mit folgendem Befehl installiert werden:
pip install -r requirements.txt
. - Zudem muss das Modell Checkpoint heruntergeladen werden. Das große Modell
sam_vit_h_4b8939.pth
hat auf dem Computer problemlos funktioniert. - Anschließend wird ein Skript erstellt, welches die größte Maske identifiziert und diese mit transparenten Pixel austauscht. Alle Bilder werden aus dem Input-Ordner genommen und die fertigen Ergebnisse in den Output-Ordner gespeichert.
Eigene Erfahrungen:
- Ein Skript zu erstellen, welches den Hintergrund entfernt, war technisch herausfordernd.
Objekt mit Originalhintergrund.
Hintergrund entfernt mit Segment Anything
- Anhand eines Python-Skripts lässt sich der transparente Hintergrund durch bspw. ein weißes ersetzen.
Transparenter Hintergrund durch weiße Pixel ersetzt.
Vorteile:
- Sehr hohe Segmentierungsqualität
Nachteile:
- Rechenintensiv bei großen Bildern
- Keine GUI
- Eigenes Skript notwendig
5. Ergebnisse¶
Die Ergebnisse sind von oben nach unten absteigend nach Qualität sortiert.
Polycam¶
- Am detailliertesten und am besten proportioniert. Mensch und Pferd sind deutlich erkennbar. Die Geometrie wirkt sauber und geglättet.
Kiri Engine¶
- Gute Erfassung der Gesamtform. Der Reiter und das Pferd sind klar zu identifizieren.
- Leichte Detailverluste und eine rauere Oberfläche als bei Polycam, aber insgesamt stimmig.
COLMAP¶
- Die grobe Struktur ist erhalten, Details teilweise vorhanden.
- Viele Artefakte, teilweise rauschige Oberfläche.
VGGT¶
- Ähnlich wie COLMAP, brauchbare Rekonstruktion.
- Weniger Details, wirkt verwaschen (insbesondere das Gesicht und der Hut).
Meshroom¶
- Grundform ist da.
- Fehlende Details, große Lücken, schlechte Auflösung.
Mast3r¶
- Extrem viele Artefakte und geometrische Fehler. Starke Verzerrungen und unbrauchbar für visuelle Anwendungen.
Spann3r¶
- Sehr fragmentiert, kaum erkennbar, stark beschädigt. Die Struktur ist kaum interpretierbar.
3D Modelle¶

Meshroom

VGGT

COLMAP

Kiri Engine

Spann3r

Mast3r

Polycam
6. Reflexion¶
Klassische, geometriebasierte Verfahren (Meshroom & COLMAP)¶
Vorteile¶
- Keine GPU für COLMAP erforderlich, auch auf CPU lauffähig
- Transparent und nachvollziehbar: Jeder Rekonstruktionsschritt wird in Meshroom angezeigt
Nachteile¶
- Rechenintensiv bei vielen Bildern
- Funktioniert nicht gut mit transparentem Hintergrund
- Empfindlich gegenüber Bildauflösung, Bildformat und Hintergrundbeschaffenheit
- Benötigt kontrollierte Bildumgebung mit möglichst wenig visueller Ablenkung im Hintergrund
- Funktioniert nicht gut mit Räumlichen Szenen
- Fehleranfällig bei schlechten Lichtverhältnissen
KI-Basierte Methoden¶
Vorteile¶
- Deutlich schneller im Vergleich zu klassichen Verfahren (insbesondere VGGT)
- Polycam und Kiri Engine liefern hier bessere Ergebnisse als COLMAP und Meshroom
- Meist bessere und detailliertere Ergebnisse als klassische Verfahren bei nicht optimalen Bildbedingungen
- Funktioniert gut mit Räumlichen Szenen
- Funktioniert oft auch bei schwierigen Texturen oder Szenen
- Funktioniert auch gut mit wenigen Bildern
Nachteile¶
- Abhängig von starker GPU-Hardware.
- Nicht alle KI-Methoden schneiden besser ab als Klassische Verfahren (siehe Mast3r und Spann3r)
Genauigkeit & Konsistenz¶
- Die meisten in diesem Workshop getesteten KI-basierten Methoden liefern bei Objekten und Szenen erstaunlich gute Ergebnisse, auch bei schlechteren Lichtverhältnissen. Zudem liefern die Methoden auch mit wenigen Bildern hervorragende Ergebnisse. Auch liegen viele KI-Methoden bei der Rekonstruktion von räumlichen 3D-Modellen, Objekten mit störendem Hintergrund und schlechten Lichtverhältnissen und in der Rekonstruktionszeit (besonders bei VGGT) im Vergleich zu klassischen Methoden klar im Vorteil.
7. Ausblick auf die Zukunft¶
- In diesem Workshop wurde gezeigt, dass viele KI-Modelle bereits bessere Ergebnisse liefern im Vergleich zu klassischen Methoden. Besonders bei wenigen Bildern, räumlichen Szenen, Objekten mit störendem Hintergrund oder schlechten Lichtverhältnissen. Zudem liefern KI-Modelle (besonders VGGT) schnelle Ergebnisse. Diese schnellen Rekonstruktionszeiten der KI-Methoden könnten in Zukunft sehr relevant werden, insbesondere für die Echtzeit-Rekonstruktion. Es ist somit zu erwarten, dass in Zukunft KI-gestützte Methoden der Standard für viele Anwendungsbereiche sein werden, speziell dort, wo Geschwindigkeit, geringe Benutzerinteraktion oder schwierige Bildbedingungen eine Rolle spielen. Zudem werden mit dem stetigen Fortschritt der Hardware in Zukunft auch die KI-Methoden immer leistungsfähiger und dadurch relevanter werden. Allerdings könnten trotz dieser Entwicklungen klassische Verfahren weiter relevant bleiben. Besonders in der Forschung oder überall dort, wo metrische Präzision und Transparenz benötigt werden.
Anhang¶
- .obj & .ply Modelle unter Download results.md zum Download verfügbar.