CatVTON是一种简单高效的虚拟试戴扩散模型,具有1) 轻量级网络(总共 899.06M 参数) 、 2) 参数高效训练(49.57M 可训练参数)和3) 简化推理(< 8G VRAM,1024X768 分辨率) 。
更新
2024/10/17
:无口罩版? CatVTON 已发布,请在我们的在线演示中尝试一下。
2024/10/13
:我们构建了一个仓库Awesome-Try-On-Models ,重点关注 2023 年之后发布的基于图像、视频和 3D 的试穿模型,旨在提供对最新技术趋势的见解。如果您有兴趣,请随时贡献或给它一个?星星!
2024/08/13
:我们对 DensePose 和 SCHP 进行本地化以避免某些环境问题。
2024/08/10
:我们的? HuggingFace 空间现已上线!感谢ZeroGPU的资助!
2024/08/09
:提供评估代码来计算指标。
2024/07/27
:我们提供了在ComfyUI上部署 CatVTON 的代码和工作流程?
2024/07/24
:我们在 ArXiv 上的论文可用了?!
2024/07/22
: 我们的应用程序代码已发布,在您的机器上部署并享受 CatVTON 吧?!
2024/07/21
:我们的推理代码和权重?被释放。
2024/07/11
: 我们的在线演示发布了?
创建 conda 环境并安装需求
conda create -n catvton python==3.9.0 conda activate catvtoncd CatVTON-main # 或您的 CatVTON 项目路径 dirpip install -rrequirements.txt
我们修改了主要代码,以便在 ComfyUI 上轻松部署 CatVTON。由于代码结构不兼容,我们在Release中发布了这部分内容,其中包括ComfyUI的custom_nodes
下放置的代码以及我们的工作流程JSON文件。
要将 CatVTON 部署到您的 ComfyUI,请按照以下步骤操作:
安装 CatVTON 和 ComfyUI 的所有要求,请参阅 CatVTON 安装指南和 ComfyUI 安装指南。
下载ComfyUI-CatVTON.zip
并将其解压缩到 ComfyUI 项目下的custom_nodes
文件夹中(从 ComfyUI 克隆)。
运行 ComfyUI。
下载catvton_workflow.json
并将其拖到您的 ComfyUI 网页中并享受?!
Windows操作系统下的问题,请参考issue#8。
当您第一次运行CatVTON工作流程时,会自动下载权重文件,通常需要几十分钟。
要在您的计算机上部署 CatVTON 的 Gradio 应用程序,请运行以下命令,检查点将自动从 HuggingFace 下载。
CUDA_VISIBLE_DEVICES=0 python 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 python preprocess_agnostic_mask.py --data_root_path
要在 DressCode 或 VITON-HD 数据集上运行推理,请运行以下命令,检查点将自动从 HuggingFace 下载。
CUDA_VISIBLE_DEVICES=0 python 推理.py --dataset [着装代码 |维通HD] --data_root_path <路径> --output_dir <路径> --dataloader_num_workers 8 --batch_size 8 --seed 555 --mixed_ precision [否 | FP16 | BF16] --allow_tf32 --重画 --评估对
获得推理结果后,使用以下命令计算指标:
CUDA_VISIBLE_DEVICES=0 python eval.py --gt_folder <您的gt_图像文件夹的路径> --pred_folder <您的预测图像文件夹的路径> --paired --batch_size=16 --num_workers=16
--gt_folder
和--pred_folder
应该是仅包含图像的文件夹。
要评估配对设置中的结果,请使用--paired
;对于未配对的设置,只需忽略它即可。
--batch_size
和--num_workers
应根据您的机器进行调整。
我们的代码是在Diffusers的基础上修改的。我们采用稳定扩散 v1.5 修复作为基础模型。我们使用 SCHP 和 DensePose 在 Gradio 应用程序和 ComfyUI 工作流程中自动生成蒙版。感谢所有贡献者!
所有材料(包括代码、检查点和演示)均根据 Creative Commons BY-NC-SA 4.0 许可证提供。您可以出于非商业目的自由复制、重新分发、重新混合、转换和构建项目,只要您给予适当的信用并在同一许可证下分发您的贡献。
@misc{chong2024catvtonconcatenationneedvirtual, title={CatVTON:串联是扩散模型虚拟试穿所需的全部}, 作者={郑冲、晓东、李浩翔、张世岳、张文清、张旭杰、赵汉清、梁晓丹},年份={2024},eprint={2407.15886},archivePrefix={arXiv},primaryClass={cs .CV},url={https://arxiv.org/abs/2407.15886}, }