3DGS-LM: Ottimizzazione più veloce della tecnica Gaussian-Splatting con Levenberg-Marquardt
3DGS-LM: Faster Gaussian-Splatting Optimization with Levenberg-Marquardt
September 19, 2024
Autori: Lukas Höllein, Aljaž Božič, Michael Zollhöfer, Matthias Nießner
cs.AI
Abstract
Presentiamo 3DGS-LM, un nuovo metodo che accelera la ricostruzione del Gaussian Splatting in 3D (3DGS) sostituendo il suo ottimizzatore ADAM con un Levenberg-Marquardt (LM) personalizzato. I metodi esistenti riducono il tempo di ottimizzazione diminuendo il numero di Gaussiane o migliorando l'implementazione del rasterizzatore differenziabile. Tuttavia, essi continuano a fare affidamento sull'ottimizzatore ADAM per adattare i parametri Gaussiani di una scena in migliaia di iterazioni, il che può richiedere fino a un'ora. A tal fine, cambiamo l'ottimizzatore in LM che funziona insieme al rasterizzatore differenziabile 3DGS. Per una efficiente parallelizzazione GPU, proponiamo una struttura dati di caching per gradienti intermedi che ci consente di calcolare efficientemente prodotti Jacobiano-vettore in kernel CUDA personalizzati. In ogni iterazione di LM, calcoliamo direzioni di aggiornamento da più sottoinsiemi di immagini utilizzando questi kernel e li combiniamo in una media pesata. Nel complesso, il nostro metodo è più veloce del 30% rispetto al 3DGS originale pur ottenendo la stessa qualità di ricostruzione. La nostra ottimizzazione è anche agnostica ad altri metodi che accelerano il 3DGS, consentendo così accelerazioni ancora più rapide rispetto al 3DGS standard.
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