前回の続きになります。
まだの方は前回記事から読んでいただけるとありがたいです。
今回の記事で、私が今後の風景画像でメインで使っていく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サイズ | 同一性 | 評価 | ||||||
A | B | C | D | E | F | G | |||
Euler a | 27KB | 〇 | 独自性がある。 | ||||||
Euler | 115KB | 〇 | ベース | ||||||
LMS | 106KB | 〇 | 同等 | ||||||
Heun | 98KB | 〇 | 同等 | ||||||
DPM2 | 82KB | 〇 | 同等 | ||||||
DPM2 a | ▲41KB | 〇 | 大幅に描写減 | ||||||
DPM++2S a | ▲25KB | 〇 | 大幅に描写減 | ||||||
DPM++2M | 108KB | 〇 | Eulerより僅かに簡素化 | ||||||
DPM++SDE | ▲130KB | 〇 | prompt理解不足 | ||||||
DPM fast | 18KB | 〇 | やや簡素化 | ||||||
DPM adaptive | ▲40KB | 〇 | 大幅に描写減 | ||||||
LMS Karras | 107KB | 〇 | 同等 | ||||||
DPM2 Karras | 94KB | 〇 | 同等 | ||||||
DPM2 a Karras | ▲38KB | 〇 | 大幅に描写減 | ||||||
DPM++2S a Karras | ▲42KB | 〇 | 大幅に描写減 | ||||||
DPM++2M Karras | 99KB | 〇 | 同等 | ||||||
DPM++SDE Karras | ▲124KB | 〇 | prompt理解不足 | ||||||
DDIM | 140KB | 〇 | ベースより向上 | ||||||
PLMS | 117KB | 〇 | ベースより向上 | ||||||
UniPC | 97KB | 〇 | 同等 |
気になるのは「同一性」(同じ構図の絵と認識できるか?)です。
こうして並べてみるとa系、SDE系、fast、adaptiveは全体構図が変化しているのが分かります。
逆に言うと、それ以外は今回のケースではほぼ同一構図が出力されています。
構図の変更自体が悪いとはいわないのですが、構図が変わったものは、今回に関していえばクォリティが下がっている現状があります。
結局、風景画のサンプリングメソッドに何を選ぶのか?
まず前提として、人物イラストと、風景のみではメソッドの取捨選択はかなり変わってくると思います。
風景の場合は人物(の表情)のような細かい機微は必要ない代わりに、光源の扱いや、ディティールの表現等が重視されますので。
今回でいうと、「波の表現」「光の表現」等が絵全体に大きく影響を出すことになります。
今回の比較は1つの条件のみではありますが、他に指標もないので、「DDIM」「PLMS」をメインで使おうかと考えています。
ただ、promptにandが使えないらしいので、このあたりがpromptの作成に大きく影響を与えそうであれば、「Euler」や「DPM++2M Karras」等になるかもしれません。
前回の記事で使用した「Euler a」も、前回の時点ではそこまで気にならなかったのですよね(今回はなぜか独自性が出てしまいましたが)。
「Euler a」は今回の絵を見る限り、簡素化はされているものの、光の柔らかさの表現で秀でてる可能性があります。
このような表現を重視する場合は使ってみると面白そうです。
(Euler以外の)「a」系と「SDE」系は今回のケースだとかなり簡素な表現になっていたのですが、「Sampling stepsを増やすことで改善するのか?」ここは気になる点です。
ただ、自分の中のファーストインプレッションが下がってしまったので今後使うかどうかは怪しいですが(笑)。
コメント