StableDiffusion 文生视频教程,从Mov2mov到AnimateDiff

2024-05-05 11:36

本文主要是介绍StableDiffusion 文生视频教程,从Mov2mov到AnimateDiff,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 0. 前言
  • 1. 简介
  • 2. 文生视频
    • 2.1 Mov2mov
      • 2.1.1 插件安装
      • 2.1.2 视频生成
    • 2.2 ffmpeg + Ebsynth
      • 2.2.1 ffmpeg 安装
      • 2.2.2 Ebsynth安装
      • 2.2.3 Ebsynth 插件安装
      • 2.2.4 视频生成
        • 2.2.4.1 Step 1 蒙版裁剪
        • 2.2.4.2 Step2 识别关键帧
        • 2.2.4.3 Step3~4 关键帧重绘
        • 2.2.4.3 Step5~6 生成Ebsynth工程文件
        • 2.2.4.3 Step7 合成帧,生成视频
    • 2.3 AnimateDiff
      • 2.3.1 插件安装
      • 2.3.2 模型下载
      • 2.3.3 视频生成
        • 2.3.3.1 AnimateDiff参数
        • 2.3.3.2 剧本式生成
  • 参考文献

0. 前言

不知道你在刷各种短视频的时候有没有刷到过类似如下的视频:

这种视频就是AI生成的,准确说是Stable Diffusion生成的半AI视频

Ebsynth

1. 简介

文生视频就是AI将用户传入的文字prompt生成视频的复杂任务。目前市面上主要分为半AI视频以及全AI视频 by 沃兹基.硕得 。

  • 半AI视频:AI以已有视频为蓝本,在其基础上进行换脸、风格转绘等生成新视频的方式。
  • 全AI视频:AI完全以用户的prompt为参照,生成符合用户描述的视频。最近大火的Sora就是类似的技术。

Stable Diffusion原本是文生视频的扩散模型,但是基于“视频是图片的延伸”这一观点,网上众多大神在其基础上开发了不同的插件以及辅助模型,使得其具备了文生视频的能力。
由于其本地部署以及低算力、显存的特性,我们本次用其来作为文生视频分享的创作工具。

基于Stable Diffusion做文生视频主要经历了三个发展阶段,印证着由半AI视频到全AI视频的发展历程:

  1. Mov2mov:早期的文生视频插件,是“视频是图片的延伸”这一观点的直接实现。
  2. ffmpeg + Ebsynth:由于Mov2mov生成视频连贯性差等缺点,后续又发展出了以关键帧+插帧为解决方案的工具插件,ebsynth是其中的佼佼者。
  3. AnimateDiff:StableDiffusion开始迈入全AI视频的标志点,通过对每X帧的剧本式描述,生成全AI视频。

2. 文生视频

2.1 Mov2mov

Mov2mov的作者是github 作者Scholar01,其工作原理是提取视频的帧,并根据用户设置的模型和提示词重新绘制每一帧。然后,它将生成的帧组合成一个新的视频,并输出结果。

2.1.1 插件安装

点击【WebUI】-> 【扩展】-> 【从网址安装】,输入以下的github 网址:

https://github.com/Scholar01/sd-webui-mov2mov

在这里插入图片描述

2.1.2 视频生成

由于其必须基于原始视频,我们可以随意准备一个原始视频:

Stable 文生视频原始图片

准备正向提示词:
在这里插入图片描述

<lora:真人-顾清寒:0.8>,guqinghan,full body:1.2,Medium breast,beautiful detailed girl, light on face,cinematic lighting,1girl,looking at viewer,masterpiece, best quality, unity 8k wallpaper,(raw photo:1.2),((photorealistic:1.4)),best quality ,masterpiece, illustration, an extremely delicate and beautiful

反向提示词:

(badhandv4:1.2),ng_deepnegative_v1_75t,negative_hand-neg,(worst quality:2),(low quality:2),(normal quality:2),lowres,bad anatomy,bad hands,normal quality,((monochrome)),((grayscale)),Freckles,Too many hands and feet,Excess legs,Wrong human body structure

