政安晨【零基础玩转各类开源AI项目】解析开源:IDM-VTON:改进真实虚拟试穿的扩散模型

目录

概述

要求

数据准备

 服饰代码

推理


政安晨的个人主页:政安晨

欢迎 👍点赞✍评论⭐收藏

收录专栏: 零基础玩转各类开源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-VTONicon-default.png?t=N7T8https://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


后续继续更新分析该项目的论文。

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-09 09:24:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-09 09:24:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-09 09:24:02       82 阅读
  4. Python语言-面向对象

    2024-06-09 09:24:02       91 阅读

热门阅读

  1. 使用uniapp的canvas制作签名组件

    2024-06-09 09:24:02       32 阅读
  2. linux cron 执行url

    2024-06-09 09:24:02       26 阅读
  3. Linux Swap Cache

    2024-06-09 09:24:02       23 阅读
  4. QUAST安装及使用(Bioinformatics工具-022)

    2024-06-09 09:24:02       23 阅读
  5. c++【入门】求梯形的面积

    2024-06-09 09:24:02       32 阅读
  6. 360数字安全:2024年2月勒索软件流行态势分析报告

    2024-06-09 09:24:02       27 阅读
  7. 我更看好开源大模型的发展前景

    2024-06-09 09:24:02       27 阅读
  8. 云上小知识:企业选择云服务的小Tips

    2024-06-09 09:24:02       31 阅读
  9. Oracle Streams XStreams?

    2024-06-09 09:24:02       21 阅读
  10. 沪深历史行情下载,金融数据库查询

    2024-06-09 09:24:02       26 阅读
  11. TalkingData数据统计:洞察与应用

    2024-06-09 09:24:02       34 阅读
  12. gorse修改开源项目后,如何使用Docker compose发布

    2024-06-09 09:24:02       34 阅读