
いい絵ができたからこの構図はだいたい固定して微調整したいなぁ

そんなときはSeedを固定するといいですよ♪
Stable Diffusionなどの画像生成AIで重要な設定値のひとつに「Seed」があります。
これは端的に言うと、「キャラや構図をだいたい固定したまま、イラストを少し変えたい!」というときに役立つ機能です。
たとえば、この絵が気に入ったとしましょう。ここから髪型だけおさげに変えたいとします。
![[Stable Diffusion] 元絵](https://runrunsketch.net/wp-content/uploads/2023/09/sd_seed_origin.png)
プロンプトをponytailからlow twintailに変更して、画像生成するとこうなります。
![[Stable Diffusion] Seedを固定して髪型を変更](https://runrunsketch.net/wp-content/uploads/2023/09/sd_seed_notfixed.png)

構図が全然違うじゃん!
たしかに「おさげ」にはなりましたが、まったく違う構図になってしまいました。
このときSeedの値を固定すると、構図をある程度固定したままにできます。
![[Stable Diffusion] Seedを固定して髪型を変更](https://runrunsketch.net/wp-content/uploads/2023/09/sd_seed_fixed.png)
このようにSeedをうまく使うと、キャラや構図をだいたい固定したまま、イラストを少し変えることができます。
本記事では、そんなStable DiffusionでのSeedの役割や使い方について解説します。
- キャラや構図をだいたい固定したまま、絵を少しだけ変えたい
- Seedの活用方法を知りたい
Seedとは
Seedとは、画像生成の元になるランダムな数字のことです。

なんのこっちゃ?
Stable Diffusionで画像を生成すると、突然きれいな画像が生み出されたように見えます。
ですが、その裏ではぼやっとした「ノイズ」画像からだんだんきれいな絵を作っていくという過程を踏んでいます。

つまり、この「最初に与えられるノイズ」が変われば、最終的な絵も変わるというわけです。
そして、このノイズのパターンを表す数値が「Seed」なのです。
Seedは「種(タネ)」という意味ですが、まさにこの「種」を元にしてAIがイラストを育てていくのですね。

「種(seed)」が変われば育つ植物も変わる、という感じです🌱
Seedによって最終的な絵が変わるのだとすれば、Seedを固定すれば最終的に得られる絵は(ほぼ)同じものにできるというわけですね。
Stable DiffusionでのSeedの確認方法
生成した直後の画像のSeed
生成した画像の下の方に、プロンプトなどのパラメータが表示されています。
この中にSeedが書かれています。
![[Stable Diffusion WebUI] Seedの確認](https://runrunsketch.net/wp-content/uploads/2023/09/automatic1111_img_seed.png)
過去に生成した画像のSeed
過去に生成した画像のSeedを確認する方法もあります。
Stable Diffusion WebUIの「PNG Info」タブを開き、画像をアップロードしましょう。
parametersの中にSeedが書かれています。
![[Stable Diffusion WebUI] 既存画像のSeedの確認](https://runrunsketch.net/wp-content/uploads/2023/09/automatic1111_pnginfo_seed.png)
Seedの固定方法
Stable Diffusion WebUIのtxt2imgやimg2imgでは、設定値の中に「Seed」という項目があり、ここでSeedを指定できます。
初期状態ではSeedは「-1」となっていますが、これは「Seed値は生成のたびにランダムになる」ことを意味します。
Seedをランダムにしておくと、生成するたびにまったく異なる画像が生成されます。
![[Stable Diffusion WebUI] Seedの設定](https://runrunsketch.net/wp-content/uploads/2023/09/automatic1111_txt2img_seed.png)
ここに何らかの数値を入力すれば、Seed値をその値で固定して画像生成できます。
Seed値を再びランダムに戻したいときには、Seedの横にある「サイコロボタン」をクリックします。Seed値が「-1」となり、ランダムになります。
![[Stable Diffusion WebUI] Seedに「ランダム値」を設定](https://runrunsketch.net/wp-content/uploads/2023/09/automatic1111_txt2img_seed_rand.png)
また、サイコロボタンの右にある「循環矢印ボタン」をクリックすると、直前に生成した画像のSeed値を入力することができます。
![[Stable Diffusion WebUI] Seedに「直z線の画像のSeed値」を設定](https://runrunsketch.net/wp-content/uploads/2023/09/automatic1111_txt2img_reuse.png)
キャラや構図を固定する手順
それでは、実際にSeedを固定して絵を生成してみましょう。
キャラや構図を固定したままで、絵を少しだけ変えたいというケースにも2パターンあります。
① 変えたいところが明確なケース:たとえば「髪型をおさげにしたい」「表情を笑顔にしたい」
② 変えたいところは明確にないケース:ここを変えたいというのはないけど、全体的に少しだけ変えたい
どちらもSeedを固定するのは変わりませんが、方法が少し違うので、それぞれ解説します。

この画像を元画像として説明します。
girl, blunt bangs, medium hair, black hair, ponytail, school uniform, light smile, from side, autumn leaves, cowboy shot,
371690347
![[Stable Diffusion] 元絵](https://runrunsketch.net/wp-content/uploads/2023/09/sd_seed_origin.png)
①変えたいところが明確なケース
txt2imgタブを開きます。
元絵と同じプロンプトとSeedを入力して画像生成してみると、元絵とまったく同じ画像が生成されます。
ここから少しだけプロンプトを変更してみましょう。たとえば、髪型をponytailからlow twintailsに変更して、画像を生成してみます。
girl, blunt bangs, medium hair, black hair, low twintails, school uniform, light smile, from side, autumn leaves, cowboy shot,
![[Stable Diffusion] Seedを固定して髪型を変更](https://runrunsketch.net/wp-content/uploads/2023/09/sd_seed_fixed_hairstyle.png)
まったく同じではありませんが、だいたい同じ構図になりましたね。
今度は服装を変更してみましょう。
girl, blunt bangs, medium hair, black hair, ponytail, turtleneck, light smile, from side, autumn leaves,
![[Stable Diffusion] Seedを固定して服装を変更](https://runrunsketch.net/wp-content/uploads/2023/09/sd_seed_fixed_outfit.png)
こちらは構図は少しだけ変わってしまいましたが、服はタートルネックになっています。
注意点
Seedを固定してもプロンプトを変えると構図はまったく同じにはなりません。
本当にピンポイントで変えたい場合には、「インペイント」を使った方がいいです。
あるいは、線画は維持したままでカラーだけ変えたいときは、ControlNetの「Canny」や「Lineart」を使うという選択もあります。

やりたいことによって、方法を使い分けるのがいいのね♪
②なんとなく全体を変えたいケース
髪型を変えたいとか、服装を変えたいとか、明確に変えたいところはわからないけど、なんとなくちょっとだけ絵を変えたいときってありますよね。

だいたいOKだけど、頑張ればもう少しいい絵になるんじゃない?ってときね
そんなときに役立つのがSeedの横の方にある「Extra」という設定項目です。
![[Stable Diffusion WebUI] SeedのExtra](https://runrunsketch.net/wp-content/uploads/2023/09/automatic1111_seed_extra.png)
まずSeedには元絵と同じSeedを入力します。
そして、「Extra」にチェックを入れます。すると、新たな設定値が表示されます。
![[Stable Diffusion WebUI] SeedのExtra](https://runrunsketch.net/wp-content/uploads/2023/09/automatic1111_seed_extra_checked.png)
ポイントは「Variation strength」です。0.01刻みで0~1の範囲で設定できます。
この値を大きくするほど、元の絵と違った絵が生成されます。0だと元の絵とまったく同じです。
![[Stable Diffusion WebUI] Variation strength](https://runrunsketch.net/wp-content/uploads/2023/09/automatic1111_seed_extra_vstr.png)
Seedは固定して、Variation strengthの値だけ変えて生成した結果がこちらです。
0.1~0.3あたりでは、元の絵の雰囲気をほぼ保ったまま新しい絵が生成されていることがわかりますね。

注意点
モデル(Checkpoint)を変更すると、Seedとプロンプトが同じでも同じ画像にはなりません。

また、画像の縦横比(アスペクト比)を変えた場合も、同じ画像にはなりません。

まとめ
生成した画像の構図やキャラをだいたい固定したまま、少し絵を変えたいときに役立つのが「Seed」です。
生成した画像には「Seed値」という数値が割り当てられていて、それを固定することで絵の構図をほぼ固定したまま再生成することができます。

絵を微調整するときに役立ちます!
NovelAIの「Seed」についてはこちらの記事をご覧ください。
コメント