一张图片=一段动画(Stable Diffusion进阶篇:AnimateDiff动画插件3)

在前两篇关于AnimateDiff的笔记中学习了一些简单的操作和参数的相关知识点,而今天的文章作为AnimateDiff部分的最后一篇,则是要学习一些进阶的操作。

不废话直接进入正题。

图片生成视频:

找一张比较喜欢的图片丢进图生图区域:

《一张图片=一段动画(Stable Diffusion进阶篇:AnimateDiff动画插件3)》- 投稿作者:简历白纸一张 - 发布于:GetAI社区

然后和之前的两篇文章一样在下方进行AnimateDiff的参数设置,为了确保动画风格和原图一致,这里必须选一个风格相近的大模型。

与此同时重绘幅度最好在0.75以上,其他参数可以参考下图:

总帧数16、帧率8、插值次数3、帧插值FILM。

《一张图片=一段动画(Stable Diffusion进阶篇:AnimateDiff动画插件3)》- 投稿作者:简历白纸一张 - 发布于:GetAI社区

与此同时在提示词中也可以加入一些来描述画面的提示词,尤其是有关画面运动和变化的例如翻动的裙摆fluttering skirts,移动的云层moving clouds,飞舞的花瓣flying petals。

《一张图片=一段动画(Stable Diffusion进阶篇:AnimateDiff动画插件3)》- 投稿作者:简历白纸一张 - 发布于:GetAI社区

这样一来就完成了一个简单的图生视频操作,其实最简单的可以是先在文生图中生成一个想要绘制的图片,然后再放到图生图中进行上面的操作。

这个要做成动画的图片也不一定是得AI画出来的,也可以用现实拍摄的照片。而且AnimateDiff也不仅可以生成插画风格的图片,真实照片风格的也可以。

不过目前这种图生动画有一个问题,就是生成出来的东西有的时候和原图不太像。

《一张图片=一段动画(Stable Diffusion进阶篇:AnimateDiff动画插件3)》- 投稿作者:简历白纸一张 - 发布于:GetAI社区

这也是因为导入后的图片会经过一次SD的图生图,然后再到AnimateDiff制作动画。

再者可能有同学发现了动画到最后部分会变得和原图越来越不像,这也是因为AnimateDiff会随着时间推移向图片添加噪声来促使图片“动起来”。

当然这个也有解决方案:

《一张图片=一段动画(Stable Diffusion进阶篇:AnimateDiff动画插件3)》- 投稿作者:简历白纸一张 - 发布于:GetAI社区

这个Latent power和Latent scale就是用来协助控制动画基于原图变化的幅度:Power越小Scale越大:动画基于原片演化的幅度就越小,反之幅度越大。

因为这个参数对图像的影响和时间(帧数)相关,且这个是指数性的。

如果想让动画和原图更像,那么把重绘幅度调到0.6-0.7,power降低到0.8-0.9,Scale提高到48-64,并且总帧数不要超过16。

但是这么做会让动画受到一定的限制,就是看起来好像没怎么动一样。

当然如果只是想要让图片大概动起来对于像不像没太大执念的话,可以去看一下文末的链接,那里面有其他的详细参数。

这个时候可能有小伙伴注意到了AnimateDiff不仅能上传图片还能上传视频:

《一张图片=一段动画(Stable Diffusion进阶篇:AnimateDiff动画插件3)》- 投稿作者:简历白纸一张 - 发布于:GetAI社区

这个就是可以让一个视频生成为动画,一般推荐去文生图中进行操作。

在视频上传后系统会自动同步视频的总帧数和帧率

《一张图片=一段动画(Stable Diffusion进阶篇:AnimateDiff动画插件3)》- 投稿作者:简历白纸一张 - 发布于:GetAI社区

如果是跟我一样视频比较长的,最好去用个剪辑软件把帧率降低一下,降到15帧左右比较好。

接下来就是照常写提示词的部分,不过有趣的地方在于可以选择是否要开启Lora。与此同时可以打开ControlNet来进一步控制视频中角色的动作、姿势、形象等,只需要打开ControlNet不需要上传图片:

《一张图片=一段动画(Stable Diffusion进阶篇:AnimateDiff动画插件3)》- 投稿作者:简历白纸一张 - 发布于:GetAI社区

这样一来点击生成就可以制作出动画了

《一张图片=一段动画(Stable Diffusion进阶篇:AnimateDiff动画插件3)》- 投稿作者:简历白纸一张 - 发布于:GetAI社区

虽然说和之前学习的视频重绘很像,但是AnimateDiff的特性可以让动画更加连贯,基本上不会有闪烁出现。

如果想要更好的还原视频的话就需要把视频导出为帧序列,然后在图生图中进行批量处理,这里的思路和Mov2Mov一致,感兴趣的小伙伴可以翻翻我之前的笔记:

(Stable Diffusion进阶篇:AI动画-Mov2Move)

这种操作在ComfyUI中进行会更加合适一些。

当然AnimateDiff还有一个很厉害的地方,就是视频可以无缝演化变化。

这个要归功于一个很厉害的功能:Prompt Travel

