RealityScan – An End-User Usable 3D Scanning Pipeline

Realistische 3D-Inhalte, die automatisch aus Fotos rekonstruiert wurden, werden in absehbarer Zeit nicht perfekt sein. Es ist daher von großer Bedeutung, die Qualität rekonstruierter Szenen automatisch evaluieren und Benutzer auf problematische Regionen hinweisen zu können. Dies gilt insbesondere für Benutzer, die nie geschult wurden, Fotos zwecks 3D-Rekonstruktion aufzunehmen und bei denen entsprechend mit der Aufnahme ungeeigneter Bilder und mit fehlerhaften Rekonstruktionen zu rechnen ist. Bei der Rekonstruktion unbekannter Szenen muss die anschließende Evaluation zwangsweise ohne 3D-Ground-Truth geschehen. Was allerdings stets vorhanden ist, ist 2D-Ground-Truth, also Fotos der betreffenden Szene. Renderings einer perfekten Rekonstruktion müssen identisch zu den Eingabefotos sein.

Im vergangenen Jahr haben wir an einem Projekt gearbeitet, welches von dieser Idee Gebrauch macht: Wir unterteilen eine gegebene Menge an Eingabefotos in Rekonstruktions- und Evaluationsfotos. Mit Hilfe der Rekonstruktionsfotos wird dann ein 3D-Modell rekonstruiert. Dies wird aus den Blickpunkten der Evaluationsfotos gerendert, um schließlich die Differenz zwischen Renderings und Evaluationsfotos zu berechnen. Der Ablauf ist beispielhaft in Abbildung 1 zu sehen. Als Ergebnis erhält man den Score des rekonstruierten Modells, der sich dann beispielsweise mit dem Score eines anderen Rekonstruktions-Algorithmus vergleichen lässt. Zusätzlich können die erzeugten Differenzbilder (Abbildung 1c) ins rekonstruierte Modell zurückprojiziert werden, um eine anschauliche Visualisierung des lokalen Rekonstruktionsfehlers, wie in Abbildung 2 zu sehen ist, zu erhalten. Mithilfe dieser Visualisierung kann dann beispielsweise ein Benutzer in Regionen mit großen Fehlern angeleitet werden, um dort zusätzliche Fotos zur Verbesserung der Rekonstruktion aufzunehmen. Wir haben unseren Ansatz experimentell analysiert und evaluiert, wie er sich im Vergleich zu etablierten Fehlermetriken, die auf Ground-Truth-Geometrie angewiesen sind, verhält. Des Weiteren haben wir einen auf unserem Ansatz basierenden Online-Benchmark erstellt. Da die einzige Voraussetzung unseres Ansatzes die Fähigkeit eines Rekonstruktionsalgorithmus zur Erzeugung von Renderings aus neuen Blickpunkten ist, macht dieser Benchmark sämtliche bild-basierten Rekonstruktions- und Renderingverfahren direkt miteinander vergleichbar. Wir planen in naher Zukunft diesen Benchmark für externe Nutzer freizuschalten und erste Schlussfolgerungen aus den Ergebnissen zu ziehen.

Ein anderes Projekt, an dem wir im letzten Jahr gearbeitet haben, ist ein massiv-paralleler Solver für Markov Random Fields. Da viele Probleme der Computer Vision (bspw. Optical Flow, Stereo, Texturakquisition oder Global Structure from Motion) und der Computergraphik (z.B. Mesh-Segmentierung) auf globaler diskreter Optimierung basieren, kommen Markov Random Fields als Werkzeuge des Visual Computing eine Schlüsselrolle zu. Meistens stellen sie außerdem den Hauptengpass einer Visual Computing-Pipeline dar. Insbesondere wenn man sie auf realistische Probleme angewendet, resultieren sie in Problemgrößen, die kein existierender Algorithmus effizient lösen kann – besonders, da diese heutige Multi- und Many-Core-Systeme nicht vollständig ausnutzen. Wir haben einen massiv-parallelen Algorithmus entwickelt, der auf Markov Random Fields mit beliebigen (potenziell dünnbesetzten und sehr großen) Strukturen, beliebigen Energietermen und sogar Label-Kosten arbeitet. Unsere auf CUDA bzw. Intels TBB basierten Implementierungen machen das Leistungsvermögen moderner Multi-/Many-Core-Systeme wie z.B. GPUs oder Intels Xeon Phi nutzbar und übertreffen die Geschwindigkeit aktueller Algorithmen auf sehr großen Datensätzen um zwei Größenordnungen: In unserem Texturierungsframework [Waechter et al. 2014] reduzieren sie beispielsweise die Optimierungszeit von fast einer Stunde auf ca. eine Minute ohne Qualitätsverlust (siehe Abbildung 3). Dies ist ein dramatischer Geschwindigkeitsgewinn, insbesondere in Anbetracht der Tatsache, dass der Algorithmus nicht auf die spezifische Anwendung maßgeschneidert, sondern generisch ist – sogar allgemeiner als viele etablierte Solver. Wir sind davon überzeugt, dass unser Solver die Ausführungszeiten wichtiger Visual Computing-Algorithmen – darunter auch Algorithmen, die wir in unserer RealityScan-Pipeline verwenden – deutlich näher an einen Punkt bringt, an dem sie für Endbenutzer akzeptabel sind.

Projektteam

Principal Investigators
Prof. Dr.-Ing. Michael Goesele