跳转至

PROMO: Promptable Outfitting for Efficient High-Fidelity Virtual Try-On

会议: CVPR 2026
arXiv: 2603.11675
代码: 无(小红书团队)
领域: 图像生成 / 虚拟试穿
关键词: 虚拟试穿, Flow Matching DiT, 多条件生成, 时序自参考, 穿搭风格控制

一句话总结

PROMO基于FLUX Flow Matching DiT骨干,通过潜空间多模态条件拼接、时序自参考KV缓存、3D-RoPE分组条件、以及fine-tuned VLM风格提示系统,在去除传统参考网络的前提下实现了高保真且高效的多件服装虚拟试穿,推理速度比无加速版快2.4倍,在VITON-HD和DressCode上超越现有VTON和通用图像编辑方法。

背景与动机

虚拟试穿(VTON)是电商的核心能力,帮助消费者在线获取可靠的穿搭参考、减少退货。当前主流方法存在三类问题:(1) 早期warping方法(TPS、appearance flow)在遮挡和大变形下表现差;(2) GAN方法难以保留精细服装细节和自然人体几何;(3) 扩散模型方法虽大幅提升写实度,但普遍依赖参考网络(Reference Net)来编码服装特征——如IDM-VTON、OOTDiffusion、FitDiT等使用一整个额外网络,导致参数量翻倍、初始化和交互逻辑复杂、推理缓慢。此外,现有方法大多忽略穿搭风格控制(如衣服是束入裤子还是放在外面),或依赖闭源VLM(如PromptDresser用GPT-4o)来生成风格描述。

核心问题

如何在不使用参考网络的前提下,实现高保真的多件服装虚拟试穿?具体子问题:(1) 如何高效注入多种异构条件(人物图、多件服装、pose、mask)而不膨胀计算量?(2) 如何利用Flow Matching DiT的结构实现推理加速?(3) 如何实现可控的穿搭风格(如"前束""合身"等)?

方法详解

整体框架

PROMO建立在FLUX.1-dev(Flow Matching DiT)骨干上,采用LoRA(rank=128,580M可训练参数)微调。整体流程:给定人物图\(I_P\)、服装图\(\{I_{G_i}\}\)和可选风格文本\(T_{style}\),模型生成穿着目标服装的新图像\(I_{new}\)。条件注入方式是潜空间多模态拼接:将mask后的人物图、各件服装图、以及合并后的pose+mask条件,分别通过统一VAE编码到潜空间后拼接为条件token序列,与去噪潜变量\(z_t\)和文本嵌入一起送入DiT。不同条件根据信息密度使用不同分辨率(服装和人物用原始分辨率,pose+mask降采样到25%),避免了IC-LoRA等方法要求所有拼接图像统一分辨率的问题。

关键设计

  1. 时序自参考(Temporal Self-Reference): 核心加速机制。在推理时,条件token(服装图\(C_i\))的Key-Value对在第一个时间步计算并缓存,后续时间步仅计算\(z_t\)\(T_{style}\)的Query,复用缓存的条件KV。这样避免了每步都对服装条件做全量注意力计算,实现接近无损的质量下2.4倍加速(22.2s→9.2s)。注意力设计中,\(z_t\)\(T_{style}\)具有全局可见性,而各\(C_i\)仅自注意。
  2. 3D-RoPE分组条件: 利用RoPE的时间维度作为条件组标识符——\(z_t\)的时间编码为0,空间条件为\(i\),服装条件为\((i, x, y+\Delta)\)。这种无参数方法实现了关键能力:单件服装训练、多件服装推理(单次前向即可,无需迭代累积误差)。对模型区分"哪件衣服穿在哪里"至关重要。
  3. 空间条件合并(Spatial Condition Merging): 将pose条件直接粘贴到agnostic mask图上,然后整体2倍降采样。这将原本2N个token的双条件表示压缩到N/4,实现87.5%的token缩减,大幅降低注意力计算开销。
  4. 精确身体形状估计: 原始DensePose在宽松服装下估计失真导致信息泄露。PROMO使用EOMT模型,通过迭代式图像生成训练方式,训练出对衣物遮挡鲁棒的pose+shape估计模型。
  5. 区域感知损失加权(Region-Aware Loss): 利用下采样16倍的人体解析mask构建权重图,身体区域权重\(1+\lambda\)、背景权重\(1-\lambda\)\(\lambda=0.5\)),使模型聚焦服装细节而不被背景干扰。
  6. 风格提示系统(Style Prompt System): 用Qwen2.5-VL-72B标注少量数据,严格过滤后微调Qwen2.5-VL-7B。7B模型比72B更快且更准确(因为训练数据全部合规)。使用Pydantic生成的OpenAPI JSON schema引导输出结构化穿搭描述。支持多件服装的风格描述,解决了PromptDresser仅支持单件服装且依赖闭源模型的问题。
  7. TryOff模块: 当无独立服装图时,从模特图中提取服装区域,支持非配对数据训练和推理。

