您的位置:首页 > 动漫 >

环球最新:人工智能文本转图像模型 Deforum Stable Diffusion 动画教程

之前写了一篇人工智能文本转图像模型 Stable Diffusion 入门教程,主要讲解了使用 Stable Diffusion 通过文本生成图像的操作方法,重点讲解了 Stable Diffusion WebUI 1.4 和 pharmapsychotic Stable Diffusion 两个版本的使用方式,今天为大家介绍一下 Deforum Stable Diffusion v0.5,重点讲解如何使用 Deforum Stable Diffusion 制作动画视频。


(资料图片)

Deforum Stable Diffusion v0.5 是由 Deforum 团队制作的一个支持动画视频功能的 Google Colab 版的 Stable Diffusion,可以通过 Google Colab 在线运行,也可以部署到本地运行。Deforum 支持生成图片、动画视频,支持添加参考图、参考视频,与之前介绍过的几个版本相比,它的功能更为全面,也包含一些新的小功能,即使不是为了制作动画,Deforum 也是一个很好的选择。

Deforum Stable Diffusion v0.5 支持 2D、3D、Video Input 和 Interpolation 四种动画模式,下面就逐一进行讲解,最后讲解文本转图像、图像转图像等基础功能。因为中间穿插了一些知识点,建议仔细阅读全文。

准备工作

在 Google Colab 平台使用 Stable Diffusion 需要调用官方模型,也就是「sd-v1-4.ckpt」这个文件(目前的版本),如果你之前在 Google Colab 成功运行过任意版本的 Stable Diffusion,那么这个模型就已经成功下载到你的谷歌云盘了,可以直接运行 Deforum Stable Diffusion如果你之前没有使用 Google Colab 运行过 Stable Diffusion,请参考人工智能文本转图像模型 Stable Diffusion 入门教程内的「04.01.-04.14.」成功运行一遍 Stable Diffusion WebUI 1.4 自动下载「sd-v1-4.ckpt」文件或参考教程内的「05.01.-05.06.手动下载「sd-v1-4.ckpt」文件并上传至谷歌云盘。

入门教程

