Gaussian Splatting
포토리얼리스틱 3D 장면 재구성을 위한 가우시안 스플래팅(Gaussian Splatting)을 탐색하십시오. 이것이 어떻게 실시간 렌더링을 가능하게 하고 시각 인식을 위해 Ultralytics YOLO26과 통합되는지 알아보십시오.
Gaussian Splatting은 컴퓨터 그래픽스와 컴퓨터 비전 분야에서 2D 이미지 세트로부터 사실적인 3D 장면을 재구성하기 위해 사용하는 최신 래스터화 기법입니다. 폴리곤 메시를 기반으로 하는 기존의 3D 모델링이나, 신경망을 사용하여 장면을 근사화하는 Neural Radiance Fields (NeRF)와 같은 최근의 AI 발전과 달리, Gaussian Splatting은 장면을 수백만 개의 3D Gaussian 분포(타원체) 집합으로 표현합니다. 이 방식은 이전의 뷰 합성 방법에서 나타났던 주요 성능 병목 현상을 해결하면서도 높은 프레임 속도(종종 100 FPS 초과)로 실시간 렌더링을 가능하게 하여 뛰어난 시각적 충실도를 유지합니다.
Link to this sectionGaussian Splatting의 작동 원리#
The core idea revolves around representing 3D space explicitly rather than implicitly. In a typical workflow, the process begins with a sparse point cloud generated from a set of photos using a technique called Structure from Motion (SfM). Each point in this cloud is then initialized as a 3D Gaussian.
training process 동안 시스템은 각 Gaussian에 대한 여러 매개변수를 최적화합니다:
- 위치(Position): 장면 내의 3D 좌표(X, Y, Z).
- 공분산(Covariance): 타원체의 모양과 회전을 결정합니다(예: "splat"이 얼마나 늘어나거나 기울어져 있는지).
- 불투명도(Opacity): Gaussian이 얼마나 투명하거나 단단하게 보이는지(알파 값).
- 색상(Color): Spherical Harmonics를 사용하여 표현하며, 보는 각도에 따라 색상이 변할 수 있어 사실적인 반사와 조명 효과를 포착합니다.
"splatting"이라는 용어는 이러한 3D Gaussian들이 2D 카메라 평면에 투영되어(또는 "splatted"되어) 이미지를 형성하는 rasterization 과정을 의미합니다. 이 투영은 완전히 미분 가능하므로, 표준 gradient descent 알고리즘을 사용하여 렌더링된 이미지와 실제 사진 간의 차이를 최소화할 수 있습니다.
Link to this sectionGaussian Splatting 대 NeRF#
두 기술 모두 장면의 새로운 뷰를 생성하는 것을 목표로 하지만, 구조와 성능 면에서 근본적인 차이가 있습니다. NeRF (Neural Radiance Fields)는 neural network의 가중치 내에 장면을 인코딩합니다. NeRF를 렌더링하려면 매 프레임마다 이 네트워크를 수백만 번 쿼리해야 하므로(레이 마칭), 계산 비용이 많이 들고 속도가 느립니다.
반면, Gaussian Splatting은 명시적 표현(Gaussian 리스트)을 사용합니다. 이를 통해 비디오 게임이 그래픽을 렌더링하는 방식과 유사한 효율적인 타일 기반 래스터화를 활용할 수 있습니다. 결과적으로, Gaussian Splatting은 NeRF보다 학습 및 렌더링 속도가 훨씬 빨라 소비자 애플리케이션과 real-time inference에 더 적합합니다.
Link to this section실제 애플리케이션 사례#
Gaussian Splatting의 속도와 품질은 다양한 산업 분야에서 새로운 가능성을 열었습니다:
- 가상 관광 및 부동산: 제작자는 드론이나 스마트폰을 사용하여 박물관, 역사적 유적지 또는 판매용 주택을 촬영할 수 있습니다. Gaussian Splatting을 사용하면 원격 사용자가 Virtual Reality (VR) 환경에서 6자유도(6DoF)로 이러한 공간을 탐험할 수 있으며, 기존 사진 측량 방식으로는 놓치기 쉬운 견목 바닥의 반사와 같은 미세한 디테일까지 볼 수 있습니다.
- 자동차 시뮬레이션: autonomous vehicles를 개발하는 기업들은 인식 알고리즘을 테스트하기 위해 방대한 양의 데이터가 필요합니다. Gaussian Splatting은 센서 데이터로부터 실제 도시 구역을 재구성하여 사실적인 시뮬레이션 환경을 만들 수 있습니다. 이러한 환경 내에서 Ultralytics YOLO26과 같은 비전 모델을 테스트하여 복잡한 3D 시나리오에서 위험 요소를 정확하게 식별하는지 확인할 수 있습니다.
Link to this section컴퓨터 비전을 이용한 Splatting 전처리#
Gaussian Splatting이 효과적으로 작동하려면 학습 이미지는 일반적으로 정적이어야 합니다. 원본 사진에 움직이는 객체(보행자나 자동차 등)가 있으면 "floaters"라고 불리는 아티팩트가 발생할 수 있습니다. 고급 파이프라인에서는 instance segmentation을 사용하여 splat 모델을 학습하기 전에 이러한 동적 요소들을 자동으로 마스킹합니다.
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")Link to this sectionAI에서의 중요성 및 미래 동향#
Gaussian Splatting은 computer vision 분야에서 Deep Learning의 학습 가능성과 고전적 컴퓨터 그래픽스의 효율성을 결합하는 하이브리드 방식으로의 전환을 의미합니다. 이 기술은 빠르게 발전하고 있으며, 연구자들은 파일 크기를 압축하고 이를 generative AI와 통합하여 텍스트 프롬프트로부터 3D 에셋을 생성하는 방법을 연구하고 있습니다. GPUs와 같은 하드웨어 가속기가 지속적으로 개선됨에 따라, Gaussian Splatting은 현실 세계를 디지털 형태로 캡처하고 렌더링하는 표준이 될 가능성이 높습니다.






