**SHARP (Sharp Monocular View Synthesis)**는 Apple이 오픈소스로 공개한 단일 2D 사진 → 3D 뷰 변환 모델. 표준 GPU에서 1초 미만 단일 추론으로 3D 가우시안 표현을 생성. 기존 모델 대비 1000배 빠른 합성, LPIPS 2534% · DISTS 2143% 개선. 실시간 렌더링 가능, 절대 스케일 메트릭 카메라 이동 지원.
논문: “Sharp Monocular View Synthesis in Less Than a Second” (2025, arXiv)
개발: Apple
오픈소스: 코드 + 모델 공개
핵심 수치
항목
값
처리 시간
<1초 (표준 GPU, 단일 패스)
합성 속도
기존 대비 ~1000× 빠름
LPIPS 개선
25~34%
DISTS 개선
21~43%
출력 포맷
3D Gaussian Splat (.ply)
일반화
제로샷 (다양한 데이터셋)
동작 원리
입력: 단일 2D 사진
↓ 단일 신경망 추론 (피드포워드)
↓ 3D Gaussian 파라미터 회귀 추정
↓
출력: 3D Gaussian 표현 (.ply)
↓
실시간 렌더링 (360° 뷰 생성)
기존 방식:
다수 이미지 → Structure from Motion → 수분~수시간
또는 NeRF → 수시간 학습 필요
SHARP:
단일 이미지 → 단일 패스 → <1초
3D 가우시안 스플래팅 (3DGS)
3DGS = 2024~2026 3D 표현의 새 표준
기존 NeRF:
- 암시적 표현 (MLP로 각 점의 색·밀도 쿼리)
- 느린 학습·렌더링
3D Gaussian Splatting:
- 명시적 표현 (수백만 3D 가우시안 블롭)
- 실시간 렌더링 (래스터라이저)
- 편집·조작 용이
SHARP의 차별점:
- 학습 없이 단일 패스로 3DGS 생성
- 절대 스케일 (메트릭 구조)
- 실제 카메라 이동 지원
설치 & 사용
설치
# Python 3.13 환경pip install -r requirements.txt
2D → 3D 변환
# 이미지 → 3D 가우시안 (.ply)sharp predict -i input.jpg -o output/# 최초 실행 시 모델 체크포인트 자동 다운로드# 수동 지정: -c /path/to/checkpoint
비디오 렌더링 (CUDA GPU 필요)
# 예측 + 렌더링 동시 수행sharp predict -i input.jpg -o output/ --render# 또는 중간 .ply로 별도 렌더링sharp render -i output/scene.ply -o video.mp4
좌표계
OpenCV 좌표계 (x 오른쪽, y 아래, z 전방)
외부 렌더러 사용 시 스케일·회전 보정 필요
기존 기술 대비 비교
항목
NeRF
3DGS (학습)
SHARP
입력
다수 이미지
다수 이미지
단일 이미지
학습 시간
수시간
수십분
0초 (추론만)
추론 시간
느림
빠름
<1초
실시간 렌더링
△
✅
✅
절대 스케일
❌
❌
✅
일반화
장면별 학습
장면별 학습
제로샷
활용 시나리오
시나리오
활용
AR/VR
사진 한 장으로 3D 공간 생성
이커머스
제품 사진 → 360° 뷰 자동 생성
부동산
실내 사진 → 3D 워크스루
게임 에셋
참조 이미지 → 3D 에셋 프로토타입
문화재 디지털화
사진 → 3D 아카이브
소셜 미디어
2D 사진 → 3D 공유
자율주행
단일 카메라 → 3D 장면 이해
Apple의 3D AI 전략
Apple의 공간 컴퓨팅 생태계:
- Vision Pro (공간 OS)
- SHARP (2D → 3D 변환) ⭐
- Apple Intelligence (온디바이스 AI)
- FoundationModels 프레임워크
→ 사진 한 장으로 Vision Pro 콘텐츠 생성 가능성
1. "사진 한 장 → 3D" 민주화
- 전문 장비·다수 사진 불필요
- CLI 한 줄로 즉시 실행
- 오픈소스로 누구나 활용
2. 속도 혁명
- NeRF: 수시간 → SHARP: <1초
- 1000× 속도 향상
3. 제로샷 일반화
- 장면별 학습 ❌
- 새 사진에 즉시 적용
4. Apple의 오픈소스 기여
- 코드 + 모델 모두 공개
- 생태계 성장 촉진
한계 (예상)
✗ 단일 이미지 = 보이지 않는 뒷면 추정 (hallucination)
✗ 복잡한 장면(다중 객체, 반사)에서 품질 저하
✗ CUDA GPU 필요 (렌더링)
✗ 해상도 한계 (모델 의존)