見出し画像

Stability Matrix を使ってAIイラスト生成環境を簡単に導入する方法

 こんにちは。最近は別活動もあってなかなか記事を書けていなかったのですが、昨日 AUTOMATIC1111 Ver1.6 が正式リリースされましたので、導入方法を改めて書いていきます。


 以前、Ver1.5のインストール方法も書いたのですが、

 そのインストーラーも新しくなりまして、Automatic 1111, Comfy UI, SD.Next (Vladmandic), VoltaML, InvokeAIFooocus をまとめて導入できるインストーラーに生まれ変わりました。

 Comfy UI に関しては単独で導入記事を書く予定だったのですが、忙しすぎてなかなか書けなかったんですよね…。
 今回まとめて紹介できそうで良かったです。

 それでは、やっていきましょう。







Ver1.6になって何が変わった?



 メジャーアップデートだけあって、結構変わっています。


・ Refiner機能に対応

 まず大きいのがSDXLの Refiner機能 に対応しました。 以前も紹介しましたが、SDXL では2段階での画像生成方法を取り入れています。

 まず Baseモデル で構図などの絵の土台を作成し、Refinerモデル で細部のディテールを上げることでクオリティの高い画像を生成しようというものです。

 簡単にってしまえば、txt2imgしたあと、img2imgで仕上げまでやってくれるというわけですね。
 1.5でSDXLに対応はしたものの、目玉機能であるこちらには対応しきれていなかったため、Comfy UI あたりでの生成の方が効率的だったりしたのですが、ようやくここも手が届くようになりました。


 動きとしては Hires. fix 機能に似ています。
 あちらは Txt2Img の後に もう一度 Img2Img で画像を拡大しながら仕上げてくれる機能ですよね。

 そのImg2Img の時に仕上げ用のモデルに切り替えられるのが今回の機能という感じす。
 仕上げも同じモデルでいいわ、という場合は Hires. fix 機能 の方でOKということでもあります。

機能も似てるから、お隣同士だね!!


 ユーザー配布のSDXLモデルだと Refinerモデルが無い場合がほとんどなので、構図や絵作り要素が好みなモデルをBaseモデルにしておいて、絵柄や仕上げが好みなモデルをRefinerモデルに設定してしまうことで独自の個性を保ちつつ、絵作りの幅を広げていくことができるかもしれません。

6割までPlantsMix-v1で作画して、それ以降を自作絵柄モデルで仕上げる設定にした場合。



 私は普段から同じような工程でクオリティアップしながら加筆修正してましたので、非常に理にかなった機能であることは身をもって経験しています。



・ スタイルエディターダイアログを追加

 花札マークと同じく、スタイルボタンも変わりました。
 Ganarateボタンの下にある鉛筆ボタンを押すと、画面中央にスタイルエディターが開きます。

『へい大将!いつものヤツで頼むわ!!』


「1 girl の いつものヤツね? はい、喜んでー!!」


PNG info で見てみると、プロンプトの最後にスタイルで指定したものが追記されている。




・ 新しいサンプラーが多数追加

DPM++ 2M SDE Exponential
DPM++ 2M SDE Heun
DPM++ 2M SDE Heun Karras
DPM++ 2M SDE Heun Exponential
DPM++ 3M SDE
DPM++ 3M SDE Karras
DPM++ 3M SDE

 このあたりのサンプラーが増えました。


 3Mシリーズも始まったんですねぇ。




・ メモリの使い方が上手くなった

 モデル生成時のメモリの使い方がかなり上手になりました。

 前回はモデル読み込むだけでメモリの使用量エグかったんですよね。
 あの時点で告知もされてましたが、1.6にて改善されたようです。




・ UIの変更点など

 他にも UI周りに結構な変更が加えられています。
 花札マークが無くなりまして、あのあたりのモデルやLoRAの選択機能なんかが常時タブで表示されるようになったりしてます。

「花札、お前…消えるのか…?」


 安定性を考えるとすぐに導入するよりは、Ver1.6.1あたりでバグとかを抑えたものが出るとは思うので、その後とかでも良いかもしれませんね。

 私は時間がある間に記事にしておきたいので、このタイミングで新規に環境を構築していきます。





