ai软件可以做gif动画 AIGC初体验——教你制作会*blinking*的AI萌妹

默认分类1年前 (2023)发布 admin
2,032 0
ChatGPT国内版

上一期我们介绍了插件,它能够帮助我们融合不同的LoRA模型。本期我们想聊一下文生动画(),用到的是这个插件,这想想就“泰库辣”。值得注意的是,最近官方刚出的文生动画 SDK也是基于此的,本期将带你入门文生动画——新世界。

是用于制作动画的开源免费软件。它使用的图生图功能生成一系列图像并将它们拼接在一起以创建视频。它将小的转换应用于图像帧,并使用图像到图像函数来创建下一帧。由于帧之间的变化很小,因此会产生连续视频的感觉。

先看看我们的成果,不足之处请多多包涵啦~

是不是很卡哇伊呢。本期迹寒就教大家生成这样的动画(建议具备SD基础知识,比如文生图等,可以参看往期公众号文章)。本期主要内容如下:

一、下载和安装

下载方式有两种,一种是在“扩展-从网站安装”输入/-art/sd-webui- /就可以安装了;另一种是在项目主目录下输入

git clone https://github.com/deforum-art/sd-webui-deforum extensions/deforum

会被安装到目录下。安装完之后一定要重启sd进程!仅仅应用更改并重启前端是不够的。

如果成功的话,我们可以看到选项卡上多了一个选项:

问题&解决

笔者初次启动的时候遇到下面问题,: ‘s’

原因是版本太低,解决办法是升级到最新版本。先删除原来的文件夹,再在目录下重新安装:

git clone

笔者使用的版本是v1.1.200

二、基础使用与参数设置

本小节详细讲一下常见参数设置。觉得内容过于的同学可以先到第三节生成动画玩一玩。

(1)运行参数

我们来看看“运行参数”选项卡,这里包括了我们需要设置的基本参数,由于和文生图的参数很像,我们就不赘述了。

下面是批处理模式的相关设置,需要用的时候再设置:

(2)关键帧

“关键帧”选项卡提供了有关视频的所有的关键参数,由于参数非常多,我们将花比较多的篇幅在这一节。

什么是关键帧呢?指角色或者物体运动变化中关键动作所处的那一帧,相当于二维动画中的原画。要想做好动画,很重要的一点是弄清楚关键帧语法。下面是一个例子:

0:(x), 12:(y)

“0:”和“12:”分别表示帧数,x和y表示内插变量值(例如像素、CFG、重绘幅度等),也可以是函数表达式,例如:

0:(1.02+0.02*sin(2*3.14*t/20)), 12:(0.5+0.02*sin(2*3.14*t/20))

我们也可以控制某个参数在一定帧范围内不变:

0:(x), 6:(x), 12: (y)

从第0帧到第6帧,x保持相同值,其余同上。

主要设置:

我们看看这些参数分别是什么含义:

生成间隔:在进行扩散(调用SD模型)前要跳过多少帧。设置为1是每一帧扩散。生成间隔越小,扩散越均匀。视频输入和插值模式不受此参数的影响。

引导图像:在不同的帧数采用不同的图像进行引导。

下面是一些和图生图相关的参数,它们都可以逐帧设置:

当设置为固定模式时,3D和2D模式会过度膨胀。Iter或随时间变化的时间表做得更好。

下面是一些有实际意义的参数,包括运动参数、噪点参数等。在我们继续深入之前,先弄清楚坐标是如何表示的,如下图所示,x是宽度,y轴是高度,z轴是深度。

运动参数:

注意:在视频输入模式下,将没有运动参数选项,也没有总帧数设置。

官方指南也提供了丰富的例子供参考。

噪声参数:

ai软件可以做gif动画 AIGC初体验——教你制作会*blinking*的AI萌妹

噪声并不是指一堆无意义的噪点。在计算机视觉领域,当我们想生成看似杂乱但是自然有序的内容(例如火焰,大理石纹理,云彩),就需要噪声。

如果不需要的话可以将噪点值设为0.

(3)提示词

在提示词选项卡,我们指定关键帧的提示词。

其语法如下:

{    "0": "Prompt A --neg NegPompt"    "12": "Prompt B" }

其中 “0”和 “12”表示关键帧,提示以插值的方式嵌入。提示A和B是正面提示,是负面提示。

注意:所有帧提示词必须用花括号抱起来,最后一行提示词结尾没有“,”

下面是一个例子:

//默认例子, 注意在第一个提示词函数内()中的' ' 函数语法{    "0": "(scenic countryside:1.0), (cherry:`where(cos(6.28*t/10)>0, 1.8*cos(6.28*t/10), 0.001)`), (strawberry:`where(cos(6.28*t/10)<0, -1.8*cos(6.28*t/10), 0.001)`), snow, detailed painting by greg rutkowski --neg (cherry:`where(cos(6.28*t/10)0, 1.8*cos(6.28*t/10), 0.001)`)",    "60": "a beautiful (((banana))), trending on Artstation",    "80": "a beautiful coconut --neg photo, realistic",    "100": "a beautiful durian, trending on Artstation"}

另外,全局提示词能够对所有帧产生作用,如下所示:

小技巧:

觉得每次输入参数很麻烦?

我们可以将参数保存到文件中例如“.txt”,然后将文件的相对或绝对路径输入到页面右下角文本框中:

初始时点击储存设置,那么所有参数会被写入文件。

下一次点击载入所有设置那么设置会被载入。

是不是很方便呢?

(4)初始化

