【Stable Diffusion】CFG Scale

  • URLをコピーしました!
目次

Stable Diffusion

前回、Stabel DiffusionのSampling method、Schedule type、Sampling stepsをいじってみました。

今回はStable DiffusionのCFG Scaleをいじってみましょう。

それでは始めていきましょう。

CFG Scale

まずはCFG ScaleがWeb UIのどこにあるか確認してみましょう。

ページ中頃から少し下で、WidthやHeightの下にありました。

CFG Scaleは「classifier-free guidance」の略で、プロンプトにどれだけ忠実に従うかというパラメータです。

前々回の下の記事の際にも少しお話ししましたが、プロンプトは絶対的なものではなく、プロンプトに加えても画像に出てこない場合もあります。

その際にいじるのがプロンプトの順番だったり、今回紹介するCFG Scaleというわけです。

CFG Scaleを低くするとプロンプトによる影響度が下がり、ある程度従いはするものの、無理なところは無視したり、自由な解釈をして画像を生成します。

言うなればあるリクエストに対してStable Diffusionが創造性を働かせて、自分なりの解釈をして画像を生成すると言った感じです。

逆にCFG Scaleを高くするとプロンプトの影響度が上がり、何がなんでもプロンプトに従おうとします。

プロンプトに従うからと言って、自分が思った通りの画像が生成されるかというとそうではなくて、プロンプトに従おうとする余り画像がチグハグになったり、最悪の場合、見るも無惨なめちゃくちゃな絵になることもあります。

ちなみにStable Diffusionのデフォルト値は「7」です。

またblue_pencil-XLでは「3」がよく使われています。

つまり大体のチェックポイントでは「7」くらいがよくて、blue_pencil-XLでは創造性を高くして「3」にしていると言った感じでしょうか。

それでは色々と試してみましょう。

実際にいじってみる

まずどこまで忠実に再現されるのか見るために、プロンプトはこれまでよりも多いこんな感じを準備してみました。

Prompt: 1girl, solo, long hair, silver hair, blue eyes, smiling, from above, upper body, brown long coat, red tie, light pink sweater, standing, hand in own hair, watch on right arm, school, no window, door, indoor, clock

一人の女の子で、髪はロングでシルバー、目は青色、笑っていて、上から見ている感じで、上半身をメイン、茶色のロングのコート、赤いネクタイ、淡いピンクのセータを着ていて、立っている、髪をかき上げていて、右手には時計をしている、学校で、窓がなく、ドアがあり、室内、壁掛け時計がある

と言った感じです。

前回色々いじったサンプリングのパラメータはこんな感じです。

Sampling method: DPM++ 2M SDE
Schedule type: Karras
Sampling steps: 30

ちなみに今回は生成する画像サイズを768 x 768に大きくしています(前回は512 x 512)。

あとはCFG scaleを色々変えてどんな画像が生成されるか見てみましょう。

まずはStable Diffusionのデフォルト値である「7」です。

ドアの取手が枠にあったり、右手に時計をしていなかったり、壁掛け時計がなかったりしますが、これを基準としましょう。

先ほどのプロンプトで再現されていないものを赤字にしてみました。

1girl, solo, long hair, silver hair, blue eyes, smiling, from above, upper body, brown long coat, red tie, light pink sweater, standing, hand in own hair, watch on right arm, school, no window, door, indoor, clock

ドアはちょっと再現されているかというとかなり微妙な線ですが、まぁよしとしましょう。

次にblue_pencil-XLでよく使われる「3」です。

プロンプトの内、再現できていないものを赤字にしました。

1girl, solo, long hair, silver hair, blue eyes, smiling, from above, upper body, brown long coat, red tie, light pink sweater, standing, hand in own hair, watch on right arm, school, no window, door, indoor, clock

またドアの形状が微妙ですが、ほとんどのことは忠実に再現してくれました。

次は最低の「1」にしてみます。

画風がガラッと変わって、実写に近くなりました。

再現できなかったプロンプトを赤字にしてみるとこんな感じです。

1girl, solo, long hair, silver hair, blue eyes, smiling, from above, upper body, brown long coat, red tie, light pink sweater, standing, hand in own hair, watch on right arm, school, no window, door, indoor, clock

CFG scaleを下げるとよりプロンプトの影響が下がるとのことでしたが、今回の場合はより忠実になった気がします。

もしかしたら創造性を増したために、壁掛け時計をうまく配置できたのかもしれません。

次は逆に大きくしてみて「10」にしてみます。

ハレーション起こしてしまったかのような画像になってしまいました。

一応、再現できなかったプロンプトを赤字にしてみますが、余り当てにならないでしょう。

1girl, solo, long hair, silver hair, blue eyes, smiling, from above, upper body, brown long coat, red tie, light pink sweater, standing, hand in own hair, watch on right arm, school, no window, door, indoor, clock

最後にもっと大きくして「15」としてみます。

色使いがぶっとびました。

とは言え、壁掛け時計はあるし、左手ですが時計をしているということでなんとかプロンプトに忠実な画像を生成した努力は見えます。

1girl, solo, long hair, silver hair, blue eyes, smiling, from above, upper body, brown long coat, red tie, light pink sweater, standing, hand in own hair, watch on right arm, school, no window, door, indoor, clock

今回の結果からすると少なくともblue_pencil-XLではCFG scaleは小さめの方が良い画像を生成してくれそうということになりました。

もちろんチェックポイントが変われば多少は変わるでしょうが、デフォルトの7から下をメインで探していけばいいのでは無いかと思います。

次回はStable DiffusionのHires. fixを試してみましょう。

ではでは今回はこんな感じで。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

目次