WAN 2.2 FLF With SVI For Perfecter Infinite Loopage

詳細

ファイルをダウンロード

モデル説明

about を参照してください。v1.2ローダーの修正についてはこちら-->

出力品質が低下しているのは、まだProResやPNGの中間ファイルに切り替えていないからです。赤いシフトの原因は、繰り返されるH.264圧縮です。これらの巨大なSVI実行におけるメモリ管理をまだ完全に理解できていないため、多くの処理がまだ分離されています。RAMが今やボトルネックになっており、128GBでもすぐに満杯になります。そのため、最終段階ではアップスケールや補間を行っていません。単なる遷移だけなら問題ありませんが、最後のステップでソースとマージする場合はダメです。ループの終了部分の調整をまだ進めていますが、開始部分は完璧だと思います。重なりを持たせて逆方向にエンコードすることも考えましたが、ソースの開始フレームを拡張するように前進させ、動きをしっかりと固定する方がうまくいくかもしれません。もし完璧にマッチさせられれば、それにフェードインさせるのが効果的でしょう。それが現在私が試していることです。少しずつ近づいています。あなたも認めざるを得ないでしょう——どんなに美しい画像でも、3秒ごとに不自然なカットが入るよりはマシだということを。


私は無限ループを本当にシームレスにするための探求を続けています。進捗は時折遅く、時には後退することもあります。SVIは正しい方向への素晴らしい後押しです。入力される動きについては、ほぼ解決しました。もう一方の端はまだ改善が必要ですが、動きと色の両方で大きな進歩があります。

では、この仕組みを説明します。SVIは内部フレーム(latent frames)を必要とし、入力される動きを維持します。そのため、ソース動画の最後の16フレームをエンコードし、それらをprev_samplesとして使用します。ソースの最初の1フレームをアンカーとして使用します。SVIノードから得られるエンベッドは、ソースの両端の1フレームずつを確認するWANエンコーダーのエンベッドと組み合わせられます。つまり、開始フレーム、終了フレーム、そして特別な「魔法」のエンベッドを手にした状態で推論を行います。しかし、デコード直後の結果は、私が期待していたものとは完全には一致しませんでしたが、近いものです。主な問題は、常に終了部分に数フレームのゴミが発生することです。ネイティブノードでは、フレーム数のルール(49、73など、4の倍数+1)を守らないときにこの現象が起きます。しかし、実際にはSVI自体がフレーム数を操作しており、73フレームを要求しても実際には77フレームが出力されます。これは「ルール違反」の数値です。そこで、69フレームを要求して「騙す」ことに挑戦しました。73フレームを生成することは成功しましたが、それでも終了部分にゴミが残りました。そこで、私は自分に言いました。「ゴミを避けられないなら、予測可能にしよう」。そこで、このセットアップに導入した「複製機」(duplicator)が登場します。ソースの末尾に4フレームの停止を追加し、動きを早期に減速させるように指示します。この場合、latentフレームと通常のフレームを関連付けることができるので、ゴミが発生する場所を知っているため、最終出力から4フレームを切り捨てます。わかりますか?あなたはこう思うでしょう。「余分なフレームは間違った側についている」。実は、そうでもない。正解です。なぜかは聞かないでください、いいですか?

