Conference

FashionComposer: Compositional Fashion Image Generation

Sihui Ji, Yiyang Wang, Xi Chen, Xiaogang Xu, Hao Luo, Hengshuang Zhao

The University of Hong Kong

一句话总结

FashionComposer 把文本、参数化人体、服装图与人脸图统一当作”资产”,通过一个参考 UNet 加”主体绑定注意力”,在一次前向中合成可控、多服装、身份一致的时尚人像。

研究背景

在电商场景里,商家有大量在架服装图,需要模特展示上身效果。已有的虚拟试穿方法存在明显局限:通常只能试穿单件服装,无法一次穿整套;生成图的姿态往往被参考人像固定,body shape 和姿势缺乏多样性。多主体定制方法(如 Textual Inversion、DreamBooth、Cones、Emu2、Collage Diffusion、FastComposer)要么需要昂贵的逐样本微调,要么难以保持每个物体的精细保真度。

作者提出 FashionComposer,核心是”组合性”(compositionality),体现在两方面:一是多模态输入(文本描述、控制体型与姿态的参数化人体、服装图与可选人脸图);二是多个视觉资产的组合,允许用户把想要的服装部件和人脸拖入一个”资产库”来定制生成。它在一个统一框架里同时支持可控模特图生成、虚拟试穿、多服装试穿、身份一致的人像相册等多种任务。

方法

整体框架

框架以 Stable Diffusion v1.5 为骨干,包含 VAE、去噪 UNet 和文本编码器。从 SMPL 投影得到的 densepose 图先与噪声在通道维拼接,输入去噪 UNet 执行去噪。参考 UNet 与去噪 UNet 结构相同,区别是把自注意力模块替换为主体绑定注意力,用于从”资产图”中提取外观特征并注入去噪过程。文本经 CLIP 文本编码器编码后,通过 cross-attention 注入两个 UNet。对不同任务,只需切换输入组合:常规试穿时把 4 通道的 cloth-agnostic 人像 latent 与 1 通道二值 mask 一并与噪声拼接(UNet 输入通道相应改为 9),替代 densepose 图。

flowchart LR
    SMPL[SMPL 参数] --> DP[Densepose 图]
    Noise[噪声] --> Cat[通道拼接]
    DP --> Cat
    Cat --> DenUNet[去噪 UNet]
    Text[文本提示] --> TE[文本编码器]
    TE --> DenUNet
    Asset[资产图 服装/人脸] --> RefUNet[参考 UNet]
    RefUNet --> SBA[主体绑定注意力]
    TE --> SBA
    SBA --> DenUNet
    DenUNet --> Dec[VAE 解码器]
    Dec --> Out[生成结果]

关键设计

  • 多模态数据构造:原始数据集每张目标图只配单件在架服装图。作者用 Mask2Former 做人体解析,把没有对应在架图的服装 mask 出来作为组合部件,再把在架服装、抠出的服装与人脸随机无重叠地贴在白底上构成”资产组合”;用 Qwen-VL-Chat 为目标图生成描述,用 Qwen-14B-Chat 把描述里的短语按部件归类。最终得到 165k 样本的联合多模态数据集。

  • 参考 UNet 做外观保真:参考 UNet 与去噪 UNet 同构并以 SD v1.5 初始化,从其自注意力模块取出 key/value 令牌 \(k_{ref}, v_{ref} \in \mathbb{R}^{(h \times w) \times d}\),与去噪 UNet 对应块的 key/value 拼接,去噪 UNet 的自注意力替换为 \(\text{softmax}(\frac{q_{den} \cdot [k_{den}, k_{ref}]^T}{\sqrt{d}}) \cdot [v_{den}, v_{ref}]\)。与原始做法不同,作者保留 cross-attention 的文本输入,使模型在保细节的同时仍能对齐文本。

  • 主体绑定注意力(Subject-binding Attention):解决单个参考 UNet 无法区分多个参考图的问题。把所有参考元素(任意位置、大小、数量)放进一张资产图,用一个参考 UNet 提取特征;对每个资产部件,通过下采样定位其在特征图中对应的 key/value 令牌,再把该资产对应短语的文本嵌入经每个 UNet 块独有的 MLP 后与令牌相加:\(k'_j = \text{MLP}_l(P_i) + k_j\),从而按语义把各资产特征映射到正确像素,支持任意数量与类型的参考图。

  • 身份一致的相册生成:提出 correspondence-aware attention(借助 SMPL 的 UV 坐标,仅当 \((u,v)\) 相同时才用第 1 张图的 key/value 替换第 2 到 N 张图对应令牌,保证服装保真)与 latent code alignment(先用 cross-frame attention 生成高一致性相册并保留最终去噪 latent,再用 densepose 提取人脸 mask,把人脸区域 latent 缝合进 correspondence-aware attention 的结果中),无需额外微调即可兼顾一致性与保真度。

实验结果

在多物体参考生成任务上与主流方法比较(前三行为单次前向多参考定制,后两行为基于预生成底图的两阶段 inpainting 流程):

Method CLIP-I↑ DINO↑ CLIP-T↑
Ours 77.60 40.11 27.71
Emu2 69.70 35.96 20.54
Collage Diffusion 67.80 34.16 22.14
AnyDoor+ControlNet 72.40 37.94 27.00
Paint-by-example+ControlNet 64.50 34.60 23.77

FashionComposer 在图像相似度与文本对齐两方面均优于所有对比方法。在 VITON-HD 标准试穿任务上,除 LPIPS 外全指标领先(SSIM 0.8771、paired FID 5.842、KID 0.906;unpaired FID 9.205、KID 1.3606);warping-based 方法(GP-VTON、DCI-VTON)在 SSIM/LPIPS 有优势但在 KID/FID 上更弱,说明其偏重结构与感知相似而缺乏真实细节。消融显示参考 UNet 相比 DINOv2 嵌入与 ControlNet 保真度最佳,主体绑定注意力(Bind(1,2,3))在 DINO 与用户研究的 Fidelity 上最优。

亮点与局限

亮点:把文本、参数化人体、服装、人脸统一为”资产”,用单个参考 UNet 加主体绑定注意力实现一次前向的多资产组合,避免为每个参考单独配 UNet 的计算开销;一个框架覆盖可控模特图、单/多件试穿、身份一致相册等多种应用;correspondence-aware attention 与 latent code alignment 无需微调即可生成高保真且一致的相册。

局限:骨干为较早的 SD v1.5,分辨率训练在 512×384,可能限制细节与画质上限;资产需摆放在无重叠的白底组合图上,对复杂遮挡或大量资产的实际交互成本原文未充分讨论;效果依赖 SMPL 与人体解析等一系列现成模型的准确性。

延伸思考

把异构条件统一抽象为”资产”并用注意力做语义绑定,是一种可扩展到更多可控生成场景(如场景合成、多物体编辑)的通用范式。若将骨干替换为更强的扩散或 DiT 架构,并把资产库交互做得更自动化(自动布局、自动去重叠),有望进一步提升保真度与易用性。correspondence-aware attention 借助 UV 对应做跨图令牌共享的思路,也可迁移到视频人物一致性与多视角生成等问题。