冲击传统模特,商汤发布高质量虚拟试衣Diffusion模型
AI魔法学院
2023-09-04
分享海报

 Taming the Power of Diffusion Models for High-Quality Virtual Try-On with Appearance Flow 

IMG_256

论文地址:https://arxiv.org/pdf/2308.06101v1.pdf

摘要

虚拟试穿是一项关键的图像合成任务,旨在将衣服从一张图像转移到另一张图像,同时保留人体和衣服的细节。现有的许多方法依赖于生成对抗网络(GAN)来实现,但在高分辨率下仍可能出现缺陷。最近,扩散模型已经成为在各种应用中生成高质量图像的有前途的替代方法。然而,仅仅使用扩散模型可能不足以解决虚拟试穿的问题。本文提出了一种基于范例的修复方法,结合了扭曲模块和扩散模型,以实现高质量和逼真的虚拟试穿结果。该方法利用扩散模型的强大功能,将扭曲的衣服与人物图像结合起来,并将其作为局部条件,以确保输出结果尽可能保留细节。实验结果表明,该方法在VITON-HD数据集上表现出了优越的效果。

简介

虚拟试穿技术可以提升消费者的购物体验,它可以将一张图片中的衣服转移到另一个人的图片上,生成真实可信的合成图像。关键在于保持衣服的纹理细节和目标人物的外貌和姿势等特征。

以前的虚拟试穿技术主要基于生成对抗网络(GAN),但是这种方法存在一些问题,如变形的衣服质量不好,生成的结果不够真实。此外,GAN模型本身也存在一些缺陷,如超参数选择的收敛性和输出分布的模式丢失。虽然这些方法已经取得了一些积极的成果,但仍存在一些问题,如生成的结果不够真实和细节不够好。

IMG_257

最近,扩散模型逐渐成为替代生成模型的选择。与GAN相比,扩散模型具有分布覆盖、固定训练目标和可扩展性等优点。然而,在虚拟试穿任务中,保留参考图像(即服装)的细节特征是至关重要的,这对于扩散模型来说仍然是一个非常具有挑战性的任务。最近,有人提出了一种基于示例的图像修复方法,但是使用文本来准确描述复杂的服装纹理模式仍然是困难的。

将虚拟试穿视为图像修复的一种形式。虽然可以生成高质量的合成结果,但是无法完全保留衣服图像的细节和风格。

本文提出了一种基于扩散模型的虚拟试穿框架,将整个框架分为两个主要模块:变形模块和细化模块。首先在变形模块中预测外观流场,将衣服适应到目标人物的姿势上,然后将变形后的衣服与被遮挡的人物图像直接组合得到粗略结果。然后将该结果加入噪声后输入到扩散模型中进行去噪,得到改进后的结果。通过这样的过程可以产生高质量的合成结果,并且扩散模型的强大生成能力也确保了结果不会像以前的基于GAN的方法那样包含太多伪影。同时,本文还解决了简单修复过程无法保留衣服细节的问题。

本文在VITON-HDDressCode数据集上进行了广泛的实验,并与以前的工作进行了比较,证明了我们的方法可以取得出色的性能。此外,我们还在DeepFashion数据集上进行了更复杂场景的虚拟试穿任务的实验,这个任务涉及到各种人体姿势的转移,比提供模板衣服的场景更具挑战性。

相关工作

虚拟试穿

虚拟试穿技术可以显著提升消费者的购物体验,现有技术可分为2D3D两类。3D虚拟试穿技术可以带来更好的用户体验,但需要大规模的3D数据集和参数化人体模型。2D虚拟试穿比3D虚拟试穿更轻便且更常见,尽管不如3D灵活(例如,无法以任意视角和姿势查看),但训练成本更低。

之前的2D虚拟试穿工作大多使用了Thin Plain Spine (TPS)方法来弯曲布料以覆盖人体。然而,TPS只能提供简单的变形处理,只能大致将布料迁移到目标区域,无法处理较大的几何变形。此外,许多基于流的方法建模了衣物与人体相应区域之间的外观流场,以更好地适应人体。大多数先前的工作是在低分辨率条件下完成虚拟试穿任务,并取得了令人满意的结果。也有一些方法处理了高分辨率条件下的虚拟试穿任务,在衣物变形和图像合成方面要求更高的质量。这些工作大多可以分为两个阶段,第一阶段是前面提到的变形阶段,第二阶段是合成阶段,主要基于GANs。随着分辨率的提高,这些由GAN生成的图像很难保留衣物的特征,甚至会出现更多的模糊和伪影。

