3DGS-LM: Otimização mais rápida de Espalhamento Gaussiano com 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
Resumo
Apresentamos o 3DGS-LM, um novo método que acelera a reconstrução do Splatting Gaussiano 3D (3DGS) substituindo seu otimizador ADAM por um Levenberg-Marquardt (LM) personalizado. Métodos existentes reduzem o tempo de otimização diminuindo o número de gaussianas ou melhorando a implementação do rasterizador diferenciável. No entanto, eles ainda dependem do otimizador ADAM para ajustar os parâmetros gaussianos de uma cena em milhares de iterações, o que pode levar até uma hora. Para isso, alteramos o otimizador para LM, que é executado em conjunto com o rasterizador diferenciável 3DGS. Para paralelização eficiente em GPU, propomos uma estrutura de dados de cache para gradientes intermediários que nos permite calcular eficientemente produtos de Jacobiano-vetor em kernels CUDA personalizados. Em cada iteração do LM, calculamos direções de atualização a partir de vários subconjuntos de imagens usando esses kernels e os combinamos em uma média ponderada. No geral, nosso método é 30% mais rápido que o 3DGS original, mantendo a mesma qualidade de reconstrução. Nossa otimização também é agnóstica a outros métodos que aceleram o 3DGS, possibilitando ainda mais melhorias de velocidade em comparação com o 3DGS convencional.
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