こんばんは、スタジオ真榊です。今回はStableDiffusionWebUI上で生成結果の比較実験ができる機能「XYZ plot」に関する解説記事をお届けします。(※2023年3月配信のアーカイブ記事「XYZ plotで初めてのモデルと仲良くなろう!」の内容をアップデートしたものです)
入手したばかりのモデルはどんなクォリティタグが効くのか、どんなステップやスケール、サンプラーを選んだら自分好みのイラストが生成できるかがよく分からないため、思い通りの画像生成ができず、結局普段のモデルに戻ってしまった…ということがよくあります。Civitaiなどではモデルの公開者がオススメ設定を書いてくれていることが多いですが、XYZ Plotを使って最も自分好みに動いてくれるスケールやステップ、サンプラーの「スイートスポット」を探すことで、さらに実力を引き出すことができます。
この記事では、XYZ Plotの基本的な使い方をはじめ、初めてダウンロードしたモデル(Checkpoint)や自分でマージしたオリジナルモデルの最適設定を探るため、入力値をコピペして放っておくだけで各種比較実験が完了できるオススメのルーチン設定などを紹介していきます。
XYZプロットの基本
XYZプロットは、A1111版やForgeなどのStableDiffusion Web UIに標準搭載されている機能で、最大で3つの次元(X軸、Y軸、Z軸)のパラメータを同時に組み合わせて画像生成を比較することができます。異なるモデルやステップ、サンプラー、プロンプトなどの組み合わせを自由に「総当たり」することができるため、そのモデルに最適な設定をビジュアライズできるのが特徴です。
WebUIの生成画面の一番下にあるプルダウンメニューから「X/Y/Z Plot」を選択すると、こちらの画面が現れます。(※以下、日本語化環境によって表示が異なる点にご注意下さい)

「X軸(横軸)」と「Y軸(縦軸)」に比較したいSeed値や学習モデルなどを入れた状態で生成開始すると、それぞれの組み合わせを総当たりで生成し、下図のように凡例(比較一覧画像)を生成してくれます。上のスクリーンショットでは、Stepを10と20、CFGスケールを4~7までの整数で指定していますので、それぞれの画像と一緒にこのような凡例が出力されます。

必ずしも複数軸を組み合わせる必要はなく、X軸だけ、Y軸だけにパラメータを設定しても、問題なく比較生成を行うことができます(Xなら横一列、Yなら縦一列に画像が並びます)。「凡例を描画」のチェックを外すと、一覧画像は作られず、全ての組み合わせの画像だけが保存されます。
「凡例を描画」するときは「サブ画像を含める」にもチェックしておきましょう。こうしないと、UI右側の生成結果画面に各生成画像が表示されず、凡例画像だけが表示されます(内部的には指定フォルダに生成・出力されています)
比較可能なパラメータ
XYZ軸に入力できる主な設定値は次のようなものがあります。
なし:その軸を使わない場合は「なし」を選ぶ
Seed: シード値
Steps: 生成ステップ数
Prompt S/R: プロンプト置換。プロンプトの一部を指定したものに置き換えできる
Sampler: サンプラー
Scheduler: スケジューラー
Checkpoint名: 使用するモデル
CFG Scale: CFGスケール値
Hires upscaler: 高解像度補助(Hires)アップスケーラー
Hires steps: 高解像度補助(Hires)ステップ数
Clip skip: CLIPスキップ値
ノイズ除去: ノイズ除去強度
Prompt order: プロンプトの順序変更
VAE: 使用するVAEを切り替える。主にキャンバス全体の彩度に影響する
これらに加え、webUIにインストールしたさまざまな拡張機能のパラメータも追加されていくため、環境によって入力できる設定値はさまざま。webUIによって、設定できる数値に差がある点にも注意が必要です(例えば、ForgeではControlnetのパラメータを比較生成することができません)
基本は"XYのみ"で考えよう
最初はZ軸のことは忘れて、「横軸X/縦軸Yの二次元で総当たりできる機能」と理解したほうが早いです。実際、この機能は当初は「XY plot」という名前の機能でした。Z軸にパラメータを指定すると、そのXYの組み合わせ表をさらにZ軸の個数だけ作ることになります。
例えば、横軸Xにステップ、縦軸Xにスケールを3種類設定したとすると、3×3で9枚の画像からなる比較表が生成されます。さらに、Z軸にサンプラーを3種類指定すると、さきほどの3×3のステップ/スケール比較表がサンプラーA、B、Cで3つ生成されることになり、計27枚の画像が生成されるわけです。
3軸掛け合わせるとすぐに膨大な生成枚数になってしまいますから、実際は1軸か2軸で比較することがほとんどです。
パラメータと値の入力方法
試したいパラメータを軸ごとに選んだら、すぐ右側の欄に比較したい数値を半角カンマ「,」もしくは半角ハイフン「-」で区切って入力します。例えば、スケールを選んで入力欄に「5,6,7,8」と入れると、順番にスケール5~8の4つの画像が(スケール値以外はそのままで)生成されます。
ハイフン(-)で整数をつないだ場合、その間の全ての整数が選択されます。つまり「5-8」と「5,6,7,8」は同じ意味ということです。
他にもこのような特殊入力法がありますが、滅多に使わないので覚えなくてもOK。

【例】
5-20(+5) 5から20までの間、5刻みで増やす。つまり5,10,15,20と同じ意味
5-9[3] 5から9までの間で、3つ分整数を採用する。つまり「5,7,9」となる
【注意】最後の数字のあとには「,」を入れないようにしましょう。AIが「空欄」を指示されたと勘違いして、もう一枚余計な画像が生成されます。逆に言えば、わざと「,」を入れることで、その設定値を空白にしたケースと比較することも可能です。