损失函数 / 训练策略

  • Flow Matching目标 + 区域感知加权:\(\mathcal{L} = \mathbb{E}_{t,z_0,\epsilon}[\mathbf{W} \odot \|\mathbf{v} - \mathbf{v}_\theta(z_t, t, \mathbf{c})\|^2]\)
  • 解析mask下采样时的加权损失设计:因16倍下采样丢失细节,对解析区域采用加权方案保留区分度
  • 使用Prodigy优化器(自适应学习率,默认lr=1),16×H800 GPU,有效batch size 16,训练90K步
  • 训练数据为VITON-HD + DressCode训练集,分辨率1024×768

实验关键数据

数据集 指标 PROMO Any2AnyTryon OOTDiffusion CatVTON 提升
VITON-HD (paired) SSIM↑ 0.8913 0.9107 0.8883 0.8944 第二
VITON-HD (paired) LPIPS↓ 0.0887 0.1208 0.0800 0.1600 第二
VITON-HD (paired) FID↓ 3.3103 3.0828 3.6623 6.5372 第二
VITON-HD (paired) KID↓ 0.4902 1.0565 0.8550 3.9591 最佳
VITON-HD (unpaired) FID↓ 4.7393 5.5404 7.0463 8.4567 最佳
VITON-HD (unpaired) KID↓ 0.4992 1.5258 2.7910 4.4897 最佳
DressCode (paired) LPIPS↓ 0.1111 0.1569 0.1905 0.1882 最佳

vs 通用图像编辑模型: 在VITON-HD和DressCode上全面超越Seedream 4.0、Qwen-Image-Edit、Nanobanana(Gemini 2.5-Flash-Image),通用编辑模型在VTON任务上色彩不一致、伪影明显。

用户研究(In-The-Wild): 13人物×40服装=520组,9名标注者评估: | 方法 | 纹理一致 | 体型一致 | 风格一致 | 颜色一致 | 总体优秀率 | |------|----------|----------|----------|----------|------------| | PROMO | 93.65% | 94.62% | 96.92% | 97.88% | 84.42% | | Huiwa | 94.42% | 88.85% | 94.80% | 99.04% | 78.85% | | Kling | 87.12% | 93.46% | 79.87% | 96.53% | 60.19% | | Douyin | 96.73% | 79.04% | 85.19% | 95.77% | 61.54% |

消融实验要点

  • 3D-RoPE: 移除后所有指标大幅下降(FID 3.31→6.73,KID 0.49→1.72),模型无法正确区分不同条件组,生成出现明显错穿和伪影。这是最关键的组件。
  • 风格提示: 移除后FID从3.31升至3.72、KID从0.49升至0.89,证明文本引导对质量有正面作用,同时提供风格可控性。
  • 区域感知损失: 移除后unpaired KID从0.50升至0.95,在复杂背景场景中尤为明显。
  • 时序自参考: 从22.2s降至9.2s(2.4倍加速),SSIM/LPIPS/FID几乎不变,证明条件KV缓存近乎无损。
  • 空间条件合并: 从11.1s降至9.2s(1.2倍加速),质量指标无明显变化,验证了利用空间冗余降低token数的合理性。

