[ComfyMaster36] 動画から新しい動画を生成しよう!

既存の動画をトレースして、新しい動画を作る方法、知りたくないですか?
本記事では、そんな期待に応えるべく、AnimateDiffとControlNetを使って参照動画から動きを抽出し、それを基に新しい動画を生成する方法を解説します。

こんにちわ、AICU media編集部です。
ComfyUI マスターガイド」第36回目になります。
本記事では、前回ご紹介したAnimateDiffとControlNetを組み合わせて、動画から異なる動画を生成する「video-to-video (v2v)」を行う方法を解説します。
「どんなクリエイティブなことができるのか?」と想像を膨らませながら、ぜひ最後まで読み進めてください。きっと新しい発見やアイデアが得られるはずです。

★本内容については著作権侵害の可能性がある技術を取り扱います。実験、研究目的とする場合も、参照元にする画像との依拠性・類似性については十分に配慮し、業務的な製作においては所属機関の法務部や担当弁護士などに法的見解を確認してから実施することをおすすめします。

本連載の初回はこちら。前回はこちら、目次はこちらです。

[ComfyMaster35] ここから始める動画編!SDXL+AnimateDiffでテキストから動画を生成しよう! #ComfyUI [無料]

    1. 概要

    前回は、AnimateDiff+IP Adapterでテキストから動画の生成を行いました。AnimateDiffに関しては、前回の記事で解説していますので、前回の記事と合わせてご覧ください。

    今回は、動画を参照し、その動画と同じ動きで別の動画を作成します。作成にはControlNetを使用し、参照元動画の動きをトレースし、それを動画生成に適用します。

    2. カスタムノードのインストール

    ★復習[ComfyMaster4]ComfyUIカスタムノード導入ガイド! 初心者でも安心のステップバイステップ解説

    Google ColabでのComfyUI環境設定から学びたい方はこちら
    ★復習[ComfyMaster1] Google ColabでComfyUIを動かしてみよう!

    準備ができたら、以下のカスタムノードを使用するため、ComfyUI Managerからインストールしてください。

    ComfyUI-AnimateDiff-Evolved

    ComfyUI-AnimateDiff-Evolvedは、Stable Diffusionモデルを拡張して動画生成を可能にするカスタムノードです。元のAnimateDiffを進化させたバージョンで、動画生成のためのモーションモジュールと高度なサンプリング技術を組み込んでいます。

    https://github.com/Kosinkadink/ComfyUI-AnimateDiff-Evolved

    ComfyUI-VideoHelperSuite

    ComfyUI-VideoHelperSuiteは、動画生成を支援するためのカスタムノードです。動画の編集や加工を容易にする機能を提供します。今回は、一連の画像を動画にして保存するノードを使用するために必要となります。

    https://github.com/Kosinkadink/ComfyUI-VideoHelperSuite

    ここまでが、前回の「Text to Video」を実現するカスタムノードのインストールと共通部分になります。

    ここから先は、ControlNet環境を作っていきます。

    ComfyUI-Advanced-ControlNet

    ComfyUI-Advanced-ControlNetは、ControlNetの機能を強化するカスタムノードです。ControlNetの強度をタイムステップやバッチ化された潜在変数にわたってスケジュールする機能を提供します。

    https://github.com/Kosinkadink/ComfyUI-Advanced-ControlNet

    ComfyUI’s ControlNet Auxiliary Preprocessors

    ComfyUI’s ControlNet Auxiliary Preprocessorsは、ControlNetの前処理を支援するカスタムノードです。高度なヒント画像を生成し、画像の質と正確さを向上させる機能を提供します。

    https://github.com/Fannovel16/comfyui_controlnet_aux

    ComfyUI-KJNodes

    動画サイズのリサイズのためにComfyUI-KJNodesを導入します。ComfyUI-KJNodesは様々な便利なノードを格納しています。

    https://github.com/kijai/ComfyUI-KJNodes

    3. モデルのインストール

    RealVisXL V5.0 Lightning

    今回は、RealVisXLのLightningバージョンを使用します。Lightningバージョンでは、サンプリングのステップ数を4-6回に抑えることができます。生成量の多いAnimateDiffでは、TurboやLightningなどの数ステップで生成完了するモデルを選ぶと良いでしょう。
    以下のリンクよりモデルをダウンロードし、「ComfyUI/models/checkpoints」フォルダに格納してください。

    https://huggingface.co/SG161222/RealVisXL_V5.0_Lightning/blob/main/RealVisXL_V5.0_Lightning_fp16.safetensors

    SDXL Motion Module

    今回は、SDXLのモーションモジュールとして、「Hotshot-XL」を使用します。Hotshot-XLは、コンテクスト長が8フレームしかありませんが、AnimateDiff-SDXLより品質が良いためです。以下のモデルをダウンロードし、「ComfyUI/custom_nodes/ComfyUI-AnimateDiff-Evolved/models」フォルダに格納してください。

    https://huggingface.co/hotshotco/Hotshot-XL/blob/main/hsxl_temporal_layers.f16.safetensors

    ControlNet Union SDXL

    video-to-video (v2v)にControlNetを使用します。以下のControlNetをダウンロードし、「ComfyUI/models/controlnet」フォルダに格納してください。

    https://huggingface.co/xinsir/controlnet-union-sdxl-1.0/blob/main/diffusion_pytorch_model_promax.safetensors

    4. 素材

    v2vで使用する参照元動画を用意します。以下の動画を利用し、DWPoseとDepthで動きを抽出し、ControlNetでこの動きを再現します。

    画像

    以下のリンクより無料でダウンロードできます。

    https://www.pexels.com/ja-jp/video/2795746

    5. ワークフローの解説

    このワークフローは、AnimateDiffを使用して動画を生成する高度な例です。入力動画を基に、AIモデルを使用してスタイライズされたアニメーション動画を作成します。

    画像

    この記事の続きはこちらから https://note.com/aicu/n/n54988052abb7

    Originally published at https://note.com on Nov 28, 2024.