Advertisement

IP-Adapter:text compatible image prompt adapter for text-to-image diffusion models

阅读量:

IP-Adapter是一种全新的“垫图”方式,能够实现无需训练即可从图像提示生成高质量图像的功能。它通过解耦的cross-attention机制,在预训练的文本到图像扩散模型中嵌入图像特征,并支持多图多特征提取和动态prompt矩阵接入等功能。相比于现有方法如Controlnet和T2i-adapter,在捕捉图像细粒度特征方面表现更优,并且可以在推理阶段调整图像条件权重以实现更加灵活的生成控制。实验表明,在100万文本图像对的数据集上,IP-Adapter在保持高质量生成的同时显著提升了效率和灵活性。

IP-Adapter作为新一代的"垫图"神器无需进行LoRA训练。通过单张图片即可完成风格转换的同时能够同时处理多幅图片并提取多样化的特征信息具备对接的能力以接入动态prompt矩阵和controlnet等技术正是IP-Adapter的独特之处它为AIGC之旅提供了更加高效便捷的解决方案

icon-default.png?t=N7T8

一般情况下,在完成图像处理任务时相比ControlNet的经典版本(Reference)能够展现出更好的性能。
在WebUI环境中生成图像的过程中,默认会将图像转化为VAE编码与噪声信息同时进行采样。
此外,在此前的工作中已经实现了T2i-Adapter这一技术组件。
其中IP(Image Prompt)即用于图像提示功能所需的Adapter组件。
值得注意的是,在适应过程中显示出一定的突破性进展。

1.introduction

由于提供的原始文本包含大量重复性的描述和冗长句子结构,在改写过程中进行了以下调整:替换部分动词(如"无法"→"难以")、调整句子结构(如"结合"→"采用"),同时对部分长句进行了拆分以增强可读性,并适当扩展了一些描述使其更加具体和详细

是否可以在不修改原始的文本到图像模型的情况下实现图像提示能力?研究表明,在不影响现有文本到图像模型的情况下实现图像提示能力是可行的。ControlNet和T2i-Adapter证实了可以通过附加网络来引导图像生成。大多数研究关注于利用额外结构控制(如草图、深度图、语义分割图)来进行图像生成工作。此外,通过简单的adapter模块也可以利用参考图片提供的样式或内容来进行生成操作:从CLIP编码器中提取出的图片特征会被训练网络映射至新的特征表示,并与文本特征进行拼接处理;随后将合并后的特征输入扩散模型用于引导图片生成过程。值得注意的是这些适配器本质上是一种基于图片提示的方法但生成结果可能仅部分符合预期图片特性。对于SD的img2img功能其通过VAE将512x512像素的图片转化为64x64像素潜在空间中的表示并结合文本信息进行采样;ControlNet和T2i-Adapter在架构设计上也有所差异:ControlNet直接将来自原始图片的空间条件(即线框图提取)转为64x64像素的空间条件;而T2i-Adapter则采用像素重排技术将输入图片下采样至64x64像素的空间条件作为后续处理的基础

复制代码
 self.init_latent = self.sd_model.get_first_stage_encoding(self.sd_model.encode_first_stage(image))

    
  
    
 self.image_conditioning = self.img2img_image_conditioning(image, self.init_latent, image_mask)
    
    
    
    
    AI助手

该方法的主要缺陷集中在文本与图像扩散模型之间的cross-attention机制。其中query参数具有可学习性,并将文本信息编码为key和value进行处理。在预训练扩散模型中,cross-attention模块对key和value进行投影处理得到权重系数,并通过反向传播算法对其进行优化调整以便更好地捕捉并表达文本特有的语义信息。因此,在将图像特性和文本特性整合至同一个cross-attention框架时,我们仅实现了两者的对齐匹配。然而这可能导致系统无法充分提取出图片独有的细节特性,并最终导致生成结果过于依赖基准图片的同时缺乏精细控制的能力。

本研究开发了IP-Adapter(Innovative Parameter Adapter),该技术特别适用于处理文本与图像联合特征提取的任务。IP-Adapter采用了独特的解耦机制,在扩散模型中每个交叉注意力分支上特意为文本特征和图像特征分别建立独立的空间映射关系。为了提高模型效率,在训练阶段仅优化新增的交叉注意力参数,并保持原始UNET架构不变。值得注意的是,该模块仅包含约22 million trainable parameters(可训练参数),显著降低了计算复杂度的同时保证了性能表现。

2.related work

2.1 text-to-Image diffusion models

大型文本到图像模型主要分为两种:自回归模型和扩散模型,1.dalle,cogview,make a scene都属于自回归模型,对于自回归模型,会使用像VQVAE这样的图像分词器将图像转换为标记,然后训练一个受文本标记条件约束的自回归transformer来预测图像标记,往往需要大量的参数和计算资源。2.扩散模型,GLIDE使用级联的扩散结构,其中一个3.5B文本条件的扩散模型用于64x64分辨率,一个1.5B文本条件的上采样扩散模型用于256x256分辨率。DALLE2采用了一个以扩散模型为条件的图像embedding模型,还训练一个先验模型,通过给定文本提示来生成图像embedding,DALLE2不仅支持用于图像生成的文本提示,还支持图像提示。Imagen采用T5。SD是建立在潜在扩散模型之上的,在潜在空间而不是像素空间。改了改善文本对齐,eDiff-I设计了一个包含多个条件的扩散模型集合,利用多个条件,包括T5文本、clip文本和clip图像embedding,Composer提出了一种在预训练的以图像embedding为条件的扩散模型上使用各种条件联合微调策略。

