4DGen: 具有时空一致性的基于引导的四维内容生成
作者: Yuyang Yin, Dejia Xu, Zhangyang Wang, Yao Zhao, Yunchao Wei
[项目主页] | [视频 (带解说)] | [视频 (仅结果)] | [论文] | [Arxiv]
新闻
2024/5/26
发布我们的新作品。Diffusion4D: 基于视频扩散模型的快速时空一致性四维生成。您可以点击项目主页了解更多详情。2023/12/28
首次发布代码和论文。2024/2/14
更新文本到四维和图像到四维功能及案例。2024/3/17
添加完整的示例脚本。
任务类型
如上图所示,我们定义了基于引导的四维生成,主要聚焦于视频到四维的生成。视频不必是用户指定的,也可以由视频扩散模型生成。借助稳定视频扩散,我们实现了图像到视频到四维和文本到图像到视频到四维的功能。由于文本到视频模型的性能不尽如人意,我们使用稳定扩散-XL和稳定视频扩散实现了文本到图像到视频到四维的功能。因此,我们的模型支持文本到四维和图像到四维任务。
安装
conda env create -f environment.yml
conda activate 4DGen
pip install -r requirements.txt
# 3D高斯溅射模块,如果已安装可跳过
# 修改版高斯溅射(+ 深度,alpha渲染)
git clone --recursive https://github.com/ashawkey/diff-gaussian-rasterization
pip install ./diff-gaussian-rasterization
pip install ./simple-knn
# 安装kaolin以计算chamfer距离(可选)
# https://kaolin.readthedocs.io/en/latest/notes/installation.html
# 如果您的torch和CUDA工具包版本不同,请更改
# pip install kaolin -f https://nvidia-kaolin.s3.us-east-2.amazonaws.com/torch-1.12.1_cu116.html
示例案例脚本
我们在main.bash中组织了一个完整的流程脚本供您参考。您需要修改必要的路径。
数据准备
我们在Google Drive上发布了我们收集的数据。这些数据中有一些是用户指定的,而其他则是生成的。
每个测试案例包含两个文件夹:{name}_pose0
和{name}_sync
。pose0
指单目视频序列。sync
指由SyncDreamer生成的伪标签。
如果您需要在视频序列中引入更多帧,我们建议使用Practical-RIFE。
文本到四维数据准备
使用稳定扩散-XL生成您自己的图像。然后使用下面的图像到视频脚本。
图像到四维数据准备
python image_to_video.py --data_path {您的图像.png} --name {文件名} #可能需要尝试多个种子以获得理想结果。
预处理数据格式以进行训练
要将您自己的图像预处理成RGBA格式,可以使用preprocess.py
。
要将您自己的图像预处理成多视角图像,可以使用SyncDreamer脚本,然后使用preprocess_sync.py
获得统一格式。
# 对单目图像序列
python preprocess.py --path xxx
# 对syncdreamer生成的图像
python preprocess_sync.py --path xxx
训练
python train.py --configs arguments/i2v.py -e rose --name_override rose
渲染
python render.py --skip_train --configs arguments/i2v.py --skip_test --model_path "./output/xxxx/"
评估
请参见main.bash。
结果
我们在我们的网页上展示了部分结果。
图像到四维结果:
马里奥正面视图 | 马里奥多视角 |
---|---|
文本到四维结果:
我们首先使用稳定扩散-XL生成一个静态图像。提示词是"一个婴儿熊猫的表情符号,3D模型,正面视图"。
熊猫正面视图 | 熊猫多视角 |
---|---|
致谢
本工作建立在许多令人惊叹的研究工作和开源项目之上,非常感谢所有作者的分享!
- https://github.com/dreamgaussian/dreamgaussian
- https://github.com/hustvl/4DGaussians
- https://github.com/graphdeco-inria/gaussian-splatting
- https://github.com/graphdeco-inria/diff-gaussian-rasterization
- https://github.com/threestudio-project/threestudio
引用
如果您发现这个仓库/工作对您的研究有帮助,请考虑引用该论文并为该仓库点星⭐。
@article{yin20234dgen,
title={4DGen: Grounded 4D Content Generation with Spatial-temporal Consistency},
author={Yin, Yuyang and Xu, Dejia and Wang, Zhangyang and Zhao, Yao and Wei, Yunchao},
journal={arXiv preprint arXiv:2312.17225},
year={2023}
}}