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
ウェブブラウザから「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」は、マスクしたい領域を編集する際に入れておきましょう!
目をマスクして、置き換えてみるよ!
Promptには「cool blue eyes」と入力してみました。
(coolは影響がないかもしれないです)
「Generate」押してみますよ。
操作方法はポップアップWindowの情報に記載されています。
左クリックで頂点を追加して囲っていきます。
右クリックでパスを閉じます。
左クリックでマスクを追加できます。
作業が終わったら「Q」でマスク設定終了です。
画像が作成されますよ!
できましたね!
img2imgは奥が深そうですね!
表情差分を作成する際に利用できそうな気がしています。
なかなか思うような結果は得られないかもしれませんので、適宜、マスクの方法を変えてみてもよいかもしれません。
テキストから自動で物体を認識してマスクする手法もあります。
ワイルドカードを指定して、Batch countを大きくすることによって、表情をランダム生成することができるのではないかと思います。
やっぱできるっ! こんな感じ!
マスクも自動化してしまえば簡単ですね。
あとはレイヤー分割する作業の効率を上げる方法を考えてみたいと思っています!
この記事が参加している募集
この記事が気に入ったらサポートをしてみませんか?