FreeInit:弥合视频扩散模型的初始化差距
该仓库包含以下论文的实现:
:open_book:概述
我们提出了FreeInit,这是一种简洁而有效的方法,能够提高扩散模型生成视频的时间一致性。FreeInit不需要额外的训练,也不引入可学习的参数,可以在推理时轻松集成到任何视频扩散模型中。
:fire: 更新
- [2024年1月] FreeInit 已集成到 Diffusers 和 ComfyUI-AnimateDiff-Evolved 中。特别感谢@a-r-r-o-w, @DN6 和 @Kosinkadink!
- [2023年12月] 我们在 Hugging Face🤗 上发布了一个演示!欢迎试用:演示链接。
- [2023年12月] Arxiv 论文 已发布。
- [2023年12月] 代码发布。
- [2023年12月] 项目页面 和 视频 已发布。
:page_with_curl: 使用方法
在本仓库中,我们以 AnimateDiff 为例,演示如何将 FreeInit 集成到当前的文本到视频推理管道中。
在 pipeline_animation.py 中,我们定义了一个从 AnimationPipeline
继承的类 AnimationFreeInitPipeline
,展示了如何修改原始管道。
在 freeinit_utils.py 中,我们提供了用于噪声重新初始化的频率过滤代码。
在 animate_with_freeinit.py 中提供了一个推理脚本示例。
在将 FreeInit 集成到其他视频扩散模型时,请参考上述脚本。
:hammer: 快速开始
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'
滤波器。
更多具有不同运动模块/个性化 T2I 设置的 .yaml
文件也提供给测试。
🤗 Gradio 演示
我们还提供了一个 Gradio 演示,用于展示我们的方法。运行以下命令将启动演示。可以随意调整参数以提高生成质量。
python app.py
或者,您可以尝试由 Hugging Face 托管的在线演示:演示链接。
:framed_picture: 生成结果
有关更多视觉比较,请参考我们的 项目页面。
:four_leaf_clover: 社区贡献
- 集成到 ComfyUI 扩展: ComfyUI-AnimateDiff-Evolved(作者:Kosinkadink)
- 集成到 HuggingFace Diffusers: Diffusers(作者:a-r-r-o-w 和 DN6)
- Google Colab: FreeInit-colab(作者:camenduru)
:fountain_pen: 引用
如果您发现我们的仓库对您的研究有用,请考虑引用我们的论文:
@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}
:white_heart: 鸣谢
该项目在 MIT 许可下分发。有关更多信息,请参见 LICENSE
。
示例代码基于 AnimateDiff。感谢团队的精彩工作!