3D 가우시안 스플래팅 소개

3D 가우시안 스플래팅은 소수의 이미지에서 유도된 포토리얼리스틱 장면을 실시간으로 렌더링할 수 있는 래스터화 기술입니다. 이는 전통적인 삼각형 기반 래스터화에서 가우시안 기반 접근 방식으로의 전환을 나타내며, 3D 환경의 고충실도 시각적 재건을 가능하게 합니다.

3D 가우시안 스플래팅의 핵심 메커니즘

3D 가우시안 스플래팅은 래스터화 기술로서 작동하며, 즉 장면을 설명하는 데이터를 받아 화면에 그립니다. 전통적인 컴퓨터 그래픽스가 삼각형 래스터화에 의존하는 것과 달리, 이 방법은 가우시안을 사용하여 장면을 표현합니다.

각 개별 가우시안은 네 가지 주요 매개변수로 정의됩니다:

  • 위치: 가우시안의 XYZ 좌표.
  • 공분산: 가우시안이 어떻게 늘어지거나 스케일링되는지를 정의하는 3x3 행렬.
  • 색상: 가우시안의 RGB 값.
  • 알파: 가우시안의 투명도 수준 (α).

수백만 개의 이러한 가우시안을 래스터화함—때로는 단일 장면에 최대 7백만 개까지—시스템은 3D 객체 또는 환경의 밀도 높고 포토리얼리스틱한 표현을 생성할 수 있습니다.

기술 파이프라인

3D 가우시안 스플래팅 장면을 만드는 과정은 네 가지 distinct 단계로 구성됩니다:

1. 구조에서 움직임 추정 (SfM)

파이프라인은 Structure from Motion을 시작으로 2D 이미지 세트로부터 3D 포인트 클라우드를 추정합니다. 이는 일반적으로 COLMAP 라이브러리를 사용하여 달성됩니다.

2. 가우시안으로 변환

추정된 포인트 클라우드의 각 점은 가우시안으로 변환됩니다. 이는 즉각적인 래스터화를 가능하게 하지만, 초기 변환은 위치와 색 데이터만 제공합니다. 고품질 결과를 얻으려면 표현은 훈련 과정을 거쳐야 합니다.

3. 확률적 경사 하강법 (SGD)을 통한 훈련

훈련은 가우시안 매개변수를 최적화하기 위해 확률적 경사 하강법 (SGD)을 사용하여 수행됩니다. 이 과정은 다음과 같은 단계로 구성됩니다:

  1. 래스터화: 미분 가능한 래스터라이저를 사용하여 가우시안이 이미지로 렌더링됩니다.
  2. 손실 계산: 래스터화된 이미지와 실제 이미지 사이의 차이가 계산됩니다.
  3. 매개변수 조정: 손실에 기반하여 가우시안 매개변수가 조정됩니다.
  4. 밀도 증가 및 가지치기: 시스템은 가우시안의 수를 자동으로 관리합니다. 그래디언트가 크면 작은 가우시안이 복제되고 큰 가우시안이 분할됩니다. 반대로, 가우시안의 알파 값이 너무 낮아지면 제거됩니다 (가지치기).

4. 미분 가능한 가우시안 래스터화

SGD를 통한 훈련을 가능하게 하기 위해 래스터라이저는 미분 가능해야 합니다. 렌더링 과정은 카메라 관점에서 각 가우시안을 2D로 투영하고, 깊이 순으로 정렬한 뒤, 각 픽셀에 대해 앞쪽에서 뒤쪽으로 혼합하는 것을 포함합니다.

성능 트레이드오프 및 제한

3D 가우시안 스플래팅은 고품질, 실시간 성능을 제공하지만 특정 기술적 제약을 도입합니다:

장점

  • 고품질의 포토리얼리스틱 장면 재구성.
  • 빠른 실시간 래스터화 속도.
  • 비교적 빠른 훈련 시간.

단점

  • 높은 VRAM 사용량: 시청 시 4GB의 VRAM이 필요하며, 훈련 시 12GB가 필요합니다.
  • 대용량 저장 요구 사항: 단일 장면은 디스크에서 1GB를 초과할 수 있습니다.
  • 파이프라인 비호환성: 원래의 CUDA 구현은 Vulkan, DirectX, 또는 WebGPU와 같은 기존 생산 렌더링 파이프라인과 네이티브 호환되지 않습니다.
  • 정적 특성: 원래 방법은 정적 장면을 위해 설계되었습니다.

산업적 의미 및 미래 전망

3D 가우시안 스플래팅은 3D 공간의 밀도 높은 표현을 제공하며, 이는 3D 공간을 정확하게 표현하는 것이 주요 과제인 Embodied AI 연구에 중요한 영향을 미칠 수 있습니다. 또한, 동적 3D 가우시안에 대한 연구는 이 기술이 결국 애니메이션을 지원할 수 있음을 시사합니다.

생산 통합 측면에서, 주요 병목은 수백만 개의 가우시안을 효율적으로 정렬하는 것입니다. 원래 구현은 CUDA 특정 최적화인 CUB 디바이스 라디кс 정렬을 사용합니다. 그러나 WebGPU, WebGL, Unity용 뷰어를 포함한 여러 가지 적응이 이미 등장했습니다. 이들 중 일부는 품질이나 성능을 잠재적으로 낮출 수 있는 쿼드 기반 래스터화를 사용하지만, 최적화 기술은 이미 CUDA 환경 외부에서도 고품질 결과를 달성할 수 있음을 보여주고 있습니다.

Sources