Vlogger

Vlogger

多模型协作生成长视频博客的AI系统

Vlogger是一个创新AI系统,可根据文本描述生成分钟级视频博客。该系统利用大型语言模型作为导演,将长视频生成任务分解为四个阶段,并调用多种基础模型扮演专业角色。Vlogger引入了视频扩散模型ShowMaker,融合文本和视觉提示以增强空间-时间连贯性。系统能从开放描述生成超过5分钟的连贯vlogs,在脚本和演员方面保持一致性。

VloggerAI系统视频生成大语言模型ShowMakerGithub开源项目
<div align="center"> <a href="https://arxiv.org/abs/2401.09414"> <img width="743" alt="image" src="https://github.com/zhuangshaobin/Vlogger/assets/24236723/2885982e-5b18-48b3-97b1-966298329350"> </a>

庄绍斌, 李坤昌, 陈鑫源†, 王耀辉†, 刘子为, 乔俊飞, 王亚利†

arXiv 项目主页 Hugging Face 模型 Hugging Face 空间 YouTube 视频 访问量

</div> </div>

在这项工作中,我们提出了Vlogger,一个能够根据用户描述生成分钟级视频博客(即vlog)的通用AI系统。与只有几秒钟的短视频不同,vlog通常包含复杂的故事情节和多样化的场景,这对大多数现有的视频生成方法来说是一个挑战。为了突破这个瓶颈,我们的Vlogger巧妙地利用大型语言模型(LLM)作为导演,将长视频生成任务分解为四个关键阶段,在每个阶段我们调用各种基础模型来扮演vlog专业人士的重要角色,包括(1)编剧、(2)演员、(3)制作人和(4)配音员。通过这种模仿人类的设计,我们的Vlogger可以通过自顶向下的规划和自底向上的拍摄的可解释合作来生成vlog。此外,我们还引入了一个新颖的视频扩散模型ShowMaker,它在我们的Vlogger中充当摄影师的角色,负责生成每个拍摄场景的视频片段。通过将编剧和演员作为文本和视觉提示有针对性地融入,它可以有效增强片段的时空连贯性。另外,我们为ShowMaker设计了一个简洁的混合训练范式,提升了其文本到视频生成和预测的能力。最后,大量实验表明,我们的方法在零样本文本到视频生成和预测任务上达到了最先进的性能。更重要的是,Vlogger可以从开放世界的描述中生成超过5分钟的vlog,而不会在剧本和演员方面失去视频的连贯性。

<div align="center"> <video src="https://github.com/zhuangshaobin/Vlogger/assets/94739615/1e8dd246-d3b9-49e9-8eee-d40b6d8523b9" controls="controls" width="500" height="300"></video> <b>生成的<a href="https://youtu.be/ZRD1-jHbEGk">泰迪旅行</a>的压缩版本。</b> </div>

使用方法

<details> <summary><h3>设置</h3></summary> <h4>准备环境</h4>
conda create -n vlogger python==3.10.11 conda activate vlogger pip install -r requirements.txt
<h4>下载我们的模型和文本到图像基础模型</h4>

我们的模型基于Stable diffusion v1.4,您可以下载Stable Diffusion v1-4OpenCLIP-ViT-H-14pretrained目录。 从Google DriveHugging Face下载我们的模型(ShowMaker)检查点,并保存到pretrained目录。

现在在./pretrained下,您应该能看到以下内容:

├── pretrained
│   ├── ShowMaker.pt
│   ├── stable-diffusion-v1-4
│   ├── OpenCLIP-ViT-H-14
│   │   ├── ...
└── └── ├── ...
        ├── ...
</details> <details> <summary><h3>LLM规划推理和生成参考图像</h3></summary>

运行以下命令获取脚本、演员和主角:

python sample_scripts/vlog_write_script.py
  • 生成的脚本将保存在results/vlog/$your_story_dir/script中。

  • 生成的参考图像将保存在results/vlog/$your_story_dir/img中。

  • :warning: 在vlogger/planning_utils/gpt4_utils.py文件的第7行输入您的OpenAI密钥。

