拼接方法即为核心:使用扩散模型进行虚拟试穿 ——CatVTON: Concatenation Is All You Need for Virtual Try-On with Diffusion Models
文章目录
摘要
本次周报学习了论文 《CatVTON: Concatenation Is All You Need for Virtual Try-On with Diffusion Models》,该论文提出了一个基于扩散模型的高效虚拟试穿方法——CatVTON。通过重新评估现有方法的复杂模块和冗余步骤,作者设计了一个轻量级网络结构,仅包含VAE模块和简化的去噪UNet,大幅减少了参数量和计算开销。论文重点分析了服装与人物特征的交互方式,并通过优化自注意力模块,实现了高效的参数训练。CatVTON还简化了推理流程,仅需输入目标人物和服装图像即可完成试穿,无需额外的姿态估计或人体解析步骤。实验结果表明,CatVTON在效率和效果上均优于现有基线模型,并展现了出色的泛化能力。
Abstract
This weekly report focuses on the paper “CatVTON: Concatenation Is All You Need for Virtual Try-On with Diffusion Models”, which proposes an efficient virtual try-on framework based on diffusion models. By reevaluating the necessity of existing complex modules and redundant steps, the authors design a lightweight network structure consisting solely of a VAE module and a simplified denoising UNet, significantly reducing parameter size and computational overhead. The paper emphasizes the interaction between clothing and human features, optimizing the self-attention module for efficient parameter training. Additionally, CatVTON simplifies the inference process, requiring only the target person and clothing images without additional pose estimation or human parsing. Experimental results demonstrate that CatVTON outperforms existing baseline models in both efficiency and effectiveness, while showcasing remarkable generalization capabilities.
1. 基本思想
基于扩散模型的虚拟试穿方法实现了逼真的试穿效果,但通常需要额外的编码模块,大量的训练参数以及复杂的预处理,这增加了训练和推理的负担。在这项工作中,作者重新评估了模块的必要性,并分析了如何提高训练效率并减少推理过程中的冗余步骤。基于这些见解,作者提出了CatVTON,这是一个简单且有效的,基于扩散模型的虚拟试穿工作。该模型通过将衣服沿空间维度连接作为扩散模型的输入,可以将任意类别的橱柜中的示例衣服或模特已穿着的衣服试穿到目标人物。CatVTON的高效性体现在这三个方面:(1)轻量级的网络:CatVTON只包含一个VAE模块和一个简化的去噪UNet网络,去除了多余的图像编码器、文本编码器和交叉注意力模块(cross-attentions)。CatVTON的网络只包含899.06M大小的参数。(2)高效的参数训练法:通过实验分析,作者认定自注意力模块(self-attention),是将预训练的扩散模型调整为虚拟试穿任务中至关重要的角色。(3)简化的推理。CatVTON去除了不必要的预处理部分,例如人体姿态估计(pose estimation),人体解析(human parsing)和添加文字描述的部分。仅需要目标人物和服装的参考来指导虚拟试穿的过程,与其他diffusion-based的模型相比,减少了49%以上的内存使用。广泛的实验表明,CatVTON与基线方法相比取得了优越的定性和定量结果。并室外场景中表现出了强大的泛化能力,仅在包含了73K个样本的公开室外数据集上进行了训练。
早期的虚拟试穿工作采用两个阶段,通过姿势指导服装扭曲,然后与目标人物融为一体,如图2(a)中的Warping-based Try-on所示。然而这些方法通常会因为扭曲过程的不足,导致不自然的试穿结果,并且存在不适应目标人物复杂姿势的情况。
得益于扩散模型的成功,许多基于扩散模型的虚拟试穿工作(如:Tryondiffusion: A tale of two unets,Stableviton,Ootdiffusion,LaDI-VTON,IDM-VTON,Stablegarment,Warpdiffusion,Outfitanyone)取得了更加自然的试穿结果。如图2(a)中的Diffusion-based Try-on所示,这些方法都采用了一种结构,叫做Dual-UNet或ReferenceNet用以处理衣服图片。像Stableviton,Ootdiffusion,IDM-VTON,Outfitanyone的工作同时整合了图像编码器CLIP或DINOv2来捕捉额外的衣服特征。但是,这些编码器导致了更加复杂且计算量大的网络架构,从而增加了训练和推理的负担。
为了将扩散模型整合到虚拟试穿系统中,且无需牺牲效率,讨论额外图像编码器和ReferenceNet的作用至关重要。预先训练的图像编码器(如DINOv2和CLIP)未针对细节保留进行优化,这是虚拟试穿应用中的关键因素。相比之下,ReferenceNet通过复制backbone的UNet的结构和权重,允许生成多尺度的服装特征,这些特征自然地与backbone层共享潜在的空间。这种特征共享有助于服装与人物表示之间的无缝连接,从而提高了虚拟试穿过程的整体准确性。基于这种共享的潜在空间机制,作者意识到可以进一步简化模型体系结构。如果服装和人物特征可以有效地集成在共享的潜在空间中,是否可以使用单个UNet模型同时处理人物和服装图像?这种方法不仅可以消除冗余编码器,而且还可以通过简化模型来提高系统效率。
在此基础上,作者提出了CatVTON,这是一个简单且有效的基于扩散的虚拟试穿模型。CatVTON删除了不必要的编码器,并简化了服装和人物的交互。具体来说,如图3所示,作者的模型仅包含一个用于将图像映射到潜在空间的VAE,以及一个来源于LDM的简化Unet用于去噪。进一步,作者删除了文本编码器和交叉注意力模块,因为文本条件对于虚拟试穿不是必要的,将体系结构简化为总计899.06M的参数。为了优化训练效率,作者研究了UNet中与服装和人员特征有效交互的模块。通过逐步调整实验中的可训练模块,作者发现,具有全局感受野的自注意力模块是基于扩散模型的虚拟试穿任务的最关键部分,并通过仅训练49.57M的参数量来实现逼真的试穿结果。此外,作者探索了一个更直接,更有效的推理过程。大量工作,如Outfitanyone,Mmtryon,Stablegarment,IDM-VTON,Stableviton,取决于额外的预处理阶段,如pose estimation, human parsing, and captioning来指导试穿过程,这增加了推理过程的负担。因此,作者认为衣服图片和人物图片已经包含了足够的信息,因此去掉了这些额外的条件信息。通过整合这些改进方法,CatVTON在试穿的效果和效率上都优于与其他基于扩散模型的试穿工作,如图2(b)和表3所示。
2. 轻量级网络
作者的轻量级网络结构来源于对服装和人物的图像表示及其有效的交互考虑。近期的研究Ip-adapter和Anydoor揭示了现有的预训练编码器(DINOv2和CLIP)难以保留主题驱动图像生成的细节。这表明使用这些编码器为了试衣任务编码服装的图像的目的是不充分的,因此作者在其方法中去掉了所有的额外图像编码器。带有ReferenceNet的方法通过复制去噪UNet的权重并进行微调,从而在基于扩散模型的试穿中增强了详细的对齐方式。但是,这种方法引入了额外可训练的模块并增加了计算负载。为了解决这个问题,作者沿空间尺寸连接人物和服装图像,作为对原始去噪UNet的输入,以避免导入任何新模块。
如上图3所示,具有一个轻巧的网络结构,仅包括两个必需模块:1.VAE VAE编码器编码人物和服装图像到潜在空间,在扩散模型期间优化计算效率。编码后,潜在的服装和人物向量被concatenated在一起作为去噪UNet的输入。然后,VAE解码器在去噪后,将潜在的输出重建到原始的像素空间。2.Simplified Denoising UNet 由于文本条件对于基于图像的试穿任务不是必要的,并且作者的实验表明,带文本条件的训练会对性能有影响,作者删除了UNet中的文本编码器和交叉注意力模块,以进一步简化网络并减少167.02M的参数。简化的去噪UNet接受concatenated的服装和人物作为条件,与噪声和masks,以生成潜在的预测结果。整合这两个模块,提出的轻巧的扩散模型只有899.06M的参数,与其他基于扩散的方法相比,降低了44%以上。
3. 高效的参数训练法
CatVTON旨在优化服装、人物的特征与LDMs中最少可训练的模块之间的相互作用以进行高效的参数训练。基于扩散模型的方法通常会训练整个UNet,以使预训练的模型适应虚拟试穿任务。然而,因为LDMs在大规模的数据集上进行了广泛的预训练,它们已经拥有了强大的先验知识。将LDMs转移到Try-On任务时,只需要微调人与服装特征之间交互的相关参数。
如图3所示,去噪UNet包含交替的ResNet模块和transformer模块。transformer模块,带有全局交互的自注意力层,以补充ResNet的局部特征,其根源来自卷积的架构。作者进行了实验以逐渐找到最相关的模块。我们将可训练的组件设置为1)整个UNet,2)transformer模块,3)自注意力层。结果表明,尽管可训练的参数数量存在显著差异(815.45M, 267.24M, and 49.57M)这三种情况都产生了令人满意的虚拟试穿结果,并且没有观察到视觉质量和指标的实质性差异。
因此,作者通过仅使用49.57M参数的自注意层来采用一种高效的参数训练法。对于训练无mask的试穿模型,作者首先利用已经训练的基于mask的模型从同一数据集中的随机采样人物-服装对来推理。这些生成的人物图像以及它们相应的原始人物和服装图像,组成无mask模型的训练数据,如下面的图4所示。
对于基于mask和无mask的试穿模型,作者对训练采用均方误差(MSE)的损失。此外,作者采用10%的条件dropout来支持无分类器指导(CFG)。
4. 简化的推理
除了训练外,作者还探索了基于图像试穿的更直接,更高效的推理过程。作者通过消除任何的预处理或条件信息来简化推断。对于mask-free模型来说整个过程只能使用人物和衣服完成,对于mask-based模型多一个额外的二进制mask。具体来说,给定一个目标人物的图像 I p ∈ R 3 × H × W I_{p}\in\mathbb{R}^{3\times H\times W} Ip∈R3×H×W和一个二进制的cloth-agnostic的mask M ∈ R H × W M\in\mathbb{R}^{H\times W} M∈RH×W,输入到网络的人物写为 I i I_i Ii:
其中 ⊗ \otimes ⊗代表逐元素乘法,即Hadamard积。然后 I i ∈ R 3 × H × W I_{i}\in\mathbb{R}^{3\times H\times W} Ii∈R3×H×W与衣服的图片 I g ∈ R 3 × H × W I_{g}\in\mathbb{R}^{3\times H\times W} Ig∈R3×H×W通过编码器 ε \varepsilon ε编码到潜在空间:
其中 © © c◯表示沿空间维度的拼接操作,而 X i ∈ R 4 × H 8 × W 4 X_i\in\mathbb{R}^{4\times\frac{H}{8}\times\frac{W}{4}} Xi∈R4×8H×4W。对于基于mask的模型, M M M同样被与全0的mask拼接在一起,然后插值以匹配潜在空间的大小, m i ∈ R H 8 × W 4 m_{i}\in\mathbb{R}^{\frac{H}{8}\times\frac{W}{4}} mi∈R8H×4W:
其中 O O O代表全0的mask,这个mask与 M M M是相同的大小。在去噪的初始阶段,随机噪声 z T ∼ N ( 0 , 1 ) ∈ R 4 × H 8 × W 4 z_{T}\sim\mathcal{N}(0,1)\in\mathbb{R}^{4\times\frac{H}{8}\times\frac{W}{4}} zT∼N(0,1)∈R4×8H×4W和 X i X_i Xi的尺寸保持一致,将随机噪声和输入的条件沿着通道维度拼接,并输入到UNet中得到预测的 z T − 1 z_{T-1} zT−1,这个过程重复 T T T次以得到最终的潜在变量 z 0 z_0 z0。对于去噪步骤 t t t,这个过程可以写为:
其中 ⊙ \odot ⊙表示沿着通道拼接,最终 z 0 ∈ R 4 × H 8 × W 4 z_{0}\in\mathbb{R}^{4\times\frac{H}{8}\times\frac{W}{4}} z0∈R4×8H×4W,被沿着空间维度上被分开以提取人物部分 z 0 p ∈ R 4 × H 8 × W 8 z_0^p\in\mathbb{R}^{4\times\frac{H}{8}\times\frac{W}{8}} z0p∈R4×8H×8W,作者用VAE解码器 D D D,将这部分转回图像空间,得到最终输出的图像 I ~ p ∈ R 3 × H × W \widetilde{I}_{p}\in\mathbb{R}^{3\times H\times W} I p∈R3×H×W:
其中 S p l i t ( ⋅ , W ) Split(\cdot,W) Split(⋅,W)表示在宽度上将在特征图的空间维度分开。
总结
本次周报对 CatVTON 这一基于扩散模型的虚拟试穿方法进行了深入学习和总结。CatVTON的核心思想是通过简化网络架构和优化训练流程,在保证试穿效果的同时减少了计算成本和模型复杂度。具体来说,作者提出用轻量级网络取代传统的多编码器结构,去除了不必要的文本条件和交叉注意力模块,仅保留VAE和简化的去噪UNet,模型参数量仅为899.06M,比现有方法减少了44%以上。通过实验分析,发现全局感受野的自注意力模块是虚拟试穿任务的关键,且仅需训练49.57M的参数即可获得逼真的试穿效果。此外,作者简化了推理流程,避免了姿态估计、人体解析等额外步骤,使得试穿过程更加高效。
学习本论文后,收获了以下几点重要启发:(1)在特定任务中,去除冗余模块和简化模型设计可以显著提高效率;(2)预训练模型的强大先验知识可以通过微调关键模块来高效利用;(3)对于视觉生成任务,合理的特征交互设计至关重要。通过这些方法,CatVTON不仅在虚拟试穿领域取得了技术突破,还为轻量级生成模型的设计提供了宝贵的参考。
参考
论文阅读:CatVTON: Concatenation Is All You Need for Virtual Try-On with Diffusion Models