この記事では、Stable Diffusionで複数枚の画像を生成する方法、自動化して画像生成を連続して行う方法を紹介しています。
Stable Diffusionはガチャなので、自分が欲しい画像が生成されるとは限りません。
そのため、好みの構図の画像が生成されるまで出力し続ける必要があります。
複数枚の画像を1度に生成できれば効率が上がりますし、自動化すれば放っておいても画像が連続生成されます。
【VRAM12GBのグラボが安い!価格相場をチェック!】
玄人志向 RTX3060搭載 グラフィックボード GDDR6 12GB GALAKURO GAMINGシリーズ GG-RTX3060-E12GB/OC/DF
Batch Count(バッチの回数)
Batch Countを増やすと、その数だけ画像が出力されます。
画像を出力する回数のことです。
Batch Countは 1~100までの数値が設定可能です。
プロンプトやパラメーターなどの設定は変えずに複数枚の画像を出力します。
しかし、シード値は画像を出力するたびに1づつ増えるのが特徴です。
出力のたびにシード値が変わるので、すべて違う画像になります。
シード値を指定しても、サイコロ(-1)でも、シード値が1づつ増えるのは同じです。
シード値(2376742176)を指定して、Batch Count 12で画像を生成した例です。
画像生成するたびにシード値は1づつ増えますが、入力したシード値(2376742176)の表示は変わらないことに注意してください。
これを知らずに画像生成を続けていると、なぜ毎回違う画像が出力されるのか分かりません。
生成された12枚の画像を見てみると、シード値が(2376742176)から(2376742187)の連番で画像が生成されています。
シード値が(2376742176)から1づつ増えているのが分かりますね。
生成された画像はそれぞれ顔や服の色、背景も違います。
Batch Countは、100まで数値の設定が可能ですので、Batch Countを100に設定すれば、1度でシード値が異なる100通りの画像が生成できます。
Batch Size(1回当たりの枚数)
Batch Sizeは、Batch Count1回あたりの出力枚数です。
Batch Sizeを2にすれば、1回で2枚の画像を出力します。
Batch Sizeは 1~8までの数値が設定可能です。
Batch Sizeを増やすと、その枚数分のVRAMが必要になりますので、Batch Sizeはあまり増やさないほうがいいです。
グラフィックボードへの負荷が高くなってしまうので、筆者はBatch Sizeを1のままにしています。
グリッド画像とは?
Batch CountやBatch Sizeを増やして複数枚の画像を1度に出力すると、グリッド画像が生成されます。
グリッド画像は出力した画像を1枚にまとめたもので、出力画像一覧です。
出力画像を1枚1枚確認しなくても、パッと見でどんな画像が出力されたのか確認できます。
【グリッド画像の保存先】
「sd.webui」→「webui」→「outputs」→「txt2img-grids」
自動で画像を連続生成する方法
「Generate(生成)」を右クリックすると「Generate forever」、「Cancel generate forever」が表示されます。
「Generate forever」をクリックするとキャンセルするまで画像が連続生成されます。
画像の連続生成を止める場合は、開始と同じように「Generate(生成)」を右クリックして「Cancel generate forever」をクリックします。
生成中の画像処理が終わってから止まります。
「Cancel generate forever」を実行中は「Interrupt(中断)」は使えませんが「Skip(スキップ)」は使えます。
「Generate forever」が稼働中にプロンプトやパラメーターを変更すると、次の画像出力から変更が反映されます。
画像の連続生成中にプロンプトを自動で変更する方法もある
画像の連続生成中に自動でプロンプト(呪文)を変えながら、画像を出力する方法もありますが、長くなってしまうので、次回以降の記事にしますね。
「Batch Count」や「Batch Size」、「Generate forever」の使い方を覚えれば、毎回、Generateボタンを押さなくてもよくなります。
画像の生成効率が上がりますので、Stable Diffusion初心者の方は試してみてくださいね。
以上、Stable Diffusionで複数枚の画像を生成する方法、自動で画像生成を連続して行う方法を紹介してみました。