Stability Matrixを使ってインストール



 今回は冒頭でもご紹介した通り、様々なローカルAI生成アプリを簡単に導入できるインストーラーをご紹介します。

 モデル・LoRA・LyCORIS・VAE・Embeddingを共通化できるのが便利。

 この記事では主に AUTOMATIC1111 Ver1.6 の導入説明をしていきますが、今後はほかのアプリに関しても記事を書くかもしれません。
 興味のある方は他のアプリも触ってみる良い機会だと思いますよ。

 また、以前は事前にインストールしなくてはいけなかった GitPython に関してもこちらに埋め込まれているため、別途導入が必要無いそうです。
 初心者にはありがたいですね。

https://github.com/LykosAI/StabilityMatrix

 また、☁️ CivitAIからインポートするモデルブラウザが実装されているらしく、モデルをダウンロードするのに便利なんだとか。

 CivitAI に限らず、アップロードされているモデルはいつ何時、作者さんの都合で消されるかわからないので、お気に入りのものはちゃんとダウンロード保存しておくのが良いと思います。



 では、実際に導入していきましょう。
https://github.com/LykosAI/StabilityMatrix/releases

 こちらのURLから最新のものを選択すれば良いと思います。
 今回は4日前にリリースされている v2.3.3 を使います。


私はwindows11なので StabilityMatrix-win-x64.zip をダウンロードしました。



 ダウンロードしたzipファイルを解凍し、StabilityMatrix.exe を好みの場所に移動させましょう。
 今後、WebUIを起動したい時なんかにも、このファイルから起動することになります。

 それでは、初めての起動をしてインストールしていきます。

ソフトウェア使用許諾契約書の同意にチェックして、Continue



今回はDドライブに A1111_20230901 フォルダを作成して、そこにWebUIをインストールします。


 下の Portable Mode のチェックにはこう書かれていますが、チェックを入れるとフォルダを指定できなかったので今回は外してあります

 ポータブルモードでは、すべてのデータと設定がアプリケーションと同じディレクトリに保存されます。アプリケーションとその「データ」フォルダを別の場所やコンピュータに移動することができます。



今回は Stable Diffusion WebUI By AUTOMATIC1111 を選択して Install。



なんやかんやと世話しなくダウンロードが進んでいくので見守りましょう。



全てのインストールが終わったら、こんな画面になりました。


Launch を押す前に、歯車マークで設定を見ておきます。

どうやら引数とかはここで設定できるようですね。


 このままだと全部を見れないので画像を繋げておきますね。

Ver1.6--medvram-sdxl が追加されたので、Extra Launch Arguments に書き加えるのも良い



 では、Launch ボタンをポチ。

最初の3行あたりがやたら長かったり、途中ダウンロードが挟まったりします。

 初回だけは長くなってしまうものなので、気長に待ちましょう。



 しばらくして、無事ブラウザでWebUIが立ち上がりました。

 これでWebUIのインストールは完了です。






別のアプリもインストールするなら



 StabilityMatrix 画面の左側のダンボールアイコンPackages」をクリックすることで、現在インストールしているアプリケーションを見ることができます。

現在はA1111のWebUIのみですね。


先ほどの画像の下の+Add Package を選ぶことで追加アプリを選択できます。


Install ボタンをポチると、このままインストールが始まります。


無事ComfiUIもインストールできました。






フォルダ構成ってどうなってんの?



 さて、Stability Matrix でインストールするとモデル・LoRA・LyCORIS・VAE・Embeddingを一括管理できるといいましたが、それってフォルダ構成どうなってんの?と。

 今までの手持ちのモデルとかLoRAとかも入れたいじゃないですか。
 ねぇ?


 実は、その追加なんかも StabilityMatrix の画面ドラッグ&ドロップで可能なんです。

 今度は画面左のファイルアイコンの「Checkpoints」をクリック。

生成モデルだけでなく、Lora と LyCORIS もドラッグ&ドロップでOK。

 画像右上の Models Folder ボタンを押せば、モデル関係のローカルフォルダをエクスプローラーで開いてくれます。



 『は?LoRA と LyCORIS 以外にもあるやろ。
 VAE とか TextualInversion とか アップスケーラー とかさぁ!!』


 そんな貴方のワガママにもお応えします。

画面右上のプルダウンを押すと、追加したい要素をチェックできます。


 今回は TextualInversion の項目を追加しました。
 アップスケーラー
