3DGS-LM: Optimización más rápida de Splatting Gaussiano con Levenberg-Marquardt
3DGS-LM: Faster Gaussian-Splatting Optimization with Levenberg-Marquardt
September 19, 2024
Autores: Lukas Höllein, Aljaž Božič, Michael Zollhöfer, Matthias Nießner
cs.AI
Resumen
Presentamos 3DGS-LM, un nuevo método que acelera la reconstrucción de Splatting Gaussiano 3D (3DGS) al reemplazar su optimizador ADAM con un Levenberg-Marquardt (LM) adaptado. Los métodos existentes reducen el tiempo de optimización disminuyendo el número de gaussianas o mejorando la implementación del rasterizador diferenciable. Sin embargo, siguen dependiendo del optimizador ADAM para ajustar los parámetros gaussianos de una escena en miles de iteraciones, lo que puede llevar hasta una hora. Con este fin, cambiamos el optimizador a LM que se ejecuta en conjunto con el rasterizador diferenciable 3DGS. Para una paralelización eficiente en GPU, proponemos una estructura de datos de almacenamiento en caché para gradientes intermedios que nos permite calcular de manera eficiente productos de Jacobianos-vector en núcleos CUDA personalizados. En cada iteración de LM, calculamos direcciones de actualización a partir de múltiples subconjuntos de imágenes utilizando estos núcleos y los combinamos en una media ponderada. En general, nuestro método es un 30% más rápido que el 3DGS original, manteniendo la misma calidad de reconstrucción. Nuestra optimización también es agnóstica a otros métodos que aceleran 3DGS, lo que permite incluso aceleraciones más rápidas en comparación con el 3DGS estándar.
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