見出し画像

MimicBrushをGoogleColabで構築

【テクスチャをリファレンスから生成】

アパレルに携わっている人は全員チェックすべきMimicBrushを紹介します。画像生成の代表格"Midjourney"や"Stable Diffusion"では困難な実際の商品を合成する技術。これがワンクリのッポン出し!で可能になっています!!

服の着せ替えは既存でありますが、MimicBrushはこれまで無理だった帽子もカバンも行けちゃいます。アパレル業界に導入すれば毎月100万円単位で得するヤツですよこれ。アパレルやってなくても触 っておくだけで話のネタになるので10倍モテます!(笑)



使い方は、編集したい部分に白いマスクをかけ、完成イメージの画像を用意するだけ。MimicBrushが2つの画像を自動的に比較し、編集してくれます。

MimicBrushのすごいところ:

  • 事前学習済みなので、すぐに使えます。

  • 2つの画像を別々に処理し、マスク部分の編集を正確に行います。

  • 色の変化、回転、拡大・縮小など、様々な編集に対応できます。

  • 編集したい部分をより正確に認識できるように、SIFTマッチングという技術を使っています。



さて、本題。
Google Colabで起動する方法を記しておきます。

▼"ノートブックを新規作成"をクリック

▼ノートブックの名前を変更します(お好きな名前で作成してください)

▼以下をコピーしてGoogle Colabのコードボックスに貼り付け、実行します。

# 仮想環境の作成 (Python 3.8.5)
!python3 -m venv mimicbrush_env
!source mimicbrush_env/bin/activate

# MimicBrush リポジトリのクローン
!git clone https://github.com/ali-vilab/MimicBrush.git
%cd MimicBrush

# 必要なライブラリのインストール
!pip install -r requirements.txt
!pip install modelscope

# ModelScope からモデルをダウンロード
from modelscope.hub.snapshot_download import snapshot_download as ms_snapshot_download

sd_dir = ms_snapshot_download('xichen/cleansd', cache_dir='./modelscope')
print('=== Pretrained SD weights downloaded ===')
model_dir = ms_snapshot_download('xichen/MimicBrush', cache_dir='./modelscope')
print('=== MimicBrush weights downloaded ===')

【 inference.yamlに対してファイルパスの設定】

  1. Colab 上で inference.yaml を開く:

    • MimicBrush リポジトリをクローンしたディレクトリ (/content/MimicBrush) に移動します。

    • configs ディレクトリに移動します。

    • inference.yaml ファイルをテキストエディタで開きます。

  2. 現状のコードを削除して以下のコードに置き換えます

model_path:
  mimicbrush_ckpt_path: /content/MimicBrush/modelscope/xichen/MimicBrush/mimicbrush/mimicbrush.bin
  pretrained_reference_path: /content/MimicBrush/modelscope/xichen/cleansd/stable-diffusion-v1-5
  pretrained_imitativer_path: /content/MimicBrush/modelscope/xichen/cleansd/stable-diffusion-inpainting
  pretrained_vae_name_or_path: /content/MimicBrush/modelscope/xichen/MimicBrush/sd-vae-ft-mse
  image_encoder_path: /content/MimicBrush/modelscope/xichen/MimicBrush/image_encoder
  depth_model: /content/MimicBrush/modelscope/xichen/MimicBrush/depth_model/depth_anything_vitb14.pth
data_path:
  test_set_name: Texture_Within # choose from [ PartComp_Cross, PartComp_Within, Texture_Cross, Texture_Within ] 
  output_dir: ./test-vis

【run_gradio3_demo.pyのコード修正】

次に run_gradio3_demo.pyに対して操作画面がローカルではなくパブリックサーバーで立ち上がるように変更します。 run_gradio3_demo.pyの一番下にあるコードを以下のように修正します。

# demo.launch(server_name="0.0.0.0") を変更
demo.queue().launch(share=True)


▼以下をコピーしてGoogle Colabのコードボックスに貼り付け、実行します。

# Gradio デモの実行
!python run_gradio3_demo.py

以下のような表示になったら、public URLをクリックして操作画面を起動します。



この記事が気に入ったらサポートをしてみませんか?