Stable Diffusion の【初心者用ガイド】

2023年5月23日

Stable Diffusionは、テキストの説明から画像を生成する画像生成AIです。本記事では、Stable Diffusionの使い方を画像付きで解説します。Stable Diffusionの使い方を学びたい方は、ぜひ本記事を参考にしてみてください。

広告

Stable Diffusionの操作画面

Stable Diffusionは設定項目が沢山あり、意味が分からず適当に操作して顔のゆがんだ女性画像や3本足など恐ろしい画像が生成される事が良く起こります。
まずは設定項目の意味や役割を理解して正しい画像が生成出来るように設定項目毎の画像の変化を見て行きます。

Stable Diffusion checkpoint

生成画像のイメージに合わせてモデル(チェックポイント)の変更を行います。


Sampling method

サンプリング方法とステップ数の役割

サンプリング方法の詳細

Stable Diffusion は、確率分布からサンプルを抽出する手法です。これは、ランダムな点を開始点として設定し、微分方程式に従って点を移動させるものです。微分方程式は、点が目的の分布に近づくように設計されており、一定時間移動した点をサンプルとして採用するかどうかを決定します。Metropolis-Hastings 法などを使用して採用するかどうかを決定し、この手順を繰り返していくことで、目的の分布から有効なサンプルを抽出することができます。

サンプリングステップ数は、同じ手順を何回繰り返すかを設定します。サンプリングステップ数が多いほど、より多くのサンプリングが行われ、より正確な結果が得られる可能性があります。ただし、サンプリングステップ数が多いほど、計算時間やコストも増加する可能性があるため、サンプリング手法の目的や応用に応じて、適切なサンプリングステップ数を選択する必要があります。

たとえば、画像の生成にサンプリング手法を使用する場合は、サンプリングステップ数が多いほど、より詳細な画像が生成される可能性があります。ただし、サンプリングステップ数が多いほど、画像の生成にかかる時間も長くなる可能性があります。

サンプリングステップ数を選択するときは、計算時間、コスト、および必要な精度を考慮することが重要です。


Restore faces

崩れがちな顔の補正を強力に行い、できるだけ左右対称を維持してくれます。

Tiling

生成した画像をタイルの様に並べても画像が繋がる壁紙の様な模様になります

Hires. fix

”Upscaler”(アップスケーラー)

低解像度の画像やを高解像度に変換するためのアルゴリズムやソフトウェアのことを指します。


“Hires steps"(高解像度でのステップ数)

画像の高解像度化において、拡大のステップ数を指します。具体的には、低解像度の画像を複数のステップで高解像度化することで、より滑らかで自然な画像を生成することができます。


”Denoising strength”(ノイズ除去強度)

画像のノイズ除去に使用されるパラメータの一つです。Denoising strengthを増加させると、より強力なノイズ除去が実行されますが、同時に画像の細部や微妙な構造が失われる可能性があります。一方、Denoising strengthを減らすと、画像の細部が保持されますが、ノイズ除去の効果が低下する可能性があります。適切なDenoising strengthの値を選択することが、高品質なノイズ除去結果を得るために重要です。


Width/Height

説明は不要だと思いますが、出力サイズの設定です。

デフォルト値は512pixel×512pixelなので㎝に直すと135.4㎜×135.4㎜になります。
写真のサイズが127㎜×89㎜なので330pixel×231pixelでも良いのですが画質も写真並みに落ちますので、512pixel×716pixel程度がベターかもしれません。

一々サイズ変更はめんどくさいと思います。プラグインを使えば簡単に変更できます お試しあれ‼

Batch count

こちらも説明は不要だと思いますが画像の生成数の設定です。

バッチ回数は 同時に何枚の画像を生成するのかの設定です。
バッチサイズはバッチ1回で何枚の画像を生成するかの設定です。

バッチ回数×バッチサイズになります。


CFG Scale

Stable DiffusionにおけるCFG Scaleの設定は、生成された画像の解像度や画像中のオブジェクトのサイズに応じて、ニューラルネットワーク(CNN)の構造を自動的に調整するためのものです。


seed

Stable Diffusionのシード(seed)は、乱数生成における種(seed)と同じように、ランダム性を制御するために使用されるパラメータです。GANやVAEなどの生成モデルでは、ランダムなノイズを入力として与え、その結果として画像を生成することが一般的です。しかし、同じノイズを入力として与えても、生成される画像が毎回異なることがあります。これは、モデルがランダム性を持っているためです。

一方、シードを使用することで、ランダム性を制御することができます。Stable Diffusionでは、シードを使用して生成モデルのランダム性を制御し、同じシードを使用して生成された画像を再現することができます。つまり、同じシードを使用していれば、生成される画像は同じであることが保証されます。これは、モデルのトレーニングや生成された画像の品質評価に役立ちます。

ただし、シードを使用することで、生成される画像の多様性が制限されることにも注意が必要です。同じシードを使用して生成された画像は同じであるため、異なる画像を生成する場合には、異なるシードを使用する必要があります。したがって、シードの使用は、モデルのランダム性と生成される画像の再現性というトレードオフの関係にあります。


→ボタン

←はテキストプロンプトが消えて空になった場合、直前のテキストプロンプトや設定を復活させる物です。
あまり使い道が無いかもしれません。

止まった時のの保険様な物だと思って下さい。

ゴミ箱・ボタン

