sd-dynamic-thresholding (CFG Scale Fix) をインストールする

sd-dynamic-thresholding (CFG Scale Fix) をインストールする手順を紹介します。

概要

次のプロンプトで、CFG Scaleを変更して画像を作成します。

Prompt
dramatic light, facing viewer, 1girl,pleated skirt,wide_landscape, upper body
Negative prompt
low quality, worst quality
Settings
Width:512, Height:768, Seed:1738398046
CFG Scale 1.0
CFG Scale 1.0 - sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像1

CFG Scale 3.0
CFG Scale 3.0 - sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像2

CFG Scale 5.0
CFG Scale 5.0 - sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像3

CFG Scale 7.0
CFG Scale 7.0 - sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像4

CFG Scale 12.0
CFG Scale 12.0 - sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像5

CFG Scale 16.0
CFG Scale 16.0 - sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像6

CFG Scale 24.0
CFG Scale 24.0 - sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像7

CFG Scale 30.0
CFG Scale 30.0 - sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像8


Web UIでは CFG Scale 7.0 がデフォルトです。
CFG Scaleが下がると、抽象的な画像になり、全体がぼやけた出力になります。一方CFG Scaleが上がると、鮮明感は増しますが、色味が変わったり、形状が崩れたり、ノイズが入ります。

CFG Scaleを上げた状態で、形状の崩れやノイズが無ければ、鮮明感の増した画像が出力できるはずです。このアイディアを実現するためのモジュールが sd-dynamic-thresholding (CFG Scale Fix) になります。

インストール手順

Web UIを表示し、[Extensions]タブをクリックします。 Extensionsタブ内の[Available]タブをクリックして選択します。下図の画面に切り替わります。
sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像9

[Load from]ボタンをクリックします。利用できるExtensionsの一覧が下部に表示されます。
sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像10

[Search]のボックスに、"threshold"を入力して検索します。"Dynamic Thresholding manipulations" の項目が表示されます。 項目の右側の[Install]ボタンをクリックします。
sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像11

インストールが始まります。
sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像12

インストールが完了すると下図の画面となります。
sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像13

[Installed]タブをクリックします。インストールされたExtensionsの一覧に "sd dynamic thresholding"の項目が追加されていることが確認できます。
[Apply and restart UI]ボタンをクリックして、UIを再起動します。
sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像14


再起動後[txt2img]の画面で下にスクロールし、[Enable Dynamic Thresholding (CFG Scale Fix)]のチェックボックスが表示されていることを確認します。
sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像15

[Enable Dynamic Thresholding (CFG Scale Fix)]のチェックボックスをクリックしてチェックをすると、下部に設定項目が表示されます。
sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像16

[Dynamic Thresholding Advanced Options]のパネルをクリックすると詳細な設定項目が表示されます。
sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像17

動作確認

同じプロンプトで、[Enable Dynamic Thresholding (CFG Scale Fix)]のチェックボックスを有効にして画像を生成します。
CFG Scaleは30とします。
sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像18

下図の画像が生成されます。色の変化や形状の崩れは減っていますが、塗り部分にノイズが残っています。 おそらく、Sampling stepsが足りていない可能性があります。
sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像19

Sampling stepsの値を増やします。50で生成した状態が下図です。塗り部分のノイズが無くなりました。
sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像20

Sampling stepsのを80で生成した結果です。CFG scale 7.0の場合と比較すると彩度は落ちてしまいますが、細かい描画ができていることが確認できます。
sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像21

パラメーター変化時の比較 1

Sampling stepの値とCFG Scaleの値を変化させたときの出力イメージを確認します。
sd-dynamic-thresholdingを利用しない場合は、CFG Scaleの値が上がると、色味に大きな変化が出ます。 このプロンプトの場合は、緑色がかる傾向です。一方で、CFG Scaleが高いほうが細かい書き込みが増えシャープ感が増しています。

sd-dynamic-thresholding なし
sd-dynamic-thresholding なし - sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像22


sd-dynamic-thresholdingを有効にした状態です。CFG Scaleが高くSampling stepが少ない出力では、塗り部分にノイズが残る画像になります。 一方で、彩度は低下しますが色味の変化は少なくなります。Samplig stepが多いとノイズは無くなります。

sd-dynamic-thresholding 有効
sd-dynamic-thresholding 有効 - sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像23


Advanced SettingsでMimic Scale Schedulerで "Cosine Up"を設定した場合の結果が下図です。
sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像24

彩度の低下は発生しますが、色味の変化は小さいです。CFG Scaleが大きいい場合は、Sampling stepが小さいとノイズが入ったり、ほとんど色の違いがない状態になってしまいます。

