CatVTONは、 1) 軽量ネットワーク (合計 8 億 9,906 万個のパラメータ) 、 2) パラメータ効率の高いトレーニング (4,957 万個のパラメータをトレーニング可能) 、および3) 簡略化された推論 (1024X768 解像度で 8G VRAM 未満)を備えた、シンプルで効率的な仮想試着拡散モデルです。
アップデート
2024/10/17
:マスクなしバージョン? CatVTON がリリースされました。オンライン デモでお試しください。
2024/10/13
: 最新の技術トレンドに関する洞察を提供することを目的として、2023 年以降に公開された画像、ビデオ、3D ベースの試着モデルに焦点を当てたリポジトリ「Awesome-Try-On-Models」を構築しました。ご興味がございましたら、お気軽に貢献していただくか、「?」を付けてください。星!
2024/08/13
: 特定の環境の問題を回避するために、DensePose と SCHP をローカライズしました。
2024/08/10
: 私たちの ?ハグフェイススペースが利用可能になりました! 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 を簡単にデプロイできるようにメイン コードを変更しました。コード構造に互換性がないため、この部分をリリースでリリースしました。これには、ComfyUI のcustom_nodes
とワークフロー JSON ファイルの下に配置されたコードが含まれています。
CatVTON を ComfyUI に展開するには、次の手順に従います。
CatVTON と ComfyUI の両方の要件をすべてインストールします。CatVTON のインストール ガイドおよび ComfyUI のインストール ガイドを参照してください。
ComfyUI-CatVTON.zip
をダウンロードし、ComfyUI プロジェクト (ComfyUI からクローン) の下のcustom_nodes
フォルダーに解凍します。
ComfyUI を実行します。
catvton_workflow.json
をダウンロードし、ComfyUI Web ページにドラッグして楽しんでください。
Windows OS での問題については、問題 #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 inference.py --dataset [ドレスコード |バイトンHD] --data_root_path <パス> --output_dir <パス> --dataloader_num_workers 8 --batch_size 8 --seed 555 --mixed_precision [no | FP16 | BF16】 --allow_tf32 --再ペイント --eval_pair
推論結果を取得したら、次のコマンドを使用してメトリクスを計算します。
CUDA_VISIBLE_DEVICES=0 Python eval.py --gt_folder--pred_folder --paired --batch_size=16 --num_workers=16
--gt_folder
および--pred_folder
画像のみを含むフォルダーである必要があります。
ペア設定で結果を評価するには、 --paired
を使用します。ペアになっていない設定の場合は、単純に省略します。
--batch_size
と--num_workers
、マシンに基づいて調整する必要があります。
私たちのコードはディフューザーに基づいて変更されています。ベースモデルとしてStable Diffusion v1.5修復を採用しています。 SCHP と DensePose を使用して、Gradio アプリと ComfyUI ワークフローでマスクを自動的に生成します。貢献者の皆様に感謝します!
コード、チェックポイント、デモを含むすべてのマテリアルは、クリエイティブ コモンズ BY-NC-SA 4.0 ライセンスに基づいて利用可能です。適切なクレジットを付与し、同じライセンスに基づいて貢献物を配布する限り、非営利目的でプロジェクトを自由にコピー、再配布、リミックス、変換、構築することができます。
@misc{chong2024catvtonconcatenationneedvirtual, title={CatVTON: 拡散モデルの仮想試着に必要なのは連結だけ}, author={Zheng Chong、Xiao Dong、Haoxiang Li、Shiyue Zhang、Wenqing Zhang、Xojie Zhang、Hanqing Zhao、Xiaodan Liang}、year={2024}、eprint={2407.15886}、archivePrefix={arXiv}、primaryClass={cs .CV}、url={https://arxiv.org/abs/2407.15886}、 }