AI VIDEO BRIEFING

3D 가우시안 스플래팅이란? NeRF와 비교한 실시간 3D 렌더링 원리

여러 장의 사진으로 장면을 3D로 복원하는 가우시안 스플래팅이 어떻게 NeRF의 느린 렌더링을 100FPS 실시간으로 끌어올렸는지, 컴퓨터파일이 크리스마스트리 예시로 풀어낸다.

느린 NeRF를 밀어낸 3D 가우시안 스플래팅, 실시간 렌더링의 비결 영상 대표 이미지

핵심 메시지

  • NeRF는 여러 RGB 사진으로 장면을 신경망 안에 3D로 복원하지만, 새 시점을 렌더링하려면 광선을 쏘아 샘플링해야 해 매우 느리다(약 0.2FPS).
  • 가우시안 스플래팅은 장면을 수많은 3차원 가우시안(중심이 밝고 가장자리로 흐려지는 덩어리)으로 표현하며, 색·불투명도·방향별 외형을 가진 '영리한 원'에 가깝다.
  • 광선 추적 대신 래스터화로 가우시안을 화면에 직접 칠하기 때문에 100FPS급 실시간 렌더링이 가능하다.
  • 최적화는 경사하강법으로 참조 이미지와 비교하며 진행되고, 너무 큰 가우시안은 분할, 너무 작은 가우시안은 복제해 세포처럼 장면에 맞춰간다.
  • 가우시안은 신경망이 아닌 물리적 객체라, NeRF와 달리 유니티 등에 불러와 옮기거나 편집하기 쉽다.

쉽게 이해하기

영상은 같은 크리스마스트리 장면을 NeRF와 가우시안 스플래팅으로 비교하며 시작한다. 발표자는 화질을 높여도 카메라를 움직이는 순간 거의 즉각적으로 렌더링되는 모습을 보여준다. 이전 NeRF 영상에서는 카메라를 새 위치로 옮길 때마다 제대로 된 이미지가 나오기까지 약 5초를 기다려야 했지만, 가우시안 스플래팅은 좋은 컴퓨터라면 100FPS도 가능하다고 설명한다.

먼저 NeRF를 짧게 복습한다. NeRF는 한 장면의 여러 RGB 사진을 받아 신경망으로 3D를 복원한다. 카메라 시점에서 장면 속으로 광선을 쏘고 그 위의 점들을 샘플링하며 신경망에 '여기 무엇이 있나'를 묻는다. 충분히 많은 카메라와 광선으로 이를 반복하면 3D 객체의 표현이 신경망 자체에 쌓인다. 즉 장면이 작은 신경망으로 표현돼 어느 시점에서든 렌더링할 수 있다는 게 장점이지만, 제약 없는 시점에서는 결과가 들쭉날쭉하고 새 그림을 그릴 때마다 모든 픽셀에서 광선을 쏘아 샘플링해야 해 느리다는 게 단점이다.

가우시안 스플래팅은 장면을 점들의 집합으로 보되, 각 점을 하나의 점이 아니라 작은 가우시안으로 표현한다. 가우시안은 1차원에서는 정규분포 곡선, 2차원에서는 언덕, 3차원에서는 중심이 밝고 가장자리로 흐려지는 덩어리(타원체)다. 이런 가우시안을 장면 곳곳에 흩뿌리면 객체를 구성할 수 있다. 발표자는 이를 전통 그래픽스의 삼각형 메시에 빗대며, 가우시안은 색·불투명도를 갖고 구면 조화(spherical harmonics) 때문에 보는 각도에 따라 달라지는 '아주 영리한 원'이라고 설명한다.

제작 과정은 이렇다. 먼저 structure from motion으로 기본적인 점구름을 얻고 그 사이에 가우시안을 배치한다. 처음 결과는 PS1 초기 게임처럼 듬성듬성한 점구름에 가깝다. 여기서 NeRF와 결정적으로 다른 단계가 래스터화다. 광선 행진이나 광선 추적을 하는 대신, 카메라와 가우시안의 위치를 알기에 가우시안을 이미지 앞으로 옮겨 화면에 직접 칠한다. 가우시안마다 보는 방향에 따라 색이 다르고 가장자리에 투명도가 있어 색을 섞는 약간의 블렌딩이 필요하지만, 그 뒤는 사실상 표준 렌더링이다. 모든 픽셀의 광선을 따라 점을 일일이 조회하는 NeRF와 달리, '여기에 어떤 가우시안이 있나'만 확인하고 알파 블렌딩과 깊이 검사를 하면 되므로 훨씬 빠르다.