初始化选项卡正如其名,包括了“图像初始化”、“视频初始化”和“掩膜初始化”三项。

图像初始化:使用一张图像来初始化你的动画,可以是路径或者URL;

参数定序器:高级用法,详细请参阅

视频初始化:使用一系列视频来初始化你的动画,可以是路径或者URL;我们可以规定开始帧和结束帧(-1表示最后一帧),设定提取帧的间隔。

蒙版初始化:与蒙版相关的初始化操作。

需要注意的是这里的蒙版是一张图像,类似这样:

(5)视频合成

在视频合成中,

混合合成是关闭的。没有视频会被混合到渲染中。即使没有启用混合合成模式,也可以使用生成的输入帧来传输混合运动。

如果使用的是混合运动,在视频合成之前,运动会对之前的图像进行扭曲。其目的是在视频移动时以同样的方式对前一个图像进行扭曲,这样当合成发生时,它就已经排好队进行混合。

在混合合成的alpha值为1时,运动将完全不被转移,因为视频将以全alpha值混合并覆盖运动扭曲的前一个图像。

在这种模式下,合成发生在任何混合运动之前。

这允许你做的事情,如混合视频的α值为1,并仍然使用混合运动翘曲整个框架。通常情况下,comp alpha 1会覆盖混合运动的任何运动。

在这种模式下,合成被移到过程的最后,在渲染完成后。这里的区别是,如果你将视频混合在50%的位置,你将看到50%的实际视频被混合进来,因为它不是在生成前被混合到之前的图像中,而是在生成完成后被混合。然而,这一帧会在下一个周期作为前一个图像返回。

(6)输出设置

包括一些常见的视频输出设置:

可以根据个人需要“跳过视频生成”、“删除图像”、“制作GIF文件”或“图像放大”等待,总之显卡够用就行。下面这些选项卡是独立的:

包含非常实用的工具:

输出的文件夹中包含MP4文件,图像关键帧和配置文件。

ai软件可以做gif动画 AIGC初体验——教你制作会*blinking*的AI萌妹

默认的文件名为时间戳,可以点击“运行参数——文件名”,来设置成需要的文件名:

支持的后缀有:

三、玩一玩

我们现在来玩一玩,体验一下文生动漫的快乐~

(0)默认动画

如果你很懒,什么都不想改,直接点生成的话。那么得到的就是默认动画。

一只兔子先变成了猫,再变成椰子最后变成榴莲。并且画面在不断放大。

看完之后,大家是什么感觉呢?

可能有两类观众:一种认为这种动画太抽象,似乎有一种变幻莫测的感觉,在某些时刻才能认出这是什么东西;

另一类观众则对这种新奇的动画形式颇有兴趣,在千变万化中更能抓住读者的眼球。

笔者认为,当前AI动画仍在发展之中,随着AI技术的进步,生成式动画将越来越丝滑,越接近我们普遍认知的“动画”印象。

如果生成视频时间过长,可以提前点击“中止”,这样就会把当前生成的结果汇总生成一个视频文件。这样可以起到预览的效果。

(1)2D动漫人物

想让女神对你抛媚眼,?很简单,首先我们生成一张好看的照片:

可以选择一张初始图象(输入路径)

也可以不选择,看你自己~

然后设定提示词。因为画面的主体是人物上半身,我们假定动作的部分只有表情。所以我们可以这样设置提示词:

{    "0": "smile, opened eyes",    "20": "smile, closed eyes",    "30": "blush, opened eyes",    "40": "blush,  closed eyes"

(采用模型,生成gif)

上面的动画,笔者均设置20的迭代步数,所以看起来噪点比较多。正式出图的时候迭代步数应该不小于30.

同理你也可以用3D模式生成真人,大家可以自己下去尝试~

下面是我自己做的一个动画,配上了简单的音乐(BGM:「One more time One more 」):

(2)使用视频输入

如果需要用视频作为输入,那么步骤相对会严格一些。首先我们在“关键帧”选下看模式选择视频输入:

然后我们转移到初始化选项卡。首先在视频选项卡输入视频的路径,以及掩模视频的路径(如果有):

提取帧从0(第一帧)开始,到-1(最后一帧)结束,提取间隔设置为2,这样生成速度快些。之后务必要设置初始化图像,一般为初始视频的第一帧:

如何获取第一帧图像?

我们可以选择选项卡,点击启用。

输入原始视频路径,然后点击生成。基本上出现进度条就表示帧提取完成,在输出文件夹应该有一个“ames”文件夹,里面能看到我们需要的帧。

之后我们填入提示词,比如

最后我们可以配上音乐。你可以选择用剪辑软件(如Pr)或者利用自带的音乐添加工具:

生成视频效果如下,花了比较多的时间的:

四、总结

的使用还是很复杂的,但往往能创作一些很震撼的作品。它能够将小的转换应用于图像帧,并使用图像到图像函数来创建下一帧。由于帧之间的变化很小,因此会产生连续视频的感觉。但是和真正的视频还有很大差距。不过考虑是免费插件,迹寒还是很赞的,毕竟之前从来没有文生动画的工具。

原理是在特定帧结合进行扩散,控制运动参数等等,达到一种变幻莫测的效果;用户也可以利用已有视频进行生成,类比“图生图”,使得主体更加连贯。

限于笔者水平,有些遗漏之处还在慢慢研究改进,希望大家能多一些包容和鼓励。本期就到这里啦。下一期的话讲什么还没想好,请持续关注哟~

我是迹寒,下期再见!

© 版权声明
广告也精彩

相关文章

暂无评论

暂无评论...