Was ist eigentlich Photogrammetrie?

Wer sich mit Möglichkeiten zur 3D Modell Erstellung beschäftigt, stolpert früher oder später über den Begriff Photogrammetrie. Gemeint ist damit eine Technik, die es erlaubt, aus Fotos eines realen Objektes ein digitales 3D Modell zu generieren. Doch keine Panik, liebe 3D Artists, niemand muss um seinen oder ihren Job fürchten, denn wie so alles im Leben hat auch diese Technik sowohl Vorteile als auch Nachteile. Da einige der Vorteile aber doch beachtlich sind, wollen wir hier einen genaueren Blick auf häufig verwendete Photogrammetrie Lösungen werfen!

Der Begriff Photogrammetrie ist weit gestreut und umfasst z.B. auch Vermessungsverfahren aus der Geodäsie. Wir wollen uns hier aber mit dem Anwendungsbereich befassen, der es uns möglich macht, polygonale 3D Modelle aus Fotos zu berechnen. Diese Technik ermöglicht es, realistische 3D Abbildungen von realen Objekten zu erstellen und in unsere AR/VR Apps einbinden zu können, ohne dass ein erfahrener 3D-Modellierer die Objekte mühselig “von Hand” in einem 3D Programm erstellen muss.

Softwarelösungen

Es gibt bereits eine gar nicht mal so kleine Auswahl an verbreiteten Softwarelösungen für Photogrammetrie. Hier haben wir die aktuellen Platzhirsche übersichtlich aufgelistet. Einige sind dabei frei erhältlich. Der Großteil ist zwar kostenpflichtig aber bietet dafür Trial Versionen an, falls man die Anwendungen erstmal ausprobieren oder einem Performance Test unterziehen will, bevor man sich festlegt.  

Quelle: https://www.agisoft.com/index.php?id=38

Anwendung

Grundsätzlich funktioniert Photogrammetrie folgendermaßen: Man lädt die Fotos vom Objekt in die Software, anschließend werden sie durch Feature Matching zwischen den Fotos automatisch abgeglichen und eine Punktwolke des Objekts wird erzeugt. Diese Punktwolke kann dann noch verfeinert werden, bevor daraus ein 3D Modell (bestehend aus Dreiecken/Polygonen) und die zugehörige Image Texture erstellt werden. Man kann in der Software einige Parameter kontrollieren, aber größtenteils hängt die Qualität des Modells von den angefertigten Fotos ab. Deshalb werde ich noch ein wenig genauer darauf eingehen, wie man diese Fotos idealerweise macht:

Als erstes Objekt, um sich mit Photogrammetrie vertraut zu machen, würde ich einen großen Stein oder Baumstumpf empfehlen – auf keinen Fall ein Objekt, das spiegelt, metallische oder sogar Hochglanz Oberflächen besitzt. Diese eignen sich nicht besonders gut für die 3D-Modell-Rekonstruktion. Es gibt aber Wege um diese Objekte auch mittels Photogrammetrie zu verarbeiten, z.B. durch spezielle Sprühfarben die leicht abwaschbar sind aber für eine matte Oberfläche sorgen. Aber das ist nur etwas für fortgeschrittene Anwendung und wir werden jetzt nicht genauer darauf eingehen. Ideal ist, wenn das Objekt ein wenig isoliert dasteht, so dass man es von allen Seiten gut fotografieren kann.

Fotografieren kann man grundsätzlich im Freien oder in einem Studio. Von der Belichtung her gilt für beide Szenarien dasselbe: Kein direktes helles Licht, das harte Schatten wirft. Ideal ist eine diffuse Beleuchtung, die keinen Rückschluss auf die Position der Lichtquelle zulässt. Dies ist wichtig, damit die Objekte dann in unseren AR/VR Apps dynamisch auf die vorhandene Beleuchtung reagieren können, was bei fixen Schatten im Modell natürlich nicht möglich ist. Praktisch bedeutet das, im Freien nicht an einem Sonnentag in direktem Sonnenlicht fotografieren. Ideales Wetter ist “Overcast”, also bewölkt, wenn es trotzdem recht hell ist, aber kein direktes Sonnenlicht. Wenn man so ein Wetter nicht abwarten kann, dann sucht man sich am besten ein Objekt, das ganz im Schatten ist – Hauptsache keine deutlichen harten Schatten von der Sonne.