최적화는 경사하강법으로 이뤄진다. 거대한 신경망이 아니라 표준 경사하강법으로, 결과를 참조 이미지와 비교해 각 가우시안의 크기·불투명도·색을 조정한다. 이때 두 가지 보정이 핵심이다. 하나의 가우시안이 너무 커서 영역을 과하게 표현(overfitting)하면 세포처럼 둘로 분할하고, 너무 작아 영역을 못 채우면(underfitting) 복제해 늘린다. 이 작업을 한 장이 아니라 장면의 모든 시점에서 동시에 수행해 3D 형태가 실제 객체의 3D 형태를 반영하도록 만든다. 그렇게 가우시안들은 세포처럼 움직이고 변하고 나뉘고 복제되며 점차 사실적인 장면이 된다.

렌더링 단계에서는 z버퍼(깊이 버퍼)로 앞쪽 가우시안에 가려진 것은 그리지 않고, 투명도가 있는 경우 알파 블렌딩으로 겹친 색을 더해 간다. 꼭 필요한 것만 그리므로 상당수 가우시안은 장면마다 아예 렌더링되지 않아 매우 빠르다. 실제 예시로 발표자는 크리스마스트리 장면을 Nerf Studio의 Splatfacto 모델로 다시 학습시켜 보여준다. 덤불은 수천 개의 개별 가우시안 조각으로 이뤄지고, NeRF에서 바깥쪽이 순수한 노이즈로 보이던 것과 달리 가우시안이 없는 바깥은 그냥 검게 렌더링된다. 다만 학습 이미지에 담기지 않은 바닥 같은 곳은 아무것도 그려지지 않는 한계가 NeRF와 동일해, 장면 전체를 최대한 촘촘히 촬영하라고 조언한다.

마지막으로 영상은 가우시안의 가장 큰 실용적 장점을 보여준다. 가우시안은 신경망이 아닌 물리적 객체라서 게임 엔진 유니티에 그대로 불러올 수 있다. NeRF에서는 트리를 왼쪽으로 조금 옮기려 해도 신경망을 다시 학습해야 하지만, 가우시안은 드래그 앤 드롭으로 1초면 된다(재학습이라면 30분). 발표자는 가우시안에 입자 효과를 걸어 스페이스바를 누르면 장면이 수많은 입자로 흩어지는 데모까지 선보이며, 신경망 표현으로는 불가능한 편집의 자유를 강조한다.

주요 인사이트

  • NeRF와 가우시안 스플래팅 모두 여러 사진으로 3D를 복원하지만, NeRF는 장면을 신경망으로, 가우시안 스플래팅은 명시적 3D 가우시안 집합으로 표현한다.
  • 속도 차이의 핵심은 렌더링 방식이다. NeRF는 픽셀마다 광선을 쏘아 샘플링하지만, 가우시안 스플래팅은 래스터화로 화면에 직접 칠해 100FPS급 실시간이 가능하다.
  • 가우시안의 분할(과적합 보정)과 복제(과소적합 보정)는 세포 분열에 비유되며, 경사하강법으로 모든 시점에서 동시에 최적화된다.
  • z버퍼와 알파 블렌딩 같은 수십 년 된 표준 그래픽스 기법을 현대적으로 결합한 것이 빠른 렌더링의 토대다.
  • 가우시안이 물리적 객체라는 점은 단순한 속도 이점을 넘어, 유니티로의 임포트·즉시 이동·입자 효과 같은 편집 자유로 이어진다.

자주 묻는 질문

가우시안 스플래팅은 NeRF보다 왜 그렇게 빠른가?

NeRF는 새 그림을 그릴 때 모든 픽셀에서 광선을 쏘아 그 위의 점을 일일이 조회해야 해 느리다(약 0.2FPS). 가우시안 스플래팅은 광선 추적 대신 래스터화로 가우시안을 화면에 직접 칠하고 알파 블렌딩과 깊이 검사만 하므로 100FPS급 실시간 렌더링이 가능하다.

여기서 '가우시안'은 무엇을 뜻하나?

1차원에서는 정규분포 곡선, 2차원에서는 언덕, 3차원에서는 중심이 밝고 가장자리로 흐려지는 덩어리(타원체)를 말한다. 색과 불투명도를 가지고 구면 조화 때문에 보는 각도에 따라 달라지는, 삼각형 메시를 대신하는 '영리한 원'으로 설명된다.

가우시안이 신경망이 아닌 물리적 객체라는 점은 어떤 이점을 주나?

NeRF에서는 트리를 조금 옮기려 해도 신경망을 다시 학습해야 하지만, 가우시안은 유니티 같은 엔진에 불러와 드래그 앤 드롭으로 1초면 옮길 수 있다. 입자 효과를 거는 등 신경망 표현으로는 불가능한 편집도 가능하다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식

#가우시안스플래팅#NeRF#3D렌더링#컴퓨터그래픽스#신경망