🦊AnimateDiff
🏠 | 🦊雑に学ぶComfyUI
👈 |
👉 | 🦊AnimateDiff_video2video
AnimateDIffはStable Diffusionでtext2video / video2videoをするためのフレームワークです
既存のtext2imageモデルにmotion modeling moduleをつけるだけで動画生成に対応できるすごいヤツです
🦊ComfyUIでやってみる
🪢カスタムノードのインストール
https://github.com/Kosinkadink/ComfyUI-AnimateDiff-EvolvedComfyUI-AnimateDiff-Evolved
https://github.com/Kosinkadink/ComfyUI-VideoHelperSuiteComfyUI-VideoHelperSuite
motion moduleのダウンロード
ひとまずmm_sd_v15_v2を使ってみましょう
ComfyUI managerのメニューからInstall Models → mm_sd_v15_v2と検索し、mm_sd_v15_v2をInstall
https://gyazo.com/66cb6b7098600c96cd573a32365d35cc
AnimateDiff_text2video.json
🟪batch sizeがそのまま生成するフレーム数になります
🟨AnimateDiffのメインエンジン、model_nameに先程ダウンロードしたmm_sd_v15_v2を指定します
🟨ADE_AnimateDiffUniformContextOptionsのパラメータですが、よくわかりません
https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved/issues/101#issuecomment-1767562129Uniform Context Options
基本デフォルトのままで良いでしょう
lengthがoverlapよりも小さくなると失敗します
closed_loopをtrueにすると、最初のフレームと最後のフレームが綺麗に繋がる動画ができます
🟩フレームレートと動画の形式を指定して、動画として保存します
🤖他のMotion Moduleを使う
mm_sd_v15以外にも公式からのバージョン違いやファインチューニングモデルがあります
基本的には新しいものを使いますが、古いモデルで暴れた絵を作るのもまた一興
https://huggingface.co/guoyww/animatediff/tree/cd71ae134a27ec6008b968d6419952b0c0494cf2mm_sd_v14/mm_sd_v15/mm_sd_v15_v2/v3_sd15
https://huggingface.co/CiaraRowles/TemporalDiff/tree/maintemporaldiff-v1
ダウンロードしたモデルはComfyUI\custom_nodes\ComfyUI-AnimateDiff-Evolved\modelsに置きます
🎥MotionLoRA
ズームインやパン等、カメラの動きを指定できるMotionLoRAというものが公式から出ているので使ってみましょう
LoRAのダウンロード
https://huggingface.co/guoyww/animatediff/tree/cd71ae134a27ec6008b968d6419952b0c0494cf2v2_lora_PanLeft/v2_lora_PanRight/v2_lora_RollingAnticlockwise/...
ComfyUI\custom_nodes\ComfyUI-AnimateDiff-Evolved\motion_loraに置きます
https://gyazo.com/ad27b7dc477d3587998495de300f93fb
MotionLoRA.json
🚨基本的にv2のMotion Moduleでしかうまく動きません
ADE_AnimateDiffLoaderWithContextノードにMotionLoRALoaderを接続します
なんとなくそんなカメラワークになってるはずです
ただし、MotionCtrlやSparseCtrlなどの技術がでてきたので使い道は今のところないです
MotionDirectorをMotionLoRAとして読み込めるようになったことで使い道が出来てきました
ConttolNetを使えば参照動画からの動きの抽出は確かにできますが、元の動画と同じ等身の人間しか生成できなかったり、例えば車のドリフト動画から猫がスライディングしている動画なんてものは作れませんでした
MotionDirectorはより動きを抽象化させて学習するのでより汎用性が高い、これから期待の技術です