Gaussian Splatting
사실적인 3D 장면 재구성을 위한 가우시안 스플래팅을 살펴보세요. 실시간 렌더링을 가능하게 하고 Ultralytics YOLO26과 통합되어 비전을 지원하는 방법을 알아보세요.
가우시안 스플래팅은 컴퓨터 그래픽스와 컴퓨터 비전에서 일련의 2D 이미지로 사실적인 3D 장면을 재구성하는 데 사용되는 현대적인 래스터화 기법입니다. 다각형 메시를 사용하는 기존 3D 모델링이나, 신경망을 사용해 장면을 근사하는 신경 방사 필드(NeRF)와 같은 최근 AI 기술과 달리, 가우시안 스플래팅은 수백만 개의 3D 가우시안 분포(타원체)로 장면을 표현합니다. 이 방법은 뛰어난 시각적 충실도를 유지하면서 높은 프레임 속도(종종 100 FPS 초과)로 실시간 렌더링을 가능하게 하여, 기존 뷰 합성 방법의 주요 성능 병목 현상을 해결합니다.
가우시안 스플래팅 작동 방식#
핵심 아이디어는 3D 공간을 암시적으로 표현하는 대신 명시적으로 표현하는 데 있습니다. 일반적인 워크플로에서는 Structure from Motion(SfM)이라는 기법을 사용해 일련의 사진으로부터 생성한 희소 포인트 클라우드로 프로세스를 시작합니다. 그런 다음 이 클라우드의 각 포인트를 3D 가우시안으로 초기화합니다.
학습 과정에서 시스템은 각 가우시안에 대해 여러 파라미터를 최적화합니다.
- 위치: 장면 내 3D 좌표(X, Y, Z)입니다.
- 공분산: 타원체의 형태와 회전을 결정합니다(예: "스플랫"이 얼마나 늘어나거나 기울어져 있는지).
- 불투명도: 가우시안이 얼마나 투명하거나 불투명하게 보이는지를 나타냅니다(알파 값).
- 색상: 구면 조화 함수를 사용해 표현되며, 보는 각도에 따라 색상이 달라지도록 하여 사실적인 반사와 조명 효과를 포착합니다.
"스플래팅"이라는 용어는 이러한 3D 가우시안을 2D 카메라 평면에 투영하거나 "스플랫"하여 이미지를 형성하는 래스터화 프로세스를 의미합니다. 이 투영은 완전히 미분 가능하므로 표준 경사 하강법 알고리즘을 사용해 렌더링된 이미지와 원본 정답 사진 간의 차이를 최소화할 수 있습니다.
가우시안 스플래팅과 NeRF 비교#
두 기법 모두 장면의 새로운 뷰를 생성하는 것을 목표로 하지만, 아키텍처와 성능은 근본적으로 다릅니다. NeRF (신경 방사 필드)는 신경망의 가중치에 장면을 인코딩합니다. NeRF를 렌더링하려면 각 프레임마다 이 네트워크를 수백만 번 조회해야 하므로(레이 마칭), 계산 비용이 높고 속도가 느립니다.
반면 가우시안 스플래팅은 명시적 표현(가우시안 목록)을 사용합니다. 따라서 비디오 게임에서 그래픽을 렌더링하는 방식과 유사한 효율적인 타일 기반 래스터화를 활용할 수 있습니다. 결과적으로 가우시안 스플래팅은 NeRF보다 학습과 렌더링 속도가 훨씬 빠르므로, 소비자 애플리케이션과 실시간 추론에 더욱 적합합니다.
실제 적용 사례#
가우시안 스플래팅의 속도와 품질은 다양한 산업 분야에 새로운 가능성을 열었습니다.
- 가상 관광 및 부동산: 제작자는 드론이나 스마트폰을 사용해 박물관, 유적지 또는 판매할 주택을 촬영할 수 있습니다. 가우시안 스플래팅을 사용하면 원격 사용자가 가상 현실(VR)에서 6자유도(6DoF)로 이러한 공간을 탐색할 수 있으며, 기존 사진측량으로는 놓칠 수 있는 나무 바닥의 반사와 같은 세부적인 요소도 확인할 수 있습니다.
- 자동차 시뮬레이션: 자율주행 차량을 개발하는 기업은 인식 알고리즘을 테스트하기 위해 방대한 양의 데이터가 필요합니다. 가우시안 스플래팅은 센서 데이터로 실제 도시 블록을 재구성하여 사실적인 시뮬레이션 환경을 생성할 수 있습니다. 이러한 환경에서 Ultralytics YOLO26과 같은 비전 모델을 테스트하여 복잡한 3D 시나리오에서 위험 요소를 정확히 식별하는지 확인할 수 있습니다.
컴퓨터 비전을 활용한 스플래팅 전처리#
가우시안 스플래팅이 효과적으로 작동하려면 일반적으로 학습 이미지가 정적이어야 합니다. 원본 사진 속 움직이는 객체(예: 보행자나 자동차)는 "플로터"라는 아티팩트를 유발할 수 있습니다. 고급 파이프라인에서는 인스턴스 세그멘테이션을 사용해 스플랫 모델을 학습하기 전에 이러한 동적 요소를 자동으로 마스킹합니다.
Ultralytics Platform을 사용하면 팀이 데이터셋을 관리하고 이 전처리 단계에 활용할 수 있는 모델을 학습할 수 있습니다. 다음은 3D 재구성을 위해 사용할 데이터셋의 마스크를 생성하는 데 세그멘테이션 모델을 사용하는 방법의 예입니다.
from ultralytics import YOLO
# Load the YOLO26 segmentation model
model = YOLO("yolo26n-seg.pt")
# Run inference on an image from the scan dataset
# Class 0 is 'person' in COCO - we mask them out to keep the scene static
results = model.predict("scan_frame_001.jpg", classes=[0])
# Save the generated mask to exclude the person from the 3D reconstruction
for result in results:
result.save_masks("scan_frame_001_mask.png")AI에서의 중요성과 향후 동향#
가우시안 스플래팅은 컴퓨터 비전에서 딥러닝의 학습 가능성과 기존 컴퓨터 그래픽스의 효율성을 결합하는 하이브리드 방식으로의 전환을 나타냅니다. 이 기법은 빠르게 발전하고 있으며, 연구자들은 파일 크기(커질 수 있음)를 압축하고 생성형 AI와 통합하여 텍스트 프롬프트로 3D 에셋을 생성하는 방법을 탐구하고 있습니다. GPU와 같은 하드웨어 가속기가 계속 발전함에 따라 가우시안 스플래팅은 현실 세계를 디지털 형식으로 캡처하고 렌더링하는 표준이 될 가능성이 높습니다.