GANs的生成能力受到限制,与人体结合时会失去很多真实感。扩散模型被证明能够产生高质量的高分辨率图像,并具有更强的生成能力。我们打算利用这一创新来进一步提升虚拟试穿的性能。

扩散模型

DDPM是一种生成逼真图像的模型,但其采样速度较慢。DDIM通过将采样过程转换为非马尔可夫过程,实现了更快速和确定性的采样。LDM通过在潜空间上使用一组冻结的编码器-解码器来降低扩散模型的计算复杂度和计算资源要求。扩散模型已成为生成领域中GAN的强有力竞争对手。

研究人员正在探索如何更有效地控制扩散模型的生成。文本到图像技术可以极大地帮助用户进行想象创作。一些作品将文本信息作为去噪过程中的条件,以引导模型生成与文本相关的图像。ILVRSDEdit可以在空间层面上指导扩散模型的去噪过程。最近,还提出了一些方法来更容易地将扩散模型转移到不同的任务中。然而,目前还没有合适的方法。

虚拟试衣的解决方案是使用扩散模型。通过文本到图像的方式完成试衣任务是不现实的。可以使用修复方法来完成试衣任务,但是这种方法无法很好地控制修复的细节。为了解决这个问题,我们将粗略的结果输入到扩散模型中进行微调,有效地指导生成的结果。此外,在去噪过程中引入局部条件,与全局条件一起约束模型生成。

方法

本文使用扩散模型实现虚拟试穿任务,以修复图像为形式。尽管基于文本的图像编辑取得了显著的成功,但仍难以用简单的语言描述复杂的服装细节。因此,让用户提供服装图片以实现更详细的虚拟试穿功能更为实用和可行。

本文旨在将人物图像和服装图像合成为一个真实且可信的图像,保留人物属性和服装元素。需要修复的区域为人体的上半身和手臂部分。在合成图像中,需要确保修复区域与原图像相同。

IMG_258

为了确保修复区域的衣物不仅保留了大部分原始衣物的特征,而且能够以合理的方式穿在人身上,我们首先通过对齐衣物与人的方式创建一个初步的合成结果,然后通过扩散模型对修复区域进行细化。我们使用从现成模型中提取的人物表示作为输入,以排除目标人物所穿衣物对后续步骤的影响。在对齐阶段,将衣物无关的分割图与密集姿态结合起来,然后与衣物一起输入到对齐网络中,预测出一个外观流场来对齐衣物。对齐后的衣物与衣物无关的人物合并生成粗糙结果,然后通过扩散模型对其进行细化,得到更精细的结果。

在训练过程中,由于无法获得同一人穿着不同衣服的数据对,因此使用从图像中提取的与衣服无关的图像和目标人物衣服的模板图像来重建图像。

Warping Network

目前有两种常见的衣服变形方法,即TPS变形和基于外观流的变形。基于外观流的变形方法具有更高的自由度,可以适应更灵活的变换。变形网络的目标是预测密集的变形场,以实现衣服的变形。通过迭代细化策略获取最终的流,从而实现了衣物图像和人物图像之间的对应关系。这种方法能够更有效地处理显著的错位,捕捉到𝐼𝑝𝐼𝑐之间的长距离对应关系。

使用两个对称编码器提取特征金字塔,通过逐层预测流来输出最终的2D坐标向量,指示哪些像素在服装图像中应用于填充给定的人物图像像素。在每一层中,先将上一层的输出流上采样到相同大小并扭曲相应的特征,然后与特征金字塔相关以预测流的增量。

损失函数。外观流是一个自由度很高的变量,总变差(TV)损失函数可以很好地解决最终变形结果的平滑性问题。TV可以通过以下公式计算:

IMG_259

我们在[11]的基础上增加了一个二阶平滑约束,计算方法如下:

IMG_260

其中𝐹𝑖𝑡表示流图中的第t个点,N𝑡表示该点周围的水平、垂直和对角邻域。

基于深度学习的人体姿态估计方法,使用了Charbonnier损失函数、感知损失和L1损失来约束网络,以实现将服装变形以适应人体姿势的目的。

