![](https://ikuriblog.com/wp-content/uploads/2023/05/Stable-Diffusion-1-3-1024x576.jpg)
画像生成をしていて、異なるモデルやパラーメータを比較したいと思ったことはないでしょうか?
通常モデルごとに画像生成をしたいとき、モデルを切り替えて1枚ずつ生成する必要があります。
しかし、「X/Y/Z plot」を使えば異なるモデルを一度に試すことができます。
今回はこの「X/Y/Z plot」の使い方について、詳しく解説します。
値やモデルによる変化を一度に検証したいという方は、ぜひ参考にしてみてください。
- モデルやパラメータで結果を比較したい
- X/Y/Z plotの使い方がしりたい
- どんなパラメータが使えるのかしりたい
「X/Y/Z plot」はStable Diffusion Web UIで使える機能です。
まだインストールしていない方はこちらの記事を参考にしてみてください。
Stable Difussion Web UI「X/Y/Z plot」とは?
X/Y/Z plotは、モデルやパラーメータの違いを一度に検証できる機能です。
検証したいパラーメータを選び、値やモデルによる変化を確認できます。
またX・Y・Zにそれぞれのパラーメータを指定できるため、異なるパラメータの変化を同時に検証することも可能です。
Stable Difussion Web UI「X/Y/Z plot」の使い方
実際にX/Y/Z plotを使う方法について解説します。
まず画面左下にある「Script」から「X/Y/Z plot」を選択します。
![](https://ikuriblog.com/wp-content/uploads/2023/05/image-151.png)
そうするとこのような画面が表示され、ここでX・Y・Z軸それぞれにパラメータを設定したり、オプションの有無を選択したりできます。
![](https://ikuriblog.com/wp-content/uploads/2023/05/image-152-1024x286.png)
X Type/X values
「X Type/X values」はX軸(横)に画像を並べて、変化を確認できる機能です。
例えば使用モデルを変えて画像を比較したいときは、「X Type」で「Checkpoint name」を選択します。
![](https://ikuriblog.com/wp-content/uploads/2023/05/image-142.png)
「X values」で比較したいモデルを全て選択します。
![](https://ikuriblog.com/wp-content/uploads/2023/05/image-143.png)
これで画像を生成すると、選択したモデルごとに画像が横並びで出力されます。
![](https://ikuriblog.com/wp-content/uploads/2023/05/image-144-1024x444.jpg)
Y Type/Y values
「Y Type/Y values」は、Y軸(縦)に画像を並べて変化を確認できる機能です。
例えばSampling stepsの値による変化を確認したい場合は、「Y type」でStepsを選択します。
![](https://ikuriblog.com/wp-content/uploads/2023/05/image-144.png)
「Y values」には値をカンマ区切りで入力していきます。
![](https://ikuriblog.com/wp-content/uploads/2023/05/image-145.png)
これで画像生成をすると、Sampling stepsの違いを縦に並べて確認ができます。
![](https://ikuriblog.com/wp-content/uploads/2023/05/image-146.jpg)
X・Y Type/X・Y values
X・Yにそれぞれ別のパラーメータを設定して変化を確認することもできます。
Xにはモデル、YにはSampling stepsを指定すると、それぞれのパラーメータを組み合わせて、マトリックス(行列)で画像生成が可能です。
![](https://ikuriblog.com/wp-content/uploads/2023/05/image-146-1.jpg)
Z Type/Z values
ZはX・Yで生成される画像に対して、他のパラーメータの違いを確認できるものです。
X・Yで生成される画像そのものにZで他のパラーメータが指定可能です。
※Xはモデル、YはSampling steps、ZはClip skip
![](https://ikuriblog.com/wp-content/uploads/2023/05/image-146-2-1024x350.jpg)
値の入力方法
値を指定するとき、簡単に書ける方法がいくつかあるのでご紹介します。
値を範囲で指定する
例えば値を「1,2,3,4,5」と入力したいとき、「1-5」のように書き換えることができます。
最小値と最大値の間にハイフンを入れると、範囲内の値が順番に入力されます。
範囲内で増減した値を指定する
例えば1-10(+2)とすると、範囲内で最小値から+2ずつ加算した値のみ抽出されます。
例)1-10(+2) = 1,3,5,7,9
マイナスや少数点を使うこともできます。
例)15-10(-2) = 15,13,11
例)1+3(0.5) = 1,1.5,2,2.5,3
範囲内から指定した数だけ値を抽出
例えば1-10[5]とすると、範囲内から1と10を含む5つの値が抽出されます。
例)1-10[5] = 1,3,5,7,10
例)10-30[4] = 10,16,23,30
例)10-30[5] = 10,15,20,25,30
入力する値が多いと1つずつカンマで区切るのは大変なので、覚えておくと入力が簡単です。
X/Y/Z plotで設定できるオプション
X/Y/Z plotで使用できるオプションについて解説します。
Draw legend
使用したパラーメータを画像に表記するかどうかです。
チェックが入っていると結果に使用したパラーメータが表記されます。
チェックを外すと表記がなくなります。
![](https://ikuriblog.com/wp-content/uploads/2023/05/xyz_grid-0023-2270494815.jpg)
Keep -1 for seeds
X/Y/Z plotでは最初に与えられたシード値を固定して画像が生成されます。
これにより同じキャラクターやポーズで、パラーメータを変化させた結果が確認できます。
ただ「Keep -1 for seeds」にチェックを入れるとシード値「-1」を保持するため、全ての画像がランダムに生成されます。
Include Sub Images
チェックを入れない状態だと、比較した生成結果だけが表示されます。
チェックを入れると、それぞれ個別の生成結果も表示できます。
![](https://ikuriblog.com/wp-content/uploads/2023/05/image-148.png)
Include Sub Grids
比較結果のサブ画像が生成できます。
![](https://ikuriblog.com/wp-content/uploads/2023/05/image-149.png)
名前は変わりますがサイズがほぼ同じだったので、用途はよくわかりませんでした。
Grid margins (px)
マトリックスの間に余白を入れられる機能です。
指定した値(px)だけ余白が入ります。
![](https://ikuriblog.com/wp-content/uploads/2023/05/xyz_grid-0004-238569601-1024x388.jpg)
X/Y/Z plotで比較できるパラーメータ一
X/Y/Z plotで設定できるパラーメータをご紹介します。
具体的な使い方がわからなかったものもあったので、紹介しているのは一部です。
Seed
シード値による比較ができるパラーメータです。
![](https://ikuriblog.com/wp-content/uploads/2023/05/image-151-1024x389.jpg)
Steps
StepsはSampling stepsの比較ができるパラーメータです。
ノイズの追加と除去の工程を何回行うか指定できます。
一般的にSampling stepsの値が大きい方が、画像の破綻は少なくできると言われています。
![](https://ikuriblog.com/wp-content/uploads/2023/05/image-151-3-1024x393.jpg)
Hires steps(Hires.fix使用時のみ反映)
Hires.fixでノイズを除去する回数を比較できるパラーメータです。
![](https://ikuriblog.com/wp-content/uploads/2023/05/image-151-4-1024x394.jpg)
CFG Scale
CFG Scaleはプロンプトの内容にどれだけ従うか制御できるパラーメータです。
値が小さいほどプロンプトの影響が弱く、大きいと強くなると言われています。
![](https://ikuriblog.com/wp-content/uploads/2023/05/image-151-5-1024x389.jpg)
Sampler
Sampling methodの比較ができるパラーメータです。
![](https://ikuriblog.com/wp-content/uploads/2023/05/image-151-8-1024x389.jpg)
Checkpoint name
使用するモデルを比較できるパラーメータです。
![](https://ikuriblog.com/wp-content/uploads/2023/05/image-144-1024x444.jpg)
Clip skip
Clip skipは最後から何枚目のレイヤーを使用するか選択できるものです。
簡単に言うとプロンプトの影響率などが変わります。
![](https://ikuriblog.com/wp-content/uploads/2023/05/image-151-6-1024x394.jpg)
Clip skipについてはこちらの記事も参考にしてみてください
Denoising(Hires.fix使用時のみ反映)
Hires.fixで使用できるノイズ除去の強度を比較できます。
![](https://ikuriblog.com/wp-content/uploads/2023/05/image-151-2-1024x394.jpg)
Hires upscaler(Hires.fix使用時のみ反映)
Hires.fixで使用するupscalerを比較できます。
![](https://ikuriblog.com/wp-content/uploads/2023/05/image-151-1-1024x436.jpg)
VAE
VAEは「Variational Autoencoder(変分オートエンコーダー)」の略称で、ディープラーニングで生成されたモデルの一種です。
VAEにはさまざまなモデルがあり、使用するVAEによって生成結果が異なります。
![](https://ikuriblog.com/wp-content/uploads/2023/05/image-151-12-1024x426.jpg)
【Stable Diffusion】VAEとは何か?導入方法や効果について解説!
Styles
Style機能で保存したプロンプトを比較できるパラーメータです。
![](https://ikuriblog.com/wp-content/uploads/2023/05/image-151-13-1024x394.jpg)
Prompt S/Rの使い方
Prompt S/Rもパラメータの1つですが、他のパラメータと少し仕様が異なるため、分けてご紹介します。
Prompt S/RはSがSearch、Rがreplaceの意味で、プロンプトの一部を検索/置換できる機能です。
例えば以下のように「1girl, spring」と入力されていた場合、springの部分を別のプロンプトに置き換えて生成できます。
![](https://ikuriblog.com/wp-content/uploads/2023/05/image-146.png)
1girl,spring
X typeでPrompt S/Rを選択し、X valuesに変換元のプロンプトを書きます。
そのあとにカンマ区切りで別の要素を指定すれば、最初に書いたプロンプトが置換され、順に生成されます。
![](https://ikuriblog.com/wp-content/uploads/2023/05/image-147-1024x94.png)
spring,summer,autumn,winter
![](https://ikuriblog.com/wp-content/uploads/2023/05/image-148-1024x294.jpg)
入力したプロンプトの一部を別のプロンプトに置き換えて画像生成したいときに便利です。
Prompt orderの使い方
Prompt orderも他のパラメータと少し扱いが異なります。
これはPrompt orderに入力したプロンプトを並び替えられる機能です。
例えばプロンプトにdog,cat,hamsterと入力して、Prompt orderにも同じものを入力します。
そうするとプロンプトが並び替えられて、以下6通りの結果が得られます。
- dog,cat,hamster
- dog,hamster,cat
- cat,dog,hamster
- cat,hamster,dog
- hamster,dog,cat
- hamster,cat,dog
なお、Prompt orderに入力したプロンプトのみ並び替えられるため、他の要素は維持したまま結果を得ることも可能です。
例えば以下のようにプロンプトを入力します。
country,morning,summer,best quality,masterpiece,ultra high res
Prompt orderには「country,morning,summer」の3つだけを入力します。
こうすると「best quality,masterpiece,ultra high res」は保持したまま、「country,morning,summer」のみ並び替えた結果が得られます。
![](https://ikuriblog.com/wp-content/uploads/2023/05/image-151-15-1024x196.jpg)
「X/Y/Z plot」の使い方まとめ
今回はStable Diffusion Web UIの「X/Y/Z plot」について解説しました。
- Stable Difussion Web UI「X/Y/Z plot」とは?
- Stable Difussion Web UI「X/Y/Z plot」の使い方
- 値を効率良く入力する方法
- X/Y/Z plotで設定できるオプション
- X/Y/Z plotで比較できるパラーメータ一覧
- Prompt S/Rの使い方
- Prompt orderの使い方
「X/Y/Z plot」を使うと画像生成効率が大幅に向上します。
単純に1回の生成で得られる結果が多いため、理想のモデルや値が見つけやすいです。
またこのように比較画像を生成していると、パラメータによる影響や、画像の些細な変化などにも気づけるようになります。
より画像生成が楽しめるようになるので、ぜひ使ってみてください。
コメント