Stable Diffusionで画像を生成している時に、プロンプトでの指示がうまく反映されない事ってありますよね。
ネガティブプロンプトにも(nsfw)って入れているのにも関わらず…
そんな時は「負」のプロンプトの出番かもしれません。「NegPiP」を使ってみましょう。
拡張機能「NegPiP」とは?
プロンプトに「負」の要素を加える拡張機能です。
txt2img と img2img で使う事ができます。
「NegPiP」はHako-mikan氏のリポジトリで公開されていますので、イシューなどを確認したい方はこちらからご確認ください。
日本の方なのでリポジトリも日本語版があります。
「NegPiP」については公式では以下のように解説されています。
この拡張は、stable diffusion web-uiのプロンプトおよびクロスアテンションを拡張して、負の効果を持つプロンプトをプロンプト内で、正の効果を持つプロンプトをネガティブプロンプト内で使用できるようにします。通常、描きたくないものはネガティブプロンプトに書かれますが、ネガティブプロンプトの計算上、あまり効果が現れないことがあります。この拡張では、プロンプトと同程度の効果を持つ負のプロンプトを使用できるようにします。これにより、以前はネガティブプロンプトに置いて値を大きくしすぎて崩壊していたような単語でも、プロンプトに負の効果を持たせることができ、より強い効果が期待できます。
https://github.com/hako-mikan/sd-webui-negpip/blob/main/README_jp.md
説明を読んだだけでは少し理解しにくいかもしれません。
でも、使ってみるとその効果はすぐ理解できると思います。
拡張機能「NegPiP」の導入方法
Google Colabの方と、ローカル環境の方では導入方法が異なります。ご自身の環境に合わせた手順で導入して下さい。
・Google Colabでご利用の方は、立ち上げ時に以下のコードを挿入して下さい。
%cd /content/stable-diffusion-webui/extensions/
!git clone https://github.com/hako-mikan/sd-webui-negpip.git
%cd /content/stable-diffusion-webui
・ローカル環境でご利用の方は
「Extensions」→「Install from URL」の「URL for extension’s git repository」に下記のURLを入力しInstallをクリックして下さい。
https://github.com/hako-mikan/sd-webui-negpip.git
インストールができたら、1度リロードして下さい。
上手くインストールできていると、メイン画面下部に「NegPiP」のタグが現れます。
- Stable Diffusionのプロンプトの見本が知りたい
- 画像生成が思ったようにできない
- 色々なプロンプトを探したい
拡張機能「NegPiP」の使い方
「NegPiP」を有効化すると、『負』のプロンプト が使えます。
有効化の仕方は、「activ」にチェックを入れるだけです。
「NegPiP」の具体的な説明は公式見解がわかりやすいと思いますので、そちらから引用します。
Activeにチェックを入れることで有効になります。プロンプト入力画面において (word:-1)のようにマイナスの値を入れることで負の効果を持つようになります。ネガティブプロンプトでも有効で、この場合は正の効果を持ちます。値は1より大きな値を入力しないと効果が現れない場合があります。
https://github.com/hako-mikan/sd-webui-negpip/blob/main/README_jp.md
これはプロンプトの「gothic dress」で作成されました。ネガティブプロンプトに(black:1.8)が含まれているにもかかわらず、それはまだ黒です。ゴシックという言葉の黒さを完全に排除することは不可能に思えます。
これはNegPiPでプロンプトに(black:-1.8)
を入れました。黒くなくなりましたね。
と、このようにネガティブプロンプトに記入するよりも「NegPiP」を使って、負のプロンプトを入れる事で大きな効果を出す事ができます。
たとえばですが、胸の小さな女性を描かせたいときに (breasts:-1.5) や
特定の色を排除したいときに ( ‘色’ :-1.5) などに使えます。
誰かに見られ可能性のある環境で、画像を生成するときは (nsfw:-1.5)もかなり効果的に使えます。
ネガティブプロンプトで思ったように生成できない時以外にも、工夫次第で使い道がありそうです。
まとめ
いかがでしたでしょうか?
Stable Diffusionの拡張機能『NegPiP』の使い方について解説してきました。
今回のポイントをまとめると、以下のようになります。
- 『NegPiP』でプロンプトに「負」の効果を与える事ができる
- ネガティブプロンプトでは効きが悪い時でも、効果的に使用できる
この『NegPiP』は画像を生成する上で、非常に効果が高く、かなり話題になっています。
今まで上手く作画できなかったものも、『NegPiP』を上手く使うことによってかなり改善されます。
皆さんもぜひ使ってみて下さい。
- Stable Diffusionのプロンプトの見本が知りたい
- 画像生成が思ったようにできない
- 色々なプロンプトを探したい