[ComfyMaster40] AnimateDiffのimage2imageで背景素材を作成しよう!
AnimateDiffを利用すると、背景素材が作れます!
こんにちわ、AICU media編集部です。
「ComfyUI マスターガイド」第40回目になります。
本記事では、AnimateDiffの応用し、背景素材を作成する方法を解説します。新たにInterpolationというフレームを補間する方法や、ループ動画を作成する方法を紹介します。
1. 使用するカスタムノード
ComfyUI-AnimateDiff-Evolved
ComfyUI-AnimateDiff-Evolvedは、Stable Diffusionモデルを拡張して動画生成を可能にするカスタムノードです。元のAnimateDiffを進化させたバージョンで、動画生成のためのモーションモジュールと高度なサンプリング技術を組み込んでいます。
ComfyUI-VideoHelperSuite
ComfyUI-VideoHelperSuiteは、動画生成を支援するためのカスタムノードです。動画の編集や加工を容易にする機能を提供します。今回は、一連の画像を動画にして保存するノードを使用するために必要となります。
ComfyUI-Advanced-ControlNet
ComfyUI-Advanced-ControlNetは、ControlNetの機能を強化するカスタムノードです。ControlNetの強度をタイムステップやバッチ化された潜在変数にわたってスケジュールする機能を提供します。
ComfyUI-Frame-Interpolation
ComfyUI-Frame-Interpolationは、動画のフレーム補間を行うためのカスタムノードセットで、主にアニメーションの滑らかさを向上させることを目的としています。この機能は、特に動画のフレームレートを上げる際に有効で、視覚的な品質を改善するために追加のフレームを生成します。
2. モデルのインストール
RealVisXL V5.0 Lightning
今回は、RealVisXLのLightningバージョンを使用します。Lightningバージョンでは、サンプリングのステップ数を4-6回に抑えることができます。生成量の多いAnimateDiffでは、TurboやLightningなどの数ステップで生成完了するモデルを選ぶと良いでしょう。
以下のリンクよりモデルをダウンロードし、「ComfyUI/models/checkpoints」フォルダに格納してください。
SDXL Motion Module
今回は、SDXLのモデルで動画生成するため、SDXLのモーションモジュールをダウンロードします。使用するモデルは「Hotshot-XL」です。以下のリンクからモデルをダウンロードし、「ComfyUI/custom_nodes/ComfyUI-AnimateDiff-Evolved/models」フォルダに格納してください。
ControlNet Union SDXL
video-to-video (v2v)にControlNetを使用します。以下のControlNetをダウンロードし、「ComfyUI/models/controlnet」フォルダに格納してください。
3. 使用する素材
今回は、以下の画像を使用します。
それぞれ以下よりダウンロード可能です。
landscape_02.jpg(右クリックで保存)
fire_castle.jpeg(右クリックで保存)
4. ワークフローの解説
今回使用するワークフローは、以前の記事「AnimateDiffでi2v」で紹介したワークフローの一部を改修したものになります。以前の記事で使用したワークフローとの相違点は以下の通りです。
以前は開始のフレームと終了のフレームで別々の画像を指定しましたが、今回は全てのフレームで同じ画像を指定します。さらに、KeyFrameでフレームごとにControlNetの強度を適用するのではなく、一律同じ強度で適用します。
Context Options (View Options) にLooped Uniformを適用することで、最初と最後のフレームを一致させ、ループする動画にしています。
生成後の動画にFrame Interpolationでフレームを補間することで、動画を滑らかにしています。
ワークフローは、文末よりダウンロード可能です。
以下は、ワークフローの流れをフローチャート形式で表示したものです。
このワークフローの主要な部分とその機能の詳細は以下の通りです。
画像入力
Load Image ノード: "landscape_02.jpg" という風景画像を読み込みます。
モデルとAnimateDiffの設定
Load Checkpointノード: "RealVisXL_V5.0_Lightning_fp16.safetensors" モデルを読み込みます。
AnimateDiff Loaderノード: "hsxl_temporal_layers.f16.safetensors" AnimateDiffモデルを適用します。
View Options◆Looped Uniformノード: AnimateDiffのビューオプションを設定します(8フレーム、4キーフレーム、ループあり)。
Context Options◆View Onlyノード: ビューオプションをコンテキストオプションに変換します。
ControlNet設定
Load ControlNet Modelノード: "CN-anytest_v4-marged.safetensors" ControlNetモデルを読み込みます。
Apply Advanced ControlNetノード: 入力画像に対してControlNetを適用します。
サンプリング設定
FreeInit Iteration Optionsノード: FreeInit samplingのパラメータを設定します(2イテレーション、ガウシアンノイズ)。
Sample Settingsノード: AnimateDiffのサンプリング設定を構成します(FreeNoiseモード)。
プロンプト処理
ポジティブプロンプト: ポジティブプロンプトは「5.生成結果の確認」に記載
ネガティブプロンプト: 「(worst quality, low quality, illustration, 3d, 2d, painting, cartoons, sketch), 」
画像生成
Empty Latent Imageノード: 入力画像と同じサイズの24フレームの空の潜在画像を生成。
KSamplerノード:
Seed: 596721632997297
Steps: 4
CFG Scale: 2
Sampler: dpmpp_sde
Scheduler: karras
Denoise: 1.0
出力処理
VAE Decodeノード: 生成された潜在表現を実際の画像にデコードします。
RIFE VFIノード: 生成されたフレーム間に4倍の中間フレームを補間します。
ckpt_name: RIFEのモデルを選択します。rife47.pthまたはrife49.pthがお勧めされています。
clear_cache_after_n_frames: キャッシュをクリアするフレーム数を指定します。フレーム数を増やすと、処理速度が速くなる代わりにVRAMの消費量が上がります。VRAMの容量が小さい場合は、フレーム数を低く設定することを推奨します。
multiplier: 補間するフレーム数を指定します。1にすると補間なし、2にすると2倍(24フレームの場合、48フレーム)となる。
fast_mode: trueにすることで、速度重視で処理を実行します。品質重視の場合は、falseにしてください。
ensemble: ensemble(アンサンブル)は、複数のモデルや推論結果を組み合わせて、精度や安定性を向上させる手法です。trueにすることで、ノイズを抑えた安定した補間が得られ、より高品質なフレームが生成されます。一方で、2回の補間処理が必要なため、計算コストが増え、推論速度が低下することがあります。
scale_factor: 内部的に解像度を拡縮して、精度や速度を調整します。設定できる値は、0.25、0.5、1.0、2.0、4.0で、値が大きいほど速度が増し、値が小さいほど精度が上がります。
Video Combineノード: 補間された画像シーケンスを24fpsの動画に変換し、"AnimateDiff" というプレフィックスで保存します。
5. 生成結果の確認
それでは、2つの画像を利用して動画を生成してみましょう。まずは、サンセットの画像で動画生成します。次のポジティブプロンプトを入力し、landscape_02.jpgをLoad Imageノードに設定し、生成を実行してください。
以下が生成結果です。元の画像を維持しつつ、雲や湖が微妙に動いています。また、最初と最後のフレームが同一になるため、ループしている動画になっていることが確認できます。
次は、炎上している城の画像を利用して、以下のポジティブプロンプトで生成してみましょう。
以下が生成結果です。火や煙が動くことで炎上している様子が表現できています。先ほどと同じくループしている動画になっています。
6. まとめ
今回の記事では、ComfyUIの各種カスタムノードを活用した動画生成ワークフローを詳しく解説しました。「ComfyUI-AnimateDiff-Evolved」を中心に、「ComfyUI-VideoHelperSuite」や「ComfyUI-Advanced-ControlNet」などのノードを組み合わせることで、静止画像から滑らかで高品質な動画を生成する手法を実現しました。これらのノードを駆使することで、モーション制御やフレーム補間、エフェクト強度の調整が自在に行えるようになり、クリエイターの表現の幅を大きく広げる結果となりました。
これらのカスタムノードは、初心者から上級者まで幅広いユーザーにとって、従来の動画生成の課題を解決する強力なツールとなるでしょう。特に、生成スピードの向上や操作のシンプルさによって、創造性を損なうことなくスムーズなワークフローを実現できます。今後もさらなるバージョンアップにより、より多彩な映像表現が可能になることが期待されます。
この記事を通じて、ComfyUIを活用した動画生成の基礎から応用までの理解が深まったことでしょう。これからのプロジェクトで、これらのカスタムノードを活用し、より革新的で魅力的な動画制作に挑戦してみてください。
これでいったん動画生成については終わります。
次回からは、高解像度化などのテクニックを紹介し、その次はいよいよ画像生成アプリやシステム開発を紹介します。乞うご期待!
X(Twitter)@AICUai もフォローよろしくお願いいたします!
【特報です!!】2024年8月からAICU mediaにて継続している大型連載「ComfyUIマスターガイド」の内容がColosoで動画ラーニングメディアになりました!
#生成AIクリエイティブAICU という名義で他に2作ありますので探してみてください
画像生成AI「ComfyUI」マスターPlan
画像生成AI「Stable Diffusion」特に「ComfyUI」を中心としたプロ向け映像制作・次世代の画像生成を学びたい方に向けたプランです。最新・実用的な記事を優先して、ゼロから学ぶ「ComfyUI」マガジンからまとめて購読できます。 メンバーシップ掲示板を使った質問も歓迎です。
メンバー限定の会員証が発行されます
活動期間に応じたバッジを表示
メンバー限定掲示板を閲覧できます
メンバー特典記事を閲覧できます
メンバー特典マガジンを閲覧できます
動画資料やworkflowといった資料への優先アクセスも予定
ゼロから学ぶ「ComfyUI」マガジン
もちろん、初月は無料でお試しいただけます!
毎日新鮮で確かな情報が配信されるAICUメンバーシップ。
退会率はとても低く、みなさまにご満足いただいております。
✨️オトクなメンバーシップについての詳細はこちら
ここから先は
応援してくださる皆様へ!💖 いただいたサポートは、より良いコンテンツ制作、ライターさんの謝礼に役立てさせていただきます!