Stable Diffusion Samplerの選択方法まとめ(サンプラー)

Stable Diffusionとはプロンプトと言われるキーワードで画像を生成するAIです。

幾つもパラメータがあり、どのような影響を与えるのかは調べるのが大変です。

今回はその中でもSamplerという、学習済みモデルから実際に画像を生成するアルゴリズムについて調査します。

描画し終えるまでの時間効率といった視点で調査しました。

  • 各サンプラー幾つのステップで最終画像にたどり着くのか?
  • 各サンプラー間で1ステップに要する時間に差は無いのか?
目次

やり方

サンプラーとステップ数だけ変化させ、他のパラメータは固定させます。

(シード値も固定)

プロンプトはある程度の指定があったほうが通常ですので、今回は下記を採用します。

ポジティブプロンプト
((masterpiece,best quality))1girl, solo, black skirt, blue eyes, electric guitar, guitar, headphones, holding, holding plectrum, instrument, long hair, , music, one side up, teal hair, twin tails, playing guiter, pleated skirt, black shirt, indoors
ネガティブプロンプト
EasyNegative, low quality, worst quality, watermark,sketch, duplicate, ugly, huge eyes, text, logo, monochrome, worst face, (bad and mutated hands:1.3), (worst quality:2.0), (low quality:2.0), (blurry:2.0), (bad hands), (missing fingers), (multiple limbs:1.2), bad anatomy, (interlocked fingers:1.2), Ugly Fingers, (extra digit and hands and fingers and legs and arms:1.4), (deformed fingers:1.2), (long fingers:1.2),(bad-artist-anime), Multiple arms, Multiple legs. poorly drawn face
他のパラメータ
項目設定値
使用モデルCounterfeit-V2.5
サンプリング回数2, 4, 8, 12, 16, 24, 32, 40, 48, 56, 64, 80, 96, 120, 160
CFGスケール8
解像度幅640✕高さ640
シード値3507377558
対象サンプラーEuler a, Euler, LMS, Heun, DPM2, DPM2 a, DPM++ 2S a, DPM++ 2M, DPM++ SDE, DPM fast, DPM adaptive, LMS Karras, DPM2 Karras, DPM2 a Karras, DPM++ 2S a Karras, DPM++ 2M Karras, DPM++ SDE Karras, DDIM, PLMS

出来上がりサンプル(例)

サンプラーにより生成される画像が異なる場合があります。

結果

セット①(DDIM, DPM adaptive, DPM fast, DPM++ 2M Karras, DPM++ 2M, DPM++ 2S a Karras)

脅威が「DPM adaptive」ですが2ステップでほぼ整っています。

後述しますが、ステップの考え方が異なるで、時間が最短ではありません。

ポイント
  • DPM fastは24ステップでは描ききれていない
  • DPM adaptive, DPM++ 2S a Karrasは16→24のステップ中に服装中心に変化あり
  • DDIM、DPM adaptive, DPM++ 2M Karrasが早い段階で絵になっている
ポイント
  • 今回の絵をDPM fastが描くには48ステップ必要
  • DPM++ 2S a Karrasは絵が変化(DPM fastはまだ落ち着いていない為か)
ポイント
  • DPM++ 2S a Karrasは変化が続く(DPM fastもわずかに変化)

セット②(DPM++ 2S a, DPM++ SDE Karras, DPM++ SDE, DPM2 Karras, DPM2 a Karras, DPM2 a)

ポイント
  • DPM2以外は大きめな変化が続く
  • 幾つかは12ステップで絵になっている
ポイント
  • DPM++ SDE以外は徐々に変化している
ポイント
  • DPM2以外はよく見ると背景等を中心に変化
  • DPM2 Karrasは大きく姿勢が変化

セット③(DPM2, Euler a, Euler, Heun, LMS, LMS Karras, PLMS)

ポイント
  • 一部は8ステップ程度で絵になっている
  • LMS Karras、PLMSは24ステップでは描ききれていない
ポイント
  • Euler以外はほぼ変化がない
  • Euler以外はほぼ同じ構図
ポイント
  • Eulerは延々と変化
  • LMSは絵の崩壊が始まる

性能測定

サンプラーのステップ数当たりの速度

先ずは純粋なサンプラーの単位ステップ当たりの速度をまとめます。

画像になる平均ステップ数は約18でした。24ステップでソートしています。

おおよそ4種類の時間に分かれました。(各枠線の色)

DPM adaptiveはわずか2ステップで完成しましたが、どのサンプラーよりも大きい数値になりました。

画像と判断できる最小ステップ数

先程の表に目視で確認できた範囲で、最低限の絵が描けたステップ数を網掛けしました。

また、その数値でソートした場合が下記となります。

じゃぁ、Eulerが良いのか?となるので他の特性も確認します。

絵の生成状態

生成された絵の種類

どの絵でもほぼ確実に描けているステップ数56の絵を比較します。

やや、強引ですが5種類に分類できました。

まとめ

画像の種類を記載しましたが、それが最終状態でもありません。

描画の収束(変化度合い)を加えて、各サンプラーをまとめた表が下記となります。

「Euler」は優秀ですが、絵が変化し続けるので検証には不向きかもしれません。

「DDIM」や「DPM++ 2M Karras」が安定度がありそうです。

「Euler a」も良いのですが、絵のタイプが異なるので微調整したくて他のサンプラーに変更出来ません。

絵の詳細部分の仕上がりに注目すればまた異なる結果になるかもしれません。

時間があれば試してみます!

最後までご覧いただき、ありがとうございました!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次