VITON-HD — 官方 PyTorch 实现
***** 我们团队的最新后续研究可在 https://github.com/rlawjdghek/StableVITON 获取 *****
VITON-HD: 基于错位感知归一化的高分辨率虚拟试穿
Seunghwan Choi*1, Sunghyun Park*1, Minsoo Lee*1, Jaegul Choo1
1韩国科学技术院
发表于 CVPR 2021. (* 表示贡献相同)
论文: https://arxiv.org/abs/2103.16874
项目页面: https://psh01087.github.io/VITON-HD
摘要: 基于图像的虚拟试穿任务旨在将目标服装转移到人物相应区域,通常通过将服装适配到所需身体部位并将变形后的服装与人物融合来实现。尽管相关研究越来越多,但合成图像的分辨率仍局限于低分辨率(如256x192),这严重限制了满足在线消费者的能力。我们认为这一限制源于几个挑战:随着分辨率的提高,变形服装与所需服装区域之间错位区域的伪影在最终结果中变得明显;现有方法使用的架构在生成高质量身体部位和保持服装纹理清晰度方面表现不佳。为了应对这些挑战,我们提出了一种名为 VITON-HD 的新型虚拟试穿方法,成功合成了 1024x768 分辨率的虚拟试穿图像。具体而言,我们首先准备分割图来指导虚拟试穿合成,然后将目标服装粗略地适配到给定人物的身体上。接下来,我们提出了对齐感知分段(ALIAS)归一化和 ALIAS 生成器来处理错位区域并保留 1024x768 输入的细节。通过与现有方法的严格比较,我们证明 VITON-HD 在合成图像质量方面在定性和定量上都远远超过了基准方法。
注意
我们团队的 ECCV 2022 论文(后续研究): https://github.com/sangyun884/HR-VITON 用于人物无关表示的预处理代码可在 https://github.com/sangyun884/HR-VITON 获取。
安装
克隆此仓库:
git clone https://github.com/shadow2496/VITON-HD.git
cd ./VITON-HD/
安装 PyTorch 和其他依赖项:
conda create -y -n [ENV] python=3.8
conda activate [ENV]
conda install -y pytorch=[>=1.6.0] torchvision cudatoolkit=[>=9.2] -c pytorch
pip install opencv-python torchgeometry
数据集
我们收集了 1024 x 768 分辨率的虚拟试穿数据集,仅用于我们的研究目的。 您可以从 VITON-HD DropBox 下载预处理后的数据集。 正面视角的女性和上衣图像对被分为训练集和测试集,分别包含 11,647 和 2,032 对。
预训练网络
我们提供预训练网络和测试数据集的样本图像。请从 VITON-HD Google Drive 文件夹 下载 *.pkl
和测试图像,并解压 *.zip
文件。test.py
假定下载的文件放置在 ./checkpoints/
和 ./datasets/
目录中。
测试
要生成虚拟试穿图像,运行:
CUDA_VISIBLE_DEVICES=[GPU_ID] python test.py --name [NAME]
结果保存在 ./results/
目录中。您可以通过指定 --save_dir
参数来更改位置。要合成不同人物和服装项目对的虚拟试穿图像,请编辑 ./datasets/test_pairs.txt
并运行相同的命令。
许可
所有材料均根据 Creative Commons BY-NC 4.0 提供。您可以使用、重新分发和改编材料用于非商业目的,只要您通过引用我们的论文给予适当的信誉,并指出您所做的任何更改。
引用
如果您发现这项工作对您的研究有用,请引用我们的论文:
@inproceedings{choi2021viton,
title={VITON-HD: High-Resolution Virtual Try-On via Misalignment-Aware Normalization},
author={Choi, Seunghwan and Park, Sunghyun and Lee, Minsoo and Choo, Jaegul},
booktitle={Proc. of the IEEE conference on computer vision and pattern recognition (CVPR)},
year={2021}
}