虚拟试衣算法

论文来源亮点
IDM-VTON: Improving Diffusion Models for Authentic Virtual Try-on in the WildECCV2024利用sdxl unet encode和IP-adapter分别提取服饰的低层和高层特征注入网络,并使用详细的服饰描述词
V-VTON: Multi-View Virtual Try-On with Diffusion ModelsAAAI 2025支持多角度试衣,通过同时输入正面和背面服饰,并设计正背面特征选择模块实现
IMAGDressing: Interactive Modular Apparel Generation for Virtual DressingAAAI 2025基于sd1.5,开源30w图像对数据
CatVTON: Concatenation Is All You Need for Virtual Try-On with Diffusion Models中山大学基于Flux效果尚可,以较小的训练代价实现试衣
MMTryon: Multi-Modal Multi-Reference Control for High-Quality Fashion Generation中山大学parser-free方案,不依赖分割,并可实现套装试衣,控制服饰开合及叠穿顺序等
FitDiT: Advancing the Authentic Garment Details for High-fidelity Virtual Try-on腾讯效果测试最好,专门设计服饰特征提取网络保持服饰细节,并通过随机扩大服饰mask区域增强模型对服饰长短的适配能力
Learning Flow Fields in Attention for Controllable Person Image Generationmeta提出leffa loss,不增加模型参数,可大幅提升细节保持能力,同时支持姿势迁移
StableVITON: Learning Semantic Correspondence with Latent Diffusion Model for Virtual Try-OnCVPR2024试衣
CAT-DM: Controllable Accelerated Virtual Try-on with Diffusion ModelCVPR2024试衣
Texture-Preserving Diffusion Models for High-Fidelity Virtual Try-OnCVPR2024试衣
PICTURE: PhotorealistIC virtual Try-on from UnconstRained dEsignsCVPR2024试衣
M&M VTO: Multi-Garment Virtual Try-On and EditingCVPR2024试衣
SD-VITON-Virtual-Try-OnAAAI2024试衣
Magic Clothing: Controllable Garment-Driven Image SynthesisACM Multimedia 2024试衣
Outfitting Fusion based Latent Diffusion for Controllable Virtual Try-onxiao-i高赞,应用classifer-free策略,较好保持服饰细节特征
Magic Clothing: Controllable Garment-Driven Image SynthesisACM Multimedia 2024试衣
Controllable Human Image Generation with Personalized Multi-GarmentsKAIST套装试衣,模特随机生成
PromptDresser: Improving the Quality and Controllability of Virtual Try-On via Generative Textual Prompt and Prompt-aware MaskKAIST使用详细的prompt提升效果,并提出服饰mask调整策略,实现coarse-fine二阶段生成
AnyDressing : Customizable Multi-Garment Virtual Dressing via Latent Diffusion ModelsByteDancemask free实现试衣
BooW-VTON: Boosting In-the-Wild Virtual Try-On via Mask-Free Pseudo Data Training阿里mask free实现试衣

其他参考论文:
In-Context LoRA for Diffusion Transformers
Group Diffusion Transformers are Unsupervised Multitask Learners

PromptDresser

PromptDresser: Improving the Quality and Controllability of Virtual Try-On via Generative Textual Prompt and Prompt-aware Mask

解决问题:

如何更好的利用text信息,提升试衣效果

解决思路:

  1. 利用GPT4o对模特/服饰的特定类别进行标注,采用few-shot模式,然后将结果组合成详细prompt输入网络,具体的类别选择:在这里插入图片描述

  2. 提出服饰mask区域生成策略,解决服饰松紧长短等试衣形态,在尽可能保留模特/背景等与服饰无关的区域同时,避免受原服饰形态影响
    整体结构:
    在这里插入图片描述
    Tips
    1.整体结构采用sd xl inpainting模型,reference U-Net提取的服饰feature与对应的生成unet的k,v进行concat,然后再做self-attention

  3. 训练时的mask是用服饰区域mask做膨胀后与coarse mask做交集得到:在这里插入图片描述

  4. 测试时,先用coarse mask输入生成网络推理a次,得到初步试衣结果后提取服饰区域,然后和原图的服饰mask区域做并集,最后将结果输入网络进行30-a次的生成,假设30是总生成次数:在这里插入图片描述

  5. 加入densepose信息会导致原服饰形状泄漏,效果变差

OOTDiffusion

OOTDiffusion: Outfitting Fusion based Latent Diffusion for Controllable Virtual Try-on

解决问题:

如何提升虚拟试衣效果

解决思路:

  1. 使用reference结构,并采用outfitting fusion将服饰信息注入生成unet
  2. 训练是使用outfitting dropout策略,即以10%的概率不注入服饰信息,即应用classifer-free策略,消融实验证明,选取合适的cfg值能较好提升模型服饰细节保持能力