亮点

  • "做减法"的工程哲学: 不用参考网络、不用显式warping、不用闭源VLM,每个设计选择都在简化系统的同时提升性能。用KV缓存替代参考网络的思路非常巧妙
  • 3D-RoPE的妙用: 将RoPE时间轴重新定义为条件组ID,零参数实现多条件分组,且支持训练时单件→推理时多件的泛化
  • VLM蒸馏的实用范式: 大模型标注→严格过滤→小模型微调,得到的7B模型反而比72B更准(因为只见过合规数据)。这个模式可广泛复用
  • 全面的商业级评估: 不仅在学术benchmark上评测,还与Huiwa、Kling、抖音等商业产品做用户研究对比,总体优秀率84.42%领先

局限性 / 可改进方向

  • Paired SSIM/LPIPS不是最优: 在paired setting下略逊于Any2AnyTryon的SSIM,说明像素级重建精度还有提升空间
  • 依赖人体解析和DensePose: 前处理流程仍较重,需要分割模型和pose估计模型,端到端简化是一个方向
  • 仅公开benchmark评估: 论文提到自收集的in-the-wild数据集但未公开
  • 多件服装推理的质量保证: 3D-RoPE实现了单件训练→多件推理,但多件服装之间的交互(如上下装搭配协调)在训练时未直接优化
  • LoRA微调限制: 仅用LoRA微调可能限制模型对VTON特有分布的适应能力,全参数微调可能进一步提升

与相关工作的对比

  • vs FitDiT: 同为DiT-based VTON方法,FitDiT使用双网络架构(主DiT+参考DiT),PROMO通过时序自参考避免参考网络,参数量更少、推理更快
  • vs IDM-VTON/OOTDiffusion: 使用UNet+参考网络架构,PROMO在DressCode上LPIPS大幅领先(0.111 vs 0.190),体现了DiT骨干的优势
  • vs CatVTON: 同为拼接式条件注入,但CatVTON在图像空间拼接要求统一分辨率,PROMO在潜空间拼接且不同条件用不同分辨率
  • vs PromptDresser: 同有风格控制能力,但PromptDresser依赖GPT-4o(闭源、费token、仅支持单件服装),PROMO自训练的7B VLM更高效准确
  • vs 通用编辑模型(Seedream/Qwen/Gemini): 通用模型在VTON任务上色彩不一致、细节丢失严重,专用VTON模型仍有明显优势

启发与关联

  • 时序自参考(KV缓存复用)的思路可迁移到其他多条件生成任务,如图像编辑、多主体定制等
  • 3D-RoPE分组条件的设计可能适用于任何需要区分多个参考图的场景
  • VLM大→小蒸馏的流程对工业界构建低成本标注pipeline有参考价值
  • VTON作为结构化图像编辑的formulation,暗示VTON的训练数据可以反过来用于训练通用编辑模型

评分

  • 新颖性: ⭐⭐⭐⭐ 时序自参考在DiT上的应用、3D-RoPE分组条件、VLM蒸馏风格系统均有新意,整体是对已有技术的精巧组合
  • 实验充分度: ⭐⭐⭐⭐⭐ 在VITON-HD、DressCode、In-The-Wild三个数据集上评测,与VTON方法和通用编辑模型全面对比,消融实验覆盖所有关键设计,还有与商业产品的用户研究
  • 写作质量: ⭐⭐⭐⭐ 系统设计讲解清晰,图表丰富,但部分公式符号定义可以更紧凑
  • 价值: ⭐⭐⭐⭐ 工业导向的实用框架,多个技术设计可迁移到其他条件生成任务