3DGS-LM: Schnellere Gauss-Splatting-Optimierung mit Levenberg-Marquardt
3DGS-LM: Faster Gaussian-Splatting Optimization with Levenberg-Marquardt
September 19, 2024
Autoren: Lukas Höllein, Aljaž Božič, Michael Zollhöfer, Matthias Nießner
cs.AI
Zusammenfassung
Wir präsentieren 3DGS-LM, eine neue Methode, die die Rekonstruktion von 3D-Gaussian Splatting (3DGS) beschleunigt, indem sie seinen ADAM-Optimierer durch einen maßgeschneiderten Levenberg-Marquardt (LM) ersetzt. Bestehende Methoden reduzieren die Optimierungszeit, indem sie die Anzahl der Gaussians verringern oder die Implementierung des differenzierbaren Rasterisierers verbessern. Dennoch verlassen sie sich weiterhin auf den ADAM-Optimierer, um die Gauß-Parameter einer Szene in Tausenden von Iterationen anzupassen, was bis zu einer Stunde dauern kann. Zu diesem Zweck ändern wir den Optimierer zu LM, der in Verbindung mit dem differenzierbaren 3DGS-Rasterisierer läuft. Für eine effiziente GPU-Parallelisierung schlagen wir eine Zwischenspeicher-Datenstruktur für Zwischengrade vor, die es uns ermöglicht, Jacobian-Vektor-Produkte in benutzerdefinierten CUDA-Kernels effizient zu berechnen. In jeder LM-Iteration berechnen wir Aktualisierungsrichtungen aus mehreren Bildteilmengen mithilfe dieser Kerne und kombinieren sie in einem gewichteten Mittelwert. Insgesamt ist unsere Methode um 30 % schneller als das originale 3DGS und erzielt dabei die gleiche Rekonstruktionsqualität. Unsere Optimierung ist auch unabhängig von anderen Methoden, die 3DGS beschleunigen, und ermöglicht so noch schnellere Beschleunigungen im Vergleich zum reinen 3DGS.
English
We present 3DGS-LM, a new method that accelerates the reconstruction of 3D
Gaussian Splatting (3DGS) by replacing its ADAM optimizer with a tailored
Levenberg-Marquardt (LM). Existing methods reduce the optimization time by
decreasing the number of Gaussians or by improving the implementation of the
differentiable rasterizer. However, they still rely on the ADAM optimizer to
fit Gaussian parameters of a scene in thousands of iterations, which can take
up to an hour. To this end, we change the optimizer to LM that runs in
conjunction with the 3DGS differentiable rasterizer. For efficient GPU
parallization, we propose a caching data structure for intermediate gradients
that allows us to efficiently calculate Jacobian-vector products in custom CUDA
kernels. In every LM iteration, we calculate update directions from multiple
image subsets using these kernels and combine them in a weighted mean. Overall,
our method is 30% faster than the original 3DGS while obtaining the same
reconstruction quality. Our optimization is also agnostic to other methods that
acclerate 3DGS, thus enabling even faster speedups compared to vanilla 3DGS.Summary
AI-Generated Summary