文本到图像生成领域近两年取得了很大的突破,从 GAN 到 Stable Diffusion,图像生成的速度越来越快,生成效果越来越好。然而,AI 模型生成的图像在细节上还有很多瑕疵,并且使用自然语言指定对象的确切位置、大小或形状存在一定的困难。为了生成精准、高质量的图像,现有方法通常依赖于广泛的提 prompt 工程或手动创建图像草图。这些方法需要大量的人工工作,因此非常低效。
最近,来自加州大学伯克利分校(UC 伯克利)和微软研究院的研究者从编程的角度思考了这个问题。当前,用户能够使用大型语言模型较好地控制代码生成,这让该研究看到了编写程序来控制生成图像细节的可能,包括物体的形状、大小、位置等等。基于此,该研究提出利用大型语言模型(LLM)生成代码的功能实现可控型文本到图像生成。
论文地址:https://arxiv.org/pdf/2305.18583.pdf
该研究提出了一个简单而有效的框架 Control-GPT,它利用 LLM 的强大功能根据文本 prompt 生成草图。Control-GPT 的工作原理是首先使用 GPT-4 生成 TikZ 代码形式的草图。如下图 1 (c) 所示,程序草图(programmatic sketch)是按照准确的文本说明绘制的,随后这些草图被输入 Control-GPT。Control-GPT 是 Stable Diffusion 的一种变体,它能接受额外的输入,例如参考图像、分割图等等。这些草图会充当扩散模型的参考点,使扩散模型能够更好地理解空间关系和特殊概念,而不是仅仅依赖于文本 prompt。这种方法使得 prompt 工程和草图创建过程不再需要人为干预,并提高了扩散模型的可控性。
我们来看一下 Control-GPT 方法的具体细节。
方法
对图像生成来说,训练过程的一个较大挑战是缺乏包含对齐文本和图像的数据集。为了解决这个难题,该研究将现有实例分割数据集(例如 COCO 和 LVIS)中的实例掩码转换为多边形的表示形式,这与 GPT-4 生成的草图类似。
然后,该研究构建了一个包含图像、文本描述和多边形草图的三元数据集,并微调了 ControlNet。该研究发现这种方法有助于更好地理解 GPT 生成的草图,并且可以帮助模型更好地遵循文本 prompt 指令。
ControlNet 是扩散模型的一种变体,它需要额外的输入条件。该研究使用 ControlNet 作为基础图像生成模型,并通过编程草图和 grounding token 的路径对其进行扩展。
框架
如下图 2 所示,在 Control-GPT 中,首先 GPT-4 会根据文本描述生成 TikZ 代码形式的草图,并输出图像中物体的位置。然后该研究用 LATEX 编译 TikZ 代码,将草图转换为图像格式,再将编程草图、文本描述和物体位置的 grounding token 提供给经过调优的 ControlNet 模型,最终生成符合条件的图像。
使用 GPT-4 生成的草图训练 ControlNet 是必要的,因为预训练的 ControlNet 不理解生成的草图,不能将其转换为现实图像。为了 prompt GPT-4,该研究要求用户遵循如下的 prompt 样本,以让 GPT-4 请求 TikZ 代码片段的结构化输出,以及相关物体的名称和位置。然后,该研究使用 GPT-4 的输出来编译草图图像并获得 grounding token。
LLM 绘制草图的准确性如何
Control-GPT 的精度取决于 LLM 生成草图时的准确性和可控性。因此,该研究对 LLM 在草图生成方面的性能进行了基准测试。实验结果表明 GPT 系列模型在草图生成方面明显优于 LLaMa 等开源模型,并且 GPT-4 在遵循文本指令方面表现出惊人的高准确性(约 97%)。
该研究对 Control-GPT 和一些经典模型的生成结果进行了人工评估,结果表明当图像中包含两个不相关的罕见物体组合时,一些模型的生成效果比较差,而 Control-GPT 的生成结果相对较好,如下表 2 所示:
查询 LLMs,生成一个 TikZ 代码片段来描述给定的文本,进而检查 LLMs 的性能。如下表 1 所示,GPT-series 模型的大多数代码片段都可以编译为有效的草图,而 LLaMA 和 Alpaca 的输出要么是空的,要么不可运行。在 GPT-series 模型中,最新的 GPT-4 在 95 个查询中只有 3 次失败,这些查询成功地生成了有效草图,在遵循文本指令方面的成功率大约有 97%。ChatGPT 是 GPT-3.5 的 RLHF 微调版本,其性能明显低于原始 GPT-3.5。在调优过程中,聊天能力和代码生成之间可能存在着权衡。
在下图 4 中,研究者提供了一个来自 GPT 系列模型的可视化草图例子。虽然生成的草图不如照片那样逼真,但它们往往能捕捉到语义,并正确推理出物体的空间关系。生成的草图经常出人意料地通过简单的代码片断来正确处理物体形状。
下图最后一行展示了 GPT-4 的一个失败案例,即模型无法生成物体形状,而 GPT-3.5 却能给出一个正确的草图。GPT-4 在草图生成方面的高精度带来的启发是:可以使用它来提高图像生成模型的可控性。
实验
基于 Visor 数据集,研究者对 Control-GPT 进行了一系列实验设置的评估,测试其在空间关系、物体位置和大小方面的可控性。他们还将评估扩展到多个物体和分布外的 prompt。广泛的实验表明,Control-GPT 可以大大提升扩散模型的可控性。
下表 3 中列出了定量评估结果。可以看到,Control-GPT 模型可以在给定的一些规格下更好地控制物体的大小和位置。与几乎无法控制物体位置和尺寸的 Stable Diffusion 模型(SD-v1.5)相比,Control-GPT 将总体精度从 0% 提高到 14.18%。与现成的 ControlNet 相比,Control-GPT 在所有指标上也取得了更好的表现,获得了从 8.46% 到 4.18% 的整体改善。这些结果展示了本文的 LLM 集成框架在更细化和精确控制图像生成过程方面的潜力。
视觉化。下图 6 展示了定性评估结果,可以看到,ControlGPT 可以按照物体位置和尺寸的规范绘制物体。相比之下,ControlNet 也能遵循,但却很难生成正确的物体,而 Stable Diffusion 则无法遵循规范。
对空间关系的消融实验。研究者还探讨了模型是否对不同类型的空间关系(如左 / 右 / 上 / 下)有偏好,作为空间关系基准分析的一部分。从下表 4 中可以看出,Control-GPT 在 Visor Score 和物体准确性方面一直比所有的基线模型工作得更好。
多个物体之间的关系。研究者对 Control-GPT 生成多个物体的能力进行了进一步的评估,这些物体的空间关系由 prompt 指定。下图 7 展示了一些例子,Control-GPT 能理解不同物体之间的空间关系,并在 GPT-4 的帮助下将它们放入布局中,表现出了更好的性能。
可控性与图像逼真度。通常,在生成逼真图像与遵循精确布局之间往往存在着妥协,特别是对于分布外的文字 prompt。如下图 8 所示,(a)是一个例子,生成的图像完全遵循布局,但这导致了图像中的一些伪影;而在(b)中,照片往往看起来很逼真,但没有很好地遵循草图。
更多研究细节,可参考原论文。