RecFusion: 3D-Scan-Software im Test

3D-Scannen mit einem Tiefensensor hat viele Vorteile. Die Geräte sind nicht nur sehr günstig; fast alle sind auch in dem Sinne offen, dass jeder Software für ihren Betrieb entwickeln kann. Tiefensensoren haben viele Einsatzmöglichkeiten, und 3D-Scannen gehört eher zu den Nischenanwendungen. Deshalb gibt es keine Hunderte von Softwareoptionen. Die verfügbaren Programme unterstützen zudem meist nur eine Auswahl an Sensoren.

Konkurrenz und unterstützte Sensoren

Beispielsweise habe ich Skanect getestet , eine Software für PC und Mac. Sie unterstützt Structure Sensor, ASUS Xtion, PrimeSense Carmine und einige Modelle des inzwischen eingestellten Microsoft Kinect, jedoch kein Intel RealSense. Skanect wurde vom Structure-Hersteller Occipital übernommen, PrimeSense von Apple.

Die Software, die ich heute teste, RecFusion, unterstützt RealSense-Sensoren einschließlich der gerade von mir getesteten neuen D400-Serie. Dazu kommen Orbbec-Sensoren und die anderen eben genannten Geräte, allerdings kein Structure Sensor. Die vollständige Liste steht im Fußbereich dieser Seite .

Es gibt auch Software, die auf einen einzigen Sensortyp beschränkt ist. Vor einiger Zeit habe ich Sense for RealSense von 3D Systems getestet . Diese kostenlos herunterladbare Software funktioniert mit den von mir getesteten RealSense-Sensoren F200 und R200 sowie meinem SR300-Entwicklerkit, einem Creative BlasterX Senz3D. Leser berichteten jedoch, dass sie die Software mit Letzterem nicht zum Laufen brachten. Mit der eigenen SR300-Version von 3D Systems funktioniert sie natürlich: dem Sense 2 Scanner (Test).

[well type=””]

Hier einige der günstigen Sensoren, die RecFusion unterstützt. Die letzten beiden ermöglichen auch Scans mit mehreren Sensoren:

[column lg=”4″ md=”12″ sm=”12″ xs=”12″ ]

[column lg=”4″ md=”12″ sm=”12″ xs=”12″ ]

[column lg=”4″ md=”12″ sm=”12″ xs=”12″ ]

[/well]

Versionen und Preise

RecFusion gibt es ausschließlich für Windows mit 64 Bit und in zwei Ausführungen: einer Version für einen einzelnen Sensor für 99 Euro und einer Pro-Version für mehrere Sensoren für 499 Euro. Mit Letzterer erfassen Sie gleichzeitig Daten mehrerer Sensoren und kalibrieren deren Positionen in einer festen Anordnung. So lassen sich Gegenstände und Personen scannen, ohne die Sensoren zu bewegen. Beispielsweise können Sie drei Sensoren an einer senkrechten Schiene montieren und Menschen auf einem Drehteller scannen. Achten Sie darauf, dass sich von Ihrem gewünschten Sensortyp mehrere Geräte an einem System betreiben lassen. RealSense-Modelle vor der D400-Serie unterstützen das nicht.

[well type=””]

Scannen mit mehreren Sensoren in RecFusion Pro


Da ich nicht mehrere kombinierbare Sensoren besitze, verwende ich für meine Tests die Standardversion von RecFusion mit einem einzigen Sensor. Der folgende Screenshot aus dem Handbuch zeigt jedoch, wie Scannen mit mehreren Sensoren in RecFusion Pro aussieht.

Mehrfachsensor-Scan mit zwei PrimeSense und einem Kinect. Bild mit freundlicher Genehmigung von RecFusion (Quelle)

Mehrere Sensoren lassen sich mithilfe des gedruckten Tracking-Markers kalibrieren, den ich weiter unten ebenfalls verwende.

[/well]

Zusätzlich zu RecFusion und RecFusion Pro gibt es für 599 Euro ein RecFusion SDK in C++, mit dem Sie eigene 3D-Scan-Lösungen mit einem oder mehreren Sensoren entwickeln können.

Scannen mit einem einzelnen Sensor in RecFusion

RecFusion im Test mit den Tiefensensoren RealSense D400, D415, SR300 und Astra S
Testaufbau. Auf diesem Foto ist der RealSense D415 montiert. In den Tests und Screenshots verwende ich jedoch den SR300, das zweite Gerät auf dem Tisch.

RecFusions Oberfläche ist übersichtlich und leicht verständlich. Links befindet sich ein Bereich mit allen Einstellungen. Diese lassen sich als sogenannter Workspace speichern, was bei unterschiedlichen Aufbauten für verschiedene Zwecke praktisch ist.

