画像生成AI

【StableDiffusion】WebUI拡張機能おすすめ7選とインストール方法解説【AUTOMATIC1111】

この記事でわかること
  • StableDiffusionWebUI拡張機能インストール方法
  • StableDiffusionWebUI拡張機能おすすめ7選

こんにちは、「学びが人生を豊かにする」をテーマに本日は「StableDiffusionWebUIの拡張機能」についてです。

AUTOMATIC1111版StableDiffusionWebUIには様々な拡張機能がリリースされています。
本記事では基本となる拡張機能のインストール方法と、特に利用している人が多い拡張機能を紹介したいと思います。

まだ、拡張機能を利用したことがないという人は、StableDiffusionWebUIを利用していれば導入は非常に簡単なので是非試してみてください。

まだ、StableDiffusionWebUIをインストールしていない場合には、是非下記の記事を参考画像生成AIを始めてみてください。

拡張機能のインストール方法

AUTOMATIC1111のStableDiffusionWebUIで拡張機能をインストールする方法を解説します。
仕組み自体はStableDiffusionの拡張機能参照先にソース一式を格納するだけなので、インストール方法は一つではありません。
ここでは、WebUIで用意されているインターフェースを使用した下記2パターンの方法について紹介したいと思います。

  • URLを指定してインストール(普通はこの方法)
  • 拡張機能リストからインストール

例として拡張機能の中でも特に有名な「ControlNet」と「multidiffusion」を実際にインストールしながら解説したいと思います。
ちなみにStableDiffusionWebUIはローカル環境に構築した最新バージョン(1.5)のUIにおける実例になります。
異なるバージョンでも基本的な手順は変わらないので参考にしてみてください。

URLを指定してインストールする方式

拡張機能のURLを直接指定してインストールする方式です。
恐らくは、この方法が最も一般的な方法だと思います。

まずは、通常通りStableDiffusionWebUIを立ち上げましょう。
トップ画面のタブに「Extensions」というタブがあるので、こちらをクリックします。

「Extensions」タブを開くと拡張機能の管理画面が表示されるので、さらに「Install from URL」を選択してください。

タブを選択すると下記のように3つの入力フィールドがある画面になります。
上から

  • インストールしたい拡張機能のgitリポジトリ入力欄
  • 特定のバージョン(ブランチ名)を指定する欄
  • インストール先のディレクトリ名入力(通常指定しない)

になります。
通常は上段のリポジトリ名を入力する欄のみにURLを入力し、他の欄は何も指定しなくて良いです。
URLを入力したら「Install」ボタンを押せばインストールが開始します。
例えば「ContorolNet」をインストールする場合には、下記URLを入力し「Install」ボタンをクリックしてください。
暫く待つと、インストールが完了します。

インストールURL:

https://github.com/Mikubill/sd-webui-controlnet.git

インストールできたら、「Installed」タブを選択すると下記画面のように、拡張機能が1行追加されているのが確認できます。
このままだと、まだ拡張機能がWebUIで認識されていないので、画面下の「ReloadUI」から画面を再起動してください。
一度画面とコマンドプロンプトを落として、再起動するでもOKです。

再起動が完了したら、画面UIが更新されているのが確認できます。
インストールする拡張機能によって異なりますが、「ContorolNet」の場合、下記画像のようにインフェースが追加され各種機能が使用可能です。

拡張機能リストからインストール

直接URLを指定するのではなく、拡張機能のリストからインストールする方式です。
こちらは、WebUIにインターフェースとして用意されている機能ですが、全ての拡張機能をカバーしているわけでもないので、あまり一般的ではないかもしれません。

まずは、先ほどと同様にStableDiffusionWebUIを起動してください。
「Extensions」のタブを選択し、今度は「Available」のタブを選択してください。
オレンジの「Load from:」ボタンをクリックすると右のURLにあるjsonファイルに記載された拡張機能リストを読み込みます。

ファイルが読み込まれると、拡張機能のリストが一覧として表示されます。
この一覧から直接拡張機能がインストール可能です。

