Stable Diffusionはプロンプトを打ちこめば比較的簡単に画像生成ができる画像生成ツールです。
ですが画像生成のために設定するのはプロンプトだけではなく、多数のパラメータが必要です。
そしてそのパラメータを0.1違うだけで、思った通りの画像にならないこともしばしば。
今回は初心者に向けて、Stable Diffusionの設定値の意味をまとめました。
結果
・アニメ絵を描くならばモデルに合わせた設定値が必要
・SamplingStep数を変えると、絵の詳細部分がどんどん変わるので仕上げの絵を作る場合は上げた方が良い
この記事を読むと
Stable Diffusionの設定値の意味が分かります。
※記事内に広告が含まれています。
Stable Diffusionの設定値の意味
txt2txtの画面で説明を行います。
img2imgも同じパラメータ名は基本的には同じ意味を持ちます。
No | 設定名 | 設定内容 | 詳細 |
1 | モデル名 | 画像生成に使うモデルの選択 | 各モデルを自分でダウンロードして選択 |
2 | プロンプト | 画像生成のための呪文 | 呪文は先に書かれている内容が優先される |
3 | ネガティブプロンプト | 画像生成で含めないための呪文 | 呪文は先に書かれている内容が優先される |
4 | Sampling method | ノイズの除去方法(絵を描く方法) | 描かれている絵のノイズを除去するわけではないので注意 |
5 | Sampling steps | 画像生成までの試行回数 (ノイズ除去の回数) | 値が多いほど詳細な画像になる |
6 | width | 画像の横幅 | |
7 | Height | 画像の高さ | |
8 | Batch count | 生成枚数の設定 | 指定枚数を順番に画像生成する |
9 | Batch size | 生成枚数の設定 | 指定枚数を同時に画像生成する 同時に生成するため枚数が多い場合はPCスペックが高い必要がある |
10 | CFG Scale | 呪文(プロンプト)への忠実度 | 7〜11の範囲を推奨されていることが多い |
11 | Seed | 画像のナンバー | 画像生成した際にランダムに割り振られる値 設定のデフォルトは-1 |
モデルによる違い
色んなモデルがありますが、アニメよりの絵を描きたいのか。リアル系のモデルを描きたいのかで使用するモデルが変わります。
AIで絵を描く場合、無から作ることはできません。
絶対に学習という工程が必要になるのですが、学習対象を無限に広げてしまうと、その特徴などをデータ化した時にとんでもない容量になってしまいます。
容量節約のため、それぞれのモデルでは対象としたい絵を優先的に学習する傾向にあります。
そのため描きたい絵に合わせて、使用するモデルを変更する必要があります。
アニメ系
モデル名 | 概要 |
anything-v3 | アニメ絵は比較的綺麗に画像が生成される 多様なスクリプトに対応できているイメージがある |
OpenNiji | アニメ絵は比較的綺麗に画像が生成される 光沢感がきれいにでやすい |
Pastel-Mix | 水彩画風のアニメ絵が生成される 独特なイメージになるがVAEの設定も必要 |
リアル系
リアルはライバー活動では使うことはないと思うので、参考程度です。
モデル名 | 概要 |
BRA6 | リアルな画像が出来やすい反面、アニメのようなキャラ設定をプロンプトで打つとあまり反映されてないイメージがある 人に対するプロンプトが強く影響される |
Basil_mix_fixed | 全体的にリアルな画像が出来やすいが、複雑なプロンプトにする場合、 サイズを大きくする必要がある。 |
DucHaitenDarkside | 少ないプロンプトでクオリティの高い画像が出力される モデル名の通り、黒色が多くなる |
Sampling method・Sampling stepsによる違い
methodによって、どのように絵を描いていくか(ノイズを除去していくか)が決まります。
Stepsはその除去の回数になります。
そのため同じモデルを使用しても、ノイズの除去の仕方によって出力される絵柄も若干変わりますので、色々と試す必要があります。
CFG Scaleによる違い
プロンプトに忠実に描きたい場合はCFG scaleを大きく、画像の自然さや品質を重視する場合はCFG scaleを小さく設定するとよいでしょう。
【検証】各パラメータを変更して比較してみた
モデルによる違い
使用するモデルによって、プロンプトやパラメータ値が同じでもどのように変わるかを確認します。
anything-v3
全体的に良い画像が出ています。
服装含めて和服も良く出来ています
OpenNiji
綺麗めな絵が出力されました。
絵の配置などが他よりも強く反映されています。
Pastel-Mix
独特な絵柄になりました。
VAEを設定していなかったのですが、これぐらいの絵柄では出力できます。
リアル系 まとめ
BRA6
まぁまぁリアルっぽい
Basil_mix_fixed
風景まで含めて色々とでるが、各パラメータ調整はもっと必要
DucHaitenDarkside
一番プロンプトに忠実に出されるが、ドールに近い絵柄となる
Sampling method・Sampling steps
実際にmethod違いStep違いによる差を比較してみます。
※本来はSeed値を固定して比較した方が変化は分かりやすいですが、今回はどのような絵が出るの検証も含めるので、あえて固定はしていません。
DPM++2M Karras
他の二つに比べると2倍のStep数を行っているので、Step10でもそんなに違和感なく出力できています。
しかしStep数が少ないと、瞳や髪の影などの塗りが若干甘いです。
全体的に彩色がはっきりした絵柄になりやすいです。
Step:10
Step:20
Step:30
Step:40
Euler
Step数が10だと、全体的に絵のタッチが荒いです。
ですが、Step数を増やすと、明暗をじわりと分けるような、優しい色合いになっています。
Step:10
Step:20
Step:30
Step:40
DDIM
他の二つに比べるとStep数を上げても線が荒く下書きのような絵柄になります。
またStep10では他のものに比べて明らかに絵のタッチが荒くなりました。
Step:10
Step:20
Step:30
Step:40
CFG Scale
Scaleが低すぎても上手く絵にならず、かといって上げすぎてもコントラストが強く不自然な絵になってしまいました。
そのため、このモデルとmethodでは推奨されている7~11が良い絵になりそうです。
どの程度絵をはっきりさせたいかで、7~11の間を選ぶと良いでしょう。
Sampling method:DPM++2M Karras
Sampling steps:20
Scale:5
Scale:7
Scale:10
Scale:13
まとめ
今回はStable Diffusionの設定値の意味について紹介しました。
改めて2行でまとめると…
・アニメ絵を描くならばモデルに合わせた設定値が必要
・SamplingStep数を変えると、絵の詳細部分がどんどん変わるので仕上げの絵を作る場合は上げた方が良い
パラメータの意味が分からないと中々作りたい絵にならないので、パラメータの意味が分からなければ是非一読してみてください。
今回はざっくりとした解説のみとしましたが、今後各パラメータを細かく振って、
目的に合った数値はどの程度にすればよいかも記事にしていく予定ですので、楽しみにしていて下さい。
StableDiffusionにお勧めのグラボ
ここまでの記事を読んでStableDiffusionを始めてみたいと思ったけど、どれを買ったか良いか分からない人向けに私の使っているグラボを紹介します。
私が使用しているグラボはNVIDIA GeForce RTX3060 搭載 グラフィックボード GDDR6 12GBになります。
StableDiffusionで絵を生成するときは、PCのCPUやメモリよりもグラボの性能が重要です。
StableDiffusionではVRAMが12GB以上であることが推奨されていますが、普通のゲーム用のグラボでは8GBのものが多いです。
経験上、一回のプロンプトで一発で望みの絵が出ることは少なく、10枚ぐらい出力してそこから近づけていく作業をします。
しかしVRAMが低いと1枚を生成する時間が長くなってしまいます(完全にVRAM依存ではないですが)
1枚の生成する時間が長いと、最終的なゴールまでの時間も多くかかってしまうので、推奨要領である12GBのグラボを買うことをお勧めします。
VRAMが低い=一度に計算できる数が少ない=生成速度が遅い
そのため解像度の高い絵を生成するのに時間がかかるだけでなく、生成できない可能性もあります(2GBや4GBなど)
Controlnet等、拡張機能を複数使用する場合やLora等の学習を行う場合は、より顕著にVRAMの差が出ます。
そのため単純にAIで出力してみたい。というだけでなく、その一歩先で色々やってみたい方は是非12GB以上を購入してみてください。
ちょっと試すだけなら、下記のような無料AI画像生成サービスを使うのも良いです。
コメント