依赖多个 GPU、原生与第三方包,README 建议用编码 agent 逐步建环境以避免版本冲突;需先运行 download_weights.sh 下载 Fooocus、Depth-Pro 等预训练权重,LLaVA、MaskFormer、SD-1.5 首次运行才自动下载;稀疏视图 demo 需额外下载 VGGT 的 model.pt 放到 tools/VGGT/checkpoints。
VistaDream
WHU-USI3DVMIT活跃维护从单张图片生成多视角一致图像,进而重建完整三维场景,解决单视图场景重建中视角覆盖不足的问题。
[ICCV 2025 & TPAMI] VistaDream: Sampling multiview consistent images for single-view scene reconstruction
bash download_weights.sh
python demo.pyREADME 说明在 Ubuntu 20.04 与单张 GeForce RTX 4090 上测试通过,未给出具体显存数值;未说明是否支持 CPU 运行或其他 GPU 厂商。
免训练框架,从单张图像重建高质量三维场景,解决生成新视角间不一致问题
从单张图片生成多视角一致图像,进而重建完整三维场景,解决单视图场景重建中视角覆盖不足的问题。
核心能力
- 先构建全局粗三维脚手架再迭代扩散补洞
- 用免训练多视角一致性采样约束扩散反向过程
- 支持单视图与稀疏视图输入且无需相机位姿
- 提供交互式场景生成界面与自定义相机轨迹
- 输出高斯场可导出 ply 在 SuperSplat 可视化
容易踩的坑
暂无 release 数据(可能没有发版,或尚未同步)。
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
This is the official PyTorch implementation of the following publication:
VistaDream: Sampling multiview consistent images for single-view scene reconstruction Haiping Wang, Yuan Liu, Ziwei Liu, Wenping Wang, Zhen Dong, Bisheng Yang ICCV 2025 Paper | Project-page(with Interactive DEMOs)
🔭 Introduction
🆕 News
- 2026-10-18: The journal version of VistaDream has been accepted by IEEE TPAMI. See
moge3-lbdbranch. - 2025-06-26: VistaDream is accepted by ICCV 2025!
- 2024-10-23: Code, [project page], and [arXiv paper] are aviliable.
💻 Recommended installation and depth-model upgrade !
-
VistaDream depends on several GPU, native, and third-party packages. To avoid installation errors and version conflicts, we strongly recommend using Codex or another coding agent to create the environment step by step, verify each dependency, and record any platform-specific fixes.
-
If you have already installed the original VistaDream environment, you can ask an agent to update the depth modules, for instance, using MoGe-3 for depth estimation and LingBot-Depth for depth completion. This upgrade provides a substantial improvement in reconstruction quality. The corresponding interactive interface is available in the
moge3-lbdbranch for reference.
💻 Requirements
The code has been tested on:
- Ubuntu 20.04
- 1 * GeForce RTX 4090.
🔧 Installation
For complete installation instructions, please see INSTALL.md.
🚅 Pretrained model
VistaDream is training-free but utilizes pretrained models of several existing projects. To download pretrained models for Fooocus, Depth-Pro, Prior-Depth-Anything, SD-LCM, run the following command:
bash download_weights.sh
The pretrained models of LLaVA, MaskFormer, and Stable Diffusion-1.5 will be automatically downloaded from hugging face on the first running.
🔦 Generate your own scene (Interface)
Use vdplus conda environment, check INSTALL.md.
Vistadream support interactive scene generation show above, please refer to INTERFACE.md.
🔦 Demo (Single-View Generation)
Try VistaDream using the following commands:
python demo.py
Then, you should obtain:
data/sd_readingroom/scene.pth: the generated gaussian field;data/sd_readingroom/video_rgb(dpt).mp4: the rgb(dpt) renderings from the scene.
🔦 Demo (Sparse-View Generation)
To use sparse views as input as demo_here, we need VGGT to first reconstruct the input images to 3D as the scaffold (no zoom-out needed).
First download checkpoints and place it at tools/VGGT/checkpoints by the following command:
wget -P tools/VGGT/checkpoints https://huggingface.co/facebook/VGGT-1B/resolve/main/model.pt?download=true
Then try VistaDream with sparse images as input using the following commands:
python demo_sparse.py
Then, you should obtain:
data/bedroom/scene.pth: the generated gaussian field;data/bedroom/video_rgb(dpt).mp4: the rgb(dpt) renderings from the scene.
🔦 Generate your own scene (Single or Sparse views as input)
If you need to improve the reconstruction quality of your own images, please refer to INSTRUCT.md
To visualize the generated gaussian field, you can use the following script:
import torch
from ops.utils import save_ply
scene = torch.load(f'data/vistadream/piano/refine.scene.pth')
save_ply(scene,'gf.ply')
and feed the gf.ply to SuperSplat for visualization.
🔦 ToDo List
- Early check in generation.
- Support more types of camera trajectory. Please follow Here to define your trajectory. An example is given in this issue.
- Support sparse-view-input (and no pose needed). An example is given in this issue.
- Interactive Demo.
🔗 Related Projects
We sincerely thank the excellent open-source projects:
- Fooocus for the wonderful inpainting quality;
- LLaVA for the wonderful image analysis and QA ability;
- Depth-Pro for the wonderful monocular metric depth estimation accuracy;
- Prior-Depth-Anything for the wonderful monocular metric depth completion accuracy;
- StableDiffusion for the wonderful image generation/optimization ability.