例えば、「multidiffusion」をインストールしてみましょう。
人気の高い拡張機能を探しやすくするため、「Order」チェックボックスから「stars」を選択し、お気に入り登録数順に並び返します。
リストから目的の拡張機能を探してください。
今回インストールするのは「multidiffusion」ですが、これは拡張機能名では「TiledDiffusion」と呼ばれています。
右の「Install」ボタンをクリックすると、拡張機能がインストールされます。
先ほどと同様に、インストールが完了したら画面をリロードするのを忘れないでください。

この方法ではURLを知らなくても拡張機能をインストールすることができます。
但し、普通は拡張機能をブログや紹介動画で知るなどURLは事前にわかっているため、あまりこのリストから拡張機能を探すということはないかもしれません。
一方で「stars」でソートすると人気の高い拡張機能を見つけることはできるので、そういった使い方は有効でしょう。

拡張機能を更新するときは以下の手順です。

  1. 「Installed」タブで「Check for update」をクリック
  2. 更新がある場合は一覧にチェックが入るので、それを確認
  3. 「Apply and ReloadUI」をクリックして更新

逆に拡張機能を無効化する場合は以下の手順です。

  1. 「Installed」タブで無効化したい拡張機能のチェックを外す
  2. 「Apply and ReloadUI」をクリックして更新

上記の場合、拡張機能を無効化できますが、いつでもチェックを入れれば再度有効化可能です。
完全に削除したい場合は、インストール先のフォルダを削除してください。
通常は、「stable-diffusion-webui\extensions」にインストールされるので、不要な拡張機能のフォルダをここから削除すればOKです。

おすすめ拡張機能

拡張機能は目的によって使用したい機能は様々ですが、ここでは特におすすめの機能を紹介します。
今回紹介するのは下記の7つです。

  • ControlNet
  • multidiffusion(TiledDiffuision)
  • adetailer
  • dynamic-prompts
  • prompt-all-in-one
  • tagcomplete
  • Civitai-Helper

どれも人気が高く、有用なものばかりです。
詳細な使い方などは省略しますが、どんなことが出来るのか概要を紹介しますので、気に入ったものがあれば是非、インストールして使ってみてください。

おすすめ拡張機能1:「ControlNet」

「ControlNet」は参照となる画像を用意することで、ポーズの指定や似た顔の生成などプロンプトだけでは実現困難な画像を生成できるようにしてくれます。
例えばControlNetの制御タイプとしてOpenPoseを使用すると、指定したポーズの画像を簡単に生成可能です。

下記画像はControlNetの設定画面ですが、棒人間のようなOpenPose画像を参照させることで、生成する画像の人物はこのポーズをとるようになります。

下記はプロンプトのみで生成した画像とOpenPoseを使用した比較画像です。
片足を上げた女の子を生成するプロンプトを使用していますが、プロンプトのみだと様々な姿勢をとっていることが分かります。
これをきっちりとしたポーズを生成させるには体の姿勢や向き、持ち上げる足や手の位置など細かくプロンプトで指定しなくてはなりません。
それに対してControlNetを使用すると、ポーズ画像を参照させるだけで思った通りの姿勢で画像を生成することが可能です。

ControlNetはこれ以外に様々な制御タイプがあり、例えば

  • Canny(エッジ検出)を使用した白黒画像のカラー化
  • Referenceを使用した同一顔の生成

など色々応用が可能になります。

なお、ControlNetに関しては、インストール方法は同じですが、各種制御タイプの機能を使用するには追加のモデルファイルが必要になることに注意してください。
詳細は公式ページを参照してください。

インストールURL:

https://github.com/Mikubill/sd-webui-controlnet.git

おすすめ拡張機能2:「multidiffusion」

二つ目に紹介するのは「multidiffusion」で、これは通常「TiledDiffusion」と呼ばれるものです。
これは画像サイズをアップスケールすることで高画質化するために使用される拡張機能になります。

