虚拟试衣(unpaired)-PASTA-GAN论文解读


论文: 《Towards Scalable Unpaired Virtual Try-On via Patch-Routed Spatially-Adaptive GAN》
代码: https://github.com/xiezhy6/PASTA-GAN

创新点

PASTA-GAN支持非成对数据进行虚拟换装
try-on目前存在问题:

  1. 传统成对try-on方法使用数据成对出现,即人A穿衣服C1及C2的图片,以此训练变换网络,但实际中人体不一定成对出现,缺少成对真值标定,此方案将失效;
  2. 现有非成对试衣方案通过使用不同姿态人体图像将服装与姿态进行解耦,但是这需要同一个人的不同姿态数据;

PASTA-GAN可以精准生成衣服形状和风格:
1、引入patch-rounted解耦模块,将服装风格及空间特征解耦
2、空间自适应残差模块,减轻特征不对齐问题;

PASTA-GAN创新点有三个:
1、将衣服分割为归一化patch,patch-routed解耦模块鼓励风格编码器学习空间无关的衣服特征,这些特征使得无论衣服空间信息如何,生成网路都将生成准确衣服风格的图片;
2、给出目标人体姿态后,不需要扭曲网络或者3D人体模型,归一化patch可以轻松重构符合目标形态的衣服;
3、空间自适应残差模块提取扭曲的服装特征,自使用对齐目标衣服形状;

算法

PASTA-GAN推理过程如图2所示,
在这里插入图片描述
PASTA-GAN推理过程如下:
1、给出源域及目标域人体( I s , I t I_s,I_t Is,It),提取源域服装 G s G_s Gs,源域姿态 J s J_s Js,目标域姿态 J t J_t Jt,三者通过patch-routed解耦模块生成归一化衣服patch P n P_n Pn以及扭曲的衣服 G t G_t Gt
2、conditional stylegan2将从 P n P_n Pn提取的风格 ω \omega ω,从目标头及姿态提取的人体特征 f i d f_{id} fid,生成粗糙试衣结果 I ~ t ′ \widetilde I_t' I t及对应目标服装mask M g M_g Mg
3、在纹理生成分支充分利用 f g f_g fg生成最终试衣结果 I t ′ I_t' It.
PASTA-GAN注意包括三部分:patch-routed distanglement模块、attribute-decoupled conditional StyleGAN2、Spatially-adaptive Residual模块。

Patch-routed Disentanglement Module

图2为推理过程,由于缺少成对样本,因此解耦pose与衣服关联至关重要;
为移除衣服包含空间信息,作者直接将衣服分割为归一化patch;
patch-routed生成归一化Patch P n P_n Pn以及扭曲的衣服 G t G_t Gt
原理如下,过程如图3:
1、提取源域人体关键点 J s J_s Js,源域衣服 G s G_s Gs
2、根据关键点位置,将衣物分为8个patch P s P_s Ps
3、通过视角变换对所有patch进行归一化,除去空间信息。
视角变换过程如下:
a.通过 P s P_s Ps P n P_n Pn一一对应patch的角点(关键点)坐标计算 H s − > n H_{s->n} Hs>n,完成patch归一化,如式1,Pn每个patch大小固定( 64 ∗ 64 64*64 6464);
在这里插入图片描述
b.通过使用目标关键点进一步将 P n P_n Pn迁移至 P t P_t Pt
中间归一化patch有利用解耦衣服风格与空间特征;
在这里插入图片描述

Attribute-decoupled Conditional StyleGAN2

单独的conditional StyleGAN2不足以生成逼真的衣服细节,尤其是复杂纹理与logo;原因有二:
1、风格编码映射为归一化patch为一维向量,导致缺少高频信息;
2、由于服装纹理多样性,对基础生成网络来说,学习服装的细节分布充满挑战。
为了生存更真实衣服,作者在生成网络128*128生成block后增加两个分支:风格生成分支(SSB)与纹理生成分支(TSB)。
SSB用于生成中间试衣结果 I ~ t ′ \widetilde I_t' I t及对应目标服装mask M g M_g Mg
TSB利用 M g M_g Mg及扭曲的衣服 G t G_t Gt(存在丰富纹理信息引导生成)生成高质量试衣结果;

