Stable Diffusion——Animate Diff一键AI图像转视频

2024-03-06 06:20

本文主要是介绍Stable Diffusion——Animate Diff一键AI图像转视频,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

AnimateDiff 是一个实用框架,可以对文本生成图像模型进行动画处理,无需进行特定模型调整,即可为大多数现有的个性化文本转图像模型提供动画化能力。而Animatediff 已更新至 2.0 版本和3.0两个版本,相较于 1.0 版本,2.0和3.0版本主要新增了三个插件功能:Lora、ControlNet 和 Prompt travel。Lora,官方新增了 8 个运动模型,使我们能够自由控制动画画面的走向。Prompt travel,可以在提示词中指定第几帧以及指定何种动作或画面,可以通过提示词实现动态控制动画。
在这里插入图片描述
感兴趣可加入:566929147 企鹅群一起学习讨论

算法简介

AnimateDiff 提出了一种创新的方法来解决个性化 Text to Video 的挑战。其核心原理是将一个新初始化的运动建模模块附加到冻结的基于文本到图像的模型上,并在接下来的视频剪辑中对其进行训练,以提炼出合理的运动先验知识。一旦训练完成,通过简单地注入这个运动建模模块,所有从相同基础模型派生的个性化版本都可以立即成为以文本驱动的模型,从而能够生成多样化和个性化的动画图像。

这一方法的创新之处在于它摆脱了传统方法中对于敏感超参数调整、大量个性化视频数据集收集以及密集的计算资源的依赖,使得普通用户也能够参与到个性化 Text to Video 的工作中。通过将运动建模模块与基础模型结合,AnimateDiff 实现了一种更加简洁高效的个性化动画生成方式,为用户提供了更多选择和可能性。
在这里插入图片描述
通过实验证明,运动先验可以推广到 3D 动画片和 2D 动漫等领域,这意味着 AnimateDiff 能够为个性化动画提供一个简单而有效的基线。用户只需承担个性化图像模型的成本,就能够快速获得自然的个性化动画。以下是官方提供的一些优秀作品效果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这些作品展示了 AnimateDiff 的强大功能和广泛适用性,为用户提供了一个简便而有效的个性化动画生成方案。

Stable Diffusion Webui安装

插件从网址安装:https://github.com/continue-revolution/sd-webui-animatediff ,击安装即可,等待安装完毕,重启一下SD UI界面。
在这里插入图片描述
然后从:https://huggingface.co/guoyww/animatediff/tree/main 里下载专用的运动模型和Lora模型。下载之后需要放置在对应的位置。
运动模型放在stable-diffusion-webui\extensions\sd-webui-animatediff\model里面,运动lora放在stable-diffusion-webui\models\Lora里面。
在这里插入图片描述
根据 Lora 的命名可以大概看出它们的功能:

  1. 向上运动(Up)
  2. 向下运动(Down)
  3. 向左运动(Left)
  4. 向右运动(Right)
  5. 拉远运动(Zoom Out)
  6. 拉近运动(Zoom In)
  7. 顺时针旋转(Clockwise)
  8. 逆时针旋转(Counter Clockwise)

这些 Lora 可以通过添加对应的 Lora 来控制生成的动画在空间中的运动方向和旋转方向。
在这里插入图片描述
在 animatediff 插件页面的配置参数中:

  • 动画模型:选择最新的 V2 版本。
  • 总帧数:指定动画总共包含的画面数量。
  • 帧率:指定每秒的帧数。例如,如果总帧数设置为 16,帧率设置为 8,则单个动画的播放时长为 2 秒。
  • 显示循环数量:指定动画循环播放的次数,0 代表一直重复播放。
  • 闭环:勾选此选项,使得动画的第一帧和最后一帧形成循环。
  • 上下文单批数:与总帧数保持一致即可。
  • 保存:选择输出动画的格式,可以多选。

插件使用

实现一个最基础的动画

1girl,night city,rain,coat,hands in pockets,best quality,masterpiece,HDR,UHD,8K,Highly detailed,simple background,
Negative prompt: (worst quality:1.6),(low quality:1.6),EasyNegative,
Steps: 20, Sampler: DPM++ 2M Karras, CFG scale: 7, Seed: 601405023, Size: 512x512, Model hash: 876b4c7ba5, Model: cetusMix_Whalefall2, VAE hash: 63aeecb90f, VAE: vae-ft-mse-840000-ema-pruned.safetensors, Clip skip: 2, Version: v1.6.0

在这里插入图片描述

使用Lora
对于添加一个镜头往左移动的 Lora “lora:v2_lora_PanLeft:0.8”,它的使用方式与普通的 Lora 是一样的。可以看到画面往左移动的幅度相当大。通过调整 Lora 的权重,可以实现不同幅度的移动。权重越高,移动的幅度越大。

在这个例子中,权重为 0.8,表示移动的幅度较大。如果希望移动的幅度更小,可以降低权重;如果希望移动的幅度更大,可以增加权重。这样就可以根据具体需求调整镜头移动的幅度。

1girl,night city,rain,coat,hands in pockets,best quality,masterpiece,HDR,UHD,8K,Highly detailed,simple background,lora:v2_lora_PanLeft:0.8,
Negative prompt: (worst quality:1.6),(low quality:1.6),EasyNegative,
Steps: 20, Sampler: DPM++ 2M Karras, CFG scale: 7, Seed: 601405027, Size: 512x512, Model hash: 876b4c7ba5, Model: cetusMix_Whalefall2, VAE hash: 63aeecb90f, VAE: vae-ft-mse-840000-ema-pruned.safetensors, Clip skip: 2, Lora hashes: “v2_lora_PanLeft: ed79025f8bea”, TI hashes: “EasyNegative: c74b4e810b03”, Version: v1.6.0