アップスケールについては、StableDiffusionWebUIで標準実装されているHires.fixなどを使用する方法もあります。
しかし、Hires.fixは大量のVRAMが必要となり倍率が高いとGPUによってはエラーになることも。
それに対してTiledDiffusionは画像を分割してアップスケールすることでVRAM消費を抑えたアップスケールを可能にします。

アップスケールについては、TiledDiffusion以外にもいくつかアップスケール拡張機能がリリースされているので色々試してみるのも良いかもしれません。
詳細は公式ページも参照してください。

インストールURL:

https://github.com/pkuliyi2015/multidiffusion-upscaler-for-automatic1111.git

おすすめ拡張機能3:「adetailer」

3つ目に紹介するのは「ADetailer」です。
これはAfter Detailerとも呼ばれ、画像生成した後に顔や手を補正する拡張機能です。
手の補正力はそこまで強くありませんが、顔の崩れは比較的修正してくます。

本機能は画像を生成した後に顔認識や手の認識を行い、該当箇所をinpaint機能のように再描画し修正することが可能です。
認識した領域に対してプロンプトを追加することも可能で、例えばadetailerのプロンプトにsmileなどと入れることで笑顔に補正してくれます。

下記の画像はadetailerを有効化した比較画像で2パターンで補正を行ったものになります。
左上から元画像、右上がどこを認識したかの中間画像、左下がプロンプトなしで補正した画像、右下が「red eyes,smile」と追加して生成したものです。

顔が大量にある画像では処理時間が多くなってしまいますが、それ以外は基本的には有効化することで品質の良い画像を生成してくれます。
詳細は公式ページも確認してみてください。

インストールURL:

https://github.com/Bing-su/adetailer.git

おすすめ拡張機能4:「dynamic-prompts」

dynamic-promptsは動的にプロンプトの内容を変えることができるようになる拡張機能でWildcard機能とも呼ばれます。
プロンプトは通常生成したい画像の内容を指定しますが、バリエーションを変えて生成したいっていうときがありますよね。
例えば髪型や表情、背景などちょっとした部分を変えるとき、毎回プロンプトを変更するのは非常に手間です。

それに対してdynamic-promptsは生成したい単語をリストとして定義することで簡単にバリエーション画像を生成してくれます。
例えば、下記は髪型を8種類定義して生成した例です。
事前に髪型のリストを定義しておくだけで一度の画像生成で異なるプロンプトの画像を生成してくれます。

様々な単語の組み合わせで大量に画像生成してからお気に入りのい画像を選ぶなど色々と活用できる機能です。
単語のリストを事前に準備するのが少々手間ですが、civitaiにWildcardというタグで単語リストを配布していたりもするので参考にすると良いかもしれません。

以下にDynamicPromptsについての詳細記事を書いているので、よろしければ参考にしてください。

おすすめ拡張機能5:「prompt-all-in-one」

prompt-all-in-oneはプロンプト入力が便利になる拡張機能です。
通常プロンプトは入力フィールドに自分で単語を入力するだけですが、prompt-all-in-oneを使うことで単語の編集や翻訳並び替えなどを簡単にしてくれます。
主な機能は

  • 翻訳
  • 履歴
  • ChatGPT連携
  • 強調
  • 並び替え

など便利な機能が揃っています。

特に難しい操作などもなく使用できるので、とりあえず導入しておいても損はない機能です。
詳細は公式ページも参考にしてください。

インストールURL:

https://github.com/Physton/sd-webui-prompt-all-in-one.git

おすすめ拡張機能6:「tagcomplete」

tagcompleteもプロンプト入力を補助してくれる拡張機能です。
先ほどのprompt-all-in-oneは入力したワードの翻訳や編集などが中心でしたが、tagcompleteでは予測変換のように入力自体を補助してくれます。

この拡張機能の主なメリットは以下の二つです。

  • スペルミスを防ぐことが出来る
  • 似た単語をサジェストで知ることが出来る
  • よく使用される単語を知ることが出来る

