KAUST, Snap Inc., 옥스퍼드 대학이 공동 개발해 ICLR 2024에 채택된 오픈소스 3D 생성 도구 Magic123이 2026년 7월 6일 PyPI를 통해 공식 패키지로 출시됐다. 단 하나의 이미지만으로 고품질 3D 객체를 생성하는 이 기술은 이제 pip install magic123 한 줄로 누구나 설치해 활용할 수 있다.
Magic123이란? — 2D와 3D 프라이어의 결합
Magic123의 핵심 아이디어는 기존 이미지-to-3D 방식의 한계를 동시에 극복하는 것이다. 2D 디퓨전 프라이어(Stable Diffusion)만 쓰면 상상력과 디테일은 풍부하지만 3D 일관성이 떨어지고, 3D 디퓨전 프라이어(Zero-1-to-3)만 쓰면 3D 일관성은 좋지만 디테일이 부족하다. Magic123은 이 두 가지를 동시에 활용해 각각의 강점을 결합한다. 연구팀은 두 프라이어의 강도를 조절하는 단일 파라미터(--lambda_guidance)를 설계해 사용자가 직접 탐색(상상력·디테일)과 정밀도(3D 일관성) 사이의 트레이드오프를 컨트롤할 수 있게 했다.
▲ Magic123 학습 수렴 과정 데모 — 2D 프라이어만(SDS), 3D 프라이어만(Zero123), Magic123 결합 비교
2D·3D 프라이어 강도에 따른 결과 비교
아래 영상은 2D 프라이어 강도(lambda_2D)를 높일수록 결과물이 더 상상력 풍부하고 디테일해지지만 3D 일관성이 줄어드는 트레이드오프를 시각적으로 보여준다.
▲ Joint Prior 강도 조절 효과 — lambda_2D 증가 시 상상력·디테일↑, 3D 일관성↓
기술 아키텍처 — 코어스-투-파인 2단계 파이프라인
Magic123은 Stable-DreamFusion을 기반으로 한 2단계 파이프라인 구조다.
- Coarse 단계 (약 40분): NeRF(Neural Radiance Field) 기반으로 3D 객체의 전반적인 형태를 잡는다. 초반 2,000 이터레이션에서 노멀 맵을 활용해 기하학적 품질을 높이며, 노이즈 시간 범위를
[0.2, 0.6]으로 설정해 이미지-to-3D 태스크에 최적화한다. - Fine 단계 (약 20분): DMTet(Differentiable Marching Tetrahedra) 방식으로 세밀한 텍스처와 메시를 정제한다. 세그멘테이션 경계 아티팩트를 제거하는
--rm_edge옵션이 기본 적용된다.
선택적으로 Textual Inversion을 적용하면 입력 이미지의 고유한 질감을 AI가 더 잘 학습하지만 32G V100 기준 약 2시간이 추가 소요된다. 아이언맨처럼 잘 알려진 오브젝트나 텍스트로 충분히 설명 가능한 대상은 Textual Inversion 없이도 좋은 결과가 나온다.
설치 방법
Ubuntu 시스템, Python 3.10~3.12, NVIDIA GPU + CUDA 환경이 필요하다.
1단계 — 시스템 패키지 설치
apt update && apt upgrade
apt install git wget libeigen3-dev python3-dev python3-venv -y
2단계 — 가상환경 생성 및 Magic123 설치
python -m venv venv_magic123
source venv_magic123/bin/activate
python -m pip install --upgrade pip setuptools wheel
python -m pip install magic123
3단계 — CUDA 확장 빌드
export CUDA_HOME=${CUDA_HOME:-/usr/local/cuda-12.9}
export PATH=$CUDA_HOME/bin:$PATH
git clone https://github.com/guochengqian/Magic123.git
cd Magic123
bash scripts/install_ext.sh
| GPU | CUDA 아키텍처 | 필요 환경 |
|---|---|---|
| RTX 5090 (Blackwell) | sm_120 | CUDA 12.8+, gcc-14 |
| RTX 4090 / 4090 Ti | 8.9 | CUDA 12.x |
사전 학습 모델 다운로드
- Zero-1-to-3 (3D 디퓨전 프라이어):
105000.ckpt→pretrained/zero123/ - MiDaS (깊이 추정):
dpt_beit_large_512.pt→pretrained/midas/
실행 — 드래곤 예시
bash scripts/magic123/run_both_priors.sh 0 nerf dmtet data/realfusion15/metal_dragon_statue 1 1
출력물은 --save_mesh 옵션으로 .obj, .mtl, 텍스처 파일로 내보낼 수 있으며 Blender, MeshLab 등에서 바로 열 수 있다. 빠른 검증을 원하면 10스텝 스모크 테스트를 먼저 실행한다.
bash scripts/magic123/smoke_train_ironman_10_steps.sh 0 out/smoke-ironman-10-steps
의의 및 전망
Magic123의 PyPI 공개는 학술 연구 수준에 머물던 고품질 이미지-to-3D 기술이 개인 크리에이터와 개발자 손에 들어오는 실질적인 전환점이다. 패션 이커머스의 제품 3D 뷰어, 게임 에셋 자동 생성, AR/VR 콘텐츠 제작, 건축·제품 시각화 등 단일 이미지 입력만으로 3D 모델을 즉시 생성할 수 있는 워크플로우가 열린다. GitHub Star 1,600개를 넘기며 커뮤니티의 높은 관심을 받고 있으며, Threestudio, DreamCraft3D 등 주요 3D 생성 프레임워크에서도 핵심 구성 요소로 활용되고 있다. Stable Diffusion 생태계 위에 3D 생성 레이어가 올라오는 흐름에서 Magic123은 핵심 오픈소스 인프라로 자리잡을 가능성이 높다.
📅 원문 날짜: 2026년 7월 6일 | 출처: PyPI – magic123 · GitHub · 공식 프로젝트 페이지 · arXiv 논문



