mieki256's diary



2023/04/15() [n年前の日記]

#1 [cg_tools][gimp] GIMPから Stable Diffusion web UIを呼び出してみる

ふとなんとなく、GIMP から Stable Diffusion web UI を呼び出して利用できないものかなと思いついた。

環境は以下。
ググった感じでは、2つのプラグインに遭遇した。

_GitHub - thndrbrrr/gimp-stable-boy: GIMP plugin for AUTOMATIC1111's Stable Diffusion WebUI
_GitHub - blueturtleai/gimp-stable-diffusion

今回は、Stable Boy (gimp-stable-boy) のほうを使ってみる。

導入 :

導入は以下。任意のフォルダで、git を使ってクローン。
git clone https://github.com/thndrbrrr/gimp-stable-boy.git

今回は、D:\aiwork\ 以下で作業してみた。
cd /D D:\aiwork
git clone https://github.com/thndrbrrr/gimp-stable-boy.git
D:\aiwork\gimp-stable-boy\ というフォルダが出来て、中にファイル一式がコピーされている。

GIMPのプラグインとして指定する :

  1. GIMP 2.10 を起動。
  2. プラグインフォルダの設定画面を表示。編集 → 設定 → フォルダー → プラグイン。
  3. 先ほどクローンしたプラグインの場所 + src を指定。
D:\aiwork\gimp-stable-boy\src

gimp_stableboy_ss01.png

gimp_stableboy_ss02.png

GIMPを再起動すると、上部のメニューの中に、Stable Boy という項目が増えている。

gimp_stableboy_ss11.png

Stable Diffusion web UIを起動しておく :

Stable Diffusion web UIを起動しておいて、他のアプリから使える状態にしておく。

Stable Boy の説明ページ(README.md)には、--api を指定して起動する、と書いてある。DOS窓(cmd.exe)を開いて、Stable Diffusion web UI のインストールフォルダをカレントディレクトリにして、以下を実行。
webui.bat --api

_API - AUTOMATIC1111/stable-diffusion-webui Wiki - GitHub

DOS窓内にずらずらとメッセージが表示される。通常なら、以下のURL(URI)にアクセスすれば利用できるようになっているはず…。
http://127.0.0.1:7860

GIMP側でプラグインの初期設定 :

GIMP側で、512x512の画像を新規作成しておいてから、Stable Boy → 設定、を選んで、アクセスすべきURL(URI)を指定する。

何かしらの画像ウインドウが無いとメニュー選択ができないので注意。

gimp_stableboy_ss03.png

gimp_stableboy_ss04.png

デフォルトでは、http://localhost:7860 になっているが、この設定だと無反応だったので、http://127.0.0.1:7860 に変更する。
http://127.0.0.1:7860

gimp_stableboy_ss05.png


ちなみに、設定したURLは保存されないので、GIMP を起動するたびに、毎回設定しないといけない…。面倒臭い。

gimp-stable-boy\src\gimp_stable_boy\constants.py の中で、"http://localhost:7860" が定義されているので、そこを修正してしまうのも手かもしれない。

実際に利用してみる。 :

Stable Boy → Text to Image を選ぶ。おそらく txt2img を呼び出して、英文や英単語を打ち込めば、画像生成してくれるのだろう。

gimp_stableboy_ss06.png

gimp_stableboy_ss07.png

Prompt に「girl」とでも打ち込んで動作確認。また、Results as で、Layer (新規レイヤー作成) か Image (新規画像作成) を選べる。

Stable Diffusion web UI側の処理が終わると、GIMPのウインドウ内に生成画像が返ってくる。

Inpaint も使えるらしい。
  • Inpainting Mask という名前のレイヤーを新規作成して、一番上の階層に持ってくる。
  • 黒色でマスクしたい部分を塗り潰す。
  • その状態で、Stable Boy → Inpainting を選択。
gimp_stableboy_ss08.png

gimp_stableboy_ss09.png

gimp_stableboy_ss10.png

これで、黒色に塗った部分が新しく作成される。

終了の仕方 :

GIMPを終了したら、Stable Diffusion web UI を実行してるDOS窓も閉じてしまっていい。

問題点 :

一応、これで、GIMPから Stable Diffusion web UI を利用することができるようになったけど。ただ、このプラグイン、時々動作が怪しい…。

プラグインのダイアログで「OK」をクリックして、すぐにダイアログが閉じられる時は、何らかの処理に失敗している。処理に失敗してるけど、Stable Diffusion web UI側は、処理を続行している…。

本当なら、Stable Diffusion web UI が生成処理を終えるまで、ダイアログが開きっぱなしのままになるし、ダイアログのウインドウタイトルに「(応答なし)」も表示される。Stable Diffusion web UI側の処理が終われば、ダイアログ上の「Processing」の表示が100%になって、生成画像が返ってくるはず。

ということで、ダイアログがすぐに閉じたら、処理に失敗してると判断して、Stable Diffusion web UI側の処理が終わった頃を見計らってから、再度プラグインを実行してみるべし。

もう一点。公式ドキュメントにも書いてあるけど、学習モデルデータの選択は、このプラグイン側からできないので、Stable Diffusion web UI 側で事前に選択しておくこと。

雑感 :

考えてみたら、Webブラウザ経由で Stable Diffusion web UI を使っても、絶えずpng画像が保存されるのだから…。エクスプローラ等から GIMP に画像をドラッグアンドドロップしてアレコレすれば済みそうな気もする…。いや、その場合、マスク画像を作成して渡すのが面倒臭いかな…。

以上、1 日分です。

過去ログ表示

Prev - 2023/04 - Next
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project