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

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/723519.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#高级:Winform桌面开发中DataGridView的详解

一、每条数据增加一个按钮&#xff0c;点击输出对应实体 请先确保正确添加实体的名称和文本&#xff1a; private void button6_Click(object sender, EventArgs e) {//SQL查询到数据&#xff0c;存于list中List<InforMessage> list bll.QueryInforMessage();//含有字段…

tomcat安装及jdk安装

Tomcat 服务器是一个免费的开放源代码的Web 应用服务器&#xff0c;属于轻量级应用服务器&#xff0c;在中小型系统和并发访问用户不是很多的场合下被普遍使用&#xff0c;是开发和调试JSP 程序的首选。对于一个初学者来说&#xff0c;可以这样认为&#xff0c;当在一台机器上配…

C++ Qt开发:运用QThread多线程组件

Qt 是一个跨平台C图形界面开发库&#xff0c;利用Qt可以快速开发跨平台窗体应用程序&#xff0c;在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置&#xff0c;实现图形化开发极大的方便了开发效率&#xff0c;本章将重点介绍如何运用QThread组件实现多线程功能。 多线程…

mac报错:zsh:command not found: brew

1、基本概述&#xff1f; 在使用brew安装程序的时候MAC提示&#xff1a; zsh:command not found: brew 本质就是brew没有安装&#xff0c;这个命令与linux系统中的yum命令类似。 使用的环境说明&#xff1a; 虚拟机版本&#xff1a;VMware Workstation 17 Pro mac os Ventu…

TinyEMU编译与使用(一)

TinyEMU编译与使用&#xff08;一&#xff09; 1 介绍2 准备工作3 编译TinyEMU3.1 安装依赖库3.2 编译 4 运行TinyEMU4.1 在线运行4.2 离线运行 5 共享目录5.1 修改root_9p-riscv64.cfg5.2 启动TinyEMU5.3 执行挂载命令 6 TinyEMU命令帮助 1 介绍 原名为riscvemu&#xff0c;于…

Maven【5】在IDEA环境中配置和使用Maven

文章目录 【1】创建父工程1.创建 Project2.开启自动导入 【2】配置 Maven 信息【3】创建 Java 模块工程1.创建2.maven命令操作 【4】创建 Web 模块工程1.创建模块2.Web设定 【1】创建父工程 1.创建 Project 按照idea工程的布局&#xff0c;project相当于父工程&#xff0c;里…

javascript中的强制类型转换和自动类型转换

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;前端泛海 景天的主页&#xff1a;景天科技苑 文章目录 1.转换函数2.强制类型转换&#xff08;1&#xff09;Number类型强转&…

day11_SpringCloud(Nacos注册中心,LoadBalancer,OpenFeign)

文章目录 Spring Cloud Alibaba1 系统架构演进1.1 单体架构1.2 微服务架构1.3 分布式和集群 2 Spring Cloud Alibaba概述2.1 Spring Cloud简介2.2 Spring Cloud Alibaba简介 3 微服务环境准备3.1 工程结构说明3.2 父工程搭建3.3 用户微服务搭建3.3.1 基础环境搭建3.3.2 基础代码…

安装或卸载VMware时,显示无法打开注册表项,以及开启虚拟机电脑蓝屏重启的解决方法

我之前安装过一次VMware&#xff0c;之后就随手把他删除了&#xff0c;但没有删除干净&#xff0c;最近我再次安装VMware的时候&#xff0c;出现了一系列问题&#xff0c;我决定分享一下我的解决方案。 一&#xff1a;安装或卸载VMware时&#xff0c;显示无法打开注册表项 解决…

围坝胶的粘度一般是多少

围坝胶的一般粘度是多少?围坝胶&#xff0c;作为一种广泛应用于汽车、电子等领域的粘合剂&#xff0c;其粘度是评估其性能的重要指标之一。了解围坝胶的粘度有助于我们更好地选择和使用这种粘合剂。 首先&#xff0c;我们要明白什么是粘度。粘度是流体流动时抵抗剪切力的能力&…

