電通総研 テックブログ

電通総研が運営する技術ブログ

Stable Diffusion 2.0-美少女イラスト

電通国際情報サービス、オープンイノベーションラボの比嘉康雄です。 Stable Diffusionシリーズ、今回は、Stable Diffusion 2.0-美少女イラストです。

Stable Diffusionも2.0になったので、もう一度検証し直します。

Stable Diffusionのおすすめコンテンツはこちら。

AUTOMATIC 1111のインストール

Stable Diffusion 2.0を実行する環境として、AUTOMATIC 1111を使います。

AUTOMATIC 1111は、Stable DiffusionGoogle Colab直接ではなく、UI経由で実行できるようにしています。似たような機能のものはいくつかありますが、AUTOMATIC 1111が最も人気があるので、今回からこれを使います。

Google Colabで動かすためのノートブックはこちらになります。

このノートブックを実行すると、下の方に

Running on public URL: https://2c76db068be0e79a.gradio.app

のようなURLのリンクが表示されるので、クリックしましょう。

Colab Proの通常メモリでは、メモリが足りなくなることがありました。そのような場合は、Google Driveにコピーしてハイメモリにしましょう。

AUTOMATIC 1111のセッティング

パラメータは以下のようになります。

  • Sampling Steps: 50
  • Sampling Method: DPM2
  • Width: 768
  • Height: 768
  • CFG Scale: 7.5
  • Seed: -1

Sampling Stepsは、デフォルトの20だと少ないので、50くらいにしておきましょう。

Sampling MethodはDPM2をお勧めしますが、DDIMも悪くはありません。それ以外は、描く対象によりますが、あまりお勧めしません。

WidthHeight768をお勧めします。Stable Diffusion 2.0のモデルの768-v-ema.ckptは、768用のためです。512だとかを使うと画像が崩れることがあります。

CFG Scaleは入力した呪文にどれだけ近い画像を生成するかのパラメータです。デフォルトの7でも問題ありませんが、僕はなんとなく7.5を指定しています。

呪文の基本ルール

以前よりも僕自身、呪文(prompt)の基本ルールがわかってきたので、お伝えします。経験則的な側面が強いですが、たぶん、あっていると思います。

  • トークンは75まで。
  • カンマ(,)は必要がない。カンマもトークンの一つとしてカウントされるので、ないほうが良い。
  • 前の方にあるトークンの方が出力結果に与える影響が大きい。
  • 冠詞(a, an, theなど)は必要がない。
  • 近くにあるトークンは影響を受ける。後ろにあるトークンも前のトークンに影響を与える。
  • トークンとトークンの間のトークン数が多くなると、トークンの影響は少なくなる。

呪文はトークンに分解されます。トークンは基本的には、単語だと思って大丈夫ですが、Stable Diffusionが知らないトークンは、一つの単語が複数のトークンに分解されることもあります。例えば、pixivは、pixivの2つのトークンになります。

「後ろにあるトークンも前のトークンに影響を与える」というのは、これまで、なんとなく感じていたけど、言語化できていなかった部分ではないでしょうか。

例えば、apple on tableだと赤いリンゴがほとんどです。しかし、apple on yellow tableだと黄色のりんごになる確率が増えます。

トークンとトークンの間のトークン数が多くなると、トークンの影響は少なくなります。 例えば、apple on yellow tableだと黄色になるリンゴもありますが、apple on a a a a a a a a a a a a a a a a a a yellow tableだと、黄色になるリンゴの確率はかなり減ります。

美少女イラストの呪文

それでは、呪文の基本ルールをふまえた、Stable Diffusion 2.0で検証済みの美少女イラストの呪文を紹介します。

beautiful princess beautiful face beautiful hair beautiful clothes artstation fantasy scene fantasy composition fantasy lighting octane render

閲覧用改行版

beautiful princess
beautiful face
beautiful hair beautiful clothes
artstation
fantasy scene fantasy composition fantasy lighting
octane render

出力結果の例です。

これは、厳選したものではなく、連発できます。それでは、呪文の中身を解説しましょう。

beautiful princess

これまで、美少女を描画するときは、beautiful girlを指定していたのですが、これをbeautiful princessに変えました。これがかなり効果的で、美少女になる確率がかなり高くなりました。

beautiful face

美少女率を上げるためには、beautiful faceはあったほうが良いです。

beautiful hair beautiful clothes

この呪文は、それほど大した意味はないのですが、前のfaceと次のartstationとの距離をあけるために指定しています。artstationはアートの投稿サイトなので、faceartstationが近くにあると、faceに過剰に色がつくなどartstationの影響をうけることがあります。

hairclothesは、artstationの影響を受けてもそれほど問題はないので、緩衝材にぴったりです。

artstation

artstationは、art(イラスト)の投稿サイトです。artstationを指定することで、出力結果がイラストになります。

また、artstationを指定することで、出力される画像のクオリティが上がります。

fantasy scene fantasy composition fantasy lighting

シーン(scene)、構図(composition)、ライティング(lighting)は指定しておきましょう。指定しないと人物だけの単純な画像になることがあります。

修飾語は好みで構いません。fantasyは美少女と相性の良い修飾語です。princessfacehairclothesなどに悪影響を与えることもありません。

octane render

octane renderを指定すると画像が多少立体的になります。二次元が好きな方は外してください。

v1.5

v1.5で下記のパラメータで実行してみました。WidthHeight512に変えただけです。

  • Sampling Steps: 50
  • Sampling Method: DPM2
  • Width: 512
  • Height: 512
  • CFG Scale: 7.5
  • Seed: -1

v1.5でも、良い結果が連発できました。呪文が改善されたことと、Sampling MethodDDIMからDPM2にしたことが良い結果につながったのかもしれません。

比べてみるとv2.0のほうが、質感が増しているのがわかります。

v1.5の出力結果はこちら。

まとめ

今回は、Stable Diffusion 2.0の美少女イラストの呪文を紹介しました。

v1.4v1.5の違いはあまりなかったのですが、v2.0では画像の質感が増し、明らかに良くなったと思います。みなさんもぜひ試してください。

仲間募集

私たちは同じグループで共に働いていただける仲間を募集しています。
現在、以下のような職種を募集しています。

Stable Diffusionの全コンテンツ

執筆:@higa、レビュー:Ishizawa Kento (@kent)Shodoで執筆されました