私的AI研究会 > StableDef4
「Stable-Diffusion」の入力パラメータの違いによる生成画像の変化を調べる
Stable Diffusion で画像生成するにあたって、プロンプトと生成画像の関連性を見つけたいと考える人は多いらしい。
サイトには様々な報告があるが、生成時間の問題でなかなか納得できるものは少ない。
そもそも関連性があるのかも定かではない。
その中で大変興味のあるサイトが見つかった。→ Stable Diffusion | プロンプト作成のための実験
残念ながら、サイトの記述と同じ入力に対して同じ結果の再現はできなかった。
( OpenVINO 版のためか、記述のないほかのパラメータ値が異なっているのかは不明)
検証プロセスは大変面白いので、前項で作成した Stable-Diffusion 自動実行版「stable_diffusion_make.py」 を使用して同様の検証をしてみる。
以下生成画像は stable_diffusion.openvino のパッケージ導入のマシンであれば同じ画像の再現が可能である。
単語のみのプロンプトとシード値の組み合わせを検証する
(py38) > python stable_diffusion_make.py -i input_10.csv -s n
-Seed-,-Prompt-,-InitImage-,-MaskImage-,-Step-,-Scale-,-Strengh-,-Device-,-Time-,-Output-,-Loop- 0000001111,woman,,,32,7.5,0.5,CPU,00:03:36,result_test10/test10_0000001111.png,1 0000002222,woman,,,32,7.5,0.5,CPU,00:03:36,result_test10/test10_0000002222.png,1 0000003333,woman,,,32,7.5,0.5,CPU,00:03:37,result_test10/test10_0000003333.png,1 0000004444,woman,,,32,7.5,0.5,CPU,00:03:37,result_test10/test10_0000004444.png,1 0000005555,woman,,,32,7.5,0.5,CPU,00:03:36,result_test10/test10_0000005555.png,1 0000006666,woman,,,32,7.5,0.5,CPU,00:03:37,result_test10/test10_0000006666.png,1 0000007777,woman,,,32,7.5,0.5,CPU,00:03:37,result_test10/test10_0000007777.png,1 0000008888,woman,,,32,7.5,0.5,CPU,00:03:37,result_test10/test10_0000008888.png,1 0000001111,man,,,32,7.5,0.5,CPU,00:03:37,result_test10/test11_0000001111.png,1 0000002222,man,,,32,7.5,0.5,CPU,00:03:48,result_test10/test11_0000002222.png,1 0000003333,man,,,32,7.5,0.5,CPU,00:03:39,result_test10/test11_0000003333.png,1 0000004444,man,,,32,7.5,0.5,CPU,00:03:39,result_test10/test11_0000004444.png,1 0000005555,man,,,32,7.5,0.5,CPU,00:03:38,result_test10/test11_0000005555.png,1 0000006666,man,,,32,7.5,0.5,CPU,00:03:38,result_test10/test11_0000006666.png,1 0000007777,man,,,32,7.5,0.5,CPU,00:03:40,result_test10/test11_0000007777.png,1 0000008888,man,,,32,7.5,0.5,CPU,00:03:39,result_test10/test11_0000008888.png,1 0000001111,cube,,,32,7.5,0.5,CPU,00:03:42,result_test10/test12_0000001111.png,1 0000002222,cube,,,32,7.5,0.5,CPU,00:03:39,result_test10/test12_0000002222.png,1 0000003333,cube,,,32,7.5,0.5,CPU,00:03:39,result_test10/test12_0000003333.png,1 0000004444,cube,,,32,7.5,0.5,CPU,00:03:39,result_test10/test12_0000004444.png,1 0000005555,cube,,,32,7.5,0.5,CPU,00:03:41,result_test10/test12_0000005555.png,1 0000006666,cube,,,32,7.5,0.5,CPU,00:03:39,result_test10/test12_0000006666.png,1 0000007777,cube,,,32,7.5,0.5,CPU,00:03:38,result_test10/test12_0000007777.png,1 0000008888,cube,,,32,7.5,0.5,CPU,00:03:38,result_test10/test12_0000008888.png,1 0000001111,box,,,32,7.5,0.5,CPU,00:03:38,result_test10/test13_0000001111.png,1 0000002222,box,,,32,7.5,0.5,CPU,00:03:41,result_test10/test13_0000002222.png,1 0000003333,box,,,32,7.5,0.5,CPU,00:03:39,result_test10/test13_0000003333.png,1 0000004444,box,,,32,7.5,0.5,CPU,00:03:41,result_test10/test13_0000004444.png,1 0000005555,box,,,32,7.5,0.5,CPU,00:03:42,result_test10/test13_0000005555.png,1 0000006666,box,,,32,7.5,0.5,CPU,00:03:40,result_test10/test13_0000006666.png,1 0000007777,box,,,32,7.5,0.5,CPU,00:03:40,result_test10/test13_0000007777.png,1 0000008888,box,,,32,7.5,0.5,CPU,00:03:40,result_test10/test13_0000008888.png,1 0000001111,city,,,32,7.5,0.5,CPU,00:03:40,result_test10/test14_0000001111.png,1 0000002222,city,,,32,7.5,0.5,CPU,00:03:39,result_test10/test14_0000002222.png,1 0000003333,city,,,32,7.5,0.5,CPU,00:03:39,result_test10/test14_0000003333.png,1 0000004444,city,,,32,7.5,0.5,CPU,00:03:39,result_test10/test14_0000004444.png,1 0000005555,city,,,32,7.5,0.5,CPU,00:03:38,result_test10/test14_0000005555.png,1 0000006666,city,,,32,7.5,0.5,CPU,00:03:38,result_test10/test14_0000006666.png,1 0000007777,city,,,32,7.5,0.5,CPU,00:03:39,result_test10/test14_0000007777.png,1 0000008888,city,,,32,7.5,0.5,CPU,00:03:40,result_test10/test14_0000008888.png,1 0000001111,town,,,32,7.5,0.5,CPU,00:03:39,result_test10/test15_0000001111.png,1 0000002222,town,,,32,7.5,0.5,CPU,00:03:39,result_test10/test15_0000002222.png,1 0000003333,town,,,32,7.5,0.5,CPU,00:03:39,result_test10/test15_0000003333.png,1 0000004444,town,,,32,7.5,0.5,CPU,00:03:38,result_test10/test15_0000004444.png,1 0000005555,town,,,32,7.5,0.5,CPU,00:03:39,result_test10/test15_0000005555.png,1 0000006666,town,,,32,7.5,0.5,CPU,00:03:39,result_test10/test15_0000006666.png,1 0000007777,town,,,32,7.5,0.5,CPU,00:03:40,result_test10/test15_0000007777.png,1 0000008888,town,,,32,7.5,0.5,CPU,00:03:38,result_test10/test15_0000008888.png,1
シード値を固定しプロンプトの単語の順序を入れ替えてできる画像を検証する
(py38) > python stable_diffusion_make.py -i input_20.csv -s n
-Seed-,-Prompt-,-InitImage-,-MaskImage-,-Step-,-Scale-,-Strengh-,-Device-,-Time-,-Output-,-Loop- 0000001111,"beautiful woman, by Josu Hernaiz, summer, whole body, palm tree",,,32,7.5,0.5,CPU,00:03:39,result_test20/Hernaiz0_0000001111.png,1 0000001111,"beautiful woman, palm tree, by Josu Hernaiz, summer, whole body",,,32,7.5,0.5,CPU,00:03:40,result_test20/Hernaiz1_0000001111.png,1 0000001111,"palm tree, beautiful woman, by Josu Hernaiz, summer, whole body",,,32,7.5,0.5,CPU,00:03:39,result_test20/Hernaiz2_0000001111.png,1 0000001111,"beautiful woman, by Josu Hernaiz, palm tree, summer, whole body",,,32,7.5,0.5,CPU,00:03:39,result_test20/Hernaiz3_0000001111.png,1 0000001111,"beautiful woman, by Josu Hernaiz, summer, palm tree, whole body",,,32,7.5,0.5,CPU,00:03:40,result_test20/Hernaiz4_0000001111.png,1 0000001111,"beautiful woman, by Vermeer, summer, whole body, palm tree",,,32,7.5,0.5,CPU,00:05:02,result_test20/Vermeer0_0000001111.png,1 0000001111,"beautiful woman, palm tree, by Vermeer, summer, whole body",,,32,7.5,0.5,CPU,00:03:40,result_test20/Vermeer1_0000001111.png,1 0000001111,"palm tree, beautiful woman, by Vermeer, summer, whole body",,,32,7.5,0.5,CPU,00:03:39,result_test20/Vermeer2_0000001111.png,1 0000001111,"beautiful woman, by Vermeer, palm tree, summer, whole body",,,32,7.5,0.5,CPU,00:03:39,result_test20/Vermeer3_0000001111.png,1 0000001111,"beautiful woman, by Vermeer, summer, palm tree, whole body",,,32,7.5,0.5,CPU,00:03:40,result_test20/Vermeer4_0000001111.png,1 0000001111,"beautiful woman, by Van Gogh, summer, whole body, palm tree",,,32,7.5,0.5,CPU,00:04:58,result_test20/Gogh0_0000001111.png,1 0000001111,"beautiful woman, palm tree, by Van Gogh, summer, whole body",,,32,7.5,0.5,CPU,00:03:40,result_test20/Gogh1_0000001111.png,1 0000001111,"palm tree, beautiful woman, by Van Gogh, summer, whole body",,,32,7.5,0.5,CPU,00:03:39,result_test20/Gogh2_0000001111.png,1 0000001111,"beautiful woman, by Van Gogh, palm tree, summer, whole body",,,32,7.5,0.5,CPU,00:03:39,result_test20/Gogh3_0000001111.png,1 0000001111,"beautiful woman, by Van Gogh, summer, palm tree, whole body",,,32,7.5,0.5,CPU,00:03:40,result_test20/Gogh4_0000001111.png,1 0000001111,"beautiful woman, by Leonardo De Vinci, summer, whole body, palm tree",,,32,7.5,0.5,CPU,00:04:57,result_test20/DeVinci0_0000001111.png,1 0000001111,"beautiful woman, palm tree, by Leonardo De Vinci, summer, whole body",,,32,7.5,0.5,CPU,00:03:40,result_test20/DeVinci1_0000001111.png,1 0000001111,"palm tree, beautiful woman, by Leonardo De Vinci, summer, whole body",,,32,7.5,0.5,CPU,00:03:39,result_test20/DeVinci2_0000001111.png,1 0000001111,"beautiful woman, by Leonardo De Vinci, palm tree, summer, whole body",,,32,7.5,0.5,CPU,00:03:39,result_test20/DeVinci3_0000001111.png,1 0000001111,"beautiful woman, by Leonardo De Vinci, summer, palm tree, whole body",,,32,7.5,0.5,CPU,00:03:40,result_test20/DeVinci4_0000001111.png,1 0000001111,"beautiful woman, by Everett Millais, summer, whole body, palm tree",,,32,7.5,0.5,CPU,00:04:57,result_test20/Millais0_0000001111.png,1 0000001111,"beautiful woman, palm tree, by Everett Millais, summer, whole body",,,32,7.5,0.5,CPU,00:03:40,result_test20/Millais1_0000001111.png,1 0000001111,"palm tree, beautiful woman, by Everett Millais, summer, whole body",,,32,7.5,0.5,CPU,00:03:39,result_test20/Millais2_0000001111.png,1 0000001111,"beautiful woman, by Everett Millais, palm tree, summer, whole body",,,32,7.5,0.5,CPU,00:03:39,result_test20/Millais3_0000001111.png,1 0000001111,"beautiful woman, by Everett Millais, summer, palm tree, whole body",,,32,7.5,0.5,CPU,00:03:40,result_test20/Millais4_0000001111.png,1
シード値を固定しスケール値を変化させてできる画像を検証する
(py38) > python stable_diffusion_make.py -i input_30.csv -s n
-Seed-,-Prompt-,-InitImage-,-MaskImage-,-Step-,-Scale-,-Strengh-,-Device-,-Time-,-Output-,-Loop- 0000001111,pretty girl,,,32,2.0,0.5,CPU,00:05:01,result_test30/girl00_0000001111.png,1 0000001111,pretty girl,,,32,3.5,0.5,CPU,00:05:06,result_test30/girl01_0000001111.png,1 0000001111,pretty girl,,,32,7.5,0.5,CPU,00:05:06,result_test30/girl02_0000001111.png,1 0000001111,pretty girl,,,32,10,0.5,CPU,00:05:06,result_test30/girl03_0000001111.png,1 0000001111,pretty girl,,,32,20,0.5,CPU,00:05:06,result_test30/girl04_0000001111.png,1 0000001111,pretty girl,,,32,50,0.5,CPU,00:05:06,result_test30/girl05_0000001111.png,1 0000002222,pretty girl,,,32,2.0,0.5,CPU,00:05:01,result_test30/girl10_0000002222.png,1 0000002222,pretty girl,,,32,3.5,0.5,CPU,00:05:14,result_test30/girl11_0000002222.png,1 0000002222,pretty girl,,,32,7.5,0.5,CPU,00:05:06,result_test30/girl12_0000002222.png,1 0000002222,pretty girl,,,32,10,0.5,CPU,00:05:06,result_test30/girl13_0000002222.png,1 0000002222,pretty girl,,,32,20,0.5,CPU,00:05:06,result_test30/girl14_0000002222.png,1 0000002222,pretty girl,,,32,50,0.5,CPU,00:05:06,result_test30/girl15_0000002222.png,1 0000001111,kawaii neko,,,32,2.0,0.5,CPU,00:03:39,result_test30/neko00_0000001111.png,1 0000001111,kawaii neko,,,32,3.5,0.5,CPU,00:03:40,result_test30/neko01_0000001111.png,1 0000001111,kawaii neko,,,32,7.5,0.5,CPU,00:03:40,result_test30/neko02_0000001111.png,1 0000001111,kawaii neko,,,32,10.0,0.5,CPU,00:03:40,result_test30/neko03_0000001111.png,1 0000001111,kawaii neko,,,32,20.0,0.5,CPU,00:03:40,result_test30/neko04_0000001111.png,1 0000001111,kawaii neko,,,32,50.0,0.5,CPU,00:03:40,result_test30/neko05_0000001111.png,1 0000002222,kawaii neko,,,32,2.0,0.5,CPU,00:03:39,result_test30/neko10_0000002222.png,1 0000002222,kawaii neko,,,32,3.5,0.5,CPU,00:03:40,result_test30/neko11_0000002222.png,1 0000002222,kawaii neko,,,32,7.5,0.5,CPU,00:03:40,result_test30/neko12_0000002222.png,1 0000002222,kawaii neko,,,32,10.0,0.5,CPU,00:03:39,result_test30/neko13_0000002222.png,1 0000002222,kawaii neko,,,32,20.0,0.5,CPU,00:03:39,result_test30/neko14_0000002222.png,1 0000002222,kawaii neko,,,32,50.0,0.5,CPU,00:03:39,result_test30/neko15_0000002222.png,1
シード値とプロンプトを固定しステップ値を変化させてできる画像を検証する
(py38) > python stable_diffusion_make.py -i input_40.csv -s n
-Seed-,-Prompt-,-InitImage-,-MaskImage-,-Step-,-Scale-,-Strengh-,-Device-,-Time-,-Output-,-Loop- 0000001111,A cyberpunk city in a rainforest,,,1,7.5,0.5,CPU,00:05:00,result_test40/cyber1_0000001111.png,1 0000001111,A cyberpunk city in a rainforest,,,2,7.5,0.5,CPU,00:05:00,result_test40/cyber2_0000001111.png,1 0000001111,A cyberpunk city in a rainforest,,,3,7.5,0.5,CPU,00:05:00,result_test40/cyber3_0000001111.png,1 0000001111,A cyberpunk city in a rainforest,,,4,7.5,0.5,CPU,00:05:00,result_test40/cyber4_0000001111.png,1 0000001111,A cyberpunk city in a rainforest,,,5,7.5,0.5,CPU,00:05:00,result_test40/cyber5_0000001111.png,1 0000001111,A cyberpunk city in a rainforest,,,6,7.5,0.5,CPU,00:05:00,result_test40/cyber6_0000001111.png,1 0000001111,A cyberpunk city in a rainforest,,,7,7.5,0.5,CPU,00:05:00,result_test40/cyber7_0000001111.png,1 0000001111,A cyberpunk city in a rainforest,,,8,7.5,0.5,CPU,00:05:00,result_test40/cyber8_0000001111.png,1 0000001111,A cyberpunk city in a rainforest,,,9,7.5,0.5,CPU,00:05:00,result_test40/cyber9_0000001111.png,1 0000001111,A cyberpunk city in a rainforest,,,10,7.5,0.5,CPU,00:05:00,result_test40/cyber10_0000001111.png,1 0000001111,A cyberpunk city in a rainforest,,,11,7.5,0.5,CPU,00:05:00,result_test40/cyber11_0000001111.png,1 0000001111,A cyberpunk city in a rainforest,,,12,7.5,0.5,CPU,00:05:00,result_test40/cyber12_0000001111.png,1 0000001111,A cyberpunk city in a rainforest,,,13,7.5,0.5,CPU,00:05:00,result_test40/cyber13_0000001111.png,1 0000001111,A cyberpunk city in a rainforest,,,14,7.5,0.5,CPU,00:05:00,result_test40/cyber14_0000001111.png,1 0000001111,A cyberpunk city in a rainforest,,,15,7.5,0.5,CPU,00:05:00,result_test40/cyber15_0000001111.png,1 0000001111,A cyberpunk city in a rainforest,,,16,7.5,0.5,CPU,00:05:00,result_test40/cyber16_0000001111.png,1 0000001111,A cyberpunk city in a rainforest,,,17,7.5,0.5,CPU,00:05:00,result_test40/cyber17_0000001111.png,1 0000001111,A cyberpunk city in a rainforest,,,18,7.5,0.5,CPU,00:05:00,result_test40/cyber18_0000001111.png,1 0000001111,A cyberpunk city in a rainforest,,,19,7.5,0.5,CPU,00:05:00,result_test40/cyber19_0000001111.png,1 0000001111,A cyberpunk city in a rainforest,,,20,7.5,0.5,CPU,00:05:00,result_test40/cyber20_0000001111.png,1 0000001111,A cyberpunk city in a rainforest,,,25,7.5,0.5,CPU,00:05:00,result_test40/cyber25_0000001111.png,1 0000001111,A cyberpunk city in a rainforest,,,30,7.5,0.5,CPU,00:05:00,result_test40/cyber30_0000001111.png,1 0000001111,A cyberpunk city in a rainforest,,,32,7.5,0.5,CPU,00:05:00,result_test40/cyber32_0000001111.png,1 0000001111,A cyberpunk city in a rainforest,,,50,7.5,0.5,CPU,00:05:00,result_test40/cyber50_0000001111.png,1 0000001111,A cyberpunk city in a rainforest,,,100,7.5,0.5,CPU,00:05:00,result_test40/cyber100_0000001111.png,1 0000001111,A cyberpunk city in a rainforest,,,150,7.5,0.5,CPU,00:05:00,result_test40/cyber150_0000001111.png,1
■ それぞれの単語の絵を生成
(py38) > python stable_diffusion_make.py -i input_50.csv -s n
-Seed-,-Prompt-,-InitImage-,-MaskImage-,-Step-,-Scale-,-Strengh-,-Device-,-Time-,-Output-,-Loop- 0000001111,woman,,,32,7.5,0.5,CPU,00:03:36,result_test50/test50_0000001111.png,1 0000001111,"woman,man",,,32,7.5,0.5,CPU,00:03:37,result_test50/test51_0000001111.png,1 0000001111,"woman,cyberpunk",,,32,7.5,0.5,CPU,00:03:36,result_test50/test52_0000001111.png,1 0000001111,"woman,city",,,32,7.5,0.5,CPU,00:03:36,result_test50/test53_0000001111.png,1 0000001111,"woman,perfect",,,32,7.5,0.5,CPU,00:03:37,result_test50/test54_0000001111.png,1 0000001111,"woman,photogenic",,,32,7.5,0.5,CPU,00:03:39,result_test50/test55_0000001111.png,1 0000001111,"man,cyberpunk",,,32,7.5,0.5,CPU,00:03:37,result_test50/test56_0000001111.png,1 0000001111,"man,city",,,32,7.5,0.5,CPU,00:03:37,result_test50/test57_0000001111.png,1 0000001111,"man,perfect",,,32,7.5,0.5,CPU,00:03:37,result_test50/test58_0000001111.png,1 0000001111,"man,photogenic",,,32,7.5,0.5,CPU,00:03:38,result_test50/test59_0000001111.png,1 0000001111,"cyberpunk,city",,,32,7.5,0.5,CPU,00:03:36,result_test50/test5a_0000001111.png,1 0000001111,"cyberpunk,perfect",,,32,7.5,0.5,CPU,00:03:36,result_test50/test5b_0000001111.png,1 0000001111,"cyberpunk,photogenic",,,32,7.5,0.5,CPU,00:03:42,result_test50/test5c_0000001111.png,1 0000001111,"city,perfect",,,32,7.5,0.5,CPU,00:03:40,result_test50/test5d_0000001111.png,1 0000001111,"city,photogenic",,,32,7.5,0.5,CPU,00:03:46,result_test50/test5e_0000001111.png,1 0000001111,"perfect,photogenic",,,32,7.5,0.5,CPU,00:03:41,result_test50/test5f_0000001111.png,1 0000001111,woman,,,32,7.5,0.5,CPU,00:03:38,result_test50/test500_0000001111.png,1 0000001111,man,,,32,7.5,0.5,CPU,00:03:39,result_test50/test501_0000001111.png,1 0000001111,cyberpunk,,,32,7.5,0.5,CPU,00:03:39,result_test50/test502_0000001111.png,1 0000001111,city,,,32,7.5,0.5,CPU,00:03:40,result_test50/test503_0000001111.png,1 0000001111,perfect,,,32,7.5,0.5,CPU,00:03:40,result_test50/test504_0000001111.png,1 0000001111,photogenic,,,32,7.5,0.5,CPU,00:03:38,result_test50/test505_0000001111.png,1
■ 単語を組み合わせた画像
■ 文章に対して形容詞を加える
「woman,cyberpunk,city」という文章に形容詞を加える
■ 文章に対して名詞を加える
女性に赤いジャケットを着てもらう「red jacket」を加える
■ 形容詞の入れ替え
「perfect (完璧な)」から「appealing (魅力的な)」に変更する
■ 名詞の入れ替え
「city (市)」→「town (町)」に変える
(py38) > python stable_diffusion_make.py -i input_60.csv -s n
-Seed-,-Prompt-,-InitImage-,-MaskImage-,-Step-,-Scale-,-Strengh-,-Device-,-Time-,-Output-,-Loop- 0000001111,"woman,cyberpunk,city",,,32,7.5,0.5,CPU,00:03:40,result_test60/test60_0000001111.png,1 0000001111,"woman,cyberpunk,city,photogenic",,,32,7.5,0.5,CPU,00:03:39,result_test60/test61_0000001111.png,1 0000001111,"woman,cyberpunk,city,photogenic,perfect",,,32,7.5,0.5,CPU,00:03:41,result_test60/test62_0000001111.png,1 0000001111,"woman,cyberpunk,city,photogenic,perfect,red jacket",,,32,7.5,0.5,CPU,00:03:39,result_test60/test63_0000001111.png,1 0000001111,"woman,cyberpunk,city,photogenic,appealing,red jacket",,,32,7.5,0.5,CPU,00:03:39,result_test60/test64_0000001111.png,1 0000001111,"woman,cyberpunk,town,photogenic,perfect,red jacket",,,32,7.5,0.5,CPU,00:03:40,result_test60/test65_0000001111.png,1
PukiWiki 1.5.2 © 2001-2019 PukiWiki Development Team. Powered by PHP 7.4.3-4ubuntu2.20. HTML convert time: 0.016 sec.