Stable Diffusion(ステイブル・ディフュージョン)とは、2022年に公開された画像生成AIサービスである。略してSDとも呼ばれる。
潜在拡散モデルという技術を使って高品質な画像生成を実現しており、オープンソースかつ無料で利用できることもあいまって、2024年現在NovelAI Diffusion(以下NAI)などと共に主流となっている画像生成AIサービスであると思われる。
特徴
簡単なテキスト(これをプロンプトと呼ぶ)で描かせたい内容を指示して画像を生成するtxt2img機能と、元になる画像を加工して新たな画像を生成するimg2img機能に対応している。
NAIとの比較
Stable Diffusionと共に主流となっている画像生成AIサービスであるNAIとは、以下のような点が異なっている。これから画像生成AIに触れたいがどのサービスを利用するか迷っている人は参考にしてほしい。
なお、以下の表においてStable Diffusionはローカル版の利用を想定している。
| Stable Diffusion | NAI | |
|---|---|---|
| 初期費用 | ある程度のグラボを搭載したPCを用意する必要がある。 | 普通のPCまたはスマホで利用できる。 |
| 利用料金 | 無料。 | 有料。 サブスクプランの加入または都度課金が必要で、無制限で画像を生成できる最上位のプランは月額$25。 |
| プロンプトの反応性 | 使用するモデルにもよるが、基本的にプロンプトの反応性はNAIに劣る。 | 良好。 |
| 拡張性の高さ | モデルの変更やLoRAの使用、さらにはControlNetなどの拡張機能によって画風や構図を自由自在に変えられる。 | モデルの変更はアップデートによるもののみで、拡張性に乏しい。 |
利用方法
Stable Diffusionは大きく分けて、WEB上で動作させる方法とローカルで環境を構築して動作させる方法がある。
WEB上ではHugging Face、DreamStudioなどのサイトで公開されており、難しい技術などは一切不要で手軽に利用できるが、機能が著しく制限される、または課金が必要なため、多くのユーザーはローカルに環境を構築して利用している。
ローカル版は更に、ブラウザ上で動くStable Diffusion Web UIと、専用のアプリケーションを使うNMKD Stable Diffusion GUIがある。それぞれの特徴は以下のとおりである。
- Stable Diffusion Web UI(以下WebUI版)
- PythonやGitなどのツールを利用してローカルに環境を構築し、Webブラウザで動作させる。拡張性の高さなどから、2024年現在最も利用者が多いと思われるStable Diffusionである。導入までの技術的なハードルはやや高いが、ユーザー数が多い分ノウハウも蓄積されており、不明な点をすぐに調べたり聞いたりしやすい点もメリット。
AUTOMATIC1111氏が公開するAUTOMATIC1111版や、AUTOMATIC1111版よりも高速で動作するForge版、独特なUIを持つConfyUI版などがある。ただし前者2つはNVIDIA製グラフィックボードを積んでいるのが前提。 - NMKD Stable Diffusion GUI(以下GUI版)
- 専用のアプリケーションをダウンロードし、それをローカルで動作させる。WebUI版と比べると手軽に導入できるのがメリットだが、拡張性では劣る。とはいえバージョンが上がるごとに利用できる機能が充実してきており、ControlNetなどの高度な拡張機能を必要としないのであればこちらを使うのもアリだろう。
AUTOMATIC1111版とは違いRadeonでも動く。
モデル
Stable Diffusionで画像を生成するには、Stable Diffusion本体のほかにモデルという学習データファイルを用意する必要がある。
Stable Diffusionにはデフォルトのモデルも用意されているが、これは二次元絵などの生成には向いていないため、そのような画像を生成したい場合は別途モデルをダウンロードして適用することになる。モデルはCivitai
などのサイトで探すと良いだろう。どのモデルを使用するかによって生成画像がまったく変わってくるため、プレビュー画像などを参考にしながら使用するモデルを検討していこう。
またStable Diffusionにはモデル同士を組み合わせる(マージする)機能が備わっており、これを利用して自分で新たなモデルを作り出すこともできる。
ただしモデルにはそれぞれ生成物の公開や商用利用に関する利用条件が定められており、その利用条件を逸脱しない範囲での利用を求められる。特に二次元絵の生成に特化したモデルの多くはNAIリークモデルの要素が含まれている可能性があり、これらに関してNAI側が法的措置を検討していると表明していることから、その利用にリスクが伴うことは留意すべきである。
また、モデルはベースとなったモデルによってSD1.5系・SDXL系に分けられ、SDXL系はさらに派生形となるpony系モデル・Illustrious系(以下、IL系)モデルなどが存在する。それぞれ必要とされるPCスペックや対応するLoRAなどが違うため、その点も考慮してモデルを吟味しよう。
SDXL系は総じてSD1.5系よりも高品質な画像を生成できるが、要求されるPCスペックの高さや対応するLoRAが少ないことから現在もSD1.5系を愛用するユーザーは多い。
pony系モデルは な画像の生成に強いとされているが、プロンプトの記述方法が独特で扱いには慣れが必要。
IL系モデルは2024年下半期に登場したばかりで発展途上だが、従来のモデルと比べてプロンプトの反応性向上や崩壊率の低減などが図られており、ポテンシャルの高さが注目されている。これにより、従来のモデルが苦手としてきた版権キャラの出力も、マイナーなキャラでなければLoRAに頼らずともやりやすくなっている。
利用者の多いモデル、あるいはかつてよく使われていたモデルには以下のようなものがある。(太字は記事あり)
二次元・アニメ系 |
実写・リアル系 |
基本的な使い方
- 使用するモデルをセットする。
- (img2imgの場合のみ)ベースになる画像を読み込む。
- プロンプト欄に描いてほしい内容を入力する。
例:ヒマワリ畑に佇む白髪ロングの少女を描いてほしい場合
→“1girl, white hair, long hair, standing, sunflower field”のように入力 - ネガティブプロンプト欄に描いてほしくない内容を入力する。
この欄は主に“low quality”や“bad anatomy”といった品質が下がるワードを入れるのに使う。 - サンプリングステップ数を設定する。
低いと中途半端なクオリティになってしまう反面、高いと生成にかかる時間が長くなってしまう。またステップ数が高いからといって必ずしも高クオリティになるとは限らない。使用するサンプリングメソッドにもよるが、大体20~50くらいが目安。 - Width値とHeight値を調節して、生成画像の解像度を設定する。
後述するが、ただ解像度が変わるだけでなく生成画像の品質にも関わってくるため、できるだけ各モデルごとの推奨値に近い値を設定しよう。 - CFGスケールの値を調節する。
大きくするほどプロンプトに忠実な画像が生成されやすくなり、小さくするほどランダム要素が増えて生成ガチャがしやすくなる。 - Generateを押して生成開始!
使い方のヒント
- Q. 千手観音が生成されてしまう
- Q. デュラハンが生成されてしまう
- Q. ケンタウロスが生成されてしまう
- Q. その他、よくわからないクリーチャー的なのが生成されてしまう
- EasyNegativeなどを導入してネガティブプロンプトにぶち込め。
- Q. 版権キャラが生成できない・生成されにくい
- Stable Diffusionのモデルは、総じてNAIと比較するとプロンプトのみで版権キャラを生成するのが難しい傾向にあるようである。キャラ名のみで再現できるキャラとなると、おそらく初音ミクレベルの超有名キャラに限られてくるだろう。
再現したいキャラのLoRAが配布されているなら、それを適用することで再現率がぐっと上がるので活用してみよう。無ければLoRAを自作するか、頑張ってプロンプトを組み合わせて再現するしかない。
なお、IL系モデルではこの欠点はある程度解消された模様。 - Q. 一部のプロンプトの効きが悪い
- モデルによっては、一部のプロンプトの効きが悪い場合がある。そのような場合、以下のような対処を実践することで改善する場合があるので試してみよう。
- Q. 生成された画像がくすんだ色になってしまう
- VAEの内蔵されていないモデルをそのまま使うと、くすんだ色の画像が生成されてしまう。その場合は、別途VAEをダウンロードして適用することで鮮やかな画像を生成できるようになる。
- Q. 画像の一部がドギツイ色になってしまう
- 画像の一部だけ不自然な極彩色になる場合は、サンプリングメソッドの設定が不適切である可能性がある。使用しているモデルが推奨しているサンプリングメソッドがあるなら、それを使おう。
- Q. 手指が崩壊する・崩壊しやすい
- 残念ながら仕様なので回避は難しい。以下の対処法でどうぞ。
- Q. 人物の胴体が異様に長くなる・短くなる
- Q. 頼んでもいないのに人物が勝手に増える
- アスペクト比を見直してみるといいかも。
画像生成AIは被写体をキャンバスいっぱいに描こうとする傾向があるようで、縦に長すぎるキャンバスだと人物もそれにあわせて胴体が長くなってしまったり、横長のキャンバスで立ち絵や抱き枕画像を描かせようとするとプロンプトを無視して人物を勝手に増やしてしまったりすることがある。そのような場合、適正なアスペクト比に設定することで改善する可能性があるので試してみよう。
うまくいかない場合は、「full body(全身)」「cowboy shot(太腿から上)」「dutch angle(斜め構図)」などのプロンプトで描画する範囲を調整するか、ControlNetやRegional Prompterなどの拡張機能に頼ることも検討すべし。
また、SD1.5系モデルは512×512、ponyやIL系を含めたSDXL系モデルは1024×1024のサイズがベースになっており、同じアスペクト比でもこの数値から離れるほど崩壊率が高くなる。より高解像度の画像を出力したい場合は、オプション機能のhires.fixなどを利用すると良い。 - Q. hires.fixを適用すると画像がぼやける
- Q. hires.fixを適用すると余計な描き込みが追加される
- hires.fixなしだと正常に出力されるのに、hires.fixを適用したら画像がぼやけたり、余計な描き込みが追加されたりする場合は、hires.fix内のノイズ除去強度を調整する。
一般的に、ノイズ除去強度を低くするとhires.fix適用前に近い出力結果になる代わりにぼやけやすくなり、逆にノイズ除去強度を高くするとぼやけにくくなる代わりにhires.fix適用前から逸脱しやすくなる。ノイズ除去強度の数値を調節して、上記の症状が出ない数値を見つけよう。
どんなにノイズ除去強度を調節してもどちらかの症状が現れてしまう場合は、アップスケーラーを変えてみるのも手。個人的なオススメは、低めのノイズ除去強度でもぼやけにくい4x-UltraSharp。
関連動画
関連リンク
- GitHub - AUTOMATIC1111/stable-diffusion-webui
- NMKD Stable Diffusion GUI
- Hugging Face - Stable Diffusion 2.1
関連項目
親記事
子記事
- なし
兄弟記事
- 4
- 0pt