在这里插入图片描述

Prompt travel

“Prompt travel” 是一个需要安装 ControlNet 的功能。它允许用户在描述人物或场景的提示词中指定不同帧数对应的动作或画面。举例来说,如果总帧数只有 8 帧,那么在提示词中最大只能写到 7,因为索引从 0 开始,0 对应第一帧,7 对应第八帧,依此类推。如果不遵循这个规则,可能会导致错误。

提示词的格式应该为:在指定帧数后面加上冒号和空格,然后描述对应的动作或画面。例如:“0: 人物行走”,表示在第一帧人物行走。

如果发现功能没有生效,可能是由于插件之间发生了冲突。可以尝试禁用除 animatediff 和 ControlNet 之外的其他插件,然后逐个重新启用,查看是否恢复了功能。

1girl,best quality,masterpiece,realistic,close-up,simple background,
0: smile
2: open eyes
3: (closed eyes:1.2)
5: open eyes

在这里插入图片描述

这篇关于Stable Diffusion——Animate Diff一键AI图像转视频的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/779094

相关文章

基于Python开发一个图像水印批量添加工具

《基于Python开发一个图像水印批量添加工具》在当今数字化内容爆炸式增长的时代,图像版权保护已成为创作者和企业的核心需求,本方案将详细介绍一个基于PythonPIL库的工业级图像水印解决方案,有需要... 目录一、系统架构设计1.1 整体处理流程1.2 类结构设计(扩展版本)二、核心算法深入解析2.1 自

三频BE12000国补到手2549元! ROG 魔盒Pro WIFI7电竞AI路由器上架

《三频BE12000国补到手2549元!ROG魔盒ProWIFI7电竞AI路由器上架》近日,华硕带来了ROG魔盒ProWIFI7电竞AI路由器(ROGSTRIXGR7Pro),目前新... 华硕推出了ROG 魔盒Pro WIFI7电竞AI路由器(ROG STRIX GR7 Phttp://www.cppcn

Python使用OpenCV实现获取视频时长的小工具

《Python使用OpenCV实现获取视频时长的小工具》在处理视频数据时,获取视频的时长是一项常见且基础的需求,本文将详细介绍如何使用Python和OpenCV获取视频时长,并对每一行代码进行深入解析... 目录一、代码实现二、代码解析1. 导入 OpenCV 库2. 定义获取视频时长的函数3. 打开视频文

Python中OpenCV与Matplotlib的图像操作入门指南

《Python中OpenCV与Matplotlib的图像操作入门指南》:本文主要介绍Python中OpenCV与Matplotlib的图像操作指南,本文通过实例代码给大家介绍的非常详细,对大家的学... 目录一、环境准备二、图像的基本操作1. 图像读取、显示与保存 使用OpenCV操作2. 像素级操作3.

C/C++的OpenCV 进行图像梯度提取的几种实现

《C/C++的OpenCV进行图像梯度提取的几种实现》本文主要介绍了C/C++的OpenCV进行图像梯度提取的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录预www.chinasem.cn备知识1. 图像加载与预处理2. Sobel 算子计算 X 和 Y

c/c++的opencv图像金字塔缩放实现

《c/c++的opencv图像金字塔缩放实现》本文主要介绍了c/c++的opencv图像金字塔缩放实现,通过对原始图像进行连续的下采样或上采样操作,生成一系列不同分辨率的图像,具有一定的参考价值,感兴... 目录图像金字塔简介图像下采样 (cv::pyrDown)图像上采样 (cv::pyrUp)C++ O

Python实现一键PDF转Word(附完整代码及详细步骤)

《Python实现一键PDF转Word(附完整代码及详细步骤)》pdf2docx是一个基于Python的第三方库,专门用于将PDF文件转换为可编辑的Word文档,下面我们就来看看如何通过pdf2doc... 目录引言:为什么需要PDF转Word一、pdf2docx介绍1. pdf2docx 是什么2. by

Spring AI 实现 STDIO和SSE MCP Server的过程详解

《SpringAI实现STDIO和SSEMCPServer的过程详解》STDIO方式是基于进程间通信,MCPClient和MCPServer运行在同一主机,主要用于本地集成、命令行工具等场景... 目录Spring AI 实现 STDIO和SSE MCP Server1.新建Spring Boot项目2.a

Python+wxPython构建图像编辑器

《Python+wxPython构建图像编辑器》图像编辑应用是学习GUI编程和图像处理的绝佳项目,本教程中,我们将使用wxPython,一个跨平台的PythonGUI工具包,构建一个简单的... 目录引言环境设置创建主窗口加载和显示图像实现绘制工具矩形绘制箭头绘制文字绘制临时绘制处理缩放和旋转缩放旋转保存编

python+OpenCV反投影图像的实现示例详解

《python+OpenCV反投影图像的实现示例详解》:本文主要介绍python+OpenCV反投影图像的实现示例详解,本文通过实例代码图文并茂的形式给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录一、前言二、什么是反投影图像三、反投影图像的概念四、反向投影的工作原理一、利用反向投影backproj