3DGS-LM: Ускоренная оптимизация гауссовского сглаживания с помощью метода Левенберга-Марквардта
3DGS-LM: Faster Gaussian-Splatting Optimization with Levenberg-Marquardt
September 19, 2024
Авторы: Lukas Höllein, Aljaž Božič, Michael Zollhöfer, Matthias Nießner
cs.AI
Аннотация
Мы представляем 3DGS-LM, новый метод, ускоряющий восстановление трехмерного гауссовского сплетения (3DGS) путем замены его оптимизатора ADAM на настроенный метод Левенберга-Марквардта (LM). Существующие методы сокращают время оптимизации путем уменьшения количества гауссов или улучшения реализации дифференцируемого растеризатора. Однако они все еще полагаются на оптимизатор ADAM для подгонки параметров гаусса сцены за тысячи итераций, что может занять до часа. Для этого мы заменяем оптимизатор на LM, который работает с дифференцируемым растеризатором 3DGS. Для эффективной параллелизации на GPU мы предлагаем структуру кэширования данных для промежуточных градиентов, позволяющую нам эффективно вычислять произведения Якоби-вектор в пользовательских ядрах CUDA. На каждой итерации LM мы вычисляем направления обновления из нескольких подмножеств изображений с использованием этих ядер и комбинируем их в взвешенное среднее. В целом, наш метод на 30% быстрее оригинального 3DGS при сохранении того же качества восстановления. Наша оптимизация также не зависит от других методов, ускоряющих 3DGS, что позволяет даже более быстрое ускорение по сравнению с обычным 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