LabHub

블로그

3D 가우시안 스플래팅 & 포토그래메트리 2026 완벽 가이드 - Nerfstudio · Postshot · Luma Genie · Polycam · Apple Object Capture · RealityCapture 심층 분석

한국어English日本語

프롤로그 — 폴리곤이 끝나가는 풍경

2010년대까지 3D는 폴리곤 메시였다. 정점·면·UV·텍스처. Blender·Maya·ZBrush. 사진을 메시로 바꾸는 일은 포토그래메트리(photogrammetry)의 일이었고, RealityCapture와 Metashape가 그 정점이었다.

2023년 7월, INRIA의 한 논문이 풍경을 바꿨다. "3D Gaussian Splatting for Real-Time Radiance Field Rendering" — Bernhard Kerbl·Georgios Kopanas·Thomas Leimkühler·George Drettakis. NeRF가 1~5분 걸리던 한 프레임을 타원체(ellipsoid) 수백만 개의 알파 컴포지팅으로 바꾸니, 같은 화질이 10ms 안에 나왔다.

2026년 5월 현재의 풍경은 이렇다.

이 글은 2026년 5월의 3DGS·포토그래메트리 스택을 처음부터 끝까지 정리한다. 캡처 → COLMAP·Hloc → 학습 → 익스포트 → 웹 뷰어까지. 그리고 그 사이에 한국·일본의 실제 도입 사례, 학술 베이스라인, 라이선스의 함정까지.


1장 · 두 개의 패러다임 — 메시와 스플랫

먼저 그림 한 장.

[사진 100장]
     |
     v
 [SfM: COLMAP / Hloc / Glomap]
     |
     +-> 카메라 포즈
     +-> 희소 포인트 클라우드
     |
     v
 +---------+        +-------------------+
 |  MVS    |        |  3D Gaussians     |
 | (조밀화) |        |  (타원체 수백만)   |
 +---------+        +-------------------+
     |                       |
     v                       v
 [메시 .obj / .glb]      [.ply / .splat / .ksplat]
     |                       |
     v                       v
 [폴리곤 렌더]            [Splat 래스터화 ~10ms]

좌측은 포토그래메트리 — 사진 → 메시. 1990년대 항공측량에서 시작해 RealityCapture·Metashape·Meshroom으로 진화했다. 결과물은 폴리곤 + 텍스처라 게임 엔진·CAD·3D 프린터에 그대로 들어간다.

우측은 가우시안 스플래팅 — 사진 → 3D 가우시안 타원체. 메시가 아니라, 위치·공분산·색·알파를 가진 수백만 개의 부드러운 점이 모여 장면을 표현한다. 폴리곤이 표현하지 못하던 머리카락·유리·연기 같은 부분이 자연스럽게 들어온다.

기억할 한 줄: 메시는 만지고 자르는 3D, 스플랫은 보고 도는 3D.


2장 · 3DGS의 작동 원리 — 타원체 알파 컴포지팅

3D 가우시안 하나는 다음 다섯 가지로 정의된다.

  1. 위치(mean) — 3차원 좌표 (x, y, z).
  2. 공분산(covariance) — 3 by 3 행렬. 실제로는 회전 쿼터니언과 스케일 벡터로 분리해 학습한다.
  3. 불투명도(opacity) — 알파 값.
  4. SH 계수(spherical harmonics) — 시점에 따라 변하는 색. 보통 차수 3까지, 가우시안당 48개 값.
  5. 시점 의존 색 — 위 SH로부터 카메라 방향에 따라 합성된다.

렌더링은 다음 순서다.

1. 모든 가우시안을 카메라 공간으로 투영
2. 각 가우시안을 화면의 2D 가우시안으로 압축 (Jacobian으로 근사)
3. 깊이순으로 정렬 (front-to-back)
4. 픽셀마다 알파 블렌딩으로 합성

NeRF가 픽셀마다 수십~수백 개 점을 적분(volumetric ray marching) 하는 반면, 3DGS는 이미 정렬된 가우시안을 한 번에 합성한다. 이게 100배 이상의 속도 차이를 만든다.

학습은 SfM에서 받은 희소 포인트로 시작해, 사진을 다시 렌더해보면서 가우시안의 위치·공분산·SH·알파를 모두 미분 가능하게 갱신한다. 약 30,000 iteration이면 1080p 사진 100장 기준 결과가 안정된다.


3장 · INRIA 원본 구현 — 출발점

