文章目录

  • 解决问题
  • 算法
    • stage1: 有条件人体分割
    • stage2: pixel flow估计
    • stage3: 使用wFlow进行衣服迁移
      • wFlow
      • GTN
    • 损失函数
    • 在线循环优化
  • 实验
    • 数据集
    • 评估方案
    • 定性比较
    • 定量比较
    • 消融实验
  • 结论

论文:
《Dressing in the Wild by Watching Dance Videos》

github:暂未开源

解决问题

问题:
虚拟试衣已经取得较大进步,但是现有方法忽略了自然场景,在自然场景表现出衣服人体未对齐,精细纹理细节退化;
解决方法:
wFlow关注自然场景,并且在真实性及自然性上改进明显,尤其对于宽松衣服:skirt和dress,有挑战性pose:胳膊交叉、腿弯曲,凌乱背景;
2D pixel flow适用于紧身或宽松衣服,然而对于pose变化比较大时失效;3D vertex flow虽然在各种姿势上表现较好,但是牺牲变形自由度,对于宽松衣服表现不好;wFlow将两者结合,作者基于Dance50k视频数据(利用跨帧一致性自监督训练)进行虚拟试衣,不需要成对图像训练,降低工作量;
本文贡献如下:
1、第一次探究自然场景下衣服迁移问题。
2、可将任意服装迁移至任何自然场景下复杂姿势,wFlow结合2D与3D信息;
3、构建大规模视频数据集,Dance50k,包括50k个跳舞视频序列;

算法

wFlow(CVPR2022)-虚拟试衣论文解读

如图1,常规训练需要成对数据,
(
I
s

I
q

O
q
)
(I^s、I^q,O^q)
(IsIqOq)
,给出
I
s

I
q
I^s、I^q
IsIq
,生成
O
q
O^q
Oq
,然而
O
q
O^q
Oq
难以获得,本文使用
(
I
s

I
t

O
t
)
(I^s,I^t,O^t)
(IsItOt)
进行训练,其中
I
s
I^s
Is

I
t
I^t
It
为同一人不同姿势,可通过视频不同帧获取。
wFlow(CVPR2022)-虚拟试衣论文解读

图2为wFlow整体流程,包括以下三个阶段:
有条件人体分割:生成人体layout
(
M
t

S
t
)
(M^t,S^t)
(MtSt)

像素流估计:利用预测
M
t

S
t
M^t、S^t
MtSt
预测pixel flow
F
p
F^p
Fp

wFlow引导衣服迁移

stage1: 有条件人体分割

