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
초록
우리는 3D 가우시안 스플래팅(3DGS)의 재구성을 가속화하는 새로운 방법인 3DGS-LM을 제안합니다. 이 방법은 ADAM 옵티마이저를 특수로 제작된 Levenberg-Marquardt(LM)로 대체함으로써 최적화 시간을 단축합니다. 기존 방법은 가우시안의 수를 줄이거나 미분 가능한 래스터라이저의 구현을 개선함으로써 최적화 시간을 줄이지만, 여전히 수천 번의 반복을 통해 장면의 가우시안 매개변수를 맞추기 위해 ADAM 옵티마이저에 의존합니다. 이는 최대 1시간이 소요될 수 있습니다. 이에 우리는 LM으로 옵티마이저를 변경하여 3DGS 미분 가능한 래스터라이저와 함께 작동하도록 합니다. 효율적인 GPU 병렬화를 위해 중간 그래디언트를 위한 캐싱 데이터 구조를 제안하여 사용자 지정 CUDA 커널에서 미분-벡터 곱을 효율적으로 계산할 수 있게 합니다. 각 LM 반복에서 이러한 커널을 사용하여 여러 이미지 하위 집합에서 업데이트 방향을 계산하고 가중 평균으로 결합합니다. 전반적으로 우리의 방법은 원래 3DGS보다 30% 빠르며 동일한 재구성 품질을 달성합니다. 또한 우리의 최적화는 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