Stable Diffusionの拡張機能『NegPiP』の使い方!負のプロンプトを適用しよう

Stable Diffusion

Stable Diffusionで画像を生成している時に、プロンプトでの指示がうまく反映されない事ってありますよね。

ネガティブプロンプトにも(nsfw)って入れているのにも関わらず…

そんな時は「負」のプロンプトの出番かもしれません。「NegPiP」を使ってみましょう。

スポンサーリンク

拡張機能「NegPiP」とは?

プロンプトに「負」の要素を加える拡張機能です。

txt2img と img2img で使う事ができます。

「NegPiP」はHako-mikan氏のリポジトリで公開されていますので、イシューなどを確認したい方はこちらからご確認ください。

https://github.com/hako-mikan/sd-webui-negpip/blob/main/README_jp.md

日本の方なのでリポジトリも日本語版があります。

「NegPiP」については公式では以下のように解説されています。

この拡張は、stable diffusion web-uiのプロンプトおよびクロスアテンションを拡張して、負の効果を持つプロンプトをプロンプト内で、正の効果を持つプロンプトをネガティブプロンプト内で使用できるようにします。通常、描きたくないものはネガティブプロンプトに書かれますが、ネガティブプロンプトの計算上、あまり効果が現れないことがあります。この拡張では、プロンプトと同程度の効果を持つ負のプロンプトを使用できるようにします。これにより、以前はネガティブプロンプトに置いて値を大きくしすぎて崩壊していたような単語でも、プロンプトに負の効果を持たせることができ、より強い効果が期待できます。

https://github.com/hako-mikan/sd-webui-negpip/blob/main/README_jp.md

説明を読んだだけでは少し理解しにくいかもしれません。

でも、使ってみるとその効果はすぐ理解できると思います。

Stable Diffusionの画像生成を最速で学びたいあなたへ!
  • Stable Diffusionの基礎を2時間でマスター!
  • 高スペックPCがない方向けに徹底解説。
  • ControlNetなど、必須級の拡張機能も網羅。
  • 今話題のSDXL、AI動画生成も。
  • 特典として、大人気「おすすめ拡張機能・モデル解説」「プロンプト大全」つき!
\このボタン限定!70%オフキャンペーン実施中!/
70%オフキャンペーン実施中!/

拡張機能「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」のタグが現れます。

romptn Q&Aで画像生成の悩みを解決しよう!
  • Stable Diffusionのエラーが解決しない
  • 画像生成がうまくできない
  • おすすめのモデルが知りたい
など、AIに関するお悩みがあれば投稿してみてください。
詳しい人が解決してくれるかもしれません。

拡張機能「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)が含まれているにもかかわらず、それはまだ黒です。ゴシックという言葉の黒さを完全に排除することは不可能に思えます。

https://github.com/hako-mikan/sd-webui-negpip/blob/main/README_jp.md

これはNegPiPでプロンプトに(black:-1.8)を入れました。黒くなくなりましたね。

https://github.com/hako-mikan/sd-webui-negpip/blob/main/README_jp.md

と、このようにネガティブプロンプトに記入するよりも「NegPiP」を使って、負のプロンプトを入れる事で大きな効果を出す事ができます。

たとえばですが、胸の小さな女性を描かせたいときに (breasts:-1.5) や

特定の色を排除したいときに ( ‘色’ :-1.5) などに使えます。

誰かに見られ可能性のある環境で、画像を生成するときは (nsfw:-1.5)もかなり効果的に使えます。

ネガティブプロンプトで思ったように生成できない時以外にも、工夫次第で使い道がありそうです。

まとめ

いかがでしたでしょうか?

Stable Diffusionの拡張機能『NegPiP』の使い方について解説してきました。

今回のポイントをまとめると、以下のようになります。

  • 『NegPiP』でプロンプトに「負」の効果を与える事ができる
  • ネガティブプロンプトでは効きが悪い時でも、効果的に使用できる

この『NegPiP』は画像を生成する上で、非常に効果が高く、かなり話題になっています。

今まで上手く作画できなかったものも、『NegPiP』を上手く使うことによってかなり改善されます。

皆さんもぜひ使ってみて下さい。

romptn Q&Aで画像生成の悩みを解決しよう!
  • Stable Diffusionのエラーが解決しない
  • 画像生成がうまくできない
  • おすすめのモデルが知りたい
など、AIに関するお悩みがあれば投稿してみてください。
詳しい人が解決してくれるかもしれません。