首页 > 其他分享 >TryOnDiffusion——生成拟合图像的最强大模型

TryOnDiffusion——生成拟合图像的最强大模型

时间:2024-10-04 20:18:21浏览次数:9  
标签:服装 1024 模型 拟合 UNet TryOnDiffusion 图像 256

介绍

论文地址:https://arxiv.org/pdf/2306.08276
虚拟试穿是以人的图像和服装的图像为基础,目的是想象服装穿在人身上的效果。虚拟试穿可以改善网上购物体验,但大多数传统试穿方法只有在身体姿势和形状变化较小时才能奏效。主要的挑战在于如何根据目标体形对服装进行非刚性变形,同时不扭曲服装的图案或纹理。

本文介绍了 TryOnDiffusion 方法,该方法可处理大型障碍物、姿势变化和体形变化,同时在 1024×1024 美元的分辨率下保留服装的细节。该方法使用两张图像作为输入–一张是目标人物的图像,另一张是另一个人所穿衣服的图像–并生成目标人物穿着衣服的图像作为输出。

为了在 1024×1024 美元的高分辨率下生成高质量图像,TryOnDiffusion 采用了级联扩散模型。具体来说,它首先在 128×128和256×256 分辨率下使用基于 Parallel-UNet (Parallel-UNet) 的扩散。然后将 256×256的结果输入超分辨率扩散模型,生成最终的1024×1024 图像。

与其他最先进的方法相比,TryOnDiffusion 在数量和质量上都有明显优势。特别是,在一项人体实验评估中,与三种最新的先进技术相比,TryOnDiffusion 的概率高达 92.72%,被评为最佳技术。

建议方法

图 1:TryOnDiffusion 概述。

输入预处理

如图 1 左上角所示,除人物和服装图像共有六个组成部分外,整个模型输入由四个组成部分组成。首先,通过训练有素的模型预测人物和服装图像的二维姿势关键点。然后,从服装图像中分割出纯粹的服装图像。对于人物图像,会生成与服装无关的 RGB 图像,在去除原始服装的同时保留人物特征。

试穿级联扩散模型

拟议方法的级联扩散模型由一个基本扩散模型和两个超分辨率(SR)扩散模型组成,如图 1 上半部分所示。基本扩散模型的参数设置为一个 128×128 美元的 Parallel-UNet (图 1 底部)。该模型根据上述输入生成试拟合图像。

128×128至256×256 超分辨率扩散模型的参数设置为 256×256平行−UNet。除上述输入外,该模型还使用了128×128 模型的输出,即试拍图像。

从 256×256到1024×1024 的超分辨率扩散模型的参数为Saharia 等人提出的 Efficient-UNet 模型。这是一个纯粹的超分辨率模型,不以上述六个分量输入为条件。

Parallel-UNet

Parallel-UNet 概览由两部分组成:人-UNet(人)和衣-UNet(衣),如图 1 下部所示。人-UNet 以添加噪点的人像和去除服装的人像作为输入,生成试穿图像。服装-UNet 从仅有服装的分割图像中提取适当的特征,并将其输入到人物-UNet,从而在试穿图像中成功生成目标服装。

在UNet 的每个阶段,通常使用串联法(矩阵串联)将服装-UNet 提取的特征输入到人物-UNet 中。但是,由于逐通道连接可能无法处理服装翘曲等复杂变换,因此本文采用交叉连接,如下式所示。

计算方法与通常的 Attention 机制类似,其中 Q 为人物图像的扁平化特征,K 和 V 为服装的扁平化特征。为确保试穿图像中正确反映人物姿态和服装图案,在预处理中创建的人物和服装图像的二维姿态关键点被线性嵌入,并通过类似的交叉注意输入到人物-UNet 和服装-UNet 中。

试验

数据集

我们收集了 400 万个样本作为训练配对数据集。每个样本都由同一人的两张不同姿势和穿着相同服装的图像组成。在测试中,收集了 6000 个在训练中从未见过的样本。每个测试样本包含两个不同人物的两张不同图片,人物的姿势和穿着各不相同。根据检测到的二维人体姿势,训练和测试图像都被裁剪并调整为 1024 x 1024 大小。该数据集包括不同姿势、体形、肤色的男性和女性,以及穿着不同纹理图案服装的男性和女性。还使用了 VITON-HD 数据集

与以往研究的比较

表 1.与以往研究的定量比较

表 2.人类评分比较

图 2:与以往研究的定性比较

在本实验中,所提出的方法与 TryOnGAN、SDAFN 和 HR-VITON 进行了比较,它们都是虚拟试衣图像生成的典型模型。表 1 显示了图像质量和自然度方面的 FID 和 KID 比较结果。可以看出,在这两个数据集上,所提出的方法在所有评价指标上都优于之前的研究。

图 2 中的定性评估显示了类似的结果,表明与之前的研究相比,所提议的方法显然能够生成更自然、更清晰的图像。特别是,我们观察到人物的姿势和衣服上的图案都得到了很好的再现。

除定性和定量评估外,还进行了两项用户研究。结果见表 2。在第一项研究 "随机 "中,从 6 000 个测试集中选取了 2804 个输入对,由评估人员选出最佳结果。在第二项研究 "挑战性 "中,使用类似的程序选择并评估了 2 000 个难度更大的输入对。结果显示,95.8% 的人选择了拟议方法。

