スポンサーリンク

Stable Diffusion WebUI に拡張機能を導入し操作方法を改善する

Cherry_blossom_trees_in_the_mountains_in_spring_eye_catch
記事内に広告が含まれています。
スポンサーリンク

Stable Diffusion WebUI を WSL2 Ubuntu で使用中

WSL2 含む Ubuntu に NVIDIA CUDA をインストールする方法、アンインストールする方法については「こちらのページ 」で紹介しています。複数の CUDA のバージョンが共存できます。
WSL2 含む Ubuntu に NVIDIA cuDNN ライブラリをインストールする方法について「こちらのページ 」で紹介しています。cuDNN ライブラリのダウンロードは要ユーザー登録です。
2024年5月2日現在の最新の Stable Diffusion WebUI の最新バージョンは、4月23日に公開された v1.9.3 です。v1.7.0 を SDXL 1.0 を含め WSL2 Ubuntu 22.04 LTS にゼロからインストールする方法は「こちらのページ 」、v1.8.0 へバージョンアップする記事は「こちらのページ 」、v1.9.0 へバージョンアップする記事は「こちらのページ 」に記載しています。

Stable Diffusion WebUI を Windows11 WSL2 Ubuntu 22.04 LTS へ導入し使用しています。導入方法については以下の二つの記事にまとめました。最初は Ubuntu 22.04 LTS 標準の CUDA toolkit 11.5 で作りましたが、CUDA toolkit 11.7 で作り直しました。

また、WSL2 固有の問題として、libcuda.so が実体化してしまう為に Stable Diffusion WebUI が起動しなくなる現象が発生しましたので、簡単なスクリプトを使用して Symbolic link に修正できるようにしました。

これ以降は特に大きな問題は発生せず順調に使用できています。先に cuda のライブラリをチェックしてから Stable Diffusion WebUI を起動する事で、エラーが発生する事もなくスムーズに画像生成の作業を始められるようになりました。

私が Stable Diffusion WebUI を使用する主目的は、WordPress のアイキャッチ画像を生成させる事なので、画像サイズは 1200 x 632 を指定しています。縦 630 は指定できないので、縦 632 で生成してから 縦 630 にリサイズしています。ところが、Stable Diffusion WebUI を起動させる度に画像サイズを毎回指定しなければならず、煩雑に感じていました。

今回の記事では、Stable Diffsion WebUI の拡張機能を導入して、作業性を改善する方法についてまとめました。

スポンサーリンク

Stable Diffusion WebUI へ拡張機能を導入する方法

Stable Diffusion WebUI へ拡張機能を導入するには2種類の方法があります。

  • Stable Diffusion WebUI に登録されている拡張機能をインストール
  • github 等から URL で指定してインストール

それぞれの方法について説明します。

Stable Diffusion WebUI に登録されている拡張機能をインストール

Stable Diffusion WebUI の上部に txt2img 等と並んで拡張機能 (Extensions) の項目がありますので選択します。(webui-bilingual-localization 拡張機能を導入済みですので日本語と英語が併記されています。以下同様)

Stable Diffusion WebUI の拡張機能タブ
Stable Diffusion WebUI の拡張機能タブ

拡張機能リスト (Available) を選択し、読込 (Load from:) で右側の拡張機能リストの URL のデータを読み込むと、下部に登録されている拡張機能の一覧が表示されます。

拡張機能リストの URL を読込
拡張機能リストの URL を読込

登録されている拡張機能は多岐にわたるので、除外する項目を指定します。インストールしたい拡張機能の名称が分かっている場合には、Search に入力すれば絞り込む事が出来ます。

表示を除外するタグを選択、Search で絞りこむ事も可能
表示を除外するタグを選択、Search で絞りこむ事も可能

例えば Config-Presets を Search に入れた場合には、下記の項目が表示されます。今回はインストール済みの拡張機能ですが、未インストールの場合には実行 (Action) 欄がインストール (Install) になっていますので、このボタンを押す事でインストールされます。

Config-Presets を検索
Config-Presets を検索

github 等から URL で指定してインストール

