【AIGC】InstructPixPix:基于文本引导的图像编辑技能
github:diffusers/examples/instruct_pix2pix/train_instruct_pix2pix_sdxl.py at main · huggingface/diffusers · GitHub论文:https://arxiv.org/pdf/2211.09800
择要
我们提出了一种从人类指令编辑图像的方法:给定一个输入图像和告诉模子做什么的书面指令,我们的模子遵循这些指令来编辑图像。为了获得这个题目的训练数据,我们结合了两个大型预训练模子(语言模子 (GPT-3) 和文本到图像模子 (Stable Diffusion))的知识,以天生大量图像编辑示例数据集。我们的条件扩散模子 InstructPix2Pix 在我们天生的数据上举行了训练,并在推理时推广到真实图像和用户编写的指令。由于它在前向传递中实行编辑,并且不需要每个示例的微调或反转,因此我们的模子在几秒钟内快速编辑图像。我们展示了对不同集合输入图像和书面指令的令人佩服的编辑效果。
先容
我们提出了一种教学天生模子的方法,以遵循人工编写的指令举行图像编辑。由于此使命的训练数据难以大规模获取,我们提出了一种天生成对数据集的方法,该数据集结合了在不同模态上预训练的多个大型模子:大型语言模子 (GPT-3 ) 和文本到图像模子 (Stable Diffusion )。这两个模子捕获了有关语言和图像的增补知识,这些知识可以结合起来为跨越两种模态的使命创建成对的训练数据。
使用我们天生的成对数据,我们训练了一个条件扩散模子,该模子给定输入图像和文本指令怎样编辑它,天生编辑后的图像。我们的模子直接在前向传递中实行图像编辑,不需要任何额外的示例图像、输入/输出图像的完整描述或每个示例微调。尽管完全担当了合成示例的训练(即天生的书面说明和天生的图像),我们的模子实现了对任意真实图像和天然人工编写的指令的零样本泛化。我们的模子实现了直观的图像编辑,可以遵循人类指令来实行多样化的编辑集合:更换对象、更改图像的样式、更改设置、艺术前言等。选定的示例可以在图 1 中找到。
方法
我们将基于指令的图像编辑视为监视学习题目:(1)首先,我们在编辑前后天生文本编辑指令和图像的配对训练数据集(第 3.1 节,图 2a-c),然后(2)我们在这个天生的数据集上训练图像编辑扩散模子(第 3.2 节,图 2d)。尽管是用天生的图像和可编辑指令,我们的模子能够泛化到使用任意人工编写的指令编辑真实图像。有关我们方法的概述,请参见下图2。
https://i-blog.csdnimg.cn/direct/99b66ed539ba461194dcd21421ad314a.png
我们的方法由两部门构成:天生图像编辑数据集,并在该数据集上训练扩散模子。(a) 我们首先使用微调的 GPT-3 来天生指令和编辑的标题。(b) 然后,我们使用 StableDiffusion 结合 Prompt-to-Prompt 从字幕对天生图像对。我们使用此过程来创建超过 450,000 个训练示例的数据集 (c)。(d) 最后,我们在天生的数据上训练我们的 InstructPix2Pix 扩散模子,以从指令编辑图像。在推理时,我们的模子可以推广到从人工编写的指令中编辑真实图像
天生多模态训练数据集
我们结合了两种在不同模态上运行的大规模预训练模子的本领——大型语言模子 和文本到图像模子 ——以天生包含文本编辑指令的多模式训练数据集以及编辑前后的相应图像。在接下来的两节中,我们将具体描述此过程的两个步调。在第 3.1.1 节中,我们描述了微调 GPT-3 以天生文本编辑集合的过程:给定一个描述图像的提示,天生一个描述要举行更改的文本指令,以及一个描述该更改后图像的提示(图 2a)。然后,在第 3.1.2 节中,我们描述了使用文本到图像模子 将两个文本提示(即编辑前后的)转换为一对对应图像的过程(图 2b)。
天生指令和配对提示词
我们首先完全在文本范畴举行操作,我们使用一个大型语言模子来获取图像标题,并在编辑后天生编辑说明和最终的文本标题。例如,如图2a所示,提供“一个女孩骑马的照片”的输入标题,我们的语言模子既可以天生一个公道的编辑指令“让她骑马”,也可以天生一个适当修改的输出标题“一个女孩骑马的照片”。在文本域中操作使我们能够天生大量不同的编辑集合,同时保持图像更改和文本指令之间的对应关系。我们的模子是通过在一个相对人工编写的编辑三元组小数据集:(1)输入标题,(2)编辑指令,(3)输出标题。为了天生微调数据集,我们从LAION-Aesthetics V2 6.5+数据集中采样了700个输入标题,并手动编写指令和输出标题。关于我们的书面指令和输出标题的示例,请参见表1a。使用这些数据,我们使用默认训练参数对GPT-3达芬奇模子举行了单个epoch的微调。
得益于GPT-3的丰富知识和泛化本领,我们的微调模子能够天生创造性但明智的说明和说明。例如GPT-3天生的数据见表1b。我们的数据集是通过使用此训练模子天生大量编辑和输出标题来创建的,此中输入标题是来自LAION-Aesthetics的真实图像标题(不包罗具有重复标题或重复图像url的样本)。我们之所以选择LAION数据集,是由于它的大小、内容的多样性(包罗对专有名词和盛行文化的引用)和前言的多样性(照片、绘画、数字艺术品)。LAION的一个潜在缺点是它非常嘈杂,并且包含许多无意义或描述性的标题——然而,我们发现通过数据集过滤(第3.1.2节)和无分类器指导(第3.2.1节)的组合可以减轻数据集噪声。我们天生的指令和标题的最终语料库由454,445个示例构成。
https://i-blog.csdnimg.cn/direct/60d458c11f4542cd826e0c41d194594a.png
表1。我们标记了一个小型文本数据集,微调GPT-3,并使用该微调模子天生一个大型文本三元组数据集。作为标记示例和天生示例的输入标题,我们使用来自LAION的真实图像标题。高亮显示的文本是由GPT-3天生的。
从配对字幕天生配对图像
接下来,我们使用预训练的文本到图像模子将一对字幕(参考编辑前后的图像)转换为一对图像。将一对字幕转换为一对相应的图像的一个挑衅是,文本-图像模子不能包管图像的一致性,纵然在条件的非常微小的厘革下也是如此提示。例如,两个非常相似的提示:“一只猫的图片”和“一只黑猫的图片”可能会产生大相径庭的猫的图像。这并不适合我们的目的,我们计划使用这些配对数据作为监视来训练模子来编辑图像(而不是产生不同的随机图像)。因此,我们使用了Prompt-to-Prompt,这是一种近来的方法,旨在鼓励文本到图像扩散模子的多代相似。这是通过在一些去噪步调中借用交织注意权重来完成的。图3显示了使用和不使用Prompt-to-Prompt的采样图像的比较。
https://i-blog.csdnimg.cn/direct/b0ae779dbffd4ba581585f1185016784.png
图3。使用StableDiffusion和不使用Prompt-to-Prompt天生的一对图像。两者对应的标题都是“女孩骑马的照片”和“女孩骑马的照片”。
固然这极大地有助于吸收天生的图像,但不同的编辑可能需要对图像空间举行不同程度的更改。例如,较大幅度的厘革,例如那些改变大规模图像结构的厘革(例如,四处移动物体,用不同形状的物体更换),可能对天生的图像对的相似性要求较低。荣幸的是,Prompt-to-Prompt有一个参数可以控制两个图像之间的相似性:具有共享注意力权重的去噪步调p的比例。不幸的是,仅从标题和编辑文本中识别p的最佳值是很困难的。因此,我们为每个标题对天生100个样本对图像,每个图像具有随机的p ~ U(0.1, 0.9),并对这些图像举行过滤 使用基于CLIP的度量:Gal等人引入的CLIP空间中的方向相似性。该度量度量两个图像(在CLIP空间中)之间的厘革与两个图像标题之间的厘革的一致性。实行这种过滤不仅有助于最大限度地提高图像对的多样性和质量,而且还使我们的数据天生对提示到提示和稳定扩散的失败更加健壮。
InstructPix2Pix
我们使用天生的训练数据来训练一个条件扩散模子,该模子可以根据书面指令编辑图像。我们的模子基于稳定扩散,这是一种大规模文本到图像的潜在扩散模子。
扩散模子学习通过一系列去噪自编码器来天生数据样本,这些自编码器估计数据分布的分数(指向更高密度数据的方向)。埋伏扩散通过在预训练的具有编码器E息争码器d的变分自编码器的埋伏空间中运行,提高了扩散模子的效率和质量。对于图像,扩散过程在编码的埋伏z = E(x)中添加噪声,产生噪声埋伏zt,此中噪声程度随着时间步长t∈t而增长。我们学习了一个网络θ,在给定图像条件cI和文本指令条件cT的情况下,该网络可以预测添加到噪声潜在zt中的噪声。我们最小化以下潜在扩散目标:
https://i-blog.csdnimg.cn/direct/fee4166dc7ff4d55a9f26b83f2b272f7.png
两种条件下的无分类器引导
无分类器扩散指导是一种衡量扩散模子天生的样本质量和多样性的方法。它通常用于类条件图像和文本条件图像天生,以提高天生图像的视觉质量,并使采样图像更好地与其条件相对应。无分类器引导有效地将概率质量向数据转移,此中隐式分类器pθ(c|zt)将高似然性分配给条件c。无分类器引导的实现包罗联合训练扩散模子举行条件和无条件去噪,并在推理时组合两个得分估计。无条件去噪的训练是通过在训练期间简单地将条件设置为某个频率下的固定零值c=∅来完成的。在推理时,当引导量表s≥1时,在di中外推修正的得分估计值eθ(zt,c)-朝向条件eθ(zt,c),阔别无条件eθ。
https://i-blog.csdnimg.cn/direct/1ad47e8a74d8404e8d722ba0b2ce5803.png
对于我们的使命,分数网络eθ(zt,cI,cT)有两个条件:输入图像cI和文本指令cT。我们发现,在两种条件下使用无分类器指导是否有益。Liu等人证明,条件扩散模子可以从多个不同的条件值中组合分数估计。我们将雷同的概念应用于具有两个单独条件输入的模子。在训练过程中,我们随机设置5%的样本只有cI=∅I,5%的样本只有cT=⇼T,5%的示例同时有cI=?I和cT=?T。因此,我们的模子能够对两个或两个条件输入举行条件或无条件的去噪。我们引入了两个指导量表,sI和sT,可以调整它们来衡量天生的样本与输入图像的对应程度和它们与编辑指令的对应程度。我们修改后的分数估计如下:
https://i-blog.csdnimg.cn/direct/216057e94ee546a4b02ac56cebc51cad.png
在图4中,我们显示了这两个参数对天生样本的影响。关于我们的无分类器引导公式的具体信息,请参见附录B
https://i-blog.csdnimg.cn/direct/8ed09bdd8b1143e2a9427794371042a0.png
效果
我们在一组不同的真实照片和艺术品上展示了基于指令的图像编辑效果,用于各种类型的编辑和指令笔墨。所选效果见图1、5、6、7、11、12、15、16、17、18和19。我们的模子成功地实行了许多具有挑衅性的编辑,包罗更换对象、更改季候和天气、更换背景、修改材质属性、转换艺术前言等。
我们将我们的方法与近来的几部作品SDEdit和Text2Live举行了定性比较。我们的模子遵循怎样编辑图像的说明,但之前的工作(包罗这些基线方法)需要对图像(或编辑层)举行描述。因此,我们为他们提供了“编辑后”的笔墨说明,而不是编辑说明。我们还将我们的方法与SDEdit举行了定量比较,使用了两个衡量图像一致性和编辑质量的指标,如第4.1节所述。最后,我们在第4.2节中展示了天生的训练数据的大小和质量怎样影响我们模子的性能。
https://i-blog.csdnimg.cn/direct/bcf40197c70e40e780ee814ebb10aef1.png 图5。蒙娜丽莎变成了各种艺术前言。
https://i-blog.csdnimg.cn/direct/792efa669df94467b2d312a70e9896c5.png
图6。亚当的创造与新的背景和主题(以768分辨率天生)。
https://i-blog.csdnimg.cn/direct/1a402ee1315a48d4b12da1f261b1423a.png
图7。披头士乐队标记性的专辑《艾比路》封面以各种方式发生了厘革。
训练设置
我们在8×40GB NVIDIA A100 GPU上训练我们的图像编辑模子,在25.5小时内完成10000步。我们以256×256的分辨率举行训练,总批量大小为1024。我们应用随机程度翻转增强和裁剪增强,此中图像首先在256和288像素之间随机调整大小,然后裁剪到256。我们使用10−4的学习率(没有任何学习率预热)。从Stable Diffusion v1.5查抄点的EMA权重初始化我们的模子,并采用公共Stable Diffusion代码库中的其他训练设置。固然我们的模子是在256×256分辨率下训练的,但我们发现它在推理时很好地推广到512×512分辨率,并在本文中使用Kerras等人提出的具有去噪方差调度的Euler祖先采样器在512分辨率下天生了100个去噪步调的效果。在A100 GPU上使用我们的模子编辑图像约莫需要9秒。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]