龙空技术网

上线24小时获赞10万,作者分享目前最干AI动画工作流

游戏葡萄 476

前言:

目前各位老铁们对“工作流制作”大致比较关怀,你们都想要知道一些“工作流制作”的相关资讯。那么小编也在网摘上汇集了一些对于“工作流制作””的相关资讯,希望咱们能喜欢,看官们一起来了解一下吧!

我是海辛,最近在尝试用AI将写实视频风格化,上面做的这个效果在DY拿到了17万喜欢和1.8万评。很多朋友希望我能分享是怎么做的,刚好最近一直在探索将 AI 用于动画制作的生产,积累了许多demo,决定趁机做一个梳理总结。

目前用AI制作动画有许多不同的路径,大致包括:A. 根据参考视频进行风格迁移、B. 文本生成动画、C. 根据静态图生成动画等。不同的方式也存在不同的技术路径。(在每一大类的末尾,我都会附上我推荐的教程,这些教程都是免费的,对我在探索的过程中起了很大的帮助。)

01 根据参考视频进行风格迁移

代表工具: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个关键帧,因为是侧面镜头的原因,我需要设置的关键帧很少,基本只在角色睁眼和闭眼的时候。

这个测试也得到了AK的转发。AK专注于AI研究,在twitter上拥有22+万关注者,现于HuggingFace进行“每日AI论文”更新

这个工作流也是目前我最喜欢的方式。在这套玩法上面,还可以结合传统的影视抠像工具进行叠加,从而指定AI仅对画面部分内容进行风格迁移。

上面这个视频中,我先将人物进行动态抠像,然后只对人物进行AI渲染。目前动态抠像生成遮罩的工具中,我最常用的是Runway提供的遮罩生成功能,免费且效果好。

这套流程在Stable Diffusion的

Reddit版面也得到了很多关注

3. Rerender

Stable Diffusion + EbSynth这套工作流中,最重要的是保持不同关键帧中的信息要连续和一致,目前基于diffusion模型算不同的关键帧,算完后还是需要人手动来修。所以目前的技术方案还是会需要人来“肝”,其实“肝”的工作量就是调整关键帧之间信息的连续性。

最近看到一个不错的解决方案:Rerender A Video[4]。这个解决方案也认为并不应该让diffusion模型来算每一帧,而是只算关键帧。Rerender A Video添加价值的地方是:TA会自动判断需要哪些关键帧,并且保证每个关键帧之间是相似的。

Rerender这个工具我还没有机会尝试,但是我很认可他的解决思路。目前这个工具在Hugging Face上可以测试demo[5],完整代码尚未开源,值得持续关注。

4. AI + AE

最近我发现Reddit Stable Diffusion版面里AI动画特效做得好的人,大多数都是影视/游戏/特效的背景。其实这是合理的,因为他们知道如何将AI生成的画面结合到其他管线的工具中,从而提升画面效果。

比如下面这个视频[6]是一名达拉斯的影视从业者根据Marc Rebillet的著名打碟视频Your New Morning Alarm(你的早安闹铃)[7] 制作的AI渲染版,他结合使用了Warp Fusion(一种基于SD的动画脚本,由Sxela开发[8])+AE转场效果+PR剪辑。

忽然意识到可以用更多影视行业的特效和剪辑工具后,我更加受到启发,于是根据DY@子康老师的滑板视频,制作了一个AI动画版本。

在这组镜头中,我测试了不同镜头里对AI抖动幅度不同的控制力会带来怎样的效果差异,我发现运动幅度越大的镜头,AI闪烁反而会加强镜头的动态效果。

当我希望画面更稳定的时候,比如镜2,我只会用Stable Diffusion渲染一个关键帧,然后使用EbSynth来补完剩余的画面;当我希望画面动态感更强的时候,比如镜1和镜3,我会用SD渲染多个关键帧,从而带来帧与帧之间更多的差异。

镜头4换脸的部分,我通过使用Photoshop Generative Fill的功能,对画面进行局部修改(inpainting)后,使用EbSynth来生成多个镜头片段,再在PR里进行剪辑,从而完成比较连续丝滑的换脸。

镜1、2、4的画面过度是在AE里完成的,这个转场效果需要使用到镜头本身的深度视频,深度视频和遮罩我目前都使用Runway来帮我生成。

这个作品在子康的DY上线后

24小时内拿到10万点赞和超1万条评论

推荐教程:

1. Runway Academy:Runway的官方教程链接,里面整合了各种Gen-1, Gen-2的使用方式:

2. Stable Diffusion动画推荐教程:都在 Reddit /stablediffusion子论坛,这个子论坛的特点是发作品需要带上自己的工作流。这个不成文的规定使得这个论坛充满了很有价值的一手经验:

3. EbSynth推荐教程:EbSynth功能很简单,跟着官方的教程一下就能学会(;t=65s)如果想了解 EbSynth 的进阶用法,我推荐Academy of Edits的教程:;t=193s

