【ComfyUI】イラスト生成モデル「anima」でもXY Plotで生成画像を比較する方法【画像生成AI】

26/5/21 ノード説明を更新

イラスト用の画像生成モデル「anima」が出て数ヵ月経ちます。

派生モデルもたくさん出ており、どのモデルが自分好みの絵を出してくれるのか気になりますよね。

ですが、ComfyUIではXY Plotを行うには別途カスタムノードを導入しないといけません。
しかし、どのカスタムノードもCheckpoint形式のモデルには対応していますが、Diffusion Model形式のモデルには対応していません。

なので、AnimaなどDiffusion Model形式のモデルにも対応したXY Plot用のカスタムノードを作成しました。Codex君が。

せっかくなので公開しようと思います。

また、注意点ですが、このカスタムノードは自分用に作ったものなので基本的にこれ以上の機能追加などはありません。サポートもないのでご了承ください。

導入方法

使用するリポジトリは以下です。

GitHub - ongnblog/ComfyUI-OGN-XYPlotTools
Contribute to ongnblog/ComfyUI-OGN-XYPlotTools development by creating an account on GitHub.

それでは、導入していきます。

まずは、カスタムノードのフォルダをcmdなどで開き、git cloneしてください。

git clone https://github.com/ongnblog/ComfyUI-OGN-XYPlotTools

これで導入は終わりです。

各ノードの使い方

まず、各ノードの使い方を説明していきます。

追加されるノードは以下の8つです。

「OGN_XY Checkpoint Axis」
「OGN_XY Diffusion Model Axis」
「OGN_XY LoRA Axis」
「OGN_XY LoRA FolderSelect Axis」
「OGN_XY Prompt S/R Axis」
「OGN_XY Sampler Axis」
「OGN_XY Primitive Axis」
「OGN_XY Plot」

それでは、それぞれ説明していきます。

スポンサーリンク

OGN_XY Checkpoint Axis の説明

このノードはCheckpoint形式のモデルを読み込むノードです。

「+ Add Checkpoint」ボタンを押すことで読み込むモデル数を増やせます。
「- Remove」ボタンを押すことで、読み込むモデルを減らせます。

OGN_XY Diffusion Model Axis の説明

このノードはDiffusion Model形式のモデルを読み込むノードです。Animaもこのノードで読み込み事が出来ます。

「+ Add Checkpoint」ボタンを押すことで読み込むモデル数を増やせます。
「- Remove」ボタンを押すことで、読み込むモデルを減らせます。

OGN_XY LoRA Axis の説明

このノードはLoRAを読み込むノードです。複数LoRAの使用にも対応しています。

「+ Add LoRA」ボタンで読み込むLoRAを追加出来ます。
「- Remove」ボタンで読み込むモデルを減らせます。

group_numberは、1枚の画像に使用するLoRAを指定できます。
上記の画像の設定の場合、1つ目と2つ目に指定したLoRAで1枚の画像を生成3つ目のLoRAで1枚の画像を生成4つ目のLoRAで1枚の画像を生成し、計3枚の画像を生成します。

OGN_XY LoRA FolderSelect Axis

このノードでは、フォルダの絶対パスを指定し、そのフォルダに入っているLoRAファイル全てを読み込みます。
LoRA学習時、エポック数やステップ数を指定して細かくLoRAモデルを保存した際に、そのアウトプットフォルダを指定してすぐに比較を行う事が出来ます。

OGN_XY Prompt S/R Axis の説明

このノードはプロンプトの一部を置き換えてるノードです。

テキストボックス「search」に置き換え元のプロンプトを入力します。
テキストボックス「replace」に置き換え後のプロンプトを入力します。
「+ Add Replacement」ボタンでテキストボックスを追加できます。
「- Remove Replacement」ボタンでテキストボックスを減らせます。

上記の画像の設定だと、”1girl”というプロンプトを”1boy”、”old woman”に置き換えます。

OGN_XY Sampler Axis の説明

このノードはサンプラーを指定できます。