Stable Diffusion WebUI の拡張機能リストに登録されていない拡張機能をインストールする場合には、拡張機能タブの URL からインストール (Install from URL) を選択し、拡張機能のリポジトリの URL (URL for extension's git repository) に URL を入力して、インストール (Install) を押します。

拡張機能の URL を指定してインストール
拡張機能の URL を指定してインストール

上記では sd-webui-bilingual-localization 拡張機能の URL を指定しています。

インストールした拡張機能の反映

Stable Diffusion WebUI を再起動しても良いですが、下部に以下のメニューがありますので、

下部のメニュー
下部のメニュー

Reload UI を押すと、インストールした拡張機能が反映されます。

導入した拡張機能

今回、主に操作方法を改善させる為に拡張機能を導入しました。順に説明します。

こちらのページを参考にしました。様々な有用な拡張機能の概要が書かれていて分かりやすいです。

Config-Presets 拡張機能 プリセットされたパラメータを一括読み込み

txt2img の設定を予め設定しておいて、一括で読み込む拡張機能です。拡張機能から Config-Presets で検索すると見つかります。

インストールすると、txt2img や img2img の画像が表示される箇所の下に Config Presets のドロップダウンリストと Add/Remove... のボタンが表示されます。

Config-Presets プラグインの初期画面
Config-Presets 拡張機能の初期画面

既に Config Presets を登録済みの場合には、ドロップダウンリストから選択すれば、各条件が反映されます。

新しく条件を登録する場合には、自分の使用する項目を設定した後で、Add / Remove... ボタンを押すと、新規に追加する画面が表示されます。

Config-Presets プラグインの保存 / 削除画面
Config-Presets 拡張機能の保存 / 削除画面

New preset name に新しい名称を入力し、Save & Restart ボタンを押すと新しい項目が登録されます。チェックボックスに表示されている項目が一括で保存されて、ドロップダウンリストで選択すると一括で反映されます。

私は WordPress のアイキャッチ画像の生成用に WordPress_eye_catch_picture というエントリを作成し、

  • 幅 (txt2img_width) 1200
  • 高さ (txt2img_height) 632
  • バッチサイズ (txt2img_batch_size) 4

の3つの項目を指定して読み込むようにしました。他の項目はデフォルトのままです。

Stable Diffusion WebUI を起動して、Config Preset から WordPress_eye_catch_picture を選択すれば、画像サイズの指定が反映されて直ぐに画像生成を実行できますので便利です。

webui-bilingual-localization 拡張機能 英語と日本語の併記

使い始めは英語表記、その後で日本語表記用に webui-localization-ja_JP 拡張機能を使用していましたが、ググる際に日本語だと引っ掛からない事が多い為に、英語と日本語が併記できる webui-bilingual-localization 拡張機能を導入しました。

日本語の説明があるので分かりやすいです。インストール手順は上記ページ内に記載されています。

  • webui-localization-ja_JP 拡張機能を拡張機能リストからインストール
  • webui-bilingual-localization 拡張機能を github URL からインストール
  • 一旦日本語設定を無しにする。設定 (Settings) -> ユーザーインターフェース (User interface) -> 最下部の言語設定 (Localization) をなし (None) にして UI を再起動する
  • 設定 (Settings) -> Bilingual-Localization を選択する
設定 -> Bilingual-Localization の設定項目
  • 二言語表示機能を有効にする (Enable Bilingual Localization) のチェックを入れ、言語ファイル (Localization file) は ja_JP を選択、翻訳文を先に表示 (Translation First) のチェックを入れて、上部の設定を適用 (Apply Settings) を押す

という手順で二言語表示が有効になります。

英語の原文だけでは難しいので、日本語が併記されていると分かりやすく感じます。

Chrome 拡張機能 DeepL 翻訳 日本語を英語に翻訳

Stable Diffusion WebUI にも翻訳の拡張機能はありますが、Chrome を使用している場合には DeepL 拡張機能の方が便利かと思います。

ページ全体の翻訳は有料ですが、テキストボックス内の翻訳は無料で使用できます。Stable Diffusion WebUI のプロンプト (Prompt) 内に日本語を入力すれば DeepL で英語に変換できます。

Chrome 拡張機能の DeepL 翻訳を有効にすると、テキストボックス右下に DeepL のアイコンが表示されます。

テキストエリア右下に DeepL 翻訳のアイコンが表示される
テキストエリア右下に DeepL 翻訳のアイコンが表示される

プロンプト (Prompt) に日本語で入力します。試しに「春の山の中の桜並木」と入力しました。

日本語でプロンプトに入力
日本語でプロンプトに入力

右下の DeepL アイコンにマウスカーソルを合わせると、翻訳の項目が表示されます。

翻訳アイコンのメニュー
翻訳アイコンのメニュー

翻訳を実行すると、英文に置き換わります。

翻訳の実行後
翻訳の実行後

ネガティブプロンプト (Negative Prompt) を入れずに画像を生成した結果が次の画像になります。

生成例 Prompt : Cherry blossom trees in the mountains in spring
生成例 Prompt : Cherry blossom trees in the mountains in spring

これまでは翻訳サイトで英文に直してコピペで入れていましたが、テキストボックス内で英文に変換してくれるので非常に便利になりました。

使用しない拡張機能の無効化と削除

試しにインストールした拡張機能を継続して使わない場合には、無効化及び削除します。

無効化は、拡張機能 (Extensions) タブのインストール済み (Installed) の拡張機能 (Extension) 一覧から、先頭のチェックを外して「適用してUIを再起動 (Apply and restart UI)」ボタンを押します。

無効化 : 先頭のチェックを外して「適用してUIを再起動」
無効化 : 先頭のチェックを外して「適用してUIを再起動」

上図では、sd-webui-ar と stable-diffusion-webui-text2prompt のチェックを外しました。この二つの拡張機能が無効になった状態で Stable Diffusion WebUI が起動します。

拡張機能の削除は、拡張機能をインストールしたディレクトリを削除する方法になります。Stable Diffusion WebUI をインストールしたディレクトリの extensions 以下に拡張機能毎のディレクトリが存在していますので、こちらを削除します。

$ pwd
/home/hiro/stable-diffusion-webui/extensions
$ ls -l
total 20
drwxr-xr-x  5 hiro hiro 4096 Apr  4 22:18  Config-Presets
-rw-r--r--  1 hiro hiro    0 Feb 21 22:04 'put extensions here.txt'
drwxr-xr-x  4 hiro hiro 4096 Apr  4 22:21  sd-webui-ar
drwxr-xr-x  5 hiro hiro 4096 Apr  9 19:01  sd-webui-bilingual-localization
drwxr-xr-x 11 hiro hiro 4096 Apr  9 19:01  stable-diffusion-webui-localization-ja_JP
drwxr-xr-x  7 hiro hiro 4096 Apr  9 17:09  stable-diffusion-webui-text2prompt

# 使用しない sd-webui-ar と stable-diffusion-webui-text2prompt を削除する

$ rm -fr sd-webui-ar
$ rm -fr stable-diffusion-webui-text2prompt

ディレクトリを削除すると、拡張機能の一覧からも消去されます。

拡張機能の一覧からも消える
拡張機能の一覧からも消える

まとめ

Stable Diffusion WebUI の操作方法を改善する拡張機能をインストールしました。

  • Config-Presets 拡張機能は、生成する画像サイズや諸条件を一括で適用できます
  • sd-webui-bilingual-localization + stable-diffusion-webui-localization-ja_JP の組み合わせによって、日本語と英語を併記した形で UI が表示できます。
  • Chrome 拡張機能の DeepL 翻訳を使用する事により、プロンプト (Prompt) に日本語で入力した後で英文に翻訳する事が出来ます。他の翻訳ページからコピペするよりも簡単に作業する事が出来ます。

他にも幾つかの拡張機能を試してみましたが、現在の私の使い方では使いこなせない状態です。特にプロンプト周りと生成した画像の管理はもう少し改善したいと考えています。拡張機能のインストールと無効化、削除方法も分かりましたので、この先も色々な拡張機能を試してみたいと考えています。

今回のアイキャッチ画像

東北では4月中旬~5月上旬のゴールデンウィークの時期が桜の最盛期です。特に青森県の弘前城の桜は一度だけ見たことがありますが、花の密度が濃くてお堀の水面に落ちた花弁とのコントラストが綺麗でした。これ以上に綺麗な桜は、私は見たことがありません。当時はデジカメもなく記憶のみです。もう一度見る機会があれば、と思います。

コメント

タイトルとURLをコピーしました