ComfyUI Control net入門/落書きやスケッチから画像生成/Scribbleの使い方

ComfyUI_02240_ IT

Control netの入門として、Img2ImgからControl netを読み込んで適用する形に配線を変更するところまでやってみたいと思います。ちょっとだけややこしいです。
使うのはScribbleというモデルで、線画から画像を生成させることができます。

スポンサーリンク

Control netとは

普通のComfy/Stable diffusionではできないような、深度を意識した表現とか、ポーズとか、輪郭とか、そういう特定部分に対して何かするための追加機能です。

前準備

LoRAやモデルと同じで、control netも個別に該当ファイルをDLしておく必要があります。
こちらが公式的なページになるんですが、
4
Original Versionからリンク入って(軽量版、SDXL版も飛べますが、説明のため一元化します)、
5
control_v11p_sd15_lineartpthyamlファイルをDLします。
pthが本体、yamlは補助でyamlなくても動くらしいですが、一応。
6
DLしたファイルは、保存先/stabilitiymatrix/Packages内のComfyUI/models/controlnetに入れておきます。
0
テスト用のスケッチも準備しておきます。

Control netの接続

1
ではつないでいきましょう。Load Imageで使用するスケッチを読み、一回この状態で出力してみます。
ComfyUI_02226_
さすがにこの線画だとうまくLoad Imageできないのか、あんま関係ない画像が出ました。
2
そこでControl netの追加です。
Add Node→loaders→Load Controlnet Modelとクリックし、
3
Controlnet loaderを準備します。
control_net_nameで使用するControl netが選択できますが、一個しかなければcontrol_v11p_sd15_lineartが選択されているはずです。
7
Scribbleを使用する場合、画像を潜在空間にエンコードする必要はありません(必要なControl netもあるそうです)。
よってLoad Imageから接続されたVAE Encodeは削除します。
11
modelのVAEはVAE Decodeに接続します。
12
KSamplerにつながるlatent_imageがなくなるので、Empty Latent Imageから接続しておきます。
サイズは読み込む画像と一致させておきます。
8
さらにAdd Node→conditioning→controlnet→Apply ControlNetとクリックしてApply ControlNetノードを追加、
9
Load Imageからimage、Load Controlnet Modelからcontrol_netへ接続します。
残ったconditioningはCLIPから接続できますが、
10
接続するのはポジティブプロンプトだけです。
Apply ControlNetを経由したポジティブプロンプトは、そのままKSamplerにつなぎます。
これで全ての配線が完了しました。

まとめると、Apply ControlNetにポジティブプロンプト、線画、Control netを接続してKSamplerのポジティブプロンプトに送っていることになります。

実行結果

ComfyUI_02228_
上記の設定で実行すると、結構そのまんまな結果が出るんですが、
13
Apply ControlNetはstrengthで適用する強さを変更することができます(0~1)。
数値を小さくしてやれば、
ComfyUI_02229_
このように、
ComfyUI_02230_
だんだん、
ComfyUI_02231_
線画を参照する度合いが減っていきます。

公式のワークフローを使ってみる

14
慣れるために自分で配線何度かしてみるのがおすすめですが、手っ取り早く公式のワークフローを使うこともできます。
冒頭で貼ったサイトのpngをダウンロードし、WebUIにドラッグすることでワークフローをロードできます。
大体ここまでと同じ流れになっていますが、
15
VAEだけ外部から持ってきていて、
ComfyUI_02234_
実際出してみると、随分いい感じのものが出ました。

Stable Diffusionのモデル(checkpoint)には、通常、VAEが内蔵されています。この内蔵VAEは、そのモデルの学習データに合わせて調整されているため、そのモデルで生成される画像に最適なエンコード・デコードを行うことができます。
しかし、場合によっては、モデルに内蔵されたVAEではなく、外部のVAEを使用する方が良い結果が得られることがあります。
ComfyUIのScribbleサンプルで vae-ft-840000-ema を使用しているのは、より高品質な顔の表現を実現するためです。モデルに内蔵されたVAEを使用するか、外部VAEを使用するかは、生成したい画像に合わせて選択できます。

16
vaeも保存しないと使えません。保管場所はmodels→vaeとなります。
紹介したアプリ、Webサービス、AI一覧
紹介したサービス等のまとめです。有料のサービスでも無料で試せることがほとんどなので、気になったものがあったらどうぞ。

コメント