NMKD Stable Diffusion GUI 1.4.0 の新機能・導入/更新方法

画像生成AIの「Stable Diffusion」をコマンド操作不要で簡単に使えるソフト「NMKD Stable Diffusion GUI」が 2022/09/20 に大型アップデートしました!

現在の最新版がバージョン 1.4.0 になりました

↑追記(2023):現在はより新しいバージョンが公開されています

 

なおソフトの概要・詳しい使い方に関してはこちらのページをご参照ください

StableDiffusionGUIの使い方

入力したテキストから画像を生成したり、自分が描いた落書きに説明テキストを加えれば思い通りの絵に変えたりできるAI「Stable Diffusion」 ↑a sleeping cat in the hot spring (温泉で眠る[…]

 

 追記:より新しいバージョンが公開されたので情報を追加しました

現在は新バージョンが公開され、機能も更に追加されています。

他のバージョンの追加機能を確認したい場合は以下のページをご覧ください。(画像クリックで該当ページに移動できます)

NMKD Stable Diffusion GUI 記事一覧

ソフト画面・機能マニュアル

 

Ver. 1.3.1 → Ver 1.4.0 の変更点

※以下要点です。詳しい公式発表はこちら

待望の Masked Inpainting (画像の一部描き変え) 機能や圧倒的な高速化、プロンプト履歴など嬉しい機能が追加されましたね! ฅ/ᐠ˶>ω<˶ᐟ\ฅ

変更点の一覧 (クリックして表示)

劇的な高速化

  • 画像生成時の待ち時間が大幅に短縮。生成開始までの従来の十数秒の待ち時間が0秒に
    ↑新しい画像を生成するたびにモデルを再読み込みする従来の内部仕様が変更され、再読み込みの待ち時間が不要に
  • VRAM 使用量が更に削減され高速化 (特に通常モード)

新機能の追加

  • 画像の一部領域だけを指定して、そこだけ描き変えられる機能が追加:Masked Inpainting
  • プロンプト履歴機能以前実行したプロンプトや設定値を履歴から簡単に再入力できる
  • プロンプトキュー機能現在のプロンプトと設定値をリストに追加して後でリスト内を一括実行できる
  • ファインチューニングで生成したモデルの読み込み可能形式が追加 (.bin)
    ↑従来の .ptファイルに加え、HuggingFace の Textual Inversion で作成した .binファイルも利用可能に
  • 前回のシード値を使用するボタン(Use Previous) / 入力されたシード値欄をリセットするボタン(Reset) の追加

利便性改善・不具合修正

  • VRAM使用量の削減により、従来よりも大きなサイズの画像が生成できるように
  • 低VRAMモードでも Post-processing (アップスケーリング・顔修復) が利用可能に
  • GFPGAN (顔修復) モデルを 1.4 に更新

  • 画像生成の進行状況を示すプログレスバーを追加
  • 画像生成終了時にお知らせサウンドを再生、または通知を表示するオプションを追加

  • プロンプト入力欄を2倍の高さに拡張するボタンを追加

  • DPI スケーリング が100% 以外のディスプレイでもソフト画面が正常に表示されるように
  • 空の「unknown prompt」フォルダが生成される不具合を修正

※グラボ RTX2060 (VRAM:6GB)で、バージョン1.3.1では画像サイズの限界が 640×640 だったところ、本バージョンでは 1280×1280 まで生成できたというコメントもありました。

動作条件

※最新版の動作条件はこちらをご覧ください。

ソフトのインストール・更新方法

2023/3/29 追記:現在の最新バージョンのインストール方法はこちらのページに記載しています。

ソフトの使い方

※初めて NMKD Stable Diffusion GUI を使う方はまずは上記リンク先を見て、基本的な使い方を先にご確認ください。

なお、画像(+説明文章)から画像を生成する(img2img)のやり方はこちらです。

MSペイントで描いた適当な山と川の落書き(左)と、それをStable Diffusionのimg2imgに複数回通し、写真風に変換したもの(右)

img2imgのやり方

画像生成AI「Stable Diffusion」は入力したテキストから画像を生成するだけでなく、画像と説明テキストを入力すればそこから思い通りの画像を生成できる img2img も利用できます。 例えばMSペイントで描いたこん[…]

 

以下、本ページではバージョン1.4.0の新機能に絞って概要や使い方を説明していきます。
なお、ソフト画面は最新版のものに適宜差し替えています


 

画像の一部分だけ描き変え (Masked Inpainting)

Masked Inpainting画像の一部領域だけを指定して、そこだけ Stable Diffusion に描き変えてもらえる機能です。

Masked Inpainting を Stable Diffusionで使用する

手順

まず、描き変えたい画像をソフトで読み込みます。

(ソフトに画像をドラッグ&ドロップ / Load Image ボタン / 画像プレビュー部分で右クリックして「Use as Initialization Image」)

 

今回はこちらの画像を描き変えて、花を追加してみたいと思います。

Stable Diffusion で生成した山の自然の風景写真
"beautiful moutains and blue sky with clouds, photo" -s50 -W512 -H512 -C8.0 -Ak_euler_a -S1877541242

 

次に、このあと描き変える部分に描いて欲しい物をプロンプトに入力します。(例えば many colorful flowers)

そして Inpainting の項目でImage Mask (Draw Mask)」を選択します。

Masked Inpainting を NMKD Stable Diffusion GUIで使用する方法:Image Mask設定の有効化

 

そして右下の「Generate!」ボタンを押すと描き変えたい部分を指定できる画面が開きます。

Masked Inpainting を NMKD Stable Diffusion GUIで使用する方法:変更対象のマスク部分を塗る

変更したい場所を黒く塗ってください。

塗るペンの大きさは「Brush Size」のバーで変更できます。

Mask Blur」バーを右にすれば、塗る場所と塗らないところの境界線をぼかしてくれます。

間違えたところを塗ってしまった場合は Ctrl + Z のショートカットキー、または右クリックメニューの「Undo」から元に戻せます。

 

描き変え場所を指定したら「OK」ボタンを押せば画像生成が始まります。

Masked Inpainting を NMKD Stable Diffusion GUIで使用して山の風景写真に花畑を加えた結果

指定した場所だけ花に描き変えられました。

※追記:今回偶然うまくいきましたが、一部描き変え(Inpainting)をするには Inpainting Model (インペイント専用モデル) を使わないとまともな出力にならないことが多いです。青字リンクから使い方をご参照ください。

描き変え場所の変更

一度、描き変え領域(マスク)を指定したら次の生成時も同じマスクが指定された状態になります。

別の場所を描き変えたくなった場合は「Edit Mask」ボタンを押してマスクを再編集できます。

マスク自体を消したい場合は「Clear Mask」を押してください。

Masked Inpainting を NMKD Stable Diffusion GUIで使用する方法:マスクの編集・クリア

Inpainting 前後の比較

画像の描き変え前後を比較プレビューしたい場合は、「Show」チェックボックスをONにしてください。

横並びで Inpainting 前後の画像が表示されます。

Inpainting 後の方の画像を右クリックして現れるメニューの「Copy Side-by-Side Comparison Image」をクリックすると、横並びの比較画像を1枚の画像としてクリップボードにコピーできます。

Tips

描き変え元の画像は Stable Diffusion で生成した物だけでなく別の画像でもOKです。

あるプロンプトで画像を生成した後 Masked Inpainting で一部だけ描き変える時には、もちろん生成時とは別のプロンプトが使用できます。

(今回の例も "beautiful moutains and blue sky with clouds, photo" で生成した写真を一部だけ "many colorful flowers" で描き変えています)

インペイント専用モデルを使用しない場合、違和感なく一部を描き変えるのは難しそうです。

( Mask Blur 大きめで境界をぼかしてマスクを指定したほうが違和感が減るかも)

マスクの保存・読み込み

マスク編集画面の「Save Mask」「Load Mask」からマスクを保存・読み込みできます。

外部のペイントソフトでマスクを指定 (未検証)

どうしてもソフト本体のマスク指定機能だと狙った範囲を指定しにくいので代わりに外部のペイントソフトでマスク指定ができれば便利です。

どうやら画像中の透過度100%の部分を描き変える対象と認識しているみたいなので、あらかじめ描き変えたい場所を外部ソフトで透過度100%で塗りつぶして透過PNGで保存し NMKD Stable Diffusion GUI  に読み込ませればその部分がマスクとして認識されそうです。

ただし、透過ピクセルの色情報が消えているとマスクとして読み込めないのでペイントソフト側で画像保存時に別途設定が必要になります。

GIMP および Adobe Photoshop での手順が左記リンク先に記載されていたのでご参照ください。(私はまだ試せていません)

 

プロンプト履歴機能 (Prompt History)

以前実行したプロンプトや設定値を履歴から呼び出して簡単に再入力できる機能です。

画面右下の時計アイコンのボタンをクリックしてください。

NMKD Stable Diffusion GUI の Prompt History の場所

 

入力したプロンプトの履歴一覧が表示されます。

項目を右クリックすると表示されるメニューから、プロンプトまたはプロンプト&設定値を呼び出すことができます。

NMKD Stable Diffusion GUI の Prompt History の使い方

Load Prompt Into GUI:プロンプトを呼び出してソフトに設定
Load Prompt And Settings Into GUI:プロンプトと設定値を呼び出してソフトに設定
Copy Prompt:プロンプトをクリップボードにコピー
Delete:その履歴を消す

履歴はソフトを閉じても残るので、別日の履歴も参照できて便利です。

 

右上のゴミ箱ボタンから履歴を消すこともできます。メニュー項目は以下の通りです。

Delete Selected:チェックボックスで選択された履歴だけ消す
Delete All:すべての履歴を消す

 

Prompt Text Filter の入力ボックスで、プロンプトの検索(絞り込み)ができます。

プロンプト履歴を残してほしくない場合は、右上の Enable Prompt History「プロンプト履歴を有効にする」のチェックボックスを外してください。

 

プロンプトキュー機能 (Prompt Queue)

現在のプロンプトと設定値をリストに追加して、後でリスト内を一括実行できる機能です。

画面右下の「+」アイコンのボタンをクリックしてください。

NMKD Stable Diffusion GUI の Prompt Queue の場所

 

Prompt Queue 画面が表示されたら右上のプロンプト追加ボタンを押すと、今ソフト上で設定していたプロンプトや設定値がキュー(リスト)に追加されます。

NMKD Stable Diffusion GUI の Prompt Queue にプロンプトを追加する

 

次のプロンプトや設定値を追加するには一度この画面を閉じ、ソフトのプロンプト/設定値を変更して再びこの画面を開いてプロンプト追加ボタンを押せばOKです。

NMKD Stable Diffusion GUI の Prompt Queueに追加されたプロンプトたち

 

キューがある状態で「Generate!」ボタンを押すとメニューが表示されます。

NMKD Stable Diffusion GUI の Prompt Queue は Generate!ボタンから実行できる

Generate Current Prompt:今ソフト画面上で設定されているプロンプトを実行
Generate Queued Prompts:キューに入れたプロンプトを一括実行

「Generate Queued Prompts」を選べば、キューに登録したプロンプト&設定が一括実行されます。

画像生成後、キューはリセットされます。

(画像生成中にキューに新しい設定値を追加できたら便利なのですが、それはできないようです)

注意

単に複数種類のプロンプトを一括実行したいだけの場合はプロンプトキュー機能は不要で、単純にプロンプト入力欄で複数のプロンプトを改行で区切って入力するだけでOKです。

複数プロンプトをプロンプト欄での改行により実行

もう少し詳しい仕様はこちらのプロンプトの複数入力&実行で説明しています。

※同一プロンプトで設定値(Samplerなど)だけ変えて複数一括実行したい場合にプロンプトキュー機能をお使いください。

 

他の人がファインチューニングで生成した独自モデルを読み込む (.pt/.bin ファイル)

Textual Inversion の .ptファイル・.binファイル をソフトで読み込んで利用する方法です

Textual Inversion により Stable Diffusion をファインチューニングすれば、例えば絵のキャラクターや画風を追加で学習させてそれを基に Stable Diffusion で画像生成を行うことができます。

(利用イメージはこちらを参照)

ただしこの Textual Inversion 自体は NMKD Stable Diffusion GUI で実行することはできません。代わりに現在はより高性能なオリジナルモデル作成機能「Dreambooth」がソフトで実行できます。

自分でファインチューニングすることは難しくても、他の人が作成したモデルを利用することは(本ソフトで)簡単にできるので、以下に手順を記載します。

 

ファインチューニングファイルの共有場所

Org profile for Stable Diffusion concepts library on Hugging…

↑こちらに色々な.binファイル (Textual Inversion Concepts) が掲載されているのでそこからダウンロードして、NMKD Stable Diffusion GUI に読み込ませることができます。

「Models」の一覧から興味のあるモデルのリンクをクリックするとファインチューニングに使用された画像が一覧表示されます。

その画像に写っているものや、その画像のスタイルに基づいた絵を生成させることができます。

モデルのダウンロード方法

例えばこちらの絵文字モデルを例に説明します。ダウンロード先に移動するために「Files and versions」をクリックします。

hugging face でファインチューニングファイルをダウンロードする方法

 

「learned_embeds.bin」といった .binファイルへのリンクをクリックします。

hugging face でファインチューニングファイルをダウンロードする方法

 

「download」を押せば .bin ファイルをダウンロードできます。

hugging face でファインチューニングファイルをダウンロードする方法

 

ダウンロードした .bin ファイルは NMKD Stable Diffusion GUI をインストールしたフォルダの中にある「ExampleConcepts」フォルダに「MyConcepts」的な名前のフォルダを作成してそこに入れておくと、ソフト側から呼び出しやすいです。

(ちなみに「ExampleConcepts」フォルダ内の「Objects」フォルダや「Styles」フォルダには上記サイトに載っていた .bin ファイルのうち185個が収録されています)

モデルの読み込みと利用

次に NMKD Stable Diffusion GUI ソフト側で画面の「Load Concept」ボタンを押して、今ダウンロードした .bin を開いてください。

読み込まれると「Prompt」の下のところに読み込まれた .bin ファイル名が表示されます。

NMKD Stable Diffusion GUIに huggin face のファインチューニングファイルを読み込んだ結果

この状態でプロンプトを入力するのですが、アスタリスク「*」が読み込ませた訓練ファイルが表すものを指す文字として使用できます

今回の場合は学習データが絵文字アイコンなので、「*」は学習した絵文字画像たち(から学んだ概念)を表します。

例えばプロンプトに

smile face of *

と入力すれば絵文字アイコンの笑顔風のものが生成するはずです。

※プロンプト入力後、通常通り画像を生成させればOKです。(img2img でも使えます。)

で、生成された画像がこちら。

NMKD Stable Diffusion GUIで huggin face の絵文字ファインチューニングファイルを用いて生成した笑顔絵文字画像はかなり怖いものになった

なんか怖いもの生まれちゃったよ

この通り、なかなかモデルに合った画像は生成されません(笑)

※Generate! を押した後、アスタリスクが「 <ファイル名> 」という文字列に変わりますがそのままで大丈夫です。

 

シード値の便利ボタン

Seed の設定項目欄に2つの便利なボタンが追加されました。

NMKD Stable Diffusion GUI のSeed設定値便利ボタン

Use Previous

これを押すと、前回使用されたシード値が Seed 欄に自動入力されます。

Reset

Seed 欄が空欄になります。空欄の場合、使用される Seed値はランダムになります。

 

画像生成終了お知らせサウンド・通知設定

画像生成終了時にお知らせサウンドを再生、または通知を表示するオプションが追加されました。

ソフト画面右上の歯車アイコンボタンから設定画面に行き、一番下の項目「Notify When Image Generation Has Finished」をお好みで変更してください。

Disabled 何もしない (通知無効)
Play Sound 音を再生
Show Notification 通知を表示
Play Sound and Show Notification 音を再生し通知も表示

 

ちなみに通知はこのようにデスクトップ右下に小さく表示されます。

NMKD Stable Diffusion GUI の画像生成完了通知

記事化前の最新情報はこちらで先にツイートしています。サイト更新告知もこちら。