简介
在这篇文章会系统性地介绍和归类目前用于动画领域的生成式 AI 技术,包括简要的描述、实例、优缺点,以及查找相关工具的链接。
这篇文章旨在吸引任何对此好奇的人,特别是那些可能对AI生成视频领域飞速发展感到不知所措的动画师和创意工作者。希望这篇文章能帮助你快速跟上潮流,并让你对这个领域有更深入的了解,而不仅仅是浏览 TikTok 上的简短内容。
Generative image 图像生成技术
依赖于使用生成图像人工智能模型的技术,这些模型是在静态图像上进行训练的。
生成图像作为素材和资产
可以将从各种 AI 应用生成的静态图像,应用于传统的创作流程中,如 2D 平面剪贴、数字编辑、图像拼贴,甚至可以作为其他 AI 工具的素材来源,例如那些能够将静态图像转换为视频的工具。除了图像的来源和素材类型,这种方法还依赖于你通常对图像进行剪裁和编辑的技巧。
短片《行星与机器人》的作者使用数字剪纸为生成的人工智能图像制作动画。它还与 LLMs
一起生成语音脚本。
工具
动画可以使用 After Effects、Moho、Blender 等来完成。
逐帧生成图像
这包含了所有使用生成式扩散图像模型的技术,这些技术按照与动画创作密切相关的方式工作,能够生成连续的动画帧,仿佛是手绘和拍摄的传统动画。
这里的关键点在于,当这些模型生成每一帧图像时,它们本身并不包含时间或运动的概念。但最终能够制作出动画效果,这依赖于额外添加的机制和各种应用或扩展的支持。这种效果常常被称为“时间连贯性”,意味着动画在时间上的流畅和一致。
这些技术在动画制作中常常会产生一种特有的闪烁效果。尽管很多使用者试图尽可能消除这种闪烁,动画师却将其称作“沸腾”效果,这在动画艺术中一直是一种常见的表现手法。
这些技术主要适用于像 Stable Diffusion 这样的开源模型及基于它们开发的工具。这类工具通常允许用户调整一系列参数,有时甚至可以在本地硬件上运行。与此相对的是,像 MidJourney 这样的模型通常是不公开的,并且其界面主要是为图片处理而设计的,因此不适合用于这些动画技术。
这个动画可能使用 Stable WarpFusion 完成,涉及 I2I 循环以及一些扭曲(置换)动画的底层视频输入。作者——萨根斯。
它通常由这些技术混合并分层组成:
独立模式(从文本到图像):
有几种创新的技术,可以仅通过文本提示和参数设置来生成动画,具体包括:
参数插值(形态变化)
通过在每一帧生成的图像上逐步调整参数,从而实现动画中的形态变化。这些参数可以涉及模型的各个方面,比如文本提示本身,或是底层的种子变量(称为“潜在空间漫游”)。
使用逐渐变化的权重进行提示编辑,以创建过渡效果。采用Deepth ContorolNet来保持整体手形的一致性。
图像到图像(I2I)反馈循环:
这种方法是通过“图像到图像”的技术,把每一帧生成的图像作为动画下一帧的输入。这样可以在其他参数发生变化和种子不固定的同时,制作出一系列外观相似的帧。这通常是通过调整“去噪”强度,或在 Deforum 中设置“强度计划”来控制的。起始帧也可以是已有的图片。
这是利用 Stable Diffusion 制作动画的大部分实现方法的核心组件,许多下文列出的其他技术也依赖于此。要实现良好的效果,需要非常精细地平衡,这在很大程度上依赖于所用的采样器(即噪声调节器)。
使用一个起始图像和一个不同的提示,使其逐帧变成其他东西。
2D 或 3D 变换(应用于 I2I 循环中)
在将每一帧图像重新输入到 I2I 循环之前,会对其进行逐步变换。2D 变换包括简单的平移、旋转和缩放操作。而 3D 变换则涉及到虚拟摄像机在三维空间中的移动,这通常是通过计算每帧图像的三维深度,并根据虚拟摄像机的运动来调整图像来实现的。
大家都非常熟悉的无限放大效果。这种效果之所以出色,是因为它可以依赖于 Stable Diffusion(SD)不断创造新的细节。
实验性、运动合成、混合及其他技术:
运动合成技术旨在构想连续生成帧之间的运动流,并利用这种流动性逐帧扭曲图像,在 I2I 循环中创造出自然的运动效果。这种方法通常依赖于那些在视频光流估计领域训练的 AI 模型。不过,与其观察连续的视频帧,这种技术是用来分析通过 I2I 循环生成的连续帧,或者采取某种混合方法。
其他技术可能包括高级修补(inpainting)与图像扭曲的结合,多步骤处理,甚至包括捕捉模型训练过程的快照。例如,Deforum 就提供了众多旋钮和设置供用户调整。
使用 SD-CN 动画制作,它有一种在生成的帧中产生运动幻觉的独特方法。起始图像用于启动,除此之外没有其他用途。
变换型(图像到图像):
此外,还可以使用某种类型的原始输入来驱动生成的帧和产生的动画效果:
融合(风格化)- 结合视频源或条件化(ControlNets):
这是一种广泛的方法,通过将输入视频(分解成单帧)与生成的序列混合和改变,常用于为真实视频赋予特定风格。目前,这种技术在风格化舞蹈视频和表演方面特别流行,经常用于创造动漫风格和性感身材的效果。实际上,你可以用任何东西作为输入,比如你自己动画的初步帧,或是各种杂乱和抽象的画面。这为模仿“定格动画”和替换动画技术提供了广泛的可能性。输入的帧可以在每次 I2I 循环之前直接与生成的图像混合,或在更复杂的情况下用于额外的条件化处理,如使用 ControlNets。
*Deforum 的混合模式结合了一些 ControlNet 的条件化处理,这些处理是根据来源视频(如左侧所示)进行的。需要注意的是,蒙版和背景模糊效果是另外单独制作的,这和上述技术没有直接关系。
光流变形(在具有视频输入的I2I循环上)
“光流”是指在视频中估算出的运动,这种运动通过每帧中每个像素点的移动向量在屏幕空间上进行展示。当在转换型工作流中使用的源视频进行光流估算时,这种技术可以应用于扭曲生成的帧,从而让生成的纹理随着物体或摄像机在画面中的移动而紧密地“贴合”在物体上。
Deforum 的混合模式支持这种技术,并提供了各种可调节的设置。为了获得更少的闪烁效果并更好地展示扭曲效果,还增加了“节奏”设置。需要指出的是,蒙版和背景模糊效果是单独处理的,与这项技术无关。
3D 衍生技术
在转换型工作流中的条件化处理可以直接与 3D 数据挂钩,这样就避免了对视频帧进行繁杂的处理和模糊化处理。例如,可以使用从虚拟 3D 场景中获取的 openpose 或深度数据,而不是从视频(或计算机图形渲染的视频)中估算出来的数据。这种方法是天然支持 3D 的,提供了高度的模块化和可控性,尤其是当与有助于保持时间连贯性的方法结合使用时,效果尤为显著。
这可能是将传统技术与 AI 在视觉特效领域结合的最具前景的方向,正如这个视频中所展示的那样。
在这种技术中,一个非常全面的工具是一个项目,该项目简化了从 Blender 制作适用于 ControlNet 的角色图像的过程,并实现了自动化。例如,在这个案例中,使用手部的骨骼动画来生成供 ControlNet 使用的 openpose、深度和法线贴图图像,最终的 Stable Diffusion(SD)结果显示在右侧。(最终放弃使用 openpose,因为发现它对于仅用于手部的情况并不适用)
结合这些技术,就像在模块化音频制作中一样,可以动画化和调整众多参数,仿佛拥有无限可能。这些参数既可以通过像 Parseq 这样的软件中的关键帧和图表来进行“编排”,也可以与音频和音乐挂钩,实现多种音频反应的效果。你甚至可以让 Stable Diffusion
跟随音乐起舞。
工具
理想情况下,你应该拥有性能足够的硬件,尤其是 GPU,以便在本地运行这些工具。另一种选择是,你可以通过远程机器,如在 Google Colab 中进行尝试,但需要注意的是,大多数免费计划和试用服务都有一定的限制。尽管如此,为 Google Colab 设计的任何笔记本程序仍然可以在本地硬件上运行。
视频生成技术
这类技术依赖于生成视频的 AI 模型,这些模型要么是通过动态视频进行训练的,要么是在神经网络层面增强了对时间的理解。
目前,这些模型的一个显著特点是它们通常只能处理非常短的视频片段(几秒钟),这主要是受限于 GPU 上的视频内存。然而,这种情况很可能会迅速进步,而且已经有方法可以把多个短片拼接成更长的视频。
视频生成模型
这是指使用专门为处理视频素材而从头开始制作和训练的模型。
目前的结果可能会显得有些不稳定、AI生成的奇异感和不自然。这种情况与不久前大多数 AI 生成的图像非常相似。尽管这方面的技术正在迅速进步,但我个人认为,我们在静态图像方面的进步不会直接转化为视频生成方面的相应进步,因为视频生成是一个难度更大的问题。
我觉得动画和传统电影之间的界限在这里有些模糊。只要这些结果还无法达到现实的水平,所有这些在某种意义上都构成了一种新颖且独特的动画和视频艺术形式。目前,我建议你不必拘泥于模仿真实电影,而是将这些技术作为一种新型的实验媒介来探索。尽情发挥创意吧!
AI 生成的视频仅根据图像和文本提示使用 Runway 的 Gen-2 由 Paul Trillo 制作
独立(文本2视频)
使用文本提示来创造全新的视频剪辑
理论上,这种方法的可能性是无限的,无论是追求真实拍摄效果,还是超现实和风格化的视觉效果,只要你能描述出来,就像静态图像生成那样。但实际上,为视频模型收集足够大且多样化的数据集要复杂得多,因此,仅凭文本条件化在这些模型上实现特定的美学风格相对困难。
这种方法在创造性控制方面给人的感觉相对宽松。但当它与图像或视频条件化结合使用时,也就是所谓的“变形”工作流,它的能力将大大增强。
*Kyle Wiggers 使用 Runway 的 Gen2 为其文章所做的动画测试之一
变形
结合使用文本提示和现有图像或视频,进行更深层次的条件化处理。
图像生成视频
许多生成视频的工具可以让你以一张图像为基础来定制生成结果。这可以是精确地从你指定的图像出发,也可以仅将该图像作为提供语义信息、构图和色彩的大致参考。
通常,人们会先利用传统的静态图像生成模型来创建起始图像,然后再将其用于视频模型。
专辑封面用作每个生成的剪辑的起始图像。
视频生成视频
类似于生成式图像模型中的图像到图像过程,在视频模型生成(去噪)输出的同时,除了文本提示之外,还可以将输入视频信息融入其中。虽然我不完全了解这一过程的具体细节,但看起来这种方法不仅能在逐帧层面上(如 Stable Diffusion 的风格化那样),而且还能在整体动态和运动层面上与输入视频相匹配。这个过程的控制方式与图像到图像处理中的去噪强度控制类似。
工具
通过运动理解增强的图像模型
随着 AnimateDiff 这一技术的日益流行,一个新兴的领域应运而生:将视频或“动态”理解的元素融合进传统的图像扩散模型中,以增强它们的功能。这样的融合让最终产出的效果更接近于原生的视频模型,而不是仅仅依赖逐帧处理技术所能达到的水平。其优势在于,你还能利用已经为这些图像模型(比如 Stable Diffusion)开发出的所有工具,这包括了社区开发的各种检查点、LoRA、ControlNet 或其他形式的条件控制。
事实上,我们甚至可以通过 ControlNet 这样的工具为视频提供条件设置,这与逐帧处理技术有着异曲同工之妙。目前,这方面的技术仍处于社区积极实验的阶段,具体可以参考“更多示例”。目前可用的技术既汲取了静态图像模型(如提示旅行)的特点,也借鉴了专门为视频设计的模型。
在这项技术中,动态效果本身通常比较初级,主要是在视频片段中大致模拟物体的移动和流动变化,有时甚至会将一物变为另一物。但值得注意的是,尽管还处于初期阶段,这种方法在保持时间连贯性方面(比如减少画面闪烁)做得更好。目前来看,使用这种技术处理抽象或不那么具体的主题和场景时,效果最佳。
使用 ComfyUI 中的 AnimateDiff通过在几个不同的提示主题之间设置动画来完成动画。
人脸的语音动画合成
我们都熟悉这样一种技术,它是很多走红的网络迷因的幕后推手。当你看到一个角色保持相对静止(有时候摄像机也会移动),脸部却在动画中说话,这很可能就是运用了 AI 人脸动画和合成语音工具的特殊技术。
这个过程包含了几个步骤和不同的组件。首先,源图像通常是由生成式 AI 创造的,当然,你也可以用任何有人脸的图片。接着,系统会根据特定角色的声音特点,将文本转化为语音。然后,通过另一个工具或者某个集成工具的模型,根据语音来合成面部动画,并且精确地同步嘴唇的动作。这种合成通常只涉及图像中的脸部和头部区域。如果使用了预训练的虚拟形象,还可以实现身体的动作。
作者 demonflyingfox 在发布 Belenciaga
病毒视频之前,就制作了一个分步教程。
生成 3D 运动角色
这里讨论的是3D角色运动合成技术。它适用于3D动画电影、视频游戏以及其他3D互动应用场景。就像在处理图像和视频时一样,这些新兴的AI工具能让你通过文字输入来控制角色的动作。此外,有些工具还能从少量的关键姿态出发构建动画,或者在互动环境中即时生成动画。
由于这份清单主要关注生成式工具,我并未包括那些自动化某些非创造性任务的AI应用,比如在Move.ai或Wonder Dynamics中所见的AI驱动的运动追踪、合成和遮罩等功能。
尼基塔的天才元人工智能电影的预告片,揭露了人工智能运动学习过程,并将其转化为一部极其有趣的短片。
由LLM驱动的工具
理论上,大型语言模型(LLMs)在编程任务上表现卓越,特别是经过微调之后,它们能够被用来编写脚本和程序,以在支持动画的软件中实现自动化。这意味着动画制作流程将依然遵循常规,但在整个过程中,AI将提供帮助。在最极端的情况下,AI将为你完成所有工作,同时在后台智能分配任务。
实际上,这种尝试已经可以进行了!例如,Blender软件提供了非常丰富的Python API,允许通过编程来控制它,因此已经有一些类似ChatGPT的助手工具存在。这是一个不可阻挡的趋势。在任何需要编程的地方,LLMs都有可能展现出它们的实用价值。LLMs都有可能展现出它们的实用价值。
原文链接:https://diffusionpilot.blogspot.com/2023/09/overview-ai-animation.html#id_generative_video_models。