4. Warpfusion推荐教程:讲得最清楚的是 Prompt Muse(;t=797s)你也可以在开发者 Sxela的DC频道里直接问他更多的问题:

02 AI生长类动画

代表工具:Disco Diffusion, Stable Diffusion Deforum

此类工具是用传统AI生成图像工具,进行画面的批量生成,通过指定不同关键帧上的画面内容,和关键帧上的镜头运动,从而使得AI能生成连续的动画。

如上图 0= ["aaa"], 100= ["bbb"], 就是在第0帧是aaa的画面,在第100帧是bbb的画面。这种方式制作出来的动画是一镜到底,由于画面在生成的过程中不断解离和重新生成,成为了一种很有趣的艺术表达形式。因为实验性很强,所以很适合拿来做实验动画,或者MV。

我在去年有尝试用这种方式制作短片的故事动画,我的思路是,先将故事念一遍,根据录音计算每一句话需要多少秒,对应会需要生成多少帧,然后根据对应的帧来描述画面。(非常早期的生成案例了,请各位轻拍。)

后来我发现,控制AI生成的参数和影视镜头语言其实呈现一定的映射关系, 比如Translation_X对应的是画面左移或右移;Translation_Y对应的是画面上移或下移;Translation_Z对应的则是镜头的推拉。Deforum的官方操作指南里有很详细的各个参数和画面镜头运动的对应关系[9]。

这种类型做到登峰造极程度的是Youtube频道主DoodleChaos给Resonate的歌曲《Canvas》做的动画音乐视频[10]。

整个AI MV的制作逻辑是以音乐的节奏点作为AI镜头变化的关键帧,以歌词的内容作为各段的文本描述。在AI生成完画面后,DoodleChaos使用了FlowFrames来给AI制作的视频进行升帧,使得FPS从15增加到了30。详细的项目介绍可以在DoodleChaos的Patreon里看到[11]。

按照DoodleChaos的方式,我重制了一版《Canvas》的MV视频。

推荐教程:

1. Deforum的官方Notebook可以让你了解到各个参数是做什么的:

2. 目前还有一些工具可以帮助你直接提取歌曲中的关键帧,比自己翻译可能来得会快很多:

03 根据静态图生成动画

1. 让肖像画说话

代表工具:D-ID, Movio, Artflow

让一张静态的肖像画动起来说话的功能,应该是AI动画里成熟得最早的,包括:D-ID, Movio, Artflow AI这些平台都提供了类似的功能,底层的算法大多基于First Order Motion[12]进行开发。

基于这类产品做的内容,效果最好之一的有汗青老师的AI Talk系列[13]和《如果哈利波特是巴黎世家拍的》[14]。

2. 让静态图(随机)动起来

代表工具:Pika Labs, Gen-2

底层技术大概是Animatediff[15],支持根据单张图输入其随机动态效果,有很多人结合Midjourney + Gen-2来制作一些视频,可能可以用于一些前期概念的previs或者一些营销场景的动图制作。但由于不能精准控制画面内容,所以对于目前工业界的帮助还不是很显著。

第三部分的工具功能非常有潜力,最近有许多用Gen-2做的电影预告片受到业内外很多关注。不过,做电影预告片是一个非常讨巧的方式,因为不需要前后镜头有很强的连贯性,所以在体裁上还是会比较局限。

推荐教程:

1. D-ID, Movio, Artflow这些工具的使用方式都很直接,基本上手就能直接会,所以就没有推荐教程了。

2. 针对Gen-2我目前看到最好的分享是 Nicolas Neubert @iamneubert 在 Twitter 上的分享: 他本人也已经用 Midjourney + Gen-2 的工作流做过非常好的预告片案例了。

AI动画这个领域内目前我看来离工业界最近的几篇核心论文就是:

1. Runway Gen1:Structure and Content-Guided Video Synthesis with Diffusion Models[16]

2. AnimateDiff: Animate Your Personalized Text-to-Image Diffusion Models without Specific Tuning[15]

3. First Order Motion Model for Image Animation[12]

论文链接我都附在了本文末尾。

希望这篇文章可以对你有所帮助。目前我也正在用Gen-2做一些影视及广告项目,如果顺利的话,应该可以在不久后和大家分享成果和经验。如果你想更及时地看到平时我的各种尝试的话,欢迎关注我的微博@海辛Hyacinth。

文章参考:

[1] Runway:

[2] Karen X. Cheng:

[3] EbSynth:

[4] Rerender A Video:

[5]Rerender-Hugging Face Demo:

[6]Marc Rebillet Diffused:

[7] Marc Rebillet:

[8] WarpFusion:

[9] Deforum Animation Parameter Examples:

[10] DoodleChaos:

[11] DoodleChaos Patreon:

[12] First Order Motion:

[13] AI-Talk:

[14] Harry Potter by Balenciaga:

[15] AnimateDiff:

[16] Structure and Content-Guided Video Synthesis with Diffusion Models:

标签: #工作流制作