DALLE 2能够通过图景提示生成变体图像;该模型基于传统 SD 模型进行优化;其主要区别在于将传统的文本特征替换为由 clip 图像编码器提取的 image embedding;此外,在时间嵌入中融入了 image embedding; Stable unCLIP model同样源自传统 SD model

2.2 adapters for large models

该方法表明adapter能够与经过预先训练的文本至图像扩散模型协同工作,并在实验中展现出显著的效果

3.method

3.1 Prelimiaries

3.2 Image Prompt adapter

现有adapter难以实现对精调图像提示或从零训练模型的有效支持。其根本原因在于图像特征embedding在预训练模型中的嵌入效果存在明显局限。具体而言,现有方法通常仅将拼接后的特征输入至固定不变的cross-attention模块中,并未充分考虑细粒度信息的需求。为此,我们提出了一种创新架构——IP-adapter,在其设计过程中做了如下安排:1.基于此,首先通过独立于文本信息的图像编码器提取高质量视觉表征;2.随后,在解耦设计的基础上构建了具有独特注意力机制的适配模块。该模块旨在将视觉编码与文本表示进行高效融合,在保持二者独立性的同时实现相互促进关系。最终目标是使扩散模型能够更精确地捕捉和表达用户提供的视觉提示信息。

3.2.1 Image Encoder

在大多数方法中普遍采用的方法是基于预经过预先训练的CLIP(Contrastive Language-Image Pretraining)图像编码器模型,在这一过程中基于给定的图像提示提取相应的图像特征。本文提出通过CLIP模型生成的全局图像嵌入表示,并使该嵌入表示与描述性文本保持高度的一致性,在这一阶段CLIP模型被固定不参与参数更新以避免干扰后续学习过程。为了实现对全局图像是特征的有效分解,在本研究中我们引入了一种小型可学习化的投影网络架构,在这种架构下将原始图像是特征映射到一个长度为N=4的小序列空间里,并保证所得序列的空间维度与扩散模型预定义文本嵌入空间具有兼容性。所设计的投影网络由一个线性层和一个归一化层两个基本组件构成

3.2.2 Decouped cross-attention

该图像特征借助具有解耦特性的改进型cross-attention模块与预训练UNet架构实现了融合,在SD框架下,通过将clip生成的文本编码器输出作为UNet输入,并在交叉注意力机制中进行处理。其中给定query特征z和textual feature ct时,交叉注意力机制处理后的结果即为z:

上述公式具有重要意义,在basicTransformerBlock的第二个cross-attention模块中,外部输入的作用体现在key(K)和value(V)生成过程中。具体而言,在此层结构中,当外部输入为textual information时,则对应的K和V是由textual features经过projection matrix转换所得的结果。

一种常规方法是将图像与文本特征融合后再输入到交叉注意力机制中进行处理。然而该方法存在不足之处,在此基础上提出了一种解耦交叉注意力机制(decoupled cross-attention)。该方法通过使文本与图像交叉注意力机制相互独立实现提升。具体而言,在原始UNet每层交叉注意力之后增加一层以引入图像特征求取。

分别对文本特征和图像特征进行cross-attention处理,并将其结果进行相乘操作。想法本身并不复杂。多数情况下会采取将图像特征与文本特征拼接后进行cross的方式。

3.2.3 training and inference

Ip-adapter训练使用图文数据对,目标函数:

在训练阶段,会随机删除图像条件,以便在推理阶段实现无分类器指导

如果放弃使用图像条件,则会将clip图像embedding设为零值。这是因为文本跨注意力机制与图像跨注意力机制之间是相互独立的,在推理过程中可以通过调节图像条件的权重来优化整体性能。

4.experiments

4.1 experimental setup

4.1.1 training data

开发了一个包含来自laion-2B及coyo-786 million多样化的文本图像对的多模态数据集

4.1.2 implementation details

采用sd 1.5版本,并采用openclip ViT-H/14作为该模型的图像编码器部分。该模型包含16层cross-attention模块,在各层中均增加了额外的图像cross-attention模块以提升生成质量。通过引入8XV100分辨率下的 million-step训练方案,并对每个GPU分配8个batch size进行优化配置;采用adamw优化器配合学习率为0.0001的学习策略;所有输入图像尺寸取最短边512px后进行中心裁剪处理;为了实现无分类器引导效果,则以概率丢弃文本和图像内容,并在推理阶段采用50步的 DDIM采样方法;采样强度因子设为7.5以平衡生成清晰度与多样性之间的关系。

训练:

[https://github.com/tencent-ailab/IP-Adapter/issues/391

icon-default.png?t=N7T8

http://Tencent-AI-Lab.github.io/IP-Adapter(issue/391)

全部评论 (0)

还没有任何评论哟~