IMG_261

基于VGG-19网络的图像分割方法,其中包括了图像的特征提取、特征融合、上采样和下采样等步骤。其中,𝑀𝑐𝑆𝑐分别表示图像的掩膜和衣服掩膜,W表示变形函数,D表示下采样函数,Φ𝑚表示VGG-19网络中的第m个特征图。

整个变形网络的总损失函数可以表示为:

IMG_262

三个超参数𝜆𝑉𝐺𝐺𝜆𝑇𝑉𝜆𝑠𝑒𝑐,它们控制着不同损失之间的相对重要性。

扩散模型

我们的策略是将扩散模型应用于精化粗糙的合成结果。为了更好地利用初始的粗糙结果,我们将训练过程分为重建和精化两个分支。在训练过程中,我们同时优化这两个分支。重建分支通过控制初始噪声来改善模型预测结果与粗糙结果之间的相似性。全局条件是从输入图像中提取的条件,用于指导扩散模型的生成过程。局部条件是将变形的服装添加到修复图像的输入中,用于每个去噪步骤。衣服在最终合成结果中可能与初始变形结果不完全匹配,但这可以防止不良变形结果的影响,并更有效地连接人体和衣服部分。为了更好地利用预变形衣服中的空间信息并与初步结果对齐,我们将其作为初始条件,加入噪声并输入到扩散模型中进行细化。

IMG_263

重建分支与标准扩散模型类似,通过学习反向扩散过程生成逼真的图像。使用潜在扩散模型将图像从图像空间嵌入到潜在空间中,通过预训练的编码器E和解码器D重构图像。前向过程在任意时间戳t上执行潜在变量z0=E(I0)

其中𝛼是一个在𝑇步中的时间表,𝜖是一个服从正态分布的随机变量,方差为𝐼,而𝛽是一个预定义的方差。

本方法使用了一个改进的Diffusion UNet来对输入进行去噪处理,其中包括一个编码器和一个解码器。编码器从输入图像中提取特征,解码器将这些特征转换为输出图像。此外,还使用了一个全局条件来提高去噪效果。

该分支基于初步合成结果,修复人体区域和衣服接触部分的缺陷,并消除不适当的扭曲效果。虽然重建分支的训练可以生成基本恢复衣服特征的合成图像,但缺乏空间指导使生成的图像无法完全恢复衣服图案布局。例如,在条纹衣服的情况下,全局条件无法提供足够的指导。模型需要初始条件、局部条件和全局条件来生成图案,初始条件提供排列和布局信息,局部条件提供条纹厚度和颜色,全局条件则不足以生成完整图案。

首先,我们使用编码器E从图像I0'中提取出z0',然后对z0'进行前向过程得到zt'。然后,将{zt', zlc, m}输入到扩散模型进行去噪处理。当模型预测出的噪声ε^得到时,根据公式6可以通过反向方程得到经过去噪处理的精炼潜变量z^,最终图像结果可以通过D(^z)恢复得到。在得到I^后,我们使用感知损失[20]对其进行优化。

我们的扩散模型使用端到端训练,目标函数如下。

实验

实验设置

数据集。本实验主要在VITON-HD数据集上进行,该数据集包含13,6791024×768分辨率的正面女性和上衣图像。我们按照之前的工作将数据集分为训练集和测试集。在PASCAL VOC 2012Cityscapes数据集上进行了实验,并在三种不同分辨率下进行了测试。此外,还在DeepFashionDress-Code数据集上进行了实验,证明了该方法可以在更复杂的情况下使用。

评估指标。对于配对设置,使用结构相似度(SSIM)和学习感知图像补丁相似度(LPIPS)进行评估;对于非配对设置,使用Frechet Inception DistanceFID)和Kernel Inception DistanceKID)进行评估。同时,还进行了用户研究,收集了300对测试图像,让20名人类评估者选择最佳的还原效果和最逼真的结果。最后,报告每种方法在这两个方面被选择为最佳的频率。

实现细节。该模型分为两个主要模块:变形模块和细化模块。这两个模块分别进行训练。变形网络使用Adam优化器进行100epoch的训练,学习率为5×10−5。超参数𝜆𝑉𝐺𝐺𝜆𝑇𝑉𝜆𝑠𝑒𝑐分别设置为0.20.016。训练时分辨率为256×192,推理时会将预测的外观流上采样到相应的大小。

