【AIアニメ】ComfyUIではじめるStable Video Diffusion
11月21日にStabilityAIの動画生成モデル「Stable Video Diffusion (Stable Video)」が公開されています。
これによりGen-2やPikaなどクローズドな動画生成サービスが中心だったimage2video(画像からの動画生成)が手軽に試せるようになりました。
このnoteでは「ComfyUI」を利用したStable Videoの使い方を簡単にまとめまてみました。
1. Stable Videoについて
今回StabilityAIが公開したのは画像をもとに動画を生成するimage2video用のモデルで、テキストによる指示には非対応です。
まだベータ版に近い位置づけです。生成できる動画は短く、カメラワークや動きを直接的に制御する方法はありません。ガチャ要素強いです。
2. ComfyUIで使うStable Video
ComfyUIでStable Videoを使うと他の実装よりも軽快に生成できます。UIの提供する様々な機能が併用できるのもメリットです。
ComfyUI自体の導入方法については分かりやすい解説サイトがウェブ上に多数あります(動画生成ではグラフィックボード搭載PCが事実上必須です)。
Google Colab Pro/Pro+をお使いの場合、以下のColabを実行すれば簡単にセットアップ~起動が完了します。
なおComfyUI無しでStable Videoを試す場合は無料版アカウントのGoogle Colabでも試せます。mkshingさんのColabが便利です。
3. ワークフロー
最新版のComfyUIにアップデートしていれば、追加のカスタムノードなしでStable Videoに対応します。
ComfyUI公式のサンプルをもとに以下のワークフローを組んでみました。
JSONファイルを保存してComfyUIにドロップするとワークフローを読み込めます。右上の「Queue Prompt」で実行です。サンプル画像はこちらにあります。
以下ではこのワークフローを例に解説します。
画像の選び方
アングルに角度がついていたり、被写体の動きを感じさせるような画像がだとカメラワークや動きが入りやすいようです。
2Dイラストは苦手なので、アニメ系の場合は3DCG寄りの立体感のある画像が無難です。
画像サイズは1024x576が公式設定です。64の倍数であれば他のサイズでも程度うまく生成されます。
動画生成モデル
通常モデルの方が生成の質がいいという話もあります(が、試した範囲では明確な差はなさそうでした)。
サイズを半分に圧縮したfp16モデルも有志によってアップされています。元モデルは約10GBあるので、ディスクをすっきりさせるのにおすすめです。
StableVideoパラメータ
width/height:生成動画のサイズです。基本的に元画像に合わせます。
video_frames:動画のフレーム数です。通常モデルなら14以下、xtモデルなら25以下に設定します。
motion_bucket_id:この値を増やすと動画の動きが大きくなりますが、映像が破綻する可能性も上がります。公式の推奨は127で、100~200くらいが目安です。
fps:motion_bucketとは逆で、この値を増やすと動画の動きが落ち着きます。公式の推奨は6です。なお一般的な意味でのfps(1秒当たりのフレーム数)はワークフロー右端の動画ノードで設定してください。
augumentation_level:最初のフレームに加えるノイズの量です。0にすると1枚目のフレーム=入力画像になります。この値を増やすと、動きが出やすくなりますが画像イメージから離れやすくなります。
KSampler
Seed:画像生成と同じくseedを変えることで動画が変わるのでガチャします。
Step:公式では20がデフォルトですが、12程度でもうまく生成できるようです。
CFG:入力画像に対する忠実さで、1~3が目安です。KSamplerだけでなく「VideoLinerCFGGuidance」ノードで最小値のCFGも指定できます。上記の例だと、動画の最初はCFG=2で生成し、その後CFG=3までに引き上げることになるようです(たぶん)。
Sampler:画像生成と同じく出力に影響しますが、どれがいいかはケースバイケースです。eulerが無難です。
4. 便利なカスタムノード
MP4やGIFなどの別の動画形式で保存したい場合は「ComfyUI-VideoHelperSuite」が便利です。
フレーム補間して動画を滑らかにする場合、外部のアプリケーションを使ってもいいですが「ComfyUI-Frame-Interpolation」を使うとComfyUI上で処理を完結できます。
カスタムノードは、ComfyUI Manegerからインストールするのが簡単です。Manegerによるインストール方法はこちらで解説しています(冒頭で紹介したComfyUI用Colabには導入済みです)。
上記2つのカスタムノードを加えたワークフロー例は以下になります。