Regional Prompterで狙い通りのイラストを生成しやすくする(stable diffusion webui)

2023年3月24日金曜日

stable-diffusion

t f B! P L
  • 2023-06-08追記: インストール方法をwebuiのExtensionsタブを利用する方法に変更。使い方の画像を新しいものに変更。

Regional PrompterのGitHubページ

hako-mikan/sd-webui-regional-prompter

解決できそうなこと

  • 片方の女の子に猫耳をつけようとしたら両方ついた
  • 頭の装飾品のパーツの要素が体にも及ぶ
  • ある部分の色が他の部分と混ざる

などの問題を解決しやすくなります。

インストール

WebUIのExtensionsからInstall from URLを開き、URL for extensions’s repositoryにhttps://github.com/hako-mikan/sd-webui-regional-prompterと入力してInstall。その後、WebUIを再起動、またはInstalledあたりからApply and restart UIをクリックして再起動する。

Regional Prompterが追加されていればインストール完了。

使い方

スクリプトを正常に追加できていれば左下にRegional Prompterという項目が出てくるので開きます。使用するために最低限理解する必要のあることはsplit mode、Divide Ratio、プロンプトの書き方の3つです。

  • split mode: 領域を横に並べる(Horizontal)か縦に並べる(Vertical)か
  • Divide Ratio: それぞれの領域の比。“1,1”なら50%と50%、“3,1”なら75%と25%に分かれる
  • プロンプトの書き方: それぞれの領域に対してプロンプトを”BREAK”(今は”ADDCOL”などになった。どちらでもOK)で区切って入力

使い方は日本語での説明もある親切なREADME.mdにも書いてくれてます。

まずは試しに以下の設定で生成してみます。Activeにチェックを入れることを忘れずに。

Divide mode:Horizontal
Divide Ratio: 1,1

(prompt)
2girls, white long hair, red eyes, black long dress, standing BREAK
2girls, purple short hair, cat ear, yellow eyes, pink hoodie, blue denim pants, standing

(negative prompt)
(worst quality, low quality:1.4), nsfw

大体狙い通りに左に白くて長い髪の女の子、右に紫の髪をした猫耳の女の子が生成できました。

使ってみた感触を色々と書く

安定感がある

同じプロンプトを使って連続で出力してみます。

安定して生成できています。左右の配置も良し。

違いを見るためにスクリプトを使わず素のwebuiだけで頑張ってみます。プロンプトを色々試して一番うまく言ったやつ

2girls, white long hair and red eyes girl wearing black long dress standing, purple short hair and cat ear with yellow eyes girl wearing pink hoodie and blue denim pants standing

あまり賢いプロンプトでないというのもありますが、高い確率で要素が混ざってしまいます。左右の配置の指定も難しい。

特定の部分にだけプロンプトを作用させることの良さを見る

頭に王冠、羽、花の髪飾りをつけた女の子の生成をやってみます。

Divide mode: Vertical, Divide Ratio: 1,3,1

(white wings, crown, flower ornament:1.2), BREAK
masterpiece, high quality, 1girl, (purple short hair, tareme, yellow eyes:1.2), smile, black suit, BREAK
white gloves, hands on table

生成できてます。ではRegional Prompterを使わないで頑張るとどうなるか。

white head wings, crown, flower ornament, masterpiece, high quality, 1girl, purple short hair, tareme, yellow eyes, smile, black suit, white gloves, hands on table

頭に羽を生やすためにwhite head wingsとしましたが、関係ないところにも羽が生えました。Regional Prompterがあると細かいところを詰めるのが簡単になりそうです。

common prompt

領域ごとに異なるプロンプトと言っても女の子2人出したいときにうっかり1girl,~BREAK 1girl,~とやると混ざります。

1girl, white long hair, red eyes, black long dress, standing BREAK
1girl, purple short hair, cat ear, yellow eyes, pink hoodie, blue denim pants, standing

なので女の子2人を出すときはちゃんと両方に2girlsを入れましょう。もし2girls, masterpiece, high quality~など共通部分が多くなるようであればcommon promptを使うと便利です。use common promptにチェックを入れると先頭のプロンプトがそれ以降のプロンプトに追加されます。

2girls, masterpiece BREAK
white long hair, red eyes, black long dress, standing BREAK
purple short hair, cat ear, yellow eyes, pink hoodie, blue denim pants, standing

おわり

とても使いやすいスクリプトでした。

QooQ