見出し画像

【ComfyUI】ローカル最高性能のi2v動画生成「CogVideoX-5B-I2V」をためす

  • CogVideo」シリーズは、ローカルで使える動画生成AIの中で現時点で最も高性能なモデルです。ただ従来のモデルはText-To-Video(テキスト指示からの動画生成)に用途が限られていました。

  • 今回、新たにImage-To-Video(画像からの動画生成)に対応した「CogVideoX-5B-I2V」が公開されたので、ComfyUIで試してみました。

  • 本記事は2024/9/21時点のComfyUI環境でテストしています。将来のアップデート等でワークフローが動かなくなる可能性があるのでご了解ください。

CogVideoX-I2Vの概要

  • CogVideoX-5B-I2Vの概要は以下のとおりです(公式のオンラインデモはこちら)。

CogVideoX-5B-I2V
*用途:動画生成(Image-To-Video)
*解像度:720 x 480(固定)
*動画の長さ:8fpsで6秒(49フレーム固定)
*ライセンス:一定の制約のもと商用利用可
*ComfyUIでの実装:kijai/ComfyUI-CogVideoXWrapper
*VRAM消費の目安:BF16: 16GB強、FP8: 12GB強、Q4: 9GB強

  • なお、ほぼ同時に公開・実装された「CogVideoX-Funも同じくImage-To-Video用モデルです。出力の質は本モデルにやや劣りますが、解像度・動画の長さの自由度が高いです。

ComfyUIワークフロー

  • 以下は各ノードの簡単な説明です。

CogVideoモデルの読み込み

  • 初回のワークフローの実行時に「model」で設定されているI2Vモデルが自動でダウンロードされます。10GBを超えるサイズがあります。

  • 「fp8_transformer」を「enabled」に設定すると、FP8で推論します。デフォルトだと16GB超のVRAM消費ですが、FP8だと12GB強まで抑えられるようです。生成の質はわずかに低下、生成速度は変わりません。

  • 「fp8_transformer」を「fastmode」に設定すると、生成の質がそこそこ低下する一方、生成速度が向上します。RTX 40XX以降のGPUで使える設定です。

  • 「compile」は連続生成を高速化するためのオプションです。手元の環境では使えなかったので試せていません。

  • 【9/23追記】Q4-GGUF版のモデルが利用可能になりました。推論時のVRAM消費量は10GB未満に抑えられます。以下のノードを代わりに使用します。

CLIPモデルの読み込み

  • CLIPは「Flux.1」などの生成でも使われているgoogleの「T5」を使います。FP16版と軽量なFP8版があります。ComfyUI Manager経由でもDLできます。

入力画像

  • 解像度が720x480 のみ対応なので、サイズを合わせて作成するか、必要に応じてresize / cropします。

  • 入力画像はやはり実写・3DCG系がもっとも良い結果が得られますが、StableVideoDiffusionに比べればイラスト系の画像も動かしやすいです。

  • 既存の動画生成AIと同じく、ポーズやアングルに動きが感じられる画像ほど扱いやすく、ポートレイトなどは難度(ガチャ度)が上がります。動物や空、波など自然系動画が得意なのも同じです。

プロンプト

  • 長めのプロンプトを放り込んでみましたが、そこそこ対応できているようです。とはいえ画像生成ではないので、動作やカメラワークを強調した簡潔なプロンプトのほうがよいかもしれません。

サンプラー

  • height / width / num_frames は固定なのでデフォルトのまま使います。数値を変えると壊れた動画が出力されます。

  • 生成時間に直結する「Step」の値はデフォルトだと50ですが、30程度に減らしても遜色ない出力が得られます。生成に時間がかかるので、できるだけ小さくしたいところです。

  • 入力画像・プロンプトへの忠実度を決める「cfg」はデフォルトが6.00で、5.00~7.00くらいの間で設定するのが無難そうです。

  • 右側の「CogVideo Decode」は画像生成でお馴染みのVAE Decodeに相当するノードです。CogVideoはDecode時のメモリ使用量が大きいので、必要に応じてvae_tilingを有効化します(複数のタイルに分割してDecodeしてくれます)。

(補足)フレーム補間