FreeInit:弥合视频扩散模型中的初始化差距

teaser.gif

该存储库包含以下论文的实现:

FreeInit:弥合视频扩散模型中的初始化差距
Tianxing Wu , Chenyang Si , Yuming Jiang , Ziqi Huang , Ziwei Liu

来自南洋理工大学 S-Lab 附属MMLab@NTU

📖 概述

我们提出了FreeInit,这是一种简洁而有效的方法,可以提高扩散模型生成的视频的时间一致性。FreeInit 不需要额外的训练,也不需要引入可学习的参数,并且可以在推理时轻松地合并到任意视频扩散模型中。

🔥 更新

  • [01/2024] FreeInit 已集成到Diffusers和ComfyUI-AnimateDiff-Evolved中。非常感谢@arrow、@DN6和@Kosinkadink!
  • [12/2023] 我们发布了Hugging Face🤗的演示!请随意尝试一下:[演示链接]。
  • [12/2023] Arxiv 论文可用。
  • [12/2023] 代码已发布。
  • [12/2023]项目页面和视频可用。

📃 用法

在此存储库中,我们使用AnimateDiff作为示例来演示如何将 FreeInit 集成到当前的文本到视频推理管道中。

在pipeline_animation.py中,我们定义了一个AnimationFreeInitPipeline继承自 的类AnimationPipeline,展示了如何修改原始管道。

在freeinit_utils.py中,我们提供了噪声重新初始化的频率过滤代码。

animate_with_freeinit.py提供了示例推理脚本。

将FreeInit集成到其他视频扩散模型中时,请参考上述脚本。

🔨 快速入门

1. 克隆仓库

git clone https://github.com/TianxingWu/FreeInit.git
cd FreeInit
cd examples/AnimateDiff

2. 准备环境

conda env create -f environment.yaml
conda activate animatediff

3. 下载检查点

请参考AnimateDiff 的官方仓库。此处列出了设置指南。

4. 使用 FreeInit 进行推理

下载基础模型、运动模块和个性化 T2I 检查点后,运行以下命令以使用 FreeInit 生成动画。然后生成结果保存到outputs文件夹中。

python -m scripts.animate_with_freeinit 
    --config "configs/prompts/freeinit_examples/RealisticVision_v2.yaml" 
    --num_iters 5 
    --save_intermediate 
    --use_fp16

其中num_iters是 freeinit 迭代次数。我们建议使用 3-5 次迭代来平衡质量和效率。为了更快的推理,可以启用参数use_fast_sampling使用从粗到细的采样策略,但这可能会导致较差的结果。

您可以更改配置文件中的文本提示。要调整频率滤波器参数以获得更好的结果,请更改filter_params配置文件中的设置。过滤'butterworth'n=4, d_s=d_t=0.25设置为默认值。对于时间不一致较大的基础模型,请考虑使用'guassian'过滤器。

还提供了更多.yaml具有不同运动模块/个性化 T2I 设置的文件用于测试。

🤗 渐变演示

我们还提供了一个 Gradio 演示来通过 UI 演示我们的方法。运行以下命令将启动演示。请随意调整参数以提高生成质量。

python app.py

或者,您可以尝试 Hugging Face 上托管的在线演示:[演示链接]。

🖼️生成结果

请参阅我们的项目页面以获取更多视觉比较。

🍀 社区贡献

  • 与 ComfyUI 扩展集成:ComfyUI-AnimateDiff-Evolved(作者:@Kosinkadink)
  • 与 HuggingFace 扩散器集成:扩散器(由@arrow和@DN6提供)
  • Google Colab:FreeInit-colab(作者:@camenduru)

🖋️ 引用

如果您发现我们的存储库对您的研究有用,请考虑引用我们的论文:

@article{wu2023freeinit,
     title={FreeInit: Bridging Initialization Gap in Video Diffusion Models},
     author={Wu, Tianxing and Si, Chenyang and Jiang, Yuming and Huang, Ziqi and Liu, Ziwei},
     journal={arXiv preprint arXiv:2312.07537},
     year={2023}

🤍致谢

该项目是根据 MIT 许可证分发的。请参阅LICENSE获取更多信息。

示例代码基于AnimateDiff构建。感谢团队所做的令人印象深刻的工作!