PR

【WAN】動画生成時間の短縮①

WAN

ComfyUIでWAN2.1を使って動画生成する際に生成時間を短くする方法として、フレーム補間とTeaCasheを紹介します。この二つだけでも、メインRAM16GB、VRAM16GBの環境で生成時間を60%ほど短縮できたので、興味があれば試してみてください。

WAN2.1のローカル環境を構築した際の、画像から動画を生成するワークフローを変更して、フレーム補間とTeaCasheを実装します。元となるワークフローは以下の記事から入手できます。

初めにワークフローを少し変更してから、フレーム補間とTeaCasheの処理を追加します。

スポンサーリンク

ワークフローの事前変更

生成時間短縮とは関係ありませんが、元のワークフローの画像や、動画再生時間などの気になった点を変更しておきます。
好みの問題なので飛ばしてもらっても構いませんが、WEBP以外の形式で動画を出力したい場合は、「Video Combine」ノードへの変更だけでもやっておくとよいと思います。

必要なカスタムノードパッケージ

  • 「Video Helper Suite」

ワークフローの変更

  • 「画像を読み込む」で、「アップロードするファイルを選択」をクリックして、画像を変更
  • 「Wan画像からビデオへ」で、「長さ」を49に変更
  • 「CLIP Text Encode(Positive Prompt)」で、画像に合わせてプロンプトを入力
  • 「CLIP Text Encode(Negative Prompt)」で、元の中国語を翻訳した英語を入力
  • 「アニメーションWEBPを保存」を削除し、「Video Helper Suite」のカスタムノード「Video Combine」を追加
  • 「VAEデコード」と「Video Combine」を繋ぐ
  • 「Video Combine」のパラメータを設定
  • 「SaveWEBM」を削除

変更した結果

モデルロード時間含めて762s、動画生成処理のみで666sでした。

スポンサーリンク

フレーム補間

フレーム補間は、既存の動画フレーム間に新しく中間フレームを生成し、動画を滑らかに見せることができます。動画の小さいfpsで生成した後にフレーム補間を行うことで、動画生成自体のフレーム数は少なくなり、生成時間を短縮できます。

必要なカスタムノードパッケージ

  • 「Frame Interpolation」

ワークフローの変更

事前調整したワークフローを追加で変更します。

  • 「RIFE VFI(recommend rife47 and rife49)」を追加し、「VAEデコード」と「Video Combine」に繋ぐ
  • 「RIFE VFI(recommend rife47 and rife49)」のパラメータを設定
    (「multiplier」がフレーム補間の倍率、2なら元の動画の1フレームが2倍の2フレームになるように補間される)
  • 「Wan画像からビデオへ」で、「長さ」を25に変更

変更した結果

モデルロード時間含めて412s、動画生成処理のみで318sでした。

スポンサーリンク

TeaCashe

TeaCasheは、前の動画生成ステップの計算結果をキャッシュすることで、推論速度を向上させるキャッシュ機構です 。動画生成のように連続するフレーム間で類似性が高い場合に、あまり意味のない計算を減らすことで、生成時間を短縮できます。

必要なカスタムノードパッケージ

  • 「TeaCashe」

ワークフローの変更

フレーム補間を導入したワークフローを追加で変更します。

  • 「TeaCashe」を追加し、「モデルサンプリングSD3」と「Kサンプラー」に繋ぐ
  • 「TeaCashe」のパラメータを設定
    (「rel_l1_thresh」を0.13にすると処理時間が数十分に伸びたので、0.2以上推奨)

変更した結果

フレーム補間と合わせて使うと、モデルロード時間含めて289s、動画生成処理のみで197sでした。
参考ですが、TeaCasheのみの場合はモデルロード時間含めて492s、動画生成処理のみで405sでした。

以上で、フレーム補間とTeaCasheを利用して動画生成時間を短縮することができました。
ただ、思うような動画を生成するには、パラメータやプロンプトなど色々調整が必要そうです。

コメント

タイトルとURLをコピーしました