원논문 저자들이 공개한 코드(graphdeco-inria/gaussian-splatting)는 지금도 모든 후속 연구의 기준이다. CUDA 11.8 이상, 12GB VRAM 이상이 권장이다.

git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive
cd gaussian-splatting
conda env create --file environment.yml
conda activate gaussian_splatting

# COLMAP로 사진 → 카메라 포즈
python convert.py -s data/my_scene

# 학습 (30k iter, V100/3090에서 약 30~60분)
python train.py -s data/my_scene -m output/my_scene

# 뷰어
./SIBR_viewers/install/bin/SIBR_gaussianViewer_app -m output/my_scene

장점: 레퍼런스 구현이라 결과가 깨끗하다. 단점: 윈도우 빌드가 깨지기 쉽고, 학습 옵션이 적으며, 라이선스가 비상업적(Non-commercial)이다. 상업 프로젝트는 후속 도구로 가야 한다.


4장 · Nerfstudio 1.4 — 사실상 표준 파이프라인

UC Berkeley의 KAIR 랩이 2022년에 시작한 Nerfstudio는, 2024년부터 NeRF가 아니라 3DGS의 표준 파이프라인으로 자리잡았다. 2026년 5월 기준 버전 1.4.

설치는 한 줄이다.

pip install nerfstudio
ns-install-cli

가장 짧은 워크플로.

# 1. 사진/영상 → 카메라 포즈 (COLMAP 기반)
ns-process-data images --data /path/photos --output-dir /path/processed

# 2. 학습 (Splatfacto = Nerfstudio의 3DGS 구현)
ns-train splatfacto --data /path/processed

# 3. 학습 중에 뷰어 자동 실행 (브라우저)
# http://localhost:7007

# 4. 내보내기 (.ply)
ns-export gaussian-splat --load-config outputs/.../config.yml --output-dir exports/

핵심 변형 세 가지.

학습 옵션. ns-train splatfacto --max-num-iterations 30000 --pipeline.model.cull-alpha-thresh 0.005. 3090(24GB)에서 100장 1080p 기준 약 20분.


5장 · gsplat — Nerfstudio 팀이 만든 백엔드

Nerfstudio 1.4가 빠른 이유는 동일 팀이 만든 별도 라이브러리 gsplat 덕분이다. INRIA의 CUDA 커널을 다시 짜면서 다음을 더했다.

별도 프로젝트에서도 그대로 가져다 쓸 수 있다.

import torch
from gsplat import rasterization

# means: (N, 3), quats: (N, 4), scales: (N, 3),
# opacities: (N,), colors: (N, K, 3)  (K = SH 계수 수)
renders, alphas, info = rasterization(
    means=means,
    quats=quats,
    scales=scales,
    opacities=opacities,
    colors=colors,
    viewmats=viewmats,
    Ks=intrinsics,
    width=W,
    height=H,
    render_mode='RGB',
)

이 인터페이스가 표준이 되면서, 후속 연구(SuGaR·2DGS·SpotlessSplats 등)도 거의 모두 gsplat 위에 얹는다.


6장 · Postshot 2.0 — Windows GUI의 결정판

Jawset의 Postshot은 Windows 전용 GUI 도구다. 학생·작가·VFX 아티스트가 가장 자주 부르는 이름이고, 2026년에 2.0이 나왔다.

핵심 기능.

권장 사양. RTX 3060(12GB) 이상, Windows 10/11. 12GB VRAM에서 약 500~600만 가우시안까지 안정적이다.

라이선스: 개인·교육 무료, 상업용은 연 USD 99의 Postshot Plus.

[GUI 워크플로]
사진 폴더 -> Add Project
-> Tracking (COLMAP 자동)
-> Train (Quality 프리셋, 약 60~90분)
-> Refine (가우시안 정리·축소)
-> Export -> .ksplat

7장 · Luma AI Genie 2 — 텍스트와 비디오를 3D로

Luma AI는 2022년 NeRF SDK로 시작해 2024년 Genie로 텍스트-투-3D 전선에 합류했다. 2026년 5월 기준 Genie 2.

세 가지 진입점.

  1. Capture(영상) — iPhone으로 360도 돌면서 영상을 찍으면 클라우드에서 3DGS·NeRF 둘 다 만들어준다. 일반 영상 30~60초가 적정.
  2. Genie 2 (text-to-3D) — "1970s Volkswagen Beetle in studio light" 같은 프롬프트로 메시 + 텍스처. 약 30초~2분.
  3. Interactive Scenes — 한 장의 사진이나 비디오로 가상 카메라가 자유롭게 도는 장면. WebGL 임베드 지원.

