StableDiffusionを試した記録 その2 (img2img指定)

StableDiffusionの知見まとめ、その2です。

今回は、img2imgを試した結果を載せます。
Twitterに上げていたものをこちらに転記します。また、気が向いたら清書します。

実行条件

  • 画像

こちらの画像を使わせていただきました。
publicdomainq.net

  • コマンド
python optimizedSD/optimized_img2img.py --prompt "anime, reading book, full body, chair, illustration,game character,pixiv, pos1-XX" --init-img ./img/pos1.jpg --strength XX --n_iter 2 --n_samples 10 --H 768 --W 576 --seed 12
  • 指定する範囲

strengthの値を0.2~0.9まで0.1ずつ増加させる

結果

20枚中、特徴的なものを2枚ずつ記載します。
全体像が気になる方は、ぜひ手元でもお試しください。

0.2

外観にほぼ変化はありませんが、細かい部分が少しずつ変化します。
雰囲気を調整したい場合はこのあたりが良いかも

0.2

0.3

外観が変わり始めます。
見た目が同じまま細かい変化を加えたい場合はこのあたりが良いかも?

0.3

0.4

promptの影響が出始めます。
見た目が同じまま、全体の雰囲気を変えるならこのあたりが良さそうです。

0.4

0.5

promptの影響で、一部が絵になり始めます。
このあたりまでは見た目を維持できるので、ちょっと変えたい場合はこのあたりが良さそう。

0.5

0.6

このあたりから元絵が消え始めます。

0.6

0.7

全体の色味が多少残りますが、内容の変化がかなり大きくなっています。
恐らく、元絵は色の分布のみが参照されて、promptの影響を大きく受け始めています。

0.7

0.8

このあたりになると、元絵の雰囲気が残っているか怪しくなってきます。
また、なぜか上下で2人に分かれ始めました。
このあたりの数値は、ペイントで雑に書いた絵をソースにする用途向けの印象です。

0.8

0.9

ここまで設定すると、背景が白いこと・黄色気味なことだけを引き継いでいる気がします。
コメントしづらい…

0.9

比較テスト

promptと画像がどの程度影響しているかを検証してみます。

promptの内容変更

実行コマンド

python optimizedSD/optimized_img2img.py --prompt "pos1-08" --init-img ./img/pos1.jpg --strength 0.8 --n_iter 2 --n_samples 10 --H 768 --W 576 --seed 12

promptを"pos1-08"として、promptの効力を無くしてみます。
この結果、上記の結果と内容がかなり変わっているため0.8でのpromptの影響はかなり大きいようです。
また、白背景・ベージュ系は引き継いでいるため、色味だけは残るようです。

promptなし

txt2imgを使ったケース

実行コマンド

python optimizedSD/optimized_txt2img.py --prompt "anime, reading book, full body, chair, illustration,game character,pixiv"  --n_iter 2 --n_samples 10 --H 768 --W 576 --seed 12 --ddim_steps 50

画像を使わなかったケースも試してみました。
雰囲気が大幅に変わっているため、strength=0.9でも元画像の影響が多少出せるようです。
※ 1.0にすると元画像の効力が0になるらしい

imgなし

まとめ

img2imgのstrengthを変更してみた結果を載せました。
VRAMを非常に食うため一度に生成される枚数が限られますが、img2imgで画像を大量に生成すると楽しめるかもしれません。