Spatially-adaptive Residual Module

扭曲的衣服 G t G_t Gt M g M_g Mg存在不对齐,由于 G t G_t Gt直接通过拼接patch得到,如图4;
在这里插入图片描述
为了解决这个问题,如图2,在TSN的最后两个生成block之间添加spatially-adaptive residual module,该模块由一个服装编码器和三个具有特征嵌入机制的空间自适应残差块组成。
其过程如下:
1、移除 M g M_g Mg以外区域的 G t G_t Gt,图4中绿色区域;
2、修补 M g M_g Mg中未对齐的特征区域,图4中橙色区域;
归一化和调制过程如式6,
在这里插入图片描述

损失函数

图2为推理过程结构,训练过程 I s 、 I t I_s、I_t IsIt使用同一张图;
即使原始pose与目标pose相同,粗糙的扭曲衣服 G t G_t Gt与原始衣服 G s G_s Gs存在差异;同时为了缩小训练测试差异,训练过程增加随机擦除;如图5
在这里插入图片描述
损失函数主要包括:
1、重构损失Lrec
重构损失Lrec:
由于训练数据非成对,因此使用图像重构损失;
生成图像(粗糙试衣结果及最终试衣结果)与真实图像之间L1损失;
2、感知损失Lperc
使用5层VGG-19特征,计算特征L1距离;
Lrec与Lperc,如式7,
在这里插入图片描述
3、mask 损失Lmask
预测的衣物mask M g M_g Mg与真值mask M g t M_{gt} Mgt(即Gs的Mask)之间loss,如式8;
在这里插入图片描述
4、对抗损失LGAN
总损失如式9,
在这里插入图片描述

实验

非成对数据集

作者使用FID以及真人评估图片真实性,结果如表1,
在这里插入图片描述
在UPT数据集非成对设置下,各个方法可视化结果如图6,
在这里插入图片描述

成对数据集

在MPV数据集,比较成对的数据可视化结果,如图7,
在这里插入图片描述

消融实验

在这里插入图片描述

结论

patch-routed模块解耦衣服与空间信息,使得非成对服装迁移成为可能;
PASTA-GAN中关键点信息来自OpenPose,人体部件分割信息来自Graphonomy。

# 3D_Garment_Tryon_System 3D虚拟试衣系统 随着网络的普及和虚拟现实技术的发展,三维虚拟试衣技术已成为国内外学术界普遍关注和研究的重要课题。 三维服装虚拟试衣系统(3D Garment Virtual Try-On System)主要包括四个部分:用户试衣时的人体识别、姿势检测;三维虚拟人体模型的构建与匹配,三维虚拟衣物模型的构建,三维衣物在虚拟人体的着装试穿。目前我们在三维试衣系统相关理论的基础上,从研究三维人体、衣物建模理论出发,结合物理模型、图形处理等方法,实现了以上四个部分,并对其中一些关键技术进行了研究。 人体识别和姿势检测的研究方面,针对精准度要求较高的情况,我们采用N-best人体识别模型,用深度置信神经网络来对模型进行训练,能够检测出图片中任意姿势各个身体部件;针对实时性要求较高的情况,我们采用SVM模型,可以判断出几种常见的人们试衣时的动作。 三维虚拟人体建模中,首先我们建立集成于软件中的人体模型库,主要是使用专用的三维人体造型软件Poser,将其中人体模型导出为OBJ文件,再根据OBJ文件的存储格式,提取出人体曲面的顶点信息,然后采用稀疏表示和三角剖分技术,利用一个个小三角形来逼近人体各部件的曲面;而用户人体模型则是根据用户输入的人体信息,查找模型库中相匹配的人体模型并进行一定调整,最后结合检测到的用户姿势来展示用户特定的人体模型。 对于虚拟试衣,通过衣片三角剖分优化、二维到三维的转化、三维衣片虚拟缝合,构建了简单的衣物模型,基于碰撞检测技术,研究并实现了衣物虚拟穿在了人体模型身上的真实样子,如有褶皱、垂悬等等效果。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值