zurück zum Artikel

Ausprobiert: Photogrammetrie mit RealityCapture

Peter König

Die Software läuft auf dem eigenen Rechner statt in der Cloud, erzeugt aus Fotoserien detaillierte 3D-Dateien und hat ein für Maker interessantes Preismodell.

Photogrammetrie ist eine faszinierende Sache: Man füttert spezielle Software mit einer Reihe von Bildern, die ein Objekt aus verschiedenen Perspektiven zeigen (alternativ mit einem Video, das man aufnimmt, während man das Objekt umschreitet) und erhält auf Knopfdruck ein 3D-Datenmodell des Objekts, optional mit farbigen Texturen belegt. Die fertige 3D-Datei kann man anschließend in 3D drucken oder das Objekt in virtuelle Welten einbauen, etwa Computerspiele oder VR-Anwendungen.

Die Photogrammetrie-Software hat für dieses Kunststück allerdings eine Menge zu tun: Im ersten Schritt, der sogenannten Registrierung, muss sie sich erst einmal ein Bild davon machen, von wo aus genau die einzelnen Aufnahmen geschossen wurden – und das rekonstruiert sie alleine aufgrund dessen, was auf den Bildern zu sehen ist. Anschließend fahndet sie nach charakteristischen und auffälligen Details, die auf mehreren Fotos zu sehen sind, berücksichtigt dabei den Ort, von dem das jeweilige Bild aufgenommen wurde, und berechnet aus allem zusammen ein 3D-Gittermodell des originalen Objekts, das schlussendlich mit einer Fototextur belegt wird.

Mehr von Make Mehr von Make [1]

Das ist alles ziemlich aufwändig, besonders bei großen Input-Datensätzen aus vielen Fotos mit vielen Pixeln. Deshalb gab und gibt es immer wieder Anbieter, die solche Berechnungen in der Cloud abwickeln – der Benutzer installiert sich nur einen schlanken Client, der zum Teil sogar auf dem Smartphone läuft, nimmt damit Fotos oder Videos auf, schickt das Material auf den Server des Herstellers und kann nach einiger Wartezeit das fertige 3D-Modell bewundern. Kostenlos gab es so etwas mal von Autodesk unter dem Namen 123D Catch [2], zuletzt hatten wir bei Make die günstige iOS-App Trnio [3] im Test, die für ein paar Euro dasselbe bot.

Die Cloud ist vielen aber suspekt, sie wollen ihre Fotos und 3D-Daten lieber auf dem eigenen Rechner wissen. Natürlich gibt es auch dafür Software, meist professionelle (die auch amtliche Hardware, besonders bei der Grafikkarte erfordert, wenn die Rechenzeiten im Rahmen bleiben sollen). Oft ist aber auch deren Preis professionell. Ausnahmen bilden etwa das kostenlose Meshroom [4] oder 3DF Zephyr [5], von dem es eine Free-Version für den privaten Gebrauch gibt, die aber nur bis zu 50 Aufnahmen verarbeitet.

Ausprobiert: Photogrammetrie-Software RealityCapture (0 Bilder) [6]

[7]

Die slowakische Firma Capturing Reality [8] geht mit ihrer Windows-Software RealityCapture einen etwas anderen Weg: Man kann sich diese kostenlos herunterladen, auf dem eigenen Rechner installieren, Bilddatensätze verarbeiten, alles ausprobieren – und erst, wenn man ein fertiges 3D-Modell etwa im OBJ-Format herunterladen will, muss man dafür bezahlen. Die gesamte Verarbeitung läuft dabei auf der eigenen Hardware (eine Nvidia-Grafikkarte mit CUDA 3.0+ ist allerdings Pflicht [9]), eine Internetanbindung ist nur für die Bezahlung nötig (und auch erst dann braucht man ein Benutzerkonto beim Hersteller). Die Preise sind günstig, dazu gleich mehr.