Capture API.

# 영상 업로드 -> 3DGS .ply 다운로드
curl -X POST https://api.lumalabs.ai/dream-machine/v1/captures \
  -H "Authorization: Bearer $LUMA_API_KEY" \
  -F "title=My Capture" \
  -F "media=@capture.mp4"

라이선스: 개인 무료, Pro 월 USD 30, API는 종량제. 결과물의 상업 사용 가능하지만 Luma 로고 노출 의무는 무료 플랜에 한정.


8장 · Polycam — 모바일이 캡처 도구가 된 순간

Polycam은 2020년에 iPhone 12 Pro의 LiDAR를 처음 활용한 모바일 캡처 앱으로 시작했다. 2026년에는 다음 다섯 모드를 모두 가진다.

  1. LiDAR Mode — iPhone/iPad Pro의 LiDAR로 직접 메시 캡처.
  2. Photo Mode — 사진만으로 클라우드에서 포토그래메트리.
  3. Room Mode — 실내 평면도 자동 생성, USD/USDZ 익스포트.
  4. Gaussian Splat Mode — 영상 한 번 찍으면 클라우드에서 .ply·.splat 학습.
  5. Capture API — 외부 카메라(드론·DSLR) 결과를 업로드해 학습.

Polycam의 Web Viewer는 사파리·크롬에서 100MB 단위 .splat을 부드럽게 돌린다. 임베드 코드는 iframe 한 줄.

라이선스: 무료 플랜은 일부 익스포트 제한. Pro 월 USD 17, Team 연간 USD 1,200. 한국·일본의 부동산·박물관·건설 현장에서 빠르게 퍼졌다.

대표 사례: 일본 도카이대학교(Tokai University) 건축학과의 캠퍼스 디지털 트윈 프로젝트가 Polycam Room Mode로 진행되었다(2025).


9장 · Apple Object Capture & RealityKit — macOS 15 Sequoia API

Apple은 2021년 WWDC에서 Object Capture API를 공개했다(macOS Monterey). macOS 15 Sequoia(2024)에서 한 번 더 다듬어졌고, 2026년 macOS 26에서 iPhone Photogrammetry가 모바일 기기에서 직접 메시를 만든다.

가장 짧은 Swift 코드.

import RealityKit
import Foundation

let inputFolder = URL(fileURLWithPath: "/path/photos")
let outputURL = URL(fileURLWithPath: "/path/model.usdz")

let session = try PhotogrammetrySession(input: inputFolder)
try session.process(requests: [
    .modelFile(url: outputURL, detail: .full)
])

for try await output in session.outputs {
    switch output {
    case .processingComplete:
        print("done")
    case .requestProgress(_, let fraction):
        print("\(fraction * 100)%")
    default: break
    }
}

핵심 특징.

라이선스 비용 0. 하드웨어는 M1 이상 macOS, iPhone 12 Pro 이상 권장.


10장 · RealityCapture 1.5 — 산업급 포토그래메트리가 무료가 되었다

체코 프라하의 Capturing Reality가 만든 RealityCapture는 오랜 시간 산업의 정점이었다. 영화 VFX·게임 에셋·문화재 디지털화의 표준 — 마영전·검은신화 오공·페트라 디지털화에도 쓰였다.

2021년 Epic Games가 인수했고, 2024년 6월부터 완전 무료가 되었다. 2026년 5월의 1.5는 다음을 추가했다.

권장 사양: Windows 11, RTX 3080 이상, 32GB RAM. 사진 1000장 단위 프로젝트가 익숙하다.

라이선스: 무료. 단, Epic Games 계정 필요. 메시 출력에 워터마크 없다.


11장 · Scaniverse 4 — Niantic이 만든 iPhone·Android 캡처

Scaniverse는 2020년 iOS LiDAR 캡처 앱으로 출발해, 2021년 Niantic에 인수되었다. 2024년에 안드로이드 버전이 나왔고, 2026년 4가 Gaussian Splat 모드를 핵심으로 올렸다.

특징.

캡처 시간 1~3분, 학습 시간 약 3~10분. 화질은 Polycam·Luma와 비슷하거나 약간 떨어지지만, 로컬 + 무료 조합이 결정적이다.