の場合なら ESRGAN を追加すれば良いわけですね。

 ここに追加したものが、どのアプリケーションでも共通に扱うことができるので非常に便利です。






☁️ CivitAIからモデルをインポート



 ☁️ CivitAIからインポートってどゆこと??という話ですが、今度は画面左の脳アイコンの 「Model Blowser」を使います。

キーワード検索並び順アップ時期モデルタイプベースモデルVer あたりで絞り込めます。


 正直、ブラウザで CivitAI を閲覧するより軽いという、どうかしちゃってる機能ですね。

 ここから直接モデルをダウンロードできます。






Settings 部分の和訳


StabilityMatrixをスタートメニューに追加 しておくと見失ったとき助かります。






WebUI参考例:はかな鳥のいつもの設定


 以前のこちらの記事で紹介した内容と重複するのですが、いくつか不要になった設定なんかがありました。
 記事の誘導だけでは見ずらいなぁと感じたので、1.6環境で使える部分だけこちらに書き出しておこうと思います。





1⃣ WebUIを起動し、setteingから以下の項目を変更する。



・ Saving images/grids の Images filename pattern に
 

[date][model_name][sampler]_[seed]

とコピペする。

 これで画像生成した際に画像の名前が
【日付】【モデル名】【サンプラー】【seed値】になります。

 画像の詳しい内容はWebUI内の PNG Info タブに放り込むことで詳しく見ることができるのですが、このあたりの情報はファイル名で見れるようにしておくと、あとあと便利だったりします。






・ Saving images/gridsSave copy of large images as JPG のチェックを外す。

 普段はPNGで画像を生成していますが、これにチェックが入っていると、大きな画像を生成した際にコピーを JPG としても保存されてしまいます。

 よほどメモリが苦しい場合は有用なのかもしれませんが、ぱっと見どっちがPNGなのかわからなくて面倒なので、私は切っています。

 ちなみに、PNGは画像劣化の少ないファイル形式で少し重いですが、jpegは独特の画像劣化のある軽いファイル形式です。






・ Upscaling の Upscaler for img2img でお気に入りのアップスケーラーを選択する。

 フォルダ構成に関しての説明のあたりでアップスケーラーを追加していた場合の設定です。
 img2imgで拡大する際、毎回ここで設定したアップスケーラーを使ってくれるようになります。


 アップスケーラーに関しての記事はこちらになっています。

https://note.com/hcanadli12345/n/n5cd1861b474f

 最近は他にも増えてそうですが、割と定番のものはご紹介しているつもりです。





・ Img2img の Apply color correction to img2img results to match original colors. のチェックを入れる。

 画像にノイズを加え直して、もう一度書き直す機能を Img2Img といいます。
 想像しやすいように言うと、画面全体を一度ボカシてからもう一度絵に直す感じで、その際に少しずつ周りと色が混ざってしまうため、使用するたびに絵の彩度が落ちていく場合があります。

 ここのチェックを入れることで、生成し直した最後に、元の絵の彩度に近づける処理を入れてくれるため、画像の彩度がどんどん落ちてしまうのを抑制してくれます。

 私はTxt2Imgでベースを作成したあと、Img2Imgを何度も繰り返したり合成したりして絵の完成度を上げていく方式を取っていますので、彩度が毎回落ちてしまうのは致命的でした。
 この設定を覚えたことで、かなり楽になったのでお勧めしたい設定です。


 以前はこの設定項目、Stable Diffusion て項目の中にあったんですが、Stable Diffusion XL が追加されたこともあってか、移動させられたみたいですね。





・ User Interface の  [info] Quicksettings list で sd_model_checkpoint の後に CLIP_stop_at_last_layers を追加する。

  この設定をすると、WebUIのメインページの上部で Clip skip の設定をいつでも変更できるようになります。

  イラスト界隈だとClip skip2 というのが多いですが、私は結構頻繁に変えて遊んでいます。
 数字が大きいほど変化が大きく、promptの命令から逸脱した画像ができたりします。


※以前の記事ではここで VAE の選択窓を追加するために sd_vae というのも追加してたんですが、SDXL版のモデルが追加されたおかげでVAEも専用のものを紐づける必要ができたため、個別に設定する方法を後述します。





