CatVTON est un modèle de diffusion d'essai virtuel simple et efficace avec 1) réseau léger (899,06 M de paramètres au total) , 2) formation efficace sur les paramètres (49,57 M de paramètres pouvant être entraînés) et 3) inférence simplifiée (< 8 G de VRAM pour une résolution de 1024 X 768) .
Mises à jour
2024/10/17
: Version sans masque ? de CatVTON est disponible et veuillez l'essayer dans notre démo en ligne .
2024/10/13
: Nous avons créé un référentiel Awesome-Try-On-Models qui se concentre sur les modèles d'essai basés sur des images, des vidéos et des 3D publiés après 2023, dans le but de fournir un aperçu des dernières tendances technologiques. Si vous êtes intéressé, n'hésitez pas à contribuer ou à laisser un ? étoile!
2024/08/13
: Nous localisons DensePose & SCHP pour éviter certains problèmes d'environnement.
2024/08/10
: Notre ? L'Espace HuggingFace est disponible dès maintenant ! Merci pour la subvention de ZeroGPU !
2024/08/09
: Un code d'évaluation est fourni pour calculer les métriques.
2024/07/27
: Nous fournissons le code et le workflow pour le déploiement de CatVTON sur ComfyUI ?.
2024/07/24
: Notre article sur ArXiv est disponible ?!
2024/07/22
: Notre code d'application est publié, déployez et profitez de CatVTON sur votre machine ?!
2024/07/21
: Notre code d'inférence et nos poids ? sont libérés.
2024/07/11
: Notre démo en ligne est sortie ?.
Créer un environnement conda et exigences d'installation
conda create -n catvton python==3.9.0 conda activate catvtoncd CatVTON-main # ou votre chemin vers le projet CatVTON dirpip install -r conditions.txt
Nous avons modifié le code principal pour permettre un déploiement facile de CatVTON sur ComfyUI. En raison de l'incompatibilité de la structure du code, nous avons publié cette partie dans les Releases, qui inclut le code placé sous custom_nodes
de ComfyUI et nos fichiers JSON de workflow.
Pour déployer CatVTON sur votre ComfyUI, suivez ces étapes :
Installez toutes les exigences pour CatVTON et ComfyUI, reportez-vous au Guide d'installation de CatVTON et au Guide d'installation de ComfyUI.
Téléchargez ComfyUI-CatVTON.zip
et décompressez-le dans le dossier custom_nodes
sous votre projet ComfyUI (clone depuis ComfyUI).
Exécutez ComfyUI.
Téléchargez catvton_workflow.json
et faites-le glisser dans votre page Web ComfyUI et profitez-en ?!
Problèmes sous le système d'exploitation Windows, veuillez vous référer au numéro 8.
Lorsque vous exécutez le flux de travail CatVTON pour la première fois, les fichiers de poids seront automatiquement téléchargés, ce qui prend généralement des dizaines de minutes.
Pour déployer l'application Gradio pour CatVTON sur votre machine, exécutez la commande suivante et les points de contrôle seront automatiquement téléchargés depuis HuggingFace.
CUDA_VISIBLE_DEVICES=0 python app.py --output_dir="resource/demo/output" --mixed_precision="bf16" --allow_tf32
Lorsque vous utilisez la précision bf16
, la génération de résultats avec une résolution de 1024x768
ne nécessite qu'environ 8G
de VRAM.
Avant l'inférence, vous devez télécharger l'ensemble de données VITON-HD ou DressCode. Une fois les ensembles de données téléchargés, les structures de dossiers devraient ressembler à ceci :
├── VITON-HD | ├── test_pairs_unpaired.txt │ ├── test | | ├── image │ │ │ ├── [000006_00.jpg | 000008_00.jpg | ...] │ │ ├── cloth │ │ │ ├── [000006_00.jpg | 000008_00.jpg | ...] │ │ ├── agnostic-mask │ │ │ ├── [000006_00_mask.png | 000008_00.png | ...] ...
├── DressCode | ├── test_pairs_paired.txt | ├── test_pairs_unpaired.txt │ ├── [dresses | lower_body | upper_body] | | ├── test_pairs_paired.txt | | ├── test_pairs_unpaired.txt │ │ ├── images │ │ │ ├── [013563_0.jpg | 013563_1.jpg | 013564_0.jpg | 013564_1.jpg | ...] │ │ ├── agnostic_masks │ │ │ ├── [013563_0.png| 013564_0.png | ...] ...
Pour l'ensemble de données DressCode, nous fournissons un script pour les masques agnostiques prétraités, exécutez la commande suivante :
CUDA_VISIBLE_DEVICES=0 python preprocess_agnostic_mask.py --data_root_path
Pour exécuter l'inférence sur l'ensemble de données DressCode ou VITON-HD, exécutez la commande suivante, les points de contrôle seront automatiquement téléchargés depuis HuggingFace.
CUDA_VISIBLE_DEVICES=0 python inference.py --dataset [code vestimentaire | vitonhd] --data_root_path--output_dir --dataloader_num_workers 8 --batch_size 8 --seed 555 --mixed_precision [no | fp16 | petit ami16] --allow_tf32 --repeindre --eval_pair
Après avoir obtenu les résultats de l'inférence, calculez les métriques à l'aide de la commande suivante :
CUDA_VISIBLE_DEVICES=0 python eval.py --gt_folder--pred_folder --paired --batch_size=16 --num_workers=16
--gt_folder
et --pred_folder
doivent être des dossiers contenant uniquement des images .
Pour évaluer les résultats dans un environnement apparié, utilisez --paired
; pour un paramètre non apparié, omettez-le simplement.
--batch_size
et --num_workers
doivent être ajustés en fonction de votre machine.
Notre code est modifié en fonction des diffuseurs. Nous adoptons l’inpainting Stable Diffusion v1.5 comme modèle de base. Nous utilisons SCHP et DensePose pour générer automatiquement des masques dans notre flux de travail Gradio App et ComfyUI. Merci à tous les contributeurs !
Tous les documents, y compris le code, les points de contrôle et la démo, sont mis à disposition sous la licence Creative Commons BY-NC-SA 4.0. Vous êtes libre de copier, redistribuer, remixer, transformer et développer le projet à des fins non commerciales, à condition d'accorder le crédit approprié et de distribuer vos contributions sous la même licence.
@misc{chong2024catvtonconcatenationneedvirtual, title={CatVTON : la concaténation est tout ce dont vous avez besoin pour un essai virtuel avec des modèles de diffusion}, author={Zheng Chong et Xiao Dong et Haoxiang Li et Shiyue Zhang et Wenqing Zhang et Xujie Zhang et Hanqing Zhao et Xiaodan Liang}, année={2024}, eprint={2407.15886}, archivePrefix={arXiv}, PrimaryClass={cs .CV}, url={https://arxiv.org/abs/2407.15886}, }