説明する必要もないですがテキストプロンプトを消すものです、他の設定はリセットされません。
←ボタンで復活できますが・・・。

花札・ボタン

テキスト反転・ハイパワーネットワーク・チェックポイント・LORAファイルが収納されています。

テキスト反転(Textual lnversion)

Stable Diffusion の テキスト反転とは、テキストから画像への変換モデルの一種です。テキスト反転では、テキストプロンプトに対応する画像を生成するだけでなく、その画像がテキストプロンプトにどれだけ適合しているかを評価することもできます。テキスト反転は、画像の品質や多様性を向上させるために、ノイズ除去のプロセスを逆に行うことで実現されます。

Stable Diffusion の テキスト反転は、ファインチューニングの手法の一つでもあります。ファインチューニングでは、数枚から数十枚程度の画像を使って、Stable Diffusion に新しいキャラクターや新しい画風を学習させることができます。テキスト反転は、ファインチューニングにおいて、画像とテキストの対応関係を調整する役割を果たします。

ハイパワーネットワーク(Hypernetworks)

ハイパワーネットワークとは、Stable Diffusion のファインチューニング手法のひとつです。ハイパワーネットワークでは、数枚から数十枚程度の画像を使って、Stable Diffusion に新しいキャラクターや新しい画風を学習させることができます。ハイパワーネットワークは、画像の特徴を抽出する小さなネットワークであり、Stable Diffusion の本体とは別に学習されます。

ハイパワーネットワークでできることは、自分の好きなキャラクターや画風をStable Diffusion に反映させることです。例えば、アニメやゲームのキャラクターの画像を使って、Stable Diffusion にそのキャラクターの特徴を覚えさせることができます。また、自分で描いたイラストや写真などの画像を使って、Stable Diffusion にその画風を覚えさせることもできます。そうすると、テキストプロンプトからそのキャラクターや画風に合った画像を生成することができます。

チェックポイント(checkpoints)

MODELのことです。Stable Diffusion checkpointでも選択できますがこちらはイメージを画像が貼り付けられますので分かり易く便利です、画像の生成が条件ですが。

Lora

ファインチューニングされた学習データーです。

バインダー・フロッピーディスク・Styles(スタイル)

ディスク
テキストプロンプト 正・否を記録するボタンです。
両方又は片方を記憶させてパーツとして使い分ける事が出来て便利な機能です。

Stylesは記録したプロンプトを呼び出す際に使用します、横のリサイクルボタンは更新ボタンですリストに出てこない時は押してください。

バインダーですがは呼び出したプロンプトを文字にして貼り付けてくれます。


スクリプト(Script

Prompt matrix (プロントマトリクス図)

プロンプトマトリックスは、画像生成AI「Stable Diffusion」でプロンプトやパラメータを変えるとどういう差が出るか一目でわかる機能です。プロンプトは、画像生成時に入力する文字列です。通常は、「,」でキーワードを区切りますが、「|」で区切ることで総組み合わせして画像を生成できます。例えば、「近代都市のせわしない街道, イラスト, 映画のような照明」というプロンプトで画像を生成しますが、プロンプトマトリックスでは「近代都市のせわしない街道 | イラスト | 映画のような照明」と入力することで、「近代都市のせわしない街道」に「イラスト」と「映画のような照明」を組み合わせた画像を生成できます。

Prompts from file or textbox(ファイルまたはテキストボックスからプロンプトを入力)

「Prompts from file or textbox」は、画像生成AI「Stable Diffusion」で、テキストファイルやテキストボックスに入力されたプロンプトを順番に実行する機能です。テキストファイルにプロンプトを保存することで、画像を大量に生成したり、複雑なプロンプトを生成したりすることができます。

テキストファイルを作成するには、テキストエディタで、各プロンプトを改行で区切って入力します。例えば、「近代都市のせわしない街道」「イラスト」「映画のような照明」というプロンプトを生成したい場合は、「近代都市のせわしない街道\nイラスト\n映画のような照明」と入力します。テキストファイルを作成したら、Stable Diffusionで「Prompts from file or textbox」を選択して、テキストファイルをアップロードします。Stable Diffusionは、テキストファイルに記載されているプロンプトを順番に実行して、画像を生成します。

「Prompts from file or textbox」は、画像生成の効率化に役立つ機能です。大量の画像を生成したり、複雑なプロンプトを生成したりしたい場合に、この機能を利用することができます。

トヨタのC-HRを色々な画像形式で生成したいと思います。

Excelで単語を連結表示させます。
連結させるのはこちらのサイトを利用させていただきました。

車、C-HR、3Dレンダリング、抽象芸術
車、C-HR、白黒写真、抽象表現主義
車、C-HR、ブロンズ彫刻、抽象的幻想
車、C-HR、漫画、アカデミックアート
車、C-HR、洞窟壁画、アクション絵画・・・・

連結させたプロンプトをコピペして生成されたのがこちらです。

大量の画像を色々な形式で生成するには便利な機能です。
リストを作るのは大変面倒ですが機会が有れば試してみてください。

X/Y/Z plot(X/Y/Zプロット

Stable Diffusionでより良い画像を生成するコツの1つは、cX/Y/Z plotを使用することです。cX/Y/Z plotは、Stable Diffusionのさまざまなパラメータとそれらが画像に与える影響を確認するために使用できるツールです。