動きの問題をほぼ解決した後、次に色の調整に目を向けます。もちろん、魔法の色はオクタリンですが、私が知る限り、どのノードにもその色は存在しません。そこで、MKLカラーマッチングを使用します。しかし、ここに罠があります。動画の開始部分だけでなく、終了部分もマッチングしなければなりません。なぜなら、色がずれる傾向があるからです。特にSVIでは、基本生成フレーム数が約300フレームにもなるため、そのずれはさらに顕著です。そこで登場するのがフェードマスクです。動画を2回マッチングします。1回は開始部分に、もう1回は終了部分に。マスクによって、終了部分にマッチした動画と開始部分にマッチした動画の間に自然なクロスフェードが生成されます。もちろん、1つのウィジェットでは十分でないこともあります。そこでグレーディンググループを導入しました。私は通常、終了部分でのみ必要だと気づきました。そのため、グループは1つだけ、デフォルトではバイパスされています。あなたの「玉」に当たる光に応じて、独自の調整を行ってください。これは誤解を招きやすいですが、それが現実です。目視で補正を推定するのは難しいです。*面倒くさがらずに、快適な範囲を超えて効果を追求する人には、ヒストグラムとベクトルスコープが大きな助けになります。輝度ヒストグラムを比較表示または重ねて見て、利用可能なウィジェット(コントラスト、値、オフセットなど)で輝度を圧縮または伸張してみてください。色も同様に、色ベクトルを使って調整します。もちろん、出力を編集ソフトに取り込む場合は、そこでカラーコレクションしても構いません。しかし、編集ソフトで行った補正をComfyUIノードに変換して、いくつかのプリセットを作成しておくと、方向性をコントロールしやすくなります。*

私は/model/2053259?modelVersionId=2477539を使ってテストを進めてきました。これが最も従順でした。ローダーには蒸留LoRAが含まれていますが、事前に蒸留されたモデルとは併用しないでください。SVI Proの設定は、私が最も効果的だと確認したものを使用しています。

結合側では、ブリッジだけを保存するか、全体をマージして保存するか、あるいは両方保存するかを選べます。現在は補間とアップスケールのステージは除外しています。フィーチャーレンジの生成が実現したことで、メモリ管理が非常に複雑になってきました。300フレーム前後の生成に加え、新しいFLFブリッジをアップスケールや補間するのは、箱の中の光って熱風を出すあの小さなチップ(RAM)にとって楽な作業ではありません。

最初は、既存のFLFをマルチステージSVIワークフローの終了部分に接続しようとしていましたが、これは大きな頭痛の種になりました。おそらく、同時にラッパーノードへの移植を試みていたからです。そこで、まず移植を完了させ、SVI単体で適応してから、メインビルドに統合することに決めました。もし統合がうまくいかなければ、SVIワークフローを単独で公開します。私は、インデックスでプロンプトセットを自動切り替えるなどの大幅な変更を加えたため、それだけの価値はあると思っています。4段階のプロンプトを連携させる必要がある場合、非常に役立ちます。また、モデルやサンプラーの設定ウィジェットを統合しました。ステージが多すぎると、サブグラフを何度も切り替えて設定を変更するのが地獄です。しかし、最終的には4段階の汎用的なセットアップで、約300フレームを出力します。

.zipには2つのバージョンが含まれています。1つは、ドラッグ&ドロップのビデオローダーからパスとファイル名を抽出できるカスタムノードを使用したもので、パスローダーのウィジェットに接続されます。私はS&Rが現在動作しないため、このノードを作成しました。理由はわかりません。このプロセスでは、入力ファイル名を自動で接続できるようにすることが不可欠です。そうでなければ、毎回手動で入力するのは退屈で、迷子になります。ノード参照が正常に動作しているなら、このノードは不要です。ノードを使いたい場合は、フォルダをカスタムノードフォルダにドロップしてComfyを再起動してください。依存関係は必要なく、単なる数行のPythonコードです。

現在、例は1つだけです…もっと作るべきでした。実際にはたくさんありますが、私は作ったすべてのゴミをアップロードするタイプではありません。私は自分のゴミを選んでいます。それには、単なるクリック以上に手間がかかる何かが含まれている必要があります。そして、音声も必要です。音のない動画ほど無意味なものはありません。音だけあって映像がないのも、おそらくつまらないでしょう。要点は、私は目立つ作品を作ることより、これらのツールを自分の望むように動かす技術にずっと関心があるということです。できるだけ見えない方がいいのです。だからこそSVIは素晴らしいのです。もうすぐ。シームレスに近づいています。味わえます。

このモデルで生成された画像

画像が見つかりません。