输入“/”快速插入内容

AI 一起做动画 | 将人工智能融入动画工作流的案例和实践经验

2023年8月2日修改
嗨!我是海辛,最近在尝试用 AI 将写实视频风格化,上面做的这个效果在 DY 拿到了 17 万喜欢和 1.8 万评。很多朋友希望我能分享是怎么做的,刚好最近一直在探索将 AI 用于动画制作的生产,积累了许多 demo,决定趁机做一个梳理总结。
目前用 AI 制作动画有许多不同的路径,大致包括:A. 根据参考视频进行风格迁移、B. 文本生成动画、C. 根据静态图生成动画等。不同的方式也存在不同的技术路径。(在每一大类的末尾,我都会附上我推荐的教程,这些教程都是免费的,对我在探索的过程中起了很大的帮助。)
一、根据参考视频进行风格迁移
▶ 代表工具:Runway Gen-1, Stable Diffusion + EbSynth, Rerender, Warpfusion
比起从文本生成视频,我更关注根据参考视频生成 AI 动画,因为视觉艺术业内的工作流程一直是从草稿【画面】细化到成品【画面】;而从文本生成画面的工具,由于可控性太低,会导致生产效率也很低。
放到 AI 时代的视角来看,从电影分镜到成片,本质是一种 style transfer. 而这就是 Runway Gen-1 在做的事。
1. Runway Gen-1
Runway Gen-1 [1] 就是建立在风格迁移的基础之上的工具,提供原视频 + 参考图,就可以生成一个针对该参考图的新的视频。Karen X.Cheng 在她的 twitter 账户上分享了很多自己的测试 [2] 。效果还不错,但似乎目前的 Gen-1 更多只能停留在玩具的水准,我在实际使用过程中,发现 Gen-1 没有办法完全按照我提供的参考图进行风格的迁移,导致基本不能用到真实的项目中。
比如我提供了铃芽之旅中的镜头,以及我希望转绘成的真人风格,最后 runway 生成的画面不是很符合我的预期…… ↓
2. Stable Diffusion + EbSynth
如果想让 AI 稳定地按照我希望的风格进行迁移,我不能依赖于目前的 Gen-1. 我也不能用 Stable Diffusion 去跑画面的每一帧,如果重绘幅度高(即参考视频对 AI 的影响低,AI 发挥空间大),生成的画面抖动会非常厉害;如果重绘幅度低(即参考视频对 AI 的影响高,AI 发挥空间小),生成的画面虽然不抖了,但和原视频区别也不大,这种 AI 动画也没什么太大意义。
于是我想,提高稳定性的思路不是让 AI 算每一帧,而是让 AI 算关键帧。关键帧以外的部分通过其他工具来根据 AI 算的关键帧来进行迁移。这样才能既保证 AI 的想象力,又能节省算力,又能维持画面稳定。
在这个过程中我想起了老牌开源 AI 风格迁移工具 EbSynth [3] 于是我打算用 Stable Diffusion 来绘制关键帧,再用 EbSynth 根据原视频+关键帧将其余帧补齐。确定合适的关键帧是 key,通常我的经验是 当画面引入全新的信息时就要新建一个关键帧(eg:侧面镜头时抬低头不算引入新的信息,但侧面镜头中的人物忽然扭脖子转到正面,就是引入了全新的信息)
在上面这个测试里,我每个镜头都只用了 1-2 个关键帧,因为是侧面镜头的原因,我需要设置的关键帧很少,基本只在角色睁眼和闭眼的时候。
ps:这个测试也得到了 AK 和很多我喜欢的开发者在 twitter 上的转发。❤
这个工作流也是目前我最喜欢的方式。在这套玩法上面,还可以结合传统的影视抠像工具进行叠加,从而指定 AI 仅对画面部分内容进行风格迁移。我先将人物进行动态抠像,然后只对人物进行 AI 渲染。目前动态抠像生成遮罩的工具中,我最常用的是 Runway 提供的遮罩生成功能,免费且效果好。