・ 同じく User Interface の下部にて、

Hires fix: show hires checkpoint and sampler selection
Hires fix: show hires prompt and negative prompt

 にチェックを入れる。


 これを入れることで、txt2imgHires.fixON にした時、

 Hires.fix の際にも改めて チェックポイント や サンプラー 
 そして プロンプト & ネガティブプロンプト を設定できるようになる。

Refiner とはなんだったのか。 


 絵柄LoRAを最初から使うと全体の絵の構成自体が変わってしまう事があるが、これを使うことで前半はモデルの真骨頂を出した上で、アップスケールの際に絵柄を適用するといった事が1度でできるようになる。






・ Sampler parameters で 使いたいサンプラー以外に全てチェックする。


 Stable Diffusion ではサンプラーというものがありまして、それごとに絵の描き方が違ってきます。
 結構な数があるのですが、ここでチェックを入れたサンプラーは非表示にできますのでやっておきましょう。

  今までは画像内でで囲った DPM++ 2M Karras や DPM++ 2M SDE Karras あたりがお勧めだったんですが、今回オレンジ色で囲ったサンプラーが新たに追加されましたので、そのあたりはチェックを外して近いうちに検証してみるつもりです。
 といっても、既に検証記事を上げている方がいらっしゃいますので、あくまで個人的に手触りを確認するためですね。

 そのうちサンプラーも定まってきたら、ここのチェックも増えていくかと思います。


 サンプラーに関しての詳しくは hoshikat さんのblogをご覧いただければと思います。

https://hoshikat.hatenablog.com/entry/2023/06/30/212231#%E8%BF%B7%E3%81%A3%E3%81%9F%E3%82%89DPM-2M-Karras






 ここまでのsettingが終わりましたら、画面上部の Apply settings をクリックしてから Reload UI で再起動してください。

 以降、設定が反映されるようになります。

 また、これまでの設定の途中段階でも内容を反映したい場合は、その都度やっておいて問題ありません。






2⃣モデルごとにVAEを設定する



 SDXL と以前までの SD1.5モデル などですと、追加学習モデルやVAEで同じものを使えなかったりします。

 なので、モデルごとにどのVAEを使ってほしいか、個別に設定する方法を書いておきます。


 画像生成する画面のタブから、Checkpoints を選択して 導入しているモデルのサムネイルを表示させてください。

 サムネイルの右上にある、工具アイコンをクリックすることで、メタデータを編集する機能が使えます。

 ここで優先されるVAEを個別に設定しておくことができます。
 ここでは自作の1.5モデルですので、今まで使っていた1.5モデル用のVAEを設定しました。



 こちらは多くの方がお世話になっているアニメ系モデルのcounterfeitシリーズのSDXL版です。

 なので、現状で持っている SDXL用の sdxl_vae.safetensors を設定しておきました。






個人的に使っている拡張機能



easy-prompt-selector&wildcards



Extensions の Install from URL で 

https://github.com/blue-pen5805/sdweb-easy-prompt-selector

 を入れてインストール。




Extensions
 の Install from URL で 

https://github.com/AUTOMATIC1111/stable-diffusion-webui-wildcards.git

 を入れてインストール。


 こちらで紹介している拡張機能2つをインストールしています。
 詳しくはリンクページをご覧ください。






Tiled Diffusion & VAE


 Extensions の Install from URL で 

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

 を入れてインストール

 大きいサイズの画像に生成し直す際、画像をタイル状に区切って小さな画像を複数生成するという手順を使うことで、低スペックPCでも大きなサイズの画像を生成することができる拡張機能です。

https://note.com/hcanadli12345/n/n9a3fcbfa2c7e

 詳しくはこちらの解説記事をご覧ください。

 リッチなイラストに仕上げたい場合には是非使いたい拡張機能です。






 ここからは ExtensionsAvailable タブから Load from: を押して、リストの中から拡張機能をインストールしていきます。

https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui-extensions/master/index.json

というURLがあらかじめ入っていると思うので、そのまま Load from: すれば画面下側にリストが読み込まれます。

 ここからはサーチ機能を使って拡張機能を探していきます。






After Detailer


