Stable Diffusionで複数の人物が描かれた画像を生成したい場合に、それぞれの人物の服装や行動が上手く指示通りになってくれない、といったことはないでしょうか?
このような時、Stable Diffusionの拡張機能である『Regional Prompter(リージョナル・プロンプター)』を利用すると、それぞれの人物に異なる服装や行動を適用することができるようになります。
今回は『Regional Prompter』の概要から導入方法、使い方までを詳しく解説していきます。複数人の画像を生成したい方など、ぜひ最後まで読んでみてください!
※Stable Diffusionの立ち上げ方・使い方については、以下の記事で詳しく解説しています。
拡張機能「Regional Prompter」とは?
「Regional Prompter」はStable Diffusionの拡張機能のことです。「Regional Prompter」を利用することで、画面(キャンバス)を複数の領域に分割し、それぞれの領域に対し異なる呪文(プロンプト)を指定することが可能となります。
「Regional Prompter」を利用することで、複数の人物を指定の位置に配置することができるようになり、さらにそれぞれの人物に異なる服装や行動を適用させることが可能となります。
拡張機能「Regional Prompter」の導入方法
ここからは「Regional Prompter」の導入方法について解説していきます。
インストールの手順は以下のようになります。
① Stable Diffusion Web UIを立ち上げ、「Extensions」タブをクリックする。
② 「Install from URL」タブをクリックする。
③ 以下に示すURLを入力する。
④ 「Install」ボタンをクリックする。
※インストールURL
⑤ 「Installed」タブをクリックする。
⑥ 「Regional Prompter」が追加されていることを確認する。
⑦ 「Apply and restart UI」をクリックし、UIを再起動する。
拡張機能のインストールが正常に行われていれば、「Regional Prompter」という項目が「txt2img」タブ内と「img2img」タブ内に追加されています。
以上でインストールは完了となります。
- Stable Diffusionのプロンプトの見本が知りたい
- 画像生成が思ったようにできない
- 色々なプロンプトを探したい
拡張機能「Regional Prompter」の使い方
それでは「Regional Prompter」の使い方について解説していきます。
「Regional Prompter」の設定について
基本設定について説明します。
デフォルトでは上記のような設定になっています。
まず、この拡張機能を利用する場合は「Active」にチェックを入れます。利用しない場合はチェックを忘れずに外しましょう。
「Generation mode」は「Attention」のままで大丈夫です。
※「Latent」はLoRA を分割した領域ごとに効かせる場合にチェックを入れるようです。
「Base Ratio(ベース比)」はとりあえずデフォルトのままにしておきます。
「Use common prompt」にチェックを入れると、画像全体に関わる呪文(プロンプト)を指定することができます。これはチェックを入れておきます。
「Main Splitting」では画面を縦と横のどちらの方向に分割するのかを選択します。「Columns」は「左・右」や「左・中・右」といった領域の分割指定、「Rows」は「上段・下段」や「上段・中断・下段」といった領域の分割指定になります。
「Divide Ratio」では分割比を設定します。実際の設定と画像生成結果をこの後紹介しますので、そちらを参考にしてください。
【検証】「Regional Prompter」で人物を描き分けてみた
実際に「Regional Prompter」を使ってみましょう!
①垂直方向に3分割する
ではまず、垂直方向に3分割して画像を生成してみたいと思います。
設定の手順は以下の通りです。
① 「Active」にチェックを入れ、拡張機能を有効にする。
② Matrix Splitingを「Rows」に変更する。
③ 「Divide Ratio」を「1,1,1」に変更する。
④ 「Use common prompt」にチェックを入れる。
「Use common prompt」にチェックを入れると、
1.画面全体に対する呪文(プロンプト)
2.領域1に対する呪文(プロンプト)
3.領域2に対する呪文(プロンプト)
4.領域3に対する呪文(プロンプト)
の4種類の呪文(プロンプト)をそれぞれ別に効かせるということになります。
これらの設定が完了したら、「visualize and make template」をクリックします。そうすると、画面の分割状況と分割比が図として現れます。自分の指定したものを合っているか確認してください。
次に呪文(プロンプト)の入力ですが、領域間の入力は「BREAK」という単語で区切ります。
以下に例を示します。
呪文(プロンプト):
masterpiece, best quality, 1 girl, standing, school uniform, BREAK
short hair, yellow hair, BREAK
Denim jacket, BREAK
Chino pants
1行目が全体、2行目が領域1(上段)、3行目が領域2(中段)、4行目が領域3(下段)の呪文(プロンプト)になります。
なお、今回は分かりやすくするために「BREAK」のところで改行しています。また、「,(カンマ)」はあってもなくても問題ありません。
ネガティブプロンプト:
worst quality, low quality
ネガティブプロンプトも通常と同様に入力しておきます。
生成した画像は以下になります。
指示通りの画像を生成できました!
②水平方向に2分割する
今度はもう少し細かく領域を分割していきたいと思います。以下のように設定します。
ここでは「Divide Ratio(分割比)」は「1;3,1,1」へと変更しました。この設定は画面を垂直方向に2つの領域(上段・下段)に「1:3(=分割比の1;3の部分)」の比率で分割し、さらに下段は領域が左右均等に1:1で分割されます。
それでは以下の呪文(プロンプト)を入力し、画像を生成してみます。
呪文(プロンプト):
masterpiece, best quality, BREAK
starry sky, BREAK
2 girls, yellow hair, long hair, blush, white t shirt, standing, blue pants, BREAK
2 girls, blue hair, short hair, smile, yellow t shirt, standing, blue pants
ネガティブプロンプト:
worst quality, low quality
生成した画像は以下のになります。
③水平方向に3分割する
最後はさらに領域を細かくしてみます。以下のように設定します。
ここでは、「Divide Ratio(分割比)」を「1;3,1,1,1」と設定しました。つまり、画面を垂直方向に先ほどと同じく二つの領域(上段・下段)に「1:3(=分割比の1;3の部分の)」の比率で分割し、下段は領域が3つの領域(左側・中央・右側)に「1:1:1(=3の右側にある,1,1,1の部分)」という比率で均等に分割したことになります。
呪文(プロンプト)は以下のものを使用します。
呪文(プロンプト):
masterpiece, best quality, BREAK
beautiful sky, BREAK
3 girls, black hair, long hair, smile, white t shirt, standing, white pants, BREAK
3 girls, yellow hair, short hair, grin, black t shirt, standing, blue pants, BREAK
3 girls, black hair, short hair, smile, white t shirt, standing, blue pants
ネガティブプロンプト:
worst quality, low quality
生成した画像は以下です。
今回は3人の人物を描画するということもあり、横長の画像サイズ(768×512)に変更しています。生成された画像をみると、分割した領域に指定した人物が配置されていることが確認できます。
ただし、画像を何枚か生成していると、髪や服が指定と異なるものになってしまうことはそれなりにあります。
「Regional Prompter」は画像を高解像度化してくれる『Hires.fix』機能と併用することをオススメします!
高解像度化することで、領域ごとのプロンプト指定がしっかり反映されやすくなります。
※「Hires.fix」については、以下の記事で詳しく解説しています。
人物を描き分けられるほかの方法
「Regional Prompter」のほかにも、「Latent Couple」という拡張機能を利用することで画面を分割して各領域ごとに呪文(プロンプト)を効かせることができます。
詳細は以下の記事を参考にしてください。
まとめ
いかがでしたでしょうか?
今回は「Regional Prompter」の概要から導入方法、使い方までを詳しく解説してきました。
今回のポイントをまとめると、以下のようになります。
- 「Regional Prompter」を利用すると、画面(キャンバス)を複数の領域に分割し、それぞれの領域に対し異なる呪文(プロンプト)を指定することが可能。
- 複数の人物を指定の位置に配置したり、さらにそれぞれの人物に異なる服装や行動を適用させることが可能。
複数の人物が描かれた画像を生成したい場合に、それぞれの人物の服装や行動が上手く指示通りになってくれない、という問題を「Regional Prompter」は解決してくれます。
「Regional Prompter」を上手く活用して、画像生成の幅を広げましょう。
- Stable Diffusionのプロンプトの見本が知りたい
- 画像生成が思ったようにできない
- 色々なプロンプトを探したい