こんにちは!悠です!
今回は「Stable Diffusion」で、CFG Scaleをデフォルトの7より上げても画像が破綻しにくくなる拡張機能「sd-dynamic-thresholding(CFG Scale Fix)」を紹介していきます。
この拡張機能との併用が推奨されている、「Flat-2D Animerge」というモデルデータを例にしながら使い方をまとめていきますね!
CFG Scaleとは?
AIイラストを生成する際に必ず目に入ってくる設定項目の1つがCFG Scaleです。
これは、入力したプロンプトがどの程度生成されるAIイラストに影響を与えるのか、その影響力を表す数値のことです。
数値を大きくすればするほど、プロンプトを無視した出力が減りますが、画像の色彩が変になったり構図が崩壊したりするようになります。
下げるほど画像がぼやけていきますが、生成されるAIイラストの自由度が向上するようです。
特に指定がない限り、デフォルトの7を使うのが無難だと言われています。
CFG Scaleに関しては、下記の記事がとても参考になります。

拡張機能「CFG Scale Fix」とは?
例えば今回紹介する漫画風のイラスト専用のモデルデータ「Flat-2D Animerge」では、CFG Scaleを13.5に設定することが推奨されています。
デフォルトと比べて2倍近いCFG Scaleの値なので、普通に使うと画像の色彩が崩壊気味になってしまいます。
そこで活躍するのが拡張機能「CFG Scale Fix」です。導入して拡張機能を有効にするだけで、色の問題を大幅に改善することができます。
モデルデータ「Flat-2D Animerge」を使い、CFG Scale = 13.5で「CFG Scale Fix」を有効化した場合と無効化した場合の画像を貼っておきます。なお、プロンプトやSeed値などの他の設定は全て同じです。
【CFG Scale Fix無し】
【CFG Scale Fix有り】
「CFG Scale Fix」の導入方法
Google Colaboratory版の場合
下記の方法で紹介している「maintained by Akaibu」のノートブックを使って、拡張機能「CFG Scale Fix」を導入していきます。
まだご覧になっていない方は、まず最初にこちらを準備しておいてください。


Google Driveからモデルデータを読み込むセルの下に新しくセルを作成し、下記のコードを入力してください。
#CFG Scale Fixをインストール %cd /content/stable-diffusion-webui/extensions/ !git clone https://github.com/mcmonkeyprojects/sd-dynamic-thresholding /content/stable-diffusion-webui/extensions/sd-dynamic-thresholding %cd /content/stable-diffusion-webui
WebUIを起動し、txt2imgとimg2imgのタブに「Enable Dynamic Thresholding」の項目が追加されていれば導入は成功です。
ローカル版の場合
「Extensions」→「Install from URL」の「URL for extension’s git repository」に下記のURLを入力しInstallをクリックしましょう。
https://github.com/mcmonkeyprojects/sd-dynamic-thresholding
「CFG Scale Fix」の使い方
「CFG Scale Fix」の使い方はいたって簡単で、Enable Dynamic Thresholdingにチェックを入れ、Mimic CFG Scaleに適切な値を入力しましょう。
例えばモデルデータ「Flat-2D Animerge」の場合は、Mimic CFG Scale = 4.5が推奨されています。
これで色の破綻なく、高いCFG Scaleの値を使うことができます。
まとめ
以上が「Stable Diffusion」で、CFG Scaleをデフォルトの7より上げても画像が破綻しにくくなる拡張機能「sd-dynamic-thresholding(CFG Scale Fix)」の紹介でした。
自分の使いたいモデルデータの概要欄に、高めのCFG Scaleが設定されている場合はぜひ導入してみてくださいね!
では、ここまで読んでいただきありがとうございました。
コメント
いつも参考にさせて頂いております、ありがとうございます。
ローカル版を使っているのですが、導入はできてるのになぜか表示されません。
何か原因に心当たりがありそうでしたら教えて頂けると助かります。
色々いじって再確認などを行ってみます。
これからも参考にさせていただきたいと思いますので更新がんばってください。
コメントありがとうございます!
コマンドプロンプトの部分に何かエラーが表示されていたりはしませんでしょうか?
例えばですが、WebUIのバージョンが古すぎると拡張機能が対応していないかもしれません。
バージョン(コミット)は何をお使いでしょうか?
お返事ありがとうございます。
四か月ほど前からAIartを始めてからバージョンアップをしていなかったので、いろいろいじった後、先ほどアップデートしてすべて最新版です。
今も色々やってますが表示されません。
UIで自分で表示させないといけないのかな?と名称を調べていたところです。
連投すみません。
一度再インストール等もやってみましたがやはり表示されませんでした。
他の拡張機能は問題なく表示されるのですが・・・。
あとコマンドプロンプトにはエラーらしきものはありませんでした。
ControlNet – INFO – ControlNet v1.1.224
という緑色文字(INFOだけ)というのは表示されていました。
これはエラーではないですよね?
「ControlNet – INFO – ControlNet v1.1.224」はエラーではないですね~。
導入するだけでチェックボックスは表示されるので、特別設定をいじる必要はなかったです!。
Enable Dynamic Thresholdingのチェックボックスは、txt2imgおよびimg2imgの設定欄の下に表示されるんですが、何かの拡張機能と競合して表示されなくなっているのかもしれませんね。
一応下の記事で紹介している拡張機能とは競合しないのですが、何か特殊なものを入れていたりしますでしょうか?テーマ系の拡張機能とかは怪しいかもしれません。
https://yuuyuublog.org/sd_extensions/