Die Bedienung der Software fällt auch Einsteigern leicht, denn beim ersten Programmstart wird man eingeladen, sich Schritt für Schritt durch das Verfahren führen zu lassen. Weil die ausführlichen Erklärtexte auch auf Deutsch zur Verfügung stehen, klappt das auf Anhieb. Zudem erledigt die Software vieles praktisch vollautomatisch, etwa die Registrierung, also die Ausrichtung der Bilder untereinander, wobei die Kamerapositionen rekonstruiert werden. Bei all unseren Versuchen hatte RealityCapture kein einziges Mal Zweifel, wo ein Bild hingehört. Dabei haben wir eigens versucht, die Software zu triezen, indem wir ihr zum Beispiel zwei Fotoserien desselben Objekts auf einmal vorgesetzt haben, zu unterschiedlichen Jahreszeiten mit unterschiedlichen Kameras aufgenommen, noch dazu waren die Bilder einer Serie konsequent um 90 Grad verdreht ... alles kein Problem.

Was am Ende rauskommt, kann sich sehen lassen: Aus 43 Fotos einer barocken Grottenfigur mit je 10 Megapixeln berechnete RealityCapture im Test ein 3D-Modell mit 5,5 Millionen Polygonen – bei Standardqualität, es geht noch feiner! Zum Vergleich: 123D Catch holte seinerzeit aus derselben Bilderserie gerade mal 334.000 Polygone heraus. Allerdings bedeuten mehr Polygone nicht automatisch mehr Details, denn die muss das Objekt erst mal haben. Im Fall der Brunnenfigur sieht das fertige Ergebnis von RealityCapture auf den ersten Blick nicht viel detaillierter aus als das von 123D Catch, aber deutlich besser als das von Trnio. Die Unterschiede werden vor allem deutlich, wenn man mal jeweils den Hintergrund der Figur betrachtet, die Mauersteine und das Efeu ...

Wir haben die Software auf einem Gamer-Laptop mit 16 Gigabyte RAM, einem Sechskern-Prozessor (i7-9750H) und einer GeForce RTX 2060 ausprobiert. An den 5,5 Millionen Polygonen der Grottenfigur hatte der etwa zehn Minuten zu rechnen und drehte den Lüfter dabei ordentlich hoch. Das aufwändigste Projekt in unserem Test stellte allerdings eine Meeresschnecke [10] (ZIP-Download der Bilder und einer OBJ-Datei aus Meshroom) dar, die aus 182 Bildern zu je 18 Megapixeln berechnet wurde: Hierbei dauerte schon die Registrierung, also das automatische Ausrichten der Bilder zueinander, anderthalb Stunden; die Rekonstruktion des Oberflächennetzes zweieinhalb. Die resultierende OBJ-Datei hat 1,6 Gigabyte und ist damit auch ein echter Klops für die weitere Verarbeitung mit anderer Software. Insofern lohnt es sich, schon einige Operationen in RealityCapture selbst zu erledigen, etwa das Eingrenzen des Bereichs, der tatsächlich rekonstruiert werden soll, oder das Glätten des Ergebnisses. Hierfür ist die Software gut mit Bordmitteln versorgt. Wenn auch die Automatik in der Software gut funktioniert, können Spezialisten dennoch an verschiedenen Parametern drehen und experimentieren.

Die Meeresschnecke, rekonstruiert mit RealityCapture, gerendert in Blender. Die raue Oberfläche der Schnecke scheint tatsächlich die Oberfläche des Originals zu reproduzieren, wie der Vergleich mit der verhältnismäßig glatten Tischoberfläche zeigt.

Statt Bilder kann man auch Videos in die Software laden – bei deren Import legt man einfach fest, alle wie viel Millisekunden ein Frame entnommen werden soll. Das ist sehr praktisch, so erspart man sich (wie bei anderen Photogrammetrie-Anwendungen leider üblich) mit externen Tools vorab Einzelbilder aus Videos zu klauben. In der Praxis ist es oft nämlich einfacher, unterwegs mal eben schnell ein Video von einem interessanten Objekt zu machen, indem man drumherum läuft. Die Einzelbilder legt RealityCapture in einem Ordner nach Wahl ab, und es lohnt sich, die aufzuheben – dazu gleich mehr.

Neben dem Bildmaterial lassen sich übrigens auch Datensätze etwa von 3D-Laserscannern einbinden, was für professionelle Anwender weitere Möglichkeiten eröffnet. Für den Export steht neben OBJ auch noch PLY und XYZ für dichte Punktwolken zur Wahl. Alternativ zur Bitmap-Textur kann man die Datei auch per Farbinformation pro Vertex kolorieren, was bei wenig Polygonen seltsam aussieht, bei vielen aber gut funktioniert.

