目录
概述
要求
数据准备
服饰代码
推理
政安晨的个人主页:政安晨
欢迎 👍点赞✍评论⭐收藏
收录专栏: 零基础玩转各类开源AI项目
希望政安晨的博客能够对您有所裨益,如有不足之处,欢迎在评论区提出指正!
项目地址:GitHub - yisol/IDM-VTON: IDM-VTON : Improving Diffusion Models for Authentic Virtual Try-on in the WildIDM-VTON : Improving Diffusion Models for Authentic Virtual Try-on in the Wild - yisol/IDM-VTONhttps://github.com/yisol/IDM-VTON
论文地址:https://arxiv.org/abs/2403.05139
概述
该论文研究了基于图像的虚拟试穿,即在一对分别描绘人物和服装的图像中,渲染出人物穿着特定服装的图像。与其他方法(如基于 GAN 的方法)相比,以前的工作将现有的基于示例的内绘扩散模型用于虚拟试穿,以提高生成的视觉效果的自然度,但它们未能保留服装的身份。为了克服这一局限性,我们提出了一种新型扩散模型,它能提高服装的保真度并生成真实的虚拟试穿图像。
我们的方法被称为 IDM-VTON,使用两个不同的模块对服装图像的语义进行编码;给定扩散模型的基础 UNet,1)将从视觉编码器中提取的高级语义融合到交叉注意层,然后 2)将从平行 UNet 中提取的低级特征融合到自我注意层。此外,我们还为服装和人物图像提供了详细的文字提示,以增强生成的视觉效果的真实性。最后,我们提出了一种使用一对人物-服装图像的定制方法,该方法显著提高了逼真度和真实性。实验结果表明,在保留服装细节和生成真实虚拟试穿图像方面,我们的方法在质量和数量上都优于之前的方法(包括基于扩散和基于 GAN 的方法)。此外,所提出的定制方法还在真实世界场景中证明了其有效性。
要求
git clone https://github.com/yisol/IDM-VTON.git cd IDM-VTON conda env create -f environment.yaml conda activate idm
数据准备
VITON-HD
您可以从 VITON-HD 下载 VITON-HD 数据集。GitHub - shadow2496/VITON-HD: Official PyTorch implementation of "VITON-HD: High-Resolution Virtual Try-On via Misalignment-Aware Normalization" (CVPR 2021)
下载 VITON-HD 数据集后,将 vitonhd_test_tagged.json 移至测试文件夹。
数据集目录结构如下。
train
|-- ...test
|-- image
|-- image-densepose
|-- agnostic-mask
|-- cloth
|-- vitonhd_test_tagged.json
服饰代码
您可以从 DressCode 下载 DressCode 数据集。https://github.com/aimagelab/dress-code
我们在此提供预先计算好的服装密度图像和说明。OneDrive
我们使用 detectron2 来获取 densepose 图像,详情请参阅此处。
https://github.com/facebookresearch/detectron2
https://github.com/sangyun884/HR-VITON/issues/45
下载 DressCode 数据集后,将图像-densepose 目录和标题文本文件放置如下。
DressCode
|-- dresses
|-- images
|-- image-densepose
|-- dc_caption.txt
|-- ...
|-- lower_body
|-- images
|-- image-densepose
|-- dc_caption.txt
|-- ...
|-- upper_body
|-- images
|-- image-densepose
|-- dc_caption.txt
|-- ...
推理
VITON-HD
使用带参数的 python 文件进行推理。
accelerate launch inference.py \
--width 768 --height 1024 --num_inference_steps 30 \
--output_dir "result" \
--unpaired \
--data_dir "DATA_DIR" \
--seed 42 \
--test_batch_size 2 \
--guidance_scale 2.0
或者,您可以直接运行脚本文件。
sh inference.sh
服饰代码
对于 DressCode 数据集,请通过类别参数输入要生成图像的类别。
accelerate launch inference_dc.py \
--width 768 --height 1024 --num_inference_steps 30 \
--output_dir "result" \
--unpaired \
--data_dir "DATA_DIR" \
--seed 42
--test_batch_size 2
--guidance_scale 2.0
--category "upper_body"
或者,您可以直接运行脚本文件。
sh inference.sh
开始本地 gradio 演示:
在此下载用于人类解析的检查点。https://huggingface.co/spaces/yisol/IDM-VTON-local/tree/main/ckpt
将检查点放在 ckpt 文件夹下。
ckpt
|-- densepose
|-- model_final_162be9.pkl
|-- humanparsing
|-- parsing_atr.onnx
|-- parsing_lip.onnx
|-- openpose
|-- ckpts
|-- body_pose_model.pth
运行以下命令
python gradio_demo/app.py
后续继续更新分析该项目的论文。