画像生成AIの「Stable Diffusion」をコマンド操作不要で簡単に使えるソフト「NMKD Stable Diffusion GUI」 が 2022/10/17 に更新されました!
現在の最新版はバージョン 1.6.0 です。
↑追記(2023):現在はより新しいバージョンが公開されています
話題の DreamBooth をコマンド操作不要で簡単に実行できる凄い機能も追加されています。(要 VRAM 24 GB)
なおソフトの概要・詳しい使い方に関してはこちらのページをご参照ください。
入力したテキストから画像を生成したり、自分が描いた落書きに説明テキストを加えれば思い通りの絵に変えたりできるAI「Stable Diffusion」 ↑a sleeping cat in the hot spring (温泉で眠る[…]
追記:より新しいバージョンが公開されたので情報を追加しました
現在は新バージョンが公開され、機能も更に追加されています。
他のバージョンの追加機能を確認したい場合は以下のページをご覧ください。(画像クリックで該当ページに移動できます)
NMKD Stable Diffusion GUI 記事一覧
Ver. 1.5.0 → Ver 1.6.0 の変更点
※以下要点です。詳しい公式発表はこちら。
動作条件
※最新版の動作条件はこちらをご覧ください。
推奨は VRAM 8GB 以上、DreamBooth を使用するなら VRAM 24 GB 以上です。
ソフトのインストール・更新方法
2023/3/29 追記:現在の最新バージョンのインストール方法はこちらのページに記載しています。
ソフトの使い方
※初めて NMKD Stable Diffusion GUI を使う方はまずは上記リンク先を見て、基本的な使い方を先にご確認ください。
なお、画像(+説明文章)から画像を生成する(img2img)のやり方はこちらです。
画像生成AI「Stable Diffusion」は入力したテキストから画像を生成するだけでなく、画像と説明テキストを入力すればそこから思い通りの画像を生成できる img2img も利用できます。 例えばMSペイントで描いたこん[…]
以下、本ページではバージョン1.6.0の新機能に絞って概要や使い方を説明していきます。
なお、ソフト画面は最新版のものに適宜差し替えています。
プロンプト強調構文
基本的な使い方
※バージョン 1.7.0 以降、構文の仕様が変わりました。
使い方は以下のページをご覧ください。(旧構文との互換性についても記載)
画像生成AIの「Stable Diffusion」をコマンド操作不要で簡単に使えるソフト「NMKD Stable Diffusion GUI」 のバージョン1.7台の新機能・変更点です。 含まれるバージョン 1.7.0 / 1.7.1 […]
他の構文との違い・使い分け
ネガティブプロンプト と 強調弱め「-」
ネガティブプロンプトに指定した要素は含まれないよう除外される一方、「-」で強調弱めに指定した要素は画像中にちゃんと含まれ、画像の中の他の要素に対して相対的に控えめになるだけです。
強調弱め「-」は要素を出さないのではなく、あくまで「控えめに出す」構文になります。
(完全に出したくない場合はネガティブプロンプトを使用する)
重み付きプロンプト と 強調弱め「-」
重み付きプロンプトは各語句の強調度合い(重み)を数値で指定できる機能です。
※詳しい使い方は以下で説明しています。コロン : で語句の後ろに重み数値を付け足すだけです。
画像生成AIの「Stable Diffusion」をコマンド操作不要で使えるソフト「NMKD Stable Diffusion GUI」で利用可能な便利機能をまとめました。 有志が作成した色々なオリジナルモデル(アニメイラスト特化、特[…]
それでは、構図はそのまま維持しながら雲量だけ調整するために各語句に重みを割り当ててみます。
- photo of blue sky with clouds
- photo of blue sky:1 with clouds:0.1
- photo of blue sky:1 with clouds:-0.25
- photo of blue sky:1 with clouds:-0.3
重みにはマイナスの値も指定することができます。
正の値では小さくしても「要素を控えめにする」ぐらいの効果ですが、負の値にすれば「要素を除外する」効果も現れ最終的にほとんど雲を消すこともできています。
一方で、24 個もの大量の中括弧 { } で clouds を控えめにした生成結果はこちらになります(※)。
(※)追記:上記は旧構文。対応する新構文は次の通り
photo of blue sky with (clouds)------------------------
"photo of blue sky with {{{{{{{{{{{{{{{{{{{{{{{{clouds}}}}}}}}}}}}}}}}}}}}}}}}" -s 50 -S 1463371648 -W 512 -H 512 -C 7.5 -A k_euler_a
大量に控えめ構文を重ねたとしても、重みで 0.1 を指定したときに比べて雲量は多いです。
これ以上控えめ構文の数を増やしても生成結果はほぼ変わりません。
このように控えめ構文「-」では要素の除外は難しいので(そもそも用途外)、このような場合はネガティブプロンプトを使用するのが良いと思います。
※今回は重み付きプロンプトとの比較でしたが、使い勝手があまりよくないので可能な限りネガティブプロンプトの使用をおすすめします。
ちなみに重み付きプロンプトでは、雲量を増やすために clouds の重みを 1 より大きくすることも可能です。
重み付きプロンプトを使う場合は数値で細く指定できる点がメリットになります。
ただ、場合によっては語句の重み指定がうまく作用してくれなかったり画像中の各要素の形状や色調がおかしくなってしまうこともあるので、結局簡単な強調構文を重みの代わりに使った方が良い場合が多いです。
モデルファイルのクイック切り替え
ソフト画面で Ctrl + M のショートカットキーを押すとモデルのクイック切り替えメニューが現れます。
矢印キーでモデルを選択し、Enter を押せば使用モデルが切り替わります。
モデルを選択するためにいちいち Settings 画面まで移動しなくて良くなったので便利ですね。
モデルフォルダマネージャー
モデル保存先フォルダが任意個数登録可能になりました。
モデルをどこか共通のフォルダに保存しておけば、今後 NMKD Stable Diffusion GUI の新バージョンを入れたときにいちいちモデルをコピーして移し替えなくても良くなります。
NMKD Stable Diffusion GUI 以外の Stable Diffusion 環境を使用している場合もモデルファイルを共用できるのでディスクスペースの節約になります。
手順
画面右上の歯車マークのボタンから Settings 画面に移動します。
設定項目 Stable Diffusion Model File のところの右端にあるボタン「Folders...」をクリックします。
モデルフォルダ登録画面になりました。
右上にある「+」ボタンを押すとフォルダ選択画面になるので、モデルの保存先フォルダを開いて追加してください。
下のリストにフォルダが登録されればOKです。
登録済みのフォルダ内にある モデル (.ckpt ファイル) がソフトのモデル選択機能で選べるようになります。
なお、下のリストでフォルダを選択してから「-」ボタンを押せば登録解除、フォルダボタンを押せば該当フォルダのエクスプローラーでの表示ができます。
ポップアップ画像ビューア
ソフト画面でプレビュー画像をクリックすると画像ビューアがポップアップ表示されます。
この画像ビューアを閉じるには Esc キー を押せばOKです。
右クリックメニューから様々な便利な機能を呼び出せます。
本ページに記載していた説明は古くなったので、最新の説明はソフトマニュアルのこちらの項をご覧ください。
ショートカットキー
ソフト操作がショートカットキーでできるようになりました。
バージョン1.6.0時点で使用可能なショートカットキーは以下の通りです。
※最新の全ショートカットキーはソフトマニュアルのこちらの項をご覧ください。
キー | 機能 |
Ctrl + G | 画像生成を実行 / 画像生成中なら生成をキャンセル |
Ctrl + M | モデル切り替え |
Ctrl +「+」 | プロンプト入力欄の大きさを切り替え |
Ctrl + Delete | 現在表示中の画像を削除 |
Ctrl + Shift + Delete | 現在のバッチで生成された全ての画像を削除 |
Ctrl + O | 現在表示されている画像を開く |
Ctrl + Shift + O | 現在表示されている画像のあるフォルダを開く |
Ctrl + V | クリップボードの画像を貼り付け |
Ctrl + Q | 終了 |
Ctrl + ホイールスクロール | プロンプト入力欄で文字サイズを拡大・縮小 |
F1 | ヘルプを開く |
F12 | 設定画面 (Settings) を開く |
※バージョン 1.5.0 ではプロンプト入力欄でマウスホイールを回転させることで文字の拡大・縮小ができていましたが、バージョン 1.6.0 以降は Ctrlキーを押しながらマウスホイールを回転させる仕様に変わりました。
Dreambooth (注:情報不足)
Dreambooth は好きな画像を学習させてオリジナルモデルを作成できる機能です。
自分の家の猫や自作キャラクターを DreamBooth トレーニングで学習させてモデルファイルを作成し、そのモデルを使って好きな画像を生成できるようになります。
しかし実行環境のハードルが高く、推奨 VRAM 容量は 24 GB 以上とのこと…。
RTX 4090, RTX 3090 Ti, RTX 3090 をお持ちの方であれば実行できますね! (いいな~)
私の環境ではVRAMが8GBしかなく Dreambooth を実行できません…。
追記(2023/3/30):現在は VRAM 24 GB 未満でも実行自体はできるようになりました。ただし、VRAM 不足の環境で正常に機能するかは分かりません。
大変申し訳無いのですが以下、公式ドキュメントを参考に説明できる範囲までしか記載していません。
詳しくは公式ドキュメント、または誰かの実行例をご参照ください。
公式ドキュメント
Somewhat modular text2image GUI, initially just for Stable D…
推奨システム要件
- GPU: 24 GB VRAM を搭載した Nvidia GPU、Turing アーキテクチャ (2018) 以降
- RAM: 32 GB の RAM
- ディスク: NVME SSD に 12 GB (一時ファイル用に別の空き 30 GB を推奨)
大量のVRAMを消費するため、DreamBooth トレーニング実行中は他のアプリやゲームを閉じてください。
24 GB 全てを使用できないとトレーニング速度が大幅に低下するみたいです。
※VRAM が 24 GB に満たない環境で実行しようとすると、以下のような警告メッセージが出ます。
「お使いのGPUは ○ GB VRAM のようですが、DreamBooth トレーニングには現在 24 GBが必要です。それでも続行しますか?」
Yes を選べば、無理矢理実行画面に移れます。
トレーニング方法
訓練用画像の準備
訓練用の画像は4~20枚が推奨で、量より質と念押しされていました。
画像サイズは 512×512px が推奨ですが、それ以外のサイズの場合は自動でリサイズしてくれます。
訓練させたいキャラクターや物をさまざまなポーズやシナリオで表現した画像を使用してください。
背景にもバリエーションがあったほうが良いようで、全画像の背景が真っ白だとモデルが別の背景を生成するのが難しくなるみたいです。
<良くない画像の例>
- 低画質の画像
- 訓練対象の被写体がはっきりしない乱雑な画像
- 変わったポーズ
DreamBooth 画面を開く
ソフト右上の赤枠で囲ったボタンをクリックします。
DreamBooth の画面が開きました。
各設定を調整する
Base Model (Train on Top of This)
ベースとするモデルの選択です。
テンプレートとして使用するモデルを設定します。訓練対象の新しいキャラクターや物が選択したモデルの中に追加されます。
モデルは 4 GB 級の float-32版 の.ckpt ファイルが推奨されています。
( "full-ema" 版でも動作しますが、float-32版を超えるメリットは無いようです。また、2 GB 級の float-16版モデルも使用できるみたいですが、品質が若干低下する可能性があるようです)
Training Preset
訓練プリセットの選択です。
訓練には本来様々な設定値を手動で調整する必要があるのですが、操作を簡単にするために開発者さんが調整済みの設定(プリセット)をいくつか用意してくれています。
Quality (品質) が高いプリセットほど生成するモデルの質が高くなる一方、訓練自体に時間がかかります。
最も良い品質のプリセットが推奨されています。
プリセット名 | 訓練ステップ数 | 所要時間目安 (RTX 3090) |
Very High Quality | 4000 | 約80分 |
High Quality | 2000 | 約40分 |
Medium Quality | 1000 | 約20分 |
Low Quality | 250 | 約6分 |
Training Images Folder
訓練用画像の入ったフォルダを指定します。
Class Token (Override This Class)
クラストークン (学習させた物やキャラクターをプロンプトで入力するときの名前) を指定します。
例えば自分の家のサバトラにゃんこを学習させるのであればクラストークンに「silver tabby cat」と指定すれば、作成したモデルファイルを使うときにプロンプト中で「silver tabby cat」と入力することで自分の家のサバトラにゃんこが出てくれます。
※実際に試していないのでクラストークン中に半角スペースが使えるか確認できていません。もし使えなかったらすみません…!
既存のキャラクターを学習させる場合は、ベースとするモデルで既に認識されているキャラクター名をクラストークンに指定した方が良いみたいです。
例えばニャースのイラストで学習させる場合、適当に nya-su をクラストークンにするよりも meowth (ニャースの正式な英語名) をクラストークンにした方が良いみたいです。
(ベースとするモデルである程度訓練されているキャラなら、それを今回の追加訓練のベースにした方が品質が良くなるのかな)
注意として、クラストークンに man や person といった汎用的な名詞を使用するとプロンプトでそれらの語が (今回学習させたキャラを生成させる目的以外で) 使えなくなってしまいます。
Learning Rate
※通常は Normal 設定で良いみたいですが、学習したモデルが正しくデータを学習していないようであればこの値を大きくしてみてください。
Learning Rate が高すぎるとオーバーフィットしてしまい訓練画像とほぼ同じ画像しか出力できない柔軟性に欠けるモデルになってしまったり、視覚的な品質が低下してしまったりする場合があるようです。
Training Steps
訓練を何ステップで行うかという設定です。
ステップ数が多いほど生成するモデルの質が高くなる一方、訓練自体に時間がかかります。
Training Preset の項目でプリセットを選ぶとこの Training Steps が自動で設定されますが、手動でステップ数を調整することも可能です。
訓練の開始
設定が終わったら、画面左下の「Start Training」ボタンを押して訓練を開始してください。
訓練が終わるとモデルファイル (.ckpt) が生成するのでこれからの画像生成で利用できます。