Awesome
πIMAGDressingπ: Interactive Modular Apparel Generation for Virtual Dressing
π¦οΈ Release
- [2024/12/10] π₯ IMAGDressing-v1 is accepted by AAAI 2025.
- [2024/08/24] π₯ We add the train code, feel free to give it a try!
- [2024/08/23] π₯ We release the IGPair dataset publicly available for download.
- [2024/07/30] π₯ We release the WebUI Code for gradio interface.
- [2024/07/26] π₯ We release the online webuiοΌthanks to ZeroGPU for providing free A100 GPUs. And the original Gradio_demo is soon to be deprecated.
- [2024/07/19] π₯ We release the code and examples for cartoon-style virtual dressing.
- [2024/07/18] π₯ We release the technical report of IMAGDressing-v1 and CAMI metric code.
- [2024/07/16] π₯ We add the batch inference for full VD and VTON. Thanks @ZhaoChaoqun for the contribution.
- [2024/07/01] π₯ We release the test cases in the assets/images directory.
- [2024/06/21] π₯ We release the inpainting feature to enable outfit changing. Experimental Feature.
- [2024/06/13] π₯ We release the Gradio_demo of IMAGDressing-v1 (Service deprecation imminent).
- [2024/05/28] π₯ We release the inference code of SD1.5 that is compatible with IP-Adapter and ControlNet.
- [2024/05/08] π₯ We launch the project page of IMAGDressing-v1.
IMAGDressing-v1: Customizable Virtual Dressing
<a href='https://imagdressing.github.io/'><img src='https://img.shields.io/badge/Project-Page-green'></a> <a href='http://arxiv.org/abs/2407.12705'><img src='https://img.shields.io/badge/Technique-Report-red'></a> <a href='https://huggingface.co/feishen29/IMAGDressing'><img src='https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-Model-blue'></a> <a href='https://huggingface.co/datasets/IMAGDressing/IGPair'><img src='https://img.shields.io/badge/Dataset-IGPair-orange'></a>
π Key Features:
- Simple Architecture: IMAGDressing-v1 generates lifelike garments and facilitates easy user-driven scene editing.
- New Task, Metric, and Dataset: Introduces the virtual dressing (VD) task, designs a comprehensive affinity metric index (CAMI), and releases the IGPair dataset.
- Flexible Plugin Compatibility: Seamlessly integrates with extension plugins such as IP-Adapter, ControlNet, T2I-Adapter, and AnimateDiff.
- Rapid Customization: Allows for rapid customization within seconds without the need for additional LoRA training.
π₯ Dataset Demo
You can download the dataset from Baidu Cloud or Huggingface Dataset. By requesting access, you agree to use the data only for academic and personal purposes and not for commercial use.
π₯ Examples
<div style="display: flex; justify-content: space-around;"> <img src="assets/scrolling_images1.gif" alt="GIF 1" width="200" /> <img src="assets/scrolling_images2.gif" alt="GIF 2" width="200" /> <img src="assets/scrolling_images3.gif" alt="GIF 3" width="200" /> <img src="assets/scrolling_images4.gif" alt="GIF 4" width="200" /> </div><span style="color:red">Conbined with IP-Adapter and Controlnet-Pose</span>
<span style="color:red">Support text prompts for different scenes</span>
<span style="color:red">Supports outfit changing in specified areas (Experimental Feature)</span>
<span style="color:red">Supports generating cartoon-style images (Experimental Feature)</span>
π·οΈ Introduction
To address the need for flexible and controllable customizations in virtual try-on systems, we propose IMAGDressing-v1. Specifically, we introduce a garment UNet that captures semantic features from CLIP and texture features from VAE. Our hybrid attention module includes a frozen self-attention and a trainable cross-attention, integrating these features into a frozen denoising UNet to ensure user-controlled editing. We will release a comprehensive dataset, IGPair, with over 300,000 pairs of clothing and dressed images, and establish a standard data assembly pipeline. Furthermore, IMAGDressing-v1 can be combined with extensions like ControlNet, IP-Adapter, T2I-Adapter, and AnimateDiff to enhance diversity and controllability.
π§ Requirements
- Python >= 3.8 (Recommend to use Anaconda or Miniconda)
- PyTorch >= 2.0.0
- cuda==11.8
conda create --name IMAGDressing python=3.8.10
conda activate IMAGDressing
pip install -U pip
# Install requirements
pip install -r requirements.txt
π Download Models
You can download our models from HuggingFace or ηΎεΊ¦δΊ. You can download the other component models from the original repository, as follows.
- stabilityai/sd-vae-ft-mse.
- if train: stable-diffusion-v1-5/stable-diffusion-v1-5, if test: SG161222/Realistic_Vision_V4.0_noVAE.
- h94/IP-Adapter-FaceID.
- lllyasviel/control_v11p_sd15_openpose.
π How to Train
# Please download the IGPair data first and modify the path in run.sh
sh run.sh
π How to Test
<span style="color:red">Important Reminder</span>
1. Random faces and poses to dress the assigned clothes
python inference_IMAGdressing.py --cloth_path [your cloth path]
2. Random faces use a given pose to dress a given outfit
python inference_IMAGdressing_controlnetpose.py --cloth_path [your cloth path] --pose_path [your posture path]
3. Specify the face and posture to wear the specified clothes
python inference_IMAGdressing_ipa_controlnetpose.py --cloth_path [your cloth path] --face_path [your face path] --pose_path [your posture path]
4. Specify the model to wear the specified clothes (Experimental Feature)
<span style="color:red">Please download the humanparsing and openpose model file from IDM-VTON-Huggingface to the ckpt folder first.</span>
python inference_IMAGdressing_controlnetinpainting.py --cloth_path [your cloth path] --model_path [your model path]
5. Specify the carton style for generate images (Experimental Feature)
python inference_IMAGdressing_counterfeit-v30.py --cloth_path [your cloth path] --model_path [your model path]
π How to Eval
Evaluating the CAMI-U score
Please use our inference_IMAGdressing.py to generate model images. Then, generate the cloth_mask based on the model image. You can use the Self-Correction-Human-Parsing to generate cloth mask. Finally, use the following code to evaluate the score for image generation without specified pose, face, and text scenarios.
python metric/eval.py
Evaluating the CAMI-S score
First, use inference_IMAGdressing_ipa_controlnetpose.py to generate model images. Then, generate the cloth mask based on the model image. Finally, use the following code to evaluate the image generation score for specified pose, face, and text scenarios.
python metric/eval_s.py
π€Gradio interface π€
We also provide a Gradio <a href='https://github.com/gradio-app/gradio'><img src='https://img.shields.io/github/stars/gradio-app/gradio'></a> interface for a better experience, just run by:
pip install modelscope==1.15.0
pip install mmcv-full==1.7.2
pip install mmdet==2.26.0
python app.py --model_weight $MODEL PATH --server_port 7860
You can specify the --server_port
arguments to satisfy your needs!
Or, try it out effortlessly on HuggingFace π€
π Get Involved
Join us on this exciting journey to transform virtual dressing systems. StarβοΈ our repository to stay updated with the latest advancements, and contribute to making IMAGDressing the leading solution for virtual dressing generation.
Third-party Implementations of IMAGDressing-v1:
- windows-webui by @v3ucn
- comfyUI by @AIFSH
Acknowledgement
We would like to thank the contributors to the IDM-VTON, MagicClothing, IP-Adapter, ControlNet, T2I-Adapter, and AnimateDiff repositories, for their open research and exploration.
The IMAGDressing code is available for both academic and commercial use. However, the models available for manual and automatic download from IMAGDressing are intended solely for non-commercial research purposes. Similarly, our released checkpoints are restricted to research use only. Users are free to create images using this tool, but they must adhere to local laws and use it responsibly. The developers disclaim any liability for potential misuse by users.
π Citation
If you find IMAGDressing-v1 useful for your research and applications, please cite using this BibTeX:
@article{shen2024IMAGDressing-v1,
title={IMAGDressing-v1: Customizable Virtual Dressing},
author={Shen, Fei and Jiang, Xin and He, Xin and Ye, Hu and Wang, Cong, and Du, Xiaoyu, Li Zechao, and Tang, Jinhui},
booktitle={arXiv preprint arXiv:2407.12705},
year={2024}
}
π TODO List
- Gradio demo
- Inference code
- Model weights (512 sized version)
- Support inpaint
- Model weights (More higher sized version)
- Paper
- Evaluate metric code
- IGPair dataset
- Training code
- Video Dressing
- Others, such as User-Needed Requirements
π¨ Contact
If you have any questions, please feel free to contact with me at shenfei140721@126.com.