ECCV 2022
论文:https://arxiv.org/pdf/2206.14180v2.pdf
代码:https://github.com/sangyun884/hr-viton
图片结果
Baseline: VITON-HD
摘要
在虚拟试穿领域,现有方法一般①将服装变形成适合人体的样子,并且②生成人体穿上这件服装的分割图,最终③融合服装和人体。
然而,当 ①服装变形 与 ②分割图生成 是在没有信息交换的情况下单独操作时,形变后的衣服与分割图间错位的情况,这会导致结果中的伪影。此外,这种信息的分隔还会导致被身体遮挡的服装区域过度变形,将这种情况称为像素压缩伪影。
为了解决以上问题,我们提出一个全新的试穿条件生成器作为①②两个阶段的统一模块。在条件生成器中新增的特征融合块可以实现两个阶段的信息交换,避免错位和遮挡。同时,我们引入了判别器拒绝机制来过滤掉未正确预测的分割图,并确保VITON框架的性能。
引言
基于3D的虚拟试穿方法有赖于服装的3D测量,我们提出的基于图片的虚拟试穿方法仅需要衣服和人体的图片,更适用于现实场景。
之前的研究有专门的变形模块,使得服装能与人体对齐。预测出的试穿图像的分割图指引了人体的分布并区分出要生成的区域和保留的区域,从而简化了最终图像生成的难度。分割图的作用随着分辨率增大愈加明显,服装变形和分割图生成模块的输出会极大地影响最终的生成结果。
主要贡献:
-
提出了服装扭曲和分割图生成同时进行的新框架
-
本方法本质上是不存在错位的,也可以自然地处理遮挡问题
-
使用判别器拒绝机制过滤掉不正确的分割图
-
在高分辨率的数据集上实现SOTA
方法
原数据:人体图 I、服装图 C
数据集: VITON-HD,包含1.3w高分辨率虚拟试穿数据(1024×768),训练集1.1w对、测试集2k对。如有必要,使用双三次下采样到所需分辨率。
预处理:
人体分割图:S(H×W)
服装mask :Cm(H×W)
人体姿势图(dense pose):P(3×H×W)
未知服装人体图(把服装遮掉的人体图):Ia
未知服装分割图:Sa
条件生成器:
目标:
-
生成穿着目标服装 C 的人体分割图 S
-
对 C 进行变形以适于人体穿着 (Ic)
Pipeline:
服装编码器 Ec:输入服装和其mask(C,Cm),提取特征金字塔
分割编码器 Es:输入未知服装分割图和人体densepose图(Sa,P),提取特征金字塔
解码器:对上述提取出的特征进行特征融合,预测用于服装变形的分割图和外观流。特征融合块含有两条通路(流通路和seg通路)分别用来生成外观流图和分割特征
,这两个通路彼此交换信息以联合估计结果(蓝色和绿色箭头)。对于绿色箭头,
用于变形从C和Cm中提取的特征,将其与
连接以生成
;对于蓝色箭头,
用于指导外观流
的估计。
条件对齐:对最后一个特征融合块的输出进行条件对齐,即去除生成的的服装mask通道与
的不重叠部分,得到:
其中等同于
,C表示它的服装mask通道, i、j、k分别表示空间和纬度的索引,σ表示深度卷积,使用ReLU激活函数保证
非负。
对进行身体部分的遮挡处理得到
。
详细结构:
损失函数:
计算预测的分割图与人体分割图 S 的 交叉熵损失 和 条件GAN损失(最小二乘)
L1 损失 和 感知损失用来支持网络将服装变形为适合人体的形状
总变差损失用来加强外观的平滑度(仅正则化最后的流来学习粗尺度下的流估计)
总的损失函数:
图片生成器:
以为指引,融合 Ia、
、P,生成最终的试穿图
图片生成器包含一系列残差块和上采样层。残差块使用SPADE作为归一化层,以为指引调制参数。
详细结构:
判别器拒绝机制:
在随即拒绝抽样中,输入 x 的接受概率为:
pd 和 pg 分别是数据分布和生成器得到的隐式分布,L是归一化常数,当使用最小二乘GAN损失时,最佳GAN的推导公式如下:
所以接受概率还可以表示为(当且仅当D=D*):
则常数 L 取
结果
消融实验:
与基线对比:
可视化结果:
局限性
本方法是建立在假设测试数据与训练数据是同分布的,在现实世界中,输入图像一般会在与训练图像不同的视角拍摄出,甚至可能不包含人类,我们的拒绝机制可以过滤掉这种不同的分布。