Anders als bei Sense for RealSense mit seiner automatischen Objekterkennung müssen Sie Größe und Position des Scan-Volumens relativ zum Sensor manuell festlegen. Wenn der Scanner fest steht und Sie einen Drehteller verwenden, können Sie das Volumen mit einem ausdruckbaren Marker automatisch ausrichten.

Die Volumenauflösung wird in Voxeln angegeben. Das ist ungewöhnlich, aber leicht verständlich, sobald man die Voxelgröße beachtet. Für Auflösungen oberhalb der Voreinstellung 512 benötigen Sie eine dedizierte Grafikkarte mit mehr Speicher als die GTX965 meines Surface Book mit ihren 2 GB.

Im Sensorbereich können Sie jede Kombination aus Farb- und Tiefenauflösung auswählen, die Ihr Sensor unterstützt. Allerdings funktionieren nicht alle Kombinationen. Manchmal brachte ich eine Kombination zum Laufen, indem ich erst zu einer anderen Farb- oder Tiefenauflösung und anschließend zurück zur gewünschten Einstellung wechselte. Belichtung, Weißabgleich und Farbeinstellungen der Farbkamera lassen sich fein abstimmen; die ersten beiden auch automatisch regeln. Manuelle Belichtung ist jedoch nur bei bestimmten Sensoren verfügbar.

[column lg=”6″ md=”12″ sm=”12″ xs=”12″ ]

[column lg=”6″ md=”12″ sm=”12″ xs=”12″ ]

Sie können den Sensor außerdem senkrecht ausrichten oder das Bild spiegeln, was praktisch sein kann, wenn er auf Sie selbst gerichtet ist. Mit der Tiefenbegrenzung lassen sich schließlich Objekte mit einem Sensor erfassen, der einen großen Messbereich hat.

Für handgeführte Scans bietet RecFusion einen verzögerten Start mit Countdown und eine feste Scan-Dauer. Das ist mit oder ohne Drehteller hilfreich, um schwer erreichbare Flächen zu erfassen. So können Sie leichter mit einem Laptop oder Tablet in einer Hand und dem Sensor in der anderen umhergehen.

Die dreigeteilte Ansicht zeigt das RGB-Bild, das Tiefenbild und eine 3D-Voxelpunktwolke des kombinierten Ergebnisses. Alle drei funktionieren im Hochformat. Leider verliert die 3D-Ansicht ihre Ausrichtung während des Scannens und zeigt die Vorschau der Zusammenführung dann im Querformat. Sie können die Farbdarstellung während des Scannens ausschalten, um den Fortschritt leichter zu beurteilen.

Hier eine Bildschirmaufnahme des Scan-Vorgangs mit Drehteller, Beleuchtungsset und handgeführtem SR300-Tiefensensor:

[well type=””]
Ich bewege den Sensor nur auf und ab, um die Oberseite und das Kinn der Büste abzudecken. Mit drei Tiefensensoren und RecFusion Pro ließe sich dieser Aufbau vereinfachen, allerdings nicht mit dem SR300, der keinen Betrieb mehrerer Sensoren unterstützt.
[/well]

Gut zu wissen: Nach dem Ende eines Scans und der Ergebniskontrolle können Sie die Aufnahme fortsetzen, um fehlende Details zu ergänzen. RecFusion versucht dabei, den Kamerawinkel wiederzuerkennen und dort anzuknüpfen. In meinen Versuchen funktionierte das meistens wie erwartet. Das Tracking ist generell gut. Auch nach einem Tracking-Verlust fand die Software in den meisten Tests den richtigen Winkel wieder.

[well type=””]
Hinweis zur nachträglichen Rekonstruktion auf der CPU

Das Video oben zeigt die sogenannte Echtzeitrekonstruktion oder Echtzeitfusion. Die erfassten Daten werden dabei unmittelbar zu einem 3D-Modell zusammengeführt. Dafür wird die Grafikkarte, also die GPU, verwendet. Deshalb begrenzen die 2 GB Videospeicher der Nvidia GTX965 in meinem Surface Book die in RecFusion einstellbare Auflösung.

Anstelle der Echtzeitfusion können Sie auch einfach die Bildfolgen der Tiefen- und Farbkamera aufzeichnen lassen. Die Sequenzdatei lässt sich speichern und später in RecFusion für eine nachträgliche Rekonstruktion außerhalb der Echtzeit öffnen. Laut dieser Anleitungsseite auf der Website der Anwendung sollte es eine Option geben, diese Rekonstruktion auf dem Hauptprozessor, der CPU, statt auf der GPU auszuführen.

Ich habe den Entwickler um Hinweise dazu gebeten und werde den Beitrag aktualisieren, falls sich mit einer nachträglichen CPU-Rekonstruktion deutlich bessere Ergebnisse erzielen lassen. Der Entwickler hat mir mitgeteilt, dass die Seite veraltet ist und CPU-Rekonstruktion nicht mehr unterstützt wird.