1. 打开 Deforum Stable Diffusion v0.5(https://colab.research.google.com/github/deforum/stable-diffusion/blob/main/Deforum_Stable_Diffusion.ipynb),若未自动登录谷歌账号请点击页面右上角「登录」按钮,登入你的谷歌账号

2. 点击复制到云端硬盘」或点击「文件」选择「在云端硬盘中保存一份副本」。

3. 副本创建完成会自动打开新的标签页或出现「笔记本的副本已完成」弹窗,点击在新标签页中打开」。

4. 点击「“Deforum_Stable_Diffusion.ipynb”的副本」修改笔记本名称(可按创作主题或其他方式命名,方便后期修改和区分,之后可以通过云盘的这个副本文件直接运行程序)。

5. 点击页面右上角「连接」按钮连接 GPU,连接成功后此位置会显示「RAM 磁盘」字样和容量。

6. 点击Setup」前方的小三角收起单元格,点击「已隐藏5个单元格」前方的圆形按钮运行「Setup」。

7. 弹出「允许此笔记本访问您的 Google 云端硬盘文件吗?」的窗口,点击连接到 Google 云端硬盘」。

8. 弹出「登录 - Google 账号」窗口,选择你的谷歌账号点击允许」。

9. 「已隐藏5个单元格」前方的圆形按钮开始转圈表示正在运行准备程序,等待几分钟后圆圈停止转动表示运行完毕。

2D 动画教程

10.1.1. 参考下图设置2D动画参数,设置完成后点击「Animation」前方的圆形按钮运行「Animation Settings」,运行完成后该单元格前方会出现绿色对钩。

上图为 2D 动画使用的主要参数,其中也包含一些通用参数,我先对一些概念简单做一下说明。

帧率,就是每秒播放多少帧画面,生成的每一张图就是一帧,Deforum 的默认帧率是每秒 12 帧,这也是常规定格动画的帧率,最低可以设置为每秒 8 帧,再低可能画面就不太连贯了,电影常用的帧率是每秒 24 帧,电视剧和综艺节目常用的帧率为每秒 25 帧或每秒 30 帧,目前每秒 30 帧的帧率应该是比较普遍的标准,通常意义来讲,帧率越高画面越流畅,所以有些高画质的电影或游戏也常用每秒 60 帧或每秒 120 帧的帧率。

回到 Deforum,假如你要制作一个时长 10 秒的动画,采用 12 帧/秒需要生成 120 张图片,采用 24 帧/秒需要生成 240 张图片,采用 30 帧/秒需要生成 300 张图片,采用 60 帧/秒需要生成 600 张图片。按我上图中的参数设置,生成一个时长 10 秒 12 帧/秒的尺寸为 1024x512 的动画视频用时 40 分钟左右(使用的是 T4 GPU),更高的帧率意味着更长的渲染时间,所以我建议使用12帧/秒,如果要求高一点可以采用 25 帧/秒或 30 帧/秒,最好提前预估一下渲染时长是否可以接受。

虽然帧率是渲染完成后可以随意更改的,因为渲染完成后你得到的是一堆序列图片,可以按任意帧率生成视频,但还是建议提前计划好帧率,计算好总帧数,然后按照总帧数设置动画关键帧。因为渲染完成后修改帧率会导致时长发生变化,那么动画就会加速或者减速,可能会影响观感。

关键帧,2D 和 3D 动画采用的都是关键帧动画,参数栏中包含「0:(0)」如此格式的参数都可以设置关键帧,前面的数字表示帧数,括号中的数字表示具体参数。示例,translation_x: 0:(0), 50:(2), 100:(2), 119:(-8)关键帧参数需用逗号隔开关键帧需从小到大依序排列,例如「0:(0), 50:(2)」表示第 0 帧镜头向左移动0像素,第 1 帧镜头向左移动 0.04 像素,第 2 帧镜头向左移动 0.08 像素,第 3 帧镜头向左移动 0.12 像素...第 25 帧镜头向左移动 1 像素...第 50 帧镜头向左移动 2 像素,例如「50:(2), 100:(2)」表示第 50 帧至第 100 帧每一帧镜头都向左移动 2 像素,总结就是前后两个括号内的数字不同为递增或递减的变速运动前后两个括号内的数字相同为匀速运动

注意帧数是从第 0 帧开始命名的,所以一个总帧数为 120 帧的动画其帧数是从第 0 帧到第 119 帧,如果末尾也有动画效果最后一个关键帧需要设置在第 119 帧。如果一个参数只设置了第 0 帧的参数,那么全程每一帧都会保持第 0 帧的运动方式,比如 zoom: 0:(1.04) 表示每一帧都放大 1.04 倍。

注意上图中的参数运动方式我是以镜头为标准进行注释的,镜头的运动方向和画面的运动方向是相反的,我是假设有一个摄像机对着画面,注释的运动轨迹为摄像机的运动轨迹。

上图中 flip_2d_perspective 为 2D 模拟 3D 运动的 2.5D 效果,勾选后生效,有 4 个参数可调,我简单试验了一下,效果有点迷惑,不太好描述,就没有做解释,一般不需要启用这个功能,有兴趣的可以自己摸索一下。

上图中 strength_schedule 为参考强度,2D 和 3D 动画每一帧都是以前一帧为参考图配合动态参数进行渲染的,strength_schedule 的范围是 0-1,当设置为 0 时即为每一帧都不参考前一帧,假如总步数为 50 那么每一帧都会使用 prompt 渲染 50 步,所以画面的变化会非常大,无法做到连贯,当设置为 1 时,随着帧数的变化画质会越来越差,设置为 0.2 时会使用 prompt 渲染 40 步,设置为 0.5 时会使用 prompt 渲染 25 步,设置为 0.8 时会使用 prompt 渲染 9 步,值越大每帧画面越靠近前一帧,但是过大画面会逐渐失去细节变模糊,值越小画面越清晰,但是过小画面变化会过大导致画面不连贯,因此建议将此参数设置在 0.55-0.65左右。

2D 动画只需要设置上图中有注释的参数即可,其他功能无需设置,大部分功能即使设置了在 2D 模式下也不会生效。

10.1.2. 设置Prompts,在下图中 animation_prompts处填写 prompts,prompts 前方的数字表示帧数,这里就是设置从多少帧开始更换 prompt,以下图为例,从第 0 帧至第 49 帧会使用第一个 prompt 进行渲染,从第 50 帧至最后一帧会使用第二个 prompt 进行渲染,prompts 的数量没有限制,可根据需要设置,注意按帧数从小到大依次填写,注意保持格式,不要漏掉引号或逗号等内容(上方的 prompts 为图片的 prompts,在动画模式下不会生效,不用管)。设置完成后点击「prompts」前方的圆形按钮运行「prompts」,运行完成后该单元格前方会出现绿色对钩。

10.1.3. 参考下图设置图像参数,Google Colab 免费用户建议将尺寸设置为 1024x512或更小尺寸,尺寸过大会导致显存不足报错;使用随机种子每次运行生成的效果都不太一样,不利于动画的修改,建议先使用第一个 prompt 跑出一张满意的图作为第 0 帧,然后使用这张图的种子,种子模式设置为 iter 后整个动画每一帧的种子就是在前一帧的基础上加 1,是一串固定的种子,这样方便对动画效果进行调整,但需要注意的是即使是一串固定的种子,也可能会由于参数的一些调整造成画面有一些明显的变化,这是不可避免的,如果想保持之前的状态进行微调,请注意参数的调整幅度要小一点,否则会大变样;共有 8 种采样模式可供选择,相同的 prompt 使用不同的采样模式效果略有差异,据说每个模式在特定的主题下会产生比较好的结果,大家可以自行尝试一下,个人体验是使用 euler_ancestral 模式在大部分主题下都能产生比较不错的画面效果和比较好的画质,所以推荐大家使用这个模式制作动画视频;种子共有三种模式,分别是 iter、fixed 和 random,iter 模式上面介绍过了,fixed 就是从头到尾每一帧都使用相同的种子,不适合运动画面,random 就是随机种子,但是如果指定了第 0 帧的种子,那么虽然是一串随机的种子但是每次重新运行都还会是相同的一串随机种子,所以选择 random 制作 2D 动画也是可以的。 设置完成后点击「Load Settings」前方的圆形按钮运行「Run」,就开始逐帧渲染图片了。

10.1.4. 当「Run」单元格末尾出现图片和进度条,单元格前方的圆形按钮开始转圈则表示渲染正在进行中,每一帧渲染完成后都会依次显示在此处,图片下方显示的是正在渲染中的图片参数,包括帧数、种子值、文本描述、各项动态参数和渲染进度及渲染时间等信息,过程中注意保持网络连接通畅,若发现网络中断,比如单元格前方的按钮变成红色,或者页面右上角显示正在分配、重新连接等字样,先不要慌张,请先确认你的网络连接是否正常,如果正常,可以在页面空白处点击几下,滑动一下页面,通常会自动恢复连接,如果网络连接正常但网页显示不正常,请先查看云端硬盘是否有新的图片生成,如果有也不用处理,稍后网页会恢复正常,如果网络确认中断了,请及时重新连接网络,网络正常后点击页面右上角「重新连接」重新连接 GPU,一般短暂的网络中断重新连接后也会自动恢复正常,如果重新连接后无法继续渲染可以使用 Resume Animation 功能接着渲染,这个功能我在下文讲解。全部渲染完成后单元格前方会出现绿色对钩。

10.1.5. 取消勾选skip_video_for_run_all和 render_steps」后点击「skip_video_for_run_all」前方的圆形按钮,就开始通过序列帧生成视频了,默认帧率为每秒 12 帧,如果想设置其他帧率可直接在 fps 处修改,修改后再运行该单元格即可,生成的视频会展示在此单元格下方,也会自动保存在相应的文件夹里。生成完毕后单元格前方会出现绿色对钩,如果下方仍然没有出现视频,可以去云盘相应的文件夹内查看视频文件

10.1.6. 如果对效果不满意可以重新修改参数,修改过参数的单元格都需要重新运行一遍点击单元格前方的圆形按钮运行即可,参数修改完毕并重新运行后,重新运行「Run」单元格就开始重新渲染了,渲染过程中发现不满意可以随时点击单元格前方的按钮中断渲染,然后继续修改参数,再重新运行「Run」,重新渲染的图片和之前的图片会保存在同一个文件夹内,如果想分开保存可以修改 batch_name 后再运行「Run」,这样重新渲染的图片会保存在新的文件夹里。

10.1.7. 由于 GPU 的限制我们可能无法直接生成大尺寸的图片和视频,所以动画制作完成后我们可以把序列图片下载到本地,图片在云盘默认的保存在 AI/StableDiffusion/2022-月份 内相应的文件夹里,之后我们可以通过 Real-ESRGAN或者 Topaz Gigapixel AI等工具对序列图片进行智能放大,然后再通过 AE 或者 PR 等工具合成视频,你也可以进行一些后期加工处理,这样我们就得到高质量的视频啦。如果不进行后期放大和加工你就只能得到一个 1024x512 左右的小视频咯。使用 Real-ESRGAN 可以参考我的盲图像超分辨率模型 Real-ESRGAN 使用教程,Topaz Gigapixel AI 是一个电脑软件,大家可以下载后直接根据界面提示操作。

上方为我使用前文参数生成的 2D 动画视频,我用 Topaz Gigapixel AI 将视频尺寸从 1024x512 放大至了 2560x1280,因为是为教程制作的动画,所以时长较短,运动范围略大,如果帧数多一些画面会更加流畅,内容也会更连贯。(平台压缩了画质)

3D 动画教程

10.2.1. 参考下图设置 3D 动画参数,设置完成后点击「Animation」前方的圆形按钮运行「Animation Settings」,运行完成后该单元格前方会出现绿色对钩。

上图为 3D 动画使用的主要参数,图中未列出参数对 3D 动画不起作用,2D 动画的 zoom 缩放功能由 translation_z 前后移动代替,前后移动同时也就起了放大缩小的效果,fov为视场,值越大运动幅度越小,透视形变越小,我这里使用的是默认值 40,大家可以看我后面的视频体会一下效果,fov 值不可为 0,建议 40-100左右,未作说明的参数建议使用默认值。

10.2.2. 设置Prompts,在下图中 animation_prompts处填写 prompts,prompts 前方的数字表示帧数,这里就是设置从多少帧开始更换 prompt,prompt 的数量没有限制,可根据需要设置,注意按帧数从小到大依次填写,注意保持格式,不要漏掉引号或逗号等内容(上方的 prompts 为图片的 prompts,在动画模式下不会生效,不用管)。设置完成后点击「prompts」前方的圆形按钮运行「prompts」,运行完成后该单元格前方会出现绿色对钩。

10.2.3. 参考下图设置图像参数,Google Colab 免费用户建议将尺寸设置为 1024x512或更小尺寸,尺寸过大会导致显存不足报错。设置完成后点击「Load Settings」前方的圆形按钮运行「Run」,就开始逐帧渲染图片了。

10.2.4. 当「Run」单元格末尾出现图片和进度条,单元格前方的圆形按钮开始转圈则表示渲染正在进行中,每一帧渲染完成后都会依次显示在此处,图片下方显示的是正在渲染中的图片参数,包括帧数、种子值、文本描述、各项动态参数和渲染进度及渲染时间等信息,全部渲染完成后单元格前方会出现绿色对钩。

10.2.5. 取消勾选skip_video_for_run_all和 render_steps」后点击「skip_video_for_run_all」前方的圆形按钮,就开始通过序列帧生成视频了,默认帧率为每秒 12 帧,如果想设置其他帧率可直接在 fps 处修改,修改后再运行该单元格即可,生成的视频会展示在此单元格下方,也会自动保存在相应的文件夹里。生成完毕后单元格前方会出现绿色对钩,如果下方仍然没有出现视频,可以去云盘相应的文件夹内查看视频文件

10.2.6. 如果对效果不满意可以重新修改参数,修改过参数的单元格都需要重新运行一遍点击单元格前方的圆形按钮运行即可,参数修改完毕并重新运行后,重新运行「Run」单元格就开始重新渲染了,渲染过程中发现不满意可以随时点击单元格前方的按钮中断渲染,然后继续修改参数,再重新运行「Run」,重新渲染的图片和之前的图片会保存在同一个文件夹内,如果想分开保存可以修改 batch_name 后再运行「Run」,这样重新渲染的图片会保存在新的文件夹里。

10.2.7. 由于 GPU 的限制我们可能无法直接生成大尺寸的图片和视频,所以动画制作完成后我们可以把序列图片下载到本地,图片在云盘默认的保存在 AI/StableDiffusion/2022-月份 内相应的文件夹里,之后我们可以通过 Real-ESRGAN或者 Topaz Gigapixel AI等工具对序列图片进行智能放大,然后再通过 AE 或者 PR 等工具合成视频,你也可以进行一些后期加工处理,这样我们就得到高质量的视频啦。如果不进行后期放大和加工你就只能得到一个 1024x512 左右的小视频咯。使用 Real-ESRGAN 可以参考我的盲图像超分辨率模型 Real-ESRGAN 使用教程,Topaz Gigapixel AI 是一个电脑软件,大家可以下载后直接根据界面提示操作。

上方为我使用前文参数生成的 3D 动画视频,我用 Real-ESRGAN 将视频尺寸从 1024x512 放大至了 2560x1280,noise_schedule 设置成了 0.04 对这个视频来说可能有一点点略高,直出的图片噪点稍微有一点点多,用 Real-ESRGAN 放大后把噪点都自动处理掉了,画面干净了许多。(平台压缩了画质)

Video Input 参考视频动画教程

10.3.1. 参考视频动画需要先将参考视频上传至谷歌云盘或者 Google Colab,建议上传至谷歌云盘,因为云盘上传速度比较快,另外就是上传到 Google Colab 是一次性的,如果中间网络中断或是一次没有做完想下次接着做就需要重新上传一次。登录你的谷歌云盘,新建一个 init 文件夹或者打开任意文件夹,将你的参考视频上传至这个文件夹内。(请先将参考视频的画面比例调整至输出视频的画面比例,否则参考视频会按设置的画面比例进行拉伸变形)

10.3.2. 点击页面左侧边栏第四个「文件图标展开文件窗口,找到你的参考视频,点击参考视频后方的三个小圆点,点击复制路径。(如果想将参考视频上传至 Google Colab 也可以直接将视频拖至文件窗口的空白处,上传完成后复制路径即可)

10.3.3. 上一步复制的路径粘贴至图中位置,将动画模式设置为 Video Input设置抽帧参数,我们的参考视频有可能是 30 帧/秒的视频,假如时长为 10 秒,参考视频就有 300 帧,如果我们只需要做一个 15 帧/秒的视频,那就不需要那么多帧,我们就可以进行抽帧,将参数设置为 2,就只剩下了 150 帧,这 150 帧将作为参考图片供我们渲染 150 张图片,最后就可以合成一个时长为 10 秒 15 帧/秒的视频了。我们可以利用抽帧控制总帧数,所以调试阶段可以将这个值设置的高一点,这样可以尽快的看到整个动画各个阶段的效果,如果效果满意了再将参数调低,生成最终的视频,这样可以节约一些时间。Video Input 模式一般只要设置下图中注释的三个参数即可,其他参数在该模式下均无效果。设置完成后点击「Animation」前方的圆形按钮运行「Animation Settings」,运行完成后该单元格前方会出现绿色对钩。

10.3.4. 设置Prompts,在下图中 animation_prompts处填写 prompts,prompts 前方的数字表示帧数,这里就是设置从多少帧开始更换 prompt,prompt 的数量没有限制,可根据需要设置,注意按帧数从小到大依次填写,注意保持格式,不要漏掉引号或逗号等内容(上方的 prompts 为图片的 prompts,在动画模式下不会生效,不用管)。我这个动画视频从头至尾是一个稳定连续的画面,所以只设置了一个 prompt,如果你的画面前后是有变化的可以设置多个 prompt。设置完成后点击「prompts」前方的圆形按钮运行「prompts」,运行完成后该单元格前方会出现绿色对钩。

10.3.5. 参考下图设置图像参数,Google Colab 免费用户建议将尺寸设置为 1024x512或更小尺寸,尺寸过大会导致显存不足报错,种子模式需设置为 fixed,strength 为参考图/视频强度,设置为 0 完全使用文本描述进行渲染,设置为 1 完全使用参考图/视频进行渲染,建议将参数设置为 0.4-0.8 左右,根据自己的需要看希望更贴近参考还是有更多变化,值越大越像参考图/视频。设置完成后点击「Load Settings」前方的圆形按钮运行「Run」,就开始逐帧渲染图片了。

10.3.6. 当「Run」单元格末尾出现图片和进度条,单元格前方的圆形按钮开始转圈则表示渲染正在进行中,每一帧渲染完成后都会依次显示在此处,图片下方显示的是正在渲染中的图片参数,包括帧数、种子值、文本描述、参考图片信息和渲染进度及渲染时间等信息,全部渲染完成后单元格前方会出现绿色对钩。

10.3.7. 取消勾选skip_video_for_run_all和 render_steps」后点击「skip_video_for_run_all」前方的圆形按钮,就开始通过序列帧生成视频了,默认帧率为每秒 12 帧,如果想设置其他帧率可直接在 fps 处修改,修改后再运行该单元格即可,生成的视频会展示在此单元格下方,也会自动保存在相应的文件夹里。生成完毕后单元格前方会出现绿色对钩,如果下方仍然没有出现视频,可以去云盘相应的文件夹内查看视频文件

10.3.8. 如果对效果不满意可以重新修改参数,修改过参数的单元格都需要重新运行一遍点击单元格前方的圆形按钮运行即可,参数修改完毕并重新运行后,重新运行「Run」单元格就开始重新渲染了,渲染过程中发现不满意可以随时点击单元格前方的按钮中断渲染,然后继续修改参数,再重新运行「Run」,重新渲染的图片和之前的图片会保存在同一个文件夹内,如果想分开保存可以修改 batch_name 后再运行「Run」,这样重新渲染的图片会保存在新的文件夹里。

10.3.9. 由于 GPU 的限制我们可能无法直接生成大尺寸的图片和视频,所以动画制作完成后我们可以把序列图片下载到本地,图片在云盘默认的保存在 AI/StableDiffusion/2022-月份 内相应的文件夹里,之后我们可以通过 Real-ESRGAN或者 Topaz Gigapixel AI等工具对序列图片进行智能放大,然后再通过 AE 或者 PR 等工具合成视频,你也可以进行一些后期加工处理,这样我们就得到高质量的视频啦。

上方为我使用前文参数生成的 Video Input 参考视频动画,我用 Real-ESRGAN 将视频尺寸从 1024x512 放大至了 2560x1280,视频中也展示了参考视频及效果对比,因为我选用的参考视频本身光线效果就不是太好,所以面部打光效果不太好,另外由于画面中有很多手部的画面,我只有通过调高 strength 来尽量保持手部的完整,因此也牺牲了一些描述词的效果,比如我描述词中写了奥黛丽赫本,如果降低 strength 面部特征是可以更加靠近奥黛丽赫本的,但是同时手部等细节也会相对变得不那么稳定,所以我最后还是把 strength 设置为了 0.75,算是偏高的范围,这样会更靠近参考视频,参考视频动画就是通过调节 strength 和 scale 包括 prompt,来进行取舍以达到最佳的效果。(平台压缩了画质)

Interpolation 插值动画教程

10.4.1. 将动画模式设置为 Interpolation勾选关键帧模式或设置固定帧模式参数,默认不勾选关键帧模式则为固定帧模式,若勾选了关键帧模式则固定帧模式自动失效,二者只有一个起作用,除了这两个模式以外的其他参数在该模式下均不起作用。设置完成后点击「Animation」前方的圆形按钮运行「Animation Settings」,运行完成后该单元格前方会出现绿色对钩。

10.4.2. 设置Prompts,在下图中 animation_prompts处填写 prompts,prompts 前方的数字表示帧数,帧数仅在interpolate_key_frames关键帧模式下起作用,当在上一步勾选了 interpolate_key_frames 后,以下图为例,那么总帧数就会变成 51 帧,第 0 帧会按 prompt 0 进行渲染,第 5 帧会按 prompt 5 渲染,第 20 帧会按 prompt 20 渲染,第 30 帧会按 prompt 30 渲染,第 50 帧会按 prompt 50 渲染,相邻的两个 prompt 之间的帧数,以前两个 prompt 为例,从第 0 帧到第 5 帧 prompt 0 的权重会从 100% 降至 0%,prompt 5 的权重会从 0% 升至 100%,相邻的两个 prompt 会随着帧数前一个权重递减至 0%,后一个权重递增至 100%,以达到从第一个 prompt 变成第二个 prompt 的效果。若没有勾选 interpolate_key_frames 则为固定帧模式,以上图参数 40 为例,interpolate_x_frames 40表示每两个相邻的关键帧之间都是40,以下图为例,有 5 个 prompt,总帧数就会变成 165 帧,此时下图中的关键帧不起作用,第 0 帧使用 prompt 0 进行渲染,第 41 帧使用 prompt 5 渲染,第 82 帧使用 prompt 20 渲染,第 123 帧使用 prompt 30 渲染,第 164 帧使用 prompt 50 渲染。插值动画就是没有动态只是从一个 prompt 渐变到下一个 prompt再渐变到下一个 prompt 直至最后一个 prompt。设置完成后点击「prompts」前方的圆形按钮运行「prompts」,运行完成后该单元格前方会出现绿色对钩。

10.4.3. 参考下图设置图像参数,Google Colab 免费用户建议将尺寸设置为 1024x512或更小尺寸,尺寸过大会导致显存不足报错,Interpolation 模式下无论种子模式如何设置都会按 fixed 生效,也就是所有图片都会使用同一个种子进行渲染,以此达到一个静态连续变化模拟动态的效果。设置完成后点击「Load Settings」前方的圆形按钮运行「Run」,就开始逐帧渲染图片了。

10.4.4. 当「Run」单元格末尾出现图片和进度条,单元格前方的圆形按钮开始转圈则表示渲染正在进行中,Interpolation 模式下会先把所有的 prompt 都渲染一遍,例如上面设置了 5 个 prompt,那么这里会先将这 5 个 prompt 分别渲染出来,然后再从第 0 帧开始逐帧渲染,可以用来确认 prompt 是否有误,其实建议的做法是先使用图片功能调试好所有的 prompt 之后再进行动画制作。此处图片下方只会显示种子值、渲染进度和渲染时间,全部渲染完成后单元格前方会出现绿色对钩。

10.4.5. 取消勾选skip_video_for_run_all和 render_steps」后点击「skip_video_for_run_all」前方的圆形按钮,就开始通过序列帧生成视频了,默认帧率为每秒 12 帧,如果想设置其他帧率可直接在 fps 处修改,修改后再运行该单元格即可,生成的视频会展示在此单元格下方,也会自动保存在相应的文件夹里。生成完毕后单元格前方会出现绿色对钩,如果下方仍然没有出现视频,可以去云盘相应的文件夹内查看视频文件

10.4.6. 如果对效果不满意可以重新修改参数,修改过参数的单元格都需要重新运行一遍点击单元格前方的圆形按钮运行即可,参数修改完毕并重新运行后,重新运行「Run」单元格就开始重新渲染了,渲染过程中发现不满意可以随时点击单元格前方的按钮中断渲染,然后继续修改参数,再重新运行「Run」,重新渲染的图片和之前的图片会保存在同一个文件夹内,如果想分开保存可以修改 batch_name 后再运行「Run」,这样重新渲染的图片会保存在新的文件夹里。固定帧模式可通过降低固定帧参数减少总帧数快速预览整体变化效果,效果基本满意后再提高参数渲染长动画,关键帧模式也可以通过减小关键帧帧数来达到快速预览的效果。

10.4.7. 由于 GPU 的限制我们可能无法直接生成大尺寸的图片和视频,所以动画制作完成后我们可以把序列图片下载到本地,图片在云盘默认的保存在 AI/StableDiffusion/2022-月份 内相应的文件夹里,之后我们可以通过 Real-ESRGAN或者 Topaz Gigapixel AI等工具对序列图片进行智能放大,然后再通过 AE 或者 PR 等工具合成视频,你也可以进行一些后期加工处理,这样我们就得到高质量的视频啦。

上方为我使用前文参数生成的 Interpolation 插值动画,我用 Real-ESRGAN 将视频尺寸从 1024x512 放大至了 2560x1280,插值动画比较适合用来制作类似延时摄影/缩时摄影这类的动画,就是同一个场景随着时间的变化发生改变这种,当然也可以用于制作不同场景或者不同物体之间的转变动画,建议先调教好 prompt 后再制作动画。(平台压缩了画质)

其他动画功能

Coherence,Animation Settings - Coherence 包含两个参数,一个是 color_coherence,颜色模式,建议使用默认值,另一个是 diffusion_cadence,该参数仅对 2D 与 3D 动画有效,默认为 1,该参数一共有 8 个级别,1-8,当设置为 1 时,每一帧都会通过一个种子进行扩散生成图像,假如第 0 帧使用种子 3520080201,则第 1 帧使用种子 3520080202,第 2 帧使用种子 3520080203,第 3 帧使用种子 3520080204...以此类推,当设置为 2 时,每隔一帧才通过种子进行扩散生成图像,假如第 0 帧使用种子 3520080201,则第 2 帧使用种子 3520080202,第 4 帧使用种子 3520080203,第 6 帧使用种子 3520080204...以此类推,其中跳过的帧数会使用前后帧的图片进行混合叠加后得出,当设置为 3 时则是第 0、3、6、9、12...这些帧会使用种子生成图像,跳过的帧会使用前后帧的图片进行混合叠加后得出,这样做会大幅缩减渲染时间,但可能会使动画变得模糊起来,因为间隔帧是使用前后帧的画面进行混合叠加而成的,所以清晰度会受损,但是画面的连贯性有可能会提升,因为每个种子生成的图片都是有差异的,通过间隔帧减慢了差异的变化速度,画面可能会变得更连贯,在某些偏静态的动画里可能比较受用,动态幅度较大的还是不建议使用,有兴趣的朋友可以自己尝试一下,这里要提醒的是因为跳过的帧不会使用种子,所以这个值的变化同时也会造成画面的变化,如果想利用跳过帧预览动画效果是无法做到的,因为修改后动画效果也会改变。如果使用此模式后画面清晰度受损,可以尝试通过调整 noise_schedule、strength_schedule 和 scale 来调节画面效果。

Resume Animation,恢复动画渲染,当出于某种原因动画渲染主动或被迫中断后,想要接着继续渲染可以使用此功能,此功能也可用于修改动画关键帧参数,假如你想修改的参数只影响动画的后面某部分画面,可以到云盘中保留不受影响的帧数,将需要改动的帧数图片全部删除,如果是想接着继续渲染不用删除图片,然后点开这个动画的任意一张图,点击图片名称,复制名称的前半部分,如下图所示,粘贴在 Animation SettingsResume Animation 中的resume_timestring 位置,如下图所示,并勾选resume_from_timestring,然后重新运行Animation Settings」,运行完成后该单元格前方会出现绿色对钩,再重新运行Run」,程序就会接着这个名称的最后一张图开始渲染下一张图,就是继续渲染动画了。

文本转图像教程

10.5.1. 将动画模式设置为 None,新开的文件默认就是 None,设置完成后点击「Animation」前方的圆形按钮运行「Animation Settings」,运行完成后该单元格前方会出现绿色对钩。

10.5.2. 设置 Prompts,Deforum 有个优点就是 Prompt 的个数没有限制,你可以一次填写很多个 Prompt,然后一次性全部渲染,程序会按照先后顺序依次渲染每一个 Prompt,当然你只写一个也没问题,animation_prompts 在该设置下不起作用,可以无视,设置完成后点击「prompts」前方的圆形按钮运行「prompts」,运行完成后该单元格前方会出现绿色对钩。

10.5.3. 参考下图设置图像参数,Google Colab 免费用户建议将尺寸设置为 1024x512或更小尺寸,尺寸过大会导致显存不足报错,若要生成人物肖像等内容建议将尺寸设置为 512x512,这样容易取得最佳效果;8 种采样模式略有区别,但区别也不算太大,大家可以自己尝试;n_batch 为每个 prompt 生成图片的张数,以上图为例,共有 8 个 prompt,那么设置为 50 后每一个 prompt 都会分别生成 50 张图;因为每次运行只会生成一个总的 settings 文件,所以建议在使用 random 随机种子模式时可将文件名格式设置为显示种子值,否则无法追踪每张图片的种子,使用 iter 时即使将文件名格式设置为显示 prompt 也可以通过文件名序号计算出每张图的种子,大家可按自己的需要设置文件名格式;设置完成后点击「Load Settings」前方的圆形按钮运行「Run」,就开始渲染图片了。

10.5.4. 当「Run」单元格末尾出现图片和进度条,单元格前方的圆形按钮开始转圈则表示渲染正在进行中,显示顺序为先显示种子和进度条,渲染完成后图片会显示在进度条下方,所以对应的种子值在图片的上方;所有图片都会按顺序在页面上展示,但是页面展示图片有一个上限,超过以后会自动刷新显示新的一批图片;全部生成完毕后单元格前方会出现绿色对钩,可以去云盘相应的文件夹内查看或下载图片参数文件

10.5.5. 如果觉得尺寸不够大可以使用 Real-ESRGAN或者 Topaz Gigapixel AI等工具对图片进行智能放大,可参考盲图像超分辨率模型 Real-ESRGAN 使用教程进行操作。

图像转图像教程

10.6.1. 将动画模式设置为 None,新开的文件默认就是 None,设置完成后点击「Animation」前方的圆形按钮运行「Animation Settings」,运行完成后该单元格前方会出现绿色对钩。

10.6.2. 设置 Prompts,在下图 prompts 处填写 prompts,如果有多个想法可以设置多个 prompt,换行依次填写即可,注意保持格式正确,animation_prompts 在该设置下不起作用,可以无视,设置完成后点击「prompts」前方的圆形按钮运行「prompts」,运行完成后该单元格前方会出现绿色对钩。

10.6.3. 图像转图像也就是参考图模式需要先将参考图上传至 Google Colab 或者谷歌云盘,上传至 Google Colab 只需要点击页面左侧边栏第四个「文件图标展开文件窗口,然后将图片直接拖入空白处即可,上传完成后会显示在文件列表末端,你也可以将参考图上传至谷歌云盘,然后从列表中找到图片文件即可,点击参考图后方的三个小圆点选择复制路径。

10.6.4. 参考下图设置图像参数勾选use_init使用参考图,上一步复制的路径粘贴至init_image后方设置strength参考图强度,当设置为 0 时完全使用 prompt 进行渲染,若总步数为 50 则使用 prompt 渲染 50 步,画面与参考图毫无关系,当设置为 1 时完全使用参考图进行渲染,若总步数为 50 则使用 prompt 渲染 0 步,也就是会原图直出,与 prompt 毫无关系,当设置为 0.5 时则是各占一半,若总步数为 50 则使用 prompt 渲染 25 步,所以如果想要画面更靠近参考图可以将strength设置为0.5-1低于0.5画面与参考图的差异会逐步变大;如果只想对局部进行渲染可以使用遮罩文件,勾选 use_mask 后参考上一步上传遮罩图片即可,遮罩有两个参数可调节效果,有需要的可以自己实验;要注意的是如果参考图画面比例与设置的尺寸比例不一致参考图会被强制拉伸变形为设置的尺寸,如果不想参考图发生变形请将参考图长宽比修改成和出图尺寸相同的比例。设置完成后点击「Load Settings」前方的圆形按钮运行「Run」,就开始渲染图片了。

10.6.5. 当「Run」单元格末尾出现图片和进度条,单元格前方的圆形按钮开始转圈则表示渲染正在进行中,显示顺序为先显示种子和进度条,渲染完成后图片会显示在进度条下方,所以对应的种子值在图片的上方;所有图片都会按顺序在页面上展示,但是页面展示图片有一个上限,超过以后会自动刷新显示新的一批图片;全部生成完毕后单元格前方会出现绿色对钩,可以去云盘相应的文件夹内查看或下载图片参数文件

10.6.6. 如果觉得尺寸不够大可以使用 Real-ESRGAN或者 Topaz Gigapixel AI等工具对图片进行智能放大,可参考盲图像超分辨率模型 Real-ESRGAN 使用教程进行操作。

制作动画建议先使用文本转图像功能或图像转图像功能调试好 prompt 和参数,效果比较满意后直接使用满意的 prompt 和参数包括种子去制作动画,这样效率会比较高。

最后分享一下 Deforum 的官方 Discord(https://discord.com/invite/upmXXsrwZc),大家如果有其他疑问也可以去官方频道进行询问和交流。

以上就是此次 Deforum Stable Diffusion 教程的全部内容了,部分内容是根据个人使用经验和个人理解进行解释的,可能不一定绝对准确,但可以供大家参考。

在这里我也呼吁大家合理使用 AI 工具,尊重版权,尊重创作者,未经允许不要使用他人的作品进行 AI 创作,如果使用 AI 生成的内容与他人风格过于类似或者存在争议建议不要用于商业用途。

文中展示的参数包括 prompts 仅供学习交流使用,请勿用于商业用途。

标签: 动画视频 人物肖像 参考视频 奥黛丽赫本

相关阅读