</details> <details> <summary><h3>vlog生成推理</h3></summary>

运行以下命令获取vlog:

python sample_scripts/vlog_read_script_sample.py
  • 生成的视频将保存在results/vlog/$your_story_dir/video中。
</details> <details> <summary><h3>(T+I)2V 推理</h3></summary>

运行以下命令获取 (T+I)2V 结果:

python sample_scripts/with_mask_sample.py
  • 生成的视频将保存在 results/mask_no_ref 中。
</details> <details> <summary><h3>(T+I+Ref)2V 推理</h3></summary>

运行以下命令获取 (T+I+Ref)2V 结果:

python sample_scripts/with_mask_ref_sample.py
  • 生成的视频将保存在 results/mask_ref 中。
</details> <details> <summary><h3>更多详情</h3></summary>

您可以修改 configs/with_mask_sample.yaml 来更改 (T+I)2V 条件,修改 configs/with_mask_ref_sample.yaml 来更改 (T+I+Ref)2V 条件。 例如:

  • ckpt 用于指定模型检查点。

  • text_prompt 用于描述视频内容。

  • input_path 用于指定输入图像的路径。

  • ref_path 用于指定参考图像的路径。

  • save_path 用于指定生成视频的保存路径。

</details>

结果

(T+Ref)2V 结果

<table class="center"> <tr> <td style="text-align:center;width: 50%" colspan="1"><b>参考图像</b></td> <td style="text-align:center;width: 50%" colspan="1"><b>输出视频</b></td> </tr> <tr> <td><img src="https://yellow-cdn.veclightyear.com/835a84d5/3bcc012f-7524-4331-a44c-c0531be74d22.png" width="250"> <br> <p align="center">场景参考</p> </td> <td> <img src="https://yellow-cdn.veclightyear.com/835a84d5/96022b03-8550-4a9f-8017-99c72985e648.gif" width="400"> <br> <p align="center">烟花在金字塔上空绽放。</p> </td> </tr> <tr> <td><img src="https://yellow-cdn.veclightyear.com/835a84d5/6646a5df-6a23-4302-88f4-164432234579.png" width="250"> <br> <p align="center">场景参考</p> </td> <td> <img src="https://yellow-cdn.veclightyear.com/835a84d5/a7ded878-75f8-4986-915e-93d6655be344.gif" width="400"> <br> <p align="center">长城被熊熊烈火燃烧。</p> </td> </tr> <tr> <td><img src="https://yellow-cdn.veclightyear.com/835a84d5/afb087ee-91e6-4152-9b58-edbc1be30255.png" width="250"> <br> <p align="center">物体参考</p> </td> <td> <img src="https://yellow-cdn.veclightyear.com/835a84d5/f47251d6-fc94-40f1-9e28-e72b2b36e88e.gif" width="400"> <br> <p align="center">一只猫在海滩上奔跑。</p> </td> </tr> </table>

(T+I)2V 结果

