InstructPix2Pix(CVPR2023)-图像编辑论文解读


论文: 《InstructPix2Pix: Learning to Follow Image Editing Instructions》
github: https://github.com/timothybrooks/instruct-pix2pix

1.摘要

本文提出一种根据人类引导编辑图像的方法InstructPix2Pix:输入一张图片及告诉模型做什么的引导语,我们的模型将会跟随引导语编辑图像。为获得解决该问题的训练集,作者结合两个大预训练模型的知识:GPT-3、Stable Diffusion,用于生成图像编辑数据集。InstructPix2Pix在生成数据集上训练,但是可泛化到真实数据并且实现用户引导。因为该方案在前向过程进行编辑,无需finetune或转换,可在秒级完成图像编辑。作者展示了令人信服的编辑结果。

2.背景

GPT捕获关于语言的知识,Stable Diffusion捕获关于图像的知识,两者结合用于生成跨越两模态的成对训练集。
InstructPix2Pix在前向过程直接进行图像编辑,无需额外样例图、对输入/输出图的描述或逐样本finetune。
尽管InstructPix2Pix利用生成数据进行训练,但可零样本泛化到真实图片中。可进行各种编辑任务:替换目标、改变图片风格、改变背景、艺术风格等等,如图1所示。
在这里插入图片描述

3.算法

作者将基于引导的图像编辑任务看作有监督学习问题:
1. 生成成对训练集,包括图像编辑指令及编辑前后的图像;图2a-c
2. 在生成数据集训练图像编辑扩散模型;图2-d

在这里插入图片描述

3.1 生成多模态训练集

3.1.1生成指令及成对caption

一个LLM可利用输入图caption生成编辑指令及编辑后图片caption。如图2a所示,输入caption:“photograph ofa girl riding a horse”,LLM可生成编辑指令“have her ride a dragon”及编辑后输出caption:“photograph ofa girl riding a dragon”。
上述过程用到的语言模型通过在小批量人工编写的数据集上finetune GPT-3获得的。该finetune数据集,作者通过在LAION-Aesthetics V2 6.5+中采样700条输入caption获得。如表1所示。受益于GPT-3广博的知识和概括能力,我们finetune的模型能够生成合理instruction及caption。
在这里插入图片描述

3.1.2 依据成对的caption生成成对的图像

将一对caption转换为对应图像的挑战在于当prompt发生变化时,不能保证图像一致性。比如:“a picture ofa cat”及“a picture ofa black cat”可能会生成非常不同的猫,不利于训练模型进行图像编辑。因此作者使用Prompt-to-Prompt,使得生成图像尽量相似,如图3展示使用Prompt-to-Prompt前后结果。Prompt-to-Prompt中参数p可控制两张图相似性,作者对每个caption对生成100个样本对,随机参数 p ∼ U ( 0.1 , 0.9 ) p ∼ U(0.1, 0.9) pU(0.1,0.9),通过CLIP进行过滤样本
在这里插入图片描述

3.2 InstructPix2Pix

为了支持图像作为条件输入,作者在第一个卷积层增加channel,将 z t z_t zt ϵ ( c I ) \epsilon(c_I) ϵ(cI) concat
Classifier-free扩散引导用于平衡生成样本质量及多样性,联合训练扩散模型用于有条件及无条件去噪,推理时将两估计得分结合,通过参数 s s s控制,如式2所示
在这里插入图片描述
对于本任务,得分网络 e θ ( z t , c I , c T ) e_θ(z_t, c_I, c_T) eθ(zt,cI,cT) 有两个条件,作者引入两个引导参数 S I 、 S T S_I、S_T SIST,更改后的得分估计如式3,图4展示两参数影响。
在这里插入图片描述
在这里插入图片描述

4.实验结果

4.1基线比较

如图9,作者与Text2Live、SDEdit进行定性比较。尽管SDEdit能够保证内容一致,同时风格变化,但是它需要目标图的description而不是instruction。
在这里插入图片描述
与SDEdit定量比较如图8,纵轴表示CLIP图像相似性,通过计算CLIP image embedding余弦相似性实现,用于表示编辑后的图像与编辑前图像一致性;横轴表示CLIP图文相似性,用于表示编辑后图像与caption一致性。与SDEdit相比,作者所提方法在相同图文一致性时,具有更高的图像一致性。
在这里插入图片描述

4.2消融实验

图10展示消融实验量化结果,降低数据集大小将导致降低更大图像编辑能力,仅保证图像一致性,但无法保证图文一致性;移除数据集CLIP过滤,导致与输入图的一致性降低
在这里插入图片描述
图4展示两个引导参数 S I 、 S T S_I、S_T SIST影响,增大 S T S_T ST使得与instruction更加一致,增大 S I S_I SI使得与输入图更加一致

5.结论

作者证明大语言模型与文生图模型结合生成数据集,用于根据instruction训练扩撒模型。虽然能够进行令人信服的图像编辑,但是仍存在一些限制

  1. 受限于生成数据集图像质量
  2. 受限于模型泛化到新编辑instruction的能力
  3. 视觉变化与instruction做出正确关联度受限于finetune GPT-3人工编写的instruction、GPT-3的能力、Prompt-to-Prompt能力
  4. 在目标数量计数及空间推理方面存在问题。如图13
    在这里插入图片描述
  5. 在数据及预训练模型的偏置有可能继承至InstructPix2Pix中,如图14。
    在这里插入图片描述
    作者同时提出一些问题:如何根据instruction进行空间推理;如何将instruction与其他条件模态结合;如何评估基于instruction的图像编辑;强化学习策略可能用于改进模型与人类意图之间一致性。
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
pix2pix-GAN是一种用于图像转换的深度学习模型,它可以将一种类型的图像转换为另一种类型的图像。在这个问题中,您提到了"pix2pix-gan ct mr",我假设您想了解如何使用pix2pix-GAN模型将CT扫描图像转换为MR扫描图像。 为了使用pix2pix-GAN模型进行CT到MR图像的转换,您需要进行以下步骤: 1. 数据准备:首先,您需要准备一个包含CT和MR图像对的数据集。这些图像对应该是配对的,即每个CT图像都有一个对应的MR图像。您可以使用医学图像处理软件或库来获取这些图像对,并确保它们具有相同的尺寸和对应的结构。 2. 数据预处理:在将图像输入pix2pix-GAN模型之前,您可能需要对图像进行一些预处理。例如,您可以对图像进行归一化、裁剪或调整大小,以确保它们具有相同的尺寸和范围。 3. 模型训练:接下来,您需要使用准备好的数据集来训练pix2pix-GAN模型。您可以使用已经实现的pix2pix-GAN模型,如上述提到的https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix。该库提供了一个训练脚本,您可以使用该脚本来训练您的模型。在训练过程中,模型将学习如何将CT图像转换为MR图像。 4. 模型测试和应用:一旦您的模型训练完成,您可以使用它来进行图像转换。您可以将一个CT图像输入到模型中,并获得一个对应的MR图像作为输出。这样,您就可以使用pix2pix-GAN模型将CT图像转换为MR图像。 请注意,以上步骤只是一个基本的概述,实际应用中可能还需要进行更多的调整和优化。此外,确保您遵循适当的法律和伦理规定,以及获得必要的许可和数据使用权。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值