【バーチャル試着】CatVTONのインストール

【バーチャル試着】CatVTONのインストール AI

最近のオンラインショッピングで「この服、自分に似合うかな?」と悩んだことはありませんか?
そんな悩みを解決してくれる可能性を秘めた新しい技術、CatVTONをご紹介します。

CatVTONとは?

CatVTONは、Diffusion Models(拡散モデル)という先進的な技術を使用したバーチャル試着システムです。
従来のシステムと比べて、驚くほどシンプルかつ効率的に衣服と人物の画像を組み合わせることができます。

従来のシステムでは、いくつかの課題がありました。

  • 高い計算能力が必要
  • トレーニングと推論のコストが高い
  • 複雑な画像処理が必要

しかし、CatVTONはこれらの問題を見事に解決しています。
どのようにして?それは以下の特徴によるものです。

軽量なネットワーク設計
余分なモジュールを省き、必要最小限の構成にした結果、システム全体のパラメータ数を大幅削減

効率的なトレーニング
必要なモジュールだけをトレーニングした結果、高品質な試着結果を少ないパラメータで実現

シンプルな推論プロセス
複雑な前処理を省略して、衣服の画像、人物の画像、マスクのみを利用

とりあえず、実際にデモを触ってみてください。

CatVTON - a Hugging Face Space by zhengchong
Discover amazing ML apps made by the community

CatVTONのインストール

CatVTONのインストール方法は、何種類かあります。
ここでは、上記で見たデモをそのままインストールしましょう。

まずは、リポジトリをクローンします。

git clone https://huggingface.co/spaces/zhengchong/CatVTON

ダウンロードできたら、リポジトリルートに移動しておきます。

cd CatVTON

Windowsの場合は、事前にPyTorchをインストールしましょう。
GPU版じゃないと、CatVTONはまともには動きません。

次に、requirements.txtを修正します。

requirements.txt

torch==2.1.2
torchvision==0.16.2
accelerate==0.31.0
diffusers==0.29.2
huggingface_hub==0.23.4
matplotlib==3.9.1
numpy==1.26.4
opencv_python==4.10.0.84
pillow==10.3.0
PyYAML==6.0.1
scipy==1.13.1
setuptools==51.0.0
scikit-image==0.24.0
tqdm==4.66.4
transformers==4.27.3
fvcore==0.1.5.post20221221
cloudpickle==3.0.0
omegaconf==2.3.0
pycocotools==2.0.8
av==12.3.0
gradio==4.41.0

事前にPyTorchをインストールしているなら、torch系はコメントにします。
setuptoolsもコメントにして問題はないでしょう。

そして、各ライブラリのバージョン指定を除去します。

修正後requirements.txt

#torch==2.1.2
#torchvision==0.16.2
accelerate
diffusers
huggingface_hub
matplotlib
numpy
opencv_python
pillow
PyYAML
scipy
#setuptools==51.0.0
scikit-image
tqdm
transformers
fvcore
cloudpickle
omegaconf
pycocotools
av
gradio==4.41.0

ただし、gradioはバージョン指定を残しておきます。
gradioは、互換性が信用できないので指定(テスト)されたモノを利用します。

ここまで修正できたら、あとは次のコマンドを実行するのみです。

pip install -r requirements.txt

エラーがなければ、CatVTONのインストールは完了となります。

CatVTONの動作確認

起動させる前に、以下の対応を行います。

  1. HuggingFace Spaces対応の除去
  2. Gradioアプリケーションの非公開化

修正するのは、app.pyです。

HuggingFace Spaces対応の除去

以下をすべてコメントにします。

Gradioアプリケーションの非公開化

「share=False」にします。
これで、非公開のWebアプリとして起動することになります。

対応できたら、以下のコマンドを実行しましょう。

python app.py

初回起動時には、必要なモデルのダウンロードが行われます。
それらが完了したら、コンソールには以下が表示されるはずです。

Running on local URL:  http://127.0.0.1:7860

To create a public link, set `share=True` in `launch()`.

このURLにブラウザでアクセスします。

この画面を確認できれば、CatVTONは正常に起動できています。
あとは、ローカル環境で安心してバーチャル試着を試しましょう。

タイトルとURLをコピーしました