CatVTON ist ein einfaches und effizientes virtuelles Try-On-Diffusionsmodell mit 1) Lightweight Network (insgesamt 899,06 Millionen Parameter) , 2) Parametereffizientem Training (49,57 Millionen Parameter trainierbar) und 3) vereinfachter Inferenz (< 8G VRAM für 1024 x 768 Auflösung) .
Aktualisierungen
2024/10/17
: Maskenfreie Version ? von CatVTON ist veröffentlicht und probieren Sie es bitte in unserer Online-Demo aus.
2024/10/13
: Wir haben ein Repo „Awesome-Try-On-Models“ erstellt, das sich auf Bild-, Video- und 3D-basierte Anprobemodelle konzentriert, die nach 2023 veröffentlicht werden, mit dem Ziel, Einblicke in die neuesten Technologietrends zu bieten. Wenn Sie interessiert sind, können Sie gerne einen Beitrag leisten oder ein ? Stern!
2024/08/13
: Wir lokalisieren DensePose und SCHP, um bestimmte Umgebungsprobleme zu vermeiden.
2024/08/10
: Unser ? HuggingFace Space ist jetzt verfügbar! Vielen Dank für den Zuschuss von ZeroGPU !
2024/08/09
: Zur Berechnung von Metriken wird Evaluierungscode bereitgestellt.
2024/07/27
: Wir stellen Code und Workflow für die Bereitstellung von CatVTON auf ComfyUI bereit.
2024/07/24
: Unser Paper zu ArXiv ist verfügbar ?!
2024/07/22
: Unser App-Code ist veröffentlicht. Stellen Sie CatVTON auf Ihrem Gerät bereit und genießen Sie es?!
2024/07/21
: Unser Inferenzcode und unsere Gewichte ? werden freigegeben.
2024/07/11
: Unsere Online-Demo ist veröffentlicht?
Erstellen Sie eine Conda-Umgebung und installieren Sie die Anforderungen
conda create -n catvton python==3.9.0 conda activate catvtoncd CatVTON-main # oder Ihr Pfad zum CatVTON-Projekt dirpip install -r require.txt
Wir haben den Hauptcode geändert, um eine einfache Bereitstellung von CatVTON auf ComfyUI zu ermöglichen. Aufgrund der Inkompatibilität der Codestruktur haben wir diesen Teil in den Releases veröffentlicht, der den unter custom_nodes
von ComfyUI platzierten Code und unsere Workflow-JSON-Dateien enthält.
Um CatVTON auf Ihrem ComfyUI bereitzustellen, befolgen Sie diese Schritte:
Installieren Sie alle Anforderungen für CatVTON und ComfyUI. Weitere Informationen finden Sie im Installationshandbuch für CatVTON und im Installationshandbuch für ComfyUI.
Laden Sie ComfyUI-CatVTON.zip
herunter und entpacken Sie es im Ordner custom_nodes
unter Ihrem ComfyUI-Projekt (Klon von ComfyUI).
Führen Sie ComfyUI aus.
Laden Sie catvton_workflow.json
herunter, ziehen Sie es auf Ihre ComfyUI-Webseite und genießen Sie es?!
Bei Problemen unter dem Windows-Betriebssystem lesen Sie bitte Problem Nr. 8.
Wenn Sie den CatVTON-Workflow zum ersten Mal ausführen, werden die Gewichtsdateien automatisch heruntergeladen, was normalerweise Dutzende Minuten dauert.
Um die Gradio-App für CatVTON auf Ihrem Computer bereitzustellen, führen Sie den folgenden Befehl aus und Prüfpunkte werden automatisch von HuggingFace heruntergeladen.
CUDA_VISIBLE_DEVICES=0 Python app.py --output_dir="resource/demo/output" --mixed_precision="bf16" --allow_tf32
Bei Verwendung bf16
Präzision sind für die Generierung von Ergebnissen mit einer Auflösung von 1024x768
nur etwa 8G
VRAM erforderlich.
Vor der Schlussfolgerung müssen Sie den VITON-HD- oder DressCode-Datensatz herunterladen. Sobald die Datensätze heruntergeladen sind, sollten die Ordnerstrukturen wie folgt aussehen:
├── 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 | ...] ...
Für den DressCode-Datensatz stellen wir ein Skript für vorverarbeitete agnostische Masken bereit. Führen Sie den folgenden Befehl aus:
CUDA_VISIBLE_DEVICES=0 Python preprocess_agnostic_mask.py --data_root_path
Um die Inferenz für den DressCode- oder VITON-HD-Datensatz auszuführen, führen Sie den folgenden Befehl aus. Prüfpunkte werden automatisch von HuggingFace heruntergeladen.
CUDA_VISIBLE_DEVICES=0 Python inference.py --dataset [Kleiderordnung | vitonhd] --data_root_path--output_dir --dataloader_num_workers 8 --batch_size 8 --seed 555 --mixed_precision [nein | fp16 | bf16] --allow_tf32 --neu streichen --eval_pair
Nachdem Sie die Inferenzergebnisse erhalten haben, berechnen Sie die Metriken mit dem folgenden Befehl:
CUDA_VISIBLE_DEVICES=0 python eval.py --gt_folder--pred_folder --paired --batch_size=16 --num_workers=16
--gt_folder
und --pred_folder
sollten Ordner sein, die nur Bilder enthalten.
Um die Ergebnisse in einer gepaarten Umgebung auszuwerten, verwenden Sie --paired
; für eine ungepaarte Einstellung lassen Sie es einfach weg.
--batch_size
und --num_workers
sollten basierend auf Ihrem Computer angepasst werden.
Unser Code wurde basierend auf Diffusoren geändert. Wir verwenden Stable Diffusion v1.5 Inpainting als Basismodell. Wir verwenden SCHP und DensePose, um Masken in unserer Gradio-App und unserem ComfyUI-Workflow automatisch zu generieren. Vielen Dank an alle Mitwirkenden!
Alle Materialien, einschließlich Code, Prüfpunkte und Demo, werden unter der Creative Commons BY-NC-SA 4.0-Lizenz zur Verfügung gestellt. Es steht Ihnen frei, das Projekt für nichtkommerzielle Zwecke zu kopieren, weiterzuverbreiten, zu remixen, umzuwandeln und darauf aufzubauen, solange Sie eine entsprechende Quellenangabe machen und Ihre Beiträge unter derselben Lizenz verbreiten.
@misc{chong2024catvtonconcatenationneedvirtual, title={CatVTON: Verkettung ist alles, was Sie für den virtuellen Versuch mit Diffusionsmodellen brauchen}, Autor={Zheng Chong und Xiao Dong und Haoxiang Li und Shiyue Zhang und Wenqing Zhang und Xujie Zhang und Hanqing Zhao und Xiaodan Liang}, Jahr={2024}, eprint={2407.15886}, archivePrefix={arXiv}, PrimaryClass={cs .CV}, url={https://arxiv.org/abs/2407.15886}, }