画像生成AIの「Stable Diffusion」をコマンド操作不要で簡単に使えるソフト「NMKD Stable Diffusion GUI」 のバージョン1.7台の新機能・変更点です。
1.7.0 / 1.7.1 / 1.7.2
なお2023/3/30時点の最新版はバージョン 1.9.1 です。
プロンプト周りの仕様が大幅に変更されて分かりやすくなったほか、img2img での複数画像指定、カスタムVAEモデルへの対応など数多くのユーザー待望機能が追加されています。
Ver. 1.6.0 → Ver 1.7.2 の変更点
※以下要点です。1.7.0 と 1.7.1 の更新内容を含みます。
※各機能の詳しい説明は「※基本事項」の項の次に記載しています。
※ソフトダウンロード先:NMKD Stable Diffusion GUI - AI Image Generator
重要な仕様変更
- プロンプトとネガティブプロンプトの入力欄が別々になった
↑ [ ] でネガティブプロンプトを囲む従来の構文も使用可能 - プロンプト強調構文の文法が変更され直感的に
↑(強調度を強めたい語句)+ or (強調度を弱めたい語句)-
↑+ や - の数を増やして度合いを強められる。+-の代わりに数を入力すれば強調度を直接数値指定可能
↑( ) や { } で語句を囲む従来の構文も使用可能 - 以前のソフトバージョンで使用されていた古い構文を入力すると自動で新構文に変換される
↑Automatic1111版(別ソフト)の構文にも対応。自動でNMKD新構文に変換される
新機能の追加
- 複数画像を指定して同じプロンプトや設定でまとめて img2img できるように
- プロンプト文がワイルドカードに対応
↑テキストファイルから語句リストを読み込んでプロンプトの一部に組み込めるように - カスタムVAEモデルの読み込みに対応 (.pt / .ckpt)
- Hi-res. Fix を有効にすると、高解像度画像生成時に人物や背景が繰り返されるのを回避できる
- シームレスモードは、シームレスになる方向を縦横両方 / 横 / 縦 から選べるように
- 画像サンプラーが追加 (DPM++ 2 と DPM++ 2 Ancestral)
- img2img でもサンプラーを選択可能に (今まではDDIM固定)
- Step数にも複数指定用のボックスが追加 (同じ画像を異なるステップ数で生成可)
- Ctrl + D で画像をお気に入り(Favs) フォルダへ保存可能に
- Pickle Malware Scanner:危険なモデルファイルの検出が可能になり安全性が向上
- yamlファイルの読み込みに対応
↑model.ckpt と同じフォルダに model.ckpt.yaml があれば、デフォルトのyamlの代わりにそちらを読み込む
利便性改善
- 数値設定スライダーの横の数字をクリックし、キーボード入力&Enterで直接数値を変更可能に
- Automatic1111版で生成された画像のメタデータ読み込みに対応
- アップスケーリングや顔復元を手動で実行できるように
- 出力画像をセッションごとにサブフォルダに保存するオプションを追加
- ソフトの画像表示部分の上に、その画像のプロンプトが表示されるように
- Dreambooth (オリジナルモデル作成機能) で学習画像サイズが512×512サイズでない場合は自動でリサイズしてくれるように
- Dreambooth で訓練時の steps multiplier (ステップ倍率) を指定可能に
- Dreambooth 機能にすぐアクセスできるようソフト右上にボタンが追加 (顔のアイコン)
- プロンプト履歴/キューUlの改善(マウスホバー時にプロンプト全文を表示するなど)
- 開発者ツールの追加:SD Conda 環境でコマンドプロンプト画面(CMD)を開く
不具合修正
- モデル剪定ツールでモデルファイルの剪定(ファイルサイズ削減)に成功しても "Failed..." (失敗しました…) と表示される不具合の修正
-
CUDA GPU が検出されない問題を修正 (Pytorch関連の不具合)
-
画像インポート後、画像の順番がランダムになる不具合を修正
- ソフト非使用時でもCPU使用率が高くなる問題を修正
- 読み込み対象の複数のモデルフォルダ内に同じファイル名のモデルが存在した場合の不具合を解消
- k_difiusionモジュールが正しくインポートされない問題を修正
公式情報(英語)
ソフト使い方ガイド(公式):NMKD Stable Diffusion GUI
DreamBooth 訓練ガイド(公式):DreamBooth Training GUI
ソフト更新履歴(公式):changelog
※基本事項
初めて NMKD Stable Diffusion GUI を使う方はソフト最新版のインストール方法・基本的な使い方など一通りまとめた以下のページを先にご確認ください。
入力したテキストから画像を生成したり、自分が描いた落書きに説明テキストを加えれば思い通りの絵に変えたりできるAI「Stable Diffusion」 ↑a sleeping cat in the hot spring (温泉で眠る[…]
画面の各項目や設定画面 (Settings) のマニュアルは以下のページです。
画像生成 AI「Stable Diffusion」をコマンド不要で簡単操作で使えるソフト NMKD Stable Diffusion GUI について、ソフト画面と機能・仕様を一覧で説明しています。 こちらのページは機能や設定を一通り[…]
※ 他バージョンで追加された新機能
他のバージョンの追加機能を確認したい場合は以下のページをご覧ください。(画像クリックで該当ページに移動できます)
NMKD Stable Diffusion GUI 記事一覧
以下、本ページではバージョン1.7.0 / 1.7.1 / 1.7.2 の新機能に絞って概要や使い方を説明していきます。
ネガティブプロンプト入力欄
今まで1つのプロンプト欄だったのが、通常のプロンプト欄とネガティブプロンプト欄の2つに分離しました。
ネガティブプロンプトとは、特定の語句をそれに指定することでそれが含まれないような画像を生成するよう指定する機能です。
※実際の使用例や詳しい仕様はこちら↓
画像生成AIの「Stable Diffusion」をコマンド操作不要で簡単に使えるソフト「NMKD Stable Diffusion GUI」のバージョン 1.5.0 から搭載されている機能の説明ページです。 現在はより新しいバージョ[…]
今までは大かっこ [ ] の中にネガティブプロンプトとして指定したい語句を入れて入力していましたが、これからはわかりやすく別々の入力欄に記入できます。
※通常のプロンプト欄で従来の構文も使用可能です。
Webサイトではプロンプトとネガティブプロンプトが別々に掲載されていることが多いので、これは便利ですね。
なおプロンプトとネガティブプロンプトは、それぞれ55語の語数制限があります。
プロンプト強調構文
概要
- (括弧) で語句を囲い、括弧の後ろに「+」や「-」付けて語句の強調度合いを調整
- 「+」で強調度合いを強め、「-」で強調度合いを弱める
- 例えばプロンプトの中で雲を強調したいなら「 (clouds)++ 」などと「+」の数を増やすごとに強調度合いが更に強まる
- 「 (clouds)1.5 」というように強調度合いを直接数値で指定可能
↑「+」は1個につき強調度1.1倍に相当。「+++」なら 1.1の3乗→1.331 - 一つのプロンプト内に括弧は複数回使用OK
- 括弧の中には単語だけでなく複数語入れてもOK
なお、括弧の中の語句が1単語なら括弧を省略できます。
「clouds++」と「(clouds)++」は同じ結果になります。
使用例
例として雲が浮かぶ青空の写真を生成させ、雲の量を強調構文でコントロールしてみます。
強調前のプロンプトは次のとおりです。
"photo of blue sky with clouds" -s 50 -S 1463371648 -W 512 -H 512 -C 7.5 -A k_euler_a ※使用モデルは Stable Diffusion v1.4
「+」で強調を強める
雲の量を増やすため、「+」で clouds を強調してみます。
- photo of blue sky with clouds
- photo of blue sky with (clouds)+
- photo of blue sky with (clouds)++
- photo of blue sky with (clouds)+++
プロンプト中の clouds を「+」で強調するほど、生成画像も雲が強調されより多くの雲が表示されました。
「-」で強調を弱める
次に「-」で clouds を強調を弱め、雲がどうなるか見てみます。
- photo of blue sky with clouds
- photo of blue sky with (clouds)-
- photo of blue sky with (clouds)--
- photo of blue sky with (clouds)---
確かにプロンプト中の clouds を「-」で弱めるほど生成画像も雲が少し減っているみたいですが、強めたときに比べて変化はあまりありません。
「-」は強調度合いをあくまで弱めるだけで画像から要素を排除するわけではないので、要素を "除外する" というよりは "控えめに出す" という認識が良いと思います。
「ある要素を画像の中に入れておきたいけど、強調度合いは他の要素より弱めで良い」という場合に「-」を使うのが良いかもしれません。
今回は雲以外の要素が青空しか無いため、雲を相対的に控えめに出してもあまり大きな差は出ませんでした。
数値で直接指定
括弧の後ろに数値を直接入れれば、強調度合いを数値で直接指定可能です。
なお、数値を大きくしすぎると画像の構図が崩れたり色合いがおかしくなったりします。
この青空の例では値を1.5より大きくしたあたりからおかしくなり始めました。
数値は 1 が標準で、1より大きいほど強調強め、1より小さいほど強調弱めになります。
1より小さくする場合は「(clouds)0.5」などと入力すればOKです。
0やマイナスの値「例: (clouds)-1.5」も指定可能ですが、強調を弱めるだけで要素を消せるわけではないので雲は消えません。
要素を消す場合はネガティブプロンプトを使うか(←推奨) 負の重みを指定してください。
他の構文との違い・使い分け
「ネガティブプロンプト」や「重み付きプロンプト」といった別構文との使い分けについてはこちらのページを参照。
画像生成AIの「Stable Diffusion」をコマンド操作不要で簡単に使えるソフト「NMKD Stable Diffusion GUI」 が 2022/10/17 に更新されました! 現在の最新版はバージョン 1.6.0 です。[…]
他の構文との互換性
AUTOMATIC1111版(別ソフト)の構文
NMKD:photo of blue sky with (clouds)1.5
AUTOMATIC1111版の構文を入力して「Generate」ボタンを押すと、入力したプロンプトは自動でNMKD版構文に変換されます。
旧バージョンソフトの構文
以前のソフトバージョンで使用されていた古い構文を入力して「Generate」ボタンを押すと、入力したプロンプトは自動で新構文に変換されます。
新構文:photo of blue sky with (clouds)++
しかし実は、NMKD Stable Diffusion GUI バージョン1.6.0 で上記旧構文を用いて画像を生成させた場合と、1.7以降のバージョンで新構文を用いた場合で生成する画像は同一のものになりません。
以前のカッコ重ね構文よりも「+」重ねの方が度合いが大きい感じです。
img2img で複数画像の指定が可能に
※img2img は画像と説明テキストを入力すればそこから思い通りの画像を生成できる機能です。詳しくは以下参照。
画像生成AI「Stable Diffusion」は入力したテキストから画像を生成するだけでなく、画像と説明テキストを入力すればそこから思い通りの画像を生成できる img2img も利用できます。 例えばMSペイントで描いたこん[…]
複数画像を一括で img2img
img2img の画像を複数指定し、同じプロンプトや設定でまとめて img2img できるようになりました。
「Load Image(s)」ボタンを押すと img2img 用の初期画像を選択する画面が現れます。
この画面で画像を複数選択できるようになりました。
この例では赤下線の通り7画像を同時に読み込んでいます。
これら7画像に対して、同一のプロンプトや各種設定で img2img を一括実行できます。
コマ動画を Stable Diffusion でイメチェンするのに使える…?
単なる一括 img2img としての用途以外に、複数コマからなるアニメGIFのようなコマ動画にプロンプトを適用して遊ぶなんて使い方もできなくは無いかもです。
ただし手間の割に思ったような画像を生成するのは難しく、あまり実用的ではなさそうです。
(NMKD Stable Diffusion GUI 自体はGIF形式の画像に対応していないので、自前でPNG形式に変換&画像生成後に再度アニメGIFにする手間があります)
試した例:回転する地球に稲妻を走らせる(大陸部分)
元画像
NMKD Stable Diffusion GUI で編集後
分かりにくい(笑)。変化を大きくしようと稲妻をプロンプトで強調すると大陸が消えてしまったり、汚くなってしまったり…。
本来 Stable Diffusion での画像生成は、満足いく画像を1枚作るために画像生成を数百回試行して良いものを選別する手順が標準だと思います。
しかしコマ画像の場合は枚数が増える分だけ成功率が下がるうえ、隣り合う画像で一貫性が必要になるため余程の幸運が無い限り良さげなアニメ画像は作れなそうです…。
※以下、上記画像のプロンプトや生成ワークフローを一応記載しておきます。
プロンプト文がワイルドカードに対応
プロンプトの一部分だけを変えて画像一括生成
プロンプトの変えたい部分を半角チルダ「~」で囲み、そこに挿入したい語句をカンマ「,」区切りで指定します。
(上記の例であれば「photo of a ○○」の○○の部分に cat・dog・fox の3語のうちランダムに1語が選ばれ入ります。)
この状態で画像を1枚生成すると「photo of a cat」「photo of a dog」「photo of a fox」のうちランダムでどれか1つのプロンプトになります。
3枚画像を生成した場合もランダムなのですが、3枚とも cat が選ばれるということはなく cat, dog, fox がダブらず生成します。
つまりランダムというよりは順番のシャッフルです。
そのため、プロンプトの一部語句だけを変えて画像を一括生成する目的の場合は生成枚数を忘れずに「~」で囲った数の語句分(の倍数)まで増やしてください。
「~」の数に応じて順番指定
- ~fox,cat,dog~:3語の順序がシャッフルされる
- ~~fox,cat,dog~~:3語が指定した順序で選ばれる (fox→cat→dogの順)
- ~~~fox,cat,dog~~~:3語が文字順で選ばれる (cat→dog→foxの順)
一括生成が目的ならチルダ2つ「~~」で囲んで順序指定するのが一番分かりやすいです。
外部の単語リストを読み込む
上記のようにプロンプト文の中で直接指定するほかに、外部のテキストファイルに語句リストを作成しておきそれを読み取ってプロンプトとすることもできます。
ここでは試しに「photo of a ○○」で○○にテキストファイルから読み込んだ動物を当てはめ、沢山の種類の動物画像を一括生成してみます。
手順:事前準備
- NMKD Stable Diffusion GUI があるフォルダに「Wildcards」フォルダがあるのでそこに移動
- 単語リスト用テキストファイルをそこに作成する (例:animals.txt)
- 作ったテキストファイルに、単語を1行1個ずつ入れて単語リストを作成
手順:単語リストの読み込み
作成した単語リストの名前が animals.txt なら「~animals」と指定すれば、そこの部分が単語リスト内の単語のどれかに置き換わります。
外部の単語リストを読み込む場合は「~」を前に付けるだけです。(後ろには付けません)
外部リスト読み込みの場合も「~」の個数に応じて順番の指定方法を変更可能です。
例:「photo of a ~~animals」なら単語リストで指定した通りの順序。
活用例
Wildcards フォルダには元から単語リストの例がいくつか入っているのでそれを試しに使ってみるのも良いかもしれません。
(artists.txt や artists-anime.txt、artists-ukioe.txt、fantasy-creature.txt などが元から入っています)
一番の使用パターンは「style of ○○」の○○の部分を単語リストで読み込ませ、色々な画像スタイルで生成させる使い方かも。
○○のところにアーティスト名を入れれば、色々なアーティストの作風画像を一括生成できます。
例:「cat illustration, style of ~~artists-anime」
カスタムVAEモデルの読み込み
モデルファイルによっては、モデルと一緒にカスタムVAEを一緒に読み込むことで生成画像の微改善が望めるものもあります。
※詳細な技術仕様については把握していないので説明できません。簡易説明はこちらのサイトを参照。
カスタムVAEの例として次のようなものがあります。(青字リンクからダウンロードできます)
VAE | ターゲットモデル |
Stable Diffusion VAE ft-mse-original |
Stable Diffusion 1.5 / 1.4 |
Waifu Diffusion VAE kl-f8-anime2 | Waifu Diffusion 1.4 / 1.3 |
※ Stable Diffusion VAE ft-mse-original の公式説明はこちら。
※カスタムVAEのファイル形式として対応しているのは .ckpt または .pt です。.bin 形式には非対応です。
※ ソフト最新版では、初めから vae-ft-mse-840000-ema-pruned.ckpt が同梱されているためダウンロード不要ですぐ使えます。
読み込み手順
まず、ソフト右上の歯車ボタンを押して Settings 画面を開きます。
「Stable Diffusion VAE (Variational Autoencoder)」という項目が VAE の設定欄です。
その項目の右端にある「Folders...」ボタンを押してください。
VAE を入れるべきフォルダの一覧が表示されます。リストの「Data/models/vae」をクリックして右上のフォルダアイコンのボタンを押すと、VAEを入れるべきフォルダに移動できます。
そこにダウンロードしたVAEを移します。
次に Settings 画面に戻り、項目「Stable Diffusion VAE」のリストから先ほど入れた VAE を選択します。
※リストに入れた VAE が表示されていない場合は「Refresh List」を押してリストを更新してください。
これで次の画像生成時からはモデルと一緒にカスタムVAEも同時に読み込まれるようになります。
VAEのクイック切り替え
複数あるモデルを切り替える際に「Ctrl + M」のショートカットキーからその場で簡単にモデル切り替えができたのと同様に、VAEの切り替えも「Ctrl + Shift + M」でできます。
切り替え対象のVAEを選んだら Enterキーで確定です。
なお None を選べば VAE 無しの画像生成に戻せます。
VAEの有無比較
左がVAE無し、右がVAEありの画像です。
ねこ画像の場合、ほぼ差がありませんでした。
画像の種類によってはVAEの有無である程度違いが出せるかもしれません。
Hi-res. Fix (高解像度画像の改善)
生成画像のサイズを大きくすると、人物や背景が繰り返されて表示されてしまうor融合してしまうなんてトラブルが発生することがあります。
画像生成の推奨サイズは 512×512 であり、例えば1024×1024 などの高解像度で画像を生成させるとこのトラブルが頻発します。
Resolution (解像度) の設定で縦横の長さのいずれかを 576 以上にすると、サイズ指定ボックスの隣に「High-Resolution Fix」というチェックボックスが現れます。
それをONにすることで、高解像度画像の不自然な繰り返し表示を回避できます。
beautiful photo of sitting orange tabby cat -s 50 -S 2025163431 -W 1024 -H 1024 -C 7.5 -A k_euler_a
左が High-Resolution Fix の設定OFF、右が設定ONです。
左は猫が2匹登場し、片方は猫の後ろ姿と横の姿が合体してとんでもない猫さんになってしまってます😿 (実質3匹の融合)
ちなみにこれでもましな方で、ひどいと体は1つで頭が3つのケルベニャスが登場するなんてこともあります。
一方で設定をONにした右はちゃんと1匹の状態です。(画像自体はおかしな点がありますが、高解像度由来の融合は回避されています)
シームレスモードの方向設定
画像をタイル状に並べても継ぎ目が分からないようなシームレス画像を生成させる機能が更新されました。
※シームレス画像生成機能の基本的な説明はこちら↓
画像生成AIの「Stable Diffusion」をコマンド操作不要で使えるソフト「NMKD Stable Diffusion GUI」のバージョン 1.3.0 / 1.3.1 から搭載されている機能の説明ページです。 現在はより新し[…]
シームレスになる(継ぎ目がなくなる)方向を指定できるようになりました。
Disabled | 無効 (機能OFF) |
Seamless on All Sides | 縦横両方シームレス |
Seamless on Left/Right Edges | 横方向のみシームレス |
Seamless on Top/Bottom Edges | 縦方向のみシームレス |
レンガや壁紙などの素材画像生成時は縦横両方シームレスで大丈夫ですが、人物を入れると縦横シームレスで造形がとんでもないことになりがちです。
そのような場合は横方向のみシームレスにすれば大きな造形の崩れを回避できます。
beautiful photo of sitting orange tabby cat -s 50 -S 110548437 -W 512 -H 512 -C 7.5 --seamless -A k_euler_a
※3枚横に並べた状態
対応サンプラーの追加
DPM++ 2 と DPM++ 2 Ancestral が追加
これで計10種のサンプラーが使えます。(私はソフトで推奨されている Euler Ancestral 以外はほぼ使ってないですが…)
Ancestral系のサンプラーはステップ数を上げるといきなり絵が変わることが多いので、安定性を求める場合は非Ancestral系のサンプラーを使うのが良さそうです。
サンプラーの比較は以下のページが非常に参考になります。(ただしサンプラーごとに1ステップあたりの所要時間が異なるので単純な速度比較はできないことに注意)
※NMKD Stable Diffusion GUI では使用できないサンプラーも含まれます。
img2img でもサンプラーを選択可能に
バージョン1.6.0以前では img2img 時のサンプラーは DDIM 固定でしたが、これが自由に選択できるようになりました。
お気に入りフォルダ
ソフトの画像表示部分で右クリックし「Copy To Favorites」を選ぶとその画像をお気に入りフォルダに保存できます。
Ctrl + D のショートカットキーでも同じ操作が可能です。(Webブラウザのブクマと同じキーなので分かりやすいですね)
お気に入りフォルダは「Images」フォルダ内の「Favs」フォルダです。
場所も変更可能で、Settings 画面の「Favorites Folder」項目から変更できます。
設定値の直接数値入力
設定値はスライダーで動かせるだけでなく、スライダーの隣に表示されている数値をクリックして直接値を打ち込むことでも変更可能です。
ただしスライダーで設定できない値は直接入力でも設定できません。自動で設定可能な値に切り捨て/切り上げられます。
(例えばStepsなら5刻みなので、53などの値は指定不可)
入力した値を切り捨て/切り上げされることなく反映させるためには、Advanced Mode「上級者モード」を有効にする必要があります。
ソフトの Settings 画面で、設定項目「Advanced Mode (Unlock Higher Values for Sliders)」のチェックを ON にするとステップ数は 1 刻みで指定できるようになります。(他の設定値は未確認)
アップスケーリングの手動実行
アップスケーリングや顔復元を設定し忘れた状態で画像生成してしまっても、ソフト画面で画像を右クリックして「Post-Process Image...」を選べば後からそれらを実行できます。