整体结构:
在这里插入图片描述
Tips

  1. 整体结构采用sd 1.5,unet输入channel为8,nosie+masked image,Outfitting UNet和Denoising UNet同时进行训练
  2. 将服饰图像信息和文本信息用clip进行编码并concat一起通过cross attention注入Outfitting UNet和Denoising UNet
  3. 服饰特征是通过outfitting fusion注入Denoising UNet,将Outfitting UNet的feature map和Denoising UNet的feature map在width维度concat一起,然后进行self-attention,并取Denoising UNet的那一半作为结果:在这里插入图片描述
  4. 训练时采用classifer-free策略,以10%的概率随机取消Outfitting UNet的服饰特征在这里插入图片描述

Leffa

Learning Flow Fields in Attention for Controllable Person Image Generation

解决问题:

如何以最小代价增强模型细节保持能力

解决思路:

提出Leffa loss:通过融合reference unet和主unet的特征参数,计算得到flow field,显式的实现warp,得到服饰的warp图,并与真实结果计算l2 loss:
在这里插入图片描述
在这里插入图片描述

整体结构:
在这里插入图片描述
Tips

  1. 采用reference unet结构,reference unet的输出是通过空间concat注入到主unet,即在宽(高)维度concat,然后进行self-attention
  2. 去除text encoder模块及text注入的cross attention模块
  3. Leffa loss仅用在finetune阶段,一开始就用会影响正常的生成效果,并且仅在较高分辨率的attention map上计算,低分辨率warp效果不理想;同时也仅在较低的timesteps使用,较高的timesteps噪声过多

MMTryon

MMTryon: Multi-Modal Multi-Reference Control for High-Quality Fashion Generation

解决问题:

如何减小推理代价,避免因分割导致试衣badcase;如何进行person to person并实现套装试衣;如何控制试衣效果,比如拉拉链/不拉拉链,上下装叠穿顺序

解决思路:

优化思路:

  1. 引入多模态和多参考图注意力机制,将参考图片和服饰描述融合在一起,实现控制试衣效果和套装试衣,控制试衣效果主要依赖prompt以及试衣模块的生成能力
  2. 引入parse-free的garment encoder,利用文本引导在模特身上提取相应的服饰特征,实现推理时无需分割

整体结构:
在这里插入图片描述
Tips:
作者认为文本和图片特征进行cross-attention,结果更偏向于文本图片对齐,结果更偏向于全局的语义特征;文本和图片特征进行self-attention,结果更偏向于细节特征。因此,在Multi-reference attention使用self-attention,multi-model instruct attention使用cross-attention

训练Garment encoder
在这里插入图片描述

  1. Garment encoder使用diffusion model中unet的encoder部分,训练时冻结试衣模块MMTryon UNet参数
  2. 训练时基于DINO+SAM提取服饰mask,然后对encoder提取的特征区域进行监督,及服饰区域外的区域特征参数尽可能为0:在这里插入图片描述
    训练数据生成
    使用开源的sdxl inpainting模型实现目标服饰不变,生成更多样性的数据,prompt来自原图,是利用GPT4V和CogVLM进行标注的
    在这里插入图片描述
    Multi-Modal Instruction Attention
    作者设计了如下的prompt模版,图片间设置了占位符,确保图片特征和文本特征能对应上,最后将text特征和referece image特征融合在一起(如何融合在一起这一细节待确认),取代单一的text特征输入unet网络:在这里插入图片描述
    Multi-Reference Texture Attention
    作者认为仅使用Multi-Modal Instruction Attention的CLIP ViT image encoder提取服饰特征不够,服饰细节损失严重,因此额外训练Garment encoder,并设计服饰特征注入机制:在这里插入图片描述

CatVTON

CatVTON: Concatenation Is All You Need for Virtual Try-On with Diffusion Models

解决问题:

如何在以最小训练/推理代价,实现试衣

解决思路:

减小训练/推理代价:

  1. 保持UNet主体不变,只训练self-attention模块
  2. 去除text encoder及相应的cross attention模块
  3. 不使用额外的image encoder,仅使用原有的vae encoder提取garment/human图像特征
  4. 不使用诸如pose,densepose,humanpaser等额外输入信息,减少推理代价

整体结构:
在这里插入图片描述
Tips:

  1. UNet是基于sd 1.5 inpainting模型,可训练参数为49.57M
  2. 输入网络的condtion均是在channel维度concat,但上图看上去时再width维度concat,存疑
  3. 训练时采用DREAM算法,提升训练效率,让生成结果细节更丰富,更加真实感,实际设置p=10在这里插入图片描述
    4.服饰和模特的特征提取单纯依赖VAE的encoder,有一定的优化空间

IMAGDressing

IMAGDressing-v1: Customizable Virtual Dressing

解决问题:

如何让生成算法不仅能控制服饰,还能控制模特脸/姿势等

解决思路:

训练时保持生成UNet参数不变,推理时就可以复用controlNet/IP-adapter等控制模特脸/姿势等
整体结构:
在这里插入图片描述
Tips:

  1. Dressing UNet和Garment UNet均采用sd 1.5的unet架构
  2. Dressing UNet将所有的self-attention模块换成Hybrid Attention,以更好的融合服饰特征
  3. 服饰的image encode来自clip,并训练Q-former实现图片特征与文字特征的对齐映射
  4. Hybrid Attention中仅训练cross attention部分,并将原网络的self-attention进行权重相加,权重越大服饰对结果影响越大:在这里插入图片描述
  5. 作者提出CAMI算法来评测结果,包含服饰prompt/关键点/纹理及模特prompt/关键点/人脸的匹配度:在这里插入图片描述

