[CV/논문리뷰] 3D Gaussian Splatting for Real-Time Radiance Field Rendering

Jinn Aha·2025년 1월 29일

Paper Review

목록 보기
7/8
post-thumbnail

SIGGRAPH 2023에서 발표된 3D Gaussian Splatting (3DGS) 은 3D Reconstruction과 Novel View Synthesis(NVS) 분야에서 중요한 전환점을 마련한 연구로 평가받는다. 해당 논문에서는 3D 공간을 연속적인 Gaussian 분포의 집합으로 표현하는 방식을 제안하며, 기존 NeRF 기반 모델들이 가진 느린 최적화 속도와 렌더링 시간 문제를 획기적으로 개선하였다.

3DGS는 NeRF와 3D point-based rendering의 장점을 결합하여 실시간 렌더링이 가능한 효율적인 3D 표현 방식을 제시한다. 이는 고품질의 Novel View Synthesis를 가능하게 하면서도, 기존 기법들보다 훨씬 빠른 학습 및 추론 속도를 제공하는 것이 특징이다. 본 포스팅에서는 해당 논문을 이해하는 데 필요한 핵심 개념과 3DGS가 제안하는 동기 및 접근법을 정리하며, 모델이 기존 방법론과 비교하여 어떤 차별점을 가지는지 분석해 보고자 한다.


Background & Motivation

  • 전통적인 Scene Reconstruction과 Rendering에서 SfM, MVS 기반 방법들은 입력에서 가려진 부분 등에 대한 복원에서 성능의 한계가 있었다.
  • NeRF 기반 방법은 3DGS 이전 가장 주목받는 방법이었지만, 기본적으로 학습 및 추론 속도가 매우 느리다. 또한 implicit한 3D 표현 방식으로 인해 활용을 위해서는 테스크에 따라 추가 작업이 필요했고, 2D로 변환할 때 더 빠른 방식인 rasterization을 사용할 수 없고 오직 ray casting방식만 가능했다.
  • Point-based 3D 표현방식은 빠르지만, point의 불연속성에 의해 표면에 대한 정보를 알 수 없고, 고해상도 이미지 표현에 한계가 있었다.

Point-based Graphics

포인트 클라우드 기반 그래픽스는 3DGS 이전에도 오랫동안 연구되던 주제라고 한다. 그러다 3DGS가 기반삼은 방식은 비교적 최근에 연구된 point-based rendering 방법론으로, 각 point에 표면 속성을 부여한 Surfel을 활용한 아이디어이다.

2차원 Surfel은 Surface Splat의 줄임말로, 타원형의 형태를 가지며 위치 정보에 색상 정보를 가질 수 있다.

Vision 분야에선 SIGRAPH Asia 2019에서 발표된 Surfel을 활용한 미분가능한 렌더링 관련 연구가 있었다.
3DGS에서 활용하는 Gaussian은 2차원 Splat대신 3차원 Volume Splat으로, Volume Rendering을 가능하게 한다.

3D Gaussian

3D Gaussian의 표현식은 다음과 같이 3차원 공간에서 정규 분포를 정의하는 확률밀도함수(PDF)로 표현된다:

(2π)3/2det(Σ)1/2exp(12(xμ)Σ1(xμ))(2\pi)^{-3/2} \det(\mathbf{\Sigma})^{-1/2} \exp \left( -\frac{1}{2} (\mathbf{x} - \mathbf{\mu})^{\top} \mathbf{\Sigma}^{-1} (\mathbf{x} - \mathbf{\mu}) \right)

이에 따라 각 3D Gaussian은 파라미터가 업데이트되면서 scene에서 차지하는 영역과 색상이 결정된다.

α\bold{\alpha}-blending and Radiance Fields

3DGS는 NeRF와 렌더링 방식에서 차이가 있지만, 그 수식은 NeRF에 등장하는 볼륨 렌더링 수식에서 유도된다.

NeRF의 다음 수식에서 αi=1exp(σiδi)\alpha_i = 1 - \exp(-\sigma_i \delta_i)로 치환해주면,

수식이 이렇게 변화한다. 이는 연속적인 함수를 샘플링한 것이었던 NeRF의 수식을 각 포인트(Gaussian) 기반의 계산으로 변환한 것으로 볼 수 있다. Tile Rasterization 단계에서 활용된다.

Contribution

  • Point-based의, 3D Gaussian 이라는 elliptical한 volume splat을 활용한 explicit한 3D Representation 활용
    • 다른 그래픽스 프레임워크로의 융합이 용이하다.
    • Explicit한 3D 표현 덕에 ray casting 대신 rasterization 기법이 적용가능해졌으며, 덕분에 NeRF에 비해 속도 향상을 이루었다.
  • 미분가능한 Volumetric Representation.
  • 신경망을 전혀 포함하지 않으면서 Gradient Descent 알고리즘을 적용하였다. 신경망이 포함되지 않아 속도 향상을 이루었다.
  • SfM으로 생성한 point-cloud가 부족하여 가우시안이 적절히 3D Reconstruction을 수행하지 못했을 때 최적화해주는 Adaptive Density Control of Gaussians
  • 입력으로 viewing direction을 주어 view-dependent color을 구현한 NeRF와 달리, Spherical Harmonics를 통한 view-dependent color 구현