「+ Add Sampler」ボタンで使用するサンプラーを追加出来ます。
「- Remove」ボタンで使用するサンプラーを減らせます。

OGN_XY Primitive Axis の説明

このノードはその他の要素を比較出来ます。

比較する要素の変更は”axis_type”を変更してください。以下の要素に対応しています。

Positive Prompt
Negative Prompt
Seed
Step
CFG
Scheduler
Denoise
VAE
CLIP Skip

シード値”1234″と”5678″を比較したい場合はaxis_typeをSeedに設定して以下のように入力します。

1234
5678

OGN_XY Plot の説明

このノードで画像の生成を行います。

入力の”model”、”clip”、”vae”、”latent_image” へ繋ぐノードは通常のKサンプラーと同じなので説明は省きます。

入力 “x_axis” と “y_axis” に先ほど説明したAxis系ノードを繋ぎます。
“x_axis” に繋いだものはX軸に並べられ、”y_axis” に繋いだものはY軸で並びます。

出力 “plot_image” からはグリッド表示の画像が出力されます。
出力 “cell_image” からは生成された画像が個別で出力されます。

各項目の説明です。
“Seed” から “denoise”までは通常のKサンプラーと同じなので省きます。

“seed_mode” はセルや行列でのシード値を変更出来ます。
 Fixedに設定すると全て同じシード値で生成します。基本的にはFixedで生成すれば問題ありません。
 Increment per cell に設定すると、セルごとにシード値をインクリメントします。
 Increment per row に設定すると、行ごとにシード値をインクリメントします。
 Increment per column に設定すると列ごとにシード値をインクリメントします。

“diffusion_weight_dtype” ではfp8_e4m3fnなど重みのタイプを設定できます。基本的にはdefaultで大丈夫です。

“include_labels” を有効にすると生成されるグリッド画像にラベルが表示されます。

“label_font_size” 表示されるラベルのフォントサイズを設定できます。

“label_padding” ラベルのスペースを設定できます。

グリッド画像を生成

それでは、XY Plotを用いたグリッド画像を生成してみましょう。

今回使用する比較対象は「anima-preview」、「anima-preview2」、「anima-preview3-base」の3つです。

ノードの接続はこんな感じです。

生成された画像は以下。

ちゃんと各モデル名と生成画像が並んで出力されていますね。

スポンサーリンク

最後に

これでComfyUIでもA1111系web-uiのようなXY Plotが出来るようになりました。

それでは!

コメント

  1. 匿名 より:

    使わせていただきました。Animaでも使えるので助かります。ありがとうございます。

    いくつか要望があるので書かせていただきます。

    -こちらの説明を読むまでOGN_XY LoRA AxisのSetの仕様が直感的にわからず、同じSet内に+Add LoRAを指定して実際に生成してからSet内のLoRAが一枚の画像にすべて適用されると気づきました。+Add LoRAの表記を調整するか別Setに分けるボタンなどがあると使いやすいのではないかと思いました。
    -OGN_XY LoRA Axisで特定のフォルダ内のLoRAを1枚ずつ順番に適用できると便利ではないかと思います。
    -1つのSeedで比較すると比較として不十分なことがあるため、efficincy-nodes-comfyuiやcomfyui-easy-useのSeeds++ Batchにあたる機能があると助かります。
    -a1111のようにグリッド画像とそれぞれの個別画像の両方を保存できるオプションがあるといいと思います。

    以上ご検討よろしくお願いします。

    • ミスー より:

      コメントありがとうございます。
      OGN_XY LoRA Axisの仕様を変更し、複数LoRAの適用をgroupe_numberで管理するようにしました。
      フォルダ内のLoRAを読み込むノード「OGN_XY LoRA FolderSelect Axis」を追加しました。

      Seed値の比較は「OGN_XY Primitive Axis」ノードで行えるので確認してみてください。

      • 匿名 より:

        ありがとうございます!
        どちらのノードも使いやすくなりました。seed値の比較もそのノードでやってみます。