重み付きプロンプトなど便利機能&活用法 [NMKD Stable Diffusion GUI]

画像生成AIの「Stable Diffusion」をコマンド操作不要で使えるソフト「NMKD Stable Diffusion GUI」で利用可能な便利機能をまとめました。

プロンプト中の語句に数値で重み付けできたり Creativeness (Guidance Scale) の値だけ少しずつ変更させながら画像を複数枚自動出力できたり、画像生成に有志が作成したアニメイラスト特化モデルを代わりに使ったり…

色々な機能や活用法がまだまだたくさんあるのでそれらを一つずつ説明していきます。

※基本的な使い方や機能・各設定項目はこちらに記載しています。まだご覧になっていない方は先にこちらをご確認ください。

基本機能・設定

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

以下、説明は NMKD Stable Diffusion GUI 1.3.0 の画面で行います。(最新版でも同様に利用可能です)

必要に応じて バージョン 1.6.0 のダウンロード・更新方法 をご参照ください。

重み付きプロンプト

プロンプト中の語句に数値を指定することで、その語句がプロンプトに中でどれほど重要か指示することができます。(重み付け)

NMKD Stable Diffusion GUIで重み付きプロンプトを使用して生成した写真の比較

これら3枚の画像はそれぞれ以下のプロンプト(呪文)で生成されています。

cat:0.7 fox:0.3
cat:0.5 fox:0.5
cat:0.3 fox:0.7

このようにプロンプト中の語句に半角コロン「:」と数値を付けることで、語句に重要度(重み)を付けることができます。

cat 7割 の状態は「きつね色のもふもふにゃんこ」な感じですが、fox の割合を増やしていくことでだんだんキツネさんに近づいています!

上記画像の各種生成時設定 (クリックして表示)
"cat:0.7 fox:0.3" -s50 -W512 -H512 -C7.5 -Ak_euler_a -S1950087389
"cat:0.5 fox:0.5" -s50 -W512 -H512 -C7.5 -Ak_euler_a -S1950087389
"cat:0.3 fox:0.7" -s50 -W512 -H512 -C7.5 -Ak_euler_a -S1950087389

↑プロンプトの数値指定以外は全て同じ設定で画像を生成させました。(シード値も全部同一)

重み付けの仕様

many strawberries:0.6 green apples:0.4 on a plate

のように複数単語を含む語句に重み付けすることも一応可能ですが、要素を追加しすぎるとまともにプロンプト通りの画像が生成されなくなります。

重み付けしない言葉と同居させることも可能であり、また3語以上に重み付けすることもできます。

数値の合計が 1 になるように調整しなくても大丈夫なようです。(参考)

マイナスの重みで指定要素を排除

重みにはマイナスの値も指定可能で、その場合はマイナス値を指定した言葉が含まれないような画像が生成されます。

4枚は同一シード・設定で生成させましたが、cloudsにマイナスの重みをつけると雲量が確かに減っています。

ただ注意点として、負の値を大きくしていくとだんだん画像中の要素が変な色・形になりまともな画像が生成しなくなっていきます

上記画像も clouds:-0.4 では雲が消えきる前に色調や形状がおかしくなり始めています。

-0.3辺りを超えるとおかしくなり始める印象なので、それを超えないくらいの軽めの値から調節を始めるのが良いと思います。

マイナスの重みの代わりに使える機能

マイナスの重みは使い勝手が悪いので、新しいソフトのバージョン (1.6.0 以降) では代わりに以下の機能が使えます。

 

生成画像からプロンプトや設定値を読み取り

NMKD Stable Diffusion GUI で生成した画像には生成時に使用したプロンプトや各種設定値がデータとして埋め込まれているので、後からそれを読み取ることができます

方法 (10/24追記:Ver 1.5.0 以降で新しくなりました)

まず、生成した画像をソフトにドラッグ&ドロップしてください。

すると次のような画像読み込み画面が表示されます。

NMKD Stable Diffusion GUI の画像読み込み画面

今読み込んだ画像の設定データが右側のパネルに表示されています。

 

ちなみにパネル上部に表示されているデータ文字列(赤線部)の意味は次のとおりです。

NMKD Stable Diffusion GUIでは生成時に使用したプロンプトや各種設定値がデータとして埋め込まれる

"beautiful photo of lake surrounded by mountains, canon eos 5d mark iv" -s 50 -S 1200346769 -W 512 -H 512 -C 7.5 -A k_euler_a
データ文字列の意味
"プロンプト文章" -s (ステップ数) -S (Seed値) -W (幅) -H (高さ) -C (Creativeness値) -A (使用Sampler)

