AIイラスト生成ツール(Stable Diffusion)の導入方法と使い方のコツ

2023年9月7日生成AI(イラスト・歌)

Stable Diffusionにて生成

Stable Diffusion

導入方法

以下のサイトが分かりやすかったです。
ただし手順通りにやると「RuntimeError: Cannot add middleware after an application has started」というエラーが出るので、「update.bat」を実行する手順を加えてください。
Stable Diffusionのインストール方法を紹介!【初心者でも簡単なインストール方法と使い方】

大まかな手順
①「python-3.10.6-amd64.exe」をダウンロードし、実行してインストールする。
②「Git-2.41.0-64-bit.exe」をダウンロードし、実行してインストールする。
③「sd.webui.zip」をダウンロードし、任意のフォルダに解凍する。(Cドライブで良いと思います。)
③で解凍したフォルダ内の「update.bat」を実行。
⑤③で解凍したフォルダ内の「run.bat」を実行。
⑥「ChilloutMix」をダウンロードし、フォルダ「C:\sd.webui\webui\models\Stable-diffusion」内にダウンロードした「chilloutmix_NiPrunedFp32Fix.safetensors」を移動する。
※ダウンロードにはアカウント作成が必要です。
 Googleアカウントを持っている方はGoogleアカウントでも可能。
 フォルダのアドレスは③でCドライブに解凍した場合のものです。
⑦フォルダ「C:\sd.webui\webui」内の「webui-user.bat」を起動する。
⑧コマンドプロンプトが止まったら「http://127.0.0.1:7860/」をブラウザに入力して起動する。
※Stable Diffusionを使用している間はこのコマンドプロンプトは閉じてはいけません。
 閉じてしまうと画像生成の際に接続エラーとなります。

呪文(プロンプト)

生成したい画像のキーワードに加えて以下のプロンプトを追加すると画質が向上したりします。

「()」をつけるとそのプロンプトが強調されます。
また、「()」の数が多いほど強調度合いも大きくなります。

「○○:2」のように指示することでそのプロンプトの重みを直接指定することが出来ます。
この場合は○○の重みを2倍にすることになります。

画質向上のプロンプトの例
quality8k,
quality4k,
realistic,
photorealistic,
Unreal Engine,
best quality,
masterpiece, ←写実風のイラストでオススメ
super fine illustration, ←アニメ風のイラストでオススメ
detailed beautiful eyes, ←アニメ風のイラストでオススメ
※文章をプロンプトにしたい場合は、上記の画質向上のプロンプトは入力せずに、文章だけを入力した方が入力した文章に忠実なイラストを生成することが出来ます。
 上記のプロンプトと文章を同時に入力した場合、文章とは無関係な景色・女性・ネコなどが出力されることが多いです。

人物の顔に関するプロンプトの例
close up of face shot,
small smile,

人体の崩れを防ぐプロンプトの例
perfect proportion,
perfect face,
perfect legs,
perfect fingers,
perfect hands,
※fingersよりもhandsのほうがマシな手になる可能性が高いです。

ネガティブプロンプトの例
paintings,
sketches,
(worst quality:2),
(low quality:2),
(normal quality:2), ←オススメ
lowres,
normal quality,
((monochrome)),
((grayscale)),
split view,
grid view,
bad hands, ←オススメ
bad eyes, ←オススメ
nsfw, ←オススメ
※ネガティブプロンプトにnsfwを入れておくと、不健全な画像の生成を防ぐことが出来ます。

※2023年9月6日追記
基本的にプロンプトは増やせば増やすほど良いというものではなく、むしろ最低限の方がプロンプトのニュアンスを反映してくれているように感じます。
なのでイラストのクオリティを上げるプロンプトやネガティブプロンプトも最低限の方が良さそうです。
例:画質向上のプロンプトは「masterpiece」のみ、画質向上のネガティブプロンプトは「paintings,(worst quality:2),bad hands,bad eyes」のみ等

人間に指示を出すのと同じで要点を抑えたシンプルな指示がベストということですね。
無駄に複雑な指示は混乱を招くだけです。

画像からプロンプトを作成する方法

Interrogate DeepBooruという機能を使えば、既存の画像からその画像を構成するプロンプトを作成することもできます。

このいらすとやの画像の場合

①img2imgに画像を張り付ける。
②Interrogate DeepBooruボタンをクリックする。これだけです!