After Detailer」 で検索して !After Detailer manipulations をインストール。

 これは画像を生成したあと、自動で身体といった特定の部分のみ、もう一度詳細に描き直して合成してくれる拡張機能です。

 部分的に拡大した上で生成し、自動で合成してくれるため、その個所のディテールが上がります。

 また、それぞれにプロンプト&ネガティブプロンプトも設定できるので、細かい表情や服の模様などは、こちらの欄で指定するなどの方法もとれます。

 こちらも細かい説明などは別記事で今後書くことになると思いますので、お待ちいただければ幸いです。




ControlNet


sd-webui-controlnet」 と検索して sd-webui-controlnet manipulations をインストール。

 言わずと知れた ControlNet です。

 詳しい記事はFANBOXの方でかなり細かく説明していたのですが、現在はあちらが使えなくなってしまったので記事の引っ越しを予定しています。

 簡単に言ってしまえば、画像を生成する際にポーズや構図、表情や要素といったものを指定することができる拡張機能です。
 ガチャ要素を減らして目的のイラストを作成したい際に大いに役立ちます。

https://note.com/hcanadli12345/n/nb2315a4cabd9

https://note.com/hcanadli12345/n/n1ab807153c7c

 詳しくは、これらの記事をご確認ください。






3D Openpose Editor


 「3D Openpose Editor」で検索して 3D Openpose Editor tab をインストール。


 先程の ControlNet でポーズを指定する際に使う機能に Openpose というものがあるのですが、その下地になるポーズを3D人形を使って作成することができる拡張機能です。






Aspect Ratio selector plus & Aspect Ratio Helper



plus」 と検索して Aspect Ratio selector plus UI related をインストール。


Aspect Ratio Helper」 と検索して Aspect Ratio Helper script, dropdown, UI related をインストール。


これらは画像比率を維持してくれたり、ボタンクリックで画像サイズを呼び出せる






sd-webui-supermerger



supermerger」 と検索して SuperMerger tab, models, installed をインストール。


 モデルのマージ、階層マージ、LoRAのマージなどが行える強力な拡張機能です。
 自分なりの絵柄を追求したい人は是非。






 この他にも、モデルデータのチェック・修正のできる stable-diffusion-webui-model-toolkit

 モデルの階層マージを行える sdweb-merge-block-weighted-gui なんかも使っています。


 このあたりは解説記事を書いた際にでも改めてご紹介します。






 すべての拡張機能のインストールが終わったら、Extentions の Installd から Apply and restart UI を押してインストールを確定させ、再起動させれば拡張機能が反映されるようになります。

 もしそれでも反映しなかった場合は、一度WebUIを終了し、もう一度起動しなおしてみてください。






Q&A:入れたはずのLoRAが消えてんだけど!?


 初めてSDXL環境を入れた時にありがちな恐怖体験です。

 単純に、現在メインに読み込んでいるモデルが2.0の場合、古い1.5用の追加学習モデルは使用できないため、見えなくなっています。

 1.5モデルを読み直してから、LoRA選択ウィンドウの Refreshボタン を押せば再び見えるようになります。

 たまに古い学習モデルなのに見える場合があるのですが、あれは使えるという事なのかしら??🤔






Q&A:LyCORISタブはどこ行った!?



 Ver1.5 から LyCORIS はAutomatic1111WebUI にデフォルトで搭載されました。
 そのため、LoRAタブの中で一緒に表示されるようになっています。

 いや、スーパーマージとかの関係で分けておいてくれた方が良かったとかもあるとは思うんですが、まぁ、そういうことですので、そのあたりは自分で管理・保存しておきましょうね。






 以上で今回の記事は終わります。

 他のAIイラスト生成アプリに関しても記事にしたい気持ちは強いのですが、多忙な時期が過ぎるまでは難しいかもしれません。



 月も変わりましたので、近いうちにメンバーシップ向けに配布している【wildcards】prompt設定ファイル配布【easy-prompt-selector】の方も内容を更新する予定です。
https://note.com/hcanadli12345/n/n8bad6a5cff9f

 今回はイラスト全体の雰囲気や、キャラクターの容姿に影響を与える形容詞関係の追加も行っています。
 他にも細かな調整が行われていますが、背景もいくつか追加しておきたいですね。
 もしご希望がありましたらコメント頂ければ用意してみます。


 それでは、また。

 はかな鳥でした。





いいなと思ったら応援しよう!