AI 画像生成

【Stable Diffusion】「ComfyUI」の使い方 Part2

ノードベースGUI「ComfyUI」のちょっとだけ高度な使い方を紹介します

といってもそこまで大変な設定でもありませんけどね
なんなら公式ページの画像をドロップするとノードの設定ロード出来ますし

ただいくつか追加でダウンロードしないといけないファイルがありますので注意してください

基本的な使い方に関してはリンク先を見て下さい

【Stable Diffusion】導入が非常に簡単なノードベースの新GUI「ComfyUI」

Upscale Model

まずはUpscale Modelからです

webUIで言うと設定の項目にあるやつですね

てっきりRestore facesのことだと思っていたんですけど、何か違うみたいですね
webUIでも使ったこと無いかもしれません

webUIのフォルダにあった「GFPGANv1.4」では動作しなかったので
まずは「Real-ESRGAN」の必要ファイルからインストールします

Real-ESRGANインストール

https://github.com/xinntao/Real-ESRGAN

リンク先に詳しい情報は載っています

git clone https://github.com/xinntao/Real-ESRGAN.git
cd Real-ESRGAN

# Install basicsr - https://github.com/xinntao/BasicSR
# We use BasicSR for both training and inference
pip install basicsr
# facexlib and gfpgan are for face enhancement
pip install facexlib
pip install gfpgan
pip install -r requirements.txt
python setup.py develop

コマンドプロンプトで上記のコードを入力すれば「Real-ESRGAN」がインストール出来ます

codeからDownload zipでも多分大丈夫

次に学習済みのモデルをダウンロードします

wget https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth -P weights

このコードでダウンロード出来ますが、上手くいかない時は公式ページの下にある
Download pre-trained models:RealESRGAN_x4plus.pthをクリックすればOKです

ダウンロード出来たら「ComfyUI\models\upscale_models」に入れてください

これで準備は完了です

ノード設定

基本的にデフォルトモデルとそこまで変わりはありません

  1. 「loaders」→「UpscaleModelLoader」の追加
  2. 「image」→「upscaling」→「ImageUpscaleWithModel」の追加
  3. 「UpscaleModelLoader」→model_name→「RealESRGAN_x4plus.pth」を選択
  4. 「UpscaleModelLoader」UPSCALE_MODELから「ImageUpscaleWithModel」UPSCALE_MODELへ接続
  5. 「ImageUpscaleWithModel」のimageとIMAGAEを「VAEDecode」「SaveImage」にそれぞれ接続

以上です

元々「VAEDecode」と「SaveImage」のimageが繋がっているのでUpscaleModelを繋ぎ変えるだけですね

注意点としては結構重いです

Hires fix

webUIだとこの部分ですね

Hires fixは他にファイルを用意する必要はありません

Hires fix前の画像も生成していますが、必要なければ省いても大丈夫です

  1. 「latent」→「LatentUpscale」の追加
  2. 「sampling」→「Ksampler」の追加
  3. 「LatentUpscale」のsamplesを左側「Ksampler」のLATENTを接続
  4. 「LatentUpscale」のLATENTを右側「Ksampler」のlatent_imageを接続
  5. 右側「Ksampler」のmodel,positive,negativeをそれぞれ左側「Ksampler」と同じ場所に接続

以上です

注意点として右側「Ksampler」のdenoiseはデフォルトの1だと上手く出力されませんでした

この画像をdenoise1で生成すると

何かこんななります

また右側の「Ksampler」を省いても画像の生成は出来ますが

ガビガビになりました

しっかりとノードを組んだ場合はこうなります

ちょっと顔の出来がイマイチですけど、プロンプトが原因だと思うのであまり気にしないで下さい

ControlNet

最早お馴染みになっているControlNetですが、「ComfyUI」でも当然使用可能です

ただこちらはモデルファイルをダウンロードする必要があります

モデルダウンロード

https://huggingface.co/webui/ControlNet-modules-safetensors/tree/main

といってこちらは上記リンクで必要なモデルファイルをダウンロードするだけです
ダウンロードしたモデルは「ComfyUI\models\controlnet」に入れてください

今回は定番のopenposeのみを使ってみます
何気に1つ700mb以上あるので全部ダウンロードするかは考えた方が良いかもしれません

t2iadapterはまだ使い方が良くわからないので、また調べてから記事にします
どうやらt2iadapterの方が良いらしい?

ノード設定

「CLIPTextEncode」「Ksampler」の間に割り込ませる感じです

画像のコードが白くなっているところが接続されているところになっています

  1. 「loader」→「ControlNetLoader」追加
  2. 「image」→「LoadeImage」の追加
  3. 「conditioning」→「ControlNetApply」の追加
  4. 「ControlNetLoader」でControlNetモデルを開く
  5. 「LoadeImage」でポーズ(カラフル棒人間)画像を開く
  6. 「ControlNetApply」のcontrol_netを「ControlNetLoader」に接続
    imageを「LoadeImage」に接続
  7. 「CLIPTextEncode」のCONDITONINGと「Ksampler」のpositiveを「ControlNetApply」に接続

以上です

img2imgはこうなります

gif作成

Civitaiを見ていたらopenposeで使えるgif用のポーズがあったので試してみました

”sadCatDance”とかいうミームらしいです

正直あまり上手くはいきませんでした
LoRAとか使わないと難しいかもしれません

こちらは同一seed値で作りましたがかなりバラツキがありますね

こっちはimg2imgで作りました

まあ多少は服装が似たような感じになったかなといったところですね

せめて背景はシンプルにした方が良さそうですね

-AI, 画像生成