InstructPix2Pix: Learning to Follow Image Editing Instructions

image-20250410120310204

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任务看做是一个监督学习问题:

  1. 本文首先生成一个成对的训练集,其包含文本的编辑指令和编辑前后的图像。
  2. 基于上述生成的数据集,本文训练一个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 τ可以用来控制生成两个图像的相似度,但对于不同编辑指令,可能需要的相似度是不同的。

为了对不同编辑指令估计一个相对较优的参数 τ \tau τ的设置,本文对每一个文本对生成100的样例,每个样例随机采样一个 p ∼ U ( 0.1 , 0.9 ) p \sim \mathcal{U}(0.1,0.9) pU(0.1,0.9),然后使用directional CLIP similarity对结果进行筛选,以得到图文一致性较高的数据,具体细节可以参考论文中补充材料中的内容:

关于Prompt-to-Prompt的细节可以参考我另一篇博客:https://zhuanlan.zhihu.com/p/1893766407524697409。

2.2 InstructPix2Pix

参考《Pretraining is all you need for image-to-image translation》这篇论文中的结论,对于Image Translation任务,微调一个大型Image Diffusion模型的效果优于从头开始训练的模型,特别是当配对训练数据有限的情况下。

为此,本文使用Stable Diffusion模型参数对InstructPix2Pix进行初始化,为了支持Image Conditioning,对Diffusion模型的第一个卷积层的输入通道进行扩充,并将 z t z_t zt E ( c I ) \mathcal{E}\left(c_I\right) E(cI)拼接后作为输入,这里的 z t z_t zt是加噪后的latent,而 E \mathcal{E} E表示VAE的Encoder, c I c_I cI则是Image Conditioning。

新增的卷积通道参数初始化为0。

2.2.1 Classifier-free Guidance for Two Conditionings

对于cfg的支持,在训练阶段,对Image Conditioning、Text Conditioning以及两者同时的情况下,都设置了5%的Drop概率,在推理阶段,则是分别对Image Conditioning和Text Conditioning设置了两个Guidance Scales。

3. Results

3.1 Baseline comparisons

本文重点和SDEdit和Text2Live进行了对比。

可视化对比如下:

SDEdit虽然可以大致保持剩余内容的大致不变以及风格的不变,但其很难做到identity的保持以及当较大变化时对各个物体的隔离,并且它需要对于编辑后图像的完整描述,而不是一个编辑指令。

Text2Live其通过生成一个color+opacity的增强Layers对图像进行编辑,其使用场景较为有限。

本文还和SDEdit进行了指标量化对比:

下图展示了CLIP Image Embeddings的Cosine相似度(编辑后的图像和编辑前的图像的相似度)以及directional CLIP similarity(文本描述变化和图像变化的一致性)。

3.2 Ablations

本文发现减少数据集大小,通常会导致模型对显著变化的编辑能力下降,而只能进行细微或者风格上的调整(从而保持较高的图像相似度得分,但directional得分较低)。

而如果在数据生成的过程中,去除CLIP过滤操作的话,整体上,输入和输出图像的一致性会有下降。

提升文本的Guidance Scale可以增强编辑的强度,而提升图像的Guidance Scale有助于保持输入图像的空间结构。

4. Summary

这篇论文提出了一种名为 InstructPix2Pix 的方法,旨在使生成模型能够根据人类的文本指令来编辑图像。以下是论文的主要内容总结:

  • 问题定义

论文解决了如何让模型理解并遵循自然语言指令来执行图像编辑任务的问题,这在大规模获取训练数据方面存在挑战。

  • 方法概述

    • 结合预训练模型:结合了两个大型预训练模型——GPT-3(语言模型)和Stable Diffusion(文本到图像模型)来生成图像编辑的训练数据。
    • InstructPix2Pix模型:提出了InstructPix2Pix,这是一个条件扩散模型,它在前向传播中直接执行图像编辑,无需额外的微调或反转过程。
  • 数据生成

    • 生成编辑指令和描述:使用GPT-3生成编辑指令和编辑后的图像描述。
    • 生成图像对:利用Stable Diffusion和Prompt-to-Prompt生成与描述相对应的图像对。
    • 数据过滤:通过CLIP模型进行数据过滤,确保图像与描述一致。
  • 模型训练

    • 训练数据集:在生成的数据集上训练InstructPix2Pix模型。
    • 分类器自由引导:引入分类器自由引导(classifier-free guidance)来平衡图像质量和多样性,以及与输入图像和文本指令的一致性。
  • 实验结果

    • 多样化编辑:在多样化的真实图像和自然语言指令上展示了模型的编辑能力,包括风格转换、对象替换等。
    • 性能比较:与现有的图像编辑方法(如SDEdit和Text2Live)进行了比较,展示了InstructPix2Pix在图像一致性和编辑质量方面的优势。
  • 局限性与未来工作

    • 视觉质量限制:模型的性能受限于生成数据集的视觉质量和GPT-3生成指令的能力。
    • 空间推理能力:当前模型在处理涉及空间关系(如对象位置、大小和数量)的指令时存在局限性。
    • 未来研究方向:提出了未来研究方向,包括提高视觉质量、增强空间推理能力、减少偏见、实时编辑、用户反馈循环、跨领域应用、模型解释性以及安全性和隐私保护。

总的来说,InstructPix2Pix是一个创新的方法,它通过结合大型预训练模型来生成训练数据,并训练一个能够快速、直观地根据文本指令编辑图像的模型。这项工作展示了在图像编辑领域的新可能性,并为未来的研究提供了方向。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值