<table class="center"> <tr> <td style="text-align:center;width: 50%" colspan="1"><b>输入图像</b></td> <td style="text-align:center;width: 50%" colspan="1"><b>输出视频</b></td> </tr> <tr> <td><img src="https://yellow-cdn.veclightyear.com/835a84d5/d2ededd0-efc3-408e-b90d-a15c235d2115.png" width="400"></td> <td> <img src="https://yellow-cdn.veclightyear.com/835a84d5/f1d8cb36-3b68-469a-8193-7eb3cde4a4cf.gif" width="400"> <br> <p align="center">水下环境中的化妆品瓶。</p> </td> </tr> <tr> <td><img src="https://yellow-cdn.veclightyear.com/835a84d5/21769c31-cc5f-45b9-a102-370f8f434b40.png" width="400"></td> <td> <img src="https://yellow-cdn.veclightyear.com/835a84d5/9abe3dae-4654-4d85-8fb0-3dfa596f1972.gif" width="400"> <br> <p align="center">一大滴水落在玫瑰花瓣上。</p> </td> </tr> <tr> <td><img src="https://yellow-cdn.veclightyear.com/835a84d5/343f63ad-1e28-43fa-8c92-078bac52dba0.png" width="400"></td> <td> <img src="https://yellow-cdn.veclightyear.com/835a84d5/28605237-bed4-4551-9ac6-ddf6c4824f26.gif" width="400"> <br> <p align="center">一条鱼游过一位东方女性身边。</p> </td> </tr> <tr> <td><img src="https://yellow-cdn.veclightyear.com/835a84d5/f77eab23-e717-4e6e-88ef-22b21b36c8be.png" width="400"></td> <td> <img src="https://yellow-cdn.veclightyear.com/835a84d5/38694f96-f043-4195-9806-c1e941a9f86f.gif" width="400"> <br> <p align="center">电影般的照片。驾驶飞机的视角。</p> </td> </tr> <tr> <td><img src="https://yellow-cdn.veclightyear.com/835a84d5/120a11cf-085b-40cd-a781-e52cea6034ee.png" width="400"></td> <td> <img src="https://yellow-cdn.veclightyear.com/835a84d5/c73221b6-f3fa-40b4-803d-cfa99e593ed0.gif" width="400"> <br> <p align="center">行星撞击地球。</p> </td> </tr> </table>

文本到视频生成结果

<table> <tr> <td style="text-align:center;width: 66%" colspan="2"><b>输出视频</b></td> </tr> <tr> <td> <img src="https://yellow-cdn.veclightyear.com/835a84d5/e078aa92-80c4-4b20-8eb6-9add2c300739.gif"/> <br> <p align="center">一只鹿回头看身后的日落。</p> </td> <td> <img src="https://yellow-cdn.veclightyear.com/835a84d5/5ee58e8d-d9b4-4fb6-aff3-d37cc1f4a8af.gif"/> <br> <p align="center">一只鸭子在教另一只鸭子数学。</p> </td> </tr> <tr> <td> <img src="https://yellow-cdn.veclightyear.com/835a84d5/d784ead3-8041-48a6-bf9c-cf0d2ad60eeb.gif"/> <br> <p align="center">贝索斯探索热带雨林。</p> </td> <td> <img src="https://yellow-cdn.veclightyear.com/835a84d5/a538591a-ec12-4d8e-9d2a-3583c9941817.gif"/> <br> <p align="center">浅蓝色的海水拍打着海滩。</p> </td> </tr> </table>

BibTeX

@article{zhuang2024vlogger, title={Vlogger: Make Your Dream A Vlog}, author={Zhuang, Shaobin and Li, Kunchang and Chen, Xinyuan and Wang, Yaohui and Liu, Ziwei and Qiao, Yu and Wang, Yali}, journal={arXiv preprint arXiv:2401.09414}, year={2024} }
@article{chen2023seine, title={SEINE: Short-to-Long Video Diffusion Model for Generative Transition and Prediction}, author={Chen, Xinyuan and Wang, Yaohui and Zhang, Lingjun and Zhuang, Shaobin and Ma, Xin and Yu, Jiashuo and Wang, Yali and Lin, Dahua and Qiao, Yu and Liu, Ziwei}, journal={arXiv preprint arXiv:2310.20700}, year={2023} }
@article{wang2023lavie, title={LAVIE: High-Quality Video Generation with Cascaded Latent Diffusion Models}, author={Wang, Yaohui and Chen, Xinyuan and Ma, Xin and Zhou, Shangchen and Huang, Ziqi and Wang, Yi and Yang, Ceyuan and He, Yinan and Yu, Jiashuo and Yang, Peiqing and others}, journal={arXiv preprint arXiv:2309.15103}, year={2023} }

免责声明

我们对用户生成的内容不承担责任。该模型未经训练以逼真地表现人物或事件,因此使用它生成此类内容超出了模型的能力范围。禁止生成色情、暴力和血腥内容,以及生成贬低或伤害他人或其环境、文化、宗教等的内容。用户对自己的行为完全负责。项目贡献者在法律上与用户的行为没有关联,也不对用户的行为负责。请负责任地使用生成模型,遵守道德和法律标准。

联系我们

