0


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

文章目录

论文:
《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个跳舞视频序列;

算法

在这里插入图片描述

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

  1. (
  2. I
  3. s
  4. I
  5. q
  6. O
  7. q
  8. )
  9. (I^sI^qO^q)
  10. (IsIqOq),给出
  11. I
  12. s
  13. I
  14. q
  15. I^sI^q
  16. IsIq,生成
  17. O
  18. q
  19. O^q
  20. Oq,然而
  21. O
  22. q
  23. O^q
  24. Oq难以获得,本文使用
  25. (
  26. I
  27. s
  28. I
  29. t
  30. O
  31. t
  32. )
  33. (I^sI^tO^t)
  34. (IsItOt)进行训练,其中
  35. I
  36. s
  37. I^s
  38. Is
  39. I
  40. t
  41. I^t
  42. It为同一人不同姿势,可通过视频不同帧获取。

在这里插入图片描述

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

  1. (
  2. M
  3. t
  4. S
  5. t
  6. )
  7. (M^tS^t)
  8. (MtSt)

像素流估计:利用预测

  1. M
  2. t
  3. S
  4. t
  5. M^tS^t
  6. MtSt预测pixel flow
  7. F
  8. p
  9. F^p
  10. Fp

wFlow引导衣服迁移

stage1: 有条件人体分割

