Stable Diffusion / Sampling steps による違い
概要
Stable Diffusion WebUI (AUTOMATIC1111 版) で画像を生成する際に使用する Sampling step でどのように違ってくるか試しました。
Sampling Steps とは
Sampling Steps(サンプリングステップ)とは、Stable Diffusion が画像を生成する際に、ノイズを徐々に除去していくプロセスでの反復回数を指します。
ディフュージョンモデルの基本的な仕組みは、ランダムなノイズから始めて、これを徐々に減衰させることで画像を生成するものです。このノイズ除去の過程は複数のステップに分けて行われ、各ステップでモデルは少しずつ「画像らしいピクセル」を復元していきます。Sampling Steps は、このノイズ除去プロセスが何回行われるかを決定します。
具体的には、以下のようなプロセスが行われます:
- 最初は完全にランダムなノイズで画像をスタート。
- 各ステップで、モデルがノイズを部分的に除去し、画像の形を少しずつ明確にしていく。
- 最終ステップで、完全にノイズが取り除かれ、最終的な画像が完成する。
Sampling Steps の値が高いほど、プロセスが細かく行われ、理論的にはより高品質な画像が得られる可能性があります。
Sampling Steps を多くするとどうなるか
Sampling Steps を増やすことで、モデルが画像を生成する過程がより細かくなり、以下のような効果が期待されます:
- 出力画像の品質が向上する
Sampling Steps を多く設定することで、ノイズ除去のプロセスがより丁寧に行われます。これにより、画像のディテールが綺麗に仕上がり、全体的に洗練された出力が得られる可能性があります。 - 特定の構造や細部が明確になる
特に複雑な構造や細かいテクスチャを含む画像では、Sampling Steps を増やすことで、これらの要素が正確に再現されやすくなります。 - 計算時間が増加する
Sampling Steps を多く設定すると、その分だけノイズ除去の反復回数が増えるため、画像生成にかかる計算時間が長くなります。例えば、50ステップよりも100ステップの方が約2倍の時間が必要です。
注意点
Sampling Steps を無闇に増やしすぎても、ある程度以上は品質の向上が頭打ちになる場合があります。多くの場合、50~100ステップ程度で十分な品質が得られるため、それ以上増やすと計算コストが無駄になることがあります。
Sampling Steps を少なくするとどうなるか
反対に、Sampling Steps を少なく設定すると、以下のような影響があります:
- 画像が粗くなる
Sampling Steps が不足している場合、ノイズ除去が不完全なまま画像が完成してしまうため、生成画像がぼやけていたり、不自然なノイズが残っていたりすることがあります。 - ディテールが損なわれる
特に細かい構造や複雑なパターンを含む画像では、Sampling Steps が少ないとこれらが正確に再現されず、結果として画像が単純化されたり歪んだりします。 - 計算時間が短縮される
Sampling Steps を少なくすると、画像生成にかかる時間は短縮されます。これは、リソースが限られている場合や、試行錯誤を素早く繰り返したい場合にはメリットとなります。
注意点
Sampling Steps が少なすぎると、生成画像が著しく低品質になるため、最低限必要なステップ数を確保することが重要です。一般的には、20~30ステップ程度が必要最低限のラインとされています。
ベースの設定
以下のページの最後で利用したものと同じ設定で行います。
- Stability Matrix 経由 Stable Diffusion WebUI (AUTOMATIC1111 版) を使用
- チェックポイント : yayoiMix_v25.safetensors
- txt2img で作成
- Prompt : a girl, high resolution, professional photography quality
- Negative Prompt : low quality, cartoonish, painting, digital art, illustration, anime, 2D art, sketch, watercolor, flat colors, stylized, low quality, blurry focus on the subject, deformed, disfigured, grainy, overexposed, abstract
- Sampling method : DPM++2M
- Schedule type : Automatic
- Sampling steps : 20
- Hires.fix : なし
- Refiner : なし
- Width : 512
- Height : 512
- Batch count :1
- Batch size :1
- CFG Scale : 7
- Seed : 1622676478
Sampling steps による違い
上記のパラメータで、Sampling steps のみを変更して画像生成してみました。
(画像クリックで拡大、左右カーソルキーで順番に表示できます。)
Sampling steps : 5
Sampling steps : 10
Sampling steps : 15
Sampling steps : 20 (ベースにした画像)
Sampling steps : 25
Sampling steps : 30
Sampling steps : 50
Sampling steps : 70
Sampling steps : 100
Sampling steps : 150
▼ 関連ページ