sd-dynamic-thresholding 有効+ Mimic Scale Scheduler:Cosine Up
sd-dynamic-thresholding 有効+ Mimic Scale Scheduler:Cosine Up - sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像25


Advanced SettingsでMimic Scale SchedulerとCFG Scale Scheduler を "Sawtooth"に設定し、 Minimum value of Mimic Scale Schedulerを15、Minimum value of CFG Scale Scheduler を4、 Scheduler Valueを30にした場合の結果が下図です。この設定は一般的に結果が良好とされる出力パラメータの範囲の値です。
sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像26

色の変化が比較的少ない状態が確認できます。

Scheduler:Sawtooth
Scheduler:Sawtooth - sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像27

パラメーター変化時の比較 2

続いて明るいカラーの場合の生成結果を確認します。

次のプロンプトで、Sampling step数とCFG Scaleの値を変化させて画像を生成します。

Prompt
vivid blue sky, flower bed,old town,cobblestone, 1girl,pleated skirt, full body, focused girl
Negative prompt
low quality, worst quality
Settings
Width:512, Height:768, Seed:1129298074, Sampling method:DPM++ SDE Karras

サンプリングステップ数とCFG Scale

sd-dynamic-thresholdingがない場合の結果です。CFGScaleが上がると、カラーが純色に近い色になり、モザイク状の表示結果になります。

sd-dynamic-thresholding なし
sd-dynamic-thresholding なし - sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像28


sd-dynamic-thresholdingを有効にした場合の出力結果です。色の変化は少なくなりますが、彩度が下がってしまいます。 また、Sampling stepの値が少ないと彩度が落ちて、色がほとんど乗りません。

sd-dynamic-thresholding 有効
sd-dynamic-thresholding 有効 - sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像29


Advanced Optionsで、Mimic Scale SchedulerとSFC Scale Schedulerを"Sawtooth"に設定します。Minumum value of the Mimic Scale Schedulerの値を"30"、 Minumum value of the CFG Scale Scheduler の値を4に設定し、Scheduler Value の値を20に設定します。

sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像30

上記条件での出力結果が下図になります。色変化がかなり抑えられています。CFG Scaleが高い場合では、Step数が少ないと出力がやや不安定な印象です。
左上に比べて、右下のほうが背景の花壇の花のバリエーションが多く、複雑性が出ていることが確認できます。CFG Scaleが低いと花壇の表現がやや単調です。
sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像31

Scheduler Value

次に、Scheduler Valueの値を変更してみます。Sampling stepは150固定としています。Mimic Scale SchedulerとSFC Scale Schedulerは"Sawtooth"に設定しています。
Scheduler Valueの値が低いとやや複雑さが減ります。Scheduler Valueの値が大きくなると複雑さが増します。 下図の画像では、ベランダに飾られている花を見ると違いがわかります。Scheduler Valueの値が10ではベランダに花がありませんが、20以上ではベランダに花が配置されています。 また、花壇の花のバリエーションも複雑になっています。とはいえ、20以上ではそれほど大きな違いが無いこともわかります。

Scheduler Value:0
Scheduler Value:0 - sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像32

Scheduler Value:10
Scheduler Value:10 - sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像33

Scheduler Value:20
Scheduler Value:20 - sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像34

Scheduler Value:30
Scheduler Value:30 - sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像35

Scheduler Value:40
Scheduler Value:40 - sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像36

Minimum value of the Mimic Scale Scheduler と Minimum value of the CFG Scale Scheduler

Minimum value of the Mimic Scale Scheduler と Minimum value of the CFG Scale Schedulerを変化させて画像を生成します。
Sampling stepは150固定、Scheduler Valueは30固定としています。Mimic Scale SchedulerとSFC Scale Schedulerは"Sawtooth"に設定しています。

Minimum value of the Mimic Scale Schedulerの値が低いと彩度が落ちてしまうことが確認できます。 また、Minimum value of the CFG Scale Schedulerは値が小さい場合に若干彩度が落ち、 4から5の値で彩度がやや上がり、さらに大きくなると彩度が落ちる傾向にあることがわかります。
元の画像のカラーを維持する場合は、Minimum value of the Mimic Scale Schedulerの値は20以上に設定し、 Minimum value of the CFG Scale Schedulerは3から5程度に設定するのが適切であることが わかります。

sd-dynamic-thresholding (CFG Scale Fix) をインストールする:画像37

AuthorPortraitAlt
著者
iPentecのメインデザイナー
Webページ、Webクリエイティブのデザインを担当。PhotoshopやIllustratorの作業もする。 最近は生成AIの画像生成の沼に沈んでいる。
作成日: 2023-07-22