CatVTON 开源项目使用与启动指南
1. 项目介绍
CatVTON 是一个简单而高效的虚拟试穿扩散模型,具备以下特点:
- 轻量级网络(总参数量899.06M)
- 参数高效训练(可训练参数量49.57M)
- 简化推理(1024x768分辨率下,VRAM需求小于8G)
CatVTON 支持图像和视频虚拟试穿,并且具备高效的模型训练与部署能力。它采用了稳定扩散模型作为基础,通过自动生成遮罩实现虚拟试穿。
2. 项目快速启动
环境准备
首先,创建一个conda环境并安装必要的依赖:
conda create -n catvton python==3.9.0
conda activate catvton
cd CatVTON-main # 或者你的CatVTON项目目录
pip install -r requirements.txt
推理
运行推理前,需要准备数据集。你可以使用VITON-HD或DressCode数据集。以下是数据集的目录结构示例:
├── VITON-HD
│ ├── test_pairs_unpaired.txt
│ ├── test
│ │ ├── image
│ │ ├── cloth
│ │ ├── agnostic-mask
...
├── DressCode
│ ├── test_pairs_paired.txt
│ ├── test_pairs_unpaired.txt
│ ├── [dresses | lower_body | upper_body]
│ │ ├── test_pairs_paired.txt
│ │ ├── test_pairs_unpaired.txt
│ │ ├── images
│ │ ├── agnostic_masks
...
对于DressCode数据集,我们提供了一个脚本来预处理遮罩:
CUDA_VISIBLE_DEVICES=0 python preprocess_agnostic_mask.py --data_root_path <你的DressCode路径>
然后,运行以下命令进行推理,检查点将自动从HuggingFace下载:
CUDA_VISIBLE_DEVICES=0 python inference.py --dataset [dresscode|vitonhd] --data_root_path <路径> --output_dir <路径> --dataloader_num_workers 8 --batch_size 8 --seed 555 --mixed_precision [no|fp16|bf16] --allow_tf32 --repaint --eval_pair
评估
获取推理结果后,可以使用以下命令计算度量指标:
CUDA_VISIBLE_DEVICES=0 python eval.py -gt_folder <你的gt图像文件夹路径> --pred_folder <你的预测图像文件夹路径> --paired --batch_size=16 --num_workers=16
3. 应用案例和最佳实践
- 案例一:在电子商务平台上,使用CatVTON为用户提供虚拟试穿功能,增加用户互动和购买意愿。
- 案例二:在游戏或虚拟现实中,利用CatVTON模型实时更换角色服装,提升用户体验。
4. 典型生态项目
- ComfyUI:为CatVTON提供了部署工作流,简化了模型在ComfyUI平台上的部署过程。
- Gradio App:提供了交互式界面,方便用户直观地体验CatVTON模型的虚拟试穿功能。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考