T2I-Adapter Learning Adapters to Digout More Controllable Ability for Text-to-Image Diffusion Models

T2I-Adapter: Learning Adapters to Dig out More Controllable Ability for Text-to-Image Diffusion Models

TL; DR:本文提出 T2I-Adapter,给 SD 外接一个适配器,可根据线稿、人体姿态等条件图输入来控制生成图的空间位置,还可以通过输入参考图来控制生成图色彩的空间分布。具有即插即用、结构简单小巧、灵活、可组合、可泛化的优点。

在这里插入图片描述

方法

Stable Diffusion训练回顾

I2T-Adapter 是基于 SD 的,这里先回顾一下 SD 的训练。

SD 是一种两阶段的 diffusion 模型,包括一个自编码器(Autoencoder,不太清楚为啥这里的 ae 要叫做 vae)和一个 unet 去噪器。在第一阶段,SD 先训练自编码器,它由 encoder 和 decoder 两部分组成。encoder 可以将一张图片映射到 latent 空间中,decoder 则可以将 latent 空间中的一个表示解码为真实图片。在第二阶段,SD 在 latent 空间中训练一个去噪 unet 模型。优化过程的形式定义如下:
L = E Z t , C , ϵ , t ( ∣ ∣ ϵ − ϵ θ ( Z t , C ) ∣ ∣ 2 2 ) \mathcal{L}=\mathbb{E}_{Z_t,C,\epsilon,t}(||\epsilon-\epsilon_\theta(Z_t,C)||^2_2) L=EZt,C,ϵ,t(∣∣ϵϵθ(Zt,C)22)
其中 Z t = α t ˉ Z 0 + 1 − α t ˉ ϵ ,     ϵ ∈ N ( 0 , I ) Z_t=\sqrt{\bar{\alpha_t}}Z_0+\sqrt{1-\bar{\alpha_t}}\epsilon,\ \ \ \epsilon\in\mathcal{N}(0,I) Zt=αtˉ Z0+1αtˉ ϵ,   ϵN(0,I) 表示第 t t t 步的噪声特征图, C C C 表示条件信息, ϵ θ \epsilon_\theta ϵθ 指的是 unet 去噪网络。

在推理阶段,从高斯噪声中随机采样一个 latent 空间的噪声图 Z T Z_T ZT ,给定 Z T Z_T ZT, 模型 ϵ θ \epsilon_\theta ϵθ 预测在条件 C C C 下的每一步的噪声残差,通过不断地减去每一步预测出的噪声残差,latent 空间的噪声图得以去噪。在 T T T 步之后,得到去噪结果特征图 Z ^ 0 \hat{Z}_0 Z^0 。然后将其送入自编码器的 decoder 生成真实图片。至于这个条件,在文生图的 SD 中,使用的是预训练的 CLIP text encoder ,将文本 prompt 编码为 embedding y y y。然后用一个交叉注意力模型将 y y y 结合到去噪过程中,具体形式如下:
Q = W Q ϕ ( Z t ) ; K = W K τ ( y ) ; V = W V τ ( y ) Attention ( Q , K , V ) = softmax ( Q K d ) V Q=W_Q\phi(Z_t); K=W_K\tau(y); V=W_V\tau(y)\\ \text{Attention}(Q,K,V)=\text{softmax}(\frac{QK}{\sqrt{d}})V Q=WQϕ(Zt);K=WKτ(y);V=WVτ(y)Attention(Q,K,V)=softmax(d QK)V
其中 ϕ \phi ϕ τ \tau τ 是两个可学习的映射层, W Q , W K , W V W_Q,W_K,W_V WQ,WK,WV 则是可学习的映射矩阵。

T2I-Adapter

T2I-Adapter 的概览如图所示。整个预训练的 SD 模型参数在 T2I-Adapter 的训练中都是冻结的,只有 adapter 部分是可学习的。adapter 可以有很多不同的网络,分别用于理解不同的输入条件图。

在这里插入图片描述

Adapter设计

adapter结构

由于 SD 的扩散过程是发生在 latent 空间,T2I-Adapter 通过 pixel shuffle 将输入条件图降采样的为 latent 空间的特征图。adapter 的结构就是一堆卷积堆起来,一共分为四组,分别处理 64,32,16,8 四组分辨率大小的特征图,具体结构如上图右下角所示。其每组的输出接到 unet encoder 对应分辨率的各层。

空间结构控制

T2I-Adapter 可以处理多种空间结构条件图输入,如线稿图、深度图等。空间结构控制的方法就是直接由对应的 adapter 提取输入条件的特征图,并输入给 unet encoder。

空间色彩调色

除了空间结构控制之外,T2I-Adapter 还可以用于调整生成图像中各个位置的颜色。本文的做法是 bicubic 降采样来抹除掉输入色彩条件图的语义和空间结构,而保持其色彩的空间分布信息,再采用最近邻插值将图片上采样回原图尺寸大小。这样,我们就得到了色彩块的空间排布。然后同样使用对应的 adapter 来提取色彩条件的特征图,输入给 unet encoder。

在这里插入图片描述

多adapter控制

除了单条件控制,T2I-Adapter 还支持组合多种条件进行控制。并且不需要额外进行训练。只需要在推理时对各种条件的特征图进行加权并加起来就行了。

在这里插入图片描述

模型优化

T2I-Adapter 所需的训练数据是一种三元组的形式,包括原始图片、条件图和文本 prompt。优化的目标和 SD 相近,只需要将额外的条件图输入到 adapter 中即可。

按说 adapter 如果能同时输入当前的时间步 t t t 的信息的话,对条件的控制会更精细,但这会导致 adapter 的结构更加复杂,不符合 adapter 设计简单小巧的初衷。为了弥补 adapter 时间步输入的缺失,作者提出了一种非均匀的立方时间步采样方法。我们知道,从 DDPM 开始,diffusion 模型的训练的时间步 t t t 都是均匀采样的。但是作者发现,对于空间结构控制的 adapter 微调,early、middle、late 三个时间步阶段中,early 阶段对空间结构的控制最为关键,因此非均匀的时间步采样方法会在 early 阶段有更大的采样概率。这也符合直观的理解:early 阶段会形成图像的大致轮廓,middle、late 阶段是为图像细化更多的细节信息。

可以看到,非均匀的立方采样方法,相比均匀采样方法,对条件的控制更加精准,差距在空间色彩上更为明显,

在这里插入图片描述

实验结果

总结

T2I-Adapter 保持预训练 SD 的参数不动,通过为不同的空间结构条件图训练一个轻量的 adapter,实现了对生成结果的空间结构控制和空间色彩控制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值