Methods

Architecture

전체 모델 구조는 다음과 같다:

(a) SfM으로 생성한 포인트클라우드와 카메라 파라미터를 입력으로 받는다. 이후 각 포인트를 평균μ\mu, 공분산 행렬 Σ\Sigma, 색상 c\mathbf{c}, 그리고 투명도 α\alpha를 가진 3D Gaussian으로 변환한다.

(b) 카메라 데이터를 바탕으로 3D Gaussian을 2차원으로 projection한다. 그리고 Differentiable Tile Rasterizer를 통해 2D로 투영된 Gaussian들을 depth 기준으로 정렬하고 순차적으로 α\alpha-blending 하여 출력 이미지를 렌더링한다.

(d) GT 이미지와의 비교로 Loss 계산 후 역전파 과정을 통해 Gaussian의 파라미터 업데이트되고, 필요시 Adaptive Density Control에 의해 Gaussian의 분할, 제거, 복제가 이루어진다.

Fast Differentiable Tile Rasterizer

타일 기반으로 Gaussian을 정렬, 렌더링한다. GPU 가속 알고리즘으로, 각 타일을 병렬적으로 렌더링한다.

그 과정은 다음과 같다:

  • 2D Projection (a) 화면에 보이는 Gaussian만 선택할 수 있도록 Frustum Culling한다. (b) Gaussian을 2D로 projection한다. (좌표계 변환)
  • Tile Rasterization (a) 화면을 16X16 타일로 분할한다. (b) 타일들 중 Gaussian이 중첩되는 타일을 계산한다. (c) 타일별로 Gaussian을 depth 기준 정렬하여 순서대로 렌더링한다. (d) 이 때 하나의 타일 당 Gaussian들을 α\alpha-blending으로 누적하여서 각 픽셀의 색상을 결정한다.

Optimization

Adaptive Density Control

3D Gaussian의 개수를 동적으로 조정하여 scene을 효율적으로 표현하는 방법이다. Gaussian의 밀도를 Loss를 바탕으로 최적화한다. Clone, Split, Pruning을 활용한다.

  • Clone: Under-reconstruction 상황일 때. scene의 특정 영역의 정보량에 비해 Gaussian이 부족할 때, Gaussian을 복제한 이후 학습을 계속하여 최적화
  • Split: Over-reconstruction 상황일 때. scene의 특정 영역에 대한 정보가 부족하여 너무 큰 Gaussian이 넓은 영역을 커버하고 있을 때, 이를 분할하고 크기를 축소시킴.
  • Pruning: 특정 Gaussian의 α\alpha값이 너무 작거나, 크기가 과도하게 클 때 제거한다.
    • 매 3000 iter마다 불필요한 것으로 보이는 Gaussian들의 α\alpha값을 0으로 초기화한다. 학습이 진행되면서 α\alpha값이 증가하지 않은 Gaussian은 삭제된다.

Ablation Study 결과. Split은 백그라운드 reconstruction에 효과적이었고, Clon은 세밀한 디테일(사진상 바퀴 살)의 reconstruction에 필요했음이 보여졌다.

Loss 는 다음과 같이 L1 + D-SSIM Loss를 합한 방식으로 정의되어 있다.

Other Ablation Studies

그 외에도, Anisotropic한 Gaussian을 사용한 방식과 초기 Gaussian 생성시 SfM 포인트클라우드 기반으로 생성한 방식에 대한 Ablation Study 결과도 다음과 같이 제시되었다.

Anistropic Covariance.

Initialization from SfM. 배경을 제외하고는 큰 퀄리티 차이가 없다.

Results

논문의 가장 첫 장에 메인으로 등장하는 결과. 다른 모델들과 비교했을 때, inference 속도가 비교가 안되게 빠르다.

백그라운드의 디테일이나 바퀴살 등의 얇고 세밀한 표현에서 좋은 성능을 보이고 있음이 보여진다.

테이블로 살펴보면, 30K iteration 모델의 경우 성능이 상당히 인상깊다. NeRF가 이미지의 고해상도에 집중한 데에 비해 3DGS가 효율적 측면에 집중했다는 사실을 고려하면 시간적 효율성과 결과 퀄리티를 균형있게 잡았다.

Limitation

  • Dynamic Scene에서 적용 불가하다.
  • Generalizable하지 않다.
  • Regularization이 적용되지 않았다. 몇가지 아티팩트(Gaussian이 너무 늘어지거나 갑자기 튀는 현상(Popping))이 생길 수 있는데, 추후 정규화를 통해 해결할 수 있을 것이라고 제안되어 있다.
  • explicit한 3차원 표현의 특징으로, 메모리를 많이 먹는다.
profile
Aha!의 순간은 언제나 즐겁다.

0개의 댓글