跳转至

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 的问题,设计了两阶段蒸馏流程:

  1. 设计多件服装 JSON schema,用 Pydantic 生成 OpenAPI 规范(LLM 解析更可靠)。
  2. 先用 Qwen2.5-VL-72B 标注小数据集 → 严格过滤 → 微调 Qwen2.5-VL-7B。
  3. 微调后的 7B 模型速度更快、精度反超 72B 标注模型(因训练数据全部合规)。

5. 精确人体形状估计

标准 DensePose 在宽松服装(如长裙)上产生失真结果,导致信息泄漏。本文利用 EOMT + 迭代图像生成训练,开发出对服装遮挡鲁棒的姿态与形状估计模型,有效防止衣物遮挡下的信息泄漏。

损失函数 / 训练策略

区域感知加权损失(Region-Aware Loss Weighting):利用人体解析结果区分身体和背景区域,下采样 16× 匹配 latent 分辨率,对身体区域加权 \(1+\lambda\)、背景区域加权 \(1-\lambda\)\(\lambda=0.5\)):

\[\mathcal{L}_{\text{weighted}} = \mathbb{E}_{t, \mathbf{z}_0, \boldsymbol{\epsilon}} \left[ \mathbf{W} \odot \| \boldsymbol{v} - \boldsymbol{v}_\theta(\mathbf{z}_t, t, \mathbf{c}) \|^2 \right]\]

训练配置: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

关键发现

  1. 3D-RoPE 是最关键组件:移除后所有指标大幅退化(FID 3.31→6.73),模型无法正确区分不同条件的语义角色。
  2. Temporal Self-Reference 带来 2.4× 加速:推理时间 22.24s→9.18s,质量近乎无损。
  3. 空间条件合并减少 87.5% 条件 token:推理从 11.10s 降至 9.18s,质量不受影响。
  4. 用户研究中 PROMO 整体优秀率 84.42%,超过绘唐(78.85%)、抖音(61.54%)和可灵(60.19%)等商业系统。
  5. 大幅优于通用图像编辑模型:Seedream 4.0、Qwen Image Edit、Gemini 2.5-Flash 在 VTON 任务上存在明显色彩不一致和伪影。

亮点与洞察

  1. "条件不需要同分辨率":这一朴素洞察让 mask+pose 条件压缩到 12.5%,证明在条件注入中应考虑信息密度差异。
  2. 无参数的 3D-RoPE 分组编码:仅通过位置编码区分条件组,优雅地实现了单件训练→多件推理的泛化,无需引入任何新参数。
  3. KV 缓存跨时间步复用:条件在 denoising 过程中不变,因此只需计算一次 KV,这个设计思路对所有条件生成任务都有启发性。
  4. 蒸馏优于直接用大模型:7B 微调模型精度反超 72B 标注模型,因为训练数据经过严格过滤,数据质量 > 模型规模。
  5. 将 VTON 重新定义为结构化编辑:这个视角使框架天然可迁移到更广泛的图像编辑任务。

局限与展望

  1. SSIM 不是最优:在 paired 设置下 SSIM 并非最高(Any2AnyTryon 0.911 vs PROMO 0.891),像素级重建精度仍有提升空间。
  2. 人体姿态依赖强:需要 DensePose 和 DWPose 预处理,这些估计器在极端姿态下仍可能失准。
  3. Parsing Area Loss 在干净背景下提升有限:在 benchmark 数据集上效果边际,主要在 in-the-wild 场景体现,说明公开数据集复杂度不足。
  4. 缺少视频试穿扩展:仅支持单帧生成,可探索引入 temporal consistency 扩展到视频试穿。
  5. 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 结构清晰,整体可读性良好

相关论文