
Project Page: https://www.timothybrooks.com/instruct-pix2pix
Paper: https://arxiv.org/abs/2211.09800
Code: https://github.com/timothybrooks/instruct-pix2pix
1. Introduction
本文提出了一个根据人类指令编辑图像的条件生成模型InstructPix2Pix:给定一张输入的图像以及一个编辑指令(用于告诉模型需要进行的编辑操作),模型会遵循这些指令对图像进行编辑。
本文使用了两个大型预训练模型来获取编辑问题的训练数据:
- 一个语言模型:GPT-3
- 一个文生图模型:Stable Diffusion
尽管InstructPix2Pix只在生成数据上训练,但其具备良好的zeroshot泛化性,可以基于人类提供的指令对真实图像进行编辑。
下图展示了部分示例:

从上述示例可以看出,首先模型的确已经具备了一定的编辑指令遵循能力,但是同时也可以观察到一些非目标区域的变化,这可能是训练集中就缺乏完全对齐数据的导致的。
2. Method
本文将Instruction-based Image Editing任务看做是一个监督学习问题:
- 本文首先生成一个成对的训练集,其包含文本的编辑指令和编辑前后的图像。
- 基于上述生成的数据集,本文训练一个Image Editing Diffusion Model。
下图是InstructPix2Pix方案的概览图:

2.1 Generating a Multi-modal Training Dataset
本文将两种不同模态的大型预训练模型的能力结合起来(一个是大语言模型GPT-3,一个是大型文本到图像模型Stable Diffusion),以生成一个包含文本编辑指令及其编辑前后对应图像的多模态训练数据集。
在2.1.1小节中,将阐述微调GPT-3用于生成一系列文本的过程:给定一个图像的文本描述,生成一个进行图像编辑的文本指令,以及一个编辑后图像的文本描述。
在2.1.2小节中,将阐述使用Stable Diffusion将两个文本描述(编辑前后图像的文本描述)转化为对应的一对图像的过程。
2.1.1 Generating Instructions and Paired Captions
首先聚焦于Text Domain,本文使用一个LLM基于图像文本描述,生成图像编辑的文本指令以及编辑后的图像的文本描述。
下图展示了一个示例:

本文对GPT-3进行了微调,以更好地适配该任务。
具体而言,本文首先收集了少量的人类编写的编辑文本对:
- 输入文本描述
- 编辑指令
- 输出文本描述
输入的文本描述是从LAION-Aesthetic V2 6.5+中sample了700个文本描述,编辑指令和输出文本描述则是人工编写完成。
基于以上700条数据,对GPT-3进行了1 epoch的微调,由于GPT-3本身具备丰富的知识和较强的泛化性,微调的模型可以生成具有创造力同时合理的编辑指令和文本描述。
下图展示了微调GPT-3的训练数据样例以及GPT-3生成的训练数据样例:

最终基于LAION数据集,本文生成了454445个训练样本。
2.1.2 Generating Paired Images from Paired Captions
接下来,本身使用一个预训练的文生图模型,将一对文本描述(图像编辑前后的文本描述)转化为一对图像。
这里使用的方案是Prompt-to-Prompt,其可以实现相似的Prompt可以生成相似图像的效果:

Prompt-to-Prompt中有个参数 τ \tau

最低0.47元/天 解锁文章
4764

被折叠的 条评论
为什么被折叠?



