项目主页:https://mengtingchen.github.io/wear-any-way-page/
论文地址:https://arxiv.org/abs/2403.12965
摘要
简介
Wear-Any-Way一次性解决上述两个挑战,可以作为现实世界应用的通用解决方案,支持各种子任务,如模型到模型的试衣、多件衣服的试衣,以及街道场景等复杂场景。WearAny-Way支持用户定制穿着风格。用户可以通过点击、拖动等简单的交互操作来控制袖子的卷取、外套的开襟大小,甚至是tuck的款式。
我们首先为虚拟试衣建立一个强大的基线,然后我们进一步使这个强大的基线可定制。研究了一种基于点的控制,强制服装图像上的特定点与生成结果中人体图像上的目标点匹配。
文本主要贡献如下:
- 构建了一个新颖的框架Wear-Any-Way,生成高质量的结果,并支持用户精确地操纵佩戴方式。
- 提出一个强大、灵活和鲁棒的虚拟试衣基线,通过与之前方法的广泛比较,达到了最先进的水平。
- 设计了稀疏对应对齐来实现基于点的控制,并进一步开发了几种策略(即条件丢弃、零初始化、点加权损失)来增强可控性。
方法
我们的流程由两个分支组成。主干是用预训练的Stable Diffusion初始化的修复模型。它以一个9通道的张量作为输入,具有4个通道的潜在噪声,4个通道的潜在背景(即修复背景)。一个通道用于掩模(表示用于修复的区域)。原始SD接收文本嵌入作为条件来指导扩散过程。相反,我们将文本嵌入替换为由CLIP图像编码器提取的服装图像的图像嵌入。
CLIP图像嵌入可以保证服装的整体颜色和纹理,但不能保留服装的细节。我们还使用一个参考U-Net来提取服装的细节特征。我们的参考U-Net是一个具有4通道输入的标准文本到图像扩散模型。在每个块之后,我们通过在主U-Net之后连接参考U-Net的“key”和“value”来进行特征融合。
为进一步增强生成,添加姿态图作为额外的控制。构建一个微小的卷积网络来提取姿态图的特征,并直接将其添加到主U-Net的潜在噪声中。使用DW-Pose从提供的行人图像中提取姿态图。
稀疏对应对齐
为了使穿戴可定制,在扩散过程中引入了稀疏对应对齐机制。具体来说,对于pointpair,一个点在服装图像上标记,另一个点在人物图像上给出。我们利用两点之间的对应关系来控制生成结果:服装的标记位置将与人物图像上的目标位置匹配。通过这种方式,用户可以通过操纵多个点对来精确控制穿着风格。
我们首先学习一系列的点嵌入来表示一对控制点。然后,我们将这个控制信号注入主U-Net和参考U-Net。为了辅助模型学习对应关系,提出了条件丢弃、零初始化和点引导损失等策略。
点嵌入。假设我们采样N对点,我们使用disk maps分别表示服装和人物图像上的点。对服装图像上的点不重复地随机填充1 ~ K的值,而对人体图像上的点采用相应的值。这种随机赋值解耦了语义和点,因此使点表示可置换。它是支持任意位置任意数量点控制的基础。
我们设计了一个具有堆叠卷积层的点嵌入网络,将磁盘映射映射到高维嵌入该网络在端到端训练中单独使用扩散模型进行优化。
嵌入注入。通过将点嵌入注入注意力层,我们在控制方面表现出色。在我们的基线中,来自参考U-Net的特征被连接到自注意力的“键”和“值”上,其中m,r的下标表示主U-Net和参考U-Net。
该注意力层使参考UNet提取的服装特征能够集成到主U-Net中。为了实现点引导的对应控制,我们修改这个注意层,通过使用公式(4)中的“query”和“key”添加人和服装的点嵌入。
这样,在将服装特征集成到主U-Net中时,特征聚合将考虑点对的对应关系。将服装上的点定位到的特征点与人物图像上的特征点位置进行对齐。因此,用户可以指定控制点,通过单击和拖动操作穿着样式。
训练策略
除了模型结构的设计,我们还制定了多种训练策略来辅助穿戴学习对应对齐。
Condition dropping。分析表明,修复模型和人体姿态图可以在一定程度上反映训练样本的佩戴风格。为了强制模型从控制点学习,我们增加了删除姿态映射并将修复掩码退化为地面真值掩码周围的框的可能性。
Zero-initialization。在“key”和“value”的注意力上添加点嵌入会导致训练优化的不稳定。为了实现渐进集成,我们在点嵌入网络的输出端添加一个初始化为零的卷积层。这种零初始化带来了更好的收敛性。
Point-weighted损失。增强配对点的可控性。我们增加人物图像上采样点周围的损失权重。磨损监督是用于预测噪声的MSE损失。
收集训练点对
服装并不像钢铁一样坚硬,当衣服穿在人体上时,会发生变形。我们利用siamese text-to-video扩散模型分别从人体和服装图像中提取特征。然后将最后一个预测结果在多个时间步上进行集成,得到一个鲁棒的匹配。给定人物图像上的某一点,选择其在服装图像上的最大余弦相似度对应点。给定一幅人物图像,首先提取其穿着衣服的面具。然后,在模板的内部和边界区域随机采样点作为查询,并利用匹配流水线提取服装图像上的对应点。针对复杂姿态下服装图像上的一些点无法与人体图像匹配的问题,选择peron图像到服装图像的映射方向。
推理操作
推理流程如图4所示。在点击设置中,用户除了提供服装图像和人物图像外,还可以在这两幅图像上指定多个点对作为控制信号。将服装点表示的服装图像上的坐标与生成结果中人物点的对应位置进行对齐。对于基于拖拽的控件,将其起点和终点分别处理为服装点和人物点,并将解析后的服装作为服装图像。这样,基于拖动的操作就可以转换为基于点击的控件。
实验
实现细节
详细配置。主U-Net和参考UNet都使用Stable Diffusion-1.5的预训练权重。我们收集了30万个高质量的试衣数据。为了与其他作品进行公平的比较,我们分别在VITON-HD和Dresscode上训练Wear-Any-Way来进行定量和定性比较。
评估指标
标准虚拟试衣。本文首先评估了标准虚拟试衣基准(即VITON-HD、Dresscode)上的穿着性能,以报告定性结果。同时,与现有方法进行了定性比较,证明了所提方法的有效性。
点控制评估。我们使用FashionAI检测器在服装图像和人物图像上检测landmark距离。然后,我们使用成对的landmark作为控制点来生成试衣图像。接下来,我们使用相同的检测器在新生成的图像上定位landmark。通过计算他们之间的欧氏距离来评价控制能力。理想情况下,如果生成过程能很好地由点控制,那么landmark距离应该较小。
与现有方法比较
标准虚拟试衣。我们在表4中报告了VITON-HD和Dresscode数据集的定性结果。我们的模型在FID和KID上取得了最好的结果,在SSIM和LPIPS上取得了有竞争力的性能。考虑到量化结果不能与真实生成质量完全一致。我们在图6中与之前的最先进的解决方案进行了定性比较。与其他作品相比,Wear-Any-Way在生成质量和细节保持方面具有明显的优势。
可控生成。通过与DragDiffusion和DragonDiffusion等基于拖动的图像编辑方法进行对比,证明了该模型的可控性。DragDiffusion不能准确地遵循drag的指令,而DragonDiffusion通常会破坏人体和服装的结构。
定性分析
实验表明,Wear-Any-Way支持对各种类型的服装(包括外套、t恤、裤子、卫衣等)的操纵。此外,用户可以指定任意数量的控制点,以得到定制的生成结果。在精确的点控辅助下,Wear-Any-Way可以对外套进行“连续”编辑,逐步拆分外套。穿着的高度可控性使它能够实现许多奇妙的穿着风格,如卷起袖子或油漆,以及不同类型的褶。