【超初心者向け】ネガティブプロンプトの使い方を徹底解説しました!!!!
こんにちは、画像生成を楽しんでいる じょじお(@jojio_illust)です。
この記事では、Midjourney(ミッドジャーニー)などの画像生成AIを扱う上で知っておきたいネガティブプロンプトについて解説します。
ネガティブプロンプトの構文・メリット・使いどころの具体例を含めてわかりやすく解説していますので、「ネガティブプロンプトって何?」という状態の超初心者の方でも理解しやすい内容になっているかなーと思います。是非ご覧ください!
▲画像生成AIの大量の画像の整理方法・プロンプト管理方法に悩んでいる方はこちらも見てね。
画像生成AIのネガティブプロンプトとは?
画像生成AIでは、生成したい画像についての説明をプロンプトと呼ばれる文章に記述します。
一方で、画像生成AIツールの中には、プロンプトと併せて「ネガティブプロンプト」を含めることができます。
ネガティブプロンプトは、「画像の中に含めて欲しくないものを指示する文書」です。つまりプロンプトとは逆の役割です。
プロンプトとネガティブプロンプト
- プロンプト:画像の中に描いてほしいものを指示する。
- ネガティブプロンプト:画像の中に描いてほしくないものを指定する。
※一部の画像生成AIツールでは、ネガティブプロンプトに対応していないツールもあります。
画像生成AIでネガティブプロンプトを使うメリット
プロンプトだけではなくネガティブプロンプトを併せて使うことにより、理想の画像に素早くたどり着けるというメリットがあります。
Midjourney(ミッドジャーニー)のネガティブプロンプトの例・使いどころ
ネガティブプロンプトのメリットの具体例をMidjourneyを使って紹介します。
私は、Apple社がマッキントッシュ以前に販売していた「Apple Ⅱ」という名前のレトロパソコンの画像を生成したい時がありました。
そこで「computer the “Apple II”, Autochrome –v 4(アップル2という名前のコンピュータ、オートクロム調で。)」というプロンプトを入力して画像を生成します。
生成されたのは次の画像です。
生成された画像は、指示した通りappleⅡに似たマシンを生成してくれました。
ですが、よく見てみると、Appleという型名からか果物のリンゴも一緒に登場しています。
私としては、果物のリンゴは本来想定していない物なので申し訳ないですが邪魔な存在です。
こんな時に使えるのがネガティブプロンプトです。
アップルはコンピューターの名前で果物じゃないよ、という意図をネガティブプロンプトを使って伝えます。
▲ネガティブプロンプトを使って生成した画像はこちら。
プロンプトは「computer the “Apple II”, Autochrome –no fruit –v 4」を使いました。
ネガティブプロンプトにfruit(果物)を指定したことで、4枚中4枚に登場していたリンゴが一回も登場しないようにすることができました。
このように、ネガティブプロンプトを使うことで不要な要素を画像に登場しないようにする確率を上げることができます。
プロンプトエンジニアリングは、言葉の足し算・引き算。
「プロンプトとネガティブプロンプトを使って、AIに正しく指示する作業」のことをプロンプトエンジニアリングと呼びますが、プロンプトエンジニアリングは、言葉の足し算・引き算に似ています。
プロンプトで要素を足し算し、ネガティブプロンプトで要素を引き算するような感覚です。
この「言葉の足し算・引き算」の感覚をざっくりとつかむのに上のYoutube動画が役に立ちました。
この動画は、Word2VecというAIについての解説で、画像生成AIとは厳密には異なるものですが、考え方は似ているので参考になる点があるかと思います。
動画はクイズ形式になっているので、遊び感覚でご覧になってみてください。
Midjourney(ミッドジャーニー)のネガティブプロンプトの使い方・構文
ネガティブプロンプトの使い方は、使用するAIツールによって異なります。
Midjourney(ミッドジャーニー)のネガティブプロンプトは、「–no」コマンドを使ってプロンプトの後ろに記述します。
「–no」コマンドのあとに半角スペースを空けて、絵の中に登場させたくない要素を記述します。
複数キーワードを使ったネガティブプロンプト
ネガティブプロンプトには、複数のキーワードを使うことができます。カンマと半角スペースを使ってキーワードを羅列します。
Midjourneyには、「–no」コマンド以外にもいくつかのコマンドが存在します。
例えば、Midjourneyバージョン4で生成するための「–v 4」コマンド、スタイライズを調整するための「–s」コマンド等です。
ネガティブプロンプトのためのコマンドは、これらのコマンドと併用することができます。併用する場合、コマンドの順番は気にする必要はありません。
Midjourney(ミッドジャーニー)でよく使うネガティブプロンプト・案
ここからは、ネガティブプロンプトを使いどころとして、筆者がmidjourneyを使う上でよく使用するシーンを紹介します。
1.署名・サイン・透かしを消す。
AI画像は、特に絵画調の絵を出力する時に、署名やスタンプ、透かしが画像のすみっこに挿入されるときがあります。これはおそらくAIが学習したトレインデータにそういった画像が含まれていたことが原因でしょう。
これらをAI画像に含めないようにするには、ネガティブプロンプトに「text(文字)」、「signature(署名・サイン)」、「stamp(スタンプ)」、「watermark(透かし)」などを含めると出現率を下げることができます。
また、上図のようにそのほかにもテキストを含めないようにできるかもしれない英単語があります。これはChatGPTに教えてもらったものです。全てが使えるかは試していないですが、参考になるかと思います。
2.スケッチ風の絵を出力する時に鉛筆などの画材が写ってしまうのを改善する。
画像生成AIで、画材を指定する絵を生成する時に、画材そのものがフレームインしてしまうことがあります。
ネガティブプロンプトを使えばそれを防ぐことができます。
下図は、画材として色鉛筆を指定したネコの絵を生成した時の例です。
3.絵画調の絵を出力する時に額縁や周りの風景が写らないようにする。
画像生成AIで絵画調の画像を生成する時に多いのですが、絵の中身を生成したいのに額縁が付い絵を俯瞰的に見た画が生成されることがあります(下図1枚目)。
絵そのものだけを生成したい時は、額縁(art frame)やフチ(frame)、壁(wall)などをネガティブに含めて排除しましょう。
4.分割画面になってしまうことが多いプロンプトで、分割画面にならないようにする。
画像生成AIで画像生成をしていると、まれに意図しない形で分割画面の絵が出力されてしまうことがあります(下図)。
ネガティブプロンプトを使えばこれらの出現率を下げることができます。
分割画面を意味する「two shot」、「split view」などの単語をネガティブに含めましょう。
5.特定の部位・パーツをフレームインさせないようにする。(構図の調整)
ネガティブプロンプトは構図(フレーミング)調整にも使えます。
例えば下図は人魚(mermaid)の絵を生成する時、下半身の魚のヒレをフレームインさせないように「–no fish」を使っています。
6.手をフレームインさせないようにする。
画像生成AIは手の描写が苦手です。指が一本欠落していたり、逆に指が多かったりといったことが度々あります。
その対策として、ネガティブプロンプトを使って、手を最初から描写しないというテクニックがあります。
ネガティブプロンプトに「hands」や「hand」、「fingers」などを含めれば、手がフレームインしない構図になりやすいです。
7.特定の色を出現しないようにする。
ネガティブプロンプトを使えば色のコントロールも可能です。
キメラ合成にもネガティブプロンプトは使える。
ネガティブプロンプトはキメラ合成(生物を掛け合わせて架空の生物を作る)にも使うことができます。
例えば、「上半身がネコ、下半身が魚の生物」をMidjourney(ミッドジャーニー)を使って生み出してみましょう。
最初に私が描いたプロンプトと生成された画像は下記です。
(ネガティブプロンプトなし)mermaid + cat, full body
人魚に猫を足せば良いかなと思い、このプロンプトを書いたのですが、結果は人魚と猫が同時に描画されてしまい想定外の結果となりました。おそらく「mermaid(人魚)」という言葉の「女性」のイメージが強すぎるのだと思います。
そこで、ネガティブプロンプトを使って、女性のイメージを徹底的に消してみます。修正したプロンプトは下記です。
(ネガティブプロンプトあり)mermaid + cat, full body –no lady, girl, woman
woman、lady、gril、女性を表す言葉をすべてネガティブプロンプトに含めてみました。実行結果は下図です。
▲ネガティブプロンプトを使ったことで、方向性がガラリと変わり、私が求めた絵に近い結果となりました。
このようにキメラ合成でも、ネガティブプロンプトを使うことで画像の精度を上げることができます。
>ネガティブプロンプトを使ったキメラ合成作品まとめ(記事作成中)
–noコマンドを連続して記述する方法はNG(Midjourney)
Midjourney(ミッドジャーニー)で、他の方のプロンプトを見ると、「art painting –no text –no signature –no stamp」のように「–no」コマンドを、単語の数だけ連続で使って記述する方法を見かけました。
この方法は、「–no」コマンドを1回使って記述する方法と、得られる結果は同じようです。しかし、ひとつ問題点があります。
この方法だと指定できる単語に制限がくることがあります。たくさん指定すると下記のエラーが出ました。
「–no」コマンドを1回だけ使う方法であれば何個でも単語を指定することができます。以上の理由で、指定する単語が複数の場合でも「–no」コマンドは1回だけ使用して記述する方法をおすすめします。
補足:「–no」コマンド一回の方法でも、プロンプトの文字数制限にふれた場合はエラーが出ることがあるかもしれません。
まとめ
以上、Midjourney(ミッドジャーニー)のネガティブプロンプトについて紹介しました。
>スマホやタブレットからImg2Imgを超かんたんに行う方法(記事作成中)
コメント