CatVTON เป็นโมเดลการแพร่กระจายการทดลองเสมือนที่เรียบง่ายและมีประสิทธิภาพ โดยมี 1) เครือข่ายน้ำหนักเบา (พารามิเตอร์ 899.06M ทั้งหมด) 2) การฝึกอบรมที่มีประสิทธิภาพด้วยพารามิเตอร์ (ฝึกพารามิเตอร์ 49.57M ได้) และ 3) การอนุมานแบบง่าย (< 8G VRAM สำหรับความละเอียด 1024X768)
อัพเดท
2024/10/17
: เวอร์ชันไร้หน้ากาก ? ของ CatVTON เปิดตัวแล้วและโปรดลองใช้ใน การสาธิตออนไลน์ ของเรา
2024/10/13
: เราได้สร้าง repo Awesome-Try-On-Models ที่มุ่งเน้นไปที่รูปภาพ วิดีโอ และโมเดลการทดลองใช้ 3 มิติที่เผยแพร่หลังปี 2023 โดยมีเป้าหมายเพื่อให้ข้อมูลเชิงลึกเกี่ยวกับแนวโน้มทางเทคโนโลยีล่าสุด หากคุณสนใจ อย่าลังเลที่จะมีส่วนร่วมหรือให้ ? ดาว!
2024/08/13
: เราแปล DensePose & SCHP เป็นภาษาท้องถิ่นเพื่อหลีกเลี่ยงปัญหาสภาพแวดล้อมบางประการ
2024/08/10
: ของเรา ? HuggingFace Space พร้อมให้บริการแล้ว! ขอบคุณสำหรับทุนจาก ZeroGPU !
2024/08/09
: มี รหัสการประเมิน เพื่อคำนวณเมตริก
2024/07/27
: เราจัดเตรียมโค้ดและขั้นตอนการทำงานสำหรับการปรับใช้ CatVTON บน ComfyUI ?
2024/07/24
: เอกสารของเราเกี่ยวกับ ArXiv พร้อมใช้งานแล้ว ?!
2024/07/22
: App Code ของเราเปิดตัว ปรับใช้ และเพลิดเพลินกับ CatVTON บนเครื่องของคุณแล้ว ?!
2024/07/21
: รหัสการอนุมาน และ น้ำหนัก ของเรา ? ถูกปล่อยออกมา
2024/07/11
: การสาธิตออนไลน์ ของเราเปิดตัวแล้ว ?.
สร้างสภาพแวดล้อม conda และข้อกำหนดในการติดตั้ง
conda สร้าง -n catvton python==3.9.0 conda เปิดใช้งาน catvtoncd CatVTON-main # หรือเส้นทางของคุณไปยังโครงการ CatVTON dirpip install -r needs.txt
เราได้แก้ไขโค้ดหลักเพื่อให้สามารถใช้งาน CatVTON บน ComfyUI ได้อย่างง่ายดาย เนื่องจากความไม่เข้ากันของโครงสร้างโค้ด เราจึงเผยแพร่ส่วนนี้ในการเผยแพร่ ซึ่งรวมถึงโค้ดที่วางอยู่ภายใต้ custom_nodes
ของ ComfyUI และไฟล์ JSON เวิร์กโฟลว์ของเรา
หากต้องการปรับใช้ CatVTON กับ ComfyUI ของคุณ ให้ทำตามขั้นตอนเหล่านี้:
ติดตั้งข้อกำหนดทั้งหมดสำหรับทั้ง CatVTON และ ComfyUI โปรดดูคู่มือการติดตั้งสำหรับ CatVTON และคู่มือการติดตั้งสำหรับ ComfyUI
ดาวน์โหลด ComfyUI-CatVTON.zip
และแตกไฟล์ในโฟลเดอร์ custom_nodes
ภายใต้โปรเจ็กต์ ComfyUI ของคุณ (โคลนจาก ComfyUI)
เรียกใช้ ComfyUI
ดาวน์โหลด catvton_workflow.json
แล้วลากไปไว้ในหน้าเว็บ ComfyUI ของคุณแล้วสนุกได้เลย ?!
ปัญหาภายใต้ Windows OS โปรดดูปัญหา #8
เมื่อคุณรันเวิร์กโฟลว์ CatVTON เป็นครั้งแรก ไฟล์น้ำหนักจะถูกดาวน์โหลดโดยอัตโนมัติ ซึ่งโดยปกติจะใช้เวลาหลายสิบนาที
หากต้องการปรับใช้แอป Gradio สำหรับ CatVTON บนเครื่องของคุณ ให้รันคำสั่งต่อไปนี้ จากนั้นจุดตรวจสอบจะถูกดาวน์โหลดจาก HuggingFace โดยอัตโนมัติ
CUDA_VISIBLE_DEVICES=0 หลาม app.py --output_dir = "ทรัพยากร / สาธิต / เอาท์พุท" --mixed_precision = "bf16" --allow_tf32
เมื่อใช้ความแม่นยำ bf16
การสร้างผลลัพธ์ด้วยความละเอียด 1024x768
ต้องใช้เพียงประมาณ 8G
VRAM
ก่อนที่จะอนุมาน คุณต้องดาวน์โหลดชุดข้อมูล VITON-HD หรือ DressCode เมื่อดาวน์โหลดชุดข้อมูลแล้ว โครงสร้างโฟลเดอร์ควรมีลักษณะดังนี้:
├── 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 | ...] ...
สำหรับชุดข้อมูล DressCode เราจัดเตรียมสคริปต์ให้กับมาสก์ผู้ไม่เชื่อเรื่องพระเจ้าที่ประมวลผลล่วงหน้า ให้รันคำสั่งต่อไปนี้:
CUDA_VISIBLE_DEVICES=0 หลาม preprocess_agnostic_mask.py --data_root_path
หากต้องการรันการอนุมานบนชุดข้อมูล DressCode หรือ VITON-HD ให้รันคำสั่งต่อไปนี้ จุดตรวจสอบจะถูกดาวน์โหลดจาก HuggingFace โดยอัตโนมัติ
CUDA_VISIBLE_DEVICES=0 หลาม inference.py --ชุดข้อมูล [รหัสการแต่งกาย | ไวตันเอชดี] --data_root_path--output_dir --dataloader_num_workers 8 --batch_size 8 --seed 555 --mixed_precision [ไม่ | fp16 | แฟน16] --allow_tf32 --ทาสีใหม่ --eval_pair
หลังจากได้รับผลการอนุมานแล้ว ให้คำนวณเมทริกโดยใช้คำสั่งต่อไปนี้:
CUDA_VISIBLE_DEVICES=0 หลาม eval.py --gt_folder--pred_folder --จับคู่ --batch_size=16 --num_workers=16
--gt_folder
และ --pred_folder
ควรเป็นโฟลเดอร์ที่มี เฉพาะรูปภาพ
หากต้องการประเมินผลลัพธ์ในการตั้งค่าที่จับคู่ ให้ใช้ --paired
; สำหรับการตั้งค่าที่ไม่ได้จับคู่ เพียงละเว้น
--batch_size
และ --num_workers
ควรปรับตามเครื่องของคุณ
รหัสของเราได้รับการแก้ไขตาม Diffusers เราใช้ Stable Diffusion v1.5 ในการวาดภาพเป็นโมเดลพื้นฐาน เราใช้ SCHP และ DensePose เพื่อสร้างมาสก์โดยอัตโนมัติในเวิร์กโฟลว์ Gradio App และ ComfyUI ของเรา ขอขอบคุณผู้มีส่วนร่วมทุกคน!
เนื้อหาทั้งหมด รวมถึงโค้ด จุดตรวจสอบ และการสาธิต จัดทำขึ้นภายใต้ใบอนุญาต Creative Commons BY-NC-SA 4.0 คุณมีอิสระที่จะคัดลอก แจกจ่ายซ้ำ รีมิกซ์ แปลงร่าง และสร้างโครงการเพื่อวัตถุประสงค์ที่ไม่ใช่เชิงพาณิชย์ ตราบใดที่คุณให้เครดิตที่เหมาะสมและแจกจ่ายผลงานของคุณภายใต้ใบอนุญาตเดียวกัน
@misc{chong2024catvtonconcatenationneedvirtual, title={CatVTON: Concatenation Is All You Need for Virtual Try-On with Diffusion Models}, author={Zheng Chong และ Xiao Dong และ Haoxiang Li และ Shiyue Zhang และ Wenqing Zhang และ Xujie Zhang และ Hanqing Zhao และ Xiaodan Liang}, ปี={2024}, eprint={2407.15886}, archivePrefix={arXiv}, primaryClass={cs .CV}, url={https://arxiv.org/abs/2407.15886}, -