画像生成AIの「Stable Diffusion」をコマンド操作不要で簡単に使えるソフト「NMKD Stable Diffusion GUI」が 2022/09/20 に大型アップデートしました!
現在の最新版がバージョン 1.4.0 になりました。
↑追記(2023):現在はより新しいバージョンが公開されています
なおソフトの概要・詳しい使い方に関してはこちらのページをご参照ください。
入力したテキストから画像を生成したり、自分が描いた落書きに説明テキストを加えれば思い通りの絵に変えたりできるAI「Stable Diffusion」 ↑a sleeping cat in the hot spring (温泉で眠る[…]
追記:より新しいバージョンが公開されたので情報を追加しました
現在は新バージョンが公開され、機能も更に追加されています。
他のバージョンの追加機能を確認したい場合は以下のページをご覧ください。(画像クリックで該当ページに移動できます)
NMKD Stable Diffusion GUI 記事一覧
Ver. 1.3.1 → Ver 1.4.0 の変更点
※以下要点です。詳しい公式発表はこちら。
待望の Masked Inpainting (画像の一部描き変え) 機能や圧倒的な高速化、プロンプト履歴など嬉しい機能が追加されましたね! ฅ/ᐠ˶>ω<˶ᐟ\ฅ
動作条件
※最新版の動作条件はこちらをご覧ください。
ソフトのインストール・更新方法
2023/3/29 追記:現在の最新バージョンのインストール方法はこちらのページに記載しています。
ソフトの使い方
※初めて NMKD Stable Diffusion GUI を使う方はまずは上記リンク先を見て、基本的な使い方を先にご確認ください。
なお、画像(+説明文章)から画像を生成する(img2img)のやり方はこちらです。
画像生成AI「Stable Diffusion」は入力したテキストから画像を生成するだけでなく、画像と説明テキストを入力すればそこから思い通りの画像を生成できる img2img も利用できます。 例えばMSペイントで描いたこん[…]
以下、本ページではバージョン1.4.0の新機能に絞って概要や使い方を説明していきます。
なお、ソフト画面は最新版のものに適宜差し替えています。
画像の一部分だけ描き変え (Masked Inpainting)
Masked Inpainting は画像の一部領域だけを指定して、そこだけ Stable Diffusion に描き変えてもらえる機能です。
手順
まず、描き変えたい画像をソフトで読み込みます。
(ソフトに画像をドラッグ&ドロップ / Load Image ボタン / 画像プレビュー部分で右クリックして「Use as Initialization Image」)
今回はこちらの画像を描き変えて、花を追加してみたいと思います。
"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)」を選択します。
そして右下の「Generate!」ボタンを押すと描き変えたい部分を指定できる画面が開きます。
変更したい場所を黒く塗ってください。
塗るペンの大きさは「Brush Size」のバーで変更できます。
「Mask Blur」バーを右にすれば、塗る場所と塗らないところの境界線をぼかしてくれます。
間違えたところを塗ってしまった場合は Ctrl + Z のショートカットキー、または右クリックメニューの「Undo」から元に戻せます。
描き変え場所を指定したら「OK」ボタンを押せば画像生成が始まります。
指定した場所だけ花に描き変えられました。
※追記:今回偶然うまくいきましたが、一部描き変え(Inpainting)をするには Inpainting Model (インペイント専用モデル) を使わないとまともな出力にならないことが多いです。青字リンクから使い方をご参照ください。
描き変え場所の変更
一度、描き変え領域(マスク)を指定したら次の生成時も同じマスクが指定された状態になります。
別の場所を描き変えたくなった場合は「Edit Mask」ボタンを押してマスクを再編集できます。
マスク自体を消したい場合は「Clear Mask」を押してください。
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)
以前実行したプロンプトや設定値を履歴から呼び出して簡単に再入力できる機能です。
画面右下の時計アイコンのボタンをクリックしてください。
入力したプロンプトの履歴一覧が表示されます。
項目を右クリックすると表示されるメニューから、プロンプトまたはプロンプト&設定値を呼び出すことができます。
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)
現在のプロンプトと設定値をリストに追加して、後でリスト内を一括実行できる機能です。
画面右下の「+」アイコンのボタンをクリックしてください。
Prompt Queue 画面が表示されたら右上のプロンプト追加ボタンを押すと、今ソフト上で設定していたプロンプトや設定値がキュー(リスト)に追加されます。
次のプロンプトや設定値を追加するには一度この画面を閉じ、ソフトのプロンプト/設定値を変更して再びこの画面を開いてプロンプト追加ボタンを押せばOKです。
キューがある状態で「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」をクリックします。
「learned_embeds.bin」といった .binファイルへのリンクをクリックします。
「download」を押せば .bin ファイルをダウンロードできます。
ダウンロードした .bin ファイルは NMKD Stable Diffusion GUI をインストールしたフォルダの中にある「ExampleConcepts」フォルダに「MyConcepts」的な名前のフォルダを作成してそこに入れておくと、ソフト側から呼び出しやすいです。
(ちなみに「ExampleConcepts」フォルダ内の「Objects」フォルダや「Styles」フォルダには上記サイトに載っていた .bin ファイルのうち185個が収録されています)
モデルの読み込みと利用
次に NMKD Stable Diffusion GUI ソフト側で画面の「Load Concept」ボタンを押して、今ダウンロードした .bin を開いてください。
読み込まれると「Prompt」の下のところに読み込まれた .bin ファイル名が表示されます。
この状態でプロンプトを入力するのですが、アスタリスク「*」が読み込ませた訓練ファイルが表すものを指す文字として使用できます。
今回の場合は学習データが絵文字アイコンなので、「*」は学習した絵文字画像たち(から学んだ概念)を表します。
例えばプロンプトに
と入力すれば絵文字アイコンの笑顔風のものが生成するはずです。
※プロンプト入力後、通常通り画像を生成させればOKです。(img2img でも使えます。)
で、生成された画像がこちら。
なんか怖いもの生まれちゃったよ。
この通り、なかなかモデルに合った画像は生成されません(笑)
※Generate! を押した後、アスタリスクが「 <ファイル名> 」という文字列に変わりますがそのままで大丈夫です。
シード値の便利ボタン
Seed の設定項目欄に2つの便利なボタンが追加されました。
Use Previous
これを押すと、前回使用されたシード値が Seed 欄に自動入力されます。
Reset
Seed 欄が空欄になります。空欄の場合、使用される Seed値はランダムになります。
画像生成終了お知らせサウンド・通知設定
画像生成終了時にお知らせサウンドを再生、または通知を表示するオプションが追加されました。
ソフト画面右上の歯車アイコンボタンから設定画面に行き、一番下の項目「Notify When Image Generation Has Finished」をお好みで変更してください。
Disabled | 何もしない (通知無効) |
Play Sound | 音を再生 |
Show Notification | 通知を表示 |
Play Sound and Show Notification | 音を再生し通知も表示 |
ちなみに通知はこのようにデスクトップ右下に小さく表示されます。