『Stable Diffusion web UI』背景/風景におけるSampling methodのオススメは?

前回の続きになります。
まだの方は前回記事から読んでいただけるとありがたいです。

今回の記事で、私が今後の風景画像でメインで使っていくSampling methodを決めようと思います。

目次

サンプリングメソッド(Sampling method)とは

stable diffusionの確率分布からサンプルを抽出するために使用されるメソッド(手法)のこと。
同じ母集団(modelとseed値)を使っていても、サンプリングメソッドの違いで出力される構図が異なるということもあります。

記事現在、『Stable Diffusion web UI』にはデフォルトで20種類のサンプリングメソッドがありますが、実は厳密にはサンプル抽出手法としてはそこまで多く枝分かれしてるわけではなく、抽出後の動作が多少異なる程度の差のメソッドも多いようです。

今回の記事では、各サンプリングメソッドによって実際にどの程度の差が出るのかを見ながら、今後自分がメインで使うサンプリングメソッドを決めていきたいと思います。

サンプリングメソッド 全20種 比較

使用した諸条件

・model:chilled_re-generic_v2(自分でマージ)
こちらは、CivitAIでも検索で出るのですが、由来が確かではないので今回は自分でマージする方法で行いました。
マージのやり方は以下のサイトを参考にさせて頂きました。


・VAE:vae-ft-mse-840000-ema-pruned

・Sampling steps:40

・解像度:1200×512(少し平たくしました)

・ハイレゾ設定等:なし(デフォルト)

・CFG Scale:7(デフォルト)

・seed:1580051020
比較検証のために今回はseed固定します。

・prompt:前回の使いまわし
優先

(((under the ocean))),best quality,insanely detailed,under sea,sunlight,castle,very beautiful  landscape, extremely detailed,amazing landscape,(((bottomless))),(around blue water),photograph,hyper realistic,High angle shot,blue and white,fantasy

ネガティブ

lowres,low quality,((sky)),((air)),(( water surface)),ceiling,beach,bottom,((cave))


全20種類なので、サクっと見ていきましょう。
今回、処理速度に関する比較は行っていないのでご了承下さい。
隣にある数値は、画像サイズです(基準値1000KBからの上下で表示)。
必ずではないですが、画像が簡素になってサイズが低くなってるケースは多いと思います。
ちなみに同じ設定、サンプルメソッド、seedでも生成される画像サイズは微妙に異なります(数kb程度)。
この場合の絵柄の違いは(人間の目では)変わらないと思います。

比較画像(20種)

Euler a +27KB

今までメインで使っていました。
柔らかい光の表現が特徴。

Euler +115KB

結構かわりますね。
今回はこちらの方が多数派でベースになります。
全体的にリッチに。上部の海面が特に顕著です。

LMS +106KB

Eulerをほぼ踏襲(塔の部分など、細かな差異)

Heun +98KB

DPM2 +82KB

DPM2 a -41KB

かなりデザインが変わりました。
城よりも、上部の波デザインがなくなって簡素になっているのが気になります。
40stepでは良さを発揮できないサンプリングメソッドなのかも。

DPM++2S a -25KB

同上。

DPM++2M +108KB

DPM++SDE -130KB

構図が変わってしまったので比較できず。
ただpromptをきちんと理解できていない気がします。

DPM fast +18KB

新しい構図。
波表現が弱いのが気になります。

DPM adaptive -40KB

綺麗ですが、完全に地上。

LMS Karras +107KB

DPM2 Karras +94KB

DPM2 a Karras -38KB

Karrasでも「a」が付くと簡素化してしまう?

DPM++2S a Karras -42KB

DPM++2M Karras +99KB

DPM++SDE Karras -124KB

SDEは独特なpromptの読み方してる印象。

DDIM +140KB

今回の比較でサイズNO1。
重ければいいってわけではないですが、海面付近を漂う魚を表現しようとしています。
城も気持ち豪華(たまたま?)

PLMS +117KB

城の間の植物が復活。

UniPC +97KB

比較まとめ

メソッド名Fサイズ同一性評価
ABCDEFG
Euler a27KB独自性がある。
Euler115KBベース
LMS106KB同等
Heun98KB同等
DPM282KB同等
DPM2 a▲41KB大幅に描写減
DPM++2S a▲25KB大幅に描写減
DPM++2M108KBEulerより僅かに簡素化
DPM++SDE▲130KBprompt理解不足
DPM fast18KBやや簡素化
DPM adaptive▲40KB大幅に描写減
LMS Karras107KB同等
DPM2 Karras94KB同等
DPM2 a Karras▲38KB大幅に描写減
DPM++2S a Karras▲42KB大幅に描写減
DPM++2M Karras99KB同等
DPM++SDE Karras▲124KBprompt理解不足
DDIM140KBベースより向上
PLMS117KBベースより向上
UniPC97KB同等

気になるのは「同一性」(同じ構図の絵と認識できるか?)です。
こうして並べてみるとa系、SDE系、fast、adaptiveは全体構図が変化しているのが分かります。
逆に言うと、それ以外は今回のケースではほぼ同一構図が出力されています。
構図の変更自体が悪いとはいわないのですが、構図が変わったものは、今回に関していえばクォリティが下がっている現状があります。

結局、風景画のサンプリングメソッドに何を選ぶのか?

まず前提として、人物イラストと、風景のみではメソッドの取捨選択はかなり変わってくると思います。
風景の場合は人物(の表情)のような細かい機微は必要ない代わりに、光源の扱いや、ディティールの表現等が重視されますので。
今回でいうと、「波の表現」「光の表現」等が絵全体に大きく影響を出すことになります。

今回の比較は1つの条件のみではありますが、他に指標もないので、DDIM」「PLMS」をメインで使おうかと考えています。
ただ、promptにandが使えないらしいので、このあたりがpromptの作成に大きく影響を与えそうであれば、「Euler」や「DPM++2M Karras」等になるかもしれません。

前回の記事で使用した「Euler a」も、前回の時点ではそこまで気にならなかったのですよね(今回はなぜか独自性が出てしまいましたが)。
Euler a」は今回の絵を見る限り、簡素化はされているものの、光の柔らかさの表現で秀でてる可能性があります。
このような表現を重視する場合は使ってみると面白そうです。

(Euler以外の)「a」系と「SDE」系は今回のケースだとかなり簡素な表現になっていたのですが、「Sampling stepsを増やすことで改善するのか?」ここは気になる点です。
ただ、自分の中のファーストインプレッションが下がってしまったので今後使うかどうかは怪しいですが(笑)。


コメント

コメントする

目次