12장 · Meshroom 2024.x — AliceVision의 오픈소스 진영

오픈소스 포토그래메트리에서 가장 완성된 것은 AliceVision Meshroom이다. 2018년부터 개발 중이며, 2024 빌드(GPL v3)가 Linux·Windows·macOS 모두 지원한다.

특징.

가장 짧은 워크플로.

CameraInit -> FeatureExtraction -> ImageMatching
   -> FeatureMatching -> StructureFromMotion
   -> PrepareDenseScene -> DepthMap -> DepthMapFilter
   -> Meshing -> MeshFiltering -> Texturing

상업 사용 가능, GPL v3. 단점: GUI가 무겁고, 결과물 화질이 RealityCapture·Metashape에 비해 5~10% 떨어진다.


13장 · 후속 연구 — 2DGS · SuGaR · Mip-Splatting · SpotlessSplats

3DGS는 2년 만에 수백 개 후속 논문을 낳았다. 2026년 5월 시점에서 실제로 도구화된 다섯 가지만 정리한다.

세 가지가 동시에 적용된 학습이 곧 새로운 베이스라인이 될 가능성이 크다.


14장 · 익스포트 포맷 — .ply · .splat · .ksplat

세 가지 포맷이 사실상 표준이다.

변환은 보통 다음과 같다.

# Nerfstudio .ply -> .splat (Antimatter15 변환기)
git clone https://github.com/antimatter15/splat
node splat/convert.js outputs/.../point_cloud/iteration_30000/point_cloud.ply

# .splat -> .ksplat (Mark Kellogg gaussian-splats-3d)
npm install -g @mkkellogg/gaussian-splats-3d
gaussian-splats-3d convert input.splat output.ksplat

용량 기준 표.

장면.ply.splat.ksplat
거실(100장, 1080p)380 MB52 MB28 MB
작은 인물(50장, 720p)110 MB15 MB8 MB
캠퍼스(500장, 4K)1.4 GB230 MB140 MB

15장 · 웹 뷰어 — Three.js · Babylon.js · Antimatter15

브라우저에서 가우시안 스플랫을 도는 방법은 2026년에 셋 중 하나다.

Three.js + gaussian-splats-3d의 가장 짧은 예.

import * as THREE from 'three'
import { GaussianSplats3D } from '@mkkellogg/gaussian-splats-3d'

const viewer = new GaussianSplats3D.Viewer({
  selfDrivenMode: true,
  threeScene: new THREE.Scene(),
  useWorkers: true,
})

await viewer.addSplatScene('/scenes/room.ksplat', {
  splatAlphaRemovalThreshold: 5,
  position: [0, 0, 0],
})

viewer.start()

WebGPU 경로에서는 Babylon.js 8(2026년 2월)이 가장 빠르다. iPhone 15에서 60fps, 300만 가우시안 기준.


16장 · 캡처 베스트 프랙티스 — 사진 100장의 법칙

3DGS·포토그래메트리 결과의 70%는 캡처에서 결정된다. 다섯 가지 원칙.

  1. 겹침 70% 이상 — 인접 사진끼리 화각이 70% 이상 겹쳐야 SfM이 안정적이다.
  2. 세 가지 높이 — 눈높이, 무릎높이, 머리 위. 같은 대상을 위·아래에서 본 뷰가 있어야 한다.
  3. 빛은 흐린 날 — 직사광은 그림자가 단단해서 학습이 어렵다. 흐린 정오가 이상적.
  4. 반사·투명을 피하라 — 거울·유리는 SfM이 깨진다. 부분적으로 마스킹 필요.
  5. 무빙 오브젝트는 가능한 한 제거 — 사람·차가 들어가면 SpotlessSplats나 Splatfacto-W로 마스킹.

권장 장수. 작은 물체 50장, 방 한 칸 100~200장, 건물 외부 300~500장, 캠퍼스 1,000장 이상.

촬영 패턴.

물체  -> 360도 원 + 위/아래 2단 (총 3원)
방     -> 벽 따라 1바퀴 + 천장 한 번
건물   -> 외부 4면 + 위에서 한 번 (드론)
정원   -> 그리드 형태로 직선 6~10줄

17장 · 한국·일본의 도입 사례

2024~2025년에 한국·일본에서 두드러진 도입이 다음 다섯이다.

공통점: 이미 있던 사진/영상을 새 파이프라인으로 다시 굽는 작업이라는 점. 새 캡처보다 기존 자산의 재활용이 도입을 가속했다.