设置其他参数:
迭代步数:38
采样方法:DPM++ 2M SDE Karras
图片尺寸:512*768
重绘幅度:0.4
MoiveFPS:45帧
ControlNet:OpenPose_hand
在这里插入图片描述
点击生成即可:
在这里插入图片描述
最后我们就可以看到转绘结果:

Mov2mov转绘制

可以看到,mov2mov生成的视频的背景以及人物衣服在每一帧的变化都很大,人眼看起来不连贯,给人错乱的感觉。

2.2 ffmpeg + Ebsynth

Ebsynth的原理就是找出图片之中多个关键帧,对每一帧关键帧进行蒙版重绘,之后通过智能插帧的方式将多个关键帧连接起来,生成丝滑视频

2.2.1 ffmpeg 安装

官网:ffmpeg

首先进入官网,选择合适的版本进行下载:
在这里插入图片描述
下载完后,我们对压缩包进行解压,会得到一个文件夹,将其命名为ffmpeg。
在这里插入图片描述
最后,将对应的可执行文件添加到系统的环境变量之中。

2.2.2 Ebsynth安装

官网:ebsynth

同样,到官网我们下载一下Ebsynth,下载完解压即可,不需要额外的操作。
在这里插入图片描述

2.2.3 Ebsynth 插件安装

第三个就是需要在Stable Diffusion之中安装一个叫做Ebsynth的扩展,我们使用老方式即可安装:

插件网址:https://github.com/s9roll7/ebsynth_utility

在这里插入图片描述
安装完之后,我们还需要安装transparent-backgroud插件,此插件用于进行蒙版识别裁剪,使用如下的指令即可安装:

pip install transparent-background

2.2.4 视频生成

Ebsynth这套解决方案的步骤会稍微复杂一些,总共分为8步,我们仅用到其中的以下几步即可:

  • Step1: 蒙版裁剪
2.2.4.1 Step 1 蒙版裁剪

首先设置一下视频的文件和我们此次视频的工程目录:
在这里插入图片描述
然后设置一下蒙版参数,用于从原视频之中截取关键帧以及蒙版信息:
在这里插入图片描述
然后点击生成,我们就能在对应的工程目录之下得到如下的视频处理结果:

  • video_frame: 视频帧
  • video_mask: 视频帧蒙版信息
    在这里插入图片描述

视频蒙版就是用来表示视频主体的技术,如下图:
请添加图片描述

2.2.4.2 Step2 识别关键帧

第二步,识别关键帧,在这一步,我们设置一下最小最大间隔,插件就会智能从刚刚的视频帧之中识别出关键帧。我们点击生成:
在这里插入图片描述
在工程目录下就会得到一个还有关键帧的文件夹。
在这里插入图片描述

2.2.4.3 Step3~4 关键帧重绘

之后利用StableDiffusion的批量图生图重绘能力,我们对刚刚得到的关键帧进行重绘。同样的,我们需要输入一些提示词:
在这里插入图片描述
重绘完成之后,我们就会在对应的工程目录之中得到如下的图生图文件:
在这里插入图片描述

2.2.4.3 Step5~6 生成Ebsynth工程文件

点击步骤5,生成Ebsynth工程文件:
在这里插入图片描述
运行完成之后,我们就能够在对应的文件夹之中得到多个ebs后缀的文件:
在这里插入图片描述
逐个双击打开文件,就会跳转到ebsynth之中,这一步是在不同的关键帧之中进行插帧处理,点击运行:
在这里插入图片描述
Ebsynth运行结束之后,就会在对应的文件目录下方生成视频处理结果:
在这里插入图片描述

2.2.4.3 Step7 合成帧,生成视频

最后,点击第七步,图片合成视频!
在这里插入图片描述
程序运行结束,我们就能在工程目录下找到两个视频文件:
在这里插入图片描述

Ebsynth

2.3 AnimateDiff

早起的半AI视频解决方案都是基于逐帧重绘的思路,但是具有闪烁严重以及耗时漫长等缺陷。

由于帧之间包含的运动元素是具有规律以及关联性的,AnimateDiff基于此对视频片段进行训练,让AI学习不同类型视频的运动方式,单独训练出了一个运动模块:Motion Module
在这里插入图片描述

2.3.1 插件安装

