Diffuman4D 是一个由浙江大学 ZJU3DV 研究团队开发的项目,专注于从稀疏视图视频生成高保真的4D人体视图。项目结合了时空扩散模型和 4DGS(4D Gaussian Splatting)技术,解决了传统方法在稀疏输入下难以生成高质量视图的问题。它通过生成多视角一致的视频,结合输入视频重建高分辨率(1024p)的4D模型,支持实时自由视角渲染。该项目适用于需要高精度人体运动捕捉和渲染的场景,如虚拟现实、动画制作等。代码和模型已在 GitHub 开源,研究成果已被 ICCV 2025 接收。
功能列表
- 从稀疏视图视频生成时空一致的多视角视频。
- 基于生成视频和输入视频,构建高保真 4DGS 模型。
- 支持实时自由视角渲染,呈现复杂服装和动态动作。
- 提供 Skeleton-Plücker 条件编码,增强视频生成一致性。
- 使用 LongVolcap 技术进行 4DGS 重建,优化渲染质量。
- 开源代码和模型,供研究人员和开发者使用。
使用帮助
安装流程
- 环境准备
确保系统安装了 Python 3.8 或以上版本,推荐使用虚拟环境以避免依赖冲突。可以通过以下命令创建虚拟环境:python -m venv diffuman4d_env source diffuman4d_env/bin/activate # Linux/Mac diffuman4d_env\Scripts\activate # Windows
- 克隆代码库
在终端或命令行中运行以下命令,下载 Diffuman4D 代码:git clone https://github.com/zju3dv/Diffuman4D.git cd Diffuman4D
- 安装依赖
项目依赖包括 PyTorch、NumPy、OpenCV 等库。运行以下命令安装所有依赖:pip install -r requirements.txt
如果需要 GPU 支持,确保安装与 CUDA 版本兼容的 PyTorch。可以通过
pip install torch torchvision
安装最新版 PyTorch。 - 下载预训练模型
项目提供预训练模型,需从 GitHub 发布页面或官方文档指定的链接下载。下载后,将模型文件解压到项目根目录下的pretrained_models
文件夹。 - 验证安装
运行示例脚本检查环境是否正确配置:python scripts/test_setup.py
如果没有报错,说明环境配置成功。
使用方法
1. 数据准备
- 输入视频:准备至少两段稀疏视角的视频,推荐分辨率为 720p 或以上,格式支持 MP4 或 AVI。视频需包含人体动作,背景尽量简单以减少干扰。
- 骨架数据:项目使用 Skeleton-Plücker 条件编码,需提供骨架数据(可通过 OpenPose 或 MediaPipe 提取)。骨架数据以 JSON 格式存储,包含关键点坐标和时间戳。
- 存储路径:将输入视频和骨架数据放入项目目录下的
data/input
文件夹,确保文件名与配置文件对应。
2. 生成多视角视频
- 运行生成脚本,调用时空扩散模型生成多视角一致视频:
python scripts/generate_views.py --input_dir data/input --output_dir data/output --model_path pretrained_models/diffuman4d.pth
- 参数说明:
--input_dir
:输入视频和骨架数据的文件夹路径。--output_dir
:生成视频的保存路径。--model_path
:预训练模型路径。
- 生成的视频将保存在
data/output
文件夹,分辨率为 1024p,支持多视角一致性。
3. 重建 4DGS 模型
- 使用 LongVolcap 技术,将输入视频和生成视频合成为 4DGS 模型:
python scripts/reconstruct_4dgs.py --input_dir data/input --generated_dir data/output --output_model models/4dgs_output.ply
- 参数说明:
--input_dir
:原始输入视频路径。--generated_dir
:生成视频路径。--output_model
:输出的 4DGS 模型文件路径。
- 生成的模型支持实时渲染,可在支持 4DGS 的渲染引擎(如 Unity 或 Unreal Engine)中查看。
4. 实时渲染
- 将生成的 4DGS 模型导入渲染引擎,调整视角即可实现自由视角渲染。推荐使用高性能 GPU(如 NVIDIA RTX 系列)以确保流畅性。
- 项目提供示例脚本
render_example.py
,可直接运行查看渲染效果:python scripts/render_example.py --model_path models/4dgs_output.ply
5. 特色功能操作
- Skeleton-Plücker 编码:通过骨架数据和 Plücker 坐标增强生成视频的时空一致性。用户需在配置文件
config.yaml
中指定骨架数据路径和目标视角参数:skeleton_path: data/input/skeleton.json target_views: [0, 45, 90, 135]
- 高保真渲染:4DGS 模型支持复杂服装和动态动作的渲染。用户可在渲染时调整光照和材质参数,优化视觉效果。
- 开源资源:项目提供详细文档和示例数据集,位于
docs/
和data/example/
文件夹,方便用户快速上手。
注意事项
- 硬件要求:生成和重建过程需要至少 16GB 内存和 8GB VRAM 的 GPU。推荐使用 NVIDIA GPU 以获得最佳性能。
- 数据质量:输入视频质量直接影响生成结果,建议使用清晰、无遮挡的视频。
- 调试支持:如果遇到问题,可参考
docs/troubleshooting.md
或提交 GitHub Issue。
应用场景
- 虚拟现实与游戏开发
Diffuman4D 可生成高保真的 4D 人体模型,适用于 VR 游戏或虚拟角色创建。开发者只需提供几段手机拍摄的视频,即可生成可在不同视角渲染的动态角色,降低专业设备成本。 - 影视与动画制作
动画师可利用 Diffuman4D 从少量视频生成高质量动作序列,用于电影或动画中的虚拟角色渲染,特别适合需要复杂服装或动态动作的场景。 - 动作捕捉研究
研究人员可使用 Diffuman4D 进行 4D 重建实验,探索稀疏视图下的人体建模技术。开源代码支持二次开发,适合学术研究。 - 教育与培训
在舞蹈或体育教学中,Diffuman4D 可生成多视角动作视频,帮助学生从不同角度观察动作细节,提升教学效果。
QA
- Diffuman4D 支持哪些输入视频格式?
支持 MP4、AVI 等常见视频格式,推荐分辨率 720p 或以上,帧率 24-30fps。 - 生成视频需要多长时间?
视硬件性能和输入视频长度而定。在 NVIDIA RTX 3090 上,生成 10 秒多视角视频约需 5-10 分钟。 - 是否需要专业设备?
不需要。Diffuman4D 设计初衷是从普通手机视频生成高质量模型,无需专业动作捕捉设备。 - 如何优化生成结果?
提供清晰的输入视频,减少背景干扰,并确保骨架数据准确。调整配置文件中的视角参数可提升一致性。