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

随着人工智能技术的不断发展,图像生成与反推技术已经成为了AI领域的一大热点。今天,我们为您带来了一套关于Stable Diffusion的视频教程,从Mov2mov到AnimateDiff,帮助您全面掌握这一强大的图像生成工具

在这里插入图片描述

一、Stable Diffusion:图像生成的利器

Stable Diffusion是一款基于深度学习的图像生成工具,它可以根据您提供的文本描述,生成与之相匹配的图像。通过这套视频教程,您将学习如何利用Stable Diffusion,将您的创意和想象转化为栩栩如生的图像。

二、从Mov2mov到AnimateDiff:全面掌握图像生成技术

这套视频教程将带您从Mov2mov的基础操作开始,逐步深入到AnimateDiff的高级应用。您将学习如何使用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 theme

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

请添加图片描述

感兴趣的小伙伴,赠送全套AIGC学习资料,包含AI绘画、AI人工智能等前沿科技教程和软件工具,具体看这里。

在这里插入图片描述

AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。
在这里插入图片描述

一、AIGC所有方向的学习路线

AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

在这里插入图片描述
在这里插入图片描述

二、AIGC必备工具

工具都帮大家整理好了,安装就可直接上手!
在这里插入图片描述

三、最新AIGC学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

在这里插入图片描述
在这里插入图片描述

四、AIGC视频教程合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值