paper | https://arxiv.org/abs/2404.02733 |
---|---|
code | https://github.com/InstantStyle/InstantStyle |
org | InstantX |
个人博客位置 | http://myhz0606.com/article/instantStyle |
前置阅读:IP-Adapter
Motivation
InstantStyle
为了解决Tuning-free reference image style transfer的问题。其核心思路架构沿用IP-adapter
。但IP-adapter
在做reference image 风格迁移时有两个痛点
- content leakage。
- image condition的引入会导致text condition变弱
虽然通过调节image weight能够缓解这个问题,但需要手动调节weight,并且不能保证成功。InstantStyle
针对上述两个痛点进行了优化。
Method
Instant-style
的核心架构还是IP-Adapter
。主要进行了两个优化:
优化1 :设计了一个简单但有效的方法对reference image的object和style进行解离来缓解content-leakage问题。
记reference image为 R R R,reference image的object text为 P r e f P_{ref} Pref,原始IP-adapter所得到的reference image的image embedding为
L N ( P r o j ( C L I P E n c o d e r i m g ( R ) ) ) \mathrm{LN}(\mathrm{Proj}(\mathrm{CLIPEncoder}_{\mathrm{img}}(R))) LN(Proj(CLIPEncoderimg(R)))
而instant-style所得到的image embedding为:
L N ( P r o j ( C L I P E n c o d e r i m g ( R ) − C L I P E n c o d e r t e x t ( P r e f ) ) ) \mathrm{LN}(\mathrm{Proj}(\mathrm{CLIPEncoder}_{\mathrm{img}}(R) - \mathrm{CLIPEncoder}_{\mathrm{text}}(P_{ref}))) LN(Proj(CLIPEncoderimg(R)−CLIPEncodertext(Pref)))
其中
L
N
\mathrm{LN}
LN为linear normalization
,
P
r
o
j
\mathrm{Proj}
Proj为全连接层,用于调整权重。
简单来说,就是将CLIP得到的image feature减去object feature。
优化2:减少decouple-cross-attention的替换数量,提升IP-Adapter的prompt following能力。
作者通过对不同的DM中不同的attention layer进行分析,发现up blocks.0.attentions.1和down blocks.2.attentions.1对style和layout的捕捉能力最强。为了减轻IP-adapter中的image condition对prompt following的影响,仅在这两层将cross attention换成decouple cross-attention。
(感觉这部分的实验不够充分)
代码位置:https://github.com/InstantStyle/InstantStyle/blob/main/ip_adapter/ip_adapter.py#L165
Result
两个优化策略的消融实验
和其它工作的对比结果
更多细节见原文。
参考文献
[1] IP-Adapter: Text Compatible Image Prompt Adapter for Text-to-Image Diffusion Models
[2] InstantStyle: Free Lunch towards Style-Preserving in Text-to-Image Generation