generated at
🦊SparseCtrl
次/

AnimateDiffをControlNetと組み合わせる場合、ContolNetに入力する画像を作りたいフレーム数だけ作らないといけません
当然といえば当然ですが大変です
そこに数枚のみの画像入力で、その間のフレームをうまくつなげてくれる技術が登場しました
それがSparseCtrlです

v3_sd15_mmのみの対応
現状SparseCtrlはscribbleとrgbの二種類があります

🦊ComfyUIでやってみる
カスタムノード
モデルのダウンロード(直リンク)
$ ComfyUI\models\controlnet
Motion Moduleのダウンロード
$ ComfyUI\custom_nodes\ComfyUI-AnimateDiff-Evolved\models
Domain Adapterのダウンロード
$ ComfyUI\models\loras

📚まずはrgbから
画像を一枚しか使わなかった場合、SparseCtrlでimage2videoのようなことができます
基本的なtext2videoの形をベースとして__
画像を読み込みリサイズ
画像のサイズを取得してEmptyLatentImageにつなぐ
🟦ControlNet Advanced
ACN_SparseCtrlLoaderAdvancedノードで先ほどダウンロードしたv3_sd15_sparsectrl_rgbを読み込みます
rgbのときはACN_SparseCtrlRGBPreprocessorノードで下処理が必要です
🟩v3_adapter_sd_v15ですがつけておくとモーションの偏りが改善されるらしいです
CLIPは関係ないのでLoraLoaderModelOnlyノードを使い、あとは普通のLoRAのようにつなげます


🖼️二枚以上かつScribbleで
🟥複数枚を同時に(バッチとして)読み込む必要があります
やり方はいろいろありますが、2 ~ 3枚ならImageBatchノードでくっつけます
🟦読み込んだ画像をFakeScribblePreprocessorノードで落書きにします
プロンプトの効きが異常に悪いのでなにか間違えているかもしれないnomadoor
チェックポイントによって全くうまくいかない(特にアニメ系)
SparseCtrlではなくmotion moduleのv3がアニメ系モデルと相性が悪いのかもしれない