試しに生成されたプロンプトを使ってtxt2imgでイラストを生成すると以下のようになります。
そっくりになるわけではないようですが、参考にはなりそうです。

指の修正方法

AIイラスト生成は手、特に指の描画が苦手なことで有名です。
生成した画像の指が気になる場合は、以下の手順で改善する可能性があります。

①「negative_hand-neg.pt」をダウンロードする。
 ※ダウンロードにはアカウント作成が必要です。
 Googleアカウントを持っている方はGoogleアカウントでも可能。
②フォルダ「C:\sd.webui\webui\embeddings」内にダウンロードした「negative_hand-neg.pt」を移動する。
 ※フォルダのアドレスは「sd.webui.zip」をCドライブに解凍した場合のものです。
③Stable Diffusionを起動する。
④Generateボタンの下の花札マークをクリック。
⑤Refreshボタンをクリック。
⑥ネガティブプロンプトの欄をクリックした後、Textual Inversionタブ内のnegative_hand-negをクリック。
 これでネガティブプロンプト内にnegative_hand-negのプロンプトが入力されたと思います。
 最初にネガティブプロンプトの欄をクリックしていないとプロンプト内にnegative_hand-negが入力されます。
⑦指が破綻しているイラストをimg2imgにプロンプトも含めて貼り付ける。
⑧「Send to inpaint」をクリック。
⑨指の部分を塗りつぶす(広い範囲を塗りつぶすのがベター)
⑩Denoising strengthを0.5に設定する。
⑪「generate」をクリックして再生成。

Sampling method

ノイズを除去していく方法のこと。
AIイラスト生成ツールはノイズだらけの画像から、ステップ数毎にノイズを除去することでイラストを生成しています。

Euler a:イラストの再現性が高い

DDIM:ステップ数が多い時に効率的

Sampling steps

ステップ数のことです。
ステップ数は大きいほど精細なイラストが生成されますが、大きくし過ぎると生成に時間がかかってしまいます。

私の場合は50で生成しています。

CFG scale

プロンプトの指示にどれぐらい忠実に従うかを決定する数値です。
大きくするほどプロンプトに忠実になりますが、イラストが破綻しやすくなるので7~11が適当とされています。

Script

Scriptを設定することで、CFG Scaleやサンプリングステップ数を変更した場合の変化を比較することが出来ます。

CFG scaleは7にした方が思ったものに近かったり、11にした方が近かったりするので、Scriptを「X/Y/Z plot」に設定して「CFG scale:7,11」に設定して比較するのがオススメです。

「Include Sub Images」にチェックをつけておけば、比較画像だけでなく生成した画像を個別に保存することが出来ます。

Seed値

一度生成した画像のSeed値を固定することで、プロンプトで表情・服装・ポーズをあらかじめ指定していれば、それだけを変更することが出来ます。
ただしimg2imgで生成したイラストでは出来ないようです。

Seed値は「PNG Info」タブに、生成したイラストをドラッグ&ドロップすることで確認できます。

Stable Diffusion以外のAIイラスト生成ツール

Leonardo.ai
1日150トークンの制限はあるものの、クオリティが高く機能も豊富。
img2imgも可能。

Finetuned Modelの違い
Vintage Style Photography→風景画
DreamShaper v5→アニメ風
Leonardo Diffusion→写実風
Leonardo Creative→デフォルメしたアニメ風(ちょっと「ねんどろいど」っぽい)
Leonardo Select→写実的なイラスト風
Leonardo Signature→写実的なイラスト風(ちょっと崩れる)
Stable Diffusion 1.5→初代PSくらいのCGっぽい
Stable Diffusion 2.1→PS2くらいのCGっぽい

Leonald.aiにて生成

canvaのText to Image
クオリティもそこそこ高く、何回でも無料で生成できる。
ただしネガティブプロンプトを入力できない。
img2imgも不可。

canvaのText to Imageにて生成

DreamStudio
クオリティは高いけど、何回か生成するとお金をチャージする必要がある。
img2imgも可能。

DreamStudioにて生成

fotor
こちらもクオリティは高いが、たったの3回でクレジットを追加しなければならない。

fotorにて生成

Stable Diffusion 2.1 Demo
無料だけどあんまりクオリティが高くない

mage.space
これも無料だけどあんまりクオリティが高くない

以上、参考になれば幸いです。