🦊SparseCtrl
🏠/🦊雑に学ぶComfyUI
前/🦊AnimateDIff ControlNet
次/
AnimateDiffをControlNetと組み合わせる場合、ContolNetに入力する画像を作りたいフレーム数だけ作らないといけません
当然といえば当然ですが大変です
そこに数枚のみの画像入力で、その間のフレームをうまくつなげてくれる技術が登場しました
それがSparseCtrlです
v3_sd15_mmのみの対応
現状SparseCtrlはscribbleとrgbの二種類があります
🦊ComfyUIでやってみる
カスタムノード
ComfyUI-Advanced-ControlNet
モデルのダウンロード(直リンク)
v3_sd15_sparsectrl_rgb.ckpt
v3_sd15_sparsectrl_scribble.ckpt
$ ComfyUI\models\controlnet
Motion Moduleのダウンロード
v3_sd15_mm.ckpt
$ ComfyUI\custom_nodes\ComfyUI-AnimateDiff-Evolved\models
Domain Adapterのダウンロード
v3_adapter_sd_v15.ckpt
$ ComfyUI\models\loras
📚まずはrgbから
https://gyazo.com/d8c37a49a4e8267eb67f8363bc7be39b
SparseCtrol_rgb.json
画像を一枚しか使わなかった場合、SparseCtrlでimage2videoのようなことができます
基本的なtext2videoの形をベースとして__
画像を読み込みリサイズ
画像のサイズを取得してEmptyLatentImageにつなぐ
🟦ControlNet Advanced
ACN_SparseCtrlLoaderAdvancedノードで先ほどダウンロードしたv3_sd15_sparsectrl_rgbを読み込みます
rgbのときはACN_SparseCtrlRGBPreprocessorノードで下処理が必要です
🟩v3_adapter_sd_v15ですがつけておくとモーションの偏りが改善されるらしいです
CLIPは関係ないのでLoraLoaderModelOnlyノードを使い、あとは普通のLoRAのようにつなげます
🖼️二枚以上かつScribbleで
https://gyazo.com/e5cd3fc66baf2dd0197a926a4e5ad462
SparseCtrol_scribble.json
🟥複数枚を同時に(バッチとして)読み込む必要があります
やり方はいろいろありますが、2 ~ 3枚ならImageBatchノードでくっつけます
🟦読み込んだ画像をFakeScribblePreprocessorノードで落書きにします
プロンプトの効きが異常に悪いのでなにか間違えているかもしれないnomadoor.icon
チェックポイントによって全くうまくいかない(特にアニメ系)
SparseCtrlではなくmotion moduleのv3がアニメ系モデルと相性が悪いのかもしれない