Stable Diffusion / CFG Scale による違い

本サイトで紹介している商品・サービス等の外部リンクには、アフィリエイト広告が含まれる場合があります。

概要

Stable Diffusion WebUI (AUTOMATIC1111 版) で画像を生成する際に使用する CFG Scale でどのように違ってくるか試しました。

CFG Scale とは

CFG Scaleは「Classifier-Free Guidance Scale」の略で、テキストの指定にどれだけ重点を置くかを制御する参数となっています。

CFG Scaleは、モデルがプロンプトにどれだけ忠実に従うか、またはどれだけ自由に創造性を発揮するかを制御するものです。例えば、「オレンジ色の美しい景色」といったテキストを入力したときに、CFG Scaleは、そのテキストが画像生成にどれだけ反映されるかを決めます。

  • 低いCFG Scaleの値は、生成結果がプロンプトにあまり固執せず、モデルの独自の創造性が主に働くようになります。
  • 高いCFG Scaleの値は、テキストに対する固執度が高まり、指定された要素が正確に反映される画像になります。

CFG Scaleの設定値とその影響

1. 低いCFG Scaleの設定

CFG Scaleが低い値に設定されている場合、生成される画像はテキストに対する固執度が低くなります。これは、比較的にモデルの独自の創造性が高い画像が生成されることを意味し、その結果、プロンプトから離れた素材や形状が含まれる可能性が高まります。例えば、「シンプルなカード」を指定したときに、これがその通りの緑のカードではなく、デザイン性を重視したアートワークになることもあります。

長所

  • モデルの独自の創造性が生きるため、創造性に富んだ結果が得られる
  • 想像の域を超えるような独特な素材も生成されやすい

短所

  • プロンプトからの乖離が大きくなり、意図した結果になりにくい
  • 各要素が正確に区分されないため、最終的な生成物が期待から外れる場合がある

2. 高いCFG Scaleの設定

CFG Scaleが高い値に設定されている場合、生成される画像はテキストに対する固執度が非常に高くなります。これは、指定されたプロンプトの内容が明確に反映される画像が生成されることを意味します。例えば、「青い空と白い雲」といった具体的なプロンプトを指定した場合、結果としてほぼその通りの画像が得られる可能性が高まります。

長所

  • プロンプトの内容が明確に反映されるため、意図した結果が得られやすい
  • 生成物の精度や一貫性が向上する

短所

  • モデルの創造性が抑制されるため、結果が単調になりやすい
  • プロンプトが具体的でない場合、生成物が不自然または不適切になることがある

CFG Scale 設定値について考察

CFG Scale の適切な設定値に関しては以下のような形が考えられます。もちろん、ほかのパラメータとのバランスも必要だと思います。

  1. 創造性を重視する場合: 比較的低めのCFG Scale (例: 5-7) を設定することで、モデルの自由度が高まり、ユニークな画像が得られます。
  2. 具体性を重視する場合: 高めのCFG Scale (例: 10-15) を設定すると、プロンプトの内容が正確に反映された画像が得られます。
  3. バランスを取る場合: 中間値 (例: 7-10) を設定することで、創造性と具体性の両方を適度に反映する結果が得られます。

CFG Scale を変えて画像生成してみる

ベースの設定

以下のページの最後で利用したものと同じ設定で行います。

  • Stability Matrix 経由 Stable Diffusion WebUI (AUTOMATIC1111 版) を使用
  • チェックポイント : yayoiMix_v25.safetensors
  • txt2img で作成
    • Prompt : a girl, high resolution, professional photography quality
    • Negative Prompt : low quality, cartoonish, painting, digital art, illustration, anime, 2D art, sketch, watercolor, flat colors, stylized, low quality, blurry focus on the subject, deformed, disfigured, grainy, overexposed, abstract
  • Sampling method : DPM++2M
  • Schedule type : Automatic
  • Sampling steps : 20
  • Hires.fix : なし
  • Refiner : なし
  • Width : 512
  • Height : 512
  • Batch count :1
  • Batch size :1
  • CFG Scale : 7
  • Seed : 1622676478

CFG Scale による違い

(画像クリックで拡大、左右カーソルキーで順番に表示できます。)

CFG Scale : 1

CFG Scale : 2

CFG Scale : 3

CFG Scale : 4

CFG Scale : 5

CFG Scale : 6

CFG Scale : 7

CFG Scale : 8

CFG Scale : 9

CFG Scale : 10

CFG Scale : 11

CFG Scale : 12

CFG Scale : 13

CFG Scale : 14

CFG Scale : 15

CFG Scale : 20

CFG Scale : 21

CFG Scale : 22

CFG Scale : 23

CFG Scale : 24

CFG Scale : 25

CFG Scale : 26

CFG Scale : 27

CFG Scale : 28

CFG Scale : 29

CFG Scale : 30

試しに Sampling Steps も増やしてみる

CFG Scale を大きくすると Sampling Steps が 20 のままだと、生成途中で終わってしまったような印象の画像になるので、Sampling Steps も増やしてみます。

CFG Scale : 30 and Sampling Steps : 50

CFG Scale : 30 and Sampling Steps : 150

Stable Diffusion WebUI (AUTOMATIC1111 版) で設定できる上限値がこれらです。
この組み合わせまで書き込みを頑張ってもらうと、十分書き込まれた感がでますが、画像生成の時間もかかりますね。

参考となれば幸いです。