CatVTON es un modelo de difusión de prueba virtual simple y eficiente con 1) Red liviana (899,06 M de parámetros en total) , 2) Entrenamiento con parámetros eficientes (49,57 M de parámetros entrenables) y 3) Inferencia simplificada (< 8G VRAM para una resolución de 1024X768) .
Actualizaciones
2024/10/17
: ¿Versión sin máscara ? de CatVTON ya está disponible y pruébelo en nuestra demostración en línea .
2024/10/13
: Hemos creado un repositorio Awesome-Try-On-Models que se centra en imágenes, videos y modelos de prueba basados en 3D publicados después de 2023, con el objetivo de brindar información sobre las últimas tendencias tecnológicas. Si está interesado, no dude en contribuir o darle un ? ¡estrella!
2024/08/13
: Localizamos DensePose y SCHP para evitar ciertos problemas ambientales.
2024/08/10
: Nuestro ? ¡ HuggingFace Space ya está disponible! ¡Gracias por la subvención de ZeroGPU !
2024/08/09
: Se proporciona código de evaluación para calcular métricas.
2024/07/27
: Proporcionamos código y flujo de trabajo para implementar CatVTON en ComfyUI .
2024/07/24
: ¿Nuestro artículo sobre ArXiv está disponible?
2024/07/22
: ¿Se publica nuestro código de aplicación , implementa y disfruta de CatVTON en tu máquina?
2024/07/21
: ¿Nuestro código de inferencia y pesos ? son liberados.
2024/07/11
: ¿Se lanza nuestra demostración en línea ?
Crear un entorno conda e instalar requisitos
conda crear -n catvton python==3.9.0 conda active catvtoncd CatVTON-main # o su ruta al proyecto CatVTON dirpip install -r requisitos.txt
Hemos modificado el código principal para permitir una fácil implementación de CatVTON en ComfyUI. Debido a la incompatibilidad de la estructura del código, hemos publicado esta parte en las Versiones, que incluye el código ubicado en custom_nodes
de ComfyUI y nuestros archivos JSON de flujo de trabajo.
Para implementar CatVTON en su ComfyUI, siga estos pasos:
Instale todos los requisitos para CatVTON y ComfyUI; consulte la Guía de instalación de CatVTON y la Guía de instalación de ComfyUI.
Descargue ComfyUI-CatVTON.zip
y descomprímalo en la carpeta custom_nodes
debajo de su proyecto ComfyUI (clon de ComfyUI).
Ejecute ComfyUI.
Descargue catvton_workflow.json
y arrástrelo a su página web de ComfyUI y ¡disfrútelo!
Problemas con el sistema operativo Windows, consulte el número 8.
Cuando ejecuta el flujo de trabajo CatVTON por primera vez, los archivos de peso se descargarán automáticamente, lo que normalmente demora decenas de minutos.
Para implementar la aplicación Gradio para CatVTON en su máquina, ejecute el siguiente comando y los puntos de control se descargarán automáticamente desde HuggingFace.
CUDA_VISIBLE_DEVICES=0 aplicación Python.py --output_dir="recurso/demo/salida" --mixed_precision="bf16" --allow_tf32
Cuando se utiliza la precisión bf16
, generar resultados con una resolución de 1024x768
solo requiere alrededor de 8G
VRAM.
Antes de la inferencia, debe descargar el conjunto de datos VITON-HD o DressCode. Una vez descargados los conjuntos de datos, las estructuras de carpetas deberían verse así:
├── 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 el conjunto de datos DressCode, proporcionamos un script para máscaras independientes preprocesadas. Ejecute el siguiente comando:
CUDA_VISIBLE_DEVICES=0 python preprocess_agnostic_mask.py --data_root_path
Para ejecutar la inferencia en el conjunto de datos DressCode o VITON-HD, ejecute el siguiente comando, los puntos de control se descargarán automáticamente desde HuggingFace.
CUDA_VISIBLE_DEVICES=0 inferencia de Python.py --conjunto de datos [código de vestimenta | vitonhd] --data_root_path--output_dir --dataloader_num_workers 8 --batch_size 8 --seed 555 --mixed_precision [no | fp16 | bf16] --allow_tf32 --repintar --eval_pair
Después de obtener los resultados de la inferencia, calcule las métricas usando el siguiente comando:
CUDA_VISIBLE_DEVICES=0 python eval.py --gt_folder--pred_folder --paired --batch_size=16 --num_workers=16
--gt_folder
y --pred_folder
deben ser carpetas que contengan sólo imágenes .
Para evaluar los resultados en una configuración emparejada, utilice --paired
; para una configuración no emparejada, simplemente omítala.
--batch_size
y --num_workers
deben ajustarse según su máquina.
Nuestro código se modifica en función de los Difusores. Adoptamos Stable Diffusion v1.5 en pintura como modelo base. Usamos SCHP y DensePose para generar máscaras automáticamente en nuestra aplicación Gradio y flujo de trabajo ComfyUI. ¡Gracias a todos los contribuyentes!
Todos los materiales, incluido el código, los puntos de control y la demostración, están disponibles bajo la licencia Creative Commons BY-NC-SA 4.0. Eres libre de copiar, redistribuir, remezclar, transformar y desarrollar el proyecto para fines no comerciales, siempre que des el crédito adecuado y distribuyas tus contribuciones bajo la misma licencia.
@misc{chong2024catvtonconcatenationneedvirtual, title={CatVTON: la concatenación es todo lo que necesita para una prueba virtual con modelos de difusión}, autor={Zheng Chong y Xiao Dong y Haoxiang Li y Shiyue Zhang y Wenqing Zhang y Xujie Zhang y Hanqing Zhao y Xiaodan Liang}, año={2024}, eprint={2407.15886}, archivePrefix={arXiv}, PrimaryClass={cs .CV}, URL={https://arxiv.org/abs/2407.15886}, }