クオリティの高い画像を生成することができるStable Diffusionですが、拡張機能を追加することでさらにクオリティが高く、効率の良い画像生成をすることができます!
今回はそんな拡張機能の使い方、おすすめの拡張機能についてご紹介します。
- Stable Diffusionとは
- Stable Diffusionの『拡張機能』とは
- 【Google Colab】拡張機能のインストール方法
- 拡張機能がインストールできない場合の対処法
- 拡張機能の更新(アップデート)方法
- おすすめの拡張機能9選!
- まとめ
Stable Diffusionとは
Stable Diffusionとは、2022年8月に公開された無料で利用できる画像生成AIです。
ユーザーが入力したテキストをもとに、クオリティの高い画像を生成します。
※Stable Diffusionの立ち上げ方や使い方については、以下の記事を参考にしてください。
Stable Diffusionの『拡張機能』とは
Stable Diffusionの「拡張機能」とは、Stable Diffusionにデフォルトで備わっていない機能を追加することができるものです。
元々クオリティの高い画像を生成するStable Diffusionですが、「拡張機能」を導入することでさらにハイクオリティに、かつ効率よく画像を生成することができます。
- Stable Diffusionのプロンプトの見本が知りたい
- 画像生成が思ったようにできない
- 色々なプロンプトを探したい
【Google Colab】拡張機能のインストール方法
Google Colabでの拡張機能のインストール方法は2つあります。
それぞれ操作画面と合わせてご紹介していきます。
※Google ColabでのStable Diffusionの使い方については、以下の記事を参考にしてください。
拡張機能のインストール方法①:URLから導入する
まずは拡張機能のURLを使用して導入する方法です。
今回は例として、「MultiDiffusion」という拡張機能をインストールしてみます。
URLは公式サイトGitHubから確認できます。
GitHubの「MultiDiffusion」配布ページ→「Code」→「Local」→「HTTPS」に表示されているURLが今回使用するURLです。
④のボタンを押してURLをコピーしたら、Stable Diffusionを起動しましょう。
「Extensions」→「Install from URL」の中にある「URL for extension’s git repository」に先ほどコピーしたURLを貼り付けて「Install」を押します。
※インストールが完了すると、下の方に小さい文字で再起動を促す文章が表示されます。
「Installed」に移動して、「Apply and quit」でStable Diffusionを再起動させましょう。
拡張機能をURLから導入する方法は以上です。
拡張機能のインストール方法②:拡張機能リストから導入する
つぎに、Stable Diffusion内にある拡張機能リストから導入する方法です。
Stable Diffusionの「Extensions」→「Available」にある「Load from:」を押します。
拡張機能リストが表示されます。
- 「Hide extensions with tags」→拡張機能の種類を絞ることができます。
- 「Order」→拡張機能リストの並び順を設定できます。
- 拡張機能リストの名前を押すと、配布ページのURLに飛びます。(重要事項などを事前に確認しておきましょう。)
- 「Install」ボタンでインストールすることができます。
「Install」ボタンを押した後は、URLから導入する方法と同様、「Installed」→「Apply and quit」を押してStable Diffusionを再起動させます。
以上が拡張機能リストから導入する方法です。
拡張機能がインストールできない場合の対処法
拡張機能がインストールできない原因については、いくつか考えられるものがあります。
それぞれの原因に合わせた対処法をご紹介します。
①Stable Diffusionのバージョンが古い
拡張機能のインストールができない原因の1つにStable Diffusionのバージョンが古いことが考えられます。
この場合は、Stable Diffusionのバージョンをアップデートすることで解決できます。
※Stable Diffusionのバージョンのアップデート方法は以下の記事を参考にしてください。
②URLが間違っている
URLから拡張機能をインストールした場合、使用したURLが間違っている可能性があります。
以下のような間違いがないか確認してみましょう。
- URL自体に誤字脱字がないか。
- 正しい配布ページのURLを使用しているか。
拡張機能の更新(アップデート)方法
インストールした拡張機能の更新はStable Diffusion内でできます。
Stable Diffusionの「Extensions」→「Installed」にいくとインストールした拡張機能の一覧が表示されます。
ここにある「Check for updates」ボタンを押すことで拡張機能をアップデートすることができます。
おすすめの拡張機能9選!
ここからは、実際に使用してよかったおすすめの拡張機能をご紹介します!
インストール必須レベルの拡張機能もあるので、ぜひ参考にしてください。
①SD WebUI Tag Autocomplete
プロンプトを入力するときに、入力候補を表示してくれる機能です。
言い換えのプロンプトも表示してくれるので、知らなかったプロンプトを知ることもできます。
【SD WebUI Tag Autocompleteを使うメリット】
- プロンプトを入力する手間が省ける。
- 知らなかったプロンプトを知ることができる。
- プロンプトの入力ミスがなくなる。
インストールしてからプロンプトを入力すると、入力候補が表示されるようになります。
また、「SD WebUI Tag Autocomplete」には、「chant」という複数のプロンプトを一括入力してくれる設定があります。
「<」と入力することで一括入力専用のリストが表示されます。
表示された項目をクリックすると、複数のプロンプトが自動で入力されます。
ちなみに、「Fancy-FireMagic」と「Fancy-WaterMagic」をクリックすると、以下のようなプロンプトが自動設定されます。
プロンプト
(extremely detailed CG unity 8k wallpaper),(masterpiece),(best quality),(ultra-detailed),(best illustration),(best shadow),(an extremely delicate and beautiful),dynamic angle,floating,fine detail,(bloom),(shine),glinting stars,classic,(painting),(sketch),
a girl,solo,bare shoulders,flat_chest,diamond and glaring eyes,beautiful detailed cold face,very long blue and sliver hair,floating black feathers,wavy hair,extremely delicate and beautiful girls,beautiful detailed eyes,glowing eyes,
palace,the best building,((Fire butterflies, Flying sparks, Flames)),
プロンプト
(extremely detailed CG unity 8k wallpaper),(masterpiece),(best quality),(ultra-detailed),(best illustration),(best shadow),(an extremely delicate and beautiful),classic,dynamic angle,floating,fine detail,Depth of field,classic,(painting),(sketch),(bloom),(shine),glinting stars,
a girl,solo,bare shoulders,flat chest,diamond and glaring eyes,beautiful detailed cold face,very long blue and sliver hair,floating black feathers,wavy hair,extremely delicate and beautiful girls,beautiful detailed eyes,glowing eyes,
river,(forest),palace,(fairyland,feather,flowers, nature),(sunlight),Hazy fog,mist,
この2つの説明を公式で見つけることができませんでした。
(おまけの設定なのでしょうか…。)
試しに画像生成してみたところ、
それぞれ名前の通り、炎と水をイメージさせる画像生成ができました!
「SD WebUI Tag Autocomplete」をインストールする際は、以下のURLを入力してください。
https://github.com/DominikDoom/a1111-sd-webui-tagcomplete.git
②MultiDiffusion-upscaler-for-automatic1111
通称「MultiDiffusion」と呼ばれるこの拡張機能は、メモリの消費を抑えながら画像を高画質化してくれる機能です。
【MultiDiffusionを使うメリット】
- メモリの消費を抑えながら大きいサイズの画像を生成することができる。
- 効率的に画像を高画質化することができる。
『MultiDiffusion』の使い方
実際に「img2img」で「MultiDiffusion」を使用して、画像を高画質化させてみたのでご紹介します。
まずは、以下のURLを使用して「MultiDiffusion」をインストールしてください。
https://github.com/pkuliyi2015/multidiffusion-upscaler-for-automatic1111.git
※Stable Diffusionを再起動して、設定項目に「Tiled Diffusion」「Tiled VAE」の項目が追加されていればインストールができています。
「PNG info」に高画質化したい画像をドロップまたはクリックして読み込み、「Send to img2img」ボタンを押して「img2img」に画像の情報を送ります。
「img2img」に移動したら、下にスクロールして各種設定を行います。
まずは「Sampling method」「Sampling steps」「Denoising strength」の設定をします。
- 「Sampling method」→元画像と同じDPM++ SDE Karrasに設定
- 「Sampling steps」→元画像と同じ36に設定
- 「Denoising strength」→0.5
つぎに、「Tiled Diffusion」の設定をします。
「Tiled Diffusion」の「◀」ボタンを押して以下の設定を行いましょう。
- 「Enable Tiled Diffusion(「Tiled Diffusion」を有効にする)にチェック
- 「Method」→2種類のうち好きな方を選択
- 「Upscaler」→お好みのものを選択
- 「Scale Factor」→画像を何倍の大きさにするか選択(1倍=元画像と同じサイズで生成)
- 「Method」→「MultiDiffusion」を選択
- 「Upscaler」→「R-ESRGAN 4x+」を選択
- 「Scale Factor」→2倍
最後に、「Tiled VAE」の設定をします。
「Tiled VAE」の「◀」ボタンを押して詳細設定を表示させます。
「Tiled VAE」は、「Enable Tiled VAE」にチェックを入れるだけでOKです。
その他の設定はデフォルトのままにして、画像生成してみます。
元画像と生成された画像を比較してみましょう。
ぼやけていた背景、髪の毛や服装など細かい部分まで高画質化されているのがわかりますね!
(掲載する関係で同じサイズに設定しましたが、実際は大きさも2倍に生成されています。)
このように、「MultiDiffusion」を使うと簡単に画像を高画質化させることができます。
③Dataset Tag Editor
「Dataset Tag Editor」は画像からプロンプトを自動で出力し、テキストとして保存できる拡張機能です。
最初からプロンプトを考えるのはなかなか大変ですが、「Dataset Tag Editor」はそんな手間をなくすことができます!
【Dataset Tag Editorを使うメリット】
- プロンプトを考えたり、入力する手間が省ける。
- 理想の画像を生成するまでの時間や労力の消費を抑えることができる。
- プロンプトの知識が少ない状態でも画像生成できるようになる。
『Dataset Tag Editor』の使い方
1.【事前準備】画像を指定のフォルダに保存する
「Dataset Tag Editor」を使用する際は、プロンプトを出力したい画像を指定のフォルダに保存しておく必要があります。
- Google ColabでStable diffusionを起動している方は、「Googleドライブ」内に、任意のフォルダを作成して保存します。(あわせてGoogleドライブへの接続を許可しておいてください。)
- ローカル版の方は、日本語表記のない任意のフォルダに保存しておきます。
私はGoogle ColabでStable diffusionを起動しているので、Googleドライブ内に以下のフォルダを作成して保存しました。
/content/gdrive/MyDrive/Stable diffusion/models/sample
2.『Dataset Tag Editor』で画像からプロンプトを出力する
事前準備ができたら、以下のURLを使用して「Dataset Tag Editor」をインストールしましょう。
https://github.com/toshiaki1729/stable-diffusion-webui-dataset-tag-editor
「Dataset Tag Editor」のインストールが完了すると、新たに「Dataset Tag Editor」のタグが追加されます。
「Dataset Tag Editor」の操作画面を下にスクロールすると設定項目が表示されるので、以下の手順で設定を行ってください。
- 「Dataset directory」に画像を保存したフォルダのパスを入力(※1)
- 「Load from subdirectories(すべての画像を読み込む)」にチェック
- 「Use Interrogator Caption」→「BLIP」や「DeepDanbooru」の使用有無・反映方法を選択
- 「No」→使用しない
- 「If Empty」→キャプションがない場合使用
- 「Overwrite/Prepend/Append」→生成したキャプションで上書き/先頭に追加/末尾に追加
- 「Interrogator」→お好みのものを選択(出力されるプロンプトが変わります)
- 「Interrogator Settings」→「Interrogator」で選択したものにチェック
- 「Use Interrogator Caption」→「If Empty」を選択
- 「Interrogator」→「DeepDanbooru」を選択
- 「Interrogator Settings」→「Use Custom Threshold(Booru)」を選択
(※1)Google ColabでStable diffusionを起動している方は、Google Colab内から以下の手順でパスを確認してください。
設定が完了したら、「Load」ボタンを押してみましょう。
操作画面右側に出力されたプロンプトが表示されます。
プロンプトが出力された状態で、操作画面上にある「Save all changes」を押すと、
出力したプロンプトをテキストファイルにして保存してくれます。
このテキスト内容をコピペして使用するだけで、プロンプトの設定をすることができます!
ちなみに、出力されたプロンプトは保存する前に編集することもできます。
編集内容をいくつかご紹介します。
1.重複して出力されたプロンプトを削除する
同じプロンプトが重複して出力された場合、「Batch Edit Captions」→「Remove」→「
Remove duplicate tags」ボタンを押すと重複したプロンプトを削除することができます。
2.指定の画像の出力されたプロンプトを編集する
画像を指定して、その画像に対するプロンプトのみ編集する方法です。
「Edit Caption of Selected Image」→「Read Caption from Selected Image」の状態で編集したい画像をクリックします。
すると、その画像から出力されたプロンプトだけが読み込まれて、編集できる状態になります。
このように、「Dataset Tag Editor」を使用すると一からプロンプト設定する手間を省くことができるので、おすすめです!
④ControlNet
「ControlNet」は複雑なポーズの指定や、細かい描写まで指定した画像生成をすることができる拡張機能です。
画像生成の幅がかなり広がるので、ハイクオリティな画像生成をするには必須の拡張機能です。
【ControlNetを使うメリット】
- プロンプトで指定するよりも、細かい部分まで指定をすることができる。
- ポーズの指定をしてもクオリティの高い画像が生成できる。
例えば、こんな感じで通常の画像生成では表現することが難しいポーズも、棒人間で指定することで簡単に生成できたりします!
複雑な描写も再現可能になり、画像生成の幅が広がります。
※「ControlNet」の使い方については以下の記事で詳しくまとめているので、参考にしてください。
⑤a1111-sd-webui-lycoris
通称「Lycoris」と呼ばれるこの拡張機能は、「Lora」の上位互換版のようなもので、使い方も「LoRA」と同じです。
※「LoRA」については、以下の記事にくわしくまとめているので、参考にしてください。
【Lycorisを使うメリット】
- 複雑な描写が簡単に再現できる。
- 入力するプロンプトが大幅に減る。
- 好きなアニメキャラなどの再現も簡単にできる。
「LyCORIS」を使用するには学習済みの「LyCORIS」対応のモデルを使用します。
例えば、「Concept: Water」という水の表現を学習しているこちらのモデル。
この「Concept: Water」を使用して画像生成すると…。
このように、水の表現を取り入れた画像生成が簡単にできるんです!
※「LyCORIS」の使い方については以下の記事で詳しくまとめているので、参考にしてください。
⑥Loopback scaler
「Loopback scaler」は画像を高画質化できる拡張機能です。
「MultiDiffusion」と似たような機能ですが、比較すると以下のようなメリットがあります。
【Loopback scalerを使うメリット】
- 「MultiDiffusion」に比べてさらに詳細な描写、大きいサイズで生成することができる。
- 画像の設定(明るさ・色・コントラストなど)を細かく指定できる。
そんな「Loopback scaler」ですが、デメリットとしてVRAMの消費が多いです…!
低スペックPCだとかなり負担がかかるので、使用する際は注意が必要です。
『Loopback scaler』の使い方
「Loopback scaler」は以下のURLを使用してインストールしてください。
https://github.com/Elldreth/loopback_scaler
1.『Loopback Scaler』の設定
インストールが完了したら、「img2img」を開きましょう。
下にスクロールして、設定項目の「Script」→「▼」ボタン→「Loopback Scaler」という項目があればインストールができています。
「Script」で「Loopback Scaler」を選択すると、下に新しく「Loopback Scaler」の設定項目が表示されるので、以下を参考に各項目を設定しましょう。
- 「Dimension Increase」→お好みのものを選択(種類によって変化の仕方が変わります)
- 「Loops(解像度を上げる回数)」→値が高いほど詳細な描写になるが元画像との違いも出やすくなる(公式では4~10を推奨しています。)
- 「Denoise Change(ノイズ除去の強さ)」→お好みの値を選択(1=「img2img」で設定している強さで生成される。)
- 「Maximum Image Width/Height」→生成する画像の大きさを入力。(はじめは大きくしすぎないで試すのがおすすめです。)
- 「Add Detail/Add Blur/Smoothing(輪郭の描写/ぼかし加工/滑らかさ)」→お好みの値に設定
- 「Sharpness/Brightness/Color/Contrast(輪郭の強弱/明るさ/色の強さ/コントラスト)」→お好みの値に設定
- 「Dimension Increase」→「Ease Out: Sine」を選択
- 「Loops」→「4」に設定
- 「Denoise Change」→「1」に設定
- 「Maximum Image Width/Height」→元画像の2倍「1024×1024」に設定
- 「Add Detail」→「Medium」を選択
- 「Add Detail/Add Blur/Smoothing」→すべてデフォルトの「1」に設定
- 「Sharpness/Brightness/Color」→順に「1.2/1.1/1.2」に設定
「Loopback Scaler」の設定が完了したら、その他の設定も通常の画像生成時と同じように設定しておきましょう。
生成された画像をMultiDiffusionで生成した画像と比較してみます。
※「Loopback scaler」の使用以外はすべて同じ条件です。
MultiDiffusionで生成した時よりもさらに詳細に、色味や明るさも修正されて生成されました!
このように、細かい部分まで設定することができるので、ぜひいろいろ試してみてください。
⑦ADetailer
「ADetailer」は顔や手など体のパーツを自動認識して修正してくれる拡張機能です。
Stable Diffusionで全身の画像を生成すると、顔や手が崩れることって多いですよね。
「ADetailer」を使用すれば、そんなパーツの崩れをなかったことにできます!
【ADetailerを使うメリット】
- 顔や手などパーツの崩れを、自動的に認識し修正してくれる。
- 顔の書き込み量が増えることで、クオリティの高い画像を生成することができる。
例えば、顔が崩れてしまった画像に「ADetailer」を使用すると…。
このように、顔をきれいにして画像生成してくれます!
※「ADetailer」の使い方については以下の記事で詳しくまとめているので、参考にしてください。
⑧sd-dynamic-thresholding
「sd-dynamic-thresholding」は「CFG Scale」を上げても画像が崩壊するのを防いでくれる拡張機能です。
※「CFG Scale」については以下の記事で詳しくまとめているので、参考にしてください。
「sd-dynamic-thresholding」を使用すれば、「CFG Scale」の値を高くしても、画質や色味などの崩壊を防ぐことができます!
『sd-dynamic-thresholding』の使い方
「sd-dynamic-thresholding」の使い方についてご紹介します。
まずは以下のURLを使用して「sd-dynamic-thresholding」をインストールしてください。
https://github.com/mcmonkeyprojects/sd-dynamic-thresholding
インストールが完了すると設定項目の中に「Enable Dynamic Thresholding (CFG Scale Fix)」という項目が追加されるのでチェックを入れます。
チェックを入れると「Dynamic Thresholding」の設定項目が表示されます。
設定項目の中に表示される「View wiki for usage tips.」をクリックすると、設定方法について記載されているページに飛びます。
※上記は日本語訳にして表示したものです。
まずはこの設定方法を参考に設定してみましょう。
- 「Mimic CFG Scale」→お好みの値に設定(公式では7~10辺りを推奨しています。)
- 「Top percentile of latents to clamp」→設定したCFG Scaleが高い場合は100%、中程度の場合は~95%に設定
- 「Mimic Scale Scheduler/CFG Scale Scheduler」→お好みのものを選択(公式では「Half Cosine Up」を推奨しています。)
- 「Minimum value of the Mimic Scale Scheduler/CFG Scale Scheduler」→「3」か「4」に設定
- 「Mimic CFG Scale」→10に設定
- 「Top percentile of latents to clamp」→90%に設定
- 「Mimic Scale Scheduler/CFG Scale Scheduler」→「Cosine Repeating」
- 「Minimum value of the Mimic Scale Scheduler/CFG Scale Scheduler」→「3」に設定
あわせて「Sampling steps」「CFG Scale」などの基本的な設定もしましょう。
今回は「Sampling steps」は「50」と少し高めに、「CFG Scale」は「30」に設定しました。
設定が完了したら、画像を生成してみます。
「sd-dynamic-thresholding」を使用したものと、使用していないものを並べてみました。
一目で違いがわかりますね!
このように、「sd-dynamic-thresholding」を使用することで「CFG Scale」を高く設定した際の色味や画質などの崩れを防ぐことができます。
慣れるまで少しコツがいりますが、適切な設定にできるとこれだけの違いが出るので、いろいろ試してみことをおすすめします。
⑨Prompt All in One
「Prompt All in One」はプロンプトに関わる設定がワンクリックでできるようになる拡張機能です。
例えば、プロンプトの自動翻訳、削除、強弱の設定、並べ替え、などなど…。
小さいことですが、これらがワンクリックでできるようになったらプロンプトの設定が一段とスムーズになります。
【Prompt All in One】を使うメリット
- プロンプトのあらゆる設定をボタン・ワンクリックでできるようになる。
- プロンプトの翻訳を自動でしてくれる。
- ChatGPTと連携することができる。(有料)
『Prompt All in One』の使い方
『Prompt All in One』の使い方をご紹介します。
まずは、以下のURLを使用して「Prompt All in One」をインストールしてください。
https://github.com/Physton/sd-webui-prompt-all-in-one
インストールが完了すると、プロンプト設定の下に新しく項目が追加されます。
これが「Prompt All in One」の項目です。
「Prompt All in One」を追加した状態でプロンプトを入力すると、
「Prompt All in One」の項目に自動で反映されます。
「Prompt All in One」にはかなりの機能がありますが、そんな中でも基本的かつ便利な3つの機能をご紹介します。
1.プロンプトの自動翻訳
プロンプトを入力した際に自動翻訳をさせる方法です。
設定アイコンの中にある自動翻訳アイコンにチェックを入れます。
プロンプトを入力してみると…。
自動翻訳した言葉が表示されるようになりました!
2.プロンプトの無効化
指定したプロンプトを一時的に無効化する方法です。
無効化したいプロンプトをダブルクリックします。
すると、ダブルクリックしたプロンプトに打消し線がつき、一覧の中からも削除されます!
元に戻したいときは、再度ダブルクリックすることで簡単に戻すことができます。
3.日本語で入力したプロンプトを自動翻訳して出力
赤枠の部分に追加したい単語を入力して「Enter」キーを押します。
すると、最後尾に自動翻訳されたプロンプトが追加されます!
この他にも、ボタン1つでプロンプトの強弱を設定できたり、ドラッグするだけで並び替えができたり、様々な機能があります。
画像のように、カーソルを合わせるとわかりやすくボタンが表示されるので、色んな機能を試してみてください!
まとめ
いかがでしたでしょうか?
Stable Diffusionの拡張機能について解説してきました。
今回のポイントをまとめると、以下のようになります。
- Stable Diffusionの拡張機能は、Stable Diffusionにデフォルトで備わっていない機能を追加することができる。
- Stable Diffusionの拡張機能のインストールは、URLから導入する方法と拡張機能リストから導入する方法の2つがある。
- Stable Diffusionの拡張機能がインストールできない場合は、Stable Diffusionのバージョンが古くないか、URLが間違っていないかを確認する。
- Stable Diffusionの拡張機能の更新はStable Diffusion内でできるが、必要最低限に行う。
- ハイクオリティな画像生成をするには拡張機能のインストールは必須。
Stable Diffusionの拡張機能は数えきれないほど多くありますが、今回ご紹介した拡張機能はどれも使いやすく大変便利な拡張機能です。
ぜひ今回の記事を参考に、Stable Diffusionで拡張機能を使用してみて下さい!
- Stable Diffusionのプロンプトの見本が知りたい
- 画像生成が思ったようにできない
- 色々なプロンプトを探したい