Regional Prompter を利用する - ベースプロンプトの利用 - Stable Diffusion

sd-webui-regional-prompter のRegional Prompt を利用します。この記事では、Base Promptを利用した動作を確認します。

概要

こちらの記事では、sd-webui-regional-prompterをインストールして動作を確認しました。 この記事ではBase Promptを利用した動作を確認します。

手順:Base Promptを利用した例1

こちらの記事では、アヒルと熊の 画像を生成しましたが、Regional Promptなしの状態ではたくさんのアヒルと熊が混ざった状態の画像が生成されたため、Regional Promptなしの状態で、アヒルと熊それぞれが生成される画像を作成し、 その後、Regional Promptを適用する方法を試します。

Regional Prompterを無効にした状態でプロンプトを作成し画像を生成します。 以下のプロンプトで、アヒルと熊がそれぞれ生成できる状態になりました。
Prompt
1 duck and 1 bear BREAK
duck, anime BREAK
bear, anime



Regional Prompterのパネルの[Active]のチェックボックスにチェックをつけ、 Regional Prompterを有効にします。領域は1,1の2分割とします。


[Use base prompt]のチェックボックスをクリックしてチェックをつけます。


[Use base prompt]を有効にすると、最初のBREAKまでのプロンプトが全体に適用されます。
上記のプロンプトでは "1 duck and 1 bear" が全体に適用され、"duck, anime"が左側に、 "bear,anime"が右側に適用されます。



画像生成結果は下図です。アヒルと熊が合体した画像も生成されますが、 左にアヒル、右に熊が描画された画像も生成できています。


プロンプトを下記に若干変更した場合の結果です。意図した画像の生成率が低いため、 運次第な面もありそうです。
Prompt
1 duck and 1 bear, anime shading BREAK
duck, anime BREAK
bear, anime




手順:Base Promptを利用した例2

先の例から、Regional Promptで大局的な構図を指定するのはあまり適していない印象です。
局所的な領域でのプロンプト指定を試してみます。

初めに次のプロンプトで画像を生成します。
キャラクタの衣装やパーツにそれぞれ別の色を指定しており、カラフルなキャラクタの画像を生成します。
Prompt
Prompt: 1girl, standing, full body, green hair, yellow skirt, white shirt, blue jacket, purple boots, red gloves, orange waist large belt
Negative prompt: worst quality, low quality,

モデルはCounterfeit XL v1.0 を利用します。
下図の画像が生成されます。ある程度はプロンプト通りの画像ですが、パーツや衣装の色が微妙に違う部分があったり、生成ごとに色が違っています。


生成された画像を見ながら領域を分割します。今回は縦方向に分割します。分割設定を"Matirx"にし、[Rows]ラジオボタンをチェックします。 Divide Ratioは"1.1.2.1"とします。下半のスカート部分が2の大きいエリアとします。また、[Use base prompt]のチェックボックスにチェックをつけ有効にします。


プロンプトは以下とします。

Prompt
Prompt: 1girl, standing, full body, anime shading BREAK
green hair, BREAK
white shirt, blue jacket, BREAK
(red gloves:1.1), bright yellow skirt, orange waist large belt, BREAK
purple boots
Negative prompt: worst quality, low quality,

それぞれのエリアに適用されるプロンプトは次の通りです。
  • [0]: "1girl, standing, full body, anime shadin" ベースプロンプト
  • [1]: "green hair" 0のエリア
  • [2]: "white shirt, blue jacket" 1のエリア
  • [3]: "(red gloves:1.1), bright yellow skirt, orange waist large belt" 2のエリア
  • [4]: "purple boots" 3のエリア

画像を生成します。下図の生成結果になります。パーツや衣装の色が指定通りになります。


他のモデルでの生成結果です。
full bodyが確実に反映されるモデルでは、指定通りのカラーになりますが、full bodyが反映されない画像出力では、ソックスが紫色になるなど、 指定されたカラー通りにならない場合があります。
NekoRay XL

X2 Anime Final

Reproduction


上記の問題を解決するため、プロンプトによる領域指定機能が現在テスト段階にあります。 プロンプトによる領域指定が完成すると、構図に追従してパーツにプロンプト要素を適用させる処理ができるようになります。

著者
iPentecのメインデザイナー
Webページ、Webクリエイティブのデザインを担当。PhotoshopやIllustratorの作業もする。
掲載日: 2023-11-11
iPentec all rights reserverd.