Wenn man für die Software nicht eine Enterprise-Lizenz für einmalig 3750 US-Dollar kauft, bezahlt man für den Export fertiger Modelle. Dabei geht es beim Preis nicht nach der Qualität des Outputs, etwa gemessen an der Polygonzahl, sondern nach den Megapixeln (oder auch der Zahl der Laserscannerpunkte) des insgesamt hineingegebenen Rohmaterials. Damit ist der Preis direkt abhängig von der Zahl und der jeweiligen Auflösung der Fotos. Die Firma bezeichnet dieses Prinzip als Pay-Per-Input (PPI), auch, weil man für jedes Input-Foto nur einmal zahlt und es anschließend beliebig oft für 3D-Rekonstruktionen verwenden kann. Das ist etwa dann praktisch, wenn man aus einer Bilderserie zuerst das eine und dann das andere Objekt herausziehen will. Aus diesem Grund ist es übrigens eine gute Idee, aus Videos gewonnene Einzelbilder aufzuheben, denn man lizenziert beim Export diese Bilder, nicht das Video an sich ...

Gerechnet wird in Credits [11]. Aktuell zahlt man für ein Paket aus 3500 Credits 10 US-Dollar, für das 8000-Credit-Paket 20 US-Dollar. Mit dem kleineren Paket soll sich insgesamt 14.000 Megapixeln an Bildmaterial verarbeiten lassen, mit dem großen 32.000 Megapixel. Jeder Credit kostet damit 0,25 bis 0,28 Cent. Vor Kurzem ließ sich Capturing Reality allerdings noch mit gut einem Cent pro Credit bezahlen und der Export der Muschel aus dem Beispiel mit rund 3000 Megapixel Input hätte 816 Credits und somit fast zehn Dollar gekostet. Jedoch wurde Capturing Reality vor wenigen Tagen von Epic Games übernommen – geplant ist offenbar, die Software als Werkzeug für die Spiele-Entwicklung direkt ins Unreal-Universum einzugemeinden. Bei dieser Gelegenheit wurde kurzerhand das alte Preismodell über den Haufen geworfen. Die bisher angebotenen Tarife für einen, drei, sechs oder 12 Monate gibt es seitdem nicht mehr und die Preise für die Credit-Pakete wurden drastisch gesenkt: Die 816 Credits für die Schnecke sollten nach den aktuellen Preisen nur noch rund 2 US-Dollar kosten. Und mal ehrlich: Für so ein Objekt würden es auch weniger aufgelöste Bilder tun, da kann man aber noch nach Herzenslust experimentieren, wenn man Geld sparen will. Mit seinem Preismodell ist RealityCapture aber auf jeden Fall eine Software, die ganz besonders auch für alle interessant ist, die nur gelegentlich mal eine Photogrammetrie erstellen wollen. (pek [12])


URL dieses Artikels:
https://www.heise.de/-5078249

Links in diesem Artikel:
[1] https://www.heise.de/make/
[2] https://www.heise.de/news/Neue-Versionen-kostenloser-3D-Apps-von-Autodesk-1572776.html
[3] https://www.heise.de/tests/Ausprobiert-Photogrammetrie-3D-Scanner-App-Trnio-4694917.html
[4] https://www.heise.de/ratgeber/Photogrammetrie-Praxis-Die-Welt-dreidimensional-mit-dem-Smartphone-scannen-4700506.html
[5] https://www.3dflow.net/3df-zephyr-photogrammetry-software/
[6] https://www.heise.de/bilderstrecke/bilderstrecke_5078838.html?back=5078249;back=5078249
[7] https://www.heise.de/bilderstrecke/bilderstrecke_5078838.html?back=5078249;back=5078249
[8] https://www.capturingreality.com/
[9] https://support.capturingreality.com/hc/en-us/articles/115001524071-OS-and-hardware-requirements
[10] https://ftp.heise.de/ct/listings/2020/09/2009_160_muschel.zip
[11] https://www.capturingreality.com/Products
[12] mailto:pek@ct.de