直接使用姿态迁移进行衣服迁移,容易出现过拟合,因为训练过程使用同一人不同姿态,但在测试时为不同人体。
因此有条件分割网络(Conditional Person Segmentation, CSN)用于预测人体分割,其既能保证目标形状,又能保留源图衣服信息,如图2a所示,
CSN包括两个编码器,首先提取来自两个图像集合特征:
(1)20通道的人体分割
S
s
S^s
Ss
及人体特征
R
s
R^s
Rs
(包括3通道RGB图、1通道人体mask(由
S
s
S^s
Ss
二值化获得)、3通道densepose
D
s
D^s
Ds
(SMPL映射到UV空间)、18通道人体关键点
J
s
J^s
Js

(2)目标图densepose
D
t
D^t
Dt
及人体关键点
J
t
J^t
Jt
。使用
D
t
D^t
Dt
可用于补充学习
J
t
J^t
Jt
可能难以感知粗糙目标形状。
将上述两者提取到特征,送入残差网络,输出目标人体mask及分割
(
M
t

S
t
)
(M^t,S^t)
(MtSt)
,如式1,对于
M
t
M^t
Mt
使用L1损失,
S
t
S^t
St
使用交叉熵损失;
wFlow(CVPR2022)-虚拟试衣论文解读

stage2: pixel flow估计

2D pixel flow用于保留图像之间结构及纹理信息,与目标无关,这保证对任意衣服款式的泛化性;因此作者使用PFN估计pixel flow
F
p
F^p
Fp

如图2b,其输入与CSN类似,源分支与CSN输入一致目标分支增加CSN所预测
M
t
M^t
Mt

S
t
S^t
St

真实场景下源图与目标图难免发生较大变形,此时仅使用PFN容易产生伪影,对此引入特征关联层提高网络泛化性
此外,编码器与解码器同层特征进行级联,加速学习进程
解码器输入为两个同级别编码器特征及其相关性向量;由于源图与目标图为同一人不同姿势,因此可通过自监督训练pixel flow估计,通过依据pixel flow映射到目标帧的纹理与真值纹理差异性进行监督
该过程如式2所示,
F
p
F^p
Fp
可以映射源图到目标图纹理特征;
本文PFN与ClothFlow区别为以下三点:
1、使用densepose
D
t
D^t
Dt
作为输入;
2、使用相关层提供明确特征匹配引导;
3、ClothFlow利用估计的光流扭曲每个编码特征解决特征不对齐问题,而本文没有这样做,因为如果预测光流不准确将产生累计误差;

stage3: 使用wFlow进行衣服迁移

wFlow

使用阶段2产生的2D pixel flow及3D SMPL vertex flow,提升模型容纳能力,使得当面对自然场景时,模型拥有更大姿态迁移潜力;具体来说:
1、生成拟合
I
s

I
t
I^s、I^t
IsIt
的SMPL body mesh,将其映射为二维UV空间的densepose表征
(
D
s

D
t
)
(D^s、D^t)
(DsDt)

2、因为SMPL拓扑结构固定,因此可进行计算
D
s
D^s
Ds

D
t
D^t
Dt
之间二维vertex flow
F
v
F^v
Fv

3、根据式3获取wFlow
F
w
F^w
Fw

wFlow(CVPR2022)-虚拟试衣论文解读
其中
M
v
M^v
Mv
为由vertex flow
F
v
F^v
Fv
导出的二进制mask;该式有两个好处:
vertex flow可保证刚性人体部件具有正确纹理映射;
pixel flow可保证精确非刚性衣服变形;
4、
F
w
F^w
Fw
依据目标姿态扭曲
I
s
I^s
Is

I
w
s
I^s_w
Iws
,将其与
S
t
S^t
St
、未变化的目标人体部件
P
t
P^t
Pt
结合

GTN

如图2c,GTN有三个UNet生成器
G
B

G
S

G
T
G^B、G^S、G^T
GBGSGT


G
B
G^B
GB
修复原图与目标图背景,输入源图及目标图背景
(
B
m
s

B
m
t
)
(B^s_m,B^t_m)
(BmsBmt)
,输出修复后的背景
(
B
o
s

B
o
t
)
(B^s_o,B^t_o)
(BosBot)


G
S
G^S
GS
重构原图,
B
o
s
B^s_o
Bos
联合densepose masked源RGB图
I
d
s
I^s_d
Ids
及源mask
M
s
M^s
Ms
,通过
G
S
G^S
GS
重构
O
s
O^s
Os
,尽量与
I
s
I^s
Is
一致;
由于
D
s
D^s
Ds
来自SMPL mesh,因此,
I
d
s
I^s_d
Ids
中宽松衣服的一些区域会被mask,这需要
G
s
G^s
Gs
学习补充
M
s
M^s
Ms
以外区域,
G
s
G^s
Gs
生成过程如式4;
wFlow(CVPR2022)-虚拟试衣论文解读

G
T
G^T
GT
生成训练过程中姿态迁移结果,
B
o
t
B^t_o
Bot
联合扭曲表征
(
I
w
s

P
t

S
t
)
(I^s_w,P^t,S^t)
(IwsPtSt)
,通过
G
T
G^T
GT
生成姿态迁移结果
O
t
O^t
Ot

损失函数

GTN训练损失函数针对三部分进行:融合mask
M
f
s
M^s_f
Mfs
、重构
O
s
O^s
Os
、重构
O
t
O^t
Ot

使用BCE损失监督
M
f
s
M^s_f
Mfs

M
f
t
M^t_f
Mft
,如下式,
wFlow(CVPR2022)-虚拟试衣论文解读
其中TV为正则项
wFlow(CVPR2022)-虚拟试衣论文解读
对于重构
O
s
O^s
Os
和生成的
O
t
O^t
Ot
,使用L1及感知损失;
对抗损失进一步缩小生成图与真值差异;
GTN损失总结如下:
wFlow(CVPR2022)-虚拟试衣论文解读
wFlow(CVPR2022)-虚拟试衣论文解读
wFlow(CVPR2022)-虚拟试衣论文解读

在线循环优化

wFlow(CVPR2022)-虚拟试衣论文解读
当衣服图像分辨率不高或前背景模糊时,将充满挑战,对此作者引入在线循环优化,如图3所示,通过k次(20)Cycle Block实现,
第一次,首先通过GTN完成
I
s
I^s
Is

I
q
I^q
Iq
迁移,生成重构结果
O
^
s
\hat O^s
Os
及试衣结果
O
^
q
\hat O^q
Oq
,接着使用同样GTN将
O
^
q
\hat O^q
Oq
迁移到
I
s
I^s
Is
,生成重构
O
s
O^s
Os
,对
O
^
s
\hat O^s
Os

O
s
O^s
Os

I
s
I^s
Is
之间进行L1及MSE约束;
第二次,Is与Iq交换,其余同第一次;
以此循环往复,从而生成拥有边缘清晰,纹理丰富高质量图像;

实验

数据集

Dance50k数据集包含5W个单人跳舞序列(15s左右),其不仅可用于虚拟试衣,还可用于以人为中心的图像、视频方向;

评估方案

作者从两个角度进行评估:姿态迁移结果准确性及生成衣服迁移结果真实性;
使用SSIM评估姿态迁移;使用FID、LPIPS评估衣服迁移;使用IoU评估衣服形状,仅限于宽松衣服,由于紧身衣服通过SMPL建模IoU指标较高; 除此之外还有人工评测;

定性比较

wFlow(CVPR2022)-虚拟试衣论文解读

如图4,作者在Dance5k及DeepFashion数据集,与ADGAN、DiOR、LWG进行比较;
ADGAN不能融合背景,且不能恰当的保留衣服特性;
DiOR在自然场景表现不佳,纹理失真;
LWG当面对复杂姿态时,生成模糊边缘,不能建模宽松衣服;

定量比较

wFlow(CVPR2022)-虚拟试衣论文解读
如表1,SSIM用于评估结构和亮度相似性,wFlow引入pixel flow导致亮度发生轻微改变,进而SSIM在紧身衣上性能偏低;

消融实验

如表2为消融实验结果,
wFlow(CVPR2022)-虚拟试衣论文解读
图6展示wFlow消融实验生成结果,仅使用Fp或不使用CO导致生成模糊衣服纹理,仅使用Fv不能保证衣服纹理一致性及衣服形状准确性,图6下展示随着CO(在线循环优化)进行,衣服纹理精确度越来越高;
wFlow(CVPR2022)-虚拟试衣论文解读

结论

本文提出wFlow结合2D与3D身体信息映射衣服纹理,同事引入循环优化适用于非常规衣服,取得不错效果,同时提出Dance50k数据集;