CatVTON é um modelo de difusão de teste virtual simples e eficiente com 1) Rede leve (899,06M de parâmetros no total) , 2) Treinamento com eficiência de parâmetros (49,57M de parâmetros treináveis) e 3) Inferência simplificada (<8G VRAM para resolução de 1024X768) .
Atualizações
2024/10/17
: Versão sem máscara ? do CatVTON foi lançado e experimente em nossa demonstração online .
2024/10/13
: Construímos um repositório Awesome-Try-On-Models que se concentra em imagens, vídeos e modelos de teste baseados em 3D publicados após 2023, com o objetivo de fornecer insights sobre as últimas tendências tecnológicas. Se você estiver interessado, fique à vontade para contribuir ou dar um ? estrela!
2024/08/13
: Localizamos DensePose e SCHP para evitar certos problemas ambientais.
2024/08/10
: Nosso? O Espaço HuggingFace já está disponível! Obrigado pela concessão do ZeroGPU !
2024/08/09
: O código de avaliação é fornecido para calcular métricas.
2024/07/27
: Fornecemos código e fluxo de trabalho para implantação de CatVTON no ComfyUI ?.
2024/07/24
: Nosso artigo sobre ArXiv está disponível?!
2024/07/22
: Nosso código de aplicativo foi lançado, implante e aproveite CatVTON em sua máquina?!
2024/07/21
: Nosso código de inferência e pesos ? são liberados.
2024/07/11
: Nossa demonstração online foi lançada?.
Crie um ambiente conda e instale requisitos
conda criar -n catvton python==3.9.0 conda activate catvtoncd CatVTON-main # ou seu caminho para o projeto CatVTON dirpip install -r requisitos.txt
Modificamos o código principal para permitir fácil implantação de CatVTON no ComfyUI. Devido à incompatibilidade da estrutura do código, liberamos esta parte nos Releases, que inclui o código colocado em custom_nodes
do ComfyUI e nossos arquivos JSON de fluxo de trabalho.
Para implantar CatVTON em seu ComfyUI, siga estas etapas:
Instale todos os requisitos para CatVTON e ComfyUI, consulte Guia de instalação para CatVTON e Guia de instalação para ComfyUI.
Baixe ComfyUI-CatVTON.zip
e descompacte-o na pasta custom_nodes
em seu projeto ComfyUI (clone do ComfyUI).
Execute o ComfyUI.
Baixe catvton_workflow.json
e arraste-o para sua página ComfyUI e divirta-se?!
Problemas no sistema operacional Windows, consulte a edição nº 8.
Ao executar o fluxo de trabalho CatVTON pela primeira vez, os arquivos de peso serão baixados automaticamente, normalmente levando dezenas de minutos.
Para implantar o aplicativo Gradio para CatVTON em sua máquina, execute o seguinte comando e os pontos de verificação serão baixados automaticamente do HuggingFace.
CUDA_VISIBLE_DEVICES=0 python app.py --output_dir="recurso/demonstração/saída" --mixed_precision="bf16" --allow_tf32
Ao usar a precisão bf16
, gerar resultados com resolução de 1024x768
requer apenas cerca de 8G
VRAM.
Antes da inferência, você precisa baixar o conjunto de dados VITON-HD ou DressCode. Depois que os conjuntos de dados forem baixados, as estruturas de pastas deverão ser semelhantes a estas:
├── 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 | ...] ...
Para o conjunto de dados DressCode, fornecemos script para máscaras agnósticas pré-processadas, execute o seguinte comando:
CUDA_VISIBLE_DEVICES=0 python preprocess_agnostic_mask.py --data_root_path
Para executar a inferência no conjunto de dados DressCode ou VITON-HD, execute o seguinte comando, os pontos de verificação serão baixados automaticamente do HuggingFace.
CUDA_VISIBLE_DEVICES=0 python inference.py --dataset [código de vestimenta | vitonhd] --data_root_path--output_dir --dataloader_num_workers 8 --batch_size 8 --seed 555 --mixed_precision [não | fp16 | bf16] --allow_tf32 --repintar --eval_pair
Após obter os resultados da inferência, calcule as métricas usando o seguinte comando:
CUDA_VISIBLE_DEVICES=0 python eval.py --gt_folder--pred_folder --paired --batch_size=16 --num_workers=16
--gt_folder
e --pred_folder
devem ser pastas que contenham apenas imagens .
Para avaliar os resultados em uma configuração emparelhada, use --paired
; para uma configuração não pareada, simplesmente omita-a.
--batch_size
e --num_workers
devem ser ajustados com base na sua máquina.
Nosso código é modificado com base em Difusores. Adotamos a pintura Stable Diffusion v1.5 como modelo base. Usamos SCHP e DensePose para gerar máscaras automaticamente em nosso aplicativo Gradio e fluxo de trabalho ComfyUI. Obrigado a todos os colaboradores!
Todos os materiais, incluindo código, pontos de verificação e demonstração, são disponibilizados sob a licença Creative Commons BY-NC-SA 4.0. Você é livre para copiar, redistribuir, remixar, transformar e desenvolver o projeto para fins não comerciais, desde que dê o devido crédito e distribua suas contribuições sob a mesma licença.
@misc{chong2024catvtonconcatenationneedvirtual, title={CatVTON: concatenação é tudo que você precisa para teste virtual com modelos de difusão}, autor={Zheng Chong e Xiao Dong e Haoxiang Li e Shiyue Zhang e Wenqing Zhang e Xujie Zhang e Hanqing Zhao e Xiaodan Liang}, ano={2024}, eprint={2407.15886}, archivePrefix={arXiv}, PrimaryClass={cs .CV}, url={https://arxiv.org/abs/2407.15886}, }