在之前我们提到过动图的绘制主要基于输入的提示词决定,如果视频足够长的话可以通过特定的语法结果控制AI在特定的帧数内绘制一组提示词,然后在帧数到达一定数值之后自动切换到另一组提示词上。‍‍‍

例如我先生成一个动图:

《一张图片=一段动画(Stable Diffusion进阶篇:AnimateDiff动画插件3)》- 投稿作者:简历白纸一张 - 发布于:GetAI社区

然后在正面提示词那里换行输入第二段提示词:

《一张图片=一段动画(Stable Diffusion进阶篇:AnimateDiff动画插件3)》- 投稿作者:简历白纸一张 - 发布于:GetAI社区

这个0:close eyes代表着第0帧是闭上眼睛的,8:open eyes代表着第八帧睁开眼睛。

《一张图片=一段动画(Stable Diffusion进阶篇:AnimateDiff动画插件3)》- 投稿作者:简历白纸一张 - 发布于:GetAI社区

这样是不是很好理解,当然还可以进行一些进阶操作:
0: close eyes, worried, no_expressions,

8:open eyes, smile,

16: laughing, looking at viewer,

当然AI是具有随机性的,如果结果不满意还可以把种子随机后多试几次。只要总帧数够长,那这个Travel也能更多样化。

可以复制粘贴一段原教程UP给的提示词:

best quality,masterpiece,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,

32:(autumn:1.2), falling leaves, maple leaf, yellow trees, orange theme

48:(winter:1.2), snowing, snowflakes, white theme,

负面:nsfw,(worst quality:2),(low quality:2),(normal quality:2), lowres, watermark,

《一张图片=一段动画(Stable Diffusion进阶篇:AnimateDiff动画插件3)》- 投稿作者:简历白纸一张 - 发布于:GetAI社区

总帧数改为60且重叠为2

这样就能生成一段一年四季的动画了。

目前还有一些其他的东西可以结合AnimateDiff使用,主要是一些辅助组件例如Motion LoRA。

这个Motion LoRA是AnimateDiff的开发者们额外训练的一系列可以辅助控制镜头运动轨迹的LoRA模型。

《一张图片=一段动画(Stable Diffusion进阶篇:AnimateDiff动画插件3)》- 投稿作者:简历白纸一张 - 发布于:GetAI社区

https://huggingface.co/conrevo/AnimateDiff-A1111/tree/main/lora

一共有八个motion LoRA,对应不同方向的移动和旋转缩放,用的时候就像用普通的LoRA一样加入提示词即可,下载放置的地方也和普通LoRA一致。

但是有几点也需要注意,如果想要塑造镜头的位移变化,那么闭环里面最好选N

《一张图片=一段动画(Stable Diffusion进阶篇:AnimateDiff动画插件3)》- 投稿作者:简历白纸一张 - 发布于:GetAI社区

其次这些LoRA是基于V2模型训练的,所以也只能搭配V2的运动模型使用(此前的演示什么的都是V3模型)。

还有一点是Motion LoRA有时可能会出现明显的素材水印,目前作者推荐适当减低LoRA权重可以降低水印出现的概率。

V3版本的运动模型出现的时候作者也更新了一个Domain Adapter的域适配器LoRA,这是一个在视频的“静态帧”上训练的模块,作用于在让生成专注运动部分的建模。

这个模型可以让动画里的动作更加自然,也能消除诸如水印这样的负面特性,不过这个只能搭配V3运动模型使用。高权重下画面会比较稳定,但是也会降低运动的多样性。


今天的内容就到这里结束啦!

其实这个AnimateDiff插件的操作并不难,主要是后续自己的不断探索才是最有趣的。

想必现在很多小伙伴学会了如何使用AnimateDiff之后会诞生一些比较不是那么适合说出来的想法。

我首先要说的是互联网不是法外之地。

其次做完请私信我帮你看看,我可以免费帮忙看看有什么需要改进的。

那么大伙就下篇笔记见啦,我自己也要去实践一番了。

《一张图片=一段动画(Stable Diffusion进阶篇:AnimateDiff动画插件3)》- 投稿作者:简历白纸一张 - 发布于:GetAI社区

best quality,masterpiece,1girl, upper body,detailed face, looking at viewer, outdoors, upper body, standing, outdoors,

Negative prompt: nsfw,(worst quality:2),(low quality:2),(normal quality:2), lowres, watermark,

  • Steps: 30
  • Sampler: Euler a
  • CFG scale: 7
  • Seed: 2524737395
  • Size: 512×512
  • Model hash: e4a30e4607
  • Model: majicmixRealistic_v6
  • Denoising strength: 0.7
  • ENSD: 31337
  • Hires upscale: 2
  • Hires upscaler: R-ESRGAN 4x+
  • Version: v1.7.0

本篇部分参考素材来源

原教程链接(进阶玩法参数):

https://www.bilibili.com/video/BV1zS421A7PG/?spm_id_from=333.1007.top_right_bar_window_history.content.click&vd_source=f18a24315a35799d8d1912ad50652d90

Motion LoRA下载链接:

https://huggingface.co/conrevo/AnimateDiff-A1111/tree/main/lora

1

评论0

请先
显示验证码