尝试混搭,告别格子衫,这个GAN帮你展示真人高清混搭效果

Posted 机器学习算法与Python学习-公众号

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了尝试混搭,告别格子衫,这个GAN帮你展示真人高清混搭效果相关的知识,希望对你有一定的参考价值。

本文由『机器之心』授权转载参
编辑 / 昱良
640?wx_fmt=png
链接: https://arxiv.org/pdf/1908.08847.pdf

时尚电子商务平台通过搜索和个性化来简化服装购买。 可视化试衣可以进一步提升用户体验。 之前的研究主要集中在给现有图像上的时装模特换装 [5,2] 或基于给定姿态和服装颜色从头开始生成低分辨率图像 [8]。 本文专注于生成时装模特穿着所需服装以及保持特定姿态的高分辨率图像。

近年来,生成对抗网络(GAN)[1] 的进步使得研究者可以通过隐式生成建模对真实图像进行采样。 其中一个改进是 Style GAN [7],其创意在于使用 Progressive GAN [6] 生成高分辨率图像,并通过自适应实例归一化(AdaIN)[4] 对其进行修改。 在本文中,基于模特服装姿态图像数据集,作者应用并修改了 Style GAN: 首先在一组时装模特图像上训练了原始 Style GAN,结果表明可以将一个生成的时装模特的服装颜色和身体姿态迁移到另一个; 其次,作者修改了 Style GAN 以适应服装和人体姿态的生成过程。 这使得在不同的身体姿态和体型下快速可视化定制服装成为可能。

640?wx_fmt=png
图 1:来自数据集的样本(红色标记代表提取的关键点)。

服装数据集

作者使用具有约 380K 条目的专有图像数据集。 数据集中的每个条目都包含一个穿着特定服装的特定姿态时装模特。 一套服装最多有 6 个单品。 为了获得身体姿态,作者使用深度姿态估计器提取了 16 个关键点 [10]。 图 1 可视化了数据集中的部分样本。 时装模特上的红色标记代表提取的关键点。 模特和单品图像都具有 1024×768 的分辨率。

实验

unconditional Style GAN 的流程如图 2(a)所示。 模型有 18 个生成器层,它们的输入为用于自适应实例归一化的样式向量的仿射变换副本。 鉴别器与原始 Style GAN 相同。 作者在四个 NVIDIA V100 GPU 上训练这个网络,训练了 160 个 epoch,花费大约四周时间。

640?wx_fmt=png
图 2a: unconditional GAN 的流程图

在 conditional 版本中,作者使用嵌入网络修改 Style GAN,如图 2(b)所示。 该网络的输入是六个单品图像(总共 18 个通道)和一个 16 通道的热度图,其中热度图是根据 16 个关键点计算出来的。 单品图像根据固定排序连接,以便得到跨服装语义一致性。 排序如图 1 所示。

640?wx_fmt=png
图 2b: conditional GAN 流程图。

如果一套服装没有特定语义类别的单品,那么它将填充一个空的灰色图像。 嵌入网络创建 512 维向量,其与潜在向量连接以产生样式向量。 该模型也训练了四周(115 个 epoch)。 conditional 模型中的鉴别器使用单独的网络来计算输入单品和热度图的嵌入向量,进而使用 [9] 中的方法计算最终得分。

Unconditional 

在下图 3 中,作者展示了由 unconditional 模型生成的图像。 可以看到,不论是单品还是人体部位实际上都是以 1024×768 像素的最大分辨率生成的。 在训练期间,可以通过切换某些层的样式向量来正则化生成器。 这一操作实现了图像间的信息迁移。

640?wx_fmt=png
图 3: 由 unconditional Style GAN 生成的模特图

在下图 4 中,作者给出了两个信息迁移示例。 首先,将相同的源样式向量传播到生成器的第 13 到 18 层(在图 2 中的仿射变换之前),它将源服装的颜色传递给目标生成图像,如图 4 所示。 如果复制源样式向量到低层,可以实现姿态迁移。

640?wx_fmt=png
图 4: 将服装颜色或身体姿态迁移到各个生 成模特

表 1 展示了传播源和目标样式向量的层,以实现所需的迁移效果。

640?wx_fmt=png
表 1: 用于传播样式向量的层。

Conditional

训练好 Conditional 模型后,可以输入一组所需的单品和一个特定姿态来可视化穿衣效果,如图 5 所示。 图 5(a)和(b)为用于生成图像的两套服装,图 5(c)和(d)为随机挑选四种姿态所生成的模特图。 可以观察到单品在生成的人体上正确呈现,并且姿态在不同的服装中是一致的。 图 5(e)展示了通过将夹克从第一套服装添加到第二套服装后生成的可视化图像。 可以看到牛仔夹克的纹理和大小在时装模特上正确呈现。 要注意的是,由于数据集中的伪相关性,生成模特的脸可能会随服装和姿势而变化。

640?wx_fmt=png
图 5: 两套不同的服装(a)和(b)用于生成(c)和(d)中的模特图。 (e)套装#1 的夹克被添加到套装#2 以定制可视化。

考虑到性别、身材和体重的差异,数据集中包含了各种体型的时装模特。 所提取关键点之间的相对距离隐式地表示了这种差异。 conditional 模型能够捕获和再现不同体型的时装模特,如图 5 中第四个生成图像所示。 这一结果非常振奋人心,该方法在未来可能会通过虚拟穿戴应用扩展至更多用户。

定量结果

作者通过计算 unconditional 和 conditional GAN 的 Frechet 初始距离(FID)得分 [3] 来评估生成图像的质量。 从表 2 可以看出,unconditional GAN 可以产生更高质量的图像,这一结论可以通过比较图 3 和图 5 来得出。 conditional 判别器还有检查输入服装和姿态是否正确生成的附加任务。 这可能导致图像质量(或「真实性」)与直接控制生成服装和姿态能力之间的权衡。

640?wx_fmt=png
表 2: 模型 FID 得分

推荐阅读



以上是关于尝试混搭,告别格子衫,这个GAN帮你展示真人高清混搭效果的主要内容,如果未能解决你的问题,请参考以下文章

玖哥乱弹程序员如何成为别人的男朋友

如何在 mediapipe 中获取面部混搭地标的坐标

Python:函数的参数、混搭、开包

今日份模拟赛混搭题解

pitchfork最佳新音乐混搭

nodejs中 图文混搭