例えば下記の左の例のように「master」とプロンプトに入力すると予測候補が表示され、これを選択することでスペルミスすることなく簡単に入力することができます。
または、解像度に関する単語を入力するため「resolu」と入力すると、下記右画像のようにいくつかのサジェストワードが表示されます。
これにより例えば「resolution」に関するワードとして「highres」というワードが良く使用されていることがわかります。
ちなみに「high_resolution→highres」となっているのは、表記ゆれを防ぐために統一化されている単語を教えてくれています。

ただし、本機能のタグはイラスト系の投稿サイトのタグを使用していることに留意してください。
つまりリアル系の画像を生成する場合には必ずしもサジェストされたタグが最適化されているわけではないということです。
ただ実際のところはそんなに問題があるわけではないので、普通にリアル系の画像生成でも十分活用できるので安心してください。

公式ページはこちらから。

インストールURL:

https://github.com/Physton/sd-webui-prompt-all-in-one.git

おすすめ拡張機能7:「Civitai-Helper」

最後におすすめする拡張機能は「Civitai-Helper」です。
これはloraなどの学習データをciviaiと連携させて管理することができる拡張機能です。
具体的にはcivitaiからメタ情報を取得し、サムネイル表示管理などができます。

通常loraファイルやcheckpointファイルはWebUI上でファイル名のみが表示され、どんな学習モデルなのか一目見ただけではわかりません。
Civitai-Helperを適用することで、使用しているファイルのCivitai上のメタ情報を取得し、下記画像のようにイメージ画像を表示してくれるようになります。
これにより、簡単にファイルの概要を把握することが出来るようになるため、使い勝手が格段に上がります。

このほか、ファイルのアップデートやモデルのダウンロード管理などの機能も充実しています。
ただし、本記事執筆時点(2023年8月)ではWebUIの最新版(1.5)にCivitai-Helperの更新が間に合っていないため、モデルカードボタン機能が使えません。
そのため、WebUIからcivitaiのモデルページを開くなどの機能については非対応状態です。
それでもサムネイル表示などは問題なく使用できるため導入しておいて損はない拡張機能になっています。

詳細についてはこちらも公式ページを参照してください。

インストールURL:

https://github.com/butaixianran/Stable-Diffusion-Webui-Civitai-Helper.git



まとめ

本記事ではAUTOMATIC1111のStableDiffusionWebUIの拡張機能についてインストール方法と、特に人気のある拡張機能7つを紹介しました。

拡張機能のインストール方法については実際に拡張機能を導入する実例を紹介しながら2つの方法を解説しました。
また、特におすすめの拡張機能として以下の7つを挙げています。

  • ControlNet: 参照画像を用意することで、ポーズの指定や似た顔の生成などが可能になります。
  • multidiffusion(TiledDiffuision): 画像サイズをアップスケールし、高画質化するための拡張機能です。
  • adetailer: 画像生成後に顔や手を補正する機能を提供します。
  • dynamic-prompts: プロンプトの内容を動的に変えることができます。
  • prompt-all-in-one: プロンプト入力が便利になる拡張機能で、翻訳や編集などが可能です。
  • tagcomplete: 予測変換のように入力を補助します。
  • Civitai-Helper: 学習データをciviaiと連携させて管理することができます。

それぞれの拡張機能については、具体的にどのようなことができるのか概要を解説しており、またインストールURLなども記事内で提供しています。

拡張機能は非常に多くの種類がありどれも画像生成をより快適にしてくれるものばかりです。
導入についてはほぼ数クリックで完了するので、是非導入して画像生成AIを今以上に使いこなしてみてはいかがでしょうか。

ABOUT ME
ミスタ
ミスタと申します! このブログは主に日々学んでいる知識についてアウトプットしていくことを目的としたブログです。 その他、趣味や戯言なども時々書いたりもします。 最近は専らAI関連が興味の対象です。 このブログが少しでも誰かの役に立てればと思っています!