見出し画像

img2img InpaintのMask drawing UI 使ってみたよ!

こんにちは、あるいは、こんばんは!
最近、非常に眠い日が続いてリビングで寝落ちしてます。
朝は早くから活動したいので、寝心地の悪いところで休むと、起きられますね!
きっと、こんなとこで寝てられっか!って感じで体が起きてしまうのでしょう。。。

さてさて、img2imgの機能の一つ、「Inpaint」について、UIを使ってマスクを描けるツールを利用できるようにしました。
なにせ、あのペンツールは細かいことが苦手で、手の震えがままならないトーシローターペイン(素人塗師)にとっては、ゆっくり場所を狙い撃ちできるのでありがたいことです。

external-maskingを入れるよ!

dfaker様のstable-diffusion-webui-cv2-external-masking-scriptを導入しました。
https://github.com/dfaker/stable-diffusion-webui-cv2-external-masking-script

GitHubからファイルをダウンロードして、
external_masking.py」を
「C: /Users/user/Dropbox/GitHub/clone/stable-diffusion-webui/scripts」に
放り込みましょう。
cv2(opencv)というPythonで画像処理に使用するもの(だった気がします)をローカル環境に入れておく必要があるみたいです。
わたしはいつの間にかすでに導入されていたようです。

# Anacondaで作成した仮想環境py310をアクチベートするよ!
conda activate py310

# cv2を入れるよ!
# py -m pip install opencv-python
python -m pip install opencv-python    # わたしはこちらで動きました。

Stable Diffusionを起動しよう!

わたしの環境では、「terminal」または「command prompt」に以下のように入力します。

conda activate py310
cd /Users/user/Dropbox/GitHub/clone/stable-diffusion-webui
python launch.py --skip-python-version-check

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

ウェブブラウザから「http://127.0.0.1:7860」にアクセスしましょう!

過去の記事に簡単に記載してありますが、より詳細な説明は今のところ他誌にお譲りしております。

img2imgのInpaintを使うよ!

Inpaintはペンで塗りつぶした個所を、プロンプトの呪文の内容に塗りなおしてもらうツールと思っています。
詳細な解説は、これまた今のところは他誌にお譲りしております。
過去の記事にInpaintを使用した内容を記載しています。

img2imgタブの
 Inpaintタブの
  下のほうにある「Script」を見つけましょう!
「▼」のプルダウンメニューから「External Image Masking」を探して選択します。
その下の「Masking preview size」は、「Generate」を押した後にポップアップして出てくるUI Windowのサイズのようです。
大きいほうがマスクを指定しやすいと思いますよ。
「Draw new mask on every run」は、マスクしたい領域を編集する際に入れておきましょう!

img2img > Inpaint > Script: External Image Masking > Masking preview size: 1024 > 

目をマスクして、置き換えてみるよ!

Promptには「cool blue eyes」と入力してみました。
(coolは影響がないかもしれないです)
「Generate」押してみますよ。

操作方法はポップアップWindowの情報に記載されています。

左クリックで頂点を追加して囲っていきます。
右クリックでパスを閉じます。
左クリックでマスクを追加できます。
作業が終わったら「Q」でマスク設定終了です。
画像が作成されますよ!

左クリックで頂点を追加 > 右クリックでパスを閉じる > 左クリックでマスク追加 > Qで画像生成

できましたね!

cool blue eyes Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 1243476124, Size: 512x512, Model hash: f6957e654e, Model: 7th_anime_v3_C, Denoising strength: 0.75, Mask blur: 4

img2imgは奥が深そうですね!

表情差分を作成する際に利用できそうな気がしています。
なかなか思うような結果は得られないかもしれませんので、適宜、マスクの方法を変えてみてもよいかもしれません。
テキストから自動で物体を認識してマスクする手法もあります。

ワイルドカードを指定して、Batch countを大きくすることによって、表情をランダム生成することができるのではないかと思います。

やっぱできるっ! こんな感じ!

_1000wildcards/eyes_emotions_and_expressions_ Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 4181268851, Size: 512x512, Model hash: f6957e654e, Model: 7th_anime_v3_C, Denoising strength: 0.75, Mask blur: 4

マスクも自動化してしまえば簡単ですね。
あとはレイヤー分割する作業の効率を上げる方法を考えてみたいと思っています!

この記事が参加している募集

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