MV-VTON

Multi-View Virtual Try-On with Diffusion Models

解决问题:

对于多姿势的模特如何进行试衣

解决思路:

多姿势的模特试衣:

  1. 输入服饰正面和背面图片
  2. 设置hard-selection,根据模特关键点选择正面或背面服饰特征作为全局特征
  3. 设置soft-selection,根据模特关键点和服饰关键点计算权重,然后将正面和反面服饰的特征参数乘上权重concat在一起,作为局部特征

整体结构:
在这里插入图片描述
Tips:
1.生成模块采用sd inpainting模型,并用服饰图片(通过hard select选择)替代prompt作为全局特征,并同样使用clip提取特征
2.服饰输入网络前作者使用开源算法PF-AFN/stableVITON先对服饰进行简单warp
3.设计joint attention block融合全局服饰/局部服饰/模特特征:
在这里插入图片描述
在这里插入图片描述
4. 训练loss中添加图片维度的l1 loss和vgg loss

IDM–VTON

Improving Diffusion Models for Authentic Virtual Try-on in the Wild

解决问题:

如何保持服饰纹理细节,提升试衣效果

解决思路:

保持服饰纹理细节:

  1. 使用GarmentNet(基于sdxl unet encode部分)网络提取服饰底层细节特征,concat融入试衣模块
  2. 使用IP-Adapter提取并注入服饰的高层语义特征
  3. 利用服饰属性分类工具对服饰图属性进行标志,构建详细的服饰属性描述prompt

整体结构:
在这里插入图片描述
Tips:

  1. TryonNet使用sdxl inpainting模型,unet输入channel数为13,分别是人物latent,masked人物latent, densepose latent和mask,实验发现,只finetune unet的decode部分的attention层效果最好,训练lora性价比最高在这里插入图片描述
  2. GarmentNet基于开源的sdxl unet encode部分,不参与训练
  3. 详细的服饰属性描述prompt用于TryonNet和GarmentNet模块,以充分发挥基础模型的生成能力
  4. 实验发现基于GAN的试衣算法对简单姿势的服饰细节保持较好,但是对复杂场景和人物生成效果较差;目前基于diffsuion model的试衣算法对服饰细节保持较差
  5. 算法采用cfg,以GarmentNet提取的低层语义特征+IP-Adapter提取的高层语义特征+prompt为统一的condition在这里插入图片描述

FitDiT

FitDiT: Advancing the Authentic Garment Details for High-fidelity Virtual Try-on

解决问题:

如何保持服饰纹理细节,自适应服饰衣长等尺寸信息

解决思路:

保持服饰纹理细节:
a. 设计服饰特征提取网络
b. 将服饰图片使用DFT映射到频谱图,训练时计算生成服饰图的频谱loss,减少高频信息(细节)的丢失
自适应服饰衣长:
训练时将模特图的服饰区域适当扩大,减少服饰形状泄漏,并随机扩大服饰区域的长度,增强模型自适应服饰衣长能力

整体结构:
在这里插入图片描述
Tips:

  1. 主体结构采用sd3,去除text encoder部分
  2. 使用OpenCLIP bigG/14 和 CLIP-ViT/L去提取服饰特征,和timestep embedding合并一起作为全局特征输入网络
  3. 训练GarmentDiT网络提取服饰特征,网络同样使用sd3,训练时采用图生图的方式训练,推理时仅使用t=0时的网络特征参数 。服饰特征和生成网络的k,v特征concat一起,然后做self-attention在这里插入图片描述
  4. 膨胀待服饰区域,并随机扩大服饰区域的长度在这里插入图片描述
  5. 之所以选择sd3架构而不是sd xl/sd1.5,是因为sd3生成模块具有更强大的生成能力,并且因为没有过多下采样,99%特征维度在66*48以上,能更好的保持细节在这里插入图片描述

PIDM

Person Image Synthesis via Denoising Diffusion Model

解决问题:

如何提升姿势迁移生成能力,增强细节生成效果,并保持内容的持续性。该方案同样可用于虚拟试衣,换脸等场景

解决思路:

整体网络结构:
在这里插入图片描述
创新点:

  1. 将diffusion model引入姿势迁移
  2. 引入TDB模块,将原图信息经特征提取后通过cross attention输入到unet的各层中,以保持生成内容的持续性
  3. 将target pose和nosie合并作为网络输入,引导网络生成指定姿态的模特图
  4. 优化classfy free算法,对原图和target pose这两个条件进行调节:
    在这里插入图片描述
    在这里插入图片描述

衍生应用:

  1. 试衣:类似与sd inpainting思路,为保持非服饰区域不变,每次去噪后将非服饰区域贴回生成图
  2. 风格渐变插值:即生成两种风格图片的渐变状态,使用spherical linear插值算法对两种风格的,利用线性插值对风格特征进行插值,然后输入网络进行生成
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值