目录
背景介绍
自人类诞生以来,绘画就是学习,交流和创造的重要载体。甚至在语言文字出现之前,人类就已经在用图形的方式来记录对世界的感知,交换彼此的想法。所谓一图胜千言,一幅画能够承载的信息量是非常巨大的。从古老的埃及壁画到如今以数字方式制作,存储和传输的照片,图片等,绘画内容作为信息的载体,它的创造方式都在不停的变革。从 DALL-E 开始,人类创造了一种新兴的绘画方式 – 生成式 AI 绘画,也叫做生成式 AI。 AI 绘画给人们带来了无尽的想象力,但是正如人类科技发展的曲线一般,在开始的几年里,这项新的 AI 技术始终无法被真正使用在大规模的行业生产场景中。游戏行业作为创业设计和美术场景的重度依赖行业,一直在苦苦寻找能够在游戏的生产管线中切实帮助到他们的 AI 绘画工具,以此来提高效率,降低游戏研发的成本。这种情况在去年,也就是 Stable Diffusion,MidJourney 面世之后发生了巨大的改变。随着近几个月围绕着 Stable Diffusion Web UI 所构建的开源社区的飞速发展,游戏的创意者们已经看到了将 AI 技术融入到美术生产管线的巨大潜能。如今我们可以看到,大大小小的游戏公司已经在生成式 AI 这个赛道上投入了大量的精力,并且已经取得了之前无法想象的进展。
游戏行业应用场景
正如前面所提到的,游戏行业重度依赖概念设计和美术资源,同时也是对创意和美术内容质量要求最高的行业之一。对于游戏的美术设计师来说,再精美的二维图片实际上也很难直接用于游戏中的素材生产。因为,除了设计风格之外,场景设计,角色设计都需要考虑大量的细节,比如角色姿势是否自然、细节是否清晰、光照是否合理等等都需要很多的考量。AI 可能可以带来超越人类自身想象力的一些内容,但抽卡式的创作并不能真正的提升美术管线的生产效率,我们需要使用工具来让 AI 更加精准的生成符合预期的图片。
现阶段来看,我们可以通过以下几种方式来控制 AI 绘画的生成结果。首先是文生图,就是使用文字-提示词来控制画面生成的内容。在提示词中,我们可以定义场景,物体,风格,视角等等,但是提示词作为最广泛的控制手段,它的局限性就在于对基础模型的依赖性非常强,相同的提示词在不同的基础模型上的表现可能差异巨大。其次是图生图,使用一张参考图结合提示词来让 AI 对局部进行重绘。本质上和文生图区别不大,可控性依然无法保证。 还有就是通过模型微调的方式来控制生成,常用的 Stable Diffusion 微调模型方式包括了 Text Inversion (Embedding),Hypernetworks,DreamBooth 和 LoRA,其中最流行的是 LoRA。作为一种模型微调的训练方法,LoRA 可以对基础模型的神经网络进行微小的改变,却能够产生惊人的效果。在游戏行业中, 我们发现 LoRA 已经被非常多的用来确定角色设计的风格,视角等。最后,就是我们想结合游戏行业的场景来介绍的 ControlNet。ControlNet 自今年 2 月在开源社区诞生起就是万众瞩目的焦点,因为它让 Stable Diffusion 从游戏头脑风暴阶段的辅助工具,正式进入到美术设计师的工作流中了。可以说它是 AI 绘画的一个重要的里程碑。
首先我们先了解一下 ControlNet 的原理。ControlNet 在现有模型外部叠加一个神经网络结构,通过可训练的 Encoder 副本和在副本中使用零卷积和原始网络相连,来实现在基础模型上了输入更多条件,如边缘映射、分割映射和关键点等图片作为引导,从而达到精准控制输出的内容。
原理图引用来自于 Adding Conditional Control to Text-to-Image Diffusion Models[link]
我们在可以使用插件来选择预处理器和加载 ControlNet 模型。预处理器 Preprocessor(又称 annotator),可以让我们使用现有的图片来生成需要的引导图类型。如图所示,我们可以使用一张角色三视图,然后选定 openpose_full 预处理器来得到一张角色全身多视角的 openpose 引导图,那么在后续生图的时候我们就可以使用这张引导图和 ControlNet 的 OpenPose 模型来进行更可控的创作。
截止到目前 ControlNet 的官方模型已经从 1.0 的 8 种已经增加到了 1.1 的 14 种(11 种生产就绪和 3 种实验模型),预处理器也超过了 30 种。其中包含了多种不同的控制方式,我们可以大致做一下分类: