Skip to content

Dokumentation Workshop 3+4

Es wurde in beiden Workshops mit Colmap, Meshlab, Blender, Polycam und Kiri Engine gearbeitet. Colmap ist ein Structure-from-Motion Werkzeug, welches Features aus Bildern extrahiert und matched, um daraus eine Punktwolke zu generieren. Meshlab und Blender wurden verwendet alternativ verwendet, da es oftmals nicht möglich war, in Colmap eine Poisson Rekonstruktion zu generieren. Polycam und Kiri Engine sind beides Apps und Webanwendungen, die es ermöglichen, 3D Modelle aus Bildern zu generieren. In beiden Fällen wurde die kostenlose Version verwendet.

Installation

Eine Downloadlink für Colmap befindet sich hier, auf der offiziellen Website. Nach dem Installieren kann das Programm auf Windows über die Batch datei COLMAP.bat gestartet werden. Dies öffnet die Colmap GUI.

MeshLab kann offiziel hier heruntrgeladen werden.

Und Blender offziell hier.

Polycam und Kiri Engine sind beide auf Android und iOS im App Store vergfügbar. Sie können aber auch beide über die jeweilige Website verwendet werden.
Polycam: https://poly.cam/
Kiri Engine: https://www.kiriengine.app/webapp/

Colmap

Colmap bietet 'Automatic Reconstruction' an, wobei man nur einen Ordner mit Bildern und einen Workspace Ordner angeben muss. Aus Erfahrung funktioniert es jedoch besser wenn, ein neues Projekt erstellt wird in dem die Bilder manuell bearbeitet werden. Beim erstellen eines neuen Projekts muss eine Database file erstellt werden, und der Ordner mit den Bildern angegeben werden. Danach kann über den Reiter 'Processing' die 'Feature Extraction' gestartet werden, sobald diese Fertig ist, kann das 'Feature Matching' gestartet werden. und sobald das fertig ist kann die manuelle Rekonstruktion, unter dem Reiter 'Reconstruction' mit 'Dense Reconstruction' gestartet werden. Unter 'Dense Reconstruction müssen die Schritte Undistiortion, Stereo und Fusion über die Buttons manuell durchgeführt werden, Danach kann die Punktwolke über Delaunay oder Poisson in ein Mesh umgewandelt werden. Optional ist es auch möglich die matchings zu überprüfen unter 'Processing->Database Management'. Insgesamt dauerte der Prozes im Workshop auf einem leistungsfähigen Laptop ca. 1-2 Stunden.

Meshlab

MeshLab wurde benötigt, da es öfters vorkam, dass Colmap beim rekonstruieren eines Meshes mit Poisson abgebrochen ist. Um eine Punktwolke in MeshLab zu rekonstruieren, müssen zuerst die Normalen berechnet werden. Dies geht über 'Filters->Normals, Curvatures and Orientation->Compute Normals for Point Sets'. Danach kann die Punktwolke über 'Filters->Remeshing, Simplification and Reconstruction->Surface Reconstruction: Screened Poisson' in ein Mesh umgewandelt werden.

Blender

Ein weiterer Versuch die Punktwolke von Colmap zu rekonstruieren, war Blender. Hierzu wird werden Geometry Nodes verwendet, die über den Modifier Tab auf die Punktwolke angewendet werden können. Die Geometry Nodes bestehen aus dem Input Node, welches in ein 'Point-to-Volume' Node geleitet wird, welches wiederum in ein 'Volume to Mesh' Node geleitet wird. Das 'Point-to-Volume' Node hat die Möglichkeit die Dichte des Meshes zu verändern, und das 'Volume to Mesh' Node hat die Möglichkeit die 'Adaptivity' zu verändern. Diese beiden Werte können verändert werden, um ein besseres Ergebnis zu erzielen.

Polycam und Kiri Engine

Um Polycam oder Kiri Engine zu verwenden, müssen die Bilder in die jeweilige App oder Webanwendung hochgeladen werden. In beiden Anwendungen kann zusätzlich noch Masking ausgewählt werden, wodurch der Hintergrund entfernt wird. Der Prozess dauerte bei beiden ca. 5-10 Minuten.

Vergleich zwischen verschiedenen Objekt-Rekonstruktionen

Die Ergebnisse von Meshroom sind von Marcel, die Ergebnisse aus Spann3r sind von Maxi und die Ergebnisse aus der bezahlten Version von Polycam sind von Niklas.

Image Sample Colmap Poisson Colmap Delaunay Colmap Blender Reconstruction Meshroom Polycam (Free Version) Kiri Engine (Free Version) Spann3r
Image Sample colmap poisson colmap delaunay colmap blender recon Meshroom Polycam Kiri Spann3r
Image Sample colmap poisson colmap delaunay colmap blender recon Meshroom Polycam Kiri Spann3r
Image Sample colmap poisson colmap delaunay colmap blender recon Meshroom Polycam Kiri Spann3r

Vergleich zwischen verschiedenen Szenen-Rekonstruktionen

Image Sample Colmap Poisson Colmap Delaunay Polycam (Free Version) Polycam (Paid version) Kiri Engine (Free Version)
Image Sample colmap poisson colmap delaunay polycam free polycam paid kiri free

Conclusion

Visuell überzeugt Polycam am meisten, da es den Hintergrund besser entfernt, als die anderen Beispiele und die Oberfläche der Meshes haben weniger 'rauschen' und weniger Artefakte als die Ergebnisse, der anderen Programme. Zudem schließt Polycam die Lücken im Mesh vollständig. Es gab beispielsweise keine Bilder der Unterseite des Hais, und trotzdem konnte Polycam den Bauch sinnvoll hinzufügen. Die anderen Programme tuen dies nicht, bei ihnen ist die Unterseite meist nicht geschlossen. Die Topologie der Meshes ist jedoch bei allen Beispielen sehr unsauber, und benötigt selbst für flache Ebenen sehr viele Vertecies. Vom Arbeitsaufwand her, sind Polycam und Kiri Engine am komfortabelsten, da sie keine Technischen Kentnisse benötigen, und die Prozesszeit nur wenige Minuten dauert. Zwischen den Objekt-Rekonstruktionen der kostenfreien Version von Polycam und der kostenpflichtigen gab es kaum Unterschiede, jedoch wurden diese bei Szenen-Rekonstruktionen sehr deutlich, da hier die kostenfreie Version nur eine art Halbkugel erzeugt, mit der Textur der Bilder, wohingegen die kostenpflichtige Version einen vollständigen Raum mit scharfen Kanten und Ecken erzeugt hat (zur veranschaulichung wurde der Raum für das Bild aufgeschnitten). Die Kostenfreie Version von Kiri hatte ebenfalls Probleme mit Szenen-Rekonstruktionen. Colmap konnte einen Raum rekonstruieren, jedoch ist das Ergebnis visuell und topologisch nicht so gut wie die Ergebnisse von Polycam.