Make-Your-Video: 使用文本和结构指导的定制视频生成
<div align="center">
<a href='https://arxiv.org/abs/2306.00943'><img src='https://yellow-cdn.veclightyear.com/2b54e442/3b082872-b4a5-4497-92b9-601ba195a52d.svg'></a>
<a href='https://doubiiu.github.io/projects/Make-Your-Video/'><img src='https://img.shields.io/badge/Project-Video-Green'></a>
邢金博、夏梦涵*、刘宇鑫、张悦晨、张勇、何颖青、刘涵源、<br>陈浩鑫、寸晓东、王鑫涛、单芳、黄田津
<br><br>
(* 通讯作者)
来自香港中文大学和腾讯AI实验室
IEEE TVCG 2024
</div>
🔆 简介
Make-Your-Video是一个具有文本和运动结构(深度)控制的定制视频生成模型。它继承了图像LDM的丰富视觉概念,并支持更长视频的推理。
🤗 应用
真实场景转视频
<table class="center">
<tr style="font-weight: bolder;text-align:center;">
<td>真实场景</td>
<td>我们的方法</td>
<td>Text2Video-zero+CtrlNet</td>
<td>LVDM<sub>Ext</sub>+Adapter</td>
</tr>
<tr>
<td>
<img src=assets/real-life_GIF/dam_input.gif width="170">
</td>
<td>
<img src=assets/real-life_GIF/dam_ours.gif width="170">
</td>
<td>
<img src=assets/real-life_GIF/dam_t2vzero.gif width="170">
</td>
<td>
<img src=assets/real-life_GIF/dam_lvdm.gif width="170">
</td>
</tr>
<tr><td colspan="4">"一座正在泄水的大坝"</td></tr>
<tr>
<td>
<img src=assets/real-life_GIF/rocket_input.gif width="170">
</td>
<td>
<img src=assets/real-life_GIF/rocket_ours.gif width="170">
</td>
<td>
<img src=assets/real-life_GIF/rocket_t2vzero.gif width="170">
</td>
<td>
<img src=assets/real-life_GIF/rocket_lvdm.gif width="170">
</td>
</tr>
<tr><td colspan="4">"一艘未来主义风格的火箭船停在发射台上,设计流畅,灯光闪烁"</td></tr>
</table >
3D场景建模转视频
<table class="center">
<tr style="font-weight: bolder;text-align:center;">
<td>真实场景</td>
<td>我们的方法</td>
<td>Text2Video-zero+CtrlNet</td>
<td>LVDM<sub>Ext</sub>+Adapter</td>
</tr>
<tr>
<td>
<img src=assets/3dmodeling_GIF/train_input.gif width="170">
</td>
<td>
<img src=assets/3dmodeling_GIF/train_ours.gif width="170">
</td>
<td>
<img src=assets/3dmodeling_GIF/train_t2vzero.gif width="170">
</td>
<td>
<img src=assets/3dmodeling_GIF/train_lvdm.gif width="170">
</td>
</tr>
<tr><td colspan="4">"一列火车在铁轨上,2D卡通风格"</td></tr>
<tr>
<td>
<img src=assets/3dmodeling_GIF/book_input.gif width="170">
</td>
<td>
<img src=assets/3dmodeling_GIF/book_ours.gif width="170">
</td>
<td>
<img src=assets/3dmodeling_GIF/book_t2vzero.gif width="170">
</td>
<td>
<img src=assets/3dmodeling_GIF/book_lvdm.gif width="170">
</td>
</tr>
<tr><td colspan="4">"公园里画板上的梵高风格画作,野餐毯上放着一些书,照片级真实"</td></tr>
</tr>
<tr>
<td>
<img src=assets/3dmodeling_GIF/mountain_input.gif width="170">
</td>
<td>
<img src=assets/3dmodeling_GIF/mountain_ours.gif width="170">
</td>
<td>
<img src=assets/3dmodeling_GIF/mountain_t2vzero.gif width="170">
</td>
<td>
<img src=assets/3dmodeling_GIF/mountain_lvdm.gif width="170">
</td>
</tr>
<tr><td colspan="4">"一幅中国水墨山水画"</td></tr>
</table >
视频重新渲染
<table class="center">
<tr style="font-weight: bolder; text-align:center;">
<td>原始视频</td>
<td>我们的方法</td>
<td>SD-Depth</td>
<td>Text2Video-zero+CtrlNet</td>
<td>LVDM<sub>Ext</sub>+Adapter</td>
<td>Tune-A-Video</td>
</tr>
<tr>
<td>
<img src=assets/video-rerendering_GIF/bear_input.gif width="170">
</td>
<td>
<img src=assets/video-rerendering_GIF/bear_ours.gif width="170">
</td>
<td>
<img src=assets/video-rerendering_GIF/bear_sddepth.gif width="170">
</td>
<td>
<img src=assets/video-rerendering_GIF/bear_t2vzero.gif width="170">
</td>
<td>
<img src=assets/video-rerendering_GIF/bear_lvdm.gif width="170">
</td>
<td>
<img src=assets/video-rerendering_GIF/bear_tav.gif width="170">
</td>
</tr>
<tr><td colspan="6">"一只老虎在森林中行走,照片级真实"</td></tr>
<tr>
<td>
<img src=assets/video-rerendering_GIF/boat_input.gif width="170">
</td>
<td>
<img src=assets/video-rerendering_GIF/boat_ours.gif width="170">
</td>
<td>
<img src=assets/video-rerendering_GIF/boat_sddepth.gif width="170">
</td>
<td>
<img src=assets/video-rerendering_GIF/boat_t2vzero.gif width="170">
</td>
<td>
<img src=assets/video-rerendering_GIF/boat_lvdm.gif width="170">
</td>
<td>
<img src=assets/video-rerendering_GIF/boat_tav.gif width="170">
</td>
</tr>
<tr><td colspan="6">"一艘折纸船在海上航行"</td></tr>
<tr>
<td>
<img src=assets/video-rerendering_GIF/camel_input.gif width="170">
</td>
<td>
<img src=assets/video-rerendering_GIF/camel_ours.gif width="170">
</td>
<td>
<img src=assets/video-rerendering_GIF/camel_sddepth.gif width="170">
</td>
<td>
<img src=assets/video-rerendering_GIF/camel_t2vzero.gif width="170">
</td>
<td>
<img src=assets/video-rerendering_GIF/camel_lvdm.gif width="170">
</td>
<td>
<img src=assets/video-rerendering_GIF/camel_tav.gif width="170">
</td>
</tr>
<tr><td colspan="6">"一头骆驼在雪地上行走,宫崎骏动画风格"</td></tr>
</table >
🌟 方法概述

