Wan2.2 V2V VACE One-Click 'Seamless' Workflow Loop, Preserving Subject
詳細
ファイルをダウンロード
このバージョンについて
モデル説明
「手のひらにジグリーフィジクスの力」
- ドクター・オクトパスか、それに似たような存在
これはWan2.2におけるVACE V2Vワークフローで、ご提供いただいたリファレンス画像の被写体を基に、ご提供いただいたリファレンス動画内の被写体を置き換えることを目的としています。つまり、画像内の被写体が動画内の被写体と同じ行動をとるということです。
V2: メモ - 重要!!
私は、何らかの「無音」を生成できる競合しないノードを見つけられませんでした。手に入る/使える出力制限の範囲内で、私はこの状況用に独自のカスタムノードを作成することを余儀なくされました。このワークフローのダウンロードには、そのカスタムノードが含まれています。「Silence Generator」というフォルダを取得し、それをComfyUIの「custom node」フォルダに移動してください。ComfyUIを再起動すれば、問題なく動作します。
1秒の無音を生成できるノードをご存知であれば、そのノードでこのカスタムノードを置き換えてください(そして教えてください!)。
今後、私が見つけた些細な問題点をここに更新していきます。これらは真のバグというより、問題解決の手助けとなるポイントです:
問題:「LayerUtility: Purge VRAM V2 が見つからない。LayerStyleノードパックは最新状態だが」
解決策:こちらから直接custom_nodesディレクトリにクローンしてください:https://github.com/chflame163/ComfyUI_LayerStyle
原因:ComfyUIレジストリが間違ったバージョンをキャッシュしている可能性問題:「VRAMが不足しており、モデルが私のマシンに大きすぎる。処理が遅い/メモリ不足」
解決策:GGUF版を使用してください。異なるローダーが必要になる場合があります。ローダーの後ろのセットノードの入力にモデル出力を接続すれば、正常に動作するはずです。それでも混乱している場合、Googleで検索しても解決しない場合はお知らせください。ガイドを提供します。
原因:私はH100仮想マシン上でこのワークフローを作成しました。問題:「InspyrenetRembgAdvancedのワークフローを実行中にnumpyエラーが発生する」
解決策:私はこのエラーを時折見かけます。このノードはあまり好きではなく、近いうちに置き換える方法を探したいと思います。現在のところ、ワークフローをもう一度実行すると、エラーは無視されます。
原因:ノードがひどく不安定です。
以下は簡単な動作概要です:
画像リファレンス、動画リファレンス、サイズ、VACEモデル、イテレーション数、各イテレーションで処理するフレーム数、オーバーラップフレーム数、その他のパラメータを入力します。
動画のイテレーションスライスに対してエッジ検出、ポーズ検出、および(オプションで)高度なマスク処理を実行します。画像が動画のアスペクト比と一致しない場合は、パディング処理を行います。
VACE処理を動画・リファレンス画像などに適用します。
VACE出力のユーザー指定のオーバーラップフレームをグレーフレームで置き換えます。
もしイテレーションのインデックスが0番目(最初のイテレーション)であれば、バッチ処理して次のイテレーションに進みます。それ以外の場合...
黒白マスクのトリックを使用して、別途のVACEワークフローでトランジションフレームを処理します(ただし、別ワークフローではなく、このワークフロー内に組み込まれます)。
ステップ4で挿入したグレーフレームは、ステップ5で処理されたフレームで置き換えられます。
イテレーションの最終フレームはワークフローの最初に戻され、その被写体がマスクされ、元のリファレンス画像のキャラクターが上に重ねられます。(これは、各イテレーションで発生する典型的な「焼き付いた」外観を防ぎ、他のワークフローでよく見られる「最終フレームをリファレンスとして渡す」方法と区別する上で重要です。)
ステップ2からステップ6を、指定したイテレーション回数に達するまで繰り返します。
最終的な動画から、最初のグレーフレームを切り取ります。
結果は?
VACEで処理されたトランジションを含む、ほぼシームレスな動画が得られます。被写体の変形は起こりません。ただし、高イテレーションでは背景が多少「焼き付いた」ようになる可能性があります。
このワークフローの目的は、あらゆる数学的・条件分岐ノードがやや複雑に見えるものの、操作が簡単になるように設計されていることです。
免責事項:私はH100でこれを実行しています。GPUが本物の「100%アンガスビーフパワー」でなく「ポテトPC」の場合、おそらく diffusionモデルやテキストエンコーダーなどを変更して処理速度を上げたいと思うでしょう。私は品質を第一に、速度は第二と位置づけています。
今後の拡張可能性:
Cannyエッジの導入…
…およびマスク除去時の口元形状の維持(中程度の優先度)
ポーズブレンドをよりよく理解し、最終動画に不要なオブジェクトとしてポーズが現れないようにより多くのポーズを導入する(色?ブレンドタイプ?調査が必要)—中程度の優先度
̶音̶声̶—̶最̶高̶優̶先̶度̶、̶ま̶た̶今̶後̶ま̶す̶か̶。̶シ̶ン̶ク̶の̶問̶題̶を̶解̶決̶中̶。̶**_- 完了_**
背景オプション:ユーザーが動画背景、画像背景、または新しいT2Vスタイルで生成された背景を選択可能に(低優先度)
最初の画像から最初の生成結果までの背景の一貫性をより良く保つ(制御動画にマスク処理が必要かもしれない)—中程度の優先度
̶中̶間̶補̶間̶ス̶テ̶ッ̶プ̶、̶可̶能̶性̶あ̶り̶上̶ス̶ケ̶ー̶ル̶—̶中̶程̶度̶優̶先̶度̶、̶実̶装̶は̶簡̶単̶、̶し̶か̶し̶質̶量̶/̶速̶さ̶の̶最̶適̶解̶を̶探̶す̶必̶要̶が̶あ̶る̶**_- 完了_**
ユーザー指定のイテレーションで異なる画像リファレンスを使用できるオプションの追加。面白い応用が可能に(低優先度)
非推奨のResize Image v1をv2に変更—中程度の優先度、進行中
バグ修正—バグの内容次第で中程度の優先度
個人的なメモ:
これは「好きなソース動画があるが、レネサンス風マスクが気に入らないので、登場人物を置き換えたい」というアイデアから始まりました。その後、このプロセスをループさせることを思いつき、さらに「オーバーラップ部分をシームレスにできたら?」と考え、フルのFL2Vステップを組み込みました。しかし、それはシームレスではありませんでした。色の違いと跳ねるような動きが生じていました。その後、CivitAIでいくつかの「シームレス」ワークフローを見かけました。それらはとても興味深かったのですが、本質的には別ワークフローでファイルパスなどを使用していました。私は1つのボタンを押すだけで動画全体を処理したいと考え、このワークフローをさらに開発し続けました。まだ完璧ではありません。望むような1対1の置き換えはできませんが、現時点で十分にクールな機能だと私は思っています。今後は、あらゆる細部の微調整、エッジケースの修正、さらなる機能追加が主な課題になります。