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 表示和相机飞行分割到不同的工具中。这个项目将这一链条整合到一个工作室中:用图像和中文提示词描述场景,选择空间观察方式和最终镜头的运动方式,然后获得预览静态图、彩色动画、深度动画和高斯点云——全部在一个界面中。
核心功能
系统有五个标签页:
- 工作台 — 显示总任务数、完成/失败计数、示例场景数、运行模式、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-*任务已预加载。 - 系统状态 — 显示主机、操作系统、Python、CUDA、运行模式、数据目录和推荐的操作顺序。
运行方式
- 演示模式(默认) — 无需 GPU。页面、画廊 3D 演示和任务重放均可工作。预览循环在输入图像上运行;官方 PLY/MP4 资源可以独立演示。
- 完整模式 — 设置
LD_DEMO_MODE=0,使用 NVIDIA GPU(推荐 16 GB 显存)、NVIDIA Container Toolkit 或本地 CUDA,并编译子模块。启动时下载扩散和 ZoeDepth 权重(约 30 GB 缓存)。如果缺少任何内容,它会自动回退到演示模式。
技术栈
| 层 | 技术 |
|---|---|
| UI | Gradio 3.50,多标签页,中文 |
| Web 运行时 | 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开放 - 推荐 8 GB 内存;官方 PLY 演示需要额外几 GB 磁盘
- 演示模式:无需 GPU
- 完整模式:NVIDIA GPU(推荐 16 GB 显存)、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 下载。
- 或者在任务历史中输入演示 ID,如
demo-animelake/demo-girl,然后点击"查看与演示"。 - 进入场景生成,加载示例或上传图像,确认模型/提示词/轨迹。
- 点击"一键生成"(或分别使用步骤 1 / 步骤 2)。
- 检查预览,然后在任务历史中找到新任务 ID 以获取详细信息和媒体。
使用场景
- 空间概念设计 — 在投入细化之前,获得室内、建筑或景观的环视版本。
- 风格化内容 — 动漫、奇幻、节日和后末日预设可直接加载。
- 设计评审 — 将静态图、飞行镜头和点云预览放在同一页面上供协作者使用。
- 教学和演示 — 演示模式无需 GPU,因此适用于教室和推介会。
- 3D 资产的起点 — 导出 PLY 高斯点云,用于下游查看或处理(SuperSplat / MeshLab)。
代码结构(关键文件)
web_app.py— Web 入口点,监听 8090luciddreamer.py— 主要 3D 生成流程webui/— 五个标签页、引擎、画廊、历史、PLY 预览、统计、路径scene/、gaussian_renderer/— 高斯场景和渲染submodules/— 光栅化和 simple-knnexamples/— 示例图像、提示词、官方 PLY/MP4docs/— 部署文档、用户手册、截图
备注
- README 说明项目默认处于演示模式;完整生成需要 CUDA 和模型权重。
- README 中的所有截图来自
docs/user/images/。 - 系统界面为中文。
相关
- 项目
- 项目
- 项目
- 项目