我们使用KL正则化自编码器进行扩散模型,其中潜在空间的空间维度为c×(H/f)×(W/f),其中通道维度c4。对于去噪UNet,我们遵循[44]的架构。我们使用学习率为1×10-5AdamW [26]优化器,并将超参数λperceptual设置为1×10-4。我们使用[44]作为初始化,提供强大的图像先验和基本的修复能力,然后在2NVIDIA Tesla A100 GPU上进行40epoch的训练。在推理过程中,我们使用PLMS [24]采样方法,采样步数设置为100

定量评价

我们将我们的方法与之前的虚拟试穿方法进行比较,包括CP-VTONPF-AFNVITON-HDHR-VTON,以及扩散修复方法Paint-by-Example。表1显示了与这些方法的定量比较。可以看出,在虚拟试穿方法中,HR-VTON达到了最先进的水平。本方法在三种分辨率下均表现出色。与其他方法相比,该方法在生成过程中保留了原始服装的细节,并具有更好的生成能力和指导性。

IMG_268

消融分析

本文通过在VITON-HD数据集上采用512×384分辨率作为基础设置,进行削减研究,以验证其有效性。我们研究了网络中的每个组件,并在表2中展示了结果。首先,我们探讨了变形模块对后续合成过程的影响(无变形模块)。根据[48]的参考,我们不再使用变形网络对衣物进行精细变形,而是通过基本仿射变换将衣物转换为合理的大小和位置,并将其作为变形的结果输入扩散模型。具体而言,我们首先将衣物的图像与修复区域进行中心对齐,然后粗略地缩放衣物以填充修复区域。这个过程可以表示为:

本文介绍了一种基于预变形模块的人体服装合成方法,该方法通过计算比例因子来确定缩放因子,从而实现对人体图像的预变形处理,以便在复杂场景中正确地穿着衣服。该方法能够应对预变形结果不佳的负面影响。

我们探索了三个条件对模型的影响。首先,我们移除了全局条件,用可学习的变量向量替代了CLIP特征。全局条件对模型的影响最小,可能是因为粗粒度特征主要由其他条件的细粒度特征包含。然后,我们尝试移除局部条件,只在修复区域外提供指导。缺乏局部条件会导致性能下降。接下来,我们移除了细化分支,丢弃了初始条件。相比局部条件,缺乏初始条件对性能影响更大,这表明我们的新细化分支能够更准确地利用粗略结果指导生成结果。这些结果表明,在生成过程中,三个条件的指导是互补且不可或缺的。

IMG_271

4中直观地展示了这些组件对最终结果的影响。对于第一行的这些格子衬衫,我们的完整方法可以很好地恢复衣服上的纹理和颜色。在缺乏全局条件的模型中,除了一般颜色的差异外,可以恢复服装的特征,并保留细节。在没有初始条件的情况下,该方法可以大致恢复条纹排列,但每个条纹的分布和颜色都不同。只有该方法可以很好地保留有意义的图案。初始条件是局部条件的很好补充,可以在空间上排列局部条件。预先变形服装可以有助于恢复具有实际意义的图案。

定性评估

IMG_272

本文介绍了一种基于生成对抗网络的虚拟试衣技术,与之前的方法相比,该方法可以更好地处理人体和衣服之间的交互,生成更真实和合理的结果,并能恢复衣服的纹理特征。该方法可以处理复杂的姿势,如交叉的手,对于透明材料或空心款式的衣服也能取得良好的效果。在衣服的领口和与手的接触处,该方法也能获得更真实的结果。该方法的限制和更多的样例可以在补充材料中找到。

总结

本文将虚拟试穿任务视为一项修复任务,并使用扩散模型解决。为了在修复过程中更好地保留衣服的特征并提高生成图像的真实性,使用了一个变形网络来预测外观流以在修复前对衣服进行变形。在使用全局条件的前提下,将变形后的衣服作为局部条件添加到扩散模型的输入中。同时,引入了一个新的分支来帮助模型更好地利用先前步骤中获得的粗略合成结果。在VITON-HD数据集上的实验结果证明了我们方法的优越性。

出自:https://mp.weixin.qq.com/s/Tnh3Xd2yQ0AZ-ReEogP7TA

© THE END

转载请联系本网站获得授权

投稿或版权问题请加微信:skillupvip