庄少彬: zhuangshaobin@pjlab.org.cn, 李坤昌: likunchang@pjlab.org.cn 陈昕源chenxinyuan@pjlab.org.cn王耀辉wangyaohui@pjlab.org.cn

致谢

本代码基于SEINELaViediffusersStable Diffusion构建,我们感谢所有开源贡献者。

许可证

代码采用Apache-2.0许可证,模型权重完全开放用于学术研究,并允许免费商业使用。如需申请商业许可,请联系zhuangshaobin@pjlab.org.cn

编辑推荐精选

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

3FS

3FS

一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。

3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。

TRELLIS

TRELLIS

用于可扩展和多功能 3D 生成的结构化 3D 潜在表示

TRELLIS 是一个专注于 3D 生成的项目,它利用结构化 3D 潜在表示技术,实现了可扩展且多功能的 3D 生成。项目提供了多种 3D 生成的方法和工具,包括文本到 3D、图像到 3D 等,并且支持多种输出格式,如 3D 高斯、辐射场和网格等。通过 TRELLIS,用户可以根据文本描述或图像输入快速生成高质量的 3D 资产,适用于游戏开发、动画制作、虚拟现实等多个领域。

ai-agents-for-beginners

ai-agents-for-beginners

10 节课教你开启构建 AI 代理所需的一切知识

AI Agents for Beginners 是一个专为初学者打造的课程项目,提供 10 节课程,涵盖构建 AI 代理的必备知识,支持多种语言,包含规划设计、工具使用、多代理等丰富内容,助您快速入门 AI 代理领域。

AEE

AEE

AI Excel全自动制表工具

AEE 在线 AI 全自动 Excel 编辑器,提供智能录入、自动公式、数据整理、图表生成等功能,高效处理 Excel 任务,提升办公效率。支持自动高亮数据、批量计算、不规则数据录入,适用于企业、教育、金融等多场景。

UI-TARS-desktop

UI-TARS-desktop

基于 UI-TARS 视觉语言模型的桌面应用,可通过自然语言控制计算机进行多模态操作。

UI-TARS-desktop 是一款功能强大的桌面应用,基于 UI-TARS(视觉语言模型)构建。它具备自然语言控制、截图与视觉识别、精确的鼠标键盘控制等功能,支持跨平台使用(Windows/MacOS),能提供实时反馈和状态显示,且数据完全本地处理,保障隐私安全。该应用集成了多种大语言模型和搜索方式,还可进行文件系统操作。适用于需要智能交互和自动化任务的场景,如信息检索、文件管理等。其提供了详细的文档,包括快速启动、部署、贡献指南和 SDK 使用说明等,方便开发者使用和扩展。

Wan2.1

Wan2.1

开源且先进的大规模视频生成模型项目

Wan2.1 是一个开源且先进的大规模视频生成模型项目,支持文本到图像、文本到视频、图像到视频等多种生成任务。它具备丰富的配置选项,可调整分辨率、扩散步数等参数,还能对提示词进行增强。使用了多种先进技术和工具,在视频和图像生成领域具有广泛应用前景,适合研究人员和开发者使用。

爱图表

爱图表

全流程 AI 驱动的数据可视化工具,助力用户轻松创作高颜值图表

爱图表(aitubiao.com)就是AI图表,是由镝数科技推出的一款创新型智能数据可视化平台,专注于为用户提供便捷的图表生成、数据分析和报告撰写服务。爱图表是中国首个在图表场景接入DeepSeek的产品。通过接入前沿的DeepSeek系列AI模型,爱图表结合强大的数据处理能力与智能化功能,致力于帮助职场人士高效处理和表达数据,提升工作效率和报告质量。

Qwen2.5-VL

Qwen2.5-VL

一款强大的视觉语言模型,支持图像和视频输入

Qwen2.5-VL 是一款强大的视觉语言模型,支持图像和视频输入,可用于多种场景,如商品特点总结、图像文字识别等。项目提供了 OpenAI API 服务、Web UI 示例等部署方式,还包含了视觉处理工具,有助于开发者快速集成和使用,提升工作效率。

下拉加载更多