ソフトを閉じたり別の画像生成に移ってしまったりしても、後から画像生成時のプロンプトや設定を調べられるので非常に便利です。

 

設定値を複数指定して画像を複数枚自動生成

Creativeness (Guidance Scale) と img2img の Init Image Strength (Influence)設定値を複数指定して画像を一括で生成させることができます

NMKD Stable Diffusion GUI:設定値の複数指定機能

赤枠で囲った設定値ボックスに入力します。

値の複数指定

例えば Init Image Strength のところのボックスに「0.2, 0.4, 0.6」と指定すると、 1回の実行で Init Image Strength の設定が 0.2、0.4、0.6 の画像を生成してくれます

複数の設定値で生成される画像を比べたいときにとても便利です。

(Init Image Strength の例で説明しましたが、Creativeness の方のボックスでも同様に指定可能です)

値の段階的増加指定

例えば Creativeness に「7 > 10 : 0.5」と指定すると、「7から10まで、0.5刻みで」値を設定して画像を生成します。(7, 7.5, 8, 8.5, 9, 9.5, 10)

開始値 > 終了値 : 増加幅

という指定書式です。

 

別のモデルの読み込み (.ckpt)

Stable Diffusion本家のモデルとは異なるモデルも有志により作成され配布されているので、それらを代わりに読み込んで画像生成に利用できます

自分の作りたい画像に合わせてモデルを変更すると、生成する画像の質が著しく向上します。

(動物キャラ特化モデル出た!ฅ/ᐠ˶>ω<˶ᐟ\ฅ 嬉しい😸)

 

モデル (.ckpt)

配布モデル一覧 (随時更新)

以下のページに Stable Diffusion で使えるモデルファイル(.ckpt)のダウンロード先がまとめられています。(数十ものモデルが掲載!)

Contact Changelog Stable Diffusion Stable Diffusion v2.0 Sta…

ピックアップ

Waifu Diffusion

二次元イラストで再訓練されたモデル。人間キャラクター向け。

※良くない絵 (age≧2×3²) も生成されてしまう可能性があるので注意。

10/6 追記:Waifu Diffusion v1-3 が公開されました

ダウンロード(10/6 最新版 v1-3):wd-v1-3-float16.ckpt

ダウンロード v1-2:wd-v1-2-full-ema.ckpt ダウンロード(旧版):wd-full-ema.ckpt

 

最新版 v1-3 のDL先について補足情報 (クリックして表示)

こちらに完成版・訓練段階の Waifu Diffusion v1-3 モデルが一覧になっておりダウンロードできます。

We’re on a journey to advance and democratize artificial int…

複数のモデルファイルがありますが、ファイル名中に「epoch○○」が含まれているものは訓練途中のモデルファイルです。(数字が大きいものほど訓練の進んだ新しい物)

完成版は wd-v1-3-float16.ckpt、wd-v1-3-float32.ckpt、wd-v1-3-full-opt.ckpt、wd-v1-3-full.ckpt です。

特に事情がなければ float16 版のダウンロードをおすすめします。(生成画像はほとんど変わらないみたいです)

float32版はfloat16版よりも必要なVRAM使用量が大きくなりますが、その割に生成結果に品質差はほとんど感じられないようです。(参考情報)

full バージョンは訓練時のみに使用する追加データが含まれているためファイルサイズが無駄に大きいです。

上記4つの生成画像の違いと特徴を画像付きで説明しているページがありました。

リンク:WD1.3の4種類のモデル(float32,float16,full,full-opt)の違いを検証

 

Waifu Diffusion の詳しい情報共有場所はこちら。→ reddit リンク

 

trinart_stable_diffusiontrinart_stable_diffusion_v2

アニメ・マンガ絵用に再訓練されたモデル。

ダウンロード (v2):trinart2_step115000.ckpt

ダウンロード:trinart_stable_diffusion_epoch3.ckpt

 

furry_epoch4.ckpt

動物キャラクター (furry・ケモノ)のイラストで再訓練されたモデル。

※良くない絵 (age≧2×3²) も生成されてしまう可能性があるので注意。

ダウンロード (9/28時点):furry_epoch4.ckpt

情報源はこちら

 

Stable Diffusion 1.5

本家 Stable Diffusion モデルの最新版。(2022/10/30時点)

ソフト同梱の Stable Diffusion は 1.4 なので、それよりも新しい。

