CVPR 2020 Poster | ACGPN: 基于图像的虚拟换装新思路
【导读】在CVPR 2020上,商汤科技提出的自适应内容生成保留网络ACGPN值得关注,该工作为基于图像的虚拟换装提供了新的思路。并且该工作提出了一种新颖的衡量虚拟换装难度的指标,并将所用数据集划分成了三个难度。相比于主流方法,ACGPN不管是视觉质量上还是量化实验上都有明显优势。
回顾介绍算法之前,我们先来回顾一下基于图像的虚拟换装的历史。传统的虚拟换装基于 3D 匹配,比如一些换装墨镜,都是生成一个跟踪人物的虚拟贴图。而基于图像的虚拟换装,可以直接生成换好装的人物图片。VITON 提供了一个被广泛使用的 pipeline,现在的方法大多遵循类似的框架。
1. 利用网络泛化能力的重构学习
CP-VTON 和 VITON 都采用了这一表达。但是由于提供的先验信息较少,原图的监督指导已经被压缩到了极小值,虽然可以很好的解决原图原有服装对生成的干扰,但也难以让网络学会对复杂细节的建模。
2. 基于 Thin-Plate Spline (TPS)变换的服装变形模块
VITON:如图所示,VITON 通过先生成衣服 mask 和原始 inshop-clothes 的 mask 来计算 TPS 变换的参数,将这套参数使用到 inshop-clothes 上,生成一个变形衣服图。之后会和之前生成的一个 coarse 人物结果,一起 refine 出最终结果。整个流程是 2-stage 模式。VITON 在进行图像对齐的时候,利用 Shape Context 描述子提取图像特征完成对齐,后来的 CP-VTON 则把这个部分用卷积神经网络代替。
CP-VTON:CP-VTON 基于 VITON 这个工作,增加了一个“GMM 模块”,使用一个网络来回归 TPS 变换的参数,抛弃了之前利用 shape context 图像 descriptor 进行匹配的方法,变成 learning-based,奠定了这一模块的一般设计方法。
动机 现有方法存在的问题我们拿 CP-VTON 和 VITON 举例,以上为 CP-VTON 的文章中报告的图像结果,我们可以看到以下几点问题:
1.人物的肢体仍然较为模糊。
2.对于下装很难做到清楚的保留。
3.衣服的纹理容易产生过度形变。
当我们运行两者的官方源代码,得到下图的结果,我们还能发现一个更为本质的问题。
这两个方法都无法处理人物肢体与衣服有交叉的情况。一旦手挡在了衣服前,或者姿势较为复杂,往往图片会丢失肢体细节,手指糊成一团。这给面向真实场景应用的虚拟换装系统的实现,带来极大的隐患与阻力,毕竟用户在使用的时候,姿势是各种各样的。为了解决这一问题,我们使用语义分割来代替原有的衣服无关人物表达。
网络设计该文章提出了一种自适应内容生成保留网络即 ACGPN。此方法利用一种 layout aware 的方法,自适应的判断哪部分图像是应该保留的,解决了现有方法中,无法对人物肢体与衣服有遮挡的情况的建模,极大程度地降低了生成结果中的伪影以及模糊细节;并通过引入仿射变换的共线性等性质,对变形 inshop-clothes 中的 TPS 变换起到约束,使得 Logo 和花纹不易扭曲变形。
ACGPN 首先预测参考图像的语义布局,然后根据预测的语义布局自适应地确定内容的生成或保存。特别地,ACGPN 由三个主要模块组成,如图所示。
第一个是语义生成模块(Semantic Generation Module (SGM)),它使用身体部位和衣服的语义分割来逐步生成暴露的身体部位的蒙版(即,合成的身体部位蒙版)和变形衣服区域的蒙版。与现有技术相反,提出的 SGM 以两阶段的方式生成语义蒙版,以首先生成身体部位并逐步合成服装蒙版,这使得参考图像中的原始服装形状对于网络完全不可知。
第二部分是衣服变形模块(Clothes Warping Module (CWM)),该模块用于根据生成的语义布局对衣服进行变形操作。除了基于薄板样条的方法以外,还对变形优化目标引入了二阶差分约束,以使变形过程更加稳定,尤其是对于质地复杂的衣服。
最后,内容融合模块(Content Fusion Module (CFM))整合了来自合成的人体部位蒙版,变形的服装图像和原始人体部位图像的信息,以自适应地确定合成图像中不同人体部位的生成或保存。
二阶差分约束在 Clothes Warping Module 里面,该文章使用 Spatial Transformation Network (STN) 利用薄板样条插值算法(TPS)对目标衣服进行变形,以保留衣服的纹理细节。但是,仅仅使用现有结构不足以保留精确的纹理细节,尤其是面对复杂姿势、复杂衣服花纹的时候,更容易出现不匹配的情况。为了解决这一问题,该文章引入一种二阶差分约束,对 TPS 变换中的网格点进行控制。
从图中我们可以看出没有该文章的约束,衣服虽然在整体形状上没有差异,但是内部花样会产生较大扭曲。约束的公式为:
表示两个点之间的斜率。通过这个约束可以引入仿射变换的两个性质,共线性和对应线段比例相同。从而减少过度的扭曲变形的发生。并且为了防止在求取斜率中会出现的除零错误,使用乘积形式:
数据集:VITON Dataset
VITON 在 Zalando 服装网站(www.zalando.de)搜集的数据集。它包含大约 19,000 个图像对,每个图像对都包括一个正面的女性图像和一个上衣图像。删除无效的图像对后,它会产生 16,253 个配对,并进一步分为训练组 14,221 对和测试组 2,032 对。
实验结果实验都是在 VITON 数据集上进行,并且根据姿势的复杂程度可以分为 Easy,Medium,Hard 三个等级。Easy: 手放两侧,身体向前;Medium: 身体会发生扭曲,肢体与身体轻微遮挡;Hard: 肢体与身体有严重遮挡。该文章一共从两个方面证明所提方法,质量性实验:比较虚拟换装结果,该文章提出的方法可以更有效地降低伪影提高真实度,并且能更好的保留衣服的纹理细节,达到照片级别的换装效果;量化指标:通过 SSIM 和 IS 以及用户调查等指标,从另外一个方面证明 ACGPN 算法的优越性。
传送门ACGPN 代码目前已经开源,欢迎各位同学使用和交流。
论文地址:https://arxiv.org/abs/2003.05863
源码地址:https://github.com/switchablenorms/DeepFashion_Try_On References
[1] Bochao Wang, Huabin Zheng, Xiaodan Liang, Yimin Chen, Liang Lin, and Meng Yang. Toward characteristic preserving image-based virtual try-on network. In ECCV(13), volume 11217 of Lecture Notes in Computer Science, pages 607–623. Springer, 2018.
[2] Xintong Han, Zuxuan Wu, Zhe Wu, Ruichi Yu, and Larry S. Davis. VITON: an image-based virtual try-on network. In CVPR, pages 7543–7552. IEEE Computer Society, 2018.
[3] Ruiyun Yu, Xiaoqi Wang, and Xiaohui Xie. Vtnfp: An image-based virtual try-on network with body and clothing feature preservation. In The IEEE International Conferenceon Computer Vision (ICCV), October 2019.
责任编辑: