PROMO: Promptable Outfitting for Efficient High-Fidelity Virtual Try-On¶
会议: CVPR2026
arXiv: 2603.11675
代码: 无
领域: image_generation
关键词: virtual try-on, diffusion transformer, flow matching, multi-condition generation, promptable editing
一句话总结¶
基于 Flow Matching DiT 的虚拟试穿框架,通过 latent 多模态条件拼接、时序自参考缓存机制和 3D-RoPE 分组条件注入,在保持高保真度的同时大幅降低推理开销,支持多件服装试穿和文本提示控制穿搭风格。
研究背景与动机¶
虚拟试穿(VTON)是电商场景的核心能力,可为消费者提供免试穿的穿搭参考、降低退货率。该领域经历了从 warping-based → GAN-based → diffusion-based 的演进,扩散模型在视觉保真度上取得显著突破,但现有方法存在三个核心痛点:
架构复杂度高:IDM-VTON、FitDiT 等方法需要额外的 reference network 来编码服装特征,参数量翻倍,初始化和交互逻辑复杂。
推理效率低:双网络架构导致采样速度慢,难以在质量与速度间取得平衡。
穿搭风格不可控:部分方法直接用图像编码器替代文本编码器,丧失了文本控制能力;PromptDresser 虽引入 prompt 控制,但依赖闭源 VLM(GPT-4o)提取风格描述,成本高且精度有限。
作者将 VTON 重新定义为结构化图像编辑问题,需要同时满足三个关键要求:主体保持、纹理忠实迁移、无缝融合。在此视角下,本文提出 PROMO 框架:无需 reference network、支持 prompt 控制穿搭风格、推理速度大幅提升。
方法详解¶
整体框架¶
PROMO 构建在 FLUX.1-dev(Flow Matching DiT)之上,通过 LoRA(rank=128,580M 可训练参数)微调所有线性层。输入包括:
- 人物图像 \(I_P\)(遮挡后的 \(\tilde{I}_P\))
- 服装图像集 \(\{I_{G_i}\}_{i=1}^N\)
- 可选的穿搭风格描述 \(T_{style}\)
- 姿态和分割掩码信息
所有图像条件通过统一编码器 \(\mathcal{E}\) 映射到 latent 空间,与噪声 latent \(\mathbf{z}_T\) 拼接后送入 Flow Matching 模型,最终经 VAE decoder 生成试穿结果。
关键设计¶
1. 空间条件高效注入(Spatial Condition Merging)¶
与 IC-LoRA 等方法在像素级拼接不同,PROMO 认识到 mask 和 pose 条件存在大量信息冗余,不需要与输出同分辨率。因此:
- 对 mask 和 pose 条件在像素空间做 2× 下采样(height 和 width),token 数降至 25%。
- 将 pose 条件直接粘贴到 agnostic mask 上,进一步合并。
- 最终 token 数仅为原始双条件表示的 12.5%(87.5% 压缩率),大幅提升训练和推理效率。
2. Temporal Self-Reference 机制¶
传统 reference network 需要完整的参数副本。PROMO 借鉴 FastFit 的思路,将其扩展到 DiT 框架:
- 每个条件 \(C_i\) 仅自注意;文本 \(T_{style}\) 和 latent \(z_t\) 具有全局可见性。
- 推理时:在第一个时间步缓存所有条件 \(C_i\) 的 Key-Value 对,后续步骤仅用包含 \(T_{style}\) 和 \(z_t\) 的 Query 与缓存的 KV 交互。
- 效果:无需参数翻倍,质量近乎无损,推理速度从 22.24s 降至 9.18s(约 2.4× 加速)。
3. 3D-RoPE 分组条件编码¶
利用 RoPE 位置编码的时间维度作为条件组标识符,无参数地区分空间条件与服装条件:
- 空间条件:\((t,x,y)_{\mathcal{C}_i} = (i, x, y)_{Z_t}\)
- 服装条件:\((t,x,y)_{\mathcal{C}_i} = (i, x, y + \Delta)_{Z_t}\)
这是一种无参数方法,支持单件训练、多件推理,一次前向传播完成,避免迭代累积误差。消融实验表明,移除 3D-RoPE 后 FID 从 3.31 大幅退化到 6.73。
4. Style Prompt System¶
为解决 PromptDresser 依赖 GPT-4o 的问题,设计了两阶段蒸馏流程:
- 设计多件服装 JSON schema,用 Pydantic 生成 OpenAPI 规范(LLM 解析更可靠)。
- 先用 Qwen2.5-VL-72B 标注小数据集 → 严格过滤 → 微调 Qwen2.5-VL-7B。
- 微调后的 7B 模型速度更快、精度反超 72B 标注模型(因训练数据全部合规)。
5. 精确人体形状估计¶
标准 DensePose 在宽松服装(如长裙)上产生失真结果,导致信息泄漏。本文利用 EOMT + 迭代图像生成训练,开发出对服装遮挡鲁棒的姿态与形状估计模型,有效防止衣物遮挡下的信息泄漏。
损失函数 / 训练策略¶
区域感知加权损失(Region-Aware Loss Weighting):利用人体解析结果区分身体和背景区域,下采样 16× 匹配 latent 分辨率,对身体区域加权 \(1+\lambda\)、背景区域加权 \(1-\lambda\)(\(\lambda=0.5\)):
训练配置:16 × H800 GPU,batch size 16,90K 步,Prodigy 优化器(默认学习率 1),数据集为 VITON-HD + DressCode 训练集,分辨率 1024×768。
实验关键数据¶
主实验:与 VTON 方法对比(DressCode + VITON-HD,Paired 设置)¶
| 方法 | DC-SSIM↑ | DC-LPIPS↓ | DC-FID↓ | DC-KID↓ | VH-SSIM↑ | VH-LPIPS↓ | VH-FID↓ | VH-KID↓ |
|---|---|---|---|---|---|---|---|---|
| LaDI-VTON | 0.756 | 0.380 | 5.47 | 1.93 | 0.872 | 0.153 | 6.85 | 1.38 |
| CatVTON | 0.894 | 0.160 | 6.54 | 3.96 | 0.867 | 0.188 | 9.44 | 4.74 |
| OOTDiffusion | 0.888 | 0.080 | 3.66 | 0.86 | 0.792 | 0.191 | 32.89 | 20.08 |
| Any2AnyTryon | 0.911 | 0.121 | 3.08 | 1.06 | 0.871 | 0.157 | 7.12 | 2.18 |
| PROMO | 0.891 | 0.089 | 3.31 | 0.49 | 0.862 | 0.111 | 6.89 | 1.49 |
PROMO 在 KID 指标上全面最优(DC: 0.49 vs 次优 0.86;VH: 1.49 vs 次优 1.38),LPIPS 表现也很优秀;Unpaired 设置下 KID 优势更明显(DC: 0.50 vs 次优 1.53;VH: 1.92 vs 次优 2.05)。
消融实验(DressCode 数据集)¶
| 消融变体 | SSIM↑ | LPIPS↓ | FID↓ | KID↓ | unp-FID↓ | unp-KID↓ | 推理时间(s) |
|---|---|---|---|---|---|---|---|
| w/o parsing area loss | 0.890 | 0.087 | 3.28 | 0.51 | 4.64 | 0.95 | — |
| w/o style prompt | 0.890 | 0.093 | 3.72 | 0.89 | 5.35 | 0.62 | — |
| w/o 3D-RoPE | 0.870 | 0.130 | 6.73 | 1.72 | 7.82 | 2.28 | — |
| w/o Temporal Self-Ref | — | — | 3.31 | 0.80 | 4.74 | 0.53 | 22.24 |
| w/o Spatial Token Merging | — | — | 3.49 | 0.51 | 4.85 | 0.49 | 11.10 |
| PROMO (full) | 0.891 | 0.089 | 3.31 | 0.49 | 4.74 | 0.50 | 9.18 |
关键发现¶
- 3D-RoPE 是最关键组件:移除后所有指标大幅退化(FID 3.31→6.73),模型无法正确区分不同条件的语义角色。
- Temporal Self-Reference 带来 2.4× 加速:推理时间 22.24s→9.18s,质量近乎无损。
- 空间条件合并减少 87.5% 条件 token:推理从 11.10s 降至 9.18s,质量不受影响。
- 用户研究中 PROMO 整体优秀率 84.42%,超过绘唐(78.85%)、抖音(61.54%)和可灵(60.19%)等商业系统。
- 大幅优于通用图像编辑模型:Seedream 4.0、Qwen Image Edit、Gemini 2.5-Flash 在 VTON 任务上存在明显色彩不一致和伪影。
亮点与洞察¶
- "条件不需要同分辨率":这一朴素洞察让 mask+pose 条件压缩到 12.5%,证明在条件注入中应考虑信息密度差异。
- 无参数的 3D-RoPE 分组编码:仅通过位置编码区分条件组,优雅地实现了单件训练→多件推理的泛化,无需引入任何新参数。
- KV 缓存跨时间步复用:条件在 denoising 过程中不变,因此只需计算一次 KV,这个设计思路对所有条件生成任务都有启发性。
- 蒸馏优于直接用大模型:7B 微调模型精度反超 72B 标注模型,因为训练数据经过严格过滤,数据质量 > 模型规模。
- 将 VTON 重新定义为结构化编辑:这个视角使框架天然可迁移到更广泛的图像编辑任务。
局限与展望¶
- SSIM 不是最优:在 paired 设置下 SSIM 并非最高(Any2AnyTryon 0.911 vs PROMO 0.891),像素级重建精度仍有提升空间。
- 人体姿态依赖强:需要 DensePose 和 DWPose 预处理,这些估计器在极端姿态下仍可能失准。
- Parsing Area Loss 在干净背景下提升有限:在 benchmark 数据集上效果边际,主要在 in-the-wild 场景体现,说明公开数据集复杂度不足。
- 缺少视频试穿扩展:仅支持单帧生成,可探索引入 temporal consistency 扩展到视频试穿。
- Style Prompt System 需要额外训练:72B→7B 蒸馏流程仍有一定部署门槛。
相关工作与启发¶
- FastFit:Temporal Self-Reference 机制直接源于 FastFit 在 UNet 上的 KV 缓存设计,PROMO 将其扩展到 DiT 架构。
- OminiControl / OminiControl2:空间条件下采样思路来源于此,PROMO 进一步做了 pose-mask 合并压缩。
- FLUX Kontext:3D-RoPE 分组条件的灵感来源,但 Kontext 仅支持单图像条件,PROMO 扩展到多服装场景。
- PromptDresser:同为 prompt 可控 VTON,但依赖 GPT-4o;PROMO 的蒸馏方案更实用、更精确。
评分¶
| 维度 | 分数 (1-10) | 说明 |
|---|---|---|
| 创新性 | 7 | 单个组件并非全新,但组合方式巧妙,3D-RoPE 和 KV 缓存在 VTON 中的应用有新意 |
| 技术深度 | 8 | 涵盖条件注入、位置编码、缓存加速、VLM 蒸馏等多个技术点,每个都有深入分析 |
| 实验充分度 | 8 | 双数据集 + in-the-wild + 商业系统对比 + 用户研究 + 完整消融,覆盖全面 |
| 实用价值 | 9 | 直接面向电商部署,推理加速效果显著,小红书自研系统的工程经验丰富 |
| 写作质量 | 7 | 结构清晰,整体可读性良好 |
相关论文¶
- [CVPR 2026] Few-shot Acoustic Synthesis with Multimodal Flow Matching
- [CVPR 2026] Garments2Look: A Multi-Reference Dataset for High-Fidelity Outfit-Level Virtual Try-On with Clothing and Accessories
- [CVPR 2026] DiT-IC: Aligned Diffusion Transformer for Efficient Image Compression
- [CVPR 2026] EgoFlow: Gradient-Guided Flow Matching for Egocentric 6DoF Object Motion Generation
- [CVPR 2026] CARE-Edit: Condition-Aware Routing of Experts for Contextual Image Editing