ダウンロードには Hugging Face への登録が必要になるため、詳しい手順を以下のページに記載した。

SD1.5のモデルの導入方法

画像生成AIの Stable Diffusion の最新バージョン 1.5 のモデルファイルが2022年10月20日に公開されました。 今回公開された最新の Stable Diffusion 1.5 をソフト NMKD Stable […]

 

別モデルの読み込み

Stable Diffusion本家のモデルとは異なるモデルも NMKD Stable Diffusion GUI で使用可能です

ソフトにモデル切り替え機能があるので簡単に画像生成モデルを変更できます。

画像生成モデルファイル (.ckpt) の追加 (Ver 1.6.0 以降)

  1. 画面右上の歯車ボタンを押して Settings(設定)画面を開く
  2. 設定項目「Stable Diffusion Model File」のところにある Folders... ボタンを押し、Model Folders 画面に移動する
  3. リストの「Data/models」をクリックして選び、右上にあるフォルダアイコンのボタンを押す
  4. 開かれたフォルダ画面に追加したいモデルの .ckpt ファイルを入れる
  5. Model Folders 画面を閉じる

使用モデルファイルの切り替え(Ver 1.6.0 以降)

一度追加したモデルファイルは非常に簡単に切り替えられます。

設定画面からも切替可能ですが、以下のショートカットを使ったほうが速いのでおすすめです。

  1. Ctrl + M キーのショートカットキーを押す
  2. 矢印キーで使用モデルを選択して Enter キーで決定

(Ver. 1.3.0 以前での画像生成モデル切り替え)

手順 (クリックして表示)

既存の「stable-diffusion-1.4.ckpt」をリネームし、代わりに導入したいモデルをその場所に置いて「stable-diffusion-1.4.ckpt」にリネームして差し替えれば使えます。

例えば NMKD Stable Diffusion GUI のインストール先が「G:\AI\StableDiffusionGui-v1.3.0」なら、

モデルは「G:\AI\StableDiffusionGui-v1.3.0\Data\models

の中に入っています。モデル (stable-diffusion-1.4.ckpt) は適当な場所に退避させるかリネームして別の名前にして、この場所にダウンロードしてきた別モデルを入れます。

入れたモデルの名前を「stable-diffusion-1.4.ckpt」にすれば差し替え完了です。

後はそのままソフトを起動すれば今入れたモデルでの画像生成が可能になります。

各モデルのファイル名 (忘れた時用)

モデル ファイル名
Stable Diffusion (本家) stable-diffusion-1.4.ckpt
Waifu Diffusion (v1-2) wd-v1-2-full-ema.ckpt
Waifu Diffusion (旧版) wd-full-ema.ckpt
trinart_stable_diffusion trinart_stable_diffusion_epoch3.ckpt

 

furry_epoch4.ckpt 試してみた

かわいい動物キャラがついに作れるように…!! やったー!!/ᐠ˶>ω<˶ᐟ\

 

動物キャラクターやいわゆるケモノ絵を生成するためのプロンプトや作成のコツをまとめました!

動物キャラを簡単作成

画像生成AIの「Stable Diffusion」で人間キャラクターを作成した例はたくさん見かけますが、動物キャラクターは情報が非常に少ないのでこちらに方法をまとめました。 かわいい動物キャラクター・マスコット・ケモノキャラを生成させ[…]

Stable Diffusion で furry_epoch4.ckpt モデルを使って生成したかわいい動物キャラ(ケモノ)の画像たち

 

Stable Diffusion で生成させたもふもふ動物キャラクターのイラスト(かわいいマスコット系、ケモノ系)

特化モデルを使うと動物キャラでもここまで作れるようになる…!!

 

Waifu Diffusion 試してみた

(ねこちゃんがアニメキャラ風に😹  Waifu Diffusion では動物キャラは難しいです。素の Stable Diffusion よりは良くなるけど)

Stable Diffusion で生成させた猫キャラクターのイラスト(img2imgで一部修正)

 

偶然出てきたいけめそねこくん!!😻

Stable Diffusion で生成させた猫キャラクターのイラスト(イケメン、ケモノ系)

プロンプト (クリックして表示)
model:Waifu Diffusion (v1-2)
prompt:anime cat, furry, style of anime, anime eyes, japanese, pixiv, no humans, animal
Steps:50
Guidance Scale:7.5
Sampler:k_euler_a
Seed:353022354
size:512x512

 

ファインチューニングで生成したモデルの読み込み

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

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

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

※ただしこの Textual Inversion 自体は NMKD Stable Diffusion GUI で実行することはできず、それどころかGUI操作でファインチューニングが行えるソフトは現時点で無いようです

2022/9/23 追記:バージョン1.4.0 から .pt に加えて .bin 形式のモデルを読み込めるようになりました

 

.pt / .bin ファイルの読み込みと画像生成

Textual Inversion で作成した訓練ファイル (拡張子 .pt / .bin) を読み込むには、ソフト画面の「Load Concept」ボタン(v1.4.0以降)または「Load Embedding」ボタン(v1.3.1以前)を押してください。

ファイル選択画面で訓練で生成させた .pt ファイルを開きます。

例えば好きなキャラクターで訓練して生成させた.ptファイルを読み込ませたとして、そのキャラクターが立っている絵を生成させたかったら

a standing *

というプロンプトを入力します。

アスタリスク「*」が読み込ませた訓練ファイルが表すもの(今回はキャラクター) を指すので、プロンプト中の好きな部分で言葉の代わりに「*」を使用してください。

あとは通常通り画像を生成させればOKです。img2img でも使えます。

詳しい使い方と利用イメージ

色々な人が作ったファインチューニングファイルがまとめて公開されている場所があるので、そこからモデルをダウンロードして NMKD Stable Diffusion GUI で使う方法について以下のページに記載しました。

他の人がファインチューニングで生成した独自モデルを読み込む (.pt/.bin ファイル)」の項をご覧ください。

みんなのモデルを使ってみる

画像生成AIの「Stable Diffusion」をコマンド操作不要で簡単に使えるソフト「NMKD Stable Diffusion GUI」が 2022/09/20 に大型アップデートしました! 現在の最新版がバージョン 1.4.0[…]

 

みんなが作った .pt ファイル

自分で Textual Inversion が使える環境でなくても、他の人が作った .pt ファイルを読み込んで画像生成を楽しむことができます。

上記リンク先で説明した .bin ファイル以外にも、個人で自前で Textual Inversion を実行して .pt ファイルを作成している方もいるので以下にまとめます。

※なかなか .pt ファイルを共有してくれている人を見つけられません😿
作ったよ! という方や作成事例を見かけたことのある方は教えていただけるとありがたいです。

飼い猫の Buzz くんでファインチューニング

リンク:画像例 / 本人のコメントや作成時の設定・工夫など(reddit)

.ptファイルのダウンロード先:https://github.com/simcop2387/textual_inversion_sd/raw/master/embeddings_gs-14499.pt

↑Textual Inversion はなかなか訓練が難しいのですが、こちらの方はにゃんこを結構綺麗に学習させることができています。

 

dream.py コンソール でコマンド操作

コンソールの起動

NMKD Stable Diffusion GUI から、コマンド操作ができるコンソールを起動可能です。

dream.pyコンソールの起動

右上のコンソールボタンから起動できます。

 

dream.pyコンソールの入力画面

dream>

と表示されたら準備完了です。

「dream>」の横にコマンドを入力します。

コマンドについて

コマンドの一覧や使い方はこちらに記載されています。

リンク:InvokeAI: A Stable Diffusion Toolkit

実は NMKD Stable Diffusion GUI は、この Stable Diffusion Dream Script によるコマンド操作をGUIで行えるようにしたツールです。(つまり中身はこれ)

ソフトへの機能追加も、Stable Diffusion Dream Script の開発進行に合わせて行われている形です。

コマンドの使い方は上記リンクの他、「-h」と入力してヘルプを表示させることでも確認できます。

コンソールのみで実行できる機能 (バージョン 1.3.0 時点)

★ ファイルからのプロンプトの読み取り

テキストファイルに1行ごとプロンプト・各設定を記載してそのテキストファイルを読み込ませることで、複数のプロンプトと設定を順次読み込んで画像を自動生成できます。

コンソールで実行できる機能の中では一番強力かも。

詳しい使い方はこちらをご参照ください。

img2img を 指定回数反復適用するための -v オプションがある

使い方:リンク

アップスケーリングの強度指定がコマンドからなら可能
-U : <upscaling_factor> <upscaling_strength>

↑強度はデフォルト0.75。おすすめされている値は0.5~0.8

使い方:リンク

その他

使えるのは Stable Diffusion Dream Script のコマンドのみで、この画面から conda環境に移動してあれこれやることはできなそうです…。

(色々できたら嬉しい…! 何か方法は無いのかな…?)

パソコン相談も受付中(*・ᴗ・*) よろしければフォローお願いします(懇願)