ComfyUIでStable Video Diffusionを動かしてみたよ(追記有)
前置き
今が旬の話題です。導入とかは他の人がいっぱい書いてると思うんで所感と書いていこうと思います。
あと参考にと動画を貼ったつもりだったんだけど、アニメーションwebpだと動かなくなっちゃうんですね。やらかした。まとめてCivitaiに上げます。
Stable Video Diffusion(SVD)ってなに
Stable Diffusionが分かる人なら見れば分かるでしょ。動画が作れるようになったやつです。
って思うじゃん。現時点ではたいしたことは出来ないです。ほぼ静止画のイラストに奥行きをもたせるように、カメラがパンするみたいな感じで動いて見えるだけです。人だったらたまに髪がなびいたり、歩いてるように上下に動いたりするけど現時点(2023/12/04)ではその当たりを制御するのは出来ないです。
このあたりはControlNetを使ってtext to movieで処理したほうが圧倒的に精度は高いです。ただ、ControlNetでのtext to movieと比較すれば圧倒的に早い。そこだけは間違いないかなと。
これでWebUIとかでinpeint(image to imageでの部分補正)で使えるようになるとだいぶ変わると思うけど、これまで一番対応が早かったStableDiffusion WebUIの更新がだいぶ止まっているのと、後発のどれが有力になっていくのかまだわからないっぽいってのでなんともですね。
リンク置いとくね
何ができんの
現時点では ”静止画ではないものが作れる” くらいの感覚です。そりゃそうだろと思うかもしれないけど、そういう話じゃないです。
追記:保存の形式はgifかアニメーションWebpが選べます。つまりこれまでwebp保存の拡張をいれてあれこれしないといけなかったけど、SVDの拡張を入れれば静止画でもwebpで保存できるようになります。圧縮率はそれほど高くないかもしれないけど、512x768サイズを基本設定で保存して1MB超えてたのが800KB切るくらいには小さくなるはず。これはいい。
少なくともComfyUIを使用するのであれば、現状は出力結果は運任せと言っていいと思います。例えばこれ。
元のプロンプトでは髪をかきあげているようにポーズ指定し、ポニテにしています。これが ”たまたま上手く” 髪を結ぼうとしているように動いたけど、偶然です。
顔面が崩壊することも頻繁にあります。むしろ崩壊しないほうが珍しい。
元画像から変化する強度も調整できるけど、どの程度効果があるのか今のところはっきりわかりませんね。デフォルト設定から0.01変えるだけで崩壊してしまったりするので、かわいい女の子を動かしてやるぜみたいなのには向かないかも。
なんとかならんの?
動画生成時のfps(秒間フレーム数)を落としてやれば、なんとか使い物になるかもしれません。まだ確信は持てないけど、fps:9, motion bucket id:9 以下にするなら動きも少なくて崩壊しにくいかも。それでもする時はする。極端に小さくしすぎると今度は動いた時にカクカクして違和感がエグくなるので、ちょうどいいのは多分この辺。あと、アップスケーラーをかませて元の画像サイズをデカくしてから、動画生成時に小さめにするとうまくいくことが多い。
褒めるとこないんか
動きをすごく小さくすれば崩壊しにくくなるってことは、すごく小さい動きは得意ってことでもある。上手くハマれば、キャラの息遣いみたいなのが感じられる絵になったり、髪がうまくなびいたり瞬きしたりする。そういう偶然を引き当てられればめっちゃいいのがでることもある。超低確率のガチャを回す楽しみは、ある。電気代と引き換えにして部屋も温まる。
SDXL系じゃないと動かんの?
まず、SVDには14フレーム用と25フレーム用の2種(各2つで現状合計4つかな?)の動画生成用モデルがありますが、SDXLがベースっぽいです。なので、これのVAEもXL用です。
ただ、SDXLモデルで動かしている記事が多いかもしれないけど、1.5, 2.xとかでもちゃんと動きます。その場合は、動画生成時のVAEはSVDモデルのものではなく、画像生成時の1.5, 2.x系の物を使用します。
SDXLのモデルは増えてきたけど、これまで使っていたLoRAやEmbeddingで使い勝手のいいものがXLで使えないっていうのはやっぱりネックだよね。この辺がXL系の発展を遅らせる原因かもしれない。しらんけど。
今回設定したやつ
Checkpoint: うちのやつ
VAE: vae-ft-mse-840000-ema-pruned.safetensors
Sampler: uni pc bh2
Sheduler: normal
steps: 36(アップスケールで更に36), 動画生成部分は64
cfg: 7.0
i2v Model: svd_xt.safetensors
video frames: 25
motion bucket id: 9
fps: 9
Workflowの中身きれいにしたらCivitaiで公開しようと思います。
あと、うちのモデルをよろしく
Workflowの配布
あげといたから使ってみたかったらcivitaiみてね
Workflow for Stable Video Diffusion (ComfyUI)
まとめ
使いたいならfpsは小さめに設定して動きも小さくすると壊れにくいかも
アップスケールした上で動画作成時に小さめにするとうまくいくかも
SDXL系のモデルじゃなくても使える。VAEには注意
生成結果は完全に運次第。プロンプトで制御できるものじゃない。
すっごい運任せだけど、上手くハマればいい感じに息遣いを感じる絵になる。そこはオススメ。
ガチャの最高レアリティが跳ね上がる。最高レアを引くまで回し続けるのが楽しいんだっていうマゾには向いている。
静止画でもwebpで画像保存できる機能が追加されるのでちょっとストレージが楽になる(これが一番嬉しい)
おわり