[/well]

Bearbeitung

Nach dem Scannen benötigt RecFusion einen Moment, um die Farben zu optimieren. Leider erfolgt die native Farberfassung ausschließlich pro Vertex. Die Farbqualität ist damit fest an die geometrische Volumenauflösung gebunden. Das unterscheidet sich von Programmen, die separat aufgenommene Farbfotos mittels UV-Texturzuordnung auf die Geometrie projizieren.

Den fertigen Scan können Sie mit oder ohne Farbe oder als Drahtgitter ansehen.  Die meisten üblichen Bearbeitungsfunktionen sind vorhanden, etwa das unten gezeigte Zuschneiden des Modells oder die automatische Auswahl isolierter Elemente zum Bereinigen. 

Es gibt außerdem eine Polygonreduktion, die geometrische Details recht gut erhält. Wegen der Vertex-Farben geht dabei allerdings auch Farbauflösung verloren.

Eine automatische Lochfüllung ist vorhanden. Interessanterweise lässt sich dabei keine maximale Lochgröße einstellen. Außerdem erzeugte sie an Stellen, an denen ich es erwartet hätte, keine ebene Füllung, etwa an der Unterseite einer frisch beschnittenen Fläche.

Die Farbbearbeitung umfasst nur Helligkeit, Kontrast und Gamma. Deshalb sollten Sie die Farbeinstellungen besser vor dem Scannen korrekt vornehmen, denn dort haben Sie mehr Kontrolle.

Für 3D-Drucke kann RecFusion außerdem einen Sockel erzeugen, der in der Software „socket“ heißt. Leider gibt es jedoch keine Funktion zum Aushöhlen eines Modells. Das wäre hilfreich, weil es beim Druck in vollfarbigem Sandstein viel Material und damit Geld sparen kann. Offenbar gibt es doch eine Aushöhlfunktion; sie befindet sich allerdings auf der Registerkarte Export. Das führt uns zum nächsten Thema …

Export

Das Projekt mit dem Modell lässt sich nicht wirklich speichern. Das Speichern eines Workspace sichert ausschließlich Einstellungen. Natürlich können Sie Ihr Modell in verschiedene bekannte 3D-Formate exportieren: STL, OBJ, PLY und VRML. Außerdem ist ein Export zu Sketchfab zum Teilen und Betrachten in VR oder AR sowie zu i.materialize für 3D-Drucke möglich.

Für ein hohles Mesh zum 3D-Drucken klappen Sie in der Mesh-Ansicht die Registerkarte Export aus und aktivieren „Hollow out inside of model“. Das funktioniert nur mit einem geschlossenen, wasserdichten Modell.

Ergebnisse und Vergleich

Hier einige Ergebnisse mit dem RealSense SR300 und RecFusion. Die Qualität hängt natürlich vom Sensor ab. Da ich keinen CPU-Rekonstruktionsmodus finden konnte, wurden die Modelle in Echtzeit auf der GPU mit einer Voxelauflösung von 512 berechnet.

Zunächst die Büste aus den Screenshots, aufgenommen mit einem manuellen Drehteller und handgeführtem Sensor:

https://sketchfab.com/models/188711fba93547b2b5838380365aa375

Wie erwartet bin ich mit der Texturqualität nicht besonders zufrieden. Die Farbzuweisung pro Vertex hat ihre Grenzen. Mit der Taste 3 schalten Sie den Sketchfab-Viewer in den MatCap-Modus, um nur die Geometrie zu betrachten. Hinten links an der Schulter gibt es an der Stelle, an der die neue Geometrie mit dem Anfang des Scans zusammengeführt werden soll, einige Unsauberkeiten. Dieses Problem trat aber nicht ständig auf. Insgesamt ist die Geometriequalität typisch für einen Tiefensensor-Scan.

Ich habe außerdem einen Scan mit auf einem Stativ befestigtem Sensor erstellt:

https://sketchfab.com/models/b959e4dea3354feb8bd0b3b8715fb56a

Diese Geometrie ist deutlich glatter als beim handgeführten Modell. Menschliche Bewegung kann das Scan-Ergebnis also beeinflussen — zumindest die Geometrie, denn die Farbinformationen wurden nicht besser.

Um zu zeigen, was eine UV-Textur aus separat aufgenommenen und projizierten RGB-Bildern bewirken kann, folgt dieselbe Büste mit demselben Sensor und derselben Beleuchtung, diesmal mit Sense for RealSense von 3D Systems:

https://sketchfab.com/models/d7cf68c659fe4d40b95b1c40f8e7ff1e