Dann beim Fotografieren die Kamera (Spiegelreflex zu empfehlen, aber Smartphone funktioniert auch überraschend gut) unbedingt auf Pro Modus stellen, sodass alle automatischen Einstellungen deaktiviert sind. Egal wie man es anfangs einstellt, wenn sich mitten in der Fotosession die Einstellungen ändern (z.B. weil der Autofokus sich nachstellt oder die Blende, oder …) dann kennt sich erstens die Photogrammetrie Software nicht mehr so gut aus und zweitens kann man Artefakte wie Helligkeitsverläufe in die Textur bekommen.

Die idealen Einstellungen wären folgende: Schauen dass die Helligkeit bzw. Kontrast gut passen. ISO möglichst klein, damit man möglichst wenig Sensorrauschen drinnen hat (wichtig für gute Feature Point Erkennung später) und Fokus so, dass das Objekt und ein wenig Umgebung davor/dahinter gestochen scharf ist. Ob der Hintergrund unscharf ist, macht eigentlich nicht viel Unterschied. In meiner Erfahrung hilft es oft sogar wenn alles im Blick im Fokus ist, da der Algorithmus sich dann auch am weiter entfernten Hintergrund orientieren kann und sich das Kamera Alignment in der Software verbessert.

Beim Fotografieren selbst systematisch herumgehen und halbkugelförmig (oder kugelförmig wenn man die Unterseite auch fotografiert) Fotos des Objekts machen. Also die Kameraperspektiven sollen in etwa eine Halbkugel um das Objekt bilden. Die Fotos sollen sich dabei beim Motiv immer um ca. ein Drittel des Bildes überlappen – das ist wichtig fürs Ausrichten und Abgleichen. Will man kein einzelnes Objekt, sondern etwas riesiges wie eine Hausfassade fotografieren und rekonstruieren, dann in einem Grid Muster abfotografieren.

Wichtig ist, dass man die Kamerapositionen verändert und nicht nur den Blickwinkel von immer der gleichen Position, wie in folgender Grafik dargestellt:

Quelle: https://www.agisoft.com/pdf/tips_and_tricks/Image%20Capture%20Tips%20-%20Equipment%20and%20Shooting%20Scenarios.pdf

Optimierung

Durch die hohe Genauigkeit der Rekonstruktion sind die entstehenden 3D Modelle von sehr hoher Auflösung und es ist nicht selten, dass diese über mehrere Millionen Polygone verfügen. Dass solche Modelle ein großes Problem für die Performance darstellen, besonders auf mobilen Endgeräten wie Smartphones und Tablets, ist leicht nachvollziehbar. Deshalb ist eine nachträgliche Optimierung der Modelle meistens unumgänglich. Um zu erklären wie das am besten funktioniert, verweise ich an dieser Stelle aber auf einen anderen Blogpost von mir: 3D Modelloptimierung für mobile Endgeräte

Fazit

Mit der Photogrammetrie ist ein sehr mächtiges neues Werkzeug zur 3D-Modell-Rekonstruktion entstanden, das aus modernen Content Creation Pipelines nicht mehr wegzudenken ist. In Kombination mit fachkundigen Anwendern kann man damit sowohl die Qualität der erstellten 3D Modelle, als auch die Effizienz der Modellerstellung erhöhen. Falls weitere Fragen zu dem Thema bestehen, dann stehen wir natürlich gerne zur Verfügung!