同样,直接在StableDiffusion 之中通过网址安装此插件即可.

插件网址:https://github.com/continue-revolution/sd-webui-animatediff/

在这里插入图片描述

2.3.2 模型下载

使用AnimateDiff之前需要去HuggingFace下载一下对应的运动大模型:

模型地址:https://huggingface.co/guoyww/animatediff/tree/main

在这里插入图片描述
下载完成之后,需要将对应模型放到AnimateDiff 扩展的modle目录下面:
在这里插入图片描述

2.3.3 视频生成

首先我们先生成一张比较满意的图像,比如说:

1girl, upper body, detailed face, looking at viewer, outdoors, upper body, standing, best quality, unity 8k wallpaper,(raw photo:1.2),((photorealistic:1.4)),best quality ,masterpiece, illustration, an extremely delicate and beautiful

反向提示词:

(badhandv4:1.2),ng_deepnegative_v1_75t,negative_hand-neg,(worst quality:2),(low quality:2),(normal quality:2),lowres,bad anatomy,bad hands,normal quality,((monochrome)),((grayscale)),Freckles,Too many hands and feet,Excess legs,Wrong human body structure

设置其他参数:
迭代步数:30
采样方法:DPM++ 2M SDE
随机种子:请添加图片描述
(需要固定)

之后点开AnimateDiff选项卡,设置相关参数,点击生成即可:
在这里插入图片描述
生成过程中,其就会按照运动推理的逻辑为我们生产这样一系列连续且相似的动画帧。
在这里插入图片描述

2.3.3.1 AnimateDiff参数

在生成动画的过程之中,发挥核心作用的就是运动模块,到目前为止总共有三代模型,其中v2、v3模型效果显著好于初始模型:
在这里插入图片描述
其他参数如下:

参数解释
上下文单批数量运动模块单运行批次输入绘制的图片数量
闭环N:不循环
A:总是循环
R+P:半循环
帧数、帧率视频长度,帧数/帧率
帧插值AnimateDiff不支持高帧率绘制,使用此对关键帧进行插帧
2.3.3.2 剧本式生成

最后,我们来体验一下AnimateDiff最强大的能力:Prompt Travel,即通过在不同的帧输入不同的提示词来达到类似剧本式的视频能力。
想要使用这个也很简单,直接控制提示词即可,下面是一个夏东
两个季节变换的例子:

1girl, upper body, detailed face, looking at viewer, outdoors, upper body, standing, outdoors,
0: (spring:1.2), cherry blossoms, falling petals, pink theme,
16: (summer:1.2), sun flowers, hot summer, green themebest quality, unity 8k wallpaper,(raw photo:1.2),((photorealistic:1.4)),best quality ,masterpiece, illustration, an extremely delicate and beautiful

反向提示词:

(badhandv4:1.2),ng_deepnegative_v1_75t,negative_hand-neg,(worst quality:2),(low quality:2),(normal quality:2),lowres,bad anatomy,bad hands,normal quality,((monochrome)),((grayscale)),Freckles,Too many hands and feet,Excess legs,Wrong human body structure

请添加图片描述

参考文献

[1] Stable Diffusion风格转换插件-EBSynth操作指南
[2] 10倍效率,打造无闪烁丝滑AI动画!EbSynth插件全流程操作解析与原理分析,超智能的“补帧”动画制作揭秘!| Stable Diffusion扩展插件教程
[3] AI视频时代的“开源先驱”:Sora来之前,你可以先掌握这些——AnimateDiff动画插件全方位教学,制作丝滑流畅动图!Stable Diffusion应用

这篇关于StableDiffusion 文生视频教程,从Mov2mov到AnimateDiff的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

给Android工程师的音视频教程之一文弄懂MediaCodec

更多音视频知识请关注公众号:进击的代码家 音视频学习项目:LearnVideo AndroidMediaCodecDemo 简介 MediaCodec是Android提供的用于对音视频进行编解码的类,是Android Media基础框架的一部分,一般和 MediaExtractor, MediaMuxer, Surface和AudioTrack 一起使用。 MediaCodec的编解码流程

AI视频教程下载-与ChatGPT结合的UX用户体验/UI用户界面设计策略