Auch dieses Modell entstand mit einem manuellen Drehteller und einem von Hand auf und ab bewegten Sensor. Ein Video dazu finden Sie in meinem Test von Sense 2 / SR300. Die Geometrie ähnelt der letzten RecFusion-Einbettung, doch die Farbqualität ist dank der zugeordneten Bilddateien wesentlich fotorealistischer.

Beim Scannen von Menschen zeigte sich derselbe Unterschied. Unten sehen Sie dieselbe Person, zuerst mit RecFusion und danach mit Sense for RealSense erfasst:

https://sketchfab.com/models/71b9e726941d4b25915db18abd0aa2e3

https://sketchfab.com/models/987c3d96a0c144c8a3395bbea8040226

Ehrlicherweise ist die Texturzuordnung auch beim zweiten Modell verschoben, weshalb es etwas seltsam aussieht. Ich habe für den SR300 nie eine Software gefunden, die beim Scannen von Menschen an die Kombination aus Structure Sensor , iPad und itSeez3D herankommt. Nach meinen derzeitigen Tests übertreffen auch Scans mit Structure Sensor und Skanect RecFusion bei Anwendungen, die Farbe benötigen.

Zum Vergleich folgt ein Ergebnis aus Skanect mit Structure Sensor und dem kürzlich eingeführten hochwertigen Farbmodus. Das Modell unten verwendet Vertex-Farben. Skanect kann auch ein Modell mit UV-Textur exportieren. Diese wird jedoch aus den Vertex-Farben abgeleitet und nicht unabhängig von der Geometrie zugeordnet.

https://sketchfab.com/models/bd4845bee7fe4553b980b5c1716eaba0

Interessant, wie unterschiedlich dieselbe Person mit verschiedenen Programmen und Sensoren aussehen kann. Beim Scannen von Menschen halte ich die Ergebnisse von itSeez3D aber weiterhin für die realistischsten:

https://sketchfab.com/models/7d35a0cd120340d78e876312fa42ec5d

Fazit

RecFusions größter Vorteil ist die breite Unterstützung von Tiefensensoren. Soweit ich weiß, ist es die einzige kommerzielle Software, die Intels neue RealSense-D400-Serie unterstützt. Falls das nicht stimmt, hinterlassen Sie bitte einen Kommentar. Mit der Pro-Version lassen sich darüber hinaus mehrere Sensoren für individuelle 3D-Scan-Aufbauten verbinden.

Bei der Arbeit mit der Standardversion für einen Sensor wird deutlich: Die Stärke der Software liegt bei Drehteller-Scans mit fest positioniertem Sensor. Dann kann ein Marker das Scan-Volumen automatisch ausrichten. Bei handgeführten Scans, mit oder ohne Drehteller, können die erforderlichen Einstellungen von Volumengröße und relativer Position umständlich sein und Flexibilität sowie Bedienkomfort einschränken.

[well type=””]

Benötigen Sie individuelle Beratung?

Möchten Sie wissen, welcher Tiefensensor oder welche Software am besten zu Ihrem Einsatzzweck passt — oder ob ein Tiefensensor dafür überhaupt die richtige Technik ist?

[tw-button size=”medium” background=”” color=”” target=”_self” link=”/consulting”]Ziehen Sie meinen erschwinglichen Beratungsservice in Betracht.[/tw-button]

Ich berate Einzelpersonen und Start-ups ebenso wie große Fortune-50-Unternehmen. Schreiben Sie mir gern eine E-Mail zu Ihren Herausforderungen beim 3D-Scannen.

[/well]

Das Scannen selbst funktioniert in RecFusion sehr zuverlässig: Tracking-Probleme sind selten, und nach einem Verlust findet die Software schnell wieder Anschluss. Der voxelbasierte Ansatz erfordert etwas Eingewöhnung, macht die Qualitätseinstellungen aber gut verständlich. In meinen Tests lieferte ein auf dem Stativ befestigter Sensor glattere Meshes als ein handgeführter.

Wenn Sie Software mit breiter Unterstützung für einen oder mehrere Sensoren suchen und Ihr Einsatzzweck keine hohe Texturqualität verlangt, ist RecFusion insgesamt ein solides Programm. Ist Ihnen die Texturqualität wichtig, würde ich warten, bis der Entwickler hochauflösende Texturzuordnung integriert.

[well type=””]

Hier einige der günstigen Sensoren, die RecFusion unterstützt. Die letzten beiden erlauben auch Scans mit mehreren Sensoren. Vor Kurzem habe ich einen Sensorvergleich veröffentlicht, in dem ich diese drei Sensoren mit RecFusion gegenüberstelle.

[column lg=”4″ md=”12″ sm=”12″ xs=”12″ ]

[column lg=”4″ md=”12″ sm=”12″ xs=”12″ ]

[column lg=”4″ md=”12″ sm=”12″ xs=”12″ ]

[/well]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Inhalt