直接使用姿态迁移进行衣服迁移,容易出现过拟合,因为训练过程使用同一人不同姿态,但在测试时为不同人体。
因此有条件分割网络(Conditional Person Segmentation, CSN)用于预测人体分割,其既能保证目标形状,又能保留源图衣服信息,如图2a所示,
CSN包括两个编码器,首先提取来自两个图像集合特征:
(1)20通道的人体分割

  1. S
  2. s
  3. S^s
  4. Ss及人体特征
  5. R
  6. s
  7. R^s
  8. Rs(包括3通道RGB图、1通道人体mask(由
  9. S
  10. s
  11. S^s
  12. Ss二值化获得)、3通道densepose
  13. D
  14. s
  15. D^s
  16. Ds(SMPL映射到UV空间)、18通道人体关键点
  17. J
  18. s
  19. J^s
  20. Js

(2)目标图densepose

  1. D
  2. t
  3. D^t
  4. Dt及人体关键点
  5. J
  6. t
  7. J^t
  8. Jt。使用
  9. D
  10. t
  11. D^t
  12. Dt可用于补充学习
  13. J
  14. t
  15. J^t
  16. Jt可能难以感知粗糙目标形状。

将上述两者提取到特征,送入残差网络,输出目标人体mask及分割

  1. (
  2. M
  3. t
  4. S
  5. t
  6. )
  7. (M^tS^t)
  8. (MtSt),如式1,对于
  9. M
  10. t
  11. M^t
  12. Mt使用L1损失,
  13. S
  14. t
  15. S^t
  16. St使用交叉熵损失;

在这里插入图片描述

stage2: pixel flow估计

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

  1. F
  2. p
  3. F^p
  4. Fp

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

  1. M
  2. t
  3. M^t
  4. Mt
  5. S
  6. t
  7. S^t
  8. St**

真实场景下源图与目标图难免发生较大变形,此时仅使用PFN容易产生伪影,对此引入特征关联层提高网络泛化性
此外,编码器与解码器同层特征进行级联,加速学习进程
解码器输入为两个同级别编码器特征及其相关性向量;由于源图与目标图为同一人不同姿势,因此可通过自监督训练pixel flow估计,通过依据pixel flow映射到目标帧的纹理与真值纹理差异性进行监督
该过程如式2所示,

  1. F
  2. p
  3. F^p
  4. Fp可以映射源图到目标图纹理特征;

本文PFN与ClothFlow区别为以下三点:
1、使用densepose

  1. D
  2. t
  3. D^t
  4. Dt作为输入;

2、使用相关层提供明确特征匹配引导;
3、ClothFlow利用估计的光流扭曲每个编码特征解决特征不对齐问题,而本文没有这样做,因为如果预测光流不准确将产生累计误差;

stage3: 使用wFlow进行衣服迁移

wFlow

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

  1. I
  2. s
  3. I
  4. t
  5. I^sI^t
  6. IsItSMPL body mesh,将其映射为二维UV空间的densepose表征
  7. (
  8. D
  9. s
  10. D
  11. t
  12. )
  13. (D^sD^t)
  14. (DsDt);

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

  1. D
  2. s
  3. D^s
  4. Ds
  5. D
  6. t
  7. D^t
  8. Dt之间二维vertex flow
  9. F
  10. v
  11. F^v
  12. Fv

3、根据式3获取wFlow

  1. F
  2. w
  3. F^w
  4. Fw

在这里插入图片描述
其中

  1. M
  2. v
  3. M^v
  4. Mv为由vertex flow
  5. F
  6. v
  7. F^v
  8. Fv导出的二进制mask;该式有两个好处:

vertex flow可保证刚性人体部件具有正确纹理映射;
pixel flow可保证精确非刚性衣服变形;
4、

  1. F
  2. w
  3. F^w
  4. Fw依据目标姿态扭曲
  5. I
  6. s
  7. I^s
  8. Is
  9. I
  10. w
  11. s
  12. I^s_w
  13. Iws​,将其与
  14. S
  15. t
  16. S^t
  17. St、未变化的目标人体部件
  18. P
  19. t
  20. P^t
  21. Pt结合

GTN

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

  1. G
  2. B
  3. G
  4. S
  5. G
  6. T
  7. G^BG^SG^T
  8. GBGSGT
  9. G
  10. B
  11. G^B
  12. GB修复原图与目标图背景,输入源图及目标图背景
  13. (
  14. B
  15. m
  16. s
  17. B
  18. m
  19. t
  20. )
  21. (B^s_mB^t_m)
  22. (Bms​,Bmt​),输出修复后的背景
  23. (
  24. B
  25. o
  26. s
  27. B
  28. o
  29. t
  30. )
  31. (B^s_oB^t_o)
  32. (Bos​,Bot​);
  33. G
  34. S
  35. G^S
  36. GS重构原图,
  37. B
  38. o
  39. s
  40. B^s_o
  41. Bos​联合densepose maskedRGB
  42. I
  43. d
  44. s
  45. I^s_d
  46. Ids​及源mask
  47. M
  48. s
  49. M^s
  50. Ms,通过
  51. G
  52. S
  53. G^S
  54. GS重构
  55. O
  56. s
  57. O^s
  58. Os,尽量与
  59. I
  60. s
  61. I^s
  62. Is一致;

由于

  1. D
  2. s
  3. D^s
  4. Ds来自SMPL mesh,因此,
  5. I
  6. d
  7. s
  8. I^s_d
  9. Ids​中宽松衣服的一些区域会被mask,这需要
  10. G
  11. s
  12. G^s
  13. Gs学习补充
  14. M
  15. s
  16. M^s
  17. Ms以外区域,
  18. G
  19. s
  20. G^s
  21. Gs生成过程如式4

在这里插入图片描述

  1. G
  2. T
  3. G^T
  4. GT生成训练过程中姿态迁移结果,
  5. B
  6. o
  7. t
  8. B^t_o
  9. Bot​联合扭曲表征
  10. (
  11. I
  12. w
  13. s
  14. P
  15. t
  16. S
  17. t
  18. )
  19. (I^s_wP^tS^t)
  20. (Iws​,PtSt),通过
  21. G
  22. T
  23. G^T
  24. GT生成姿态迁移结果
  25. O
  26. t
  27. O^t
  28. Ot

损失函数

GTN训练损失函数针对三部分进行:融合mask

  1. M
  2. f
  3. s
  4. M^s_f
  5. Mfs​、重构
  6. O
  7. s
  8. O^s
  9. Os、重构
  10. O
  11. t
  12. O^t
  13. Ot

使用BCE损失监督

  1. M
  2. f
  3. s
  4. M^s_f
  5. Mfs​及
  6. M
  7. f
  8. t
  9. M^t_f
  10. Mft​,如下式,

在这里插入图片描述
其中TV为正则项
在这里插入图片描述
对于重构

  1. O
  2. s
  3. O^s
  4. Os和生成的
  5. O
  6. t
  7. O^t
  8. Ot,使用L1及感知损失;

对抗损失进一步缩小生成图与真值差异;
GTN损失总结如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在线循环优化

在这里插入图片描述
当衣服图像分辨率不高或前背景模糊时,将充满挑战,对此作者引入在线循环优化,如图3所示,通过k次(20)Cycle Block实现,
第一次,首先通过GTN完成

  1. I
  2. s
  3. I^s
  4. Is
  5. I
  6. q
  7. I^q
  8. Iq迁移,生成重构结果
  9. O
  10. ^
  11. s
  12. \hat O^s
  13. O^s及试衣结果
  14. O
  15. ^
  16. q
  17. \hat O^q
  18. O^q,接着使用同样GTN
  19. O
  20. ^
  21. q
  22. \hat O^q
  23. O^q迁移到
  24. I
  25. s
  26. I^s
  27. Is,生成重构
  28. O
  29. s
  30. O^s
  31. Os,对
  32. O
  33. ^
  34. s
  35. \hat O^s
  36. O^s
  37. O
  38. s
  39. O^s
  40. Os
  41. I
  42. s
  43. I^s
  44. Is之间进行L1MSE约束;

第二次,Is与Iq交换,其余同第一次;
以此循环往复,从而生成拥有边缘清晰,纹理丰富高质量图像;

实验

数据集

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

评估方案

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

定性比较

在这里插入图片描述

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

定量比较

在这里插入图片描述
如表1,SSIM用于评估结构和亮度相似性,wFlow引入pixel flow导致亮度发生轻微改变,进而SSIM在紧身衣上性能偏低;

消融实验

如表2为消融实验结果,
在这里插入图片描述
图6展示wFlow消融实验生成结果,仅使用Fp或不使用CO导致生成模糊衣服纹理,仅使用Fv不能保证衣服纹理一致性及衣服形状准确性,图6下展示随着CO(在线循环优化)进行,衣服纹理精确度越来越高;
在这里插入图片描述

结论

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


本文转载自: https://blog.csdn.net/qq_41994006/article/details/126542014
版权归原作者 ‘Atlas’ 所有, 如有侵权,请联系我们删除。

“wFlow(CVPR2022)-虚拟试衣论文解读”的评论:

还没有评论