Revolutionize UX_UI_ AI-Design Strategies with ChatGPT 提升你的设计工具包:使用ChatGPT、Figma和Miro的AI驱动UX/UI策略 + 50个创新UX提示 了解人工智能的基础知识。介绍ChatGPT及其底层技术。区分不同AI模型及其在设计中的应用。将AI工具融入设计工作流程的策略。使用AI进行构思和概念化。借助AI辅助提升

前端Web开发HTML5+CSS3+移动web视频教程 Day1

链接 HTML 介绍 写代码的位置:VSCode 看效果的位置:谷歌浏览器 安装插件 open in browser: 接下来要保证每次用 open in browser 打开的是谷歌浏览器。只需要将谷歌浏览器变为默认的浏览器就可以了。 首先进入控制面板,找到默认程序: VSCode Ctrl + b 折叠侧边栏。 效果: 修改代码,加上标签:

AI绘画Stable Diffusion神级插件AnimateDiff超稳动画教程来了!手把手教你一次性学会

大家好,我是设计师阿威 今天给大家分享AI做稳定动画的新教程,这一次的稳定效果,比上一次和上上次都更加惊艳,而且实现难度直线下降!几乎可以说是有手就会,非常适合追求高效高质效果的商用场景! 重点是:更简单!更高效! 今天我们就来用标题中的SD插件AnimateDiff做一个动画视频,AnimateDiff插件下载请扫描获取哦 AnimateDiff在SD的webUI中使用起来,那是非

【CVPR2024】面向StableDiffusion的编辑算法FreePromptEditing,提升图像编辑效果

近日,阿里云人工智能平台PAI与华南理工大学贾奎教授团队合作在深度学习顶级会议 CVPR2024 上发表 FPE(Free-Prompt-Editing) 算法,这是一种面向StableDiffusion的图像编辑算法。在这篇论文中,StableDiffusion可用于实现图像编辑的本质被挖掘,解释证明了基于StableDiffusion编辑的算法本质,并基于此设计了新的图像编辑算法,大幅度提升了

AI绘图StableDiffusion最强大模型盘点 - 诸神乱战

玩了这么久的StableDiffusion,Civitai和HF上的各种大模型和LORA也都基本玩了个遍。 自己也一直想做一期盘点,选出我自己心中最好或者最有意思的那几个大模型。 毕竟每次看着模型库里几十个大模型,是个人都遭不住。 我在这篇文章中,会列举5个大模型,你们也都只留这5个,足矣。 分别是: majicMIX(整体最好的真人大模型) GhostMix(整体最好的2.5D大模型

结合C4D和AE制作产品广告动画视频教程

[URL=https://dropgalaxy.in/gj7cy3mb706s]课时10:产品动画-各种灯光使用技巧集合_.mp4 - 36.0 MB[/URL] [URL=https://dropgalaxy.in/mcz213e5r0e1]课时11:产品动画-C4D界面简单介绍_.mp4 - 45.5 MB[/URL] [URL=https://dropgalaxy.in/dc88jvrqf9

AIGC-AnimateDiff-基于T2I模型的动态生成论文详细解读

AnimateDiff: Animate Your Personalized Text-to-Image Diffusion Models without Specific Tuning github:https://github.com/guoyww/animatediff/ 论文:https://arxiv.org/abs/2307.04725 AnimateDiff 通过预训练

JMH309【亲测】典藏3D魔幻端游【剑踪3DⅢ】GM工具+开区合区工具+PC客户端+配置修改教程+Win一键服务端+详细外网视频教程

资源介绍: 经典不错的一款端游 GM工具+开区合区工具+PC客户端+配置修改教程+Win一键服务端+详细外网视频教程 资源截图: 下载地址

Android自动化刷量、作弊与防作弊视频教程-彭斌-专题视频课程

Android自动化刷量、作弊与防作弊视频教程—10377人已学习 课程介绍         Android自动化刷量、作弊与防作弊视频培训课程通过讲解AccessibilityService,adb event,xposed等知识点,让大家对Android自动化刷量,作弊与防作弊有一定的基础,然后通过刷友盟和批量注册苹果帐号这两个案例的实战,让大家对刷量有更深刻的理解,并且把眼界