【Kサンプラーの「生成後の制御」値を変更してみたらこうなった。】


AI画像生成の奥深さに夢中になっている今日この頃です。

今回の実験は、ComfyUIを使っていると必ず目にする「K Sampler(Kサンプラー)」の「after generation(生成後の制御)」という設定項目です。

fixed, increment, decrement, randomize と4つの選択肢がありますが、これを変えると一体何が起こるのか。同じ設定でこの部分だけを変更し、生成される画像を比較してみることにしました。これからComfyUIを始める方や、同じ疑問をお持ちの方の参考になれば幸いです。

今回の基本設定

実験の公平性を保つため、「生成後の制御」以外はすべて同じ設定値で画像を生成しました。基準となる設定は以下の通りです。

基準とする画像

[ここに基準画像のComfyUI_00332_.pngを挿入してください]


共通の設定値

  • checkpoint: sd3.5_large_fp8_scaled.safetensors
  • seed: 495136911968339
  • steps: 20
  • cfg: 5.0
  • sampler_name: euler
  • scheduler: normal
  • denoise: 1.00

ポジティブプロンプト

(masterpiece: 1.2), (best quality: 1.2), (realistic: 1.3), ultra-detailed,
1 girl, (full body: 1.5), (beautiful face: 1.2), (perfect eyes: 1.2), (fingers: 1.3), walking energetically,
(bob cut: 1.1), white skin: 1, (Japanese woman: 1.1), smiling, (enchanted expression: 1.3, dreamy gaze), gazing at the viewer,
(front lighting: 1.3, soft glow), cinematic lighting, soft shadows, bokeh, exquisite details,
(large breasts: 1.3, cleavage emphasis: 1.2), (white bikini: 1.3),
(leg pose: 1.2, slightly bent legs),
(daytime poolside background: 1.3, sparkling water, strong sunlight)

ネガティブプロンプト

close-up, bust-up, cropped, headshot, deformed_hands, deformed_feet, unnatural_lighting, disproportionate_body, navel

「生成後の制御」を変えて比較

それでは、本題である「生成後の制御」の値を4パターンで試し、それぞれの結果を見ていきましょう。複数枚を連続で生成(バッチ処理)した際に、どのような違いが生まれるかにご注目ください。

パターン1:「fixed」

  • 動作: バッチ処理で何枚画像を生成しても、シード値は最初に指定した495136911968339のまま変わりません。
  • 結果: 当然ながら、生成される画像はすべて同じものになります。何度やっても同じ結果を出したい「固定(fixed)」した状態ですね。

パターン2:「increment」

  • 動作: 1枚生成するごとに、シード値が1ずつ増加(インクリメント)していきます。
  • 結果: シード値が...339, ...340, ...341と少しずつ変わるため、全体的な構図は維持しつつ、細部が微妙に異なる画像が生成されます。髪の揺れや表情のニュアンスなど、ちょっとした変化を探すのに向いています。

[ここにinc

パターン3:「decrement」

  • 動作: incrementの逆で、1枚生成するごとにシード値が1ずつ減少(デクリメント)していきます。
  • 結果: シード値が...339, ...338, ...337と変わります。こちらも構図は似ていて、細部が少しずつ変化する画像群が生成されました。

パターン4:「randomize」

  • 動作: 最初の1枚目以降、毎回完全にランダムなシード値が自動で設定されます。
  • 結果: 1枚目以外は、それぞれが全く異なる構図や雰囲気の画像になりました。同じテーマでとにかく多様なアイデアを見たい、という場合に最適な設定です。

【少し深掘り】incrementとdecrementで変化が乏しいのはなぜ?

さて、ここで一つ疑問が浮かびました。私の環境では、incrementdecrementで生成した画像に、ほとんど違いが見られなかったのです。5枚中4枚は、ほぼ同じ画像と言っていいほどでした。

これは、設定の組み合わせによるもののようです。

  • サンプラーとステップ数: eulerというサンプラーはシンプルで安定性が高く、特にsteps: 20という比較的少ないステップ数では、シード値のわずかな差が最終結果に反映されにくいようです。
  • 構図の単純さ: 「一人の人物」というシンプルな構図は、AIが安定した解を見つけやすく、少しノイズのパターンが変わったくらいでは結果がブレにくい、というわけですね。

もし、incrementなどでもっと変化を出したい場合は、ステップ数を3040に増やしたり、DPM++ 2M Karrasのような別のサンプラーを試したりすると、違いが顕著になるかもしれません。

また、これらの設定はあくまでシード値の「探求」や「バリエーション出し」を目的とするもので、画質そのものを良くしたり悪くしたりする効果はない、ということも覚えておきたいポイントです。

まとめ

今回の実験で、Kサンプラーの「生成後の制御」が、バッチ処理におけるシード値の挙動をコントロールするための設定であることがよく分かりました。

  • fixed: 同じ画像を複数枚欲しいときに。
  • increment/decrement: 構図を固定しつつ、細かな違いを見たいときに。
  • randomize: 同じプロンプトで、とにかく色々なパターンを見たいときに。

このように目的によって使い分けることで、画像生成の効率が格段に上がりそうです。地道な検証でしたが、おかげでまた一つ賢くなれました。皆さんのComfyUIライフの一助となれば幸いです。

最後までお読みいただき、ありがとうございました。

類似投稿

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください