deepopen-com/deepopen-3d-webs
Image-driven 3D scene generation system. Users provide a reference image and prompt words, and the system generates previewable, replayable, and traceable scene results according to the camera trajectory; official 3D demonstration assets allow direct viewing of color/depth animations and Gaussian point clouds in the browser 图像驱动的三维场景生成系统
개요
DeepOpen-3d-webs(Guangyu Zaojing / 광역조경이라고도 함)는 이미지 기반 3D 장면 생성 시스템입니다. 참조 이미지 하나와 텍스트 프롬프트를 제공하면 카메라 궤적을 따라 3D 장면 결과를 생성하며 브라우저에서 미리 보고, 재생하고, 추적할 수 있습니다. Docker 이미지로 배포되며 기본적으로 포트 8090에서 수신 대기합니다.
해결하는 문제
단일 이미지가 주변을 둘러보고, 이동하고, 전달할 수 있는 공간 콘텐츠가 되는 경우는 드뭅니다. 기존 파이프라인은 깊이 추정, 이미지 완성, 3D 표현, 카메라 비행을 별도의 도구로 분할합니다. 이 프로젝트는 이 체인을 하나의 스튜디오로 통합합니다. 이미지와 중국어 프롬프트로 장면을 설명하고, 공간을 관찰하는 방식과 최종 푸티지의 움직임을 선택하면 미리 보기 스틸, 컬러 애니메이션, 깊이 애니메이션, 가우시안 포인트 클라우드를 모두 하나의 인터페이스에서 얻을 수 있습니다.
주요 기능
시스템에는 5개의 탭이 있습니다.
- 작업대 — 총 작업 수, 완료/실패 횟수, 샘플 장면 수, 실행 모드, CUDA 상태, 디스크, 호스트, 서비스 포트를 표시합니다.
- 장면 생성 — 참조 이미지를 업로드하거나 중국어 예시(프롬프트, 모델, 시드, 단계, 카메라 궤적 포함)를 로드합니다. 확산 모델(SD1.5, Blazing Drive V11m, Realistic Vision V5.1, Cartoon Pixar V5), 생성 궤적(주위 둘러보기, 상공 궤도, 제자리 360도 회전), 렌더 궤적(밀어 넣기 및 당기기, 클래식 궤도, 미묘한 흔들림)을 선택합니다. "원클릭 생성"은 미리 보기, 컬러 애니메이션, 깊이 애니메이션을 엔드투엔드로 실행합니다. 1단계(가우시안 베이크 → PLY) 또는 2단계(비디오 렌더링)를 별도로 실행할 수도 있습니다.
- 예시 갤러리 — 이름, 카테고리, 모델, 궤적, 날짜별로 예시를 나열합니다. 미리 보기에는 참조 이미지, 컬러/깊이 애니메이션, 드래그 가능한 가우시안 포인트 클라우드 미리 보기, 전체 PLY 다운로드(파일 크기가 수백 MB에 달할 수 있음)가 표시됩니다.
- 작업 기록 — 모든 생성 작업은
data/history.json에 저장됩니다. 작업 ID를 입력하고 "보기 및 데모"를 클릭하면 참조 이미지, 두 애니메이션, 포인트 클라우드 미리 보기, PLY 다운로드를 함께 볼 수 있습니다. 공식demo-*작업은 사전 로드되어 있습니다. - 시스템 상태 — 호스트, OS, Python, CUDA, 실행 모드, 데이터 디렉터리, 권장 작업 순서를 표시합니다.
실행 방법
- 데모 모드(기본값) — GPU가 필요 없습니다. 페이지, 갤러리 3D 데모, 작업 재생이 모두 작동합니다. 미리 보기 루프는 입력 이미지에서 실행됩니다. 공식 PLY/MP4 자산은 독립적으로 데모할 수 있습니다.
- 전체 모드 —
LD_DEMO_MODE=0을 설정하고 NVIDIA GPU(16GB VRAM 권장), NVIDIA Container Toolkit 또는 로컬 CUDA, 컴파일된 하위 모듈을 사용합니다. 시작 시 확산 및 ZoeDepth 가중치를 다운로드합니다(약 30GB 캐시). 누락된 항목이 있으면 자동으로 데모 모드로 대체됩니다.
기술 스택
| 계층 | 기술 |
|---|---|
| UI | Gradio 3.50, 다중 탭, 중국어 |
| 웹 런타임 | Python 3.9, FastAPI, Starlette, Uvicorn |
| 이미지/비디오 | Pillow, NumPy, imageio |
| 장면 생성 | LucidDreamer(확산 인페인팅, 깊이 추정, 3D 가우시안) |
| 깊이 | ZoeDepth |
| 가우시안 렌더링 | 3D 가우시안 스플래팅 래스터화 + simple-knn |
| 포인트 클라우드 미리 보기 | webui/ply_preview.py를 통한 다운샘플링 |
| 작업 데이터 | 로컬 JSON(data/history.json) |
| 배포 | Docker Compose(데모 이미지 및 CUDA 이미지) |
요구 사항
- Docker Engine 24+ 및
docker compose - 포트
8090개방 - 8GB RAM 권장, 공식 PLY 데모에는 몇 GB의 추가 디스크 필요
- 데모 모드: GPU 불필요
- 전체 모드: NVIDIA GPU(16GB VRAM 권장), CUDA 환경, 컴파일된 하위 모듈
시작 및 액세스
데모(GPU 없음):
docker compose up -d --build
GPU가 있는 Linux 서버:
docker compose -f docker-compose.cuda.yml up -d --build
로컬에서는 http://127.0.0.1:8090, 서버에서는 http://<server-ip>:8090으로 액세스합니다. 로그인이 없습니다 — 주소에 접근할 수 있는 사람은 누구나 사용할 수 있으므로 README에서는 프로덕션 환경에서 방화벽 또는 리버스 프록시로 액세스를 제한할 것을 권장합니다.
일반적인 워크플로우
- 작업대에서 실행 모드와 디스크 공간을 확인합니다.
- 예시(예: "애니메이션 호숫가 오두막")를 선택하고 미리 봅니다 — 참조 이미지, 애니메이션, 포인트 클라우드, 선택적 PLY 다운로드.
- 또는 작업 기록에
demo-animelake/demo-girl과 같은 데모 ID를 입력하고 "보기 및 데모"를 클릭합니다. - 장면 생성으로 이동하여 예시를 로드하거나 이미지를 업로드하고 모델/프롬프트/궤적을 확인합니다.
- "원클릭 생성"을 클릭합니다(또는 1단계/2단계를 별도로 사용).
- 미리 보기를 확인한 다음 작업 기록에서 새 작업 ID를 찾아 세부 정보와 미디어를 확인합니다.
사용 사례
- 공간 개념 설계 — 정교화에 투자하기 전에 인테리어, 건물 또는 풍경의 둘러보기 버전을 얻습니다.
- 스타일화된 콘텐츠 — 애니메이션, 판타지, 휴일, 종말 이후 프리셋을 직접 로드합니다.
- 디자인 검토 — 스틸, 비행 푸티지, 포인트 클라우드 미리 보기를 한 페이지에 모아 협업자에게 제공합니다.
- 교육 및 데모 — 데모 모드는 GPU가 필요 없으므로 교실과 피치 세션에서 작동합니다.
- 3D 자산의 시작점 — PLY 가우시안 포인트 클라우드를 내보내 다운스트림 보기 또는 처리(SuperSplat / MeshLab)에 사용합니다.
코드 구조(주요 파일)
web_app.py— 웹 진입점, 8090 수신luciddreamer.py— 주요 3D 생성 파이프라인webui/— 5개 탭, 엔진, 갤러리, 기록, PLY 미리 보기, 통계, 경로scene/,gaussian_renderer/— 가우시안 장면 및 렌더링submodules/— 래스터화 및 simple-knnexamples/— 예시 이미지, 프롬프트, 공식 PLY/MP4docs/— 배포 문서, 사용자 매뉴얼, 스크린샷
참고 사항
- README에는 프로젝트가 기본적으로 데모 모드이며 전체 생성에는 CUDA와 모델 가중치가 필요하다고 명시되어 있습니다.
- README의 모든 스크린샷은
docs/user/images/에서 가져온 것입니다. - 시스템 UI는 중국어입니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트