イントロダクション
前々回と前回は、Forgeのインストールと日本語化について扱いました。
過去記事は以下から。
今回の記事では、Forgeで使える拡張機能のうち、オススメのものをいくつかご紹介します。
拡張機能のインストール方法(GUI)
前回の日本語化で、拡張機能のインストール方法には既に触れてはいるのですが、復習として基礎から説明します。
GUIでのForgeの拡張機能インストール方法には、以下の2つの方法があります。
➀リストインストール
②URLインストール
順番に説明していきます。
リストインストール
リストインストールでは、拡張機能(Extensions)タブの拡張機能リスト(Available)タブから、リストを読み込むという手順を取ります。
拡張機能タブをクリック
拡張機能リストタブをクリック
オレンジ色の読込をクリック
インストールできる拡張機能のリストがずらずらっと並びます。
インストールするには、右端のインストールボタンを押すだけです。
URLインストール
拡張機能タブ(Extensions)タブのURLからインストール(Install from URL)から、目的の拡張機能のGithubリポジトリURLを読み込んでインストールという手順です。
URLからインストールタブをクリック
拡張機能のリポジトリURLに、目的の拡張機能のURLを入力
この方法を使うには、拡張機能があるURLを探さなければなりません。
注意点(共通)
リストインストールとURLインストールのどちらも、インストール済みタブから拡張機能を有効にして、UIの再読み込みを行わなければ、機能が有効にならないことに注意してください。
なお、Gitを使ってCLIからインストールすることもできます。
extensionsディレクトリに移動してgit cloneしてください。
このレベルの人に詳しい説明は不要でしょう。
おすすめ拡張機能
Forgeに最初からインストールされているものは、機能のみを、その他の拡張機能については、インストール方法と紹介を行います。
ControlNet Integrated
ControlNetは、簡単に言うと、どのような構図でイラストを生成するのか指示を出すことができる機能です。
txt2imgでは、構図に指示を出すことが出来ず、生成を繰り返す必要があります。
この機能を利用して構図の指示を行うことで、試行回数を大幅に削減できます。
このことから、ControlNetはイラスト生成に第2の革命を起こした機能であると言われています。
その一つのCannyという機能は線画の抽出も行うことができます。
ControlNetを使いこなすには、ControlNet用のモデルのダウンロードが必要です。
拡張機能の中でも重要なものであり、試行錯誤を繰り返して習熟する価値があります。
ここで扱うには分量が多いので、モデルのダウンロードや各機能の詳細は別の記事で紹介します。
FreeU Integrated
FreeUは、B1・B2・S1・S2の4つのパラメーターの設定をするだけで、画質を簡単に向上させることができる機能です。
有効化にチェックを入れるだけで画質向上の効果があるとのことですが、デフォルトの数値ではいまいちよく分かりませんでしたので、値をFreeUファイル READMEの「b1: 1.3, b2: 1.4, s1: 0.9, s2: 0.2」に設定して試行しました。
プロンプトは、「1girl」のみで、モデルは「animaPencilXL_v150」です。
WEBP画像なので劣化していますが、それでもFreeUありの方は、ザラつきが減少して髪の質感・光の反射・影・輪郭が変化していることがわかります。
塗りの問題な気もしますので高画質化というのはどうかというところですが…
READMEを読み、推奨されている設定に数値を書き換えて利用するのがよさそうです。
ADetailer
こちらは、顔の細部・表情指定・手の細部を修正してくれる機能です。
顔や手足指を自動認識して加筆処理を行ってくれますので、より高品質なイラストを生成する効果を望めますが、大きく崩れた手や四肢の修正ができるほどの性能はありません。
あくまでも、顔や手が正常に生成された後の細部の高品質化用と考えてください。
また、表情を変化させることで差分を作るときなどに活躍します。
インストール方法
インストールは、URLインストール方式です。
https://github.com/Bing-su/adetailer.git
上記のURLを入力してインストールし、すぐに使用するならばインストール済一覧から適用を確認してUIの再起動を行ってください。
UI再起動が終わると、インターフェース中段のGeneretionタブの中に、下記画像のようにADetailerの項目が増えていることが確認できます。
ADetailerの使い方
上記画像に沿って使い方を説明します。
➀Enable ADetailerのチェックボックスにチェックを入れます。
②ADetailer Modelの欄から、適用したいモデルを追加します。
READMEの説明によると、デフォルトで入っているモデルの詳細は以下の通りです。
※デフォルト以外のモデルも存在し、別途インストールすることで性能向上が見込めます。
モデル | 対象 | 修正部分 |
---|---|---|
face_yolov8n.pt | 2D(イラスト)/実写 | 顔 |
face_yolov8s.pt | 2D(イラスト)/実写 | 顔 |
hand_yolov8n.pt | 2D(イラスト)/実写 | 手 |
person_yolov8n-seg.pt | 2D(イラスト)/実写 | 体全体 |
person_yolov8s-seg.pt | 2D(イラスト)/実写 | 体全体 |
mediapipe_face_full | 実写 | 顔 |
mediapipe_face_short | 実写 | 顔 |
mediapipe_face_mesh | 実写 | 顔 |
③ADetailer Promptに欲しい効果のプロンプトを書きます。
④生成ボタンを押します。
他にも様々な設定項目がありますが、モデル指定とプロンプト指定を行うだけでも効果があります。
参考画像のプロンプトは、「1girl」、モデルは「etherBluMix」です。
img2imgでADetailerを使い、1度目は顔の修正、2度めは手の修正処理をかけています。
表情の変化には絶大な効果を発揮していますが、手の修正の効果はいまいちです。
Config-Presets
WebUIやForgeで思い描いた通りのイラストを高品質で出力するには、結構な量のパラメーターを細かく設定する必要があります。
生成プロンプトは、失敗画像からサルベージ出来ますが、画質設定や上記のControlNetやFreeUの数値設定は途中で消えると再設定が厄介です。
また、毎回イチから設定したり、生成途中でUIを誤って閉じてしまったなどの事故で再設定を行うことになると、結構なストレスがかかります。
そのような状況を防ぐために活用できる拡張機能が、この「Config-Presets」です。
各種設定の適用状況を随時保存し、適時に呼び出すことが出来るようになります。
インストール方法
Config-Presetsのインストールは、リストインストール方式です。
➀「拡張機能タブ」をクリック。
②「拡張機能リストタブ」をクリック。
③「読込」をクリック。
④検索バーに「config-presets」を入力。
⑤「インストール」をクリック。
インストール済タブから適用状況を確認してUIを再起動してください。
Config-presetsの使い方
インターフェースの右下部分に、「Config-presets」の項目が追加されます。
いきなり自分独自の設定を保存していくのは効率があまりよくないかと思いますので、最初は左の赤枠部分の▼ボタンを押し、デフォルトの設定を1つずつ試してみるのがいいでしょう。
「Config-Presets」のデフォルト設定は、初めて生成を行う方の良い指針になります。
SD1.5から4Kまでの11の設定が用意されており、スタンダードとして採用するのに優れています。
その中でアタリをつけ、よく使う項目をカスタマイズしていくといいと思います。
追加・削除・修正は、右側の赤枠部分をクリックして行います。
プロンプトはすべて「1girl」、モデルは「etherBluMix」です。
WEBP圧縮されているので違いが分かりにくいかもしれませんが、実際の出力結果では違いがより明らかです。
LamaCleaner
LamaCleanerは、 IOPaint の消去機能である LaMa をWebUIに取り入れたツールで、Forgeでも機能します。
LaMaの効果は強力です。ControlNetの中にもInpaintという修正・消去機能がありますが、それよりもうまく消去を行うことが出来ます。
イメージ的にはGooglePixelの消しゴムマ〇ックに近いかもしれません。
インストール方法
インストールはURLインストール方式です。
https://github.com/aka7774/sd_lama_cleaner.git
上記のURLを入力してインストールし、すぐに使用するならばインストール済一覧から適用を確認してUIの再起動を行ってください。
UI再起動が終わると、インターフェース上段のタブに、LamaCleanerタブが増えていることが確認できます。
LamaCleanerタブに移動し、初回はInstall/Updateを行っておきましょう。
初回起動用トラブルシューティング
タブを開いたら、
➀「Install/Update」をクリック。
インストールが成功したら左上に「Installed」と表示されます。
②「開始」をクリック。
別ウインドウでコマンドプロンプトが立ち上がり、処理が始まります。コマンドプロンプトの最後に「start http://127.0.0.1:7870/」が表示されれば終了です。
③このまま起動しても失敗するケースがあるので、UIを再起動します。
④再起動したら再度「開始」をクリック。
⑤「Open」をクリックして、起動できればOK。
⑥「Open」で起動しなければ、「Open New Window」をクリックしてください。
別ウインドウでも下記の画面が表示されれば成功です。
Forgeの再起動を繰り返すと、UI内でも起動できるようになるはずです。
LamaCleanerの使い方
先ほどの画像の「Tap here to load your picture」をクリックして、修正したい画像を選びます。
スクリーン上に画像が表示されますので、修正したい部分をマウスで塗っていくだけです。
髪の毛の間のリタッチはうまくできませんでした。
手書きで修正した方が早いかもしれません。
しかし、窓の謎の小物や、パースのくずれた部屋の隅は消去できています。
不自然ではないぐらいに修正するには十分な性能です。
SD WebUI Tag Autocomplete
Forgeでは、プロンプト入力支援ツールのEazy Prompt Selectorが動かないようです。
英語でプロンプトを入力していると、書けるのに打てないとか、読めるのにスペルを忘れたなどということがよくあります。
いちいちDeeplにプロンプトを突っ込むのも手間です。
この拡張機能を入れておけば、入力途中でこの言葉じゃないかというものをサジェストしてくれます。
時に、下ネタ系のエグい言葉のオンパレードがサジェストされることがありますので、意味を把握して扱う必要があります。
インストール方法
URLインストール方式です。
https://github.com/DominikDoom/a1111-sd-webui-tagcomplete.git
使い方
プロンプトを入力しているだけで自動的にサジェストが行われます。入れ得です。
Webpage close confirmation dialog
最後は、UIを閉じるときに本当に閉じていいか確認してくれる拡張機能です。
使い方の説明は不要だと思います。
ケアレスミス予防に地味に便利です。
インストール方法
URLインストール方式です。
https://github.com/w-e-w/sdwebui-close-confirmation-dialogue.git
まとめ
下準備として入れておく拡張機能としてはこのぐらいで十分かと思います。
一度に何個も拡張機能を入れると、何で入れたんだっけ?という状態にもなりかねません。
紹介した機能を使いこなしてから次の機能を検討する形でいいと思います。
また、何度も生成していると、不満が把握できるようになりますので、その時に追加しましょう。
次回はモデルについてです。
アップデート