この記事ではCFG Scaleを20、25といった値にしても生成される画像に破綻が起きないようにできる拡張機能Dynamic Thresholding (CFG Scale Fix)の使い方について説明します。CFG Scaleをこのような極端な値にすることは稀かと思いますが、表現方法を増やす一手段として知っておいて損はないかと思います。
またWD 1.5 Beta 3のRelease Notesではこちらの拡張機能が当たり前のように使われていますので、このモデルを試してみようという方には特に導入をお勧めします。
Dynamic Thresholding (CFG Scale Fix)とは
SDにおいてCFG Scaleは7がデフォルトで設定されています。このことから7より大きくするとプロンプトに忠実になり、7より小さくするとAIに自由度が与えられるというような話はよく聞くのではないでしょうか。しかし、7から離れすぎると絵が破綻するという経験もあるかと思います。
Dynamic Thresholding (CFG Scale Fix)とはCFG Scaleの値が7から大きく離れても絵の破綻が起きないようにしてくれる拡張機能です。
Dynamic Thresholdingの導入方法
Google Colaboratory版
%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
ローカル版
web UIを起動 → 「Extensions」タブをクリック → 「Install from URL」タブをクリック → https://github.com/mcmonkeyprojects/sd-dynamic-thresholding
と入力 → 「Install」
Dynamic Thresholdingの使い方
Dynamic ThresholdingはEnable Dynamic Thresholding (CFG Scale Fix)
にチェックを入れることで設定が展開されます。
こちらが設定を展開した状態です。
使い方はView the wiki for usage tips.
の水色線部分からWikiに飛び確認してください。一応DeepLで翻訳したものを引用形式で記載しておきます。
この拡張機能は何をするのですか?
ScaleMimickingとDynamic Percentile Clamping/Thresholdingにより、高いCFGスケールを補正し、より良く動作するようにします。(TODO:これらが何であるかについての説明)
どのように使うのですか?基本的な使い方です。
・CFG Scaleを好きなだけ高く設定する(例:30、50、…)。
・動的閾値を有効にするをチェック
・Mimic Scaleを通常の安全なスケール(例:7、10、…)に設定します。
・生成する!どのように使うのですか?上級者向けです。
Usage Tips · mcmonkeyprojects/sd-dynamic-thresholding Wiki · GitHub
・基本的な使い方と同じでスタートし、Advancedメニューを開く
・Threshold Percentileを高CFGの場合は100%、中CFGの場合は〜95%に設定します。
・スケジューラーをハーフコサインアップに設定する(ほとんどの用途に最適なスケジューラーモードです)。
・スケジューラーの最小値を3または4程度に設定します。
・生成し、楽しむ。
・必要であれば、他のモードも試してみてください。
・無限グリッドジェネレーターを使って、設定を比較するためのグリッドを作ることができます。
おまけ:CFG Scaleについて学ぶ
よく聞くCFG Scaleの説明はどうも漠然としていると感じたことはないでしょうか。この記事を書くにあたりCFG Scaleについて改めて調べ直したのですが、次の順番で読むと理解しやすと思ったので共有します。よろしければご利用ください。
コメント