交叉关注和串联的比较

如前所述,在 UNet 的每个阶段将服装 UNet 提取的特征输入人物 UNet 时,使用了交叉注意法而不是传统的并集法。本节将评估交叉注意的有效性。图 3 显示了比较结果,结果表明交叉注意在保留服装细节方面更胜一筹,即使在身体姿势和形状发生较大变化时也是如此。

图 3.Cross-Attention 和 Concatenation 的比较。

总结

本文介绍了 TryOnDiffusion,它能根据人物图像和服装图像合成试穿图像。该方法利用 Parallel-UNet,能够处理各种姿势和体形,而不会扭曲服装的图案和纹理,从而达到最先进的性能。不过,目前尚未研究其与复杂背景图像和全身图像的兼容性。未来的研究有望克服这一问题,并取得进一步发展,特别是扩展到视频领域。

标签:服装,1024,模型,拟合,UNet,TryOnDiffusion,图像,256
From: https://blog.csdn.net/matt45m/article/details/142657717

相关文章

  • 以鼠标位置进行图像非中心zoom
    #以鼠标位置进行图像非中心zoomimporttkinterastkfromPILimportImage,ImageTkimage_show_width=800image_show_height=600window_width=image_show_widthwindow_height=image_show_height+120root=tk.Tk()root.geometry(f"{window_width}x{window_he......
  • VisionTS:基于时间序列的图形构建高性能时间序列预测模型,利用图像信息进行时间序列预测
    构建预训练时间序列模型时面临的主要挑战是什么?获取高质量、多样化的时间序列数据。目前构建基础预测模型主要有两种方法:迁移学习LLM:通过针对时间序列任务定制的微调或分词策略,重新利用预训练的大型语言模型(LLM),如GPT-4或Llama。从零训练:构建大规模时间序列数据集,并从头开始预训......
  • Java-图像处理秘籍-全-
    Java图像处理秘籍(全)原文:JavaImageProcessingRecipes协议:CCBY-NC-SA4.0一、JavaVM上的OpenCV几年前,在去上海的旅途中,我的一个非常好的朋友在OpenCV上给我买了一本大部头的书。它有大量的摄影操作、实时视频分析样本和非常有吸引力的深入解释,我迫不及待地想在我的本......
  • Recaptcha2 图像识别 API 对接说明
    Recaptcha2图像识别API对接说明本文将介绍一种Recaptcha2图像识别2API对接说明,它可以通过用户输入识别的内容和Recaptcha2验证码图像,最后返回需要点击的小图像的坐标,完成验证。接下来介绍下Recaptcha2图像识别API的对接说明。申请流程要使用API,需要先到Re......
  • 《OpenCV》—— 图像拼接
    下面是两张需要拼接的图片完整代码:importcv2importnumpyasnpimportsysdefcv_show(name,img):cv2.imshow(name,img)cv2.waitKey(0)defdetectAndDescribe(image):gray=cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)descriptor=cv2.SIF......
  • OpenCV(图像对比度增强)
    目录1.直方图均衡化2.自适应直方图均衡化3.限制对比度自适应直方图均衡化4.线性对比度拉伸5.Gamma校正6.Retinex方法7.多尺度对比度增强8.方法选择与应用场景总结增强图像对比度是图像处理中的一个重要步骤,旨在提高图像中不同亮度区域之间的差异,使细节更加清晰和明显......
  • pytorch线性/非线性回归拟合
    一、线性回归1.导入依赖库importnumpyasnpimportmatplotlib.pyplotaspltimporttorchfromtorchimportnn,optimfromtorch.autogradimportVariablenumpy:用来构建数据matplotlib.pyplot: 将构建好的数据可视化torch.nn:包含了torch已经准备好的层,激活函数、全......
  • [数据集][图像分类]骨关节炎严重程度分类数据集14038张4分类
    数据集类型:图像分类用,不可用于目标检测无标注文件数据集格式:仅仅包含jpg图片,每个类别文件夹下面存放着对应图片图片数量(jpg文件个数):14038分类类别数:4类别名称:[“grade0”,“grade2”,“grade3”,“grade4”]每个类别图片数:类别名称图片数grade08080grade23691grade31843gra......
  • OPENCV判断图像中目标物位置及多目标物聚类
    文章目录在最近的项目中,又碰到一个有意思的问题需要通过图像算法来解决。就是显微拍摄的到的医疗图像中,有时候目标物比较偏,也就是在图像的比较偏的位置,需要通过移动样本,将目标物置于视野正中央,然后再次进行拍摄。就类似于下面的图像:基于这个需求,在图像上就需要使......
  • 高点摄像山火烟雾检测数据集 共2890张图像,分辨率1920×1080,标注采用json格式,标注了每
    高点摄像山火烟雾检测数据集(并按照低、中详细标注烟雾浓度)。主要针对初期山火,任何野火检测系统的最重要目标是在火势扩大之前及时检测到火灾。在初期阶段,野火由非火焰性的燃烧烟雾组成,热量相对较低。在这个阶段识别火灾能够提供最佳的抑制机会。在这个阶段通常看不到火焰;因此,任......