18장 · Apple Vision Pro · Immersive Scenes · Reality Composer Pro 2.0

2024년 Apple Vision Pro가 출시된 뒤, 2025년 visionOS 2가 Immersive Scenes API를 안정화했다. Reality Composer Pro 2.0(macOS 15 Sequoia)이 USDZ를 직접 편집하고 가우시안 스플래팅을 부분적으로 임포트한다.

가장 짧은 워크플로.

1. RealityCapture / Object Capture -> .usdz 메시
2. Reality Composer Pro 2.0에서 머티리얼·앵커 편집
3. visionOS Xcode 프로젝트의 RealityKit 스코프에 삽입
4. ImmersiveSpace로 6DoF 표시

3DGS는 정식 임포트는 아직 미지원이지만, Antimatter15의 WebGL 뷰어를 Safari Vision Pro에서 그대로 돌리는 것이 사실상의 우회 경로다. 정식 통합은 visionOS 3(2026 후반 예상).


19장 · 라이선스 매트릭스

도구라이선스상업 사용워터마크
INRIA gaussian-splattingNon-commercial불가-
NerfstudioApache 2.0가능없음
gsplatApache 2.0가능없음
Postshot개인 무료, 상업 99 USD/년가능(유료)없음
Luma AI Genie무료/Pro 30 USD/월가능무료 플랜은 Luma 로고
Polycam무료/Pro 17 USD/월일부 무료, 익스포트 제한없음(Pro)
Apple Object CaptureApple License가능없음
RealityCapture 1.5무료(Epic Account)가능없음
Scaniverse 4무료가능없음
MeshroomGPL v3가능(소스공개 조건)없음

상업 프로젝트의 결정 분기. 연구 베이스라인 비교가 필요하면 INRIA 원본, 자체 서비스에 임베드하면 Nerfstudio + gsplat, GUI로 빠르게 굽고 싶으면 Postshot 유료, 모바일/현장이면 Polycam Pro 또는 Scaniverse.


20장 · 한 장으로 보는 결정 매트릭스

상황1순위2순위비고
iPhone으로 빠르게 캡처Scaniverse 4Polycam둘 다 온디바이스
사진 100장, 데스크톱Postshot 2.0NerfstudioGUI vs CLI
학술 베이스라인INRIA 원본NerfstudioNon-commercial 주의
자체 서비스 임베드Nerfstudio + .ksplatLuma Capture API라이선스·비용
AR Quick Look·Vision ProApple Object CaptureRealityCaptureUSDZ 직출력
영상 VFX·게임 에셋RealityCapture 1.5MetashapeUnreal 통합
문화재·박물관Metashape + NerfstudioRealityCapture정확도
텍스트로 즉석 생성Luma Genie 2Meshy / Tripo메시 출력
오픈소스 의무Meshroom + NerfstudiogsplatGPL/Apache

21장 · 6개월 뒤를 보는 한 줄

3DGS의 다음 6개월은 세 가지로 좁혀진다.

  1. 동적(dynamic) Gaussian Splatting — 시간축이 추가된 4D Splatting. 영상에서 가우시안이 움직인다. 2024년 4DGS 논문이 출발점, 2026년에는 Nerfstudio에 정식 통합 예정.
  2. AI 정합 — 가우시안에서 의미(semantic) 라벨을 자동 추출, "이 가구만 골라줘" 같은 인터랙션. LangSplat·Feature 3DGS.
  3. 모바일 학습 — Scaniverse 4가 첫 발을 뗐다. iPhone에서 학습이 자연스러워지면, 클라우드 비용 0의 캡처 → 즉시 뷰가 가능해진다.

기억할 한 줄: 2026년의 3D는 "찍어서 만지는 3D"다. 폴리곤·텍스처를 모르는 사람이 사진 한 번으로 3D를 만들고, 그 위에 텍스트 한 줄로 디테일을 더한다. 3DGS는 그 가장 빠른 길이다.


22장 · 다음 단계 — 일주일 학습 플랜

이 글을 다 읽었다면, 다음 일주일을 이렇게 써볼 만하다.

캡처는 도구가 아니라 의 훈련이다. 일주일 뒤, "이 장면을 찍으면 이렇게 나오겠다"는 직감이 자리잡는다.


참고 자료

댓글

아직 댓글이 없습니다.

로그인하면 댓글을 쓸 수 있습니다