09. C语言内嵌汇编代码

C语言函数内可以自定义一段汇编代码&#xff0c;在GCC编译器中使用 asm 或 __asm__ 关键词定义一段汇编代码&#xff0c;并可选添加volatile关键字&#xff0c;表示不要让编译器优化这段汇编代码。 内嵌汇编代码格式如下&#xff1a; __asm__ ("汇编代码":输出描述…

Git 入门

Git 入门 版本控制 什么是版本控制 版本控制是一种记录一个或若干文件内容变化&#xff0c;以便将来查阅特定版本修订情况的系统。 除了项目源代码&#xff0c;你可以对任何类型的文件进行版本控制。 为什么要版本控制 有了它你就可以将某个文件回溯到之前的状态&#xff…

WordPress建站入门教程:忘记后台管理员密码了怎么办?

前面跟大家分享的『WordPress建站入门教程&#xff1a;如何在本地电脑搭建WordPress网站&#xff1f;』一文介绍了搭建WordPress网站&#xff0c;但是有些站长跟boke112百科一样&#xff0c;没有记录后台管理密码&#xff0c;这种情况应该怎么办呢&#xff1f;有以下2种方法解决…

我国离子注入设备市场规模不断增加 本土企业仍有较大发展空间

我国离子注入设备市场规模不断增加 本土企业仍有较大发展空间 离子注入是半导体器件和集成电路生产的关键工艺之一&#xff0c;其提供的高精度和高均匀性可以大幅度提高集成电路的成品率。离子注入设备是芯片制造的核心工艺装备。 从全球市场来看&#xff0c;随着科学技术不断进…

javascript基础入门

1.第一个javascript程序 javascript程序不能够独立的运行&#xff0c;必须依赖于HTML文件&#xff0c;type属性值用来说明脚本的类型&#xff0c;这里 是指使用javascript编写的文本文件&#xff1b; 2.alert警告框 alert&#xff08;&#xff09;函数显示一条指定的信息&am…

正大国际:什么是美联储?对于实业与期货市场到底是什么关系?

第一美联储是谁&#xff1f; 美国联邦储备系统&#xff0c;简称美联储(fed)&#xff0c;负责履行美国中央银行的职权。与世界上大部分央行不同&#xff0c;美联储并不完全属于美国政府&#xff0c;从某个角度来说&#xff0c;美联储是一家私有央行。 一家私人银行凌驾于国家之…

创建Net8WebApi自动创建OpenApi集成swagger

问题&#xff1a;用Net8创建WebAPI时勾选启动OpenAPI&#xff0c;项目自动集成了Swagger&#xff0c;但是接口注释没有展示&#xff1f; 解决&#xff1a; 1.需要生成Api项目的XML文件。操作如下&#xff1a; 2.生成XML文件后&#xff0c;还需要在启动类Program.cs里面配置Sw…

架构(十六)本地方法缓存

一、引言 作者需要在底层公共包里面加一个方法反射的工具类&#xff0c;看起来很简单的事&#xff0c;问题也不少&#xff0c;这里讲讲过程。在结合同事的思维误区聊聊本地加锁块的问题。 二、方案选型 其实一开始有两种方案&#xff0c;一种是传入Function和入参&#xff0c;…

selenium_001基本学习

第 1 章webdriver 环境搭建好了&#xff0c;我们正式学习 selenium 的 webdriver 框架&#xff0c;它不像 QTP 之类的有 GUI 界面的可视化工具&#xff0c;是webdriver 框架的 API。 2.1.1 打开网页 注解&#xff1a;我们用谷歌浏览器 # from selenium import webdriver …

ue4.27 发现 getRandomReachedLocation 返回 false

把这个玩意儿删掉&#xff0c;重启工程&#xff0c;即可 如果还不行 保证运动物体在 volum 内部&#xff0c;也就是绿色范围内确保 project setting 里面的 navigation system 中 auto create navigation data 是打开的(看到过博客说关掉&#xff0c;不知道为啥) 如果还不行&…