最近のオンラインショッピングで「この服、自分に似合うかな?」と悩んだことはありませんか?
そんな悩みを解決してくれる可能性を秘めた新しい技術、CatVTONをご紹介します。
CatVTONとは?
CatVTONは、Diffusion Models(拡散モデル)という先進的な技術を使用したバーチャル試着システムです。
従来のシステムと比べて、驚くほどシンプルかつ効率的に衣服と人物の画像を組み合わせることができます。
従来のシステムでは、いくつかの課題がありました。
- 高い計算能力が必要
- トレーニングと推論のコストが高い
- 複雑な画像処理が必要
しかし、CatVTONはこれらの問題を見事に解決しています。
どのようにして?それは以下の特徴によるものです。
軽量なネットワーク設計
余分なモジュールを省き、必要最小限の構成にした結果、システム全体のパラメータ数を大幅削減
効率的なトレーニング
必要なモジュールだけをトレーニングした結果、高品質な試着結果を少ないパラメータで実現
シンプルな推論プロセス
複雑な前処理を省略して、衣服の画像、人物の画像、マスクのみを利用
とりあえず、実際にデモを触ってみてください。
![](https://self-development.info/wp-content/uploads/cocoon-resources/blog-card-cache/dcd21cef443b905085fa155bb5492bfc.png)
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の動作確認
起動させる前に、以下の対応を行います。
- HuggingFace Spaces対応の除去
- Gradioアプリケーションの非公開化
修正するのは、app.pyです。
HuggingFace Spaces対応の除去
以下をすべてコメントにします。
![](https://self-development.info/wp-content/uploads/2024/08/image.png)
![](https://self-development.info/wp-content/uploads/2024/08/image-1.png)
![](https://self-development.info/wp-content/uploads/2024/08/image-2.png)
Gradioアプリケーションの非公開化
![](https://self-development.info/wp-content/uploads/2024/08/image-3.png)
「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にブラウザでアクセスします。
![](https://self-development.info/wp-content/uploads/2024/08/image.jpg)
この画面を確認できれば、CatVTONは正常に起動できています。
あとは、ローカル環境で安心してバーチャル試着を試しましょう。