In-Context Brush: Zero-shot Customized Subject Insertion with Context-Aware Latent Space Manipulation
Institute of Computing Technology, Chinese Academy of Sciences; University of Chinese Academy of Sciences; University of Konstanz; National Cheng-Kung University
一句话总结
本文提出 In-Context Brush:一个免训练(training-free)、零样本的定制主体插入框架,把”把参考物体按文本要求’刷’进目标图像指定区域”这一任务重新表述为上下文学习(in-context learning, ICL)范式,并在预训练 MM-DiT 修复网络上通过双层隐空间操纵(注意力头内隐特征平移 + 注意力头间重加权)实现高保真身份保持与强文本可控性,无需任何微调或额外数据。
研究背景
图像定制的一个实用而困难的场景是:把一个用户指定的主体插入到已有图像的特定区域,同时要求(1)对主体保持高语义保真、(2)与背景在上下文上和谐融合、(3)能用文本灵活调整插入主体的姿态、属性、交互等。现有路线各有短板:
- 早期方法用主体嵌入替换文本条件,能可视化指定主体,却因此丧失了用文本引导生成的能力,结果常常不符合用户意图。
- 一类方法通过微调模型来学习主体,再用额外编辑模块插入场景,但存在主体过拟合、编辑可控性下降的问题;两阶段方法(先学主体嵌入再插入)同样受制于逐主体训练,难以落地。
- 近期免训练方法(如基于反演与融合的做法)避免了调参,但从反演得到的低维隐表示本身限制了文本控制精度,主体语义与提示引导之间缺乏显式对齐。
- 现有基于 ICL 的图像生成方法多停留在浅层的图文对应(如像素到文字的匹配),难以解耦并迁移抽象的主体语义,且任务特定的条件机制常把主体身份与环境上下文混为一谈,限制了对新颖”主体-场景”组合的零样本泛化。
因此,如何在免训练框架下同时兼顾身份一致性、背景和谐与文本可控性,仍是待解难题。
方法
给定含待插入主体的主体图像 \(I_c\)、提供背景上下文的目标图像 \(I_s\)、描述期望输出的文本提示 \(p\),以及指定插入区域的二值掩码 \(m\),目标是把 \(I_c\) 中的主体在 \(p\) 的引导下迁移进 \(I_s\) 的掩码区域,得到输出 \(I_{gen}\)。
用 ICL 范式重构主体插入
方法以多模态扩散 Transformer(MM-DiT)为骨干。借鉴大语言模型里的 ICL:把提示 \(p\) 与主体图像 \(I_c\) 联合作为示范(demo)提供上下文信息,把目标图像 \(I_s\) 作为查询(query)。具体做法是把主体图像与目标图像拼接成单张输入 \(I_{in} = [I_c; I_s]\),掩码相应扩展为 \(M = [0; m]\)。为了干净地隔离主体,先用 Grounding DINO 与 SAM 去除 \(I_c\) 的原始背景。于是输出可形式化为:
\[ [I_c; I_{gen}] = G_\theta\big(p, [I_c; I_s], [0; m]\big) \]
作者提出的是”特征级”的 ICL:把主体特征从 demo 迁移到 query,而非仅学习任务规则。
关键设计 1:隐特征平移实现主体注入
设注意力输入嵌入 \(X = \mathrm{Concat}([x_p, x_c, x_s])\),其中三段分别对应提示、主体、目标。注意力输出隐状态可写为 \(\hat h = \mathrm{Concat}([h_p, h_c, h_s])\)。作者只关注 \(h_s\),因为它直接决定 \(I_{gen}\)。将其按交叉注意力形式展开:
\[ h_s = \alpha_p \cdot h(demo\_p) + \alpha_c \cdot h(demo\_c) + \alpha_s \cdot h(query) \]
其中 \(\alpha_p + \alpha_c + \alpha_s = 1\),各 \(\alpha\) 是归一化后不同隐状态间的注意力权重之和。这揭示出:ICL 的本质是把无 demo 的原始输出 \(h(query)\) 沿 \(h(demo\_p)\) 与 \(h(demo\_c)\) 指示的方向做一次隐特征平移,平移距离由 DiT 的注意力机制自动决定。
据此提出”特征平移注入”:直接放大 \(\alpha_p\)、\(\alpha_c\) 的影响,把分别用注意力图 \(A_{s,p}\)、\(A_{s,c}\) 与对应值特征 \(v_p\)、\(v_c\) 计算的结果加到输出上:
\[ \hat h_s = h_s + \alpha_1 A_{s,p} v_p + \alpha_2 A_{s,c} v_c \]
\(\alpha_1\)、\(\alpha_2\) 控制平移强度,从而在免训练下把主体与提示的隐状态注入输出图像,捕获主体级关系并生成一致的主体。
关键设计 2:头间重加权增强文本控制
即便有特征平移,插入主体常保留参考图中不希望的属性(如颜色、材质),即使提示要求改变。作者基于”不同注意力头具有语义专门化”的发现,提出头间重加权:利用 demo 中 \(h(demo\_p)\) 的注意力图 \(A_{p,s}\) 估计哪些头最被提示词激活。先在每个头 \(h\) 上计算激活值:
\[ V_h = \sum_{i,j} \big(A^{(h)}_{p,s}\big)_{i,j} \]
再跨头归一化:
\[ \hat V_h = \frac{V_h - \min(V)}{\max(V) - \min(V)} \]
最后按归一化激活值对各头的查询隐状态重加权:
\[ \hat h_h(query) = h_h(query) \cdot \hat V_h \]
这样模型强调与提示相关的语义、抑制无关头,从而更忠实地按用户意图编辑。
关键设计 3:Token 融合保证插入一致性
由于插入主体与背景存在语义差异,掩码区域的隐特征在多步采样中会逐渐偏离原始分布,进而在下一步给出错误引导,累积后导致边缘不规则、色调不一致等不和谐融合。为此提出 token 融合:设第 \(t\) 步去噪输出隐状态为 \(w^t\),对 \((1-M)\cdot I_{in}\) 加噪得到 \(w^{t-1}_{in}\),再按掩码把它与当前步输出 \(w^{t-1}_{out}\) 融合:
\[ w^{t-1}_{out} = w^{t-1}_{in} + M \cdot w^{t-1}_{out} \]
保证每一步插入区域都由无偏的背景语义正确引导,增强插入主体与背景上下文的一致性。
实验结果
评测数据集包含 100 张主体图像与 130 张场景图像,主体取自 DreamBooth 数据集(30 主体、15 类)并额外从网络收集主体与场景,场景取自 COCO 与网络图片。对比 8 个先进方法,涵盖基于训练的 Break-a-scene、Swap-anything、DreamEdit、IC-LoRA,以及免训练的 TF-ICON、TIGIC、PrimeComposer、Diptych,还包括两组两阶段组合基线。评价用 DINO、CLIP-I 衡量身份对齐(Injection),CLIP-T 衡量文本对齐(Editing),FID 衡量整体质量。
主结果(数值越优越好,FID 越低越好):
| 方法 | DINO Inj↑ | CLIP-I Inj↑ | CLIP-T Edit↑ | FID↓ |
|---|---|---|---|---|
| Break-a-scene | 0.7041 | 0.7128 | 0.2820 | 217.81 |
| Swap-anything | 0.7058 | 0.7275 | 0.2296 | 190.69 |
| IC-LoRA | 0.7005 | 0.6891 | 0.2624 | 149.75 |
| TF-ICON | 0.7053 | 0.7235 | 0.2234 | 169.04 |
| PrimeComposer | 0.7029 | 0.7124 | 0.2300 | 166.85 |
| Diptych | 0.6559 | 0.7225 | 0.2287 | 179.28 |
| Flux-Fill | 0.6798 | 0.7668 | 0.2667 | 127.18 |
| Ours w/o head | 0.7115 | 0.7882 | 0.2682 | 123.82 |
| Ours w/o blend | 0.7116 | 0.7901 | 0.2703 | 129.47 |
| Ours | 0.7121 | 0.7957 | 0.2834 | 122.61 |
本文方法在身份对齐、文本对齐与图像质量上综合领先。编辑分(Editing CLIP-T 的某一列)略低于 Break-a-scene 与 Swap-anything,作者归因于这两个基于训练的方法语义表达更自由、不受参考约束,但本文在 CLIP-I 与 CLIP-T 上更稳健且无需训练。在细粒度的主体/背景分区一致性评测中(DINO、CLIP-I 分别评主体与背景),本文在全部四项指标上均最高,显示更好的主体保真与背景保持。
用户研究:65 名参与者(含 25 名图形/视觉研究者),每人评 35 个案例,共 6825 票。本文在身份对齐偏好(约 66%)、编辑对齐偏好(约 73%)、整体质量偏好(约 62%)上均获最高。
消融:随 \(\alpha_1\) 增大文本表达增强、\(\alpha_2\) 增大身份对齐增强,但过大(如 0.5)会降低图像质量,需按图平衡;去掉 token 融合后 FID 升高、CLIP-T 下降,主体与背景交互变差;去掉头间重加权(所有头等权)后受参考先验影响难以按提示编辑(如把白瓷茶壶改成金属材质、把衣服改成白色都失败),FID 升高、CLIP-T 下降。此外用基础 Flux-Fill 拼接管线做基线,能大致生成相似主体但细节对齐不足,且编辑时身份一致性显著下降,说明缺少本文机制时模型学不到语义级信息。
应用:虚拟试衣(把指定服装迁移到目标人物并保身份、跟提示);组合式生成(用掩码逐步插入多件家具做室内设计);局部插入(把参考车轮、椅腿等特定部件插入目标对应位置)。
亮点与局限
亮点:
- 把定制主体插入重构为特征级 ICL,并从理论上证明主体级特征可通过在注意力隐状态上做”平移”来注入,给出可解释的免训练机制。
- 双层隐空间操纵:头内特征平移负责主体注入、头间重加权负责文本可控,二者互补,兼顾身份保持与提示遵循。
- token 融合缓解多步采样中的分布漂移,改善插入主体与背景的融合一致性。
- 完全免训练、无需额外数据采集,即插即用于预训练 MM-DiT,并展示了虚拟试衣、组合生成、局部插入等多种应用。
局限:
- 当目标图像中含有与主体相似的物体时,自注意力会引用相似的上下文特征,导致生成结果在外观上出现与背景相同的特征(如生成车辆窗户上出现与背景对应位置相似的图案)。作者建议未来对注意力机制引入约束来缓解。
延伸思考
本文最有价值的地方在于把”主体插入”这一编辑任务放进 ICL 的解释框架,并把注意力输出的变化解析成 demo 方向上的隐特征平移——这为一大类免训练编辑方法(反演、注意力共享、特征注入)提供了统一而可操作的视角:与其在低维反演隐码里挣扎,不如直接在注意力隐状态层面按方向平移并对头做语义级筛选。头间重加权揭示的”属性覆盖失败源于参考先验主导特定注意力头”也很有启发,指向一条通过注意力头语义分析来提升文本可控性的通用路径。局限中相似上下文相互串扰的问题,本质上是自注意力不加区分地共享全局特征所致,未来给注意力加入区域/来源约束(例如显式区分 demo 与 query 的贡献边界)可能是让这类免训练插入更鲁棒的关键。