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 建议在生产环境中通过防火墙或反向代理限制访问。

典型工作流程

  1. 在工作台检查运行模式和磁盘空间。
  2. 选择一个示例(例如"动漫湖畔小屋")并预览——参考图像、动画、点云、可选 PLY 下载。
  3. 或者在任务历史中输入演示 ID,如 demo-animelake / demo-girl,然后点击"查看与演示"。
  4. 进入场景生成,加载示例或上传图像,确认模型/提示词/轨迹。
  5. 点击"一键生成"(或分别使用步骤 1 / 步骤 2)。
  6. 检查预览,然后在任务历史中找到新任务 ID 以获取详细信息和媒体。

使用场景

  • 空间概念设计 — 在投入细化之前,获得室内、建筑或景观的环视版本。
  • 风格化内容 — 动漫、奇幻、节日和后末日预设可直接加载。
  • 设计评审 — 将静态图、飞行镜头和点云预览放在同一页面上供协作者使用。
  • 教学和演示 — 演示模式无需 GPU,因此适用于教室和推介会。
  • 3D 资产的起点 — 导出 PLY 高斯点云,用于下游查看或处理(SuperSplat / MeshLab)。

代码结构(关键文件)

  • web_app.py — Web 入口点,监听 8090
  • luciddreamer.py — 主要 3D 生成流程
  • webui/ — 五个标签页、引擎、画廊、历史、PLY 预览、统计、路径
  • scene/、gaussian_renderer/ — 高斯场景和渲染
  • submodules/ — 光栅化和 simple-knn
  • examples/ — 示例图像、提示词、官方 PLY/MP4
  • docs/ — 部署文档、用户手册、截图

备注

  • README 说明项目默认处于演示模式;完整生成需要 CUDA 和模型权重。
  • README 中的所有截图来自 docs/user/images/。
  • 系统界面为中文。

相关

  • 项目
  • 项目
  • 项目
  • 项目