控制动画
- 将 AnimateDiff 与 Multi-ControlNet 和 Img2Img 相结合以实现 Vid2Vid 应用程序。这个小型库特别关注 Vid2Vid 应用程序,通过使用 ControlNet(或 Multi-ControlNet)指导视频生成和 AnimateDiff 来保持一致性。
- 此外,它使用 Img2Img 创建更一致的视频(在第一个 epoch 之后)。与 AnimateDiff 类似,除了 Stable Diffusion 1.5 基本模型之外,它还允许使用 DreamBooth/LoRA 模型。
- 这是初始版本,因此请期待潜在的问题和错误。欢迎提供反馈、建议和功能请求。
消息
- 2023 年 11 月 20 日 - 现在支持 IP 适配器、xformers 和颜色匹配!
- 2023 年 11 月 12 日 - 现在支持所有组合的 LCM-LoRA 和 ControlNet!
- 2023 年 11 月 7 日 - 现在支持潜在一致性模型 (LCM) - 实现 10 倍的性能提升!
支持的功能
- ? IP适配器(用于增加批量AnimateDiff帧的相似度)
- ?潜在一致性模型 LoRA (LCM-LoRA)
- ?潜在一致性模型 (LCM) 本机
- ? Multi-ControlNet可以与LCM等组合。
- ?提示加权和长提示(强制)
- ? DreamBooth 和 LoRA
- ? FFMPEG 插值
- ?批次之间的颜色匹配可提高一致性
- ?潜在重叠(Img2Img 和 ControlNet)和帧重叠(混合)
- ?面部增强和放大(GFPGAN 和 RealESRGAN)
- ?输入视频的任意帧速率、持续时间和分辨率采样
- ? xformers 已启用
兼容性和要求
- 此代码库仅在 Linux (Ubuntu 22.04) 上进行了测试。它在配备 NVIDIA Gefore RTX 3090 (24 GB VRAM) 的 Intel 机器上进行了测试,并且需要至少 16 GB RAM。
安装
- 确保您已安装 Anaconda (https://www.anaconda.com/download)。
- 另请确保 FFMPEG 已正确安装和设置(您可以按照以下指南进行安装:“指南 1”,如果仍然存在问题:“指南 2” - 您可以在 configs/prompts yaml 中设置 FFMPEG 路径文件)
git clone [email protected]:intellerce/controlanimate.git
cd ControlAnimate
bash download.sh
conda env create -f env.yml
视频对视频
- 设置配置文件“configs/prompts/SampleConfig.yaml”后,只需运行以下命令(不要忘记指向有效的输入视频文件):
conda activate controlanimate
bash start.sh
在配备单个 RTX 3090 的机器上进行测试。
提示加权
- 提示权重基于 Compel。您可以使用 + 或 (...)+ 表示重要性或添加权重,如下所示: (cat)1.2 同样,您可以使用负号 (-) 减少权重或使用低于 1 的权重。请参阅 https:// github.com/damian0815/compel/blob/main/Reference.md 了解更多信息。
结果
- 四个 ControlNet 和潜在重叠 (configs/prompts/SampleConfig.yaml)
- LCM(无 ControlNet)(configs/prompts/SampleConfigLCM.yaml)
- LCM-LoRA + Multi-ControlNet (configs/prompts/SampleConfigLCMLoRA.yaml)
- IP 适配器 + LCM-LoRA + Multi-ControlNet (configs/prompts/SampleConfigIPAdapter.yaml)
托多
联系我们
哈米德·奥米德瓦尔博士: [email protected]
瓦希德·阿赫拉吉博士: [email protected]
执照
该代码库是在 Apache v2.0 许可证下发布的。有关此存储库所基于的代码库的许可证,请参阅相应的 Github/网站页面。
致谢
该代码库基于以下存储库构建和/或受到以下存储库的启发: AnimateDiff Diffusers IP-Adapter Video2Video Color Matcher
作者要感谢 Kalin Ovtcharov(Extropolis Corp.)提供的宝贵反馈和建议。