📝 更新日志
- [2023.11.30]: 🔥🔥 发布主要模型。
- [2023.06.01]: 🔥🔥 创建此仓库并启动项目网页。
<br>
🧰 模型
使用单个NVIDIA A100 (40G) GPU对一张图像进行动画处理大约需要13秒,峰值GPU内存为20 GB。
⚙️ 设置
通过Anaconda安装环境(推荐)
conda create -n makeyourvideo python=3.8.5
conda activate makeyourvideo
pip install -r requirements.txt
💫 推理
1. 命令行
- 从Hugging Face下载预训练的深度估计模型,并将
dpt_hybrid-midas-501f0c75.pt
放在checkpoints/depth/dpt_hybrid-midas-501f0c75.pt
中。
- 从Hugging Face下载预训练模型,并将
model.ckpt
放在checkpoints/makeyourvideo_256_v1/model.ckpt
中。
- 在终端中输入以下命令。
sh scripts/run.sh
👨👩👧👦 其他有趣的开源项目
VideoCrafter1: 高质量视频生成框架。
DynamiCrafter: 使用视频扩散先验的开放域图像动画方法。
在同一个conda环境中尝试这些项目!
😉 引用
@article{xing2023make,
title={Make-Your-Video: Customized Video Generation Using Textual and Structural Guidance},
author={Xing, Jinbo and Xia, Menghan and Liu, Yuxin and Zhang, Yuechen and Zhang, Yong and He, Yingqing and Liu, Hanyuan and Chen, Haoxin and Cun, Xiaodong and Wang, Xintao and others},
journal={arXiv preprint arXiv:2306.00943},
year={2023}
}
📢 免责声明
我们开发此仓库用于研究目的,因此它只能用于个人/研究/非商业用途。
🌞 致谢
我们衷心感谢牛津大学视觉几何组收集WebVid-10M数据集,并遵循相应的访问条款。