
[Paper] [Page] [Github]
Bernhard Kerbl, Georgios Kopanas, Thomas Leimkühler, George Drettakis
Inria | Max-Planck-Institut für Informatik
SIGGRAPH 2023
3DGS(3D Gaussian Splatting)는 NeRF가 실시간 렌더링이 가능하지 않다는 점을 보완하기 위해 등장했다고 생각한다. 그래서 논문에서도 실험 부분에서 NeRF와 비교를 많이 했다.
Fig 1. NeRF와 3DGS의 차이점
Fig 2. SH
내가 생각했을 때 SH(Spherical Harmonics, 구면 조화 함수)가 큰 특징인것 같다. RGB는 픽셀 값의 색상이라면 SH는 바라보는 각도에 따라 달라지는 빛과 색상을 3D 공간 상에 둥글게 매핑하여 계산해 내는 수학적 표현 방식이다. 이 수식에 대해서는 추후 공부가 필요할 것 같다.
Fig 3. Gaussian
3D Gaussian은 3차원 공간에서의 정규 분포를 뜻한다. 통계에서 자주 사용하는 1차원 Gaussian은 종모양이다. 각 가우시안들은 평균, 분산값을 가지고 있다. 또한 3DGS에서 사용하는 Gaussian은 anisotropic(비등방성)으로 복잡한 표현을 위해 anisotropic(비등방성)를 사용해야 한다.
Fig 4. Optimization starts with the sparse SfM
3DGS의 전체적인 파이프라인은 다음과 같다. 크게 4단계로 살펴 보겠다.
2D 이미지를 넣어 Structure-from-Motion(SfM)을 통해 sparse한 point cloud를 초기값으로 사용한다. SfM을 통해 얻을 수 있는 파라미터들은 다음과 같다.
이 정보를 바탕으로 다음의 파라미터들을 부여 받는다. 이 파라미터는 랜덤하게 생성되는것이 아닌 SfM을 기반으로 생성하게 된다.
3D 공간에 있는 가우시안들을 2D 화면으로 보이게하는 과정이다.
위 수식은 3D 가우시안을 2D 이미지 평면으로 투영하는 수식이다. 여기서 는 카메라의 시점을 변환하는 뷰 변환 행렬 는 Jacobian 행렬이다.
위 공식은 3D 가우시안의 크기를 결정하는 3D 공분산 행렬 이며 수식을 분해한 이유는 가우시안의 크기가 항상 양수가 나오게 만들기 위함이다
Fig 5. Gaussian densification scheme
이 단계는 이미지의 복잡도에 맞춰 가우시안의 분포와 밀도를 조절하는 과정이다.
위 두 가지 방법 모두 가우시안의 개수를 증사킨다. 가우시안들이 계속 증가하게 되면 floaters에 갇힐 수 있기 때문에 위 논문에서는 3000번의 iteration마다 모든 가우시안의 투명도() 값을 0에 가깝게 초기화 한다. 투명도가 초기된 후 다시 학습을 하게 되면 유의미한 가우시안들만 다시 값이 커지며 살아남고 필요없는 floaters들은 삭제된다.
Fig 6. Differentiable Tile Rasterizer
3DGS가 실시간 렌더링(Real-time Rendering)을 달성하게 해준 단계다.
1) 화면 분할 : 전체 2D 화면을 16x16 픽셀 크기의 타일(Tile) 단위로 쪼갠다. GPU의 최적화를 위해 16X16으로 나눈것 같다.
2) 컬링(Culling) : 카메라 시야 밖에 있거나 겹치는 타일이 없는 가우시안들은 렌더링 연산에서 제외하여 메모리와 연산량을 아낀다.
3) 정렬(Sorting) : 각 타일별로 가우시안들을 카메라 깊이 순서대로 정렬한다. (GPU의 Radix Sort 활용)
4) 알파 블렌딩 : 정렬된 순서대로 가우시안들의 색상과 불투명도를 누전 연산하여 최종 픽셀의 색상을 결정한다.
결국 이 타일 기반 레스터라이저는 미분 가능(differntiable)하기 때문에 렌더링된 결과물과 실제 원본 이미지의 오차(loss)를 계산한 뒤 역전파(backpropagation)을 통해 파라미터()들을 업데이트 해가며 정답에 가까워진다.
Fig 7. Results
시각적으로 GT와 Mip-NeRF360과 비교했을 때 3DGS가 GT에 가깝다는 것을 볼 수 있다.
Table 1. Quanitiative evaluation
정량적으로 비교했을 때 Mip-NeRF360 보다 우수하다는 것을 볼 수 있다.
Table 2. Ablation study
Fig 8. Ablation study
논문에서 제시한 방법론에서 진행한 Ablation study다. Isotropic보다는 anisotropic이 성능이 더 뛰어남을 볼 수 있다.
Algorithm 1. Optimization and Densification
3DGS의 전체적인 알고리즘이다. 전체 파이프라인을 따라가다보면 이 알고리즘을 이해할 수 있을거다.
3DGS의 한계점도 존재한다. 여러 한계점이 있겠지만 그 중에서도 내가 생각했을 때 중요한 한계점은 2개가 있다.
위 한계점을 극복하기 위해 여